v1.9.97.4
This commit is contained in:
parent
22a691c79a
commit
881e0b50b8
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -561,7 +561,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
game.delay();
|
game.delay();
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
order:7,
|
order:12,
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
var card=ui.selected.cards[0];
|
var card=ui.selected.cards[0];
|
||||||
|
@ -573,12 +573,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
game.countPlayer(function(current){
|
game.countPlayer(function(current){
|
||||||
if(current!=player&&target.canUse(card,current)) eff+=get.effect(current,card,target,target)>0
|
if(current!=player&&target.canUse(card,current)) eff+=get.effect(current,card,target,target)>0
|
||||||
});
|
});
|
||||||
return eff;
|
if(eff>0||get.value(card)<3) return eff;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
else if(game.hasPlayer(function(current){
|
else if(game.hasPlayer(function(current){
|
||||||
return current!=player&&target.canUse(card,current)&&get.effect(current,card,target,target)>0
|
return current!=player&&target.canUse(card,current)&&get.effect(current,card,target,target)>0
|
||||||
})) return 1.5;
|
})) return 1.5;
|
||||||
else return -1;
|
else if(get.value(card)<3) return -1;
|
||||||
|
return 0;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -4349,7 +4351,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(event.player==player) return false;
|
if(event.player==player) return false;
|
||||||
if(_status.currentPhase==event.player) return false;
|
if(_status.currentPhase==event.player) return false;
|
||||||
if(event.cards.length!=1) return false;
|
if(event.cards.length!=1) return false;
|
||||||
return get.type(event.cards[0])=='equip'&&get.position(event.cards[0])=='h';
|
return get.type(event.cards[0])=='equip'&&get.position(event.cards[0])=='h'&&event.player.hasUseTarget(event.cards[0]);
|
||||||
},
|
},
|
||||||
logTarget:'player',
|
logTarget:'player',
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
|
@ -4399,7 +4401,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger.player.$give(1,player);
|
trigger.player.$give(1,player);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
trigger.player.useCard(trigger.cards,trigger.player);
|
trigger.player.chooseUseTarget(trigger.cards[0],true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -227,12 +227,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
animationColor:'metal',
|
animationColor:'metal',
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
event.delay=false;
|
||||||
player.removeMark('baonu',6);
|
player.removeMark('baonu',6);
|
||||||
event.targets=game.filterPlayer();
|
event.targets=game.filterPlayer();
|
||||||
event.targets.remove(player);
|
event.targets.remove(player);
|
||||||
event.targets.sort(lib.sort.seat);
|
event.targets.sort(lib.sort.seat);
|
||||||
player.line(event.targets,'green');
|
player.line(event.targets,'green');
|
||||||
event.targets2=event.targets.slice(0);
|
event.targets2=event.targets.slice(0);
|
||||||
|
event.targets3=event.targets.slice(0);
|
||||||
"step 1"
|
"step 1"
|
||||||
if(event.targets2.length){
|
if(event.targets2.length){
|
||||||
event.targets2.shift().damage('nocard');
|
event.targets2.shift().damage('nocard');
|
||||||
|
@ -244,11 +246,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
event.current.discard(event.current.getCards('e')).delay=false;
|
event.current.discard(event.current.getCards('e')).delay=false;
|
||||||
}
|
}
|
||||||
"step 3"
|
"step 3"
|
||||||
event.current.chooseToDiscard('h',true,4).delay=false;
|
|
||||||
"step 4"
|
|
||||||
game.delay(0.5);
|
game.delay(0.5);
|
||||||
if(event.targets.length) event.goto(2);
|
if(event.targets.length) event.goto(2);
|
||||||
|
"step 4"
|
||||||
|
if(event.targets3.length){
|
||||||
|
event.targets3.shift().chooseToDiscard(4,'h',true).delay=false;
|
||||||
|
}
|
||||||
"step 5"
|
"step 5"
|
||||||
|
game.delay(0.5);
|
||||||
|
if(event.targets3.length) event.goto(4);
|
||||||
|
"step 6"
|
||||||
player.turnOver();
|
player.turnOver();
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -1805,7 +1812,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
gongxin:{
|
gongxin:{
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['re_lvmeng'],
|
audioname:['re_lvmeng','gexuan'],
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
usable:1,
|
usable:1,
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
|
@ -2337,12 +2344,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
event.list2=[];
|
event.list2=[];
|
||||||
if(target.countCards('h')>0){
|
if(target.countCards('h')>0){
|
||||||
var chooseButton=player.chooseButton(4,'hidden',['你的手牌',player.getCards('h'),get.translation(target.name)+'的手牌',target.getCards('h'),'hidden']);
|
var chooseButton=player.chooseButton(4,'hidden',['你的手牌',player.getCards('h'),get.translation(target.name)+'的手牌',target.getCards('h'),'hidden']);
|
||||||
}else{
|
}
|
||||||
|
else{
|
||||||
var chooseButton=player.chooseButton(4,'hidden',['你的手牌',player.getCards('h'),'hidden']);
|
var chooseButton=player.chooseButton(4,'hidden',['你的手牌',player.getCards('h'),'hidden']);
|
||||||
}
|
}
|
||||||
|
chooseButton.set('target',target);
|
||||||
chooseButton.set('ai',function(button){
|
chooseButton.set('ai',function(button){
|
||||||
//if(button.link.name=='du') return 1;
|
var player=_status.event.player;
|
||||||
return 0;
|
var target=_status.event.target;
|
||||||
|
var ps=[];
|
||||||
|
var ts=[];
|
||||||
|
for(var i=0;i<ui.selected.buttons.length;i++){
|
||||||
|
var card=ui.selected.buttons[i].link;
|
||||||
|
if(target.getCards('h').contains(card)) ts.push(card);
|
||||||
|
else ps.push(card);
|
||||||
|
}
|
||||||
|
var card=button.link;
|
||||||
|
var owner=get.owner(card);
|
||||||
|
var val=get.value(card)||1;
|
||||||
|
if(owner==target){
|
||||||
|
if(ts.length>1) return 0;
|
||||||
|
if(ts.length==0||player.hp>3) return val;
|
||||||
|
return 2*val;
|
||||||
|
}
|
||||||
|
return 7-val;
|
||||||
});
|
});
|
||||||
chooseButton.set('filterButton',function(button){
|
chooseButton.set('filterButton',function(button){
|
||||||
for(var i=0;i<ui.selected.buttons.length;i++){
|
for(var i=0;i<ui.selected.buttons.length;i++){
|
||||||
|
@ -2522,29 +2547,29 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"nzry_junlve":"军略",
|
"nzry_junlve":"军略",
|
||||||
"nzry_junlve_info":"锁定技,当你受到或造成伤害后,你获得X个“军略”标记(X为伤害点数)",
|
"nzry_junlve_info":"锁定技,当你受到或造成伤害后,你获得X个“军略”标记(X为伤害点数)",
|
||||||
"nzry_cuike":"摧克",
|
"nzry_cuike":"摧克",
|
||||||
"nzry_cuike_info":"出牌阶段开始时,若“军略”标记的数量为奇数,你可以对一名角色造成一点伤害;若“军略”标记的数量为偶数,你可以横置一名角色并弃置其区域内的一张牌。若“军略”标记的数量超过7个,你可以移去全部“军略”标记并对所有其他角色造成一点伤害",
|
"nzry_cuike_info":"出牌阶段开始时,若“军略”标记的数量为奇数,你可以对一名角色造成一点伤害;若“军略”标记的数量为偶数,你可以横置一名角色并弃置其区域内的一张牌。然后,若“军略”标记的数量超过7个,你可以移去全部“军略”标记并对所有其他角色造成一点伤害",
|
||||||
"nzry_dinghuo":"绽火",
|
"nzry_dinghuo":"绽火",
|
||||||
"nzry_dinghuo_info":"限定技,出牌阶段,你可以移去全部“军略”标记,令至多等量的已横置角色弃置所有装备区内的牌。然后,你对其中一名角色造成1点火焰伤害",
|
"nzry_dinghuo_info":"限定技,出牌阶段,你可以移去全部“军略”标记,令至多等量的已横置角色弃置所有装备区内的牌。然后,你对其中一名角色造成1点火焰伤害。",
|
||||||
"shen_liubei":"神刘备",
|
"shen_liubei":"神刘备",
|
||||||
"nzry_longnu":"龙怒",
|
"nzry_longnu":"龙怒",
|
||||||
"nzry_longnu_info":"转换技,锁定技,①出牌阶段开始时,你流失1点体力并摸一张牌,然后本回合你的红色手牌均视为火杀且无距离限制。②出牌阶段开始时,你减1点体力上限并摸一张牌,然后本回合你的锦囊牌均视为雷杀且无使用次数限制",
|
"nzry_longnu_info":"转换技,锁定技,①出牌阶段开始时,你失去1点体力并摸一张牌,然后本回合内你的红色手牌均视为火【杀】且无距离限制。②出牌阶段开始时,你减1点体力上限并摸一张牌,然后本回合你的锦囊牌均视为雷【杀】且无使用次数限制。",
|
||||||
"nzry_jieying":"结营",
|
"nzry_jieying":"结营",
|
||||||
"nzry_jieying_info":"锁定技,你始终处于横置状态;已横置的角色手牌上限+2;结束阶段,你横置一名其他角色",
|
"nzry_jieying_info":"锁定技,游戏开始时或当你的武将牌重置时,你横置;所有已横置的角色手牌上限+2;结束阶段,你横置一名其他角色。",
|
||||||
|
|
||||||
"shen_ganning":"神甘宁",
|
"shen_ganning":"神甘宁",
|
||||||
"shen_zhangliao":"神张辽",
|
"shen_zhangliao":"神张辽",
|
||||||
|
|
||||||
"drlt_poxi":"魄袭",
|
"drlt_poxi":"魄袭",
|
||||||
"drlt_poxi_info":"出牌阶段限一次,你可以观看一名其他角色的手牌,然后你可以弃置你与其手牌中的四张花色不同的牌。若如此做,根据此次弃置你的牌的数量执行以下效果:1.没有,扣减一点体力上限;2.一张,立即结束出牌阶段且本回合手牌上限-1;三张,恢复一点体力;四张,摸四张牌",
|
"drlt_poxi_info":"出牌阶段限一次,你可以观看一名其他角色的手牌,然后你可以弃置你与其手牌中的四张花色不同的牌。若如此做,根据此次弃置你的牌的数量执行以下效果:零张,扣减一点体力上限;一张,你结束出牌阶段且本回合手牌上限-1;三张,你回复一点体力;四张,你摸四张牌",
|
||||||
"drlt_jieying":"劫营",
|
"drlt_jieying":"劫营",
|
||||||
"drlt_jieying_info":"回合开始时,若没有角色有“营”标记,你获得1个“营”标记;结束阶段,你可以将你的“营”交给一名角色;有“营”标记的角色摸牌阶段多摸一张牌,其于出牌阶段使用【杀】的次数上限+1,其手牌上限+1。有“营”的其他角色回合结束后,其移去“营”标记,然后你获得其所有手牌。",
|
"drlt_jieying_info":"回合开始时,若场上没有拥有“营”标记的角色,你获得1个“营”标记;结束阶段,你可以将你的一个“营”标记交给一名角色;有“营”标记的角色摸牌阶段多摸一张牌,出牌阶段使用【杀】的次数上限+1,手牌上限+1。有“营”的其他角色回合结束时,其移去“营”标记,然后你获得其所有手牌。",
|
||||||
drlt_jieying_mark:"劫营",
|
drlt_jieying_mark:"劫营",
|
||||||
"drlt_duorui1":"失效技能",
|
"drlt_duorui1":"失效技能",
|
||||||
"drlt_duorui1_bg":"锐",
|
"drlt_duorui1_bg":"锐",
|
||||||
"drlt_duorui":"夺锐",
|
"drlt_duorui":"夺锐",
|
||||||
"drlt_duorui_info":"当你于出牌阶段内对一名其他角色造成伤害后,你可以废除你装备区内的一个装备栏(若已全部废除则可以跳过此步骤),然后获得其的一个技能直到其的下回合结束或其死亡(觉醒技,限定技,主公技等特殊技能除外)。若如此做,该角色该技能失效且你不能再发动〖夺锐〗直到你失去此技能。",
|
"drlt_duorui_info":"当你于出牌阶段内对一名其他角色造成伤害后,你可以废除你装备区内的一个装备栏(若已全部废除则可以跳过此步骤),然后获得该角色的一个技能直到其的下回合结束或其死亡(觉醒技,限定技,主公技等特殊技能除外)。若如此做,该角色该技能失效且你不能再发动〖夺锐〗直到你失去以此法获得的技能。",
|
||||||
"drlt_zhiti":"止啼",
|
"drlt_zhiti":"止啼",
|
||||||
"drlt_zhiti_info":"锁定技,你范围内已受伤的其他角色手牌上限-1;当你拼点或【决斗】胜利,或受到伤害后,你恢复一个装备栏",
|
"drlt_zhiti_info":"锁定技,你攻击范围内已受伤的其他角色手牌上限-1;当你拼点或【决斗】胜利,或受到伤害后,你恢复一个装备栏",
|
||||||
|
|
||||||
shen_zhaoyun:'神赵云',
|
shen_zhaoyun:'神赵云',
|
||||||
shen_guanyu:'神关羽',
|
shen_guanyu:'神关羽',
|
||||||
|
@ -2555,13 +2580,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
shen_zhouyu:'神周瑜',
|
shen_zhouyu:'神周瑜',
|
||||||
shen_lvbu:'神吕布',
|
shen_lvbu:'神吕布',
|
||||||
xinjuejing:'绝境',
|
xinjuejing:'绝境',
|
||||||
xinjuejing_info:'锁定技,你的手牌上限+2;当你进入或脱离濒死状态时,你摸一张牌',
|
xinjuejing_info:'锁定技,你的手牌上限+2;当你进入或脱离濒死状态时,你摸一张牌。',
|
||||||
xinlonghun:'龙魂',
|
xinlonghun:'龙魂',
|
||||||
xinlonghun1:'龙魂♥︎',
|
xinlonghun1:'龙魂♥︎',
|
||||||
xinlonghun2:'龙魂♦︎',
|
xinlonghun2:'龙魂♦︎',
|
||||||
xinlonghun3:'龙魂♠︎',
|
xinlonghun3:'龙魂♠︎',
|
||||||
xinlonghun4:'龙魂♣︎',
|
xinlonghun4:'龙魂♣︎',
|
||||||
xinlonghun_info:'你可以将同花色的X张牌按下列规则使用或打出:红桃当【桃】,方块当具火焰伤害的【杀】,梅花当【闪】,黑桃当【无懈可击】。若你以此法使用了两张红色牌,则此牌回复值或伤害值+1。若你以此法使用了两张黑色牌,则你弃置当前回合角色一张牌',
|
xinlonghun_info:'你可以将同花色的一至两张牌按下列规则使用或打出:红桃当【桃】,方块当火【杀】,梅花当【闪】,黑桃当普【无懈可击】。若你以此法使用了两张红色牌,则此牌回复值或伤害值+1。若你以此法使用了两张黑色牌,则你弃置当前回合角色一张牌。',
|
||||||
longhun:'龙魂',
|
longhun:'龙魂',
|
||||||
longhun1:'龙魂♥︎',
|
longhun1:'龙魂♥︎',
|
||||||
longhun2:'龙魂♦︎',
|
longhun2:'龙魂♦︎',
|
||||||
|
@ -2571,7 +2596,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
longhun_info:'你可以将同花色的X张牌按下列规则使用或打出:红桃当【桃】,方块当具火焰伤害的【杀】,梅花当【闪】,黑桃当【无懈可击】(X为你当前的体力值且至少为1)',
|
longhun_info:'你可以将同花色的X张牌按下列规则使用或打出:红桃当【桃】,方块当具火焰伤害的【杀】,梅花当【闪】,黑桃当【无懈可击】(X为你当前的体力值且至少为1)',
|
||||||
juejing_info:'锁定技,摸牌阶段,你摸牌的数量改为你已损失的体力值+2;你的手牌上限+2。',
|
juejing_info:'锁定技,摸牌阶段,你摸牌的数量改为你已损失的体力值+2;你的手牌上限+2。',
|
||||||
wushen:'武神',
|
wushen:'武神',
|
||||||
wushen_info:'锁定技,你的红桃手牌视为杀;锁定技,你使用红桃杀时无距离限制。',
|
wushen_info:'锁定技,你的红桃手牌和判定牌均视为【杀】;锁定技,你使用红桃【杀】无距离限制。',
|
||||||
wuhun:'武魂',
|
wuhun:'武魂',
|
||||||
wuhun21:'武魂',
|
wuhun21:'武魂',
|
||||||
wuhun22:'武魂',
|
wuhun22:'武魂',
|
||||||
|
@ -2586,26 +2611,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
gongxin_top:'牌堆顶',
|
gongxin_top:'牌堆顶',
|
||||||
renjie:'忍戒',
|
renjie:'忍戒',
|
||||||
renjie2:'忍戒',
|
renjie2:'忍戒',
|
||||||
renjie_info:'锁定技,每当你受到一次伤害后,你获得等同于你受到的伤害数量的“忍”标记;锁定技,每当你于弃牌阶段内因你的弃置而失去手牌时,你获得等同于你失去的手牌数量的“忍”标记。',
|
renjie_info:'锁定技,当你受到1点伤害后,你获得一枚“忍”标记;锁定技,当你于弃牌阶段内弃置牌后,你获得等同于失去的牌数量的“忍”标记。',
|
||||||
sbaiyin:'拜印',
|
sbaiyin:'拜印',
|
||||||
sbaiyin_info:'觉醒技,准备阶段开始时,若你拥有的“忍”标记枚数不小于4,你减1点体力上限,然后获得“极略”',
|
sbaiyin_info:'觉醒技,准备阶段开始时,若你的“忍”标记数不小于4,你减1点体力上限,然后获得〖极略〗',
|
||||||
jilue:'极略',
|
jilue:'极略',
|
||||||
jilue_info:'每当一名角色的判定牌生效前,若你有牌,你可以弃1枚“忍”标记发动“鬼才”(界);每当你受到伤害后,你可以弃1枚“忍”标记,发动“放逐”;每当你使用锦囊牌时,你可以弃1枚“忍”标记,发动“集智”(界);出牌阶段限一次,若你有牌,你可以弃1枚“忍”标记,发动“制衡”(界);出牌阶段,你可以弃1枚“忍”标记,执行“完杀”的效果,直到回合结束。',
|
jilue_info:'当一名角色的判定牌生效前,你可以弃1枚“忍”标记并发动〖鬼才〗;每当你受到伤害后,你可以弃1枚“忍”标记并发动〖放逐〗;当你使用普通锦囊牌时,你可以弃1枚“忍”标记并发动〖集智〗;出牌阶段限一次,你可以弃1枚“忍”标记并发动〖制衡〗;出牌阶段,你可以弃1枚“忍”标记并获得〖完杀〗直到回合结束。',
|
||||||
jilue_guicai:'鬼才',
|
jilue_guicai:'鬼才',
|
||||||
jilue_fangzhu:'放逐',
|
jilue_fangzhu:'放逐',
|
||||||
jilue_wansha:'完杀',
|
jilue_wansha:'完杀',
|
||||||
jilue_zhiheng:'制衡',
|
jilue_zhiheng:'制衡',
|
||||||
jilue_jizhi:'集智',
|
jilue_jizhi:'集智',
|
||||||
lianpo:'连破',
|
lianpo:'连破',
|
||||||
lianpo_info:'若你在一回合内杀死了至少一名角色,此回合结束后,你可以进行一个额外的回合。',
|
lianpo_info:'一名角色的回合结束时,若你本回合内杀死过角色,则你可以进行一个额外的回合。',
|
||||||
guixin:'归心',
|
guixin:'归心',
|
||||||
qinyin:'琴音',
|
qinyin:'琴音',
|
||||||
yeyan:'业炎',
|
yeyan:'业炎',
|
||||||
shelie_info:'摸牌阶段,你可以改为从牌堆顶亮出五张牌,你获得不同花色的牌各一张',
|
shelie_info:'摸牌阶段,你可以改为从牌堆顶亮出五张牌,然后选择获得不同花色的牌各一张。',
|
||||||
gongxin_info:'出牌阶段,你可以观看一名其他角色的手牌,并可以展示其中一张红桃牌,然后将其弃置或置于牌堆顶,每阶段限一次。',
|
gongxin_info:'出牌阶段限一次,你可以观看一名其他角色的手牌,并可以展示其中一张红桃牌,然后将其弃置或置于牌堆顶。',
|
||||||
guixin_info:'当你受到1点伤害后,你可以获得每名其他角色区域里的一张牌,然后你翻面',
|
guixin_info:'当你受到1点伤害后,你可以获得每名其他角色区域里的一张牌,然后你翻面',
|
||||||
guixin_info_alter:'当你受到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点体力。',
|
||||||
qixing:'七星',
|
qixing:'七星',
|
||||||
|
@ -2618,30 +2643,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
dawu2:'大雾',
|
dawu2:'大雾',
|
||||||
dawu3:'大雾',
|
dawu3:'大雾',
|
||||||
// dawu2_info:'已获得大雾标记',
|
// dawu2_info:'已获得大雾标记',
|
||||||
dawu_info:'结束阶段,你可以弃置X枚“星”并指定X名角色:直到你的下回合开始,防止这些角色受到的除雷电伤害外的伤害。',
|
dawu_info:'结束阶段,你可以弃置X张“星”并指定等量的角色:直到你的下回合开始,当这些角色受到非雷电伤害时,防止此伤害。',
|
||||||
kuangfeng:'狂风',
|
kuangfeng:'狂风',
|
||||||
kuangfeng2:'狂风',
|
kuangfeng2:'狂风',
|
||||||
kuangfeng2_bg:'风',
|
kuangfeng2_bg:'风',
|
||||||
// kuangfeng2_info:'已获得狂风标记',
|
// kuangfeng2_info:'已获得狂风标记',
|
||||||
kuangfeng3:'狂风',
|
kuangfeng3:'狂风',
|
||||||
kuangfeng_info:'结束阶段,你可以弃置1枚“星”并指定一名角色:直到你的下回合开始,该角色每次受到的火焰伤害+1。',
|
kuangfeng_info:'结束阶段,你可以弃置1张“星”并指定一名角色:直到你的下回合开始,该角色受到火焰伤害时,此伤害+1。',
|
||||||
baonu:'狂暴',
|
baonu:'狂暴',
|
||||||
baonu_bg:'暴',
|
baonu_bg:'暴',
|
||||||
baonu_info:'锁定技,游戏开始时,你获得两枚“暴怒”标记,;锁定技,每当你造成/受到1点伤害后,你获得1枚“暴怒”标记。',
|
baonu_info:'锁定技,游戏开始时,你获得两枚“暴怒”标记;锁定技,当你造成/受到1点伤害后,你获得1枚“暴怒”标记。',
|
||||||
shenfen:'神愤',
|
shenfen:'神愤',
|
||||||
shenfen_info:'限定技,出牌阶段,你可以弃置6枚暴怒标记,对场上所有其他角色造成一点伤害,然后令其弃置4张牌',
|
shenfen_info:'限定技,出牌阶段,你可以弃置6枚暴怒标记,对场上所有其他角色造成一点伤害,然后令其弃置4张牌',
|
||||||
wuqian:'无前',
|
wuqian:'无前',
|
||||||
wuqian_info:'出牌阶段,你可以弃置两枚暴怒标记并获得技能【无双】直到回合结束',
|
wuqian_info:'出牌阶段,你可以弃置两枚暴怒标记并获得技能【无双】直到回合结束',
|
||||||
wumou:'无谋',
|
wumou:'无谋',
|
||||||
wumou_info:'锁定技,每当你使用非延时类锦囊牌选择目标后,你选择一项:1.弃1枚“暴怒”标记;2.失去1点体力。',
|
wumou_info:'锁定技,当你使用普通锦囊牌时,你选择一项:1.弃置1枚“暴怒”标记;2.失去1点体力。',
|
||||||
ol_wuqian:'无前',
|
ol_wuqian:'无前',
|
||||||
ol_wuqian_info:'出牌阶段,你可以弃2枚“暴怒”标记并选择一名其他角色,你视为拥有技能〖无双〗并令其防具无效直到回合结束。',
|
ol_wuqian_info:'出牌阶段,你可以弃置2枚“暴怒”标记并选择一名本回合内未选择过的其他角色,你获得技能〖无双〗并令其防具无效直到回合结束。',
|
||||||
ol_shenfen:'神愤',
|
ol_shenfen:'神愤',
|
||||||
ol_shenfen_info:'出牌阶段限一次,你可以弃6枚“暴怒”标记并选择所有其他角色,对其各造成1点伤害。然后这些角色先各弃置其装备区里的牌,再各弃置四张手牌。最后你将你的武将牌翻面。',
|
ol_shenfen_info:'出牌阶段限一次,你可以弃置6枚“暴怒”标记并选择所有其他角色,对这些角色各造成1点伤害。然后这些角色先各弃置其装备区里的牌,再各弃置四张手牌。最后你将你的武将牌翻面。',
|
||||||
"new_wuhun":"武魂",
|
"new_wuhun":"武魂",
|
||||||
"new_wuhun_info":"锁定技,当你受到伤害后,伤害来源获得X个“梦魇”标记(X为伤害点数)。锁定技,当你死亡时,你选择一名“梦魇”标记数量最多的其他角色。你的死亡流程结算完成后,该角色进行一次判定:若判定结果不为【桃】或【桃园结义】,则该角色立刻死亡。",
|
"new_wuhun_info":"锁定技,当你受到伤害后,伤害来源获得X个“梦魇”标记(X为伤害点数)。锁定技,当你死亡时,你选择一名“梦魇”标记数量最多的其他角色。该角色进行判定:若判定结果不为【桃】或【桃园结义】,则该角色死亡。",
|
||||||
"new_guixin":"归心",
|
"new_guixin":"归心",
|
||||||
"new_guixin_info":"当你受到1点伤害后,你可以随机获得每名其他角色区域里的一张牌,然后你翻面。",
|
"new_guixin_info":"当你受到1点伤害后,你可以按照你选择的区域优先度随机获得每名其他角色区域里的一张牌,然后你翻面。",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -148,8 +148,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return num+player.getDamagedHp();
|
return num+player.getDamagedHp();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
audio:2,
|
//audio:2,
|
||||||
trigger:{player:'phaseDiscardBegin'},
|
//trigger:{player:'phaseDiscardBegin'},
|
||||||
forced:true,
|
forced:true,
|
||||||
firstDo:true,
|
firstDo:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
|
|
@ -1853,7 +1853,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
|
|
||||||
reguanxing:{
|
reguanxing:{
|
||||||
audio:'guanxing',
|
audio:'guanxing',
|
||||||
audioname:['jiangwei','re_jiangwei','re_zhugeliang'],
|
audioname:['jiangwei','re_jiangwei','re_zhugeliang','gexuan'],
|
||||||
trigger:{player:['phaseZhunbeiBegin','phaseJieshuBegin']},
|
trigger:{player:['phaseZhunbeiBegin','phaseJieshuBegin']},
|
||||||
frequent:true,
|
frequent:true,
|
||||||
filter:function(event,player,name){
|
filter:function(event,player,name){
|
||||||
|
@ -2885,7 +2885,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
reyingzi:{
|
reyingzi:{
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['heqi','sunce'],
|
audioname:['heqi','sunce','gexuan','re_sunben'],
|
||||||
trigger:{player:'phaseDrawBegin2'},
|
trigger:{player:'phaseDrawBegin2'},
|
||||||
forced:true,
|
forced:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
|
|
@ -2595,7 +2595,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
//priority:-50,
|
//priority:-50,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseToDiscard('是否弃置一张牌并令一名其他角色进行一个额外回合?').set('logSkill','fangquan').ai=function(card){
|
player.chooseToDiscard('是否弃置一张牌并令一名其他角色进行一个额外回合?').set('logSkill',player.name=='re_liushan'?'refangquan':'fangquan').ai=function(card){
|
||||||
return 20-get.value(card);
|
return 20-get.value(card);
|
||||||
};
|
};
|
||||||
"step 1"
|
"step 1"
|
||||||
|
@ -3045,7 +3045,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
hunzi:{
|
hunzi:{
|
||||||
audioname:['re_sunben'],
|
//audioname:['re_sunben'],
|
||||||
skillAnimation:true,
|
skillAnimation:true,
|
||||||
animationColor:'wood',
|
animationColor:'wood',
|
||||||
audio:2,
|
audio:2,
|
||||||
|
@ -3084,13 +3084,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
zhiba:{
|
zhiba:{
|
||||||
unique:true,
|
unique:true,
|
||||||
global:'zhiba2',
|
global:'zhiba2',
|
||||||
|
audioname:['re_sunben'],
|
||||||
audio:'zhiba2',
|
audio:'zhiba2',
|
||||||
zhuSkill:true,
|
zhuSkill:true,
|
||||||
},
|
},
|
||||||
zhiba2:{
|
zhiba2:{
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['re_sunben'],
|
audioname:['re_sunben'],
|
||||||
forceaudio:true,
|
//forceaudio:true,
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
prompt:function(){
|
prompt:function(){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
|
@ -3111,6 +3112,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target.hasZhuSkill('zhiba',player)&&player.canCompare(target);
|
return target.hasZhuSkill('zhiba',player)&&player.canCompare(target);
|
||||||
},
|
},
|
||||||
|
direct:true,
|
||||||
|
prepare:function(cards,player,targets){
|
||||||
|
targets[0].logSkill('zhiba');
|
||||||
|
},
|
||||||
usable:1,
|
usable:1,
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
|
|
@ -669,7 +669,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
trigger:{global:'useCardAfter'},
|
trigger:{global:'useCardAfter'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.card.name=='nanman'&&game.countPlayer(function(current){
|
return event.card.name=='nanman'&&game.countPlayer2(function(current){
|
||||||
return current.getHistory('damage',function(evt){
|
return current.getHistory('damage',function(evt){
|
||||||
return evt.getParent(2)==event;
|
return evt.getParent(2)==event;
|
||||||
}).length>0;
|
}).length>0;
|
||||||
|
@ -677,7 +677,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
frequent:true,
|
frequent:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
var num=game.countPlayer(function(current){
|
var num=game.countPlayer2(function(current){
|
||||||
return current.getHistory('damage',function(evt){
|
return current.getHistory('damage',function(evt){
|
||||||
return evt.getParent(2)==trigger;
|
return evt.getParent(2)==trigger;
|
||||||
}).length>0;
|
}).length>0;
|
||||||
|
@ -9949,6 +9949,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
frequent:true,
|
frequent:true,
|
||||||
//usable:3,
|
//usable:3,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
if(_status.currentPhase!=player) return false;
|
||||||
var evt=player.getLastUsed(1);
|
var evt=player.getLastUsed(1);
|
||||||
if(!evt) return false;
|
if(!evt) return false;
|
||||||
var color1=get.color(evt.card);
|
var color1=get.color(evt.card);
|
||||||
|
@ -10336,17 +10337,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.chooseControl('draw_card','加伤害','cancel2').set('prompt',get.prompt2('fengpo'));
|
player.chooseControl('draw_card','加伤害','cancel2').set('prompt',get.prompt2('fengpo'));
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.control&&result.control!='cancel2'){
|
if(result.control&&result.control!='cancel2'){
|
||||||
player.logSkill('fengpo');
|
player.logSkill('fengpo',trigger.target);
|
||||||
var nd=trigger.target.countCards('h',{suit:'diamond'});
|
var nd=trigger.target.countCards('h',{suit:'diamond'});
|
||||||
if(result.control=='draw_card'){
|
if(result.control=='draw_card'){
|
||||||
player.draw(nd);
|
player.draw(nd);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
var trigger2=trigger.getParent();
|
var trigger2=trigger.getParent();
|
||||||
if(typeof trigger2.extraDamage!='number'){
|
if(typeof trigger2.baseDamage!='number'){
|
||||||
trigger2.extraDamage=0;
|
trigger2.baseDamage=0;
|
||||||
}
|
}
|
||||||
trigger2.extraDamage+=nd;
|
trigger2.baseDamage+=nd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -688,14 +688,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
jijiang:{
|
jijiang:{
|
||||||
audio:'jijiang1',
|
audio:'jijiang1',
|
||||||
audioname:['liushan','re_liubei'],
|
audioname:['liushan','re_liubei','re_liushan'],
|
||||||
unique:true,
|
unique:true,
|
||||||
group:['jijiang1','jijiang2'],
|
group:['jijiang1','jijiang2'],
|
||||||
zhuSkill:true,
|
zhuSkill:true,
|
||||||
},
|
},
|
||||||
jijiang1:{
|
jijiang1:{
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['liushan','re_liubei'],
|
audioname:['liushan','re_liubei','re_liushan'],
|
||||||
trigger:{player:'chooseToRespondBegin'},
|
trigger:{player:'chooseToRespondBegin'},
|
||||||
check:function(event){
|
check:function(event){
|
||||||
if(event.jijiang) return false;
|
if(event.jijiang) return false;
|
||||||
|
@ -753,8 +753,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
jijiang2:{
|
jijiang2:{
|
||||||
audio:'jijiang1',
|
audio:'jijiang1',
|
||||||
audioname:['liushan','re_liubei'],
|
audioname:['liushan','re_liubei','re_liushan'],
|
||||||
enable:'chooseToUse',
|
enable:'chooseToUse',
|
||||||
|
prompt:'选择一名目标角色。若有其他蜀势力角色打出【杀】响应,则视为你对其使用此【杀】。',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.filterCard&&!event.filterCard({name:'sha'},player,event)) return false;
|
if(event.filterCard&&!event.filterCard({name:'sha'},player,event)) return false;
|
||||||
if(!player.hasZhuSkill('jijiang')) return false;
|
if(!player.hasZhuSkill('jijiang')) return false;
|
||||||
|
|
|
@ -1410,6 +1410,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
viewAsFilter:function (player){
|
viewAsFilter:function (player){
|
||||||
if(player.hasSkill('huoji')) return false;
|
if(player.hasSkill('huoji')) return false;
|
||||||
|
if(!game.hasPlayer(function(current){
|
||||||
|
return current.hasSkill('xinfu_jianjie');
|
||||||
|
})) return false;
|
||||||
if(!player.countCards('h',{color:'red'})) return false;
|
if(!player.countCards('h',{color:'red'})) return false;
|
||||||
},
|
},
|
||||||
prompt:"将一张红色牌当火攻使用",
|
prompt:"将一张红色牌当火攻使用",
|
||||||
|
@ -1420,56 +1423,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
return 4-get.value(card)
|
return 4-get.value(card)
|
||||||
},
|
},
|
||||||
ai:{
|
|
||||||
basic:{
|
|
||||||
order:4,
|
|
||||||
value:[3,1],
|
|
||||||
useful:1,
|
|
||||||
},
|
|
||||||
wuxie:function (target,card,player,current,state){
|
|
||||||
if(get.attitude(current,player)>=0&&state>0) return false;
|
|
||||||
},
|
|
||||||
result:{
|
|
||||||
player:function (player){
|
|
||||||
var nh=player.countCards('h');
|
|
||||||
if(nh<=player.hp&&nh<=4&&_status.event.name=='chooseToUse'){
|
|
||||||
if(typeof _status.event.filterCard=='function'&&
|
|
||||||
_status.event.filterCard({name:'huogong'})){
|
|
||||||
return -10;
|
|
||||||
}
|
|
||||||
if(_status.event.skill){
|
|
||||||
var viewAs=get.info(_status.event.skill).viewAs;
|
|
||||||
if(viewAs=='huogong') return -10;
|
|
||||||
if(viewAs&&viewAs.name=='huogong') return -10;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
},
|
|
||||||
target:function (player,target){
|
|
||||||
if(target.hasSkill('huogong2')||target.countCards('h')==0) return 0;
|
|
||||||
if(player.countCards('h')<=1) return 0;
|
|
||||||
if(target==player){
|
|
||||||
if(typeof _status.event.filterCard=='function'&&
|
|
||||||
_status.event.filterCard({name:'huogong'})){
|
|
||||||
return -1.5;
|
|
||||||
}
|
|
||||||
if(_status.event.skill){
|
|
||||||
var viewAs=get.info(_status.event.skill).viewAs;
|
|
||||||
if(viewAs=='huogong') return -1.5;
|
|
||||||
if(viewAs&&viewAs.name=='huogong') return -1.5;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return -1.5;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
tag:{
|
|
||||||
damage:1,
|
|
||||||
fireDamage:1,
|
|
||||||
natureDamage:1,
|
|
||||||
norepeat:1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
"smh_lianhuan":{
|
"smh_lianhuan":{
|
||||||
audio:2,
|
audio:2,
|
||||||
|
@ -1477,6 +1430,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
enable:"phaseUse",
|
enable:"phaseUse",
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(player.hasSkill('lianhuan')||player.hasSkill('xinlianhuan')) return false;
|
if(player.hasSkill('lianhuan')||player.hasSkill('xinlianhuan')) return false;
|
||||||
|
if(!game.hasPlayer(function(current){
|
||||||
|
return current.hasSkill('xinfu_jianjie');
|
||||||
|
})) return false;
|
||||||
if((player.getStat().skill.smh_lianhuan||0)+(player.getStat().skill.smh_lianhuan1||0)>=3) return false;
|
if((player.getStat().skill.smh_lianhuan||0)+(player.getStat().skill.smh_lianhuan1||0)>=3) return false;
|
||||||
return player.countCards('h',{suit:'club'})>0;
|
return player.countCards('h',{suit:'club'})>0;
|
||||||
},
|
},
|
||||||
|
@ -1495,41 +1451,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:"<li>出牌阶段限三次,你可以将你的任意一张梅花手牌当作【铁索连环】使用或重铸。",
|
content:"<li>出牌阶段限三次,你可以将你的任意一张梅花手牌当作【铁索连环】使用或重铸。",
|
||||||
},
|
},
|
||||||
group:["smh_lianhuan1"],
|
group:["smh_lianhuan1"],
|
||||||
ai:{
|
|
||||||
wuxie:function (){
|
|
||||||
if(Math.random()<0.5) return 0;
|
|
||||||
},
|
|
||||||
basic:{
|
|
||||||
useful:4,
|
|
||||||
value:4,
|
|
||||||
order:7,
|
|
||||||
},
|
|
||||||
result:{
|
|
||||||
target:function (player,target){
|
|
||||||
if(target.isLinked()){
|
|
||||||
if(target.hasSkillTag('link')) return 0;
|
|
||||||
var f=target.hasSkillTag('nofire');
|
|
||||||
var t=target.hasSkillTag('nothunder');
|
|
||||||
if(f&&t) return 0;
|
|
||||||
if(f||t) return 0.5;
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
if(get.attitude(player,target)>=0) return -0.9;
|
|
||||||
if(ui.selected.targets.length) return -0.9;
|
|
||||||
if(game.hasPlayer(function(current){
|
|
||||||
return get.attitude(player,current)<=-1&¤t!=target&&!current.isLinked();
|
|
||||||
})){
|
|
||||||
return -0.9;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
tag:{
|
|
||||||
multitarget:1,
|
|
||||||
multineg:1,
|
|
||||||
norepeat:1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
"xinfu_jianjie2":{
|
"xinfu_jianjie2":{
|
||||||
trigger:{
|
trigger:{
|
||||||
|
@ -1579,6 +1500,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
enable:"phaseUse",
|
enable:"phaseUse",
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(player.hasSkill('lianhuan')||player.hasSkill('xinlianhuan')) return false;
|
if(player.hasSkill('lianhuan')||player.hasSkill('xinlianhuan')) return false;
|
||||||
|
if(!game.hasPlayer(function(current){
|
||||||
|
return current.hasSkill('xinfu_jianjie');
|
||||||
|
})) return false;
|
||||||
if((player.getStat().skill.smh_lianhuan||0)+(player.getStat().skill.smh_lianhuan1||0)>=3) return false;
|
if((player.getStat().skill.smh_lianhuan||0)+(player.getStat().skill.smh_lianhuan1||0)>=3) return false;
|
||||||
return player.countCards('h',{suit:'club'})>0;
|
return player.countCards('h',{suit:'club'})>0;
|
||||||
},
|
},
|
||||||
|
@ -1615,6 +1539,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
animationColor:'gray',
|
animationColor:'gray',
|
||||||
prompt:"限定技,出牌阶段,你可以对一至三名角色造成至多共3点火焰伤害(你可以任意分配每名目标角色受到的伤害点数),若你将对一名角色分配2点或更多的火焰伤害,你须先弃置四张不同花色的手牌再失去3点体力。",
|
prompt:"限定技,出牌阶段,你可以对一至三名角色造成至多共3点火焰伤害(你可以任意分配每名目标角色受到的伤害点数),若你将对一名角色分配2点或更多的火焰伤害,你须先弃置四张不同花色的手牌再失去3点体力。",
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
|
if(!game.hasPlayer(function(current){
|
||||||
|
return current.hasSkill('xinfu_jianjie');
|
||||||
|
})) return false;
|
||||||
return player.hasSkill('smh_lianhuan');
|
return player.hasSkill('smh_lianhuan');
|
||||||
},
|
},
|
||||||
filterTarget:function (card,player,target){
|
filterTarget:function (card,player,target){
|
||||||
|
@ -1774,7 +1701,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
else{
|
else{
|
||||||
return att/100;
|
return att/100;
|
||||||
}
|
}
|
||||||
}).set('enemy',get.value(event.togive[0])<0);
|
}).set('enemy',get.value(event.togive[0],player,'raw')<0);
|
||||||
}
|
}
|
||||||
"step 3"
|
"step 3"
|
||||||
if(result.targets.length){
|
if(result.targets.length){
|
||||||
|
@ -2089,12 +2016,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
prompt:"弃置“后土”标记将一张手牌当桃使用",
|
prompt:"弃置“后土”标记将一张手牌当桃使用",
|
||||||
check:function (card){return 15-get.value(card)},
|
check:function (card){return 15-get.value(card)},
|
||||||
precontent:function (){
|
precontent:function (){
|
||||||
player.hasMark('xinfu_falu_club');
|
player.removeMark('xinfu_falu_club');
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
skillTagFilter:function (player){
|
skillTagFilter:function (player){
|
||||||
if(!player.isDying()) return false;
|
if(!player.isDying()) return false;
|
||||||
return player.storage.xinfu_falu_map.club;
|
return player.hasMark('xinfu_falu_club');
|
||||||
},
|
},
|
||||||
save:true,
|
save:true,
|
||||||
respondTao:true,
|
respondTao:true,
|
||||||
|
@ -3583,10 +3510,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
target.addTempSkill('xinfu_kannan_phase');
|
target.addTempSkill('xinfu_kannan_phase');
|
||||||
if(!target.hasSkill('kannan_eff')){
|
if(!target.hasSkill('kannan_eff')){
|
||||||
target.addSkill('kannan_eff');
|
target.addSkill('kannan_eff');
|
||||||
}else{
|
}
|
||||||
|
else{
|
||||||
if(!target.storage.kannan_eff) player.storage.kannan_eff=0;
|
if(!target.storage.kannan_eff) player.storage.kannan_eff=0;
|
||||||
target.storage.kannan_eff++;
|
//target.storage.kannan_eff++;
|
||||||
target.markSkill('kannan_eff');
|
//target.markSkill('kannan_eff');
|
||||||
}
|
}
|
||||||
target.storage.kannan_eff++;
|
target.storage.kannan_eff++;
|
||||||
target.markSkill('kannan_eff');
|
target.markSkill('kannan_eff');
|
||||||
|
@ -3606,10 +3534,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
content:function (){
|
content:function (){
|
||||||
"step 0"
|
|
||||||
if(!trigger.baseDamage) trigger.baseDamage=1;
|
if(!trigger.baseDamage) trigger.baseDamage=1;
|
||||||
trigger.baseDamage+=player.storage.kannan_eff;
|
trigger.baseDamage+=player.storage.kannan_eff;
|
||||||
"step 1"
|
|
||||||
player.removeSkill('kannan_eff');
|
player.removeSkill('kannan_eff');
|
||||||
},
|
},
|
||||||
init:function (player){
|
init:function (player){
|
||||||
|
|
|
@ -218,12 +218,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
var num=0;
|
var num=0;
|
||||||
for(var i=0;i<game.players.length;i++){
|
game.countPlayer2(function(current){
|
||||||
var history=game.players[i].getHistory('useCard');
|
var history=current.getHistory('useCard');
|
||||||
for(var j=0;j<history.length;j++){
|
for(var j=0;j<history.length;j++){
|
||||||
if(['basic','trick'].contains(get.type(history[j].card))&&history[j].targets&&history[j].targets.contains(player)) num++;
|
if(['basic','trick'].contains(get.type(history[j].card))&&history[j].targets&&history[j].targets.contains(player)) num++;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
event.num=num;
|
event.num=num;
|
||||||
player.chooseBool(get.prompt('xindanshou')+'(可摸'+get.cnNumber(num)+'张牌)',get.translation('xindanshou_info'));
|
player.chooseBool(get.prompt('xindanshou')+'(可摸'+get.cnNumber(num)+'张牌)',get.translation('xindanshou_info'));
|
||||||
}
|
}
|
||||||
|
@ -6458,9 +6458,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(event.getParent().triggeredTargets3.length>1) return false;
|
if(event.getParent().triggeredTargets3.length>1) return false;
|
||||||
return get.suit(event.card)=='spade'&&
|
return get.suit(event.card)=='spade'&&
|
||||||
_status.currentPhase==event.player&&event.targets&&event.targets.length&&
|
_status.currentPhase==event.player&&event.targets&&event.targets.length&&
|
||||||
event.player!=player&&!game.hasPlayer(function(current){
|
event.player!=player&&game.countPlayer2(function(current){
|
||||||
return current.getHistory('damage').length>0;
|
return current.getHistory('damage').length>0;
|
||||||
});
|
})==0;
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
@ -8890,6 +8890,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
zhiyan:{
|
zhiyan:{
|
||||||
audio:2,
|
audio:2,
|
||||||
|
audioname:['gexuan'],
|
||||||
trigger:{player:'phaseJieshuBegin'},
|
trigger:{player:'phaseJieshuBegin'},
|
||||||
direct:true,
|
direct:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
window.noname_asset_list=[
|
window.noname_asset_list=[
|
||||||
'1.9.97.2',
|
'1.9.97.4',
|
||||||
'audio/background/aozhan_chaoming.mp3',
|
'audio/background/aozhan_chaoming.mp3',
|
||||||
'audio/background/aozhan_online.mp3',
|
'audio/background/aozhan_online.mp3',
|
||||||
'audio/background/aozhan_rewrite.mp3',
|
'audio/background/aozhan_rewrite.mp3',
|
||||||
|
@ -2054,6 +2054,42 @@ window.noname_asset_list=[
|
||||||
'audio/skill/xjshijian2.mp3',
|
'audio/skill/xjshijian2.mp3',
|
||||||
'audio/skill/yuxu1.mp3',
|
'audio/skill/yuxu1.mp3',
|
||||||
'audio/skill/yuxu2.mp3',
|
'audio/skill/yuxu2.mp3',
|
||||||
|
'audio/skill/guzheng_re_zhangzhang1.mp3',
|
||||||
|
'audio/skill/guzheng_re_zhangzhang2.mp3',
|
||||||
|
'audio/skill/hmxili1.mp3',
|
||||||
|
'audio/skill/hmxili2.mp3',
|
||||||
|
'audio/skill/jiang_re_sunben1.mp3',
|
||||||
|
'audio/skill/jiang_re_sunben2.mp3',
|
||||||
|
'audio/skill/jijiang1_re_liushan1.mp3',
|
||||||
|
'audio/skill/jijiang1_re_liushan2.mp3',
|
||||||
|
'audio/skill/mansi1.mp3',
|
||||||
|
'audio/skill/mansi2.mp3',
|
||||||
|
'audio/skill/manyi1.mp3',
|
||||||
|
'audio/skill/manyi2.mp3',
|
||||||
|
'audio/skill/refangquan1.mp3',
|
||||||
|
'audio/skill/refangquan2.mp3',
|
||||||
|
'audio/skill/rehunzi1.mp3',
|
||||||
|
'audio/skill/rehunzi2.mp3',
|
||||||
|
'audio/skill/renshi1.mp3',
|
||||||
|
'audio/skill/renshi2.mp3',
|
||||||
|
'audio/skill/reyingzi_re_sunben1.mp3',
|
||||||
|
'audio/skill/reyingzi_re_sunben2.mp3',
|
||||||
|
'audio/skill/rezhijian1.mp3',
|
||||||
|
'audio/skill/rezhijian2.mp3',
|
||||||
|
'audio/skill/ruoyu_re_liushan1.mp3',
|
||||||
|
'audio/skill/ruoyu_re_liushan2.mp3',
|
||||||
|
'audio/skill/souying1.mp3',
|
||||||
|
'audio/skill/souying2.mp3',
|
||||||
|
'audio/skill/wuyuan1.mp3',
|
||||||
|
'audio/skill/wuyuan2.mp3',
|
||||||
|
'audio/skill/xiangle_re_liushan1.mp3',
|
||||||
|
'audio/skill/xiangle_re_liushan2.mp3',
|
||||||
|
'audio/skill/yinghun_re_sunben1.mp3',
|
||||||
|
'audio/skill/yinghun_re_sunben2.mp3',
|
||||||
|
'audio/skill/zhanyuan1.mp3',
|
||||||
|
'audio/skill/zhanyuan2.mp3',
|
||||||
|
'audio/skill/zhiba2_re_sunben1.mp3',
|
||||||
|
'audio/skill/zhiba2_re_sunben2.mp3',
|
||||||
|
|
||||||
'font/huangcao.ttf',
|
'font/huangcao.ttf',
|
||||||
'font/shousha.ttf',
|
'font/shousha.ttf',
|
||||||
|
|
56
game/game.js
56
game/game.js
|
@ -10082,7 +10082,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.ai.tempIgnore=[];
|
player.ai.tempIgnore=[];
|
||||||
game.countPlayer(function(current){
|
game.countPlayer2(function(current){
|
||||||
current.actionHistory.push({useCard:[],respond:[],skipped:[],lose:[],gain:[],sourceDamage:[],damage:[]});
|
current.actionHistory.push({useCard:[],respond:[],skipped:[],lose:[],gain:[],sourceDamage:[],damage:[]});
|
||||||
current.stat.push({card:{},skill:{}});
|
current.stat.push({card:{},skill:{}});
|
||||||
});
|
});
|
||||||
|
@ -26097,7 +26097,7 @@
|
||||||
else if(typeof arguments[i]=='function'){
|
else if(typeof arguments[i]=='function'){
|
||||||
onerror=arguments[i]
|
onerror=arguments[i]
|
||||||
}
|
}
|
||||||
if(_status.video&&arguments[1]!='video') break;
|
if(_status.video) break;
|
||||||
}
|
}
|
||||||
if(_status.skillaudio.contains(str)) return;
|
if(_status.skillaudio.contains(str)) return;
|
||||||
_status.skillaudio.add(str);
|
_status.skillaudio.add(str);
|
||||||
|
@ -32582,6 +32582,14 @@
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
hasPlayer2:function(func){
|
||||||
|
var players=game.players.slice(0).concat(game.dead);
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
if(players[i].isOut()) continue;
|
||||||
|
if(func(players[i])) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
countPlayer:function(func){
|
countPlayer:function(func){
|
||||||
var num=0;
|
var num=0;
|
||||||
if(typeof func!='function'){
|
if(typeof func!='function'){
|
||||||
|
@ -32599,6 +32607,24 @@
|
||||||
}
|
}
|
||||||
return num;
|
return num;
|
||||||
},
|
},
|
||||||
|
countPlayer2:function(func){
|
||||||
|
var num=0;
|
||||||
|
if(typeof func!='function'){
|
||||||
|
func=lib.filter.all;
|
||||||
|
}
|
||||||
|
var players=game.players.slice(0).concat(game.dead);
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
if(players[i].isOut()) continue;
|
||||||
|
var result=func(players[i]);
|
||||||
|
if(typeof result=='number'){
|
||||||
|
num+=result;
|
||||||
|
}
|
||||||
|
else if(result){
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return num;
|
||||||
|
},
|
||||||
filterPlayer:function(func,list){
|
filterPlayer:function(func,list){
|
||||||
if(!Array.isArray(list)){
|
if(!Array.isArray(list)){
|
||||||
list=[];
|
list=[];
|
||||||
|
@ -32614,6 +32640,22 @@
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
},
|
},
|
||||||
|
filterPlayer2:function(func,list){
|
||||||
|
if(!Array.isArray(list)){
|
||||||
|
list=[];
|
||||||
|
}
|
||||||
|
if(typeof func!='function'){
|
||||||
|
func=lib.filter.all;
|
||||||
|
}
|
||||||
|
var players=game.players.slice(0).concat(game.dead);
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(players[i].isOut()) continue;
|
||||||
|
if(func(players[i])){
|
||||||
|
list.add(players[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
},
|
||||||
findPlayer:function(func){
|
findPlayer:function(func){
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
if(game.players[i].isOut()) continue;
|
if(game.players[i].isOut()) continue;
|
||||||
|
@ -32623,6 +32665,16 @@
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
|
findPlayer2:function(func){
|
||||||
|
var players=game.players.slice(0).concat(game.dead);
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
if(players[i].isOut()) continue;
|
||||||
|
if(func(players[i])){
|
||||||
|
return players[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
},
|
||||||
findCards:function(func,all){
|
findCards:function(func,all){
|
||||||
var cards=[];
|
var cards=[];
|
||||||
for(var i in lib.card){
|
for(var i in lib.card){
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
window.noname_update={
|
window.noname_update={
|
||||||
version:'1.9.97.3.1',
|
version:'1.9.97.4',
|
||||||
update:'1.9.97.3',
|
update:'1.9.97.3.1',
|
||||||
changeLog:[
|
changeLog:[
|
||||||
'花鬘解禁',
|
|
||||||
'BUG修复',
|
'BUG修复',
|
||||||
],
|
],
|
||||||
files:[
|
files:[
|
||||||
|
@ -13,35 +12,35 @@ window.noname_update={
|
||||||
//'card/swd.js',
|
//'card/swd.js',
|
||||||
//'card/guozhan.js',
|
//'card/guozhan.js',
|
||||||
//'card/gwent.js',
|
//'card/gwent.js',
|
||||||
//'character/diy.js',
|
'character/diy.js',
|
||||||
//'character/extra.js',
|
'character/extra.js',
|
||||||
//'character/hearth.js',
|
//'character/hearth.js',
|
||||||
//'character/gujian.js',
|
//'character/gujian.js',
|
||||||
//'character/gwent.js',
|
//'character/gwent.js',
|
||||||
//'character/mobile.js',
|
'character/mobile.js',
|
||||||
//'character/mtg.js',
|
//'character/mtg.js',
|
||||||
//'character/old.js',
|
//'character/old.js',
|
||||||
//'character/refresh.js',
|
'character/refresh.js',
|
||||||
//'character/shenhua.js',
|
'character/shenhua.js',
|
||||||
'character/sp.js',
|
'character/sp.js',
|
||||||
//'character/tw.js',
|
//'character/tw.js',
|
||||||
//'character/standard.js',
|
'character/standard.js',
|
||||||
//'character/swd.js',
|
//'character/swd.js',
|
||||||
//'character/xianjian.js',
|
//'character/xianjian.js',
|
||||||
//'character/xinghuoliaoyuan.js',
|
'character/xinghuoliaoyuan.js',
|
||||||
//'character/yijiang.js',
|
'character/yijiang.js',
|
||||||
//'character/yxs.js',
|
//'character/yxs.js',
|
||||||
//'extension/boss/extension.js',
|
//'extension/boss/extension.js',
|
||||||
//'layout/default/layout.css',
|
//'layout/default/layout.css',
|
||||||
//'mode/identity.js',
|
//'mode/identity.js',
|
||||||
//'mode/doudizhu.js',
|
//'mode/doudizhu.js',
|
||||||
//'mode/guozhan.js',
|
'mode/guozhan.js',
|
||||||
//'mode/single.js',
|
//'mode/single.js',
|
||||||
//'mode/stone.js',
|
//'mode/stone.js',
|
||||||
//'mode/brawl.js',
|
'mode/brawl.js',
|
||||||
//'mode/versus.js',
|
//'mode/versus.js',
|
||||||
//'mode/boss.js',
|
//'mode/boss.js',
|
||||||
//'game/game.js',
|
'game/game.js',
|
||||||
//'game/NoSleep.js',
|
//'game/NoSleep.js',
|
||||||
//'game/config.js',
|
//'game/config.js',
|
||||||
//'game/package.js',
|
//'game/package.js',
|
||||||
|
|
|
@ -726,7 +726,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
'step 3'
|
'step 3'
|
||||||
if(game.playerx().length<=4&&!_status._aozhan){
|
if(game.playerx().length<=4&&!_status._aozhan){
|
||||||
game.countPlayer(function(current){
|
game.countPlayer2(function(current){
|
||||||
delete current._toKill;
|
delete current._toKill;
|
||||||
delete current._toSave;
|
delete current._toSave;
|
||||||
});
|
});
|
||||||
|
@ -801,6 +801,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
logTarget:'source',
|
logTarget:'source',
|
||||||
content:function(){
|
content:function(){
|
||||||
var source=trigger.source;
|
var source=trigger.source;
|
||||||
|
source.draw();
|
||||||
|
if(source.skillH.length==3) source.removeSkillH(source.skillH.randomGet());
|
||||||
|
var skills=lib.huanhuazhizhan.skills;
|
||||||
|
skills.randomSort();
|
||||||
|
for(var i=0;i<skills.length;i++){
|
||||||
|
if(!source.skillH.contains(skills[i])){
|
||||||
|
source.addSkillH(skills[i]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
hhzz_huizhen:{
|
hhzz_huizhen:{
|
||||||
|
@ -1021,11 +1031,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
game.me.addSkillH(result.control);
|
game.me.addSkillH(result.control);
|
||||||
game.countPlayer(function(current){
|
game.countPlayer(function(current){
|
||||||
current.storage._lingli=0;
|
|
||||||
if(!current.name){
|
if(!current.name){
|
||||||
current.init(_status.characterlist.randomRemove(1)[0]);
|
current.init(_status.characterlist.randomRemove(1)[0]);
|
||||||
current.addSkillH(['xiandeng','shulv','xisheng'].randomGet());
|
current.addSkillH(['xiandeng','shulv','xisheng'].randomGet());
|
||||||
}
|
}
|
||||||
|
current.storage._lingli=0;
|
||||||
|
current.markSkill('_lingli');
|
||||||
});
|
});
|
||||||
game.showIdentity(true);
|
game.showIdentity(true);
|
||||||
'step 3'
|
'step 3'
|
||||||
|
|
|
@ -2523,16 +2523,27 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
if(get.suit(card)=='spade') return 8-get.value(card);
|
if(get.suit(card)=='spade') return 8-get.value(card);
|
||||||
return 5-get.value(card);
|
return 5-get.value(card);
|
||||||
},
|
},
|
||||||
|
contentBefore:function(){
|
||||||
|
var evt=event.getParent();
|
||||||
|
evt.draw=[];
|
||||||
|
if(get.suit(cards[0])=='spade') evt.draw.push(player);
|
||||||
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
"step 0"
|
"step 0"
|
||||||
if(num==0&&get.suit(cards[0])=='spade') player.draw();
|
player.discardPlayerCard(target,'he',true);
|
||||||
player.choosePlayerCard(targets[num],'he',true);
|
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
if(result.links.length) targets[num].discard(result.links[0]);
|
if(get.suit(result.cards[0])=='spade') event.getParent().draw.push(target);
|
||||||
if(get.suit(result.links[0])=='spade') targets[num].draw();
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
contentAfter:function(){
|
||||||
|
'step 0'
|
||||||
|
var list=event.getParent().draw;
|
||||||
|
if(!list.length) event.finish();
|
||||||
|
else game.asyncDraw(list);
|
||||||
|
'step 1'
|
||||||
|
game.delay();
|
||||||
|
},
|
||||||
ai:{
|
ai:{
|
||||||
result:{
|
result:{
|
||||||
target:-1,
|
target:-1,
|
||||||
|
|
Loading…
Reference in New Issue