Add files via upload
|
@ -609,7 +609,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
var capt=get.translation(target)+'选择了'+get.translation(button.link);
|
var capt=get.translation(target)+'选择了'+get.translation(button.link);
|
||||||
if(card){
|
if(card){
|
||||||
target.gain(card);
|
target.gain(card,'visible');
|
||||||
target.$gain2(card);
|
target.$gain2(card);
|
||||||
game.broadcast(function(card,id,name,capt){
|
game.broadcast(function(card,id,name,capt){
|
||||||
var dialog=get.idDialog(id);
|
var dialog=get.idDialog(id);
|
||||||
|
@ -701,7 +701,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
basic:{
|
basic:{
|
||||||
order:1,
|
order:function(){
|
||||||
|
return get.order({name:'tao'})+0.1;
|
||||||
|
},
|
||||||
useful:[3,1],
|
useful:[3,1],
|
||||||
value:0
|
value:0
|
||||||
},
|
},
|
||||||
|
|
129
character/diy.js
|
@ -17,6 +17,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
key_rei:['male','key',4,['xiandeng','shulv','xisheng']],
|
key_rei:['male','key',4,['xiandeng','shulv','xisheng']],
|
||||||
key_komari:['female','key',3,['komari_tiankou','komari_xueshang']],
|
key_komari:['female','key',3,['komari_tiankou','komari_xueshang']],
|
||||||
key_yukine:['female','key',3,['yukine_wenzhou']],
|
key_yukine:['female','key',3,['yukine_wenzhou']],
|
||||||
|
key_yusa:['female','key',3,['yusa_yanyi','yusa_misa','dualside'],['dualside:key_misa']],
|
||||||
|
key_misa:['female','key',3,['misa_yehuo','misa_yusa','dualside'],['unseen']],
|
||||||
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
|
// diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']],
|
||||||
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
|
// diy_hanlong:['male','wei',4,['siji','ciqiu']],
|
||||||
diy_feishi:['male','shu',3,['shuaiyan','moshou']],
|
diy_feishi:['male','shu',3,['shuaiyan','moshou']],
|
||||||
|
@ -93,7 +95,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
diy:{
|
diy:{
|
||||||
diy_tieba:["diy_wenyang","ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_zhangwei"],
|
diy_tieba:["diy_wenyang","ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_zhangwei"],
|
||||||
diy_default:["diy_feishi","diy_liuyan","diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","diy_liufu","diy_xizhenxihong","diy_liuzan","diy_zaozhirenjun","diy_yangyi","diy_tianyu"],
|
diy_default:["diy_feishi","diy_liuyan","diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","diy_liufu","diy_xizhenxihong","diy_liuzan","diy_zaozhirenjun","diy_yangyi","diy_tianyu"],
|
||||||
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_kagari","key_umi","key_rei","key_komari","key_yukine"],
|
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_kagari","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa"],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
characterIntro:{
|
characterIntro:{
|
||||||
|
@ -108,6 +110,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
|
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
|
||||||
},
|
},
|
||||||
characterTitle:{
|
characterTitle:{
|
||||||
|
key_yusa:'#bCharlotte',
|
||||||
|
key_misa:'#rCharlotte',
|
||||||
key_yukine:'#gClannad',
|
key_yukine:'#gClannad',
|
||||||
key_komari:'#bLittle Busters!',
|
key_komari:'#bLittle Busters!',
|
||||||
key_umi:'#bSummer Pockets',
|
key_umi:'#bSummer Pockets',
|
||||||
|
@ -152,6 +156,119 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
yuji:['zuoci']
|
yuji:['zuoci']
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
yusa_yanyi:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return get.distance(player,target)<=player.hp;
|
||||||
|
},
|
||||||
|
selectTarget:function(){
|
||||||
|
return [1,Math.max(_status.event.player.getAttackRange())];
|
||||||
|
},
|
||||||
|
line:'thunder',
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
if(target.isHealthy()){
|
||||||
|
player.draw();
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
var name=get.translation(player);
|
||||||
|
target.chooseControl().set('choiceList',[
|
||||||
|
'令'+name+'摸一张牌',
|
||||||
|
'回复1点体力,然后交给'+name+'一张牌',
|
||||||
|
]).set('ai',function(){
|
||||||
|
return 1;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
if(result.index==0){
|
||||||
|
player.draw();
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
target.recover();
|
||||||
|
}
|
||||||
|
'step 2'
|
||||||
|
if(target!=player&&target.countCards('he')>0){
|
||||||
|
target.chooseCard('交给'+get.translation(player)+'一张牌','he',true);
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 3'
|
||||||
|
target.give(result.cards,player,'giveAuto');
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
result:{
|
||||||
|
player:function(player,target){
|
||||||
|
return target.isHealthy()?1:0;
|
||||||
|
},
|
||||||
|
target:function(player,target){
|
||||||
|
if(target.isHealthy()) return 0;
|
||||||
|
return get.recoverEffect(target,player,target);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
yusa_misa:{
|
||||||
|
charlotte:true,
|
||||||
|
trigger:{player:'useSkillAfter'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.skill=='yusa_yanyi'&&!player.storage.dualside_over&&Array.isArray(player.storage.dualside);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.turnOver();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
misa_yusa:{
|
||||||
|
charlotte:true,
|
||||||
|
trigger:{player:'misa_yehuoAfter'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.bool===true&&!player.storage.dualside_over&&Array.isArray(player.storage.dualside);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.turnOver();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
misa_yehuo:{
|
||||||
|
charlotte:true,
|
||||||
|
trigger:{global:'phaseDrawBegin1'},
|
||||||
|
direct:true,
|
||||||
|
locked:true,
|
||||||
|
line:{color:[236,137,52]},
|
||||||
|
filter:function(event,player){
|
||||||
|
var target=event.player;
|
||||||
|
return player.inRange(target)&&player.countCards('he')>=get.distance(player,target);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var next=player.chooseToDiscard('he',get.distance(player,trigger.player)||1,get.prompt2('misa_yehuo',trigger.player));
|
||||||
|
next.set('logSkill',['misa_yehuo',trigger.player,'fire']);
|
||||||
|
next.set('ai',function(card){
|
||||||
|
var val=_status.event.val;
|
||||||
|
for(var i=0;i<ui.selected.cards.length;i++){
|
||||||
|
val-=get.value(ui.selected.cards[i]);
|
||||||
|
}
|
||||||
|
return val-get.value(card);
|
||||||
|
});
|
||||||
|
next.set('val',-2*get.attitude(player,trigger.player))
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
event.bool=true;
|
||||||
|
if(trigger.numFixed) event._result={index:0};
|
||||||
|
else{
|
||||||
|
var name=get.translation(trigger.player);
|
||||||
|
player.chooseControl().set('choiceList',[
|
||||||
|
'对'+name+'造成一点火属性伤害',
|
||||||
|
'令'+name+'此出牌阶段的额定摸牌数改为0'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
if(result.index==0) trigger.player.damage('fire');
|
||||||
|
else trigger.changeToZero();
|
||||||
|
},
|
||||||
|
},
|
||||||
nsqiyue:{
|
nsqiyue:{
|
||||||
trigger:{global:['turnOverEnd','linkEnd','showCharacterEnd','hideCharacterEnd','removeCharacterEnd']},
|
trigger:{global:['turnOverEnd','linkEnd','showCharacterEnd','hideCharacterEnd','removeCharacterEnd']},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
@ -5584,6 +5701,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
key_rei:'零',
|
key_rei:'零',
|
||||||
key_komari:'神北小毬',
|
key_komari:'神北小毬',
|
||||||
key_yukine:'宫泽有纪宁',
|
key_yukine:'宫泽有纪宁',
|
||||||
|
key_yusa:'西森柚咲',
|
||||||
|
key_misa:'黑羽美砂',
|
||||||
lucia_duqu:'毒躯',
|
lucia_duqu:'毒躯',
|
||||||
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
|
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
|
||||||
lucia_zhenren:'振刃',
|
lucia_zhenren:'振刃',
|
||||||
|
@ -5615,6 +5734,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
komari_xueshang_info:'锁定技,蓄力技,当有角色死亡时,你对自己造成<span class=yellowtext>1</span>点伤害,然后对所有其他角色依次造成<span class=firetext>1</span>点伤害。当有角色因此法进入濒死状态时,你加1点体力上限并回复1点体力,然后失去此技能并终止此技能的所有后续结算。',
|
komari_xueshang_info:'锁定技,蓄力技,当有角色死亡时,你对自己造成<span class=yellowtext>1</span>点伤害,然后对所有其他角色依次造成<span class=firetext>1</span>点伤害。当有角色因此法进入濒死状态时,你加1点体力上限并回复1点体力,然后失去此技能并终止此技能的所有后续结算。',
|
||||||
yukine_wenzhou:'问咒',
|
yukine_wenzhou:'问咒',
|
||||||
yukine_wenzhou_info:'一名角色的出牌阶段开始时,其可以交给你一张牌。若如此做,你选择一项:交给其一张牌,或令其从牌堆中获得一张与此牌类型相同的牌,且其于此阶段内使用与此牌牌名相同的牌时无法被响应。',
|
yukine_wenzhou_info:'一名角色的出牌阶段开始时,其可以交给你一张牌。若如此做,你选择一项:交给其一张牌,或令其从牌堆中获得一张与此牌类型相同的牌,且其于此阶段内使用与此牌牌名相同的牌时无法被响应。',
|
||||||
|
yusa_yanyi:'演艺',
|
||||||
|
yusa_yanyi_info:'出牌阶段限一次,你可以指定至多X名与你距离不大于你的体力值的角色。这些角色选择一项:①令你摸一张牌。②回复1点体力,然后交给你一张牌。(X为你的攻击范围且至少为1)',
|
||||||
|
misa_yehuo:'业火',
|
||||||
|
misa_yehuo_info:'一名角色的摸牌阶段开始时,若其在你的攻击范围内,你可以弃置X张牌并选择一项:①对其造成1点火属性伤害。②令其于此摸牌阶段放弃摸牌。(X为你与其的的距离)',
|
||||||
|
yusa_misa:'通灵',
|
||||||
|
yusa_misa_info:'当你发动的〖演艺〗结算完成之后,你可以将武将牌翻面。',
|
||||||
|
misa_yusa:'归魂',
|
||||||
|
misa_yusa_info:'当你发动的〖业火〗结算完成后,你可以将武将牌翻面。',
|
||||||
|
|
||||||
ns_zhangwei:'张葳',
|
ns_zhangwei:'张葳',
|
||||||
nsqiyue:'骑钺',
|
nsqiyue:'骑钺',
|
||||||
|
|
|
@ -2498,7 +2498,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player.hasMark('drlt_jieying_mark')&&game.hasPlayer(function(current){
|
return !event.numFixed&&player.hasMark('drlt_jieying_mark')&&game.hasPlayer(function(current){
|
||||||
return current.hasSkill('drlt_jieying');
|
return current.hasSkill('drlt_jieying');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -246,7 +246,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.draw();
|
player.draw();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
var next=player.chooseUseTarget({name:trigger.card.name,nature:trigger.card.nature},false);
|
var next=player.chooseUseTarget({name:trigger.card.name,nature:trigger.card.nature},false,true);
|
||||||
_status.event.next.remove(next);
|
_status.event.next.remove(next);
|
||||||
event.evt.after.push(next);
|
event.evt.after.push(next);
|
||||||
next.logSkill='zhiyi';
|
next.logSkill='zhiyi';
|
||||||
|
@ -1455,7 +1455,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
relieren:{
|
relieren:{
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['boss_lvbu3'],
|
audioname:['boss_lvbu3'],
|
||||||
trigger:{player:'useCardToTargeted'},
|
trigger:{player:'useCardToPlayered'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.card.name=='sha'&&player.canCompare(event.target);
|
return event.card.name=='sha'&&player.canCompare(event.target);
|
||||||
},
|
},
|
||||||
|
|
|
@ -4,13 +4,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
name:'refresh',
|
name:'refresh',
|
||||||
characterSort:{
|
characterSort:{
|
||||||
refresh:{
|
refresh:{
|
||||||
refresh_standard:["re_caocao","re_simayi","re_guojia","re_lidian","re_zhangliao","re_xuzhu","re_xiahoudun","re_zhangfei","re_zhaoyun","re_guanyu","re_machao","re_xushu","re_zhouyu","re_lvmeng","re_ganning","re_luxun","re_daqiao","re_huanggai","re_lvbu","re_gongsunzan","re_huatuo","re_liubei","re_diaochan","re_huangyueying","re_sunquan","re_sunshangxiang","re_zhenji","re_zhugeliang","re_huaxiong"],
|
refresh_standard:["re_caocao","re_simayi","re_guojia","re_lidian","re_zhangliao","re_xuzhu","re_xiahoudun","re_zhangfei","re_zhaoyun","re_guanyu","re_machao","re_xushu","re_zhouyu","re_lvmeng","re_ganning","re_luxun","re_daqiao","re_huanggai","re_lvbu","re_gongsunzan","re_huatuo","re_liubei","re_diaochan","re_huangyueying","re_sunquan","re_sunshangxiang","re_zhenji","re_zhugeliang","re_huaxiong"],
|
||||||
refresh_feng:['caoren','re_xiahouyuan','re_huangzhong','re_weiyan','re_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'],
|
refresh_feng:['caoren','re_xiahouyuan','re_huangzhong','re_weiyan','re_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'],
|
||||||
refresh_huo:["re_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","re_pangtong","ol_yuanshao","re_pangde"],
|
refresh_huo:["re_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","re_pangtong","ol_yuanshao","re_pangde"],
|
||||||
refresh_lin:['re_zhurong','re_menghuo','re_dongzhuo','re_sunjian','re_caopi','re_xuhuang'],
|
refresh_lin:['re_zhurong','re_menghuo','re_dongzhuo','re_sunjian','re_caopi','re_xuhuang'],
|
||||||
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce'],
|
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce'],
|
||||||
refresh_yijiang:['re_xusheng','re_wuguotai','re_gaoshun'],
|
refresh_yijiang:['re_xusheng','re_wuguotai','re_gaoshun'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
connect:true,
|
connect:true,
|
||||||
character:{
|
character:{
|
||||||
|
@ -1447,13 +1447,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||||
get.translation(trigger.player.judging[0])+','+get.prompt('xinguidao'),'he',function(card){
|
get.translation(trigger.player.judging[0])+','+get.prompt('xinguidao'),'he',function(card){
|
||||||
if(get.color(card)!='black') return false;
|
if(get.color(card)!='black') return false;
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||||
if(mod2!='unchanged') return mod2;
|
if(mod2!='unchanged') return mod2;
|
||||||
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
||||||
if(mod!='unchanged') return mod;
|
if(mod!='unchanged') return mod;
|
||||||
return true;
|
return true;
|
||||||
}).set('ai',function(card){
|
}).set('ai',function(card){
|
||||||
var trigger=_status.event.getTrigger();
|
var trigger=_status.event.getTrigger();
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
|
@ -1836,18 +1836,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"new_yajiao":{
|
"new_yajiao":{
|
||||||
audio:"reyajiao",
|
audio:"reyajiao",
|
||||||
trigger:{
|
trigger:{
|
||||||
player:["respond","useCard"],
|
player:"loseEnd",
|
||||||
},
|
},
|
||||||
frequent:true,
|
frequent:true,
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
return player!=_status.currentPhase&&get.itemtype(event.cards)=='cards';
|
return player!=_status.currentPhase&&event.hs&&event.hs.length>0&&['useCard','respond'].contains(event.getParent().name);
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
"step 0"
|
"step 0"
|
||||||
event.card=get.cards();
|
event.card=get.cards();
|
||||||
player.showCards(event.card);
|
player.showCards(event.card);
|
||||||
event.same=false;
|
event.same=false;
|
||||||
if(get.type(event.card[0],'trick')==get.type(trigger.card,'trick')) event.same=true;
|
if(get.type(event.card[0],'trick')==get.type(trigger.getParent().card,'trick')) event.same=true;
|
||||||
player.chooseTarget('选择获得此牌的角色',true).set('ai',function(target){
|
player.chooseTarget('选择获得此牌的角色',true).set('ai',function(target){
|
||||||
var att=get.attitude(_status.event.player,target);
|
var att=get.attitude(_status.event.player,target);
|
||||||
if(_status.event.du){
|
if(_status.event.du){
|
||||||
|
@ -2238,7 +2238,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
event.finish();
|
event.finish();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.gain(event.card2,target,'give');
|
player.gain(event.card2,target,'give','bySelf');
|
||||||
if(target.hp<target.maxHp){
|
if(target.hp<target.maxHp){
|
||||||
player.chooseBool('是否让目标回复一点体力?').ai=function(event,player){
|
player.chooseBool('是否让目标回复一点体力?').ai=function(event,player){
|
||||||
return get.recoverEffect(target,player,player)>0;
|
return get.recoverEffect(target,player,player)>0;
|
||||||
|
@ -3032,7 +3032,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{player:'useCard'},
|
trigger:{player:'useCard'},
|
||||||
frequent:true,
|
frequent:true,
|
||||||
filter:function(event){
|
filter:function(event){
|
||||||
return (get.type(event.card,'trick')=='trick'&&event.card.isCard);
|
return (get.type(event.card)=='trick'&&event.card.isCard);
|
||||||
},
|
},
|
||||||
init:function(player){
|
init:function(player){
|
||||||
player.storage.rejizhi=0;
|
player.storage.rejizhi=0;
|
||||||
|
@ -3354,12 +3354,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||||
get.translation(trigger.player.judging[0])+','+get.prompt('reguicai'),'he',function(card){
|
get.translation(trigger.player.judging[0])+','+get.prompt('reguicai'),'he',function(card){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||||
if(mod2!='unchanged') return mod2;
|
if(mod2!='unchanged') return mod2;
|
||||||
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
||||||
if(mod!='unchanged') return mod;
|
if(mod!='unchanged') return mod;
|
||||||
return true;
|
return true;
|
||||||
}).set('ai',function(card){
|
}).set('ai',function(card){
|
||||||
var trigger=_status.event.getTrigger();
|
var trigger=_status.event.getTrigger();
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
|
@ -4487,15 +4487,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseTarget(get.prompt('fenwei'),
|
player.chooseTarget(get.prompt('fenwei'),
|
||||||
[1,trigger.targets.length],function(card,player,target){
|
[1,trigger.targets.length],function(card,player,target){
|
||||||
var evt=_status.event.getTrigger().getParent();
|
return _status.event.contains(target);
|
||||||
return evt.targets.contains(target)&&!evt.excluded.contains(target);
|
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
var trigger=_status.event.getTrigger();
|
var trigger=_status.event.getTrigger();
|
||||||
if(game.phaseNumber>game.players.length*2&&trigger.targets.length>=game.players.length-1){
|
if(game.phaseNumber>game.players.length*2&&trigger.targets.length>=game.players.length-1&&!trigger.excluded.contains(target)){
|
||||||
return -get.effect(target,trigger.card,trigger.player,_status.event.player);
|
return -get.effect(target,trigger.card,trigger.player,_status.event.player);
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
});
|
}).set('targets',trigger.targets);
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
player.awakenSkill('fenwei');
|
player.awakenSkill('fenwei');
|
||||||
|
|
|
@ -5120,7 +5120,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
if(game.hasPlayer(function(player){
|
if(game.hasPlayer(function(player){
|
||||||
return player!=target&&target.inRange(player)<=1;
|
return player!=target&&target.inRange(player);
|
||||||
})){
|
})){
|
||||||
player.chooseTarget(function(card,player,target){
|
player.chooseTarget(function(card,player,target){
|
||||||
var source=_status.event.source;
|
var source=_status.event.source;
|
||||||
|
@ -6500,13 +6500,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||||
get.translation(trigger.player.judging[0])+','+get.prompt('guidao'),'he',function(card){
|
get.translation(trigger.player.judging[0])+','+get.prompt('guidao'),'he',function(card){
|
||||||
if(get.color(card)!='black') return false;
|
if(get.color(card)!='black') return false;
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||||
if(mod2!='unchanged') return mod2;
|
if(mod2!='unchanged') return mod2;
|
||||||
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
||||||
if(mod!='unchanged') return mod;
|
if(mod!='unchanged') return mod;
|
||||||
return true;
|
return true;
|
||||||
}).set('ai',function(card){
|
}).set('ai',function(card){
|
||||||
var trigger=_status.event.getTrigger();
|
var trigger=_status.event.getTrigger();
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
|
|
529
character/sp.js
|
@ -15,6 +15,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
sp_shengun:["puyuan","guanlu","gexuan","xushao"],
|
sp_shengun:["puyuan","guanlu","gexuan","xushao"],
|
||||||
sp_zhongdan:["cuiyan","huangfusong"],
|
sp_zhongdan:["cuiyan","huangfusong"],
|
||||||
sp_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"],
|
sp_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"],
|
||||||
|
sp_sticker:['sp_gongsunzan','sp_simazhao','sp_wangyuanji','sp_xinxianying','sp_liuxie'],
|
||||||
sp_guozhan:["shamoke","ganfuren","yuejin","hetaihou","dingfeng","panfeng","jianggan"],
|
sp_guozhan:["shamoke","ganfuren","yuejin","hetaihou","dingfeng","panfeng","jianggan"],
|
||||||
sp_guozhan2:["mifuren","mateng","tianfeng","chendong","sp_dongzhuo","jiangfei","jiangqing","kongrong","bianfuren","liqueguosi","lvfan","cuimao","jiling","zangba","zhangren","zoushi"],
|
sp_guozhan2:["mifuren","mateng","tianfeng","chendong","sp_dongzhuo","jiangfei","jiangqing","kongrong","bianfuren","liqueguosi","lvfan","cuimao","jiling","zangba","zhangren","zoushi"],
|
||||||
sp_single:["hejin","hansui","niujin"],
|
sp_single:["hejin","hansui","niujin"],
|
||||||
|
@ -22,6 +23,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
character:{
|
character:{
|
||||||
|
sp_gongsunzan:['male','qun',4,['spyicong','sptuji']],
|
||||||
|
sp_simazhao:['male','wei',3,['spzhaoxin','splanggu']],
|
||||||
|
sp_wangyuanji:['male','wei',3,['spfuluan','spshude']],
|
||||||
|
sp_xinxianying:['male','wei',3,['spmingjian','spyinzhi']],
|
||||||
|
sp_liuxie:['male','qun',3,['sphuangen','sphantong']],
|
||||||
|
|
||||||
huangfusong:['male','qun',4,['xinfenyue']],
|
huangfusong:['male','qun',4,['xinfenyue']],
|
||||||
yuantanyuanshang:['male','qun',4,['neifa']],
|
yuantanyuanshang:['male','qun',4,['neifa']],
|
||||||
huaman:['female','shu',3,['hmmanyi','mansi','souying','zhanyuan']],
|
huaman:['female','shu',3,['hmmanyi','mansi','souying','zhanyuan']],
|
||||||
|
@ -654,6 +661,406 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
//桌游志贴纸
|
||||||
|
spyinzhi:{
|
||||||
|
trigger:{player:'damageEnd'},
|
||||||
|
frequent:true,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
event.count=trigger.num;
|
||||||
|
'step 1'
|
||||||
|
event.count--;
|
||||||
|
var cards=game.cardsGotoOrdering(get.cards(2)).cards;
|
||||||
|
player.showCards(cards);
|
||||||
|
event.count2=0;
|
||||||
|
for(var i=0;i<cards.length;i++){
|
||||||
|
if(get.suit(cards[i])=='spade'){
|
||||||
|
event.count2++;
|
||||||
|
cards.splice(i--,1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
event.cards=cards;
|
||||||
|
if(!event.count2||!trigger.source) event.goto(4);
|
||||||
|
'step 2'
|
||||||
|
event.count2--;
|
||||||
|
if(trigger.source.countCards('h')>0){
|
||||||
|
player.chooseTarget('令一名角色获得'+get.translation(trigger.source)+'的一张手牌',function(card,player,target){
|
||||||
|
var source=_status.event.source;
|
||||||
|
return target!=source&&source.countGainableCards(target,'h')>0;
|
||||||
|
}).set('source',trigger.source);
|
||||||
|
}
|
||||||
|
else event.goto(4);
|
||||||
|
'step 3'
|
||||||
|
if(result.bool){
|
||||||
|
var target=result.targets[0];
|
||||||
|
player.line([trigger.source,target],'green');
|
||||||
|
target.gainPlayerCard(trigger.source,'h',true);
|
||||||
|
if(event.count2) event.goto(2)
|
||||||
|
}
|
||||||
|
'step 4'
|
||||||
|
if(cards.length) player.gain(cards,'gain2','log');
|
||||||
|
'step 5'
|
||||||
|
if(event.count>0){
|
||||||
|
player.chooseBool(get.prompt2('spyinzhi')).set('frequentSkill','spyinzhi');
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 6'
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('spyinzhi');
|
||||||
|
event.goto(1);
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
spmingjian:{
|
||||||
|
trigger:{global:'phaseBegin'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.countCards('he')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
var next=player.chooseCard(get.prompt2('spmingjian',trigger.player),'he');
|
||||||
|
next.set('ai',function(card){
|
||||||
|
var target=_status.event.getTrigger().player;
|
||||||
|
var player=_status.event.player;
|
||||||
|
if(get.attitude(player,target)>0&&target.countCards('j')>0) return 5-get.value(card);
|
||||||
|
return -1;
|
||||||
|
});
|
||||||
|
next.set('filterCard',function(card,player){
|
||||||
|
if(get.position(card)=='e') return lib.filter.cardDiscardable.apply(this,arguments);
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
next.set('logSkill',['spmingjian',trigger.player]);
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
var card=result.cards[0];
|
||||||
|
event.card=card;
|
||||||
|
if(get.position(card)=='e') event._result={index:0};
|
||||||
|
else if(!lib.filter.cardDiscardable(card,player,event)) event._result={index:1};
|
||||||
|
else{
|
||||||
|
var name=get.translation(trigger.player);
|
||||||
|
player.chooseControl().set('choiceList',[
|
||||||
|
'令'+name+'跳过本回合的判定阶段',
|
||||||
|
'令'+name+'于本回合的判定中不触发「判定结果生效前」的时机',
|
||||||
|
]).set('ai',function(){return 0});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
if(result.index==0){
|
||||||
|
player.discard(card);
|
||||||
|
trigger.player.skip('phaseJudge');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player.lose(card,ui.special,'toStorage');
|
||||||
|
trigger.player.addSkill('spmingjian_charlotte');
|
||||||
|
trigger.player.storage.spmingjian_charlotte.add(card);
|
||||||
|
trigger.player.markSkill('spmingjian_charlotte');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
spmingjian_charlotte:{
|
||||||
|
trigger:{player:['judgeBefore','phaseAfter']},
|
||||||
|
forced:true,
|
||||||
|
firstDo:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
charlotte:true,
|
||||||
|
content:function(){
|
||||||
|
if(trigger.name=='phase') player.removeSkill(event.name);
|
||||||
|
else trigger.noJudgeTrigger=true;
|
||||||
|
},
|
||||||
|
init:function(player,skill){
|
||||||
|
if(!player.storage[skill]) player.storage[skill]=[];
|
||||||
|
},
|
||||||
|
marktext:'鉴',
|
||||||
|
intro:{
|
||||||
|
name:'明鉴',
|
||||||
|
content:'cards',
|
||||||
|
onunmark:'throw',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
spshude:{
|
||||||
|
trigger:{player:'phaseJieshuBegin'},
|
||||||
|
frequent:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.countCards('h')<player.maxHp;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.drawTo(player.maxHp);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
spfuluan:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return player.inRange(target);
|
||||||
|
},
|
||||||
|
selectCard:3,
|
||||||
|
position:'he',
|
||||||
|
check:function(card){
|
||||||
|
return 5-get.value(card);
|
||||||
|
},
|
||||||
|
complexCard:true,
|
||||||
|
filterCard:function(card,player){
|
||||||
|
if(!ui.selected.cards.length) return player.countCards('he',{suit:get.suit(card)})>2;
|
||||||
|
return get.suit(card)==get.suit(ui.selected.cards[0]);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
target.turnOver();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:1,
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
if(target.isTurnedOver()) return 2;
|
||||||
|
return -1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
spfuluan2:{
|
||||||
|
mod:{
|
||||||
|
cardEnabled:function(card){
|
||||||
|
if(card.name=='sha') return false;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
spzhaoxin:{
|
||||||
|
trigger:{player:'phaseDrawEnd'},
|
||||||
|
check:function(event,player){
|
||||||
|
return player.getUseValue({name:'sha',isCard:true})>0;
|
||||||
|
},
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.countCards('h')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.showHandcards();
|
||||||
|
'step 1'
|
||||||
|
player.chooseUseTarget('sha',false);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
splanggu:{
|
||||||
|
trigger:{player:'damageEnd'},
|
||||||
|
filter:function(event,player){
|
||||||
|
return get.itemtype(event.source)=='player';
|
||||||
|
},
|
||||||
|
logTarget:'source',
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.judge();
|
||||||
|
'step 1'
|
||||||
|
if(trigger.source.countCards('h')>0){
|
||||||
|
var next=player.discardPlayerCard(trigger.source,'h',[1,Infinity]);
|
||||||
|
next.set('suit',result.suit);
|
||||||
|
next.set('filterButton',function(button){
|
||||||
|
return get.suit(button.link)==_status.event.suit;
|
||||||
|
});
|
||||||
|
next.set('visible',true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
group:'splanggu_rewrite',
|
||||||
|
},
|
||||||
|
splanggu_rewrite:{
|
||||||
|
trigger:{player:'judge'},
|
||||||
|
filter:function (event,player){
|
||||||
|
return player.countCards('h')>0&&event.getParent().name=='splanggu';
|
||||||
|
},
|
||||||
|
direct:true,
|
||||||
|
content:function (){
|
||||||
|
"step 0"
|
||||||
|
player.chooseCard('狼顾的判定结果为'+
|
||||||
|
get.translation(trigger.player.judging[0])+',是否打出一张手牌进行代替?','h',function(card){
|
||||||
|
var player=_status.event.player;
|
||||||
|
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||||
|
if(mod2!='unchanged') return mod2;
|
||||||
|
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
||||||
|
if(mod!='unchanged') return mod;
|
||||||
|
return true;
|
||||||
|
}).set('ai',function(card){
|
||||||
|
return -1;
|
||||||
|
});
|
||||||
|
"step 1"
|
||||||
|
if(result.bool){
|
||||||
|
player.respond(result.cards,'highlight','splanggu','noOrdering');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
"step 2"
|
||||||
|
if(result.bool){
|
||||||
|
if(trigger.player.judging[0].clone){
|
||||||
|
trigger.player.judging[0].clone.classList.remove('thrownhighlight');
|
||||||
|
game.broadcast(function(card){
|
||||||
|
if(card.clone){
|
||||||
|
card.clone.classList.remove('thrownhighlight');
|
||||||
|
}
|
||||||
|
},trigger.player.judging[0]);
|
||||||
|
game.addVideo('deletenode',player,get.cardsInfo([trigger.player.judging[0].clone]));
|
||||||
|
}
|
||||||
|
game.cardsDiscard(trigger.player.judging[0]);
|
||||||
|
trigger.player.judging[0]=result.cards[0];
|
||||||
|
trigger.orderingCards.addArray(result.cards);
|
||||||
|
game.log(trigger.player,'的判定牌改为',result.cards[0]);
|
||||||
|
game.delay(2);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
sphantong:{
|
||||||
|
trigger:{player:'loseEnd'},
|
||||||
|
frequent:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return event.type=='discard'&&event.getParent(3).name=='phaseDiscard'&&event.cards.filterInD('d').length>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
if(!player.storage.hantong) player.storage.sphantong=[];
|
||||||
|
var cards=trigger.cards.filterInD('d');
|
||||||
|
player.storage.sphantong.addArray(cards);
|
||||||
|
player.$gain2(cards);
|
||||||
|
game.log(player,'将',cards,'置于武将牌上');
|
||||||
|
player.markSkill('sphantong');
|
||||||
|
},
|
||||||
|
group:['sphantong_gain'],
|
||||||
|
derivation:['hujia','jijiang','jiuyuan','xueyi'],
|
||||||
|
marktext:'诏',
|
||||||
|
intro:{
|
||||||
|
content:'cards',
|
||||||
|
onunmark:'throw',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
sphantong_gain:{
|
||||||
|
trigger:{global:'phaseBegin'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.sphantong&&player.storage.sphantong.length>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseButton([get.prompt('sphantong'),player.storage.sphantong],function(button){return -1});
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('sphantong');
|
||||||
|
var card=result.links[0];
|
||||||
|
player.$throw(card);
|
||||||
|
game.log(player,'将',card,'置入了弃牌堆');
|
||||||
|
player.storage.sphantong.remove(card);
|
||||||
|
player[player.storage.sphantong.length>0?'markSkill':'unmarkSkill']('sphantong');
|
||||||
|
game.cardsDiscard(card);
|
||||||
|
var list=['hujia','jijiang','jiuyuan','xueyi'];
|
||||||
|
for(var i=0;i<list.length;i++){
|
||||||
|
if(player.hasZhuSkill(list[i])) list.splice(i--,1);
|
||||||
|
}
|
||||||
|
if(list.length>0) player.chooseControl(list).set('prompt','选择获得以下技能中的一个');
|
||||||
|
else event.finish();
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
var skill=result.control;
|
||||||
|
player.addTempSkill(skill);
|
||||||
|
if(!player.storage.zhuSkill_sphantong) player.storage.zhuSkill_sphantong=[];
|
||||||
|
player.storage.zhuSkill_sphantong.add(skill);
|
||||||
|
player.popup(skill,'wood');
|
||||||
|
game.log(player,'获得了技能','#g【'+get.translation(skill)+'】');
|
||||||
|
var next=game.createEvent('sphantong_clear',false);
|
||||||
|
event.next.remove(next);
|
||||||
|
trigger.after.push(next);
|
||||||
|
next.player=player;
|
||||||
|
next.skill=skill;
|
||||||
|
next.setContent(function(){
|
||||||
|
if(player.storage.zhuSkill_sphantong) player.storage.zhuSkill_sphantong.remove(event.skill);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
sphuangen:{
|
||||||
|
trigger:{global:'useCardToPlayered'},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(!event.isFirstTarget) return false;
|
||||||
|
if(get.type(event.card)!='trick') return false;
|
||||||
|
if(get.info(event.card).multitarget) return false;
|
||||||
|
if(event.targets.length<2) return false;
|
||||||
|
return player.hp>0;
|
||||||
|
},
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
player.chooseTarget(get.prompt('sphuangen'),
|
||||||
|
[1,Math.min(player.hp,trigger.targets.length)],function(card,player,target){
|
||||||
|
return _status.event.targets.contains(target);
|
||||||
|
}).set('ai',function(target){
|
||||||
|
return -get.effect(target,trigger.card,trigger.player,_status.event.player);
|
||||||
|
}).set('targets',trigger.targets);
|
||||||
|
"step 1"
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('sphuangen',result.targets);
|
||||||
|
trigger.excluded.addArray(result.targets);
|
||||||
|
player.draw();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
spyicong:{
|
||||||
|
trigger:{player:'phaseDiscardEnd'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.countCards('he')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseCard('he',[1,player.countCards('he')],get.prompt2('spyicong')).set('ai',function(card){
|
||||||
|
if(card.name=='du') return 10;
|
||||||
|
if(ui.selected.cards.length) return -1;
|
||||||
|
return 4-get.value(card);
|
||||||
|
});
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('spyicong');
|
||||||
|
if(!player.storage.spyicong) player.storage.spyicong=[];
|
||||||
|
player.storage.spyicong.addArray(result.cards);
|
||||||
|
player.$giveAuto(result.cards.length,player,false);
|
||||||
|
game.log(player,'扣置了'+get.cnNumber(player.lose(result.cards,'toStorage',ui.special).cards.length)+'张【扈】');
|
||||||
|
player.markSkill('spyicong');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mod:{
|
||||||
|
globalTo:function(from,to,num){
|
||||||
|
if(to.storage.spyicong&&to.storage.spyicong.length) return num+to.storage.spyicong.length;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
marktext:'扈',
|
||||||
|
intro:{
|
||||||
|
name:'义从',
|
||||||
|
content:'cardCount',
|
||||||
|
onunmark:'throw',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
sptuji:{
|
||||||
|
trigger:{player:'phaseZhunbeiBegin'},
|
||||||
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.spyicong&&player.storage.spyicong.length>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
var num=player.storage.spyicong.length;
|
||||||
|
player.addMark('sptuji2',num,false);
|
||||||
|
player.addTempSkill('sptuji2');
|
||||||
|
player.unmarkSkill('spyicong');
|
||||||
|
if(num<=1) player.draw();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
sptuji2:{
|
||||||
|
onremove:true,
|
||||||
|
charlotte:true,
|
||||||
|
mod:{
|
||||||
|
globalFrom:function(from,to,num){
|
||||||
|
return num-from.countMark('sptuji2');
|
||||||
|
},
|
||||||
|
},
|
||||||
|
marktext:'突',
|
||||||
|
intro:{
|
||||||
|
name:'突骑',
|
||||||
|
content:'至其他角色的距离-#',
|
||||||
|
},
|
||||||
|
},
|
||||||
//二袁
|
//二袁
|
||||||
neifa:{
|
neifa:{
|
||||||
audio:2,
|
audio:2,
|
||||||
|
@ -2905,12 +3312,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||||
get.translation(trigger.player.judging[0])+','+get.prompt('huanshi_three'),'he',function(card){
|
get.translation(trigger.player.judging[0])+','+get.prompt('huanshi_three'),'he',function(card){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||||
if(mod2!='unchanged') return mod2;
|
if(mod2!='unchanged') return mod2;
|
||||||
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
||||||
if(mod!='unchanged') return mod;
|
if(mod!='unchanged') return mod;
|
||||||
return true;
|
return true;
|
||||||
}).set('ai',function(card){
|
}).set('ai',function(card){
|
||||||
var trigger=_status.event.getTrigger();
|
var trigger=_status.event.getTrigger();
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
|
@ -3377,7 +3784,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
locked:false,
|
locked:false,
|
||||||
mod:{
|
mod:{
|
||||||
aiValue:function(player,card,num){
|
aiValue:function(player,card,num){
|
||||||
if((player.storage.xinshanjia||0)<3&&get.position(card)=='e') return num/1.5;
|
if((player.storage.xinshanjia||0)<3&&get.type(card)=='equip'&&!get.cardtag(card,'gifts')){
|
||||||
|
if(get.position(card)=='e') return num/player.hp;
|
||||||
|
return num*player.hp;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
|
@ -3422,7 +3832,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
lib.skill.xinshanjia.sync(player);
|
lib.skill.xinshanjia.sync(player);
|
||||||
var num=3-player.storage.xinshanjia;
|
var num=3-player.storage.xinshanjia;
|
||||||
if(num>0){
|
if(num>0){
|
||||||
player.chooseToDiscard('he',true,num);
|
player.chooseToDiscard('he',true,num).ai=get.disvalue;
|
||||||
}
|
}
|
||||||
'step 2'
|
'step 2'
|
||||||
var bool=true;
|
var bool=true;
|
||||||
|
@ -4215,14 +4625,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(_status.currentPhase!=player){
|
if(_status.currentPhase!=player){
|
||||||
var he=player.getCards('he');
|
var he=player.getCards('he');
|
||||||
var bool=false;
|
var bool=false;
|
||||||
player.getHistory('gain',function(evt){
|
player.getHistory('gain',function(evt){
|
||||||
if(!bool&&evt&&evt.cards){
|
if(!bool&&evt&&evt.cards){
|
||||||
for(var i=0;i<evt.cards.length;i++){
|
for(var i=0;i<evt.cards.length;i++){
|
||||||
if(he.contains(evt.cards[i])) bool=true;break;
|
if(he.contains(evt.cards[i])) bool=true;break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return bool;
|
return bool;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
@ -6233,9 +6643,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fuman2:{
|
fuman2:{
|
||||||
|
mod:{
|
||||||
|
aiOrder:function(player,card,num){
|
||||||
|
if(card==player.storage.fuman3&&player.storage.fuman2.isIn()) return num+get.sgn(get.attitude(player,player.storage.fuman2));
|
||||||
|
},
|
||||||
|
},
|
||||||
trigger:{player:'useCard'},
|
trigger:{player:'useCard'},
|
||||||
forced:true,
|
forced:true,
|
||||||
popup:false,
|
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.cards.contains(player.storage.fuman3)&&player.storage.fuman2.isIn();
|
return event.cards.contains(player.storage.fuman3)&&player.storage.fuman2.isIn();
|
||||||
},
|
},
|
||||||
|
@ -6249,22 +6663,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 1'
|
'step 1'
|
||||||
player.line(player.storage.fuman2,'green');
|
player.line(player.storage.fuman2,'green');
|
||||||
player.storage.fuman2.draw();
|
player.storage.fuman2.draw();
|
||||||
player.storage.fuman2.logSkill('fuman');
|
|
||||||
},
|
},
|
||||||
onremove:function(player){
|
onremove:function(player){
|
||||||
delete player.storage.fuman2;
|
delete player.storage.fuman2;
|
||||||
delete player.storage.fuman3;
|
delete player.storage.fuman3;
|
||||||
},
|
},
|
||||||
ai:{
|
|
||||||
effect:{
|
|
||||||
player:function(card,player,target,current){
|
|
||||||
if(card.name=='sha'&&card!=player.storage.fuman3&&
|
|
||||||
player.storage.fuman2.isIn()&&get.attitude(player,player.storage.fuman2)>0){
|
|
||||||
return 'zeroplayertarget';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
qizhou:{
|
qizhou:{
|
||||||
trigger:{player:['phaseBefore','equipEnd','loseEnd']},
|
trigger:{player:['phaseBefore','equipEnd','loseEnd']},
|
||||||
|
@ -6521,6 +6924,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
_status.characterlist.add('zhaoxiang');
|
_status.characterlist.add('zhaoxiang');
|
||||||
_status.characterlist.remove(result.links[0]);
|
_status.characterlist.remove(result.links[0]);
|
||||||
}
|
}
|
||||||
|
'step 2'
|
||||||
|
if(player.isMinHp()) player.recover();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fanghun:{
|
fanghun:{
|
||||||
|
@ -8581,7 +8986,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var type=get.type(card);
|
var type=get.type(card);
|
||||||
if(type=='trick'||type=='delay') return true;
|
if(type=='trick'||type=='delay') return true;
|
||||||
},
|
},
|
||||||
canBeDiscarded:function (card,player){
|
canBeDiscarded:function (card,source,player){
|
||||||
if(player.getEquip(5)) return;
|
if(player.getEquip(5)) return;
|
||||||
if(get.position(card)=='e'&&['equip2','equip5'].contains(get.subtype(card))) return false;
|
if(get.position(card)=='e'&&['equip2','equip5'].contains(get.subtype(card))) return false;
|
||||||
},
|
},
|
||||||
|
@ -10640,13 +11045,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var attitude=get.attitude(player,trigger.player);
|
var attitude=get.attitude(player,trigger.player);
|
||||||
return result*attitude;
|
return result*attitude;
|
||||||
}).set('judging',trigger.player.judging[0]).set('filterButton',function(button){
|
}).set('judging',trigger.player.judging[0]).set('filterButton',function(button){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var card=button.link;
|
var card=button.link;
|
||||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||||
if(mod2!='unchanged') return mod2;
|
if(mod2!='unchanged') return mod2;
|
||||||
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
||||||
if(mod!='unchanged') return mod;
|
if(mod!='unchanged') return mod;
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
|
@ -12196,6 +12601,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
qiangwu3:{
|
qiangwu3:{
|
||||||
mod:{
|
mod:{
|
||||||
|
aiOrder:function(player,card,num){
|
||||||
|
if(card.name=='sha'&&card.number>player.storage.qiangwu) return num+2;
|
||||||
|
},
|
||||||
targetInRange:function(card,player){
|
targetInRange:function(card,player){
|
||||||
if(_status.currentPhase==player&&card.name=='sha'&&card.number<player.storage.qiangwu) return true;
|
if(_status.currentPhase==player&&card.name=='sha'&&card.number<player.storage.qiangwu) return true;
|
||||||
},
|
},
|
||||||
|
@ -13135,7 +13543,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
game.cardsDiscard(discardcards);
|
game.cardsDiscard(discardcards);
|
||||||
}
|
}
|
||||||
for(var i=0;i<2;i++){
|
for(var i=0;i<2;i++){
|
||||||
cards.push(ui.cardPile.childNodes[i]);
|
if(ui.cardPile.childNodes.length>i) cards.push(ui.cardPile.childNodes[i]);
|
||||||
}
|
}
|
||||||
player.chooseCardButton('傲才:选择一张卡牌打出',cards).set('filterButton',function(button){
|
player.chooseCardButton('傲才:选择一张卡牌打出',cards).set('filterButton',function(button){
|
||||||
return get.type(button.link)=='basic'&&_status.event.getTrigger().filterCard(button.link);
|
return get.type(button.link)=='basic'&&_status.event.getTrigger().filterCard(button.link);
|
||||||
|
@ -13172,7 +13580,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
game.cardsDiscard(discardcards);
|
game.cardsDiscard(discardcards);
|
||||||
}
|
}
|
||||||
for(var i=0;i<2;i++){
|
for(var i=0;i<2;i++){
|
||||||
cards.push(ui.cardPile.childNodes[i]);
|
if(ui.cardPile.childNodes.length>i) cards.push(ui.cardPile.childNodes[i]);
|
||||||
}
|
}
|
||||||
event.set('aocaicards',cards);
|
event.set('aocaicards',cards);
|
||||||
}
|
}
|
||||||
|
@ -13315,13 +13723,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return get.color(card)=='black'?0:-10+result;
|
return get.color(card)=='black'?0:-10+result;
|
||||||
}
|
}
|
||||||
}).set('filterButton',function(button){
|
}).set('filterButton',function(button){
|
||||||
var player=_status.event.target;
|
var player=_status.event.target;
|
||||||
var card=button.link;
|
var card=button.link;
|
||||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||||
if(mod2!='unchanged') return mod2;
|
if(mod2!='unchanged') return mod2;
|
||||||
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
||||||
if(mod!='unchanged') return mod;
|
if(mod!='unchanged') return mod;
|
||||||
return true;
|
return true;
|
||||||
}).set('judge',judge).set('attitude',attitude);
|
}).set('judge',judge).set('attitude',attitude);
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
|
@ -15032,9 +15440,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
yongsi_info:'锁定技,摸牌阶段,你多摸X张牌。弃牌阶段开始时,你弃置X张牌。(X为场上势力数)',
|
yongsi_info:'锁定技,摸牌阶段,你多摸X张牌。弃牌阶段开始时,你弃置X张牌。(X为场上势力数)',
|
||||||
yicong_info:'锁定技,当你的体力值大于2时,你计算与其他角色的距离时-1;当你的体力值不大于2时,其他角色计算与你的距离时+1。',
|
yicong_info:'锁定技,当你的体力值大于2时,你计算与其他角色的距离时-1;当你的体力值不大于2时,其他角色计算与你的距离时+1。',
|
||||||
baobian_info:'锁定技,若你的体力值为3或更少,你视为拥有技能〖挑衅〗;若你的体力值为2或更少;你视为拥有技能〖咆哮〗;若你的体力值为1,你视为拥有技能〖神速〗。',
|
baobian_info:'锁定技,若你的体力值为3或更少,你视为拥有技能〖挑衅〗;若你的体力值为2或更少;你视为拥有技能〖咆哮〗;若你的体力值为1,你视为拥有技能〖神速〗。',
|
||||||
|
|
||||||
bingzhao:'秉诏',
|
bingzhao:'秉诏',
|
||||||
bingzhao_info:'主公技,游戏开始时,你选择一个其他势力。当你对该势力的角色发动〖骨疽〗时,其可令你额外摸一张牌。',
|
bingzhao_info:'主公技,游戏开始时,你选择一个其他势力。当你对该势力的角色发动〖骨疽〗时,其可令你额外摸一张牌。',
|
||||||
|
sp_gongsunzan:'SP公孙瓒',
|
||||||
|
sp_simazhao:'SP司马昭',
|
||||||
|
sp_wangyuanji:'SP王元姬',
|
||||||
|
sp_xinxianying:'SP辛宪英',
|
||||||
|
sp_liuxie:'SP刘协',
|
||||||
|
spyicong_info:'弃牌阶段结束时,你可以将任意张牌置于你的武将牌上,称为「扈」。每有一张「扈」,其他角色与你计算距离时便+1。',
|
||||||
|
spyicong:'义从',
|
||||||
|
sptuji:'突骑',
|
||||||
|
sptuji_info:'准备开始时,你将所有「扈」置于弃牌堆,然后你本回合内计算与其他角色的距离时-X。若X不大于1,你摸一张牌。(X为以此法进入弃牌堆的「扈」的数量)',
|
||||||
|
sphuangen:'皇恩',
|
||||||
|
sphuangen_info:'一名角色使用锦囊牌指定目标时,若此牌的目标数大于1,则你可以令此牌对其中的至多X个目标无效,然后摸一张牌。(X为你的体力值)',
|
||||||
|
sphantong:'汉统',
|
||||||
|
sphantong_gain:'汉统',
|
||||||
|
sphantong_info:'当你的牌因弃牌阶段的游戏规则要求而进入弃牌堆后,你可以将这些牌置于你的武将牌上,称为「诏」。一名角色的回合开始时,你可以弃置一张「诏」并获得〖护驾〗/〖激将〗/〖救援〗/〖血裔〗中的一个技能直至当前回合结束。',
|
||||||
|
spzhaoxin:'昭心',
|
||||||
|
spzhaoxin_info:'摸牌阶段结束时,你可以展示所有手牌,然后视为使用一张【杀】。',
|
||||||
|
splanggu:'狼顾',
|
||||||
|
splanggu_rewrite:'狼顾',
|
||||||
|
splanggu_info:'当你受到有来源的伤害后,你可以进行判定(此判定结果生效前,你可以打出一张手牌替换判定牌)。然后你可以观看伤害来源的手牌并弃置其中的任意张与判定结果花色相同的牌。',
|
||||||
|
spfuluan:'扶乱',
|
||||||
|
spfuluan_info:'出牌阶段限一次,你可以弃置三张花色相同的牌并选择攻击范围内的一名角色。若如此做,该角色翻面且你不能使用【杀】直到回合结束',
|
||||||
|
spshude:'淑德',
|
||||||
|
spshude_info:'结束阶段开始时,你可以将手牌补至体力上限。',
|
||||||
|
spmingjian:'明鉴',
|
||||||
|
spmingjian_info:'一名角色的回合开始时,你可以选择一项:①弃置一张牌,然后其跳过本回合的判定阶段。②将一张手牌置于其武将牌上,然后其本回合内进行判定时不触发「判定结果生效前」的时机,且其回合结束时将此牌置入弃牌堆。',
|
||||||
|
spyinzhi:'隐智',
|
||||||
|
spyinzhi_info:'当你受到1点伤害后,你可以展示牌堆顶的两张牌。若其中有黑桃牌,则你可以进行至多X次「令一名角色获得伤害来源的一张手牌」的步骤,然后获得其余的牌。(X为其中黑桃牌的数量)',
|
||||||
|
|
||||||
sp_default:"常规",
|
sp_default:"常规",
|
||||||
sp_whlw:"文和乱武",
|
sp_whlw:"文和乱武",
|
||||||
|
@ -15044,12 +15478,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
sp_sbfm:'上兵伐谋',
|
sp_sbfm:'上兵伐谋',
|
||||||
sp_shengun:'三国奇人传',
|
sp_shengun:'三国奇人传',
|
||||||
sp_zhongdan:"忠胆英杰",
|
sp_zhongdan:"忠胆英杰",
|
||||||
sp_star:"☆SP系列",
|
sp_star:"桌游志·SP",
|
||||||
sp_guozhan:"国战",
|
sp_guozhan:"国战",
|
||||||
sp_guozhan2:"国战移植",
|
sp_guozhan2:"国战移植",
|
||||||
sp_others:"其他",
|
sp_others:"其他",
|
||||||
sp_single:'新1v1',
|
sp_single:'新1v1',
|
||||||
sp_guansuo:'花关索传',
|
sp_guansuo:'花关索传',
|
||||||
|
sp_sticker:'桌游志·贴纸',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -211,12 +211,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||||
get.translation(trigger.player.judging[0])+','+get.prompt('guicai'),get.mode()=='guozhan'?'he':'h',function(card){
|
get.translation(trigger.player.judging[0])+','+get.prompt('guicai'),get.mode()=='guozhan'?'he':'h',function(card){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||||
if(mod2!='unchanged') return mod2;
|
if(mod2!='unchanged') return mod2;
|
||||||
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
||||||
if(mod!='unchanged') return mod;
|
if(mod!='unchanged') return mod;
|
||||||
return true;
|
return true;
|
||||||
}).set('ai',function(card){
|
}).set('ai',function(card){
|
||||||
var trigger=_status.event.getTrigger();
|
var trigger=_status.event.getTrigger();
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
|
|
|
@ -4580,7 +4580,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
usable:1,
|
usable:1,
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
if(player==target) return false;
|
if(player==target) return false;
|
||||||
return target.countCards('h')>0;
|
if(!ui.selected.targets.length) return target.countCards('h')>0;
|
||||||
|
return ui.selected.targets[0].canCompare(target);
|
||||||
},
|
},
|
||||||
selectTarget:2,
|
selectTarget:2,
|
||||||
multitarget:true,
|
multitarget:true,
|
||||||
|
@ -4596,7 +4597,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
if(targets[0].countCards('h')&&targets[1].countCards('h')){
|
if(targets[0].canCompare(targets[1])){
|
||||||
targets[0].chooseToCompare(targets[1]);
|
targets[0].chooseToCompare(targets[1]);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -4608,7 +4609,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
targets[0].$gain2(cards);
|
targets[0].$gain2(cards);
|
||||||
targets[1].damage(targets[0]);
|
targets[1].damage(targets[0]);
|
||||||
}
|
}
|
||||||
else{
|
else if(!result.tie){
|
||||||
targets[1].gain(cards,'log');
|
targets[1].gain(cards,'log');
|
||||||
targets[1].$gain2(cards);
|
targets[1].$gain2(cards);
|
||||||
targets[0].damage(targets[1]);
|
targets[0].damage(targets[1]);
|
||||||
|
@ -8750,6 +8751,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
backup:[],
|
backup:[],
|
||||||
source:player,
|
source:player,
|
||||||
});
|
});
|
||||||
|
next.forceDie=true;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
if(game.players[i]!=player&&game.players[i]!=target){
|
if(game.players[i]!=player&&game.players[i]!=target){
|
||||||
game.players[i].out('duijue');
|
game.players[i].out('duijue');
|
||||||
|
@ -9840,7 +9842,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
gtiandao:'天道',
|
gtiandao:'天道',
|
||||||
gtiandao_info:'任意一名角色的判定生效前,你可以打出一张牌替换之',
|
gtiandao_info:'任意一名角色的判定生效前,你可以打出一张牌替换之',
|
||||||
nlianji:'连计',
|
nlianji:'连计',
|
||||||
nlianji_info:'出牌阶段限一次,你可以选择一张手牌并指定两名角色进行拼点,拼点赢的角色获得此牌,并对没赢的角色造成一点伤害',
|
nlianji_info:'出牌阶段限一次,你可以选择一张手牌并指定两名角色进行拼点。若拼点结果不为平局,拼点赢的角色获得此牌,并对没赢的角色造成一点伤害。',
|
||||||
fengze:'风泽',
|
fengze:'风泽',
|
||||||
fengze_info:'出牌阶段限一次,你可以将一张黑色牌当作桃园结义使用',
|
fengze_info:'出牌阶段限一次,你可以将一张黑色牌当作桃园结义使用',
|
||||||
lingyue:'凌月',
|
lingyue:'凌月',
|
||||||
|
@ -10006,7 +10008,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
shejie_info:'每当你受到一次伤害,可以令伤害来源不能使用或打出其手牌,直到其下一回合开始',
|
shejie_info:'每当你受到一次伤害,可以令伤害来源不能使用或打出其手牌,直到其下一回合开始',
|
||||||
shejie2_info:'不能使用或打出手牌,直到下一回合开始',
|
shejie2_info:'不能使用或打出手牌,直到下一回合开始',
|
||||||
yinyue:'引月',
|
yinyue:'引月',
|
||||||
yinyue_info:'每当有一名角色回复一次体力,你可以令其摸一张牌,若你的手牌数不大于该角色,你也摸一张牌',
|
yinyue_info:'每当有一名角色回复一次体力,你可以令其摸一张牌,若该角色不是你且你的手牌数不大于该角色,你也摸一张牌。',
|
||||||
yinyue_info_alter:'每当有一名角色回复一次体力,你可以令其摸一张牌',
|
yinyue_info_alter:'每当有一名角色回复一次体力,你可以令其摸一张牌',
|
||||||
mohua2:'魔化',
|
mohua2:'魔化',
|
||||||
mohua2_info:'锁定技,当你进入濒死状态时,你立即变身为撒旦,将体力回复至2,然后摸两张牌',
|
mohua2_info:'锁定技,当你进入濒死状态时,你立即变身为撒旦,将体力回复至2,然后摸两张牌',
|
||||||
|
|
|
@ -2424,7 +2424,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var nofour=!player.hasFriend();
|
var nofour=!player.hasFriend();
|
||||||
if(player.storage.bizhuan.length==4){
|
if(player.storage.bizhuan.length==4){
|
||||||
var suits=['club','spade','heart','diamond'];
|
var suits=['club','spade','heart','diamond'];
|
||||||
var list=player.getCards('h').concat(player.storage.bizhuan);
|
var list=player.getCards('he').concat(player.storage.bizhuan);
|
||||||
for(var i=0;i<list.length;i++){
|
for(var i=0;i<list.length;i++){
|
||||||
suits.remove(get.suit(list[i]));
|
suits.remove(get.suit(list[i]));
|
||||||
if(suits.length==0){
|
if(suits.length==0){
|
||||||
|
@ -2440,7 +2440,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
suits2.remove(get.suit(player.storage.bizhuan[i]));
|
suits2.remove(get.suit(player.storage.bizhuan[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
player.chooseCard('选择任意张手牌与“书”交换',[1,Math.min(player.countCards('h'),player.storage.bizhuan.length)]).set('ai',function(card){
|
player.chooseCard('选择任意张牌与“书”交换',[1,Math.min(player.countCards('he'),player.storage.bizhuan.length)],'he').set('ai',function(card){
|
||||||
var val=get.value(card);
|
var val=get.value(card);
|
||||||
if(_status.event.four&&!_status.event.nofour){
|
if(_status.event.four&&!_status.event.nofour){
|
||||||
var suits=_status.event.suits2.slice(0);
|
var suits=_status.event.suits2.slice(0);
|
||||||
|
@ -3374,7 +3374,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.preserve) return false;
|
if(event.preserve) return false;
|
||||||
if(player==event.player){
|
if(player==event.player){
|
||||||
if(event.card1.number>event.card2.number){
|
if(event.num1>event.num2){
|
||||||
return !get.owner(event.card2);
|
return !get.owner(event.card2);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -3382,7 +3382,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(event.card1.number<event.card2.number){
|
if(event.num1<event.num1){
|
||||||
return !get.owner(event.card1);
|
return !get.owner(event.card1);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -3392,7 +3392,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
if(player==event.player){
|
if(player==event.player){
|
||||||
if(event.card1.number>event.card2.number){
|
if(event.num1>event.num2){
|
||||||
return event.card2.name!='du';
|
return event.card2.name!='du';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -3400,7 +3400,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(event.card1.number<event.card2.number){
|
if(event.num1<event.num2){
|
||||||
return event.card1.name!='du';
|
return event.card1.name!='du';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -3410,19 +3410,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
if(player==trigger.player){
|
if(player==trigger.player){
|
||||||
if(trigger.card1.number>trigger.card2.number){
|
if(trigger.num1>trigger.num2){
|
||||||
player.gain(trigger.card2,'gain2');
|
player.gain(trigger.card2,'gain2','log');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.gain(trigger.card1,'gain2');
|
player.gain(trigger.card1,'gain2','log');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(trigger.card1.number<trigger.card2.number){
|
if(trigger.num1<trigger.num2){
|
||||||
player.gain(trigger.card1,'gain2');
|
player.gain(trigger.card1,'gain2','log');
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.gain(trigger.card2,'gain2');
|
player.gain(trigger.card2,'gain2','log');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
6266
character/yxs.js
|
@ -1,5 +1,5 @@
|
||||||
window.noname_asset_list=[
|
window.noname_asset_list=[
|
||||||
'1.9.98.3.2',
|
'1.9.98.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',
|
||||||
|
@ -2845,6 +2845,13 @@ window.noname_asset_list=[
|
||||||
'image/character/re_xusheng.jpg',
|
'image/character/re_xusheng.jpg',
|
||||||
'image/character/zhangyì.jpg',
|
'image/character/zhangyì.jpg',
|
||||||
'image/character/xin_xiahoudun.jpg',
|
'image/character/xin_xiahoudun.jpg',
|
||||||
|
'image/character/key_yusa.jpg',
|
||||||
|
'image/character/sp_gongsunzan.jpg',
|
||||||
|
'image/character/sp_liuxie.jpg',
|
||||||
|
'image/character/sp_simazhao.jpg',
|
||||||
|
'image/character/sp_wangyuanji.jpg',
|
||||||
|
'image/character/sp_xinxianying.jpg',
|
||||||
|
'image/character/key_misa.jpg',
|
||||||
|
|
||||||
'image/character/baiwuchang.jpg',
|
'image/character/baiwuchang.jpg',
|
||||||
'image/character/baosanniang.jpg',
|
'image/character/baosanniang.jpg',
|
||||||
|
|
90
game/game.js
|
@ -9806,7 +9806,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else event.targets2=[];
|
else event.targets2=[];
|
||||||
if(!event.forced){
|
if(event.forced){
|
||||||
|
event._result={bool:true};
|
||||||
|
}
|
||||||
|
else{
|
||||||
var next=player.chooseBool();
|
var next=player.chooseBool();
|
||||||
next.set('prompt',event.prompt||('是否'+(event.targets2.length?'对':'')+get.translation(event.targets2)+'使用'+get.translation(card)+'?'));
|
next.set('prompt',event.prompt||('是否'+(event.targets2.length?'对':'')+get.translation(event.targets2)+'使用'+get.translation(card)+'?'));
|
||||||
if(event.prompt2) next.set('prompt2',event.prompt2);
|
if(event.prompt2) next.set('prompt2',event.prompt2);
|
||||||
|
@ -9818,7 +9821,6 @@
|
||||||
return eff>0;
|
return eff>0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else event._result={bool:true};
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
var next=player.chooseTarget();
|
var next=player.chooseTarget();
|
||||||
|
@ -13338,16 +13340,22 @@
|
||||||
next.set('ai',function(target){
|
next.set('ai',function(target){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var att=get.attitude(player,target);
|
var att=get.attitude(player,target);
|
||||||
|
var sgnatt=get.sgn(att);
|
||||||
if(ui.selected.targets.length==0){
|
if(ui.selected.targets.length==0){
|
||||||
if(att>0){
|
if(att>0){
|
||||||
if(!_status.event.nojudge&&target.countCards('j')) return 10;
|
if(!_status.event.nojudge&&target.countCards('j')) return 10;
|
||||||
|
if(target.countCards('e',function(card){
|
||||||
|
return get.value(card)<0&&game.hasPlayer(function(current){
|
||||||
|
return get.attitude(player,current)<0&¤t.isEmpty(get.subtype(card))
|
||||||
|
});
|
||||||
|
})>0) return 9;
|
||||||
}
|
}
|
||||||
else if(att<0){
|
else if(att<0){
|
||||||
if(game.hasPlayer(function(current){
|
if(game.hasPlayer(function(current){
|
||||||
if(get.attitude(player,current)>0){
|
if(get.attitude(player,current)>0){
|
||||||
var es=target.getCards('e');
|
var es=target.getCards('e');
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(current.isEmpty(get.subtype(es[i]))) return true;
|
if(get.value(es[i])>0&¤t.isEmpty(get.subtype(es[i]))) return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})){
|
})){
|
||||||
|
@ -13356,18 +13364,17 @@
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(att>0){
|
var es=ui.selected.targets[0].getCards('e');
|
||||||
var es=ui.selected.targets[0].getCards('e');
|
var i;
|
||||||
var i;
|
var att2=get.attitude(player,ui.selected.targets[0]);
|
||||||
for(i=0;i<es.length;i++){
|
for(i=0;i<es.length;i++){
|
||||||
if(target.isEmpty(get.subtype(es[i]))){
|
if(sgnatt!=0&&att2!=0&get.sgn(get.value(es[i]))==sgnatt*att&&target.isEmpty(get.subtype(es[i]))){
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
|
||||||
if(i==es.length){
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(i==es.length){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
return -att*get.attitude(player,ui.selected.targets[0]);
|
return -att*get.attitude(player,ui.selected.targets[0]);
|
||||||
});
|
});
|
||||||
next.set('multitarget',true);
|
next.set('multitarget',true);
|
||||||
|
@ -13392,7 +13399,7 @@
|
||||||
var targets0=_status.event.targets0;
|
var targets0=_status.event.targets0;
|
||||||
var targets1=_status.event.targets1;
|
var targets1=_status.event.targets1;
|
||||||
if(get.attitude(player,targets0)>get.attitude(player,targets1)){
|
if(get.attitude(player,targets0)>get.attitude(player,targets1)){
|
||||||
return get.position(button.link)=='j'?10:0;
|
return (get.position(button.link)=='j'||get.value(button.link)<0)?10:0;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(get.position(button.link)=='j') return -10;
|
if(get.position(button.link)=='j') return -10;
|
||||||
|
@ -15230,7 +15237,7 @@
|
||||||
|
|
||||||
game.log(player,'进行'+event.judgestr+'判定,亮出的判定牌为',player.judging[0]);
|
game.log(player,'进行'+event.judgestr+'判定,亮出的判定牌为',player.judging[0]);
|
||||||
game.delay(2);
|
game.delay(2);
|
||||||
event.trigger('judge');
|
if(!event.noJudgeTrigger) event.trigger('judge');
|
||||||
"step 1"
|
"step 1"
|
||||||
event.result={
|
event.result={
|
||||||
card:player.judging[0],
|
card:player.judging[0],
|
||||||
|
@ -17916,14 +17923,15 @@
|
||||||
canMoveCard:function(withatt){
|
canMoveCard:function(withatt){
|
||||||
var player=this;
|
var player=this;
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
var att=get.attitude(player,current);
|
var att=get.sgn(get.attitude(player,current));
|
||||||
if(!withatt||att<=0){
|
if(!withatt||att!=0){
|
||||||
var es=current.getCards('e');
|
var es=current.getCards('e');
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(game.hasPlayer(function(current2){
|
if(game.hasPlayer(function(current2){
|
||||||
if(withatt){
|
if(withatt){
|
||||||
var att2=get.attitude(player,current2);
|
if(get.sgn(get.value(es[i]))!=-att) return false;
|
||||||
if(att2<=0) return false;
|
var att2=get.sgn(get.attitude(player,current2));
|
||||||
|
if(att2!=-att) return false;
|
||||||
}
|
}
|
||||||
return current!=current2&&!current2.isMin()&¤t2.isEmpty(get.subtype(es[i]));
|
return current!=current2&&!current2.isMin()&¤t2.isEmpty(get.subtype(es[i]));
|
||||||
})){
|
})){
|
||||||
|
@ -20207,7 +20215,9 @@
|
||||||
var range=0;
|
var range=0;
|
||||||
if(raw) range=game.checkMod(player,player,range,'globalFrom',player);
|
if(raw) range=game.checkMod(player,player,range,'globalFrom',player);
|
||||||
range=game.checkMod(player,player,range,'attackFrom',player);
|
range=game.checkMod(player,player,range,'attackFrom',player);
|
||||||
var equips=player.getCards('e');
|
var equips=player.getCards('e',function(card){
|
||||||
|
return !ui.selected.cards||!ui.selected.cards.contains(card);
|
||||||
|
});
|
||||||
for(var i=0;i<equips.length;i++){
|
for(var i=0;i<equips.length;i++){
|
||||||
var info=get.info(equips[i]).distance;
|
var info=get.info(equips[i]).distance;
|
||||||
if(!info) continue;
|
if(!info) continue;
|
||||||
|
@ -20224,7 +20234,9 @@
|
||||||
var player=this;
|
var player=this;
|
||||||
var range=0;
|
var range=0;
|
||||||
range=game.checkMod(player,player,range,'globalFrom',player);
|
range=game.checkMod(player,player,range,'globalFrom',player);
|
||||||
var equips=player.getCards('e');
|
var equips=player.getCards('e',function(card){
|
||||||
|
return !ui.selected.cards||!ui.selected.cards.contains(card);
|
||||||
|
});
|
||||||
for(var i=0;i<equips.length;i++){
|
for(var i=0;i<equips.length;i++){
|
||||||
var info=get.info(equips[i]).distance;
|
var info=get.info(equips[i]).distance;
|
||||||
if(!info) continue;
|
if(!info) continue;
|
||||||
|
@ -20238,7 +20250,9 @@
|
||||||
var player=this;
|
var player=this;
|
||||||
var range=0;
|
var range=0;
|
||||||
range=game.checkMod(player,player,range,'globalTo',player);
|
range=game.checkMod(player,player,range,'globalTo',player);
|
||||||
var equips=player.getCards('e');
|
var equips=player.getCards('e',function(card){
|
||||||
|
return !ui.selected.cards||!ui.selected.cards.contains(card);
|
||||||
|
});
|
||||||
for(var i=0;i<equips.length;i++){
|
for(var i=0;i<equips.length;i++){
|
||||||
var info=get.info(equips[i]).distance;
|
var info=get.info(equips[i]).distance;
|
||||||
if(!info) continue;
|
if(!info) continue;
|
||||||
|
@ -27127,6 +27141,13 @@
|
||||||
game.loop();
|
game.loop();
|
||||||
},
|
},
|
||||||
videoContent:{
|
videoContent:{
|
||||||
|
arrangeLib:function(content){
|
||||||
|
for(var i in content){
|
||||||
|
for(var j in content[i]){
|
||||||
|
lib[i][j]=content[i][j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
jiuNode:function(player,bool){
|
jiuNode:function(player,bool){
|
||||||
//Powered by 升麻
|
//Powered by 升麻
|
||||||
if(bool){
|
if(bool){
|
||||||
|
@ -49050,7 +49071,30 @@
|
||||||
uiintro.add('<div style="opacity:0.5"><div class="skill">【'+translation+'】</div><div>'+get.skillInfoTranslation(skills[i])+'</div></div>');
|
uiintro.add('<div style="opacity:0.5"><div class="skill">【'+translation+'】</div><div>'+get.skillInfoTranslation(skills[i])+'</div></div>');
|
||||||
}
|
}
|
||||||
else if(lib.skill[skills[i]].temp||!node.skills.contains(skills[i])||lib.skill[skills[i]].thundertext){
|
else if(lib.skill[skills[i]].temp||!node.skills.contains(skills[i])||lib.skill[skills[i]].thundertext){
|
||||||
uiintro.add('<div><div class="skill thundertext thunderauto">【'+translation+'】</div><div class="thundertext thunderauto">'+get.skillInfoTranslation(skills[i])+'</div></div>');
|
if(lib.skill[skills[i]].frequent||lib.skill[skills[i]].subfrequent){
|
||||||
|
uiintro.add('<div><div class="skill thundertext thunderauto">【'+translation+'】</div><div class="thundertext thunderauto">'+get.skillInfoTranslation(skills[i])+'<br><div class="underlinenode on gray" style="position:relative;padding-left:0;padding-top:7px">自动发动</div></div></div>');
|
||||||
|
var underlinenode=uiintro.content.lastChild.querySelector('.underlinenode');
|
||||||
|
if(lib.skill[skills[i]].frequent){
|
||||||
|
if(lib.config.autoskilllist.contains(skills[i])){
|
||||||
|
underlinenode.classList.remove('on');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(lib.skill[skills[i]].subfrequent){
|
||||||
|
for(var j=0;j<lib.skill[skills[i]].subfrequent.length;j++){
|
||||||
|
if(lib.config.autoskilllist.contains(skills[i]+'_'+lib.skill[skills[i]].subfrequent[j])){
|
||||||
|
underlinenode.classList.remove('on');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(lib.config.autoskilllist.contains(skills[i])){
|
||||||
|
underlinenode.classList.remove('on');
|
||||||
|
}
|
||||||
|
underlinenode.link=skills[i];
|
||||||
|
underlinenode.listen(ui.click.autoskill2);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
uiintro.add('<div><div class="skill thundertext thunderauto">【'+translation+'】</div><div class="thundertext thunderauto">'+get.skillInfoTranslation(skills[i])+'</div></div>');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(lib.skill[skills[i]].frequent||lib.skill[skills[i]].subfrequent){
|
else if(lib.skill[skills[i]].frequent||lib.skill[skills[i]].subfrequent){
|
||||||
uiintro.add('<div><div class="skill">【'+translation+'】</div><div>'+get.skillInfoTranslation(skills[i])+'<br><div class="underlinenode on gray" style="position:relative;padding-left:0;padding-top:7px">自动发动</div></div></div>');
|
uiintro.add('<div><div class="skill">【'+translation+'】</div><div>'+get.skillInfoTranslation(skills[i])+'<br><div class="underlinenode on gray" style="position:relative;padding-left:0;padding-top:7px">自动发动</div></div></div>');
|
||||||
|
|
|
@ -1,41 +1,42 @@
|
||||||
window.noname_update={
|
window.noname_update={
|
||||||
version:'1.9.98.3.2',
|
version:'1.9.98.4',
|
||||||
update:'1.9.98.3.1',
|
update:'1.9.98.3.2',
|
||||||
changeLog:[
|
changeLog:[
|
||||||
|
'SP贴纸',
|
||||||
'bug修复',
|
'bug修复',
|
||||||
],
|
],
|
||||||
files:[
|
files:[
|
||||||
//'card/extra.js',
|
//'card/extra.js',
|
||||||
//'card/huanlekapai.js',
|
//'card/huanlekapai.js',
|
||||||
//'card/sp.js',
|
//'card/sp.js',
|
||||||
//'card/standard.js',
|
'card/standard.js',
|
||||||
//'card/swd.js',
|
//'card/swd.js',
|
||||||
//'card/mtg.js',
|
//'card/mtg.js',
|
||||||
//'card/guozhan.js',
|
//'card/guozhan.js',
|
||||||
//'card/gwent.js',
|
//'card/gwent.js',
|
||||||
//'card/zhenfa.js',
|
//'card/zhenfa.js',
|
||||||
//'card/zhulu.js',
|
//'card/zhulu.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/hearth.js',
|
//'character/hearth.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',
|
||||||
//'layout/nova/layout.css',
|
//'layout/nova/layout.css',
|
||||||
//'mode/identity.js',
|
//'mode/identity.js',
|
||||||
//'mode/doudizhu.js',
|
//'mode/doudizhu.js',
|
||||||
|
@ -44,7 +45,7 @@ window.noname_update={
|
||||||
//'mode/tafang.js',
|
//'mode/tafang.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',
|
||||||
|
|
After Width: | Height: | Size: 265 KiB |
After Width: | Height: | Size: 299 KiB |
After Width: | Height: | Size: 204 KiB |
After Width: | Height: | Size: 202 KiB |
After Width: | Height: | Size: 165 KiB |
After Width: | Height: | Size: 184 KiB |
After Width: | Height: | Size: 173 KiB |
|
@ -1057,18 +1057,50 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
ui.arena.classList.remove('choose-character');
|
ui.arena.classList.remove('choose-character');
|
||||||
},500);
|
},500);
|
||||||
|
_status.videoInited=true;
|
||||||
|
game.addVideo('arrangeLib',null,{
|
||||||
|
card:{
|
||||||
|
hhzz_toulianghuanzhu:{
|
||||||
|
cardimage:"toulianghuanzhu",
|
||||||
|
},
|
||||||
|
hhzz_fudichouxin:{
|
||||||
|
cardimage:"fudichouxin",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
character:{
|
||||||
|
hhzz_shiona:['female','key',1,['hhzz_huilei']],
|
||||||
|
hhzz_kanade:['female','key',2,['hhzz_youlian']],
|
||||||
|
hhzz_takaramono1:['male','qun',5,['hhzz_jubao','hhzz_huizhen']],
|
||||||
|
hhzz_takaramono2:['male','qun',3,['hhzz_jubao','hhzz_zhencang']],
|
||||||
|
},
|
||||||
|
translate:{
|
||||||
|
nei:' ',
|
||||||
|
nei2:' ',
|
||||||
|
hhzz_shiona:'汐奈',
|
||||||
|
hhzz_kanade:'立华奏',
|
||||||
|
hhzz_takaramono1:'坚实宝箱',
|
||||||
|
hhzz_takaramono2:'普通宝箱',
|
||||||
|
hhzz_toulianghuanzhu:'偷梁换柱',
|
||||||
|
hhzz_fudichouxin:'釜底抽薪',
|
||||||
|
hhzz_toulianghuanzhu_info:'出牌阶段,对一名角色使用,随机更换其一个技能。可重铸。',
|
||||||
|
hhzz_fudichouxin_info:'出牌阶段,对一名角色使用,随机弃置其一个技能。',
|
||||||
|
},
|
||||||
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
for(var i in pack.pack){
|
var func=function(pack){
|
||||||
for(var j in pack.pack[i]) lib[i][j]=pack.pack[i][j];
|
for(var i in pack.pack){
|
||||||
|
for(var j in pack.pack[i]) lib[i][j]=pack.pack[i][j];
|
||||||
|
}
|
||||||
|
for(var i in pack.eltc) lib.element.content[i]=pack.eltc[i];
|
||||||
|
for(var i in pack.eltp) lib.element.player[i]=pack.eltp[i];
|
||||||
|
for(var i in pack.game) game[i]=pack.game[i];
|
||||||
|
for(var i in pack.get) get[i]=pack.get[i];
|
||||||
|
lib.huanhuazhizhan=pack;
|
||||||
}
|
}
|
||||||
for(var i in pack.eltc) lib.element.content[i]=pack.eltc[i];
|
func(pack);
|
||||||
for(var i in pack.eltp) lib.element.player[i]=pack.eltp[i];
|
|
||||||
for(var i in pack.game) game[i]=pack.game[i];
|
|
||||||
for(var i in pack.get) get[i]=pack.get[i];
|
|
||||||
lib.huanhuazhizhan=pack;
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -18,7 +18,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
for(var i in lib.character){
|
for(var i in lib.character){
|
||||||
if(lib.character[i][1]=='shen'){
|
if(lib.character[i][1]=='shen'){
|
||||||
if(lib.character[i][4]&&lib.group.contains(lib.character[i][4][0])){
|
if(lib.character[i][4]&&(lib.group.contains(lib.character[i][4][0])||lib.character[i][4][0]=='key')){
|
||||||
lib.character[i][1]=lib.character[i][4][0];
|
lib.character[i][1]=lib.character[i][4][0];
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
|