diff --git a/audio/skill/chanyuan1.mp3 b/audio/skill/chanyuan1.mp3 new file mode 100644 index 000000000..25d8f04a4 Binary files /dev/null and b/audio/skill/chanyuan1.mp3 differ diff --git a/audio/skill/chanyuan2.mp3 b/audio/skill/chanyuan2.mp3 new file mode 100644 index 000000000..8d7eca8e8 Binary files /dev/null and b/audio/skill/chanyuan2.mp3 differ diff --git a/audio/skill/rechanyuan1.mp3 b/audio/skill/rechanyuan1.mp3 new file mode 100644 index 000000000..e2dffc256 Binary files /dev/null and b/audio/skill/rechanyuan1.mp3 differ diff --git a/audio/skill/rechanyuan2.mp3 b/audio/skill/rechanyuan2.mp3 new file mode 100644 index 000000000..583d8dab2 Binary files /dev/null and b/audio/skill/rechanyuan2.mp3 differ diff --git a/character/old.js b/character/old.js index c03f2c07a..0e86e2529 100755 --- a/character/old.js +++ b/character/old.js @@ -520,7 +520,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, old_guhuo:{ audio:2, - group:['old_guhuo_guess'], enable:['chooseToUse','chooseToRespond'], hiddenCard:function(player,name){ return (lib.inpile.contains(name)&&player.countCards('hs')>0); @@ -636,6 +635,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, precontent:function(){ player.logSkill('old_guhuo'); + player.addTempSkill('old_guhuo_guess'); var card=event.result.cards[0]; event.result.card.suit=get.suit(card); event.result.card.number=get.number(card); diff --git a/character/refresh.js b/character/refresh.js index 2998b3e37..8974ea425 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -10743,6 +10743,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, precontent:function(){ player.logSkill('reguhuo'); + player.addTempSkill('reguhuo_guess'); var card=event.result.cards[0]; event.result.card.suit=get.suit(card); event.result.card.number=get.number(card); @@ -10766,7 +10767,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, threaten:1.3, }, - group:['reguhuo_shan','reguhuo_wuxie','reguhuo_guess'], + group:['reguhuo_shan','reguhuo_wuxie'], }, reguhuo_shan:{ enable:['chooseToUse','chooseToRespond'], @@ -10803,6 +10804,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, precontent:function(){ player.logSkill('reguhuo'); + player.addTempSkill('reguhuo_guess'); var card=event.result.cards[0]; event.result.card.suit=get.suit(card); event.result.card.number=get.number(card); @@ -10843,6 +10845,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, precontent:function(){ player.logSkill('reguhuo'); + player.addTempSkill('reguhuo_guess'); var card=event.result.cards[0]; event.result.card.suit=get.suit(card); event.result.card.number=get.number(card); @@ -10970,7 +10973,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 1' if(!result.bool) target.loseHp(); 'step 2' - target.addSkill('rechanyuan'); + target.addSkillLog('rechanyuan'); if(targets.length) event.goto(0); }, }, @@ -10978,13 +10981,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ reguhuo_phase:{}, rechanyuan:{ init:function(player,skill){ + if(player.hp<=1){ + player.logSkill(skill); + player.addSkill('rechanyuan_log'); + } player.addSkillBlocker(skill); }, onremove:function(player,skill){ + player.removeSkill('rechanyuan_log'); player.removeSkillBlocker(skill); }, - charlotte:true, - locked:true, skillBlocker:function(skill,player){ return skill!='chanyuan'&&skill!='rechanyuan'&&!lib.skill[skill].charlotte&&player.hp<=1; }, @@ -10997,8 +11003,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }); if(list.length) str+=('
  • 失效技能:'+get.translation(list)) return str; + }, + }, + audio:2, + trigger:{player:'changeHp'}, + filter:function(event,player){ + return (player.hp<=1)!=(player.hasSkill('rechanyuan_log')); + }, + direct:true, + locked:true, + content:function(){ + if(player.hp<=1){ + player.logSkill('rechanyuan'); + player.addSkill('rechanyuan_log'); } - } + else player.removeSkill('rechanyuan_log'); + }, + subSkill:{ + log:{charlotte:true}, + }, }, botu:{ audio:2, diff --git a/character/shenhua.js b/character/shenhua.js index 0f7d6b7f1..b81b60156 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -7458,7 +7458,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xinfu_guhuo:{ audio:'guhuo_guess', derivation:['chanyuan'], - group:['guhuo_guess'], enable:['chooseToUse','chooseToRespond'], hiddenCard:function(player,name){ return (lib.inpile.contains(name)&&player.countCards('hs')>0&&!player.hasSkill('guhuo_phase')); @@ -7554,6 +7553,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, precontent:function(){ player.logSkill('xinfu_guhuo'); + player.addTempSkill('guhuo_guess'); var card=event.result.cards[0]; event.result.card.suit=get.suit(card); event.result.card.number=get.number(card); @@ -7709,13 +7709,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, chanyuan:{ init:function(player,skill){ + if(player.hp==1) player.logSkill(skill); player.addSkillBlocker(skill); }, onremove:function(player,skill){ player.removeSkillBlocker(skill); }, - charlotte:true, - locked:true, skillBlocker:function(skill,player){ return skill!='chanyuan'&&skill!='rechanyuan'&&!lib.skill[skill].charlotte&&player.hp==1; }, @@ -7734,8 +7733,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }); if(list.length) str+=('
  • 失效技能:'+get.translation(list)) return str; - } - } + }, + }, + audio:2, + trigger:{player:'changeHp'}, + filter:function(event,player){ + return player.hp==1; + }, + forced:true, + content:function(){}, }, guhuo_phase:{}, },