From 7284ee9ea5ba4af10907fd65a5f0e434fe2b8110 Mon Sep 17 00:00:00 2001 From: copcap Date: Tue, 22 Aug 2023 15:51:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E6=9D=80=E5=8A=A0=E5=BC=BA=EF=BC=9A?= =?UTF-8?q?=E5=AD=99=E7=8B=BC=E3=80=81=E5=BA=9E=E4=BC=9A=E3=80=81=E9=9F=A9?= =?UTF-8?q?=E9=81=82=E3=80=81=E5=94=90=E5=92=A8=EF=BC=9B=E7=95=8C=E6=9B=B9?= =?UTF-8?q?=E5=8F=A1=EF=BC=88unseen=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/huicui.js | 4 +- character/refresh.js | 95 +++++++++++++++++++++++++++++++++++++++++++- character/sp.js | 19 +++++---- character/sp2.js | 18 ++++----- character/yijiang.js | 5 ++- 5 files changed, 118 insertions(+), 23 deletions(-) diff --git a/character/huicui.js b/character/huicui.js index bb4ab255c..c9010252a 100644 --- a/character/huicui.js +++ b/character/huicui.js @@ -3472,7 +3472,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{ source:'damageBegin1', }, - usable:2, + //usable:2, filter:function(event,player){ return player.countDiscardableCards(player,'he')>0&&player!=event.player; }, @@ -10103,7 +10103,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dccuijin_info:'当你或你攻击范围内的角色使用【杀】时,你可以弃置一张牌,令此【杀】的伤害基数+1。然后当此杀被目标角色抵消或无效或防止伤害后,你摸一张牌,对使用者造成1点伤害。', panghui:'庞会', dcyiyong:'异勇', - dcyiyong_info:'每回合限两次。当你对其他角色造成伤害时,若你有牌,你可以与其同时弃置至少一张牌。若你以此法弃置的牌的点数之和:不大于其,你摸X张牌;不小于其,此伤害+1(X为其以此法弃置的牌数)。', + dcyiyong_info:'当你对其他角色造成伤害时,若你有牌,你可以与其同时弃置至少一张牌。若你以此法弃置的牌的点数之和:不大于其,你摸X张牌;不小于其,此伤害+1(X为其以此法弃置的牌数)。', chenjiao:'陈矫', dcxieshoux:'协守/清严', dcxieshou:'协守', diff --git a/character/refresh.js b/character/refresh.js index 9f5ea86c8..56b7053ed 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -13,13 +13,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ refresh_yijiang2:['re_madai','re_wangyi','xin_handang','xin_zhonghui','re_liaohua','re_chengpu','re_caozhang','dc_bulianshi','xin_liubiao','re_xunyou','re_guanzhang'], refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','xin_yufan','dc_liru','re_manchong','re_fuhuanghou','re_guanping','re_liufeng','re_caochong'], refresh_yijiang4:['re_sunluban','re_wuyi','re_hanhaoshihuan','re_caozhen','re_zhoucang','dc_chenqun','re_caifuren','re_guyong','re_jushou','re_zhuhuan','re_zhangsong'], - refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu','re_gongsunyuan','re_guotufengji','re_xiahoushi','re_liuchen','re_zhuzhi'], + refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu','re_gongsunyuan','re_guotufengji','re_xiahoushi','re_liuchen','re_zhuzhi','re_caorui'], refresh_yijiang6:['re_guohuanghou','re_sundeng'], refresh_xinghuo:['re_duji','dc_gongsunzan','re_sp_taishici','re_caiyong','re_mazhong','re_wenpin','re_jsp_huangyueying'], }, }, connect:true, character:{ + re_caorui:['male','wei',3,['huituo','mingjian','rexingshuai'],['unseen','zhu']], re_caochong:['male','wei',3,['rechengxiang','renxin']], ol_zhangzhang:['male','wu',3,['olzhijian','olguzheng']], re_jsp_huangyueying:['female','qun',3,['rejiqiao','relinglong']], @@ -162,6 +163,95 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_guohuai:['xiahouyuan','zhanghe'], }, skill:{ + //堪比界曹冲的界曹叡 + rexingshuai:{ + audio:2, + skillAnimation:true, + animationColor:'thunder', + trigger:{player:'dying'}, + zhuSkill:true, + filter:function(event,player){ + if(player.hp>0) return false; + if(!player.hasZhuSkill('rexingshuai')) return false; + return game.hasPlayer(function(current){ + return current!=player&¤t.group=='wei'; + }); + }, + init:function(player){ + if(player.hasZhuSkill('rexingshuai')){ + player.markSkill('rexingshuai'); + player.storage.rexingshuai=false; + } + }, + intro:{ + content:'limited', + }, + limited:true, + mark:false, + content:function(){ + 'step 0' + player.awakenSkill('rexingshuai'); + var targets=game.filterPlayer(); + targets.sortBySeat(_status.currentPhase); + targets.remove(player); + event.targets=targets; + event.damages=[]; + player.addSkill('rexingshuai_restore'); + 'step 1' + if(event.targets.length){ + var current=event.targets.shift(); + if(current.group=='wei'){ + current.chooseBool('是否令'+get.translation(player)+'回复一点体力?').set('ai',function(){ + return get.attitude(_status.event.player,_status.event.target)>2; + }).set('target',player); + event.current=current; + } + else{ + event.redo(); + } + } + else{ + event.goto(3); + } + 'step 2' + if(result.bool){ + event.damages.push(event.current); + event.current.line(player,'green'); + game.log(event.current,'令',player,'回复一点体力'); + player.recover(); + } + if(event.targets.length){ + event.goto(1); + } + 'step 3' + if(event.damages.length){ + var next=game.createEvent('rexingshuai_next'); + event.next.remove(next); + trigger.after.push(next); + next.targets=event.damages; + next.setContent(function(){ + targets.shift().damage(); + if(targets.length) event.redo(); + }); + } + }, + subSkill:{ + restore:{ + trigger:{ + global:'dieAfter', + }, + charlotte:true, + forced:true, + filter:function(event,player){ + return event.source&&event.source.isIn()&&event.source.hasSkill('mingjian2'); + }, + content:function(){ + player.restoreSkill('rexingshuai'); + game.log(player,'重置了','#g【兴衰】'); + } + }, + } + }, //不想突破可以不突破的界曹冲 rechengxiang:{ audio:2, @@ -14664,6 +14754,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_caochong:'界曹冲', rechengxiang:'称象', rechengxiang_info:'当你受到伤害后,你可以亮出牌堆顶的四张牌。然后获得其中任意数量点数之和不大于13的牌。若你获得的牌点数之和为13,你复原武将牌。', + re_caorui:'界曹叡', + rexingshuai:'兴衰', + rexingshuai_info:'主公技,限定技。当你进入濒死状态时,你可令其他魏势力角色依次选择是否令你回复1点体力。然后这些角色依次受到1点伤害。有〖明鉴〗效果的角色于其回合内杀死角色后,你重置〖兴衰〗。', refresh_standard:'界限突破·标', refresh_feng:'界限突破·风', diff --git a/character/sp.js b/character/sp.js index b6b0d866f..a4e0be31d 100755 --- a/character/sp.js +++ b/character/sp.js @@ -10591,20 +10591,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, enable:'phaseUse', usable:1, - viewAs:{name:'shunshou'}, + viewAs:{ + name:'shunshou', + storage:{spweiwu:true}, + }, filterCard:{color:'red'}, position:'hes', check:function(card){ return 7-get.value(card); }, - filterTarget:function(card,player,target){ - if(target.countCards('h')0&&game.hasPlayer(function(current){ - return current.countCards('h')>=player.countCards('h')&&player.canUse('shunshou',current); - }); + mod:{ + targetInRange:function(card){ + if(card.storage&&card.storage.spweiwu) return true; + }, }, }, tuogu:{ @@ -23646,7 +23645,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ spniluan:'逆乱', spniluan_info:'出牌阶段,你可以将一张黑色牌当做【杀】使用。此【杀】使用结算完成后,若你未因此【杀】造成过伤害,则你令此【杀】不计入使用次数。', spweiwu:'违忤', - spweiwu_info:'出牌阶段限一次,你可以将一张红色牌当做【顺手牵羊】对手牌数不小于你的角色使用。', + spweiwu_info:'出牌阶段限一次,你可以将一张红色牌当无距离限制的【顺手牵羊】使用。', spmouzhu:'谋诛', spmouzhu_backup:'谋诛', spmouzhu_info:'出牌阶段限一次,你可以选择任意名“距离为1”或“体力值等于你”的其他角色,这些角色依次进行以下结算:交给你一张手牌,然后若其手牌数小于你,则其视为对你使用一张【杀】或【决斗】。', diff --git a/character/sp2.js b/character/sp2.js index 1c6b33487..defa0506b 100644 --- a/character/sp2.js +++ b/character/sp2.js @@ -807,14 +807,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{player:'useCardToPlayered'}, usable:1, filter:function(event,player){ - return player.countCards('e')>0&&event.card.name=='sha'&&event.getParent().triggeredTargets3.length==event.targets.length; + return event.card.name=='sha'&&event.getParent().triggeredTargets3.length==event.targets.length; }, check:function(event,player){ return event.targets.some(target=>get.effect(target,event.card,player,player)<=0); }, content:function(){ 'step 0' - var num=player.countCards('e'); + var num=player.countCards('e')+1; event.num=num; player.draw(num); 'step 1' @@ -843,7 +843,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var eff=get.effect(targetx,{name:'sha'},player,player); delete _status._dctingxian_aiChecking; if(eff<0) return true; - }).length=3){ str+=';始终跳过弃牌阶段'; } - if(num>=4){ + if(num==0||num>=4){ str+=';造成的伤害+1'; } return str; @@ -9395,7 +9395,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "xinfu_xingzhao2":{ audio:true, trigger:{ - player:"phaseDiscardBefore", + player:['phaseJudgeBefore','phaseDiscardBefore'], }, forced:true, filter:function(event,player){ @@ -9406,7 +9406,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, content:function(){ trigger.cancel(); - game.log(player,'跳过了弃牌阶段'); + game.log(player,'跳过了'+(trigger.name=='phaseJudge'?'判定':'弃牌')+'阶段'); }, }, xinfu_xingzhao3:{ @@ -9419,7 +9419,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var num=game.countPlayer(function(current){ return current.isDamaged(); }); - return num>=4; + return num==0||num>=4; }, content:function(){ trigger.num++; @@ -9874,7 +9874,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "xz_xunxun":"恂恂", "xz_xunxun_info":"摸牌阶段,你可以观看牌堆顶的四张牌,然后将其中的两张牌置于牌堆顶,并将其余的牌以任意顺序置于牌堆底。", "xinfu_xingzhao":"兴棹", - "xinfu_xingzhao_info":"锁定技。若X≥1,你视为拥有技能〖恂恂〗。若X≥2,当你使用装备牌时,你摸一张牌。若X≥3,弃牌阶段开始时,你跳过此阶段。若X≥4,当你造成伤害时,此伤害+1。(X为场上已受伤的角色数)", + "xinfu_xingzhao_info":"锁定技。若X≥1,你视为拥有技能〖恂恂〗。若X≥2,当你使用装备牌时,你摸一张牌。若X≥3,判定阶段或弃牌阶段开始时,你跳过此阶段。若X=0或X≥4,当你造成伤害时,此伤害+1(X为场上已受伤的角色数)。", "xinfu_xingzhao2":"兴棹", "xinfu_xingzhao2_info":"", xinfu_xingzhao3:'兴棹', @@ -10287,7 +10287,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dczuojian_info:'出牌阶段结束时,若你于此阶段使用过的牌数不小于体力值,你可以选择一项:1.令装备区牌数多于你的角色各摸一张牌;2.弃置装备区牌数少于你的角色各一张手牌。', sunlang:'孙狼', dctingxian:'铤险', - dctingxian_info:'每回合限一次。当你使用【杀】指定最后一个目标后,你可以摸X张牌,然后令此【杀】对其中至多X个目标无效(X为你装备区的牌数)。', + dctingxian_info:'每回合限一次。当你使用【杀】指定最后一个目标后,你可以摸X张牌,然后令此【杀】对其中至多X个目标无效(X为你装备区的牌数+1)。', dcbenshi:'奔矢', dcbenshi_info:'锁定技。①你的攻击范围+1。②你的攻击范围基数不受装备区内武器牌的影响。③由你使用的【杀】的牌面信息中的“使用目标”产生的规则改为“攻击范围内的所有角色”。', sunhuan:'孙桓', diff --git a/character/yijiang.js b/character/yijiang.js index 3e5ffb2d6..fd8a98932 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -8804,6 +8804,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, mingjian:{ + audio:2, + audioname:['re_caorui'], enable:'phaseUse', usable:1, filterTarget:function(card,player,target){ @@ -8916,6 +8918,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, huituo:{ audio:2, + audioname:['re_caorui'], trigger:{player:'damageEnd'}, direct:true, content:function(){ @@ -13587,7 +13590,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xunyou:['re_xunyou','xunyou'], xuezong:['tw_xuezong','xuezong'], huanghao:['huanghao','dc_huanghao','old_huanghao'], - caorui:['caorui','old_caorui'], + caorui:['re_caorui','caorui','old_caorui'], sunziliufang:['dc_sunziliufang','sunziliufang'], liyan:['liyan','old_liyan'], zhangsong:['re_zhangsong','zhangsong'],