From 24ceae1ff5c47ed6ca526191ae88f46639e3acfb Mon Sep 17 00:00:00 2001 From: Spmario233 Date: Fri, 29 Nov 2019 13:29:51 +0800 Subject: [PATCH] v1.9.95.8 --- character/extra.js | 83 +++++++++++++++++++++++------------- character/shenhua.js | 21 +++++---- character/sp.js | 44 ++++++++++++------- character/xinghuoliaoyuan.js | 16 ++++--- character/yijiang.js | 55 +++++++++++++++++------- 5 files changed, 139 insertions(+), 80 deletions(-) diff --git a/character/extra.js b/character/extra.js index ef5cfb20f..d7718a379 100755 --- a/character/extra.js +++ b/character/extra.js @@ -1155,7 +1155,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, content:function(){ "step 0" - player.chooseCard('选择任意张手牌与“星”交换',[1,Math.min(player.countCards('h'),player.storage.qixing.length)]).ai=function(card){ + player.chooseCard('选择任意张手牌与“星”交换',[1,Math.min(player.countCards('h'),player.storage.qixing.length)]).set('promptx',[player.storage.qixing]).ai=function(card){ var val=get.value(card); if(val<0) return 10; if(player.skipList.contains('phaseUse')){ @@ -1721,33 +1721,56 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ "step 0" trigger.cancel(); - "step 1" event.cards=get.cards(5); - if(event.isMine()==false){ - event.dialog=ui.create.dialog('涉猎',event.cards); - game.delay(2); - } - "step 2" - if(event.dialog) event.dialog.close(); - var dialog=ui.create.dialog('涉猎',event.cards); - player.chooseButton([0,5],dialog,true).set('ai',function(button){ - return get.value(button.link); - }).filterButton=function(button){ + event.videoId=lib.status.videoId++; + game.broadcastAll(function(player,id,cards){ + var str; + if(player==game.me&&!_status.auto){ + str='涉猎:获取花色各不相同的牌'; + } + else{ + str='涉猎'; + } + var dialog=ui.create.dialog(str,cards); + dialog.videoId=id; + },player,event.videoId,event.cards); + event.time=get.utc(); + game.addVideo('showCards',player,['涉猎',get.cardsInfo(event.cards)]); + game.addVideo('delay',null,2); + "step 1" + var next=player.chooseButton([0,5],true); + next.set('dialog',event.videoId); + next.set('filterButton',function(button){ for(var i=0;i0){ + game.delay(0,time); } "step 3" - var cards2=[]; - for(var i=0;i0) @@ -2577,13 +2600,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dawu2:'大雾', dawu3:'大雾', // dawu2_info:'已获得大雾标记', - dawu_info:'结束阶段,你可以弃掉X枚“星”指定X名角色:直到你的下回合开始,防止他们受到的除雷电伤害外的一切伤害。', + dawu_info:'结束阶段,你可以弃置X枚“星”并指定X名角色:直到你的下回合开始,防止这些角色受到的除雷电伤害外的伤害。', kuangfeng:'狂风', kuangfeng2:'狂风', kuangfeng2_bg:'风', // kuangfeng2_info:'已获得狂风标记', kuangfeng3:'狂风', - kuangfeng_info:'结束阶段,你可以弃掉1枚“星”指定一名角色:直到你的下回合开始,该角色每次受到的火焰伤害+1。', + kuangfeng_info:'结束阶段,你可以弃置1枚“星”并指定一名角色:直到你的下回合开始,该角色每次受到的火焰伤害+1。', baonu:'狂暴', baonu_bg:'暴', baonu_info:'锁定技,游戏开始时,你获得两枚“暴怒”标记,;锁定技,每当你造成/受到1点伤害后,你获得1枚“暴怒”标记。', @@ -2594,13 +2617,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ wumou:'无谋', wumou_info:'锁定技,每当你使用非延时类锦囊牌选择目标后,你选择一项:1.弃1枚“暴怒”标记;2.失去1点体力。', ol_wuqian:'无前', - ol_wuqian_info:'出牌阶段,你可以弃2枚“暴怒”标记并选择一名其他角色,你视为拥有技能“无双”并令其防具无效,直到回合结束。', + ol_wuqian_info:'出牌阶段,你可以弃2枚“暴怒”标记并选择一名其他角色,你视为拥有技能〖无双〗并令其防具无效直到回合结束。', ol_shenfen:'神愤', - ol_shenfen_info:'出牌阶段,你可以弃6枚“暴怒”标记并选择所有其他角色,然后这些角色先各弃置其装备区里的牌,再各弃置四张手牌,然后受到来自你的1点伤害。最后你将你的武将牌翻面。每阶段限一次。', + ol_shenfen_info:'出牌阶段限一次,你可以弃6枚“暴怒”标记并选择所有其他角色,对其各造成1点伤害。然后这些角色先各弃置其装备区里的牌,再各弃置四张手牌。最后你将你的武将牌翻面。', "new_wuhun":"武魂", "new_wuhun_info":"锁定技,当你受到伤害后,伤害来源获得X个“梦魇”标记(X为伤害点数)。锁定技,当你死亡时,你选择一名“梦魇”标记数量最多的其他角色。你的死亡流程结算完成后,该角色进行一次判定:若判定结果不为【桃】或【桃园结义】,则该角色立刻死亡。", "new_guixin":"归心", - "new_guixin_info":"当你受到1点伤害后,你可以随机获得每名其他角色区域里的一张牌,然后你翻面", + "new_guixin_info":"当你受到1点伤害后,你可以随机获得每名其他角色区域里的一张牌,然后你翻面。", }, }; }); diff --git a/character/shenhua.js b/character/shenhua.js index 5caaff64d..c19e2c9b4 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -200,7 +200,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(num>player.countCards('h')) num=player.countCards('h'); player.chooseCard('h',[1,num],'请选择需要替换“荣”的手牌').set('ai',function(card){ return 5-get.value(card); - }); + }).set('promptx',[player.storage.drlt_zhengrong]); 'step 1' if(result.bool){ event.cards=result.cards; @@ -1486,6 +1486,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 1' if(result.bool){ player.storage.nzry_chenglve1=result.cards; + player.syncStorage('nzry_chenglve1'); player.addTempSkill('nzry_chenglve1',{player:'phaseAfter'}); }; }, @@ -1542,21 +1543,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, prompt2:"当你使用牌指定目标时,若此牌与你本回合使用的牌类型均不同(包括装备牌),则你可以将此牌置于牌堆顶,然后摸一张牌", trigger:{ - player:['useCard','useCardAfter','respond'], + player:['useCardAfter','respondAfter'], + target:'useCardToTargeted', }, filter:function (event,player,name){ - if(name=='useCard'&&!['equip','delay'].contains(get.type(event.card))) return false; + if(name=='useCardToTargeted'&&(event.player!=player||get.type(event.card)!='equip')) return false; if(name=='useCardAfter'&&['equip','delay'].contains(get.type(event.card))) return false; - return ((event.name=='respond'&&event.card.name=='shan'&&event.parent.parent.name=='sha')||event.name=='useCard')&&event.cards.length>0&&player.storage.nzry_shicai!=undefined&&!player.storage.nzry_shicai.contains(get.type(event.card,'trick')); + return ((event.name=='respond'&&event.card.name=='shan'&&event.parent.parent.name=='sha')||event.name=='useCardToTargeted'||event.name=='useCard')&&event.cards.length>0&&player.storage.nzry_shicai!=undefined&&!player.storage.nzry_shicai.contains(get.type(event.card,'trick')); }, check:function (event,player){ if(get.type(event.card)=='equip'){ return get.equipResult(player,player,event.card.name)<=0; } - return event.card.name!='lebu'&&event.card.name!='bingliang'; + return true; }, content:function(){ - "step 0" player.storage.nzry_shicai.push(get.type(trigger.card,'trick')); for(var i=0;i0&&event.source&&event.source!=player&&player.storage.nzry_shenshi==true; diff --git a/character/sp.js b/character/sp.js index 7e4b5663a..eb62f64a9 100755 --- a/character/sp.js +++ b/character/sp.js @@ -2051,7 +2051,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return _status.currentPhase!=player; }, content:function(){ - player.storage.diancai+=trigger.cards.length; + for(var i=0;i1) return false; + //if(event.targets.length>1) return false; var hs=player.getCards('h'); var names=['sha','shan','tao','jiu','du']; for(var i=0;i0) return 'cancel2'; + if(!source.storage.jilei2||!source.storage.jilei2.contains('basic')) return 'basic'; if(_status.currentPhase!=source) return 'trick'; if(lib.filter.cardUsable({name:'sha'},source)&&source.countCards('h')>=2) return 'basic'; return 'trick'; @@ -9659,8 +9667,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(result.control!='cancel2'){ player.logSkill('jilei',trigger.source); player.popup(get.translation(result.control)+'牌'); - trigger.source.storage.jilei2=result.control; - trigger.source.addTempSkill('jilei2'); + trigger.source.addTempSkill('jilei2',{player:'phaseBegin'}); + trigger.source.storage.jilei2.add(result.control); + trigger.source.updateMarks('jilei2'); } }, ai:{ @@ -9675,33 +9684,36 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return '不能使用、打出或弃置'+get.translation(storage)+'牌'; } }, + init:function(player,skill){ + if(!player.storage[skill]) player.storage[skill]=[]; + }, mark:true, onremove:true, mod:{ cardDiscardable:function(card,player){ - if(player.storage.jilei2==get.type(card,'trick')) return false; + if(player.storage.jilei2.contains(get.type(card,'trick'))) return false; }, cardEnabled:function(card,player){ - if(player.storage.jilei2==get.type(card,'trick')) return false; + if(player.storage.jilei2.contains(get.type(card,'trick'))) return false; }, cardUsable:function(card,player){ - if(player.storage.jilei2==get.type(card,'trick')) return false; + if(player.storage.jilei2.contains(get.type(card,'trick'))) return false; }, cardRespondable:function(card,player){ - if(player.storage.jilei2==get.type(card,'trick')) return false; + if(player.storage.jilei2.contains(get.type(card,'trick'))) return false; }, cardSavable:function(card,player){ - if(player.storage.jilei2==get.type(card,'trick')) return false; + if(player.storage.jilei2.contains(get.type(card,'trick'))) return false; }, }, }, danlao:{ audio:2, filter:function(event,player){ - return event.player!=player&&get.type(event.card)=='trick'&&event.targets&&event.targets.length>1; + return (event.card.name=='sha'||get.type(event.card)=='trick')&&event.targets&&event.targets.length>1; }, check:function(event,player){ - return get.tag(event.card,'multineg')||get.effect(player,event.card,event.player,player)<=0; + return event.getParent().excluded.contains(player)||get.tag(event.card,'multineg')||get.effect(player,event.card,event.player,player)<=0; }, trigger:{target:'useCardToTargeted'}, content:function(){ @@ -13026,9 +13038,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ duanbing:'短兵', duanbing_info:'你使用【杀】可以多选择一名距离为1的角色为目标', fanghun:'芳魂', - fanghun_info:'当你使用【杀】造成伤害后,你获得1个“梅影”标记;你可以移去1个“梅影”标记来发动“龙胆”并摸一张牌', + fanghun_info:'当你使用【杀】造成伤害或受到【杀】的伤害后,你获得1个“梅影”标记;你可以移去1个“梅影”标记来发动“龙胆”并摸一张牌。', fuhan:'扶汉', - fuhan_info:'限定技,回合开始时,你可以移去所有“梅影”标记,随机观看五名未登场的蜀势力角色,将武将牌替换为其中一名角色,并将体力上限数调整为本局游戏中移去“梅影”标记的数量(至多为游戏开始时的角色数),然后若你是体力值最低的角色,你回复1点体力', + fuhan_info:'限定技,回合开始时,你可以移去所有“梅影”标记并摸等量的牌,随机观看五名未登场的蜀势力角色,将武将牌替换为其中一名角色,并将体力上限数调整为本局游戏中移去“梅影”标记的数量(至多为游戏开始时的角色数),然后若你是体力值最低的角色,你回复1点体力', yjixi:'觊玺', yjixi_info:'觉醒技,结束阶段,若你连续三回合没有失去过体力,则你增加1点体力上限并回复1点体力,然后选择一项:获得技能“妄尊”或摸两张牌并获得当前主公的主公技', xinyongsi:'庸肆', @@ -13302,9 +13314,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ fenyin_info:'你的回合内,当你使用牌时,若此牌与你于此回合内使用的上一张牌颜色不同,则你可以摸一张牌。', fuji_info:'当一名角色造成雷电伤害时,你可以令其进行一次判定,若结果为黑色,此伤害+1;若结果为红色,该角色获得此牌。', fulu_info:'你可以将【杀】当雷【杀】使用。', - jilei_info:'每当你受到有来源的伤害时,你可以选择一种牌的类别,令伤害来源不能使用、打出或弃置其此类别的手牌,直到回合结束', + jilei_info:'当你受到有来源的伤害后,你可以声明一种牌的类别。若如此做,你令伤害来源不能使用、打出或弃置其此类别的手牌,直到其下个。回合开始。', danlao:'啖酪', - danlao_info:'当你成为一张指定了多个目标的锦囊牌的目标时,你可以取消之,并摸一张牌。', + danlao_info:'当你成为一张指定了多个目标的【杀】或普通锦囊牌的目标时,你可以摸一张牌并令此牌对你无效。', gongao:'功獒', zhuiji:'追击', chouhai:'仇海', diff --git a/character/xinghuoliaoyuan.js b/character/xinghuoliaoyuan.js index ca490789d..a29f40ce4 100755 --- a/character/xinghuoliaoyuan.js +++ b/character/xinghuoliaoyuan.js @@ -810,7 +810,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function (){ "step 0" event.cards=get.cards(4); - player.chooseCardButton(true.event.cards,2,'选择两张牌置于牌堆顶').set('ai',ai.get.buttonValue); + player.chooseCardButton(true,event.cards,2,'选择两张牌置于牌堆顶').set('ai',ai.get.buttonValue); "step 1" if(result.bool){ var choice=[]; @@ -2297,13 +2297,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ delete player.storage.xinfu_yanyu2; }, trigger:{ - global:["loseEnd","cardsDiscardEnd"], + global:["loseEnd","cardsDiscardEnd","useCardAfter","respondAfter"], }, direct:true, filter:function (event,player){ if(player.storage.xinfu_yanyu2>=3) return false; var evt=event.getParent(); - if(evt&&evt.name=='useCard'&&evt.card&&['equip','delay'].contains(get.type(evt.card))) return false; + if(evt&&evt.name=='useCard') return false; var type=player.storage.xinfu_yanyu; var cards=event.cards; for(var i=0;i