From e6fa9b0b6167b615799dbd5099194444720290c8 Mon Sep 17 00:00:00 2001 From: Spmario233 Date: Tue, 10 Oct 2023 17:07:44 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E6=97=B6=E6=9C=BA=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/diy.js | 8 ++-- character/extra.js | 115 +++++++++++++++++++++++++-------------------- game/game.js | 8 ++-- 3 files changed, 71 insertions(+), 60 deletions(-) diff --git a/character/diy.js b/character/diy.js index b8e1257c9..7a1dcc2ed 100755 --- a/character/diy.js +++ b/character/diy.js @@ -2601,7 +2601,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } else game.delayx(); 'step 3' - player.addTempSkill('nstuilun_effect',{player:'phaseBegin'}); + player.addTempSkill('nstuilun_effect',{player:'phaseBeginStart'}); }, subSkill:{ effect:{ @@ -3562,7 +3562,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(player.countCards('h')>0) player.chooseToDiscard('h',true,player.countCards('h')); player.recover(); trigger.cancel(); - player.addTempSkill('kyou_duanfa_draw',{player:'phaseBegin'}); + player.addTempSkill('kyou_duanfa_draw',{player:'phaseBeginStart'}); }, subSkill:{ draw:{ @@ -6372,9 +6372,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var num=game.roundNumber; if(num&&typeof num=='number') player.draw(Math.min(3,num)); 'step 1' - var next=player.phaseUse(); - event.next.remove(next); - trigger.next.push(next); + trigger.phaseList.splice(trigger.num,0,'phaseUse|godan_yuanyi'); }, }, godan_feiqu:{ diff --git a/character/extra.js b/character/extra.js index ac81f163b..72c31d4e2 100755 --- a/character/extra.js +++ b/character/extra.js @@ -3586,7 +3586,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ huoxin2:{ trigger:{ player:['phaseAfter','dieAfter'], - global:'phaseBefore', + global:'phaseBeforeStart', }, lastDo:true, charlotte:true, @@ -5412,7 +5412,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.chooseTarget(get.prompt('dawu'),'令至多'+get.cnNumber(num)+'名角色获得“大雾”标记', [1,num]).set('ai',function(target){ if(target.isMin()) return 0; - if(target.hasSkill('biantian2')) return 0; + if(target.hasSkill('biantian2')||target.hasSkill('dawu2')) return 0; var att=get.attitude(player,target); if(att>=4){ if(_status.event.allUse) return att; @@ -5426,13 +5426,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ })*2); "step 1" if(result.bool){ - player.logSkill('dawu',result.targets,'thunder'); - var length=result.targets.length; - for(var i=0;i{ + target.addAdditionalSkill(`dawu_${player.playerid}`,'dawu2'); + target.markAuto('dawu2',[player]); + }); + player.addTempSkill('dawu3',{player:'phaseBeginStart'}) player.chooseCardButton('选择弃置'+get.cnNumber(length)+'张“星”',length,player.getExpansions('qixing'),true); - player.addSkill('dawu3'); } else{ event.finish(); @@ -5443,46 +5445,41 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ai:{combo:'qixing'}, }, dawu2:{ - trigger:{player:'damageBegin4'}, - filter:function(event){ - if(!event.hasNature('thunder')) return true; - return false; - }, - mark:true, - forced:true, charlotte:true, - content:function(){ - trigger.cancel(); - }, ai:{ nofire:true, nodamage:true, effect:{ target:function(card,player,target,current){ - if(get.tag(card,'damage')&&!get.tag(card,'thunderDamage')) return [0,0]; + if(get.tag(card,'damage')&&!get.tag(card,'thunderDamage')) return 'zeroplayertarget'; } }, }, intro:{ - markcount:()=>1, - content:'共有1个标记', + content:function(storage){ + return `共有${storage.length}枚标记`; + }, } }, dawu3:{ - trigger:{player:['phaseBegin','dieBegin']}, - silent:true, + trigger:{global:'damageBegin4'}, + filter:function(event,player){ + return !event.hasNature('thunder')&&event.player.getStorage('dawu2').includes(player); + }, + forced:true, charlotte:true, + logTarget:'player', content:function(){ - for(var i=0;i{ + if(current.getStorage('dawu2').includes(player)){ + current.unmarkAuto('dawu2',player); + current.removeAdditionalSkill(`dawu_${player.playerid}`); } - if(game.players[i].hasSkill('kuangfeng2')){ - game.players[i].removeSkill('kuangfeng2'); - } - } - player.removeSkill('dawu3'); - } + },true); + }, }, kuangfeng:{ unique:true, @@ -5499,13 +5496,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } "step 1" if(result.bool){ - var length=result.targets.length; - for(var i=0;i{ + target.addAdditionalSkill(`kuangfeng_${player.playerid}`,'kuangfeng2'); + target.markAuto('kuangfeng2',[player]); + }); + player.addTempSkill('kuangfeng3',{player:'phaseBeginStart'}) + player.chooseCardButton('选择弃置'+get.cnNumber(length)+'张“星”',length,player.getExpansions('qixing'),true); } else{ event.finish(); @@ -5516,28 +5515,40 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ai:{combo:'qixing'}, }, kuangfeng2:{ - trigger:{player:'damageBegin3'}, - filter:function(event){ - if(event.hasNature('fire')) return true; - return false; - }, - mark:true, + charlotte:true, intro:{ - markcount:()=>1, - content:'共有1个标记' - }, - forced:true, - content:function(){ - trigger.num++; + content:function(storage){ + return `共有${storage.length}枚标记`; + }, }, ai:{ effect:{ target:function(card,player,target,current){ - if(get.tag(card,'fireDamage')) return 1.5; + if(get.tag(card,'fireDamage')&¤t<0) return 1.5; } } } }, + kuangfeng3:{ + trigger:{global:'damageBegin3'}, + filter:function(event){ + return event.hasNature('fire')&&event.player.getStorage('kuangfeng2').includes(player); + }, + charlotte:true, + forced:true, + logTarget:'player', + content:function(){ + trigger.num++; + }, + onremove:function(player){ + game.countPlayer2(current=>{ + if(current.getStorage('kuangfeng2').includes(player)){ + current.unmarkAuto('kuangfeng2',player); + current.removeAdditionalSkill(`kuangfeng_${player.playerid}`); + } + },true); + }, + }, yeyan:{ unique:true, forceDie:true, diff --git a/game/game.js b/game/game.js index c07c60c30..613e2cd9e 100644 --- a/game/game.js +++ b/game/game.js @@ -25229,7 +25229,7 @@ this.removeSkill('mad'); }, tempHide:function(){ - this.addTempSkill('qianxing',{player:'phaseBegin'}); + this.addTempSkill('qianxing',{player:'phaseBeginStart'}); }, addExpose:function(num){ if(typeof this.ai.shown=='number'&&!this.identityShown&&this.ai.shown<1){ @@ -26860,7 +26860,7 @@ this.addSkill(skill,checkConflict,true,true); if(!expire){ - expire=['phaseAfter','phaseBefore']; + expire=['phaseAfter','phaseBeforeStart']; } this.tempSkills[skill]=expire; @@ -32469,6 +32469,7 @@ silent:true, charlotte:true, priority:-100, + lastDo:true, content:function(){ player.removeSkill('counttrigger'); delete player.storage.counttrigger; @@ -32476,9 +32477,10 @@ group:'counttrigger_2', subSkill:{ 2:{ - trigger:{global:'phaseBefore'}, + trigger:{global:['phaseBeforeStart','roundStart']}, silent:true, charlotte:true, + firstDo:true, priority:100, content:function(){ player.removeSkill('counttrigger');