调整【武魂】技能过于杂乱的问题
This commit is contained in:
parent
3560385b8c
commit
dc4bdcdf31
Binary file not shown.
|
@ -41,7 +41,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
shen_taishici:['male','shen',4,['dulie','tspowei'],['wu']],
|
shen_taishici:['male','shen',4,['dulie','tspowei'],['wu']],
|
||||||
shen_guojia:['male','shen',3,['reshuishi','stianyi','resghuishi'],['wei']],
|
shen_guojia:['male','shen',3,['reshuishi','stianyi','resghuishi'],['wei']],
|
||||||
shen_diaochan:['female','shen',3,['meihun','huoxin'],['qun']],
|
shen_diaochan:['female','shen',3,['meihun','huoxin'],['qun']],
|
||||||
shen_guanyu:['male','shen',5,['new_wuhun','wushen'],['shu']],
|
shen_guanyu:['male','shen',5,['wushen','new_wuhun'],['shu']],
|
||||||
shen_zhaoyun:['male','shen',2,['xinjuejing','relonghun'],['shu']],
|
shen_zhaoyun:['male','shen',2,['xinjuejing','relonghun'],['shu']],
|
||||||
shen_zhugeliang:['male','shen',3,['qixing','kuangfeng','dawu'],['shu']],
|
shen_zhugeliang:['male','shen',3,['qixing','kuangfeng','dawu'],['shu']],
|
||||||
shen_lvmeng:['male','shen',3,['shelie','gongxin'],['wu']],
|
shen_lvmeng:['male','shen',3,['shelie','gongxin'],['wu']],
|
||||||
|
@ -4412,98 +4412,75 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
wuhun2:{audio:2},
|
wuhun2:{audio:2},
|
||||||
wuhun21:{
|
new_wuhun:{
|
||||||
audio:true,
|
audio:'wuhun2',
|
||||||
skillAnimation:true,
|
trigger:{player:'damageEnd'},
|
||||||
animationColor:'soil',
|
filter:function(event,player){
|
||||||
},
|
return event.source&&event.source.isIn();
|
||||||
wuhun22:{
|
|
||||||
audio:true,
|
|
||||||
skillAnimation:true,
|
|
||||||
animationColor:'soil',
|
|
||||||
},
|
|
||||||
wuhun23:{
|
|
||||||
audio:true,
|
|
||||||
skillAnimation:true,
|
|
||||||
animationColor:'soil',
|
|
||||||
},
|
|
||||||
"new_wuhun":{
|
|
||||||
audio:"wuhun2",
|
|
||||||
group:["new_wuhun_mark","new_wuhun_die","wuhun22","wuhun23"],
|
|
||||||
trigger:{
|
|
||||||
player:"damageEnd",
|
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function (event,player){
|
logTarget:'source',
|
||||||
return event.source!=undefined;
|
|
||||||
},
|
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.source.addMark('new_wuhun_mark',trigger.num);
|
trigger.source.addMark('new_wuhun',trigger.num);
|
||||||
|
},
|
||||||
|
group:'new_wuhun_die',
|
||||||
|
ai:{
|
||||||
|
threaten:0.01,
|
||||||
|
notemp:true,
|
||||||
|
},
|
||||||
|
marktext:'魇',
|
||||||
|
intro:{
|
||||||
|
name:'梦魇',
|
||||||
|
content:'mark',
|
||||||
|
onunmark:true,
|
||||||
},
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
die:{
|
die:{
|
||||||
//audio:"wuhun2",
|
audio:'wuhun2',
|
||||||
skillAnimation:true,
|
trigger:{player:'die'},
|
||||||
animationColor:'soil',
|
|
||||||
trigger:{
|
|
||||||
player:"die",
|
|
||||||
},
|
|
||||||
forced:true,
|
|
||||||
forceDie:true,
|
|
||||||
direct:true,
|
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
return current!=player&¤t.hasMark('new_wuhun_mark');
|
return current!=player&¤t.hasMark('new_wuhun');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
forced:true,
|
||||||
|
direct:true,
|
||||||
|
forceDie:true,
|
||||||
|
skillAnimation:true,
|
||||||
|
animationColor:'soil',
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
'step 0'
|
||||||
var num=0;
|
var num=0;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
var current=game.players[i];
|
var current=game.players[i];
|
||||||
if(current!=player&¤t.countMark('new_wuhun_mark')>num){
|
if(current!=player&¤t.countMark('new_wuhun')>num){
|
||||||
num=current.countMark('new_wuhun_mark');
|
num=current.countMark('new_wuhun');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.chooseTarget(true,'请选择【武魂】的目标',function(card,player,target){
|
player.chooseTarget(true,'请选择【武魂】的目标','令其进行判定,若判定结果不为【桃】或【桃园结义】,则其死亡',function(card,player,target){
|
||||||
return target!=player&&target.countMark('new_wuhun_mark')==_status.event.num;
|
return target!=player&&target.countMark('new_wuhun')==_status.event.num;
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
return -get.attitude(_status.event.player,target);
|
return -get.attitude(_status.event.player,target);
|
||||||
}).set('forceDie',true).set('num',num);
|
}).set('forceDie',true).set('num',num);
|
||||||
"step 1"
|
'step 1'
|
||||||
if(result.bool&&result.targets&&result.targets.length){
|
if(result.bool){
|
||||||
var target=result.targets[0];
|
var target=result.targets[0];
|
||||||
event.target=target;
|
event.target=target;
|
||||||
player.logSkill(Math.random()<0.5?'wuhun21':'wuhun22',target);
|
player.logSkill('new_wuhun_die',target);
|
||||||
player.line(target,{color:[255, 255, 0]});
|
player.line(target,{color:[255, 255, 0]});
|
||||||
game.delay(2);
|
game.delay(2);
|
||||||
}
|
}
|
||||||
"step 2"
|
'step 2'
|
||||||
target.judge(function(card){
|
target.judge(function(card){
|
||||||
if(['tao','taoyuan'].contains(card.name)) return 10;
|
if(['tao','taoyuan'].contains(card.name)) return 10;
|
||||||
return -10;
|
return -10;
|
||||||
}).judge2=function(result){
|
}).judge2=function(result){
|
||||||
return result.bool==false?true:false;
|
return result.bool==false?true:false;
|
||||||
};
|
};
|
||||||
"step 3"
|
'step 3'
|
||||||
if(!result.bool){
|
if(!result.bool) target.die();
|
||||||
lib.element.Player.prototype.die.apply(target,[]);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
sub:true,
|
|
||||||
},
|
|
||||||
mark:{
|
|
||||||
marktext:"魇",
|
|
||||||
intro:{
|
|
||||||
name:"梦魇",
|
|
||||||
content:"mark",
|
|
||||||
},
|
|
||||||
sub:true,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
ai:{
|
|
||||||
threaten:0.01,
|
|
||||||
notemp:true,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"new_guixin":{
|
"new_guixin":{
|
||||||
|
@ -5333,161 +5310,39 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
wuhun:{
|
wuhun:{
|
||||||
trigger:{
|
audio:'wuhun2',
|
||||||
player:"damageEnd",
|
trigger:{player:'die'},
|
||||||
},
|
|
||||||
//alter:true,
|
|
||||||
filter:function (event,player){
|
|
||||||
if(event.source==undefined) return false;
|
|
||||||
if(!get.is.altered('wuhun')) return false
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
forced:true,
|
|
||||||
content:function (){
|
|
||||||
if(!trigger.source.storage.wuhun_mark){
|
|
||||||
trigger.source.storage.wuhun_mark=0;
|
|
||||||
}
|
|
||||||
trigger.source.storage.wuhun_mark+=trigger.num;
|
|
||||||
trigger.source.syncStorage('wuhun_mark');
|
|
||||||
trigger.source.markSkill('wuhun_mark');
|
|
||||||
},
|
|
||||||
global:["wuhun_mark"],
|
|
||||||
subSkill:{
|
|
||||||
mark:{
|
|
||||||
marktext:"魇",
|
|
||||||
intro:{
|
|
||||||
content:"mark",
|
|
||||||
},
|
|
||||||
sub:true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
group:["wuhun2","wuhun4","wuhun5"],
|
|
||||||
},
|
|
||||||
wuhun2:{
|
|
||||||
trigger:{
|
|
||||||
player:'dieBegin',
|
|
||||||
},
|
|
||||||
forced:true,
|
|
||||||
popup:false,
|
|
||||||
filter:function (event,player){
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i].storage.wuhun_mark) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
content:function (){
|
|
||||||
"step 0"
|
|
||||||
player.chooseTarget(true,get.prompt('wuhun2'),function(card,player,target){
|
|
||||||
if(player==target) return false;
|
|
||||||
if(!target.storage.wuhun_mark) return false;
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i].storage.wuhun_mark>target.storage.wuhun_mark){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}).set('ai',function(target){
|
|
||||||
return -ai.get.attitude(_status.event.player,target);
|
|
||||||
});
|
|
||||||
"step 1"
|
|
||||||
player.line(result.targets[0],'fire');
|
|
||||||
result.targets[0].addSkill('wuhun3')
|
|
||||||
},
|
|
||||||
ai:{
|
|
||||||
threaten:0.5,
|
|
||||||
effect:{
|
|
||||||
target:function (card,player,target,current){
|
|
||||||
if(get.tag(card,'damage')){
|
|
||||||
if(player.hasSkill('jueqing')) return [1,-5];
|
|
||||||
var hasfriend=false;
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i]!=target&&ai.get.attitude(game.players[i],target)>=0){
|
|
||||||
hasfriend=true;break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(!hasfriend) return;
|
|
||||||
if(player.hp>2&&ai.get.attitude(player,target)<=0) return [0,2];
|
|
||||||
return [1,0,0,-player.hp];
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
wuhun3:{
|
|
||||||
audio:3,
|
|
||||||
trigger:{
|
|
||||||
global:'dieAfter',
|
|
||||||
},
|
|
||||||
forced:true,
|
|
||||||
content:function (){
|
|
||||||
"step 0"
|
|
||||||
player.judge(function(card){
|
|
||||||
if(card.name=='tao'||card.name=='taoyuan') return 2;
|
|
||||||
return -2;
|
|
||||||
})
|
|
||||||
"step 1"
|
|
||||||
if(result.judge==-2){
|
|
||||||
player.die();
|
|
||||||
}
|
|
||||||
player.removeSkill('wuhun3');
|
|
||||||
},
|
|
||||||
},
|
|
||||||
wuhun4:{
|
|
||||||
trigger:{
|
|
||||||
player:'dieAfter',
|
|
||||||
},
|
|
||||||
forced:true,
|
|
||||||
popup:false,
|
|
||||||
content:function (){
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i].storage.wuhun_mark){
|
|
||||||
game.players[i].storage.wuhun_mark=0;
|
|
||||||
game.players[i].unmarkSkill('wuhun_mark');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
wuhun5:{
|
|
||||||
trigger:{player:'dieBegin'},
|
|
||||||
forced:true,
|
|
||||||
popup:false,
|
|
||||||
filter:function(event){
|
filter:function(event){
|
||||||
if(event.source!=player&&event.source!=undefined&&!get.is.altered('wuhun')) return true
|
return event.source&&event.source.isIn();
|
||||||
return false;
|
|
||||||
},
|
},
|
||||||
|
forced:true,
|
||||||
|
forceDie:true,
|
||||||
|
skillAnimation:true,
|
||||||
|
animationColor:'soil',
|
||||||
|
logTarget:'source',
|
||||||
content:function(){
|
content:function(){
|
||||||
trigger.source.addSkill('wuhun6');
|
var num=trigger.source.getHp();
|
||||||
|
if(num>0) trigger.source.loseHp(num);
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
threaten:function(player,target){
|
threaten:function(player,target){
|
||||||
if(target.hp==1) return 0.5;
|
if(target.hp==1){
|
||||||
|
if(player.getHp()<=0) return 100;
|
||||||
|
return 0.2;
|
||||||
|
}
|
||||||
|
return 0.8;
|
||||||
},
|
},
|
||||||
effect:{
|
effect:{
|
||||||
target:function(card,player,target,current){
|
target:function(card,player,target,current){
|
||||||
if(target.hp<=1&&get.tag(card,'damage')){
|
if(player.getHp()<=0) return;
|
||||||
if(player.hasSkillTag('jueqing',false,target)) return [1,-5];
|
|
||||||
if(!target.hasFriend()) return;
|
if(!target.hasFriend()) return;
|
||||||
if(player.hp>2&&get.attitude(player,target)<=0) return [0,2];
|
if(target.hp<=1&&get.tag(card,'damage')) return [1,0,0,-2];
|
||||||
return [1,0,0,-player.hp];
|
},
|
||||||
}
|
},
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
wuhun6:{
|
|
||||||
audio:3,
|
|
||||||
trigger:{global:'dieAfter'},
|
|
||||||
forced:true,
|
|
||||||
content:function(){
|
|
||||||
if(player.hp<Infinity){
|
|
||||||
player.loseHp(player.hp);
|
|
||||||
}
|
|
||||||
player.removeSkill('wuhun6');
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
guixin:{
|
guixin:{
|
||||||
audio:2,
|
audio:2,
|
||||||
// alter:true,
|
|
||||||
trigger:{player:'damageEnd'},
|
trigger:{player:'damageEnd'},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
if(player.isTurnedOver()||event.num>1) return true;
|
if(player.isTurnedOver()||event.num>1) return true;
|
||||||
|
@ -5502,59 +5357,29 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return num>=2;
|
return num>=2;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
'step 0'
|
||||||
var targets=game.filterPlayer();
|
|
||||||
targets.remove(player);
|
|
||||||
targets.sort(lib.sort.seat);
|
|
||||||
event.targets=targets;
|
|
||||||
event.count=trigger.num;
|
event.count=trigger.num;
|
||||||
"step 1"
|
'step 1'
|
||||||
event.num=0;
|
var targets=game.filterPlayer(current=>current!=player).sortBySeat();
|
||||||
player.line(targets,'green');
|
player.line(targets);
|
||||||
"step 2"
|
player.gainMultiple(targets,'hej');
|
||||||
if(num<event.targets.length){
|
'step 2'
|
||||||
if(!get.is.altered('guixin')){
|
|
||||||
if(event.targets[num].countGainableCards(player,'hej')){
|
|
||||||
player.gainPlayerCard(event.targets[num],true,'hej');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
var hej=event.targets[num].getCards('hej')
|
|
||||||
if(hej.length){
|
|
||||||
var card=hej.randomGet();
|
|
||||||
player.gain(card,event.targets[num]);
|
|
||||||
if(get.position(card)=='h'){
|
|
||||||
event.targets[num].$giveAuto(card,player);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
event.targets[num].$give(card,player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
event.num++;
|
|
||||||
event.redo();
|
|
||||||
}
|
|
||||||
"step 3"
|
|
||||||
player.turnOver();
|
player.turnOver();
|
||||||
"step 4"
|
'step 3'
|
||||||
event.count--;
|
event.count--;
|
||||||
if(event.count&&player.hasSkill('guixin')){
|
if(event.count&&player.hasSkill('guixin')){
|
||||||
player.chooseBool(get.prompt2('guixin'));
|
player.chooseBool(get.prompt2('guixin'));
|
||||||
}
|
}
|
||||||
else{
|
else event.finish();
|
||||||
event.finish();
|
'step 4'
|
||||||
}
|
if(event.count&&result.bool) event.goto(1);
|
||||||
"step 5"
|
|
||||||
if(event.count&&result.bool){
|
|
||||||
event.goto(1);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
maixie:true,
|
maixie:true,
|
||||||
maixie_hp:true,
|
maixie_hp:true,
|
||||||
threaten:function(player,target){
|
threaten:function(player,target){
|
||||||
if(target.hp==1) return 2.5;
|
if(target.hp==1) return 2.5;
|
||||||
return 1;
|
return 0.5;
|
||||||
},
|
},
|
||||||
effect:{
|
effect:{
|
||||||
target:function(card,player,target){
|
target:function(card,player,target){
|
||||||
|
@ -7493,14 +7318,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
longhun_info:'你可以将同花色的X张牌按下列规则使用或打出:红桃当【桃】,方块当具火焰伤害的【杀】,梅花当【闪】,黑桃当【无懈可击】(X为你当前的体力值且至少为1)。',
|
longhun_info:'你可以将同花色的X张牌按下列规则使用或打出:红桃当【桃】,方块当具火焰伤害的【杀】,梅花当【闪】,黑桃当【无懈可击】(X为你当前的体力值且至少为1)。',
|
||||||
juejing_info:'锁定技。①摸牌阶段,你令额定摸牌数+X(X为你已损失的体力值)。②你的手牌上限+2。',
|
juejing_info:'锁定技。①摸牌阶段,你令额定摸牌数+X(X为你已损失的体力值)。②你的手牌上限+2。',
|
||||||
wushen:'武神',
|
wushen:'武神',
|
||||||
wushen_info:'锁定技,你的红桃手牌均视为【杀】;锁定技,你使用红桃【杀】无距离和次数限制且不可被响应。',
|
wushen_info:'锁定技。①你的红桃手牌均视为【杀】。②你使用红桃【杀】无距离和次数限制且不可被响应。',
|
||||||
wuhun:'武魂',
|
wuhun:'武魂',
|
||||||
wuhun21:'武魂',
|
|
||||||
wuhun22:'武魂',
|
|
||||||
wuhun23:'武魂',
|
|
||||||
wuhun2:'武魂',
|
|
||||||
wuhun3:'武魂',
|
|
||||||
wuhun_info_alter:'锁定技,当你受到1点伤害后,你令伤害来源获得1枚“梦魇”标记;当你死亡时,你令拥有最多“梦魇”标记的一名其他角色判定,若结果不为【桃】或【桃园结义】,则该角色死亡。',
|
|
||||||
wuhun_info:'锁定技,杀死你的角色立即进入濒死状态。',
|
wuhun_info:'锁定技,杀死你的角色立即进入濒死状态。',
|
||||||
shelie:'涉猎',
|
shelie:'涉猎',
|
||||||
gongxin:'攻心',
|
gongxin:'攻心',
|
||||||
|
@ -7526,7 +7345,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
shelie_info:'摸牌阶段,你可以改为从牌堆顶亮出五张牌,然后选择获得不同花色的牌各一张。',
|
shelie_info:'摸牌阶段,你可以改为从牌堆顶亮出五张牌,然后选择获得不同花色的牌各一张。',
|
||||||
gongxin_info:'出牌阶段限一次,你可以观看一名其他角色的手牌,并可以展示其中一张红桃牌,然后将其弃置或置于牌堆顶。',
|
gongxin_info:'出牌阶段限一次,你可以观看一名其他角色的手牌,并可以展示其中一张红桃牌,然后将其弃置或置于牌堆顶。',
|
||||||
guixin_info:'当你受到1点伤害后,你可以获得每名其他角色区域里的一张牌,然后你翻面。',
|
guixin_info:'当你受到1点伤害后,你可以获得每名其他角色区域里的一张牌,然后你翻面。',
|
||||||
guixin_info_alter:'当你受到1点伤害后,你可以随机获得每名其他角色区域里的一张牌,然后你翻面。',
|
|
||||||
qinyin_info:'弃牌阶段结束时,若你于此阶段内弃置过两张或更多的牌,则你可以选择一项:1. 令所有角色各回复1点体力;2. 令所有角色各失去1点体力。',
|
qinyin_info:'弃牌阶段结束时,若你于此阶段内弃置过两张或更多的牌,则你可以选择一项:1. 令所有角色各回复1点体力;2. 令所有角色各失去1点体力。',
|
||||||
// qinyin_info:'每当你于弃牌阶段内因你的弃置而失去第X张手牌时(X至少为2),你可以选择一项:1.令所有角色各回复1点体力;2.令所有角色各失去1点体力。每阶段限一次。',
|
// qinyin_info:'每当你于弃牌阶段内因你的弃置而失去第X张手牌时(X至少为2),你可以选择一项:1.令所有角色各回复1点体力;2.令所有角色各失去1点体力。每阶段限一次。',
|
||||||
yeyan_info:'限定技,出牌阶段,你可以对一至三名角色造成至多共3点火焰伤害(你可以任意分配每名目标角色受到的伤害点数),若你将对一名角色分配2点或更多的火焰伤害,你须先弃置四张不同花色的手牌再失去3点体力。',
|
yeyan_info:'限定技,出牌阶段,你可以对一至三名角色造成至多共3点火焰伤害(你可以任意分配每名目标角色受到的伤害点数),若你将对一名角色分配2点或更多的火焰伤害,你须先弃置四张不同花色的手牌再失去3点体力。',
|
||||||
|
|
Loading…
Reference in New Issue