diff --git a/character/shenhua.js b/character/shenhua.js index 13659c689..2c8a51fad 100644 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -2653,8 +2653,7 @@ character.shenhua={ if(ai.get.equipValue(card)<=7.5) return 0; } if(target.get('e','2')) return; - if(player.hasSkillTag('unequip',false,card)) return; - if(get.tag(card,'respondShan')) return [0.5,0]; + return lib.skill.bagua_skill.ai.effect.target.apply(this,arguments); } } } diff --git a/character/sp.js b/character/sp.js index 12cc023a5..19d002c47 100644 --- a/character/sp.js +++ b/character/sp.js @@ -3020,8 +3020,7 @@ character.sp={ if(ai.get.equipValue(card)<=7.5) return 0; } if(target.get('e','2')) return; - if(player.hasSkillTag('unequip',false,card)) return; - if(get.tag(card,'respondShan')) return [0.5,0]; + return lib.skill.bagua_skill.ai.effect.target.apply(this,arguments); } } }, diff --git a/character/swd.js b/character/swd.js index 66387ba28..2c78e346b 100644 --- a/character/swd.js +++ b/character/swd.js @@ -2603,7 +2603,6 @@ character.swd={ }, suiyan:{ trigger:{source:'damageEnd'}, - // group:'unequip', check:function(event,player){ return ai.get.attitude(player,event.player)<0; }, @@ -3160,17 +3159,12 @@ character.swd={ }, content:function(){ "step 0" - if(!player.hasSkill('unequip')){ - event.added=true - player.skills.push('unequip'); - } + player.addAdditionalSkill('jianji','unequip'); player.draw(); player.useCard({name:'sha'},cards,targets,'jianji',false).animate=false; player.line(targets,'fire'); "step 1" - if(event.added){ - player.skills.remove('unequip'); - } + player.removeAdditionalSkill('jianji'); }, ai:{ order:function(){ @@ -3178,15 +3172,9 @@ character.swd={ }, result:{ target:function(player,target){ - var added=false; - if(!player.hasSkill('unequip')){ - added=true; - player.skills.push('unequip'); - } + player.addAdditionalSkill('jianji_ai','unequip'); var eff=ai.get.effect(target,{name:'sha'},player,target); - if(added){ - player.skills.remove('unequip'); - } + player.removeAdditionalSkill('jianji_ai'); return eff; } }, @@ -3625,9 +3613,7 @@ character.swd={ forced:true, filter:function(event,player){ if(player.get('e','2')) return false; - if(event.source&&event.source.num('s','unequip')) return; - if(Math.random()>1/3) return false; - return true; + return lib.skill.guangshatianyi.filter(event,player); }, content:function(){ trigger.num--; @@ -5710,7 +5696,6 @@ character.swd={ }, polang:{ trigger:{source:'damageEnd'}, - // group:'unequip', check:function(event,player){ return ai.get.attitude(player,event.player)<0; }, diff --git a/character/yijiang.js b/character/yijiang.js index 491aa8fa0..ca10b9475 100644 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -1736,7 +1736,6 @@ character.yijiang={ if(result.bool){ player.storage.xianzhen=target; player.addTempSkill('xianzhen2','phaseAfter'); - player.addTempSkill('unequip','phaseAfter'); } else{ player.addTempSkill('xianzhen3','phaseAfter'); @@ -1783,6 +1782,9 @@ character.yijiang={ if(card.name=='sha') return Infinity; } }, + ai:{ + unequip:true + } }, xianzhen3:{ mod:{ @@ -2034,25 +2036,6 @@ character.yijiang={ } }, benxi:{ - trigger:{player:['useCardAfter','useSkillAfter']}, - forced:true, - popup:false, - silent:true, - filter:function(event,player){ - if(!player.storage.benxi) return false; - return _status.currentPhase==player; - }, - content:function(){ - var players=game.filterPlayer(); - for(var i=0;i1){ - player.removeSkill('unequip'); - return; - } - } - player.addSkill('unequip'); - }, - group:['benxi2','benxi3'], mod:{ globalFrom:function(from,to,distance){ if(_status.currentPhase==from){ @@ -2062,47 +2045,23 @@ character.yijiang={ selectTarget:function(card,player,range){ if(_status.currentPhase==player){ if(card.name=='sha'&&range[1]!=-1){ - var players=game.filterPlayer(); - for(var i=0;i1) return; + if(!game.hasPlayer(function(current){ + return get.distance(player,current)>1; + })){ + range[1]++; } - range[1]++; } } - }, - }, - }, - benxi2:{ - trigger:{player:'phaseBegin'}, - forced:true, - popup:false, - silent:true, - priority:5, - filter:function(event,player){ - return player.hasSkill('benxi'); - }, - content:function(){ - player.storage.benxi=!player.hasSkill('unequip'); - if(player.storage.benxi){ - var players=game.filterPlayer(); - for(var i=0;i1){ - return; - } - } - player.addSkill('unequip'); } - } - }, - benxi3:{ - trigger:{player:'phaseAfter'}, - forced:true, - popup:false, - silent:true, - content:function(){ - if(player.storage.benxi){ - player.storage.benxi=false; - player.removeSkill('unequip'); + }, + ai:{ + unequip:true, + skillTagFilter:function(player){ + if(game.hasPlayer(function(current){ + return get.distance(player,current)>1; + })){ + return false; + } } } }, diff --git a/game/game.js b/game/game.js index 5178bebdb..02da163a7 100644 --- a/game/game.js +++ b/game/game.js @@ -16386,11 +16386,11 @@ global:[], globalmap:{}, storage:{}, - unequip:{}, undist:{}, others:{}, zhu:{}, zhuSkill:{}, + unequip:{ai:{unequip:true}}, autoswap:{ trigger:{player:['phaseBegin','chooseToUseBegin','chooseToRespondBegin','chooseToDiscardBegin','chooseToCompareBegin', 'chooseButtonBegin','chooseCardBegin','chooseTargetBegin','chooseCardTargetBegin','chooseControlBegin', diff --git a/mode/boss.js b/mode/boss.js index 29b9b1a23..17f7bbae2 100644 --- a/mode/boss.js +++ b/mode/boss.js @@ -2206,10 +2206,7 @@ mode.boss={ priority:6, filter:function(event,player){ if(player.get('e','2')) return false; - if(event.player.num('s','unequip')) return false; - if(event.card.name=='nanman') return true; - if(event.card.name=='wanjian') return true; - if(event.card.name=='sha'&&!event.card.nature) return true; + return lib.skill.tengjia1.filter(event,player); }, content:function(){ trigger.untrigger(); @@ -2219,14 +2216,7 @@ mode.boss={ effect:{ target:function(card,player,target,current){ if(target.get('e','2')) return; - if(player.num('s','unequip')) return; - if(card.name=='nanman'||card.name=='wanjian') return 0; - if(card.name=='sha'){ - var equip1=player.get('e','1'); - if(equip1&&equip1.name=='zhuque') return 2; - if(equip1&&equip1.name=='qinggang') return 1; - if(!card.nature) return 0; - } + return lib.skill.tengjia1.ai.effect.target.apply(this,arguments); } } } @@ -2248,10 +2238,7 @@ mode.boss={ effect:{ target:function(card,player,target,current){ if(target.get('e','2')) return; - if(card.name=='sha'){ - if(card.nature=='fire'||player.hasSkill('zhuque_skill')) return 2; - } - if(get.tag(card,'fireDamage')&¤t<0) return 2; + return lib.skill.tengjia2.ai.effect.target.apply(this,arguments); } } } diff --git a/mode/chess.js b/mode/chess.js index 2b405aec3..c9be60cf2 100644 --- a/mode/chess.js +++ b/mode/chess.js @@ -4767,16 +4767,7 @@ mode.chess={ }, result:{ target:function(player,target){ - var added=false; - if(!player.hasSkill('unequip')){ - added=true; - player.skills.push('unequip'); - } - var eff=ai.get.effect(target,{name:'sha'},player,target); - if(added){ - player.skills.remove('unequip'); - } - return eff; + return ai.get.effect(target,{name:'sha'},player,target); } }, effect:{