diff --git a/character/mobile.js b/character/mobile.js index 2b0c26921..ff563f484 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -11218,17 +11218,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{target:'useCardToTarget'}, direct:true, filter:function(event,player){ - return event.card.name=='sha'; + return event.card.name=='sha'&&game.hasPlayer(function(current){ + return current!=player&&!event.targets.contains(current)&&lib.filter.targetEnabled(event.card,event.player,current); + }); }, content:function(){ "step 0" player.chooseTarget(get.prompt2('xinqiuyuan'),function(card,player,target){ - return target!=player&&!_status.event.targets.contains(target)&&_status.event.playerx.canUse('sha',target,false); + var evt=_status.event.getTrigger(); + return target!=player&&!evt.targets.contains(target)&&lib.filter.targetEnabled(evt.card,evt.player,target); }).set('ai',function(target){ var trigger=_status.event.getTrigger(); var player=_status.event.player; return get.effect(target,trigger.card,trigger.player,player)+0.1; - }).set('targets',trigger.targets).set('playerx',trigger.player); + }); "step 1" if(result.bool){ var target=result.targets[0]; @@ -17943,6 +17946,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "shuijing_card_info":"将一名角色装备区内的防具牌移动到另一名角色对应区域。若场上有存活的司马徽,则改为将1名角色装备区内的1件装备移动到另1角色对应区域。","xinfu_pingcai":"评才", "xinfu_pingcai_info":"出牌阶段限一次,你可以挑选一个宝物并擦拭掉其上面的灰尘。然后,你可以根据宝物类型执行对应的效果。", "xinfu_pdgyingshi":"隐世", + "xinfu_pdgyingshi2":"隐世", "xinfu_pdgyingshi_info":"锁定技,你始终跳过准备阶段,判定阶段,结束阶段。你不能被选择为延时锦囊牌的目标。", "pcaudio_wolong_card":"卧龙", "pcaudio_wolong_card_info":"", diff --git a/character/offline.js b/character/offline.js index e9f04434b..6da4eb4b7 100644 --- a/character/offline.js +++ b/character/offline.js @@ -8483,7 +8483,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sbyingmen:'盈门', sbyingmen_info:'锁定技。①游戏开始时,你将武将牌堆中随机四张武将牌置于你的武将牌上,称为“访客”。②回合开始时,若你的“访客”数小于4,你随机从武将牌堆中将“访客”补至四张。', sbpingjian:'评鉴', - sbpingjian_info:'你可以于满足你“访客”上的一个无技能标签或仅有锁定技标签的技能条件的时机发动此技能,然后你选择移去一张“访客”。若移去的是本次发动技能的“访客”,你摸一张牌。', + sbpingjian_info:'你可以于满足你“访客”上的一个无技能标签或仅有锁定技标签的技能条件的时机发动此技能。你发动的技能结算结束后,若此技能位于你的“访客”中,则你选择移去一张“访客”。若移去的是本次发动技能的“访客”,你摸一张牌。', offline_star:'桌游志·SP', offline_sticker:'桌游志·贴纸', diff --git a/character/refresh.js b/character/refresh.js index 7865cfd7c..becea47f5 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -6003,17 +6003,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{target:'useCardToTarget'}, direct:true, filter:function(event,player){ - return event.card.name=='sha'; + return event.card.name=='sha'&&game.hasPlayer(function(current){ + return current!=player&&!event.targets.contains(current)&&lib.filter.targetEnabled(event.card,event.player,current); + }); }, content:function(){ "step 0" player.chooseTarget(get.prompt2('reqiuyuan'),function(card,player,target){ - return target!=player&&!_status.event.targets.contains(target)&&_status.event.playerx.canUse('sha',target,false); + var evt=_status.event.getTrigger(); + return target!=player&&!evt.targets.contains(target)&&lib.filter.targetEnabled(evt.card,evt.player,target); }).set('ai',function(target){ var trigger=_status.event.getTrigger(); var player=_status.event.player; return get.effect(target,trigger.card,trigger.player,player)+0.1; - }).set('targets',trigger.targets).set('playerx',trigger.player); + }); "step 1" if(result.bool){ var target=result.targets[0]; diff --git a/character/yijiang.js b/character/yijiang.js index 5cb4e5937..e1412a56d 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -10931,10 +10931,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ oldqiuyuan:{ audio:'qiuyuan', inherit:'qiuyuan', + filter:function(event,player){ + return event.card.name=='sha'&&game.hasPlayer(function(current){ + return current!=player&&!event.targets.contains(current)&¤t.countCards('h')>0&&lib.filter.targetEnabled(event.card,event.player,current); + }); + }, content:function(){ "step 0" player.chooseTarget(get.prompt2('oldqiuyuan'),function(card,player,target){ - return target!=player&&!_status.event.targets.contains(target)&&_status.event.playerx.canUse('sha',target,false)&&target.countCards('h'); + var evt=_status.event.getTrigger(); + return target!=player&&!evt.targets.contains(target)&&lib.filter.targetEnabled(evt.card,evt.player,target)&&target.countCards('h')>0; }).set('ai',function(target){ var trigger=_status.event.getTrigger(); var player=_status.event.player; @@ -10971,12 +10977,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{target:'useCardToTarget'}, direct:true, filter:function(event,player){ - return event.card.name=='sha'; + return event.card.name=='sha'&&game.hasPlayer(function(current){ + return current!=player&&!event.targets.contains(current)&&lib.filter.targetEnabled(event.card,event.player,current); + }); }, content:function(){ "step 0" player.chooseTarget(get.prompt2('qiuyuan'),function(card,player,target){ - return target!=player&&!_status.event.targets.contains(target)&&_status.event.playerx.canUse('sha',target,false); + var evt=_status.event.getTrigger(); + return target!=player&&!evt.targets.contains(target)&&lib.filter.targetEnabled(evt.card,evt.player,target); }).set('ai',function(target){ var trigger=_status.event.getTrigger(); var player=_status.event.player; diff --git a/game/game.js b/game/game.js index 1ede1b474..4035894b1 100644 --- a/game/game.js +++ b/game/game.js @@ -12073,12 +12073,7 @@ } } else if(invisible.contains(event.skill)){ - if(!info.direct){ - event.trigger('triggerInvisible'); - } - else{ - event.skillHidden=true; - } + event.trigger('triggerInvisible'); } else{ var keep=false; @@ -17999,7 +17994,7 @@ hasUsableCard:function(name){ var player=this; if(player.countCards('hs',name)) return true; - var skills=player.getSkills(true).concat(lib.skill.global); + var skills=player.getSkills('invisible').concat(lib.skill.global); game.expandSkills(skills); for(var i=0;i