diff --git a/character/sp.js b/character/sp.js index 88fbe0285..3a8dc0ff0 100644 --- a/character/sp.js +++ b/character/sp.js @@ -4401,6 +4401,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ init:function(player){ player.storage.luanzhan=0; }, + init2:function(player){ + player.markSkill('luanzhan'); + }, content:function(){ if(typeof player.storage.luanzhan=='number'){ player.storage.luanzhan+=trigger.num; @@ -4408,7 +4411,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else{ player.storage.luanzhan=trigger.num; } - player.markSkill('luanzhan'); + if(player.hasSkill('luanzhan')){ + player.markSkill('luanzhan'); + } }, group:'luanzhan_cancel', subSkill:{ @@ -8721,6 +8726,39 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } }, + gzshushen:{ + audio:'shushen', + trigger:{player:'recoverAfter'}, + direct:true, + filter:function(event,player){ + return game.hasPlayer(function(current){ + return player!=current&&player.sameIdentityAs(current); + }); + }, + content:function(){ + 'step 0' + event.num=trigger.num||1; + "step 1" + player.chooseTarget(get.prompt2('gzshushen'),function(card,player,target){ + return target!=player&&player.sameIdentityAs(target); + }).set('ai',function(target){ + return get.attitude(_status.event.player,target); + }); + "step 2" + if(result.bool){ + player.logSkill('gzshushen',result.targets); + result.targets[0].draw(); + if(event.num>1){ + event.num--; + event.goto(1); + } + } + }, + ai:{ + threaten:0.8, + expose:0.1 + } + }, shushen:{ audio:2, trigger:{player:'recoverAfter'}, diff --git a/game/game.js b/game/game.js index b56e67a3e..88163cbc3 100644 --- a/game/game.js +++ b/game/game.js @@ -10144,6 +10144,9 @@ }, chooseToUse:function(){ "step 0" + if(game.modeSwapPlayer&&!_status.auto&&player.isUnderControl()&&!lib.filter.wuxieSwap(trigger)){ + game.modeSwapPlayer(player); + } var skills=player.getSkills(true); game.expandSkills(skills); for(var i=0;i