diff --git a/character/ddd.js b/character/ddd.js index 11fb129fb..509e4ebbc 100644 --- a/character/ddd.js +++ b/character/ddd.js @@ -112,6 +112,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, enable:'chooseToUse', hiddenCard:function(player,name){ + if(player.hasSkill('dddxiaxing_used')) return false; return name=='tao'; }, filter:function(event,player){ @@ -412,6 +413,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ forced:true, filter:function(event,player){ if(get.type(event.card)!='equip') return false; + if(get.subtype(event.card)!='equip1') return false; const range=player.getAttackRange(); return !game.hasPlayer(current=>{ return current.getAttackRange()>range; diff --git a/character/hearth.js b/character/hearth.js index 7ff07dd8d..21c82f354 100644 --- a/character/hearth.js +++ b/character/hearth.js @@ -91,9 +91,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hs_kazhakusi:['male','shu',3,['lianjin']], // hs_lazi:['male','wei',3,[]], hs_shaku:['male','wei',3,['shouji']], - hs_laxiao:['male','shu',3,['guimou','yingxi','hlongyi']], + hs_laxiao:['male','shu',3,['hsguimou','yingxi','hlongyi']], // hs_xiangyaqishi:['male','wei',3,[]], - // hs_fenjie:['male','shu',3,['guimou','yingxi']], + // hs_fenjie:['male','shu',3,['hsguimou','yingxi']], hs_mojinbaozi:['male','wei',3,['jingcu','shengzhang']], hs_shuiwenxuejia:['male','wu',3,['kekao']], hs_shizugui:['male','wu',3,['szbianshen']], @@ -3666,7 +3666,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger.directHit=true; } }, - guimou:{ + hsguimou:{ trigger:{player:'damageEnd'}, check:function(event,player){ return get.attitude(player,event.source)<=0; @@ -9825,8 +9825,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ lianjin_info:'出牌阶段限一次,你可以弃置一张牌并获得一张由三张随机牌组成的药水;当你因弃置而失去药水牌时,你随机获得药水的组成卡牌之一。', shouji:'收集', shouji_info:'每当你使用一张杀,你可以获得一张目标随机手牌的复制;每当你的杀被闪避,你可以获得一张目标随机非特殊装备牌的复制;每回合限各限一次。', - guimou:'鬼谋', - guimou_info:'每当你受到一次伤害,你可以获得伤害来源的一张手牌,若此牌是黑色,你展示此牌并重复此过程。', + hsguimou:'鬼谋', + hsguimou_info:'每当你受到一次伤害,你可以获得伤害来源的一张手牌,若此牌是黑色,你展示此牌并重复此过程。', yingxi:'影袭', yingxi_info:'结束阶段,若你本回合未造成伤害,你可以将一张黑色牌当作杀对任意一名角色使用,若目标未受到伤害,此杀不可闪避。', peiyu:'培育', diff --git a/character/huicui.js b/character/huicui.js index 3f74298a4..d412b5199 100644 --- a/character/huicui.js +++ b/character/huicui.js @@ -1064,14 +1064,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){ event.targets=targets; player.logSkill('dcyouzhan',targets); 'step 1' - var target=targets.shift(); + event.target=targets.shift(); + event.num=trigger.getl(event.target).cards2.length; + 'step 2' player.draw().gaintag=['dcyouzhan']; player.addTempSkill('dcyouzhan_limit'); target.addTempSkill('dcyouzhan_effect'); target.addMark('dcyouzhan_effect',1,false); target.addTempSkill('dcyouzhan_draw'); + if(--event.num) event.redo(); + 'step 3' if(targets.length){ - event.redo(); + event.goto(1); } }, ai:{ @@ -2752,7 +2756,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, subSkill:{ damage:{ - trigger:{source:'damageBegin3'}, + trigger:{source:'damageBegin1'}, forced:true, charlotte:true, onremove:true, @@ -11360,7 +11364,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcbeifen_info:'锁定技。①当你失去牌后,若这些牌中有“胡笳”牌,你获得与你手牌中“胡笳”牌花色均不同的每种花色的牌各一张。②若你手牌中“胡笳”牌数小于不为“胡笳”牌的牌数,你使用牌无距离和次数限制。', dc_wuban:'吴班', dcyouzhan:'诱战', - dcyouzhan_info:'锁定技。当其他角色于你的回合内失去牌后,你摸一张牌(不计入本回合的手牌上限),且其获得如下效果:1.其于此回合下一次受到的伤害+1;2.结束阶段,若其于此回合未受到过伤害,其摸X张牌(X为其此回合失去过牌的次数且至多为3)。', + dcyouzhan_info:'锁定技。当其他角色于你的回合内失去一张牌后,你摸一张牌(不计入本回合的手牌上限),且其获得如下效果:1.其于此回合下一次受到的伤害+1;2.结束阶段,若其于此回合未受到过伤害,其摸X张牌(X为其此回合失去过牌的次数且至多为3)。', yue_zhoufei:'乐周妃', yue_zhoufei_prefix:'乐', dclingkong:'灵箜', diff --git a/character/jsrg.js b/character/jsrg.js index 694deadff..847230b93 100644 --- a/character/jsrg.js +++ b/character/jsrg.js @@ -1184,7 +1184,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ effect:{ audio:'jsrgfenjian', charlotte:true, - trigger:{player:'damageBegin1'}, + trigger:{player:'damageBegin3'}, forced:true, onremove:true, content:function(){ diff --git a/character/mobile.js b/character/mobile.js index 042684d77..07b1b1fe0 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -499,7 +499,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return str; }, }, - trigger:{global:'useCard'}, + trigger:{global:'useCard1'}, forced:true, popup:false, content:function(){ @@ -16240,7 +16240,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ guimou:'诡谋', guimou_info:'锁定技。游戏开始时/回合结束时,你随机/须选择以下一项直到你的下个准备阶段:①记录场上期间角色使用牌数;②记录期间场上角色弃置牌数;③记录期间场上角色获得牌数。准备阶段,你可以选择一名场上对应记录数值最少的其他角色,观看其手牌并选择其中至多三张牌,然后你可以将其中至多两张牌交给另一名其他角色,然后弃置其余牌。', zhouxian:'州贤', - zhouxian_info:'锁定技,当你成为其他角色使用的伤害类卡牌的目标后,你亮出牌堆顶的两张牌,然后其须选择一项:①弃置一张与亮出牌之一类别相同的牌;②令此牌对你无效。', + zhouxian_info:'锁定技。当你成为其他角色使用的伤害类卡牌的目标后,你亮出牌堆顶的两张牌,然后其须选择一项:①弃置一张与亮出牌之一类别相同的牌;②令此牌对你无效。', mb_huban:'手杀胡班', mb_huban_prefix:'手杀', mbyilie:'义烈', diff --git a/character/refresh.js b/character/refresh.js index a64d7c3bf..4e75e2c6a 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -15533,7 +15533,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_simalang:'界司马朗', re_simalang_prefix:'界', requji:'去疾', - requji_info:'出牌阶段限一次,你可以弃置至多X张牌并令等量名角色回复1点体力,然后仍处于受伤状态的目标角色摸一张牌,若你以此法弃置了黑色牌,你失去1点体力。', + requji_info:'出牌阶段限一次,你可以弃置至多X张牌并令等量名角色回复1点体力,然后仍处于受伤状态的目标角色摸一张牌,若你以此法弃置了黑色牌,你失去1点体力(X为你已损失的体力值)。', rejunbing:'郡兵', rejunbing_info:'一名角色的结束阶段,若其手牌数小于其体力值,其可以摸一张牌并将所有手牌交给你,然后你可以交给其等量的牌。', re_zhugedan:'界诸葛诞', diff --git a/character/sb.js b/character/sb.js index 4538769b2..66f184636 100644 --- a/character/sb.js +++ b/character/sb.js @@ -195,7 +195,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, sbyijue:{ audio:2, - trigger:{source:'damageBegin3'}, + trigger:{source:'damageBegin2'}, filter:function(event,player){ return event.num>=event.player.hp&&!player.getStorage('sbyijue').includes(event.player); }, diff --git a/character/sp.js b/character/sp.js index 24bd2306d..077b9a98d 100755 --- a/character/sp.js +++ b/character/sp.js @@ -1526,9 +1526,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ filter:function(event,player){ if(player.countCards('h')!=1||typeof get.number(player.getCards('h')[0],player)!='number') return false; if(player.hasSkill('hezhong_0')&&player.hasSkill('hezhong_1')) return false; - if(event.getg) return event.getg(player).length; - var evt=event.getl(player); - return evt&&evt.player==player&&evt.hs&&evt.hs.length>0; + let gain=0,lose=0; + if(event.getg) gain=event.getg(player).length; + if(event.getl) lose=event.getl(player).hs.length; + return gain!=lose; }, prompt2:function(event,player){ var str='展示最后一张手牌并摸一张牌'; @@ -1589,6 +1590,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{player:'useCard'}, filter:function(event,player){ if(get.type(event.card)!='trick') return false; + if(!event.targets.length) return false; var num=get.number(event.card,player); return typeof num=='number'&&player.getStorage('hezhong_0').some(numx=>num>numx); }, @@ -1625,6 +1627,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{player:'useCard'}, filter:function(event,player){ if(get.type(event.card)!='trick') return false; + if(!event.targets.length) return false; var num=get.number(event.card,player); return typeof num=='number'&&player.getStorage('hezhong_1').some(numx=>num{ if(evt.getParent()!=event) return false; return event.cards.every(card=>{ diff --git a/noname/library/index.js b/noname/library/index.js index 4e78c58f9..55ac530c5 100644 --- a/noname/library/index.js +++ b/noname/library/index.js @@ -148,7 +148,7 @@ export class Library extends Uninstantable { const cs = lib.linq.cselector; const g1 = cs.group( cs.of( - cs.class("player", "identity"), + cs.class("player ", "identity"), cs.isAttr("data-color", `"${id}"`) ), cs.of(