diff --git a/character/mobile.js b/character/mobile.js index b8d54c128..e09cc052b 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -16029,7 +16029,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ requanfeng_info:'限定技。①其他角色死亡时,你可失去〖弘仪〗,然后获得其武将牌上的所有非主公技,非隐匿技和非Charlotte技,加1点体力上限并回复1点体力。②当你处于濒死状态时,你可以加2点体力上限,然后回复4点体力。', quanfeng:'劝封', quanfeng_info:'锁定技,限定技,一名角色死亡时,你选择获得其的一个技能(主公技,限定技,觉醒技,隐匿技,使命技,带有Charlotte标签的技能除外),然后加1点体力上限并回复1点体力。', - simashi:'司马师', + simashi:'手杀司马师', + simashi_prefix:'手杀', baiyi:'败移', baiyi_info:'限定技,出牌阶段,若你已受伤,你可以交换两名其他角色的座次。', jinglve:'景略', diff --git a/character/tw.js b/character/tw.js index f99e4807a..53656c373 100644 --- a/character/tw.js +++ b/character/tw.js @@ -2037,7 +2037,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ filter(event,player){ if(!player.hasZhuSkill('twniju')) return false; if(event.iwhile||(event.target&&event.compareMeanwhile)) return false; - return true; + const participant=[event.player]; + if(event.targets) participant.addArray(event.targets); + else participant.add(event.target); + return participant.includes(player); }, direct:true, async content(event,trigger,player){ diff --git a/character/xianding.js b/character/xianding.js index 7a3d624f4..5b8c1b842 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -119,7 +119,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, trigger:{global:'damageEnd'}, filter(event,player){ - return event.source&&event.source!=player&&event.player.isIn(); + if(!event.player.isIn()||(event.player!==player&&!player.inRange(event.player))) return false; + return event.source&&event.source!=player; }, check(event,player){ if(!event.source.isIn()||!event.card||typeof get.number(event.card)!=='number') return 0; @@ -128,12 +129,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ logTarget:'player', async content(event,trigger,player){ player.judge(card=>{ - const evt=get.event().getParent().getTrigger(); + const evt=get.event().getParent(get.event('eventName')).getTrigger(); if(!evt.source.isIn()||!evt.card||typeof get.number(evt.card)!=='number') return 0; if(get.number(card)>get.number(evt.card)) return 1.5; return 0; }).set('judge2',r=>r.bool).set('callback',()=>{ - const evt=event.getParent(2).getTrigger(); + const evtx=event.getParent(); + const evt=event.getParent(evtx.eventName).getTrigger(); if(!evt.source.isIn()||!evt.card||typeof get.number(evt.card)!=='number') return; if(event.judgeResult.number>get.number(evt.card)){ const sha=new lib.element.VCard({name:'sha'}),target=evt.source; @@ -142,6 +144,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } }) + .set('eventName',event.name) } }, dcanjing:{ @@ -151,6 +154,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return game.hasPlayer(current=>current.isDamaged()); }, usable:1, + direct:true, async content(event,trigger,player){ const maxCount=player.getAllHistory('useSkill',evt=>evt.skill==='dcanjing').length+1; const result=await player.chooseTarget(get.prompt2('dcanjing'),(card,player,target)=>target.isDamaged(),[1,maxCount]) @@ -158,7 +162,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return get.attitude(get.player(),target)>0; }) .forResult(); - if(!result.bool) return; + if(!result.bool) return player.storage.counttrigger.dcanjing--; const targets=result.targets.slice(); targets.sortBySeat(_status.currentPhase); player.logSkill('dcanjing',targets);