diff --git a/audio/die/clan_xunyou.mp3 b/audio/die/clan_xunyou.mp3 new file mode 100644 index 000000000..ece1d4b01 Binary files /dev/null and b/audio/die/clan_xunyou.mp3 differ diff --git a/audio/die/dianwei.mp3 b/audio/die/dianwei.mp3 index 5b4a712e8..4786c1cde 100644 Binary files a/audio/die/dianwei.mp3 and b/audio/die/dianwei.mp3 differ diff --git a/audio/die/pangtong.mp3 b/audio/die/pangtong.mp3 index 0e00bf743..0380afc74 100644 Binary files a/audio/die/pangtong.mp3 and b/audio/die/pangtong.mp3 differ diff --git a/audio/die/taishici.mp3 b/audio/die/taishici.mp3 index ce5a3db1f..68b51f778 100644 Binary files a/audio/die/taishici.mp3 and b/audio/die/taishici.mp3 differ diff --git a/audio/die/xin_fazheng.mp3 b/audio/die/xin_fazheng.mp3 new file mode 100644 index 000000000..e6443765e Binary files /dev/null and b/audio/die/xin_fazheng.mp3 differ diff --git a/audio/die/xin_xushu.mp3 b/audio/die/xin_xushu.mp3 new file mode 100644 index 000000000..88ee4a4b0 Binary files /dev/null and b/audio/die/xin_xushu.mp3 differ diff --git a/audio/die/yanwen.mp3 b/audio/die/yanwen.mp3 index 253667174..76533587c 100644 Binary files a/audio/die/yanwen.mp3 and b/audio/die/yanwen.mp3 differ diff --git a/audio/die/yuanshao.mp3 b/audio/die/yuanshao.mp3 index 40efb95f4..49074551c 100644 Binary files a/audio/die/yuanshao.mp3 and b/audio/die/yuanshao.mp3 differ diff --git a/audio/die/yuanshu.mp3 b/audio/die/yuanshu.mp3 index a864cf44f..8fcdbeb0f 100644 Binary files a/audio/die/yuanshu.mp3 and b/audio/die/yuanshu.mp3 differ diff --git a/audio/skill/bazhen1.mp3 b/audio/skill/bazhen1.mp3 index 65085badc..43da4a7d2 100755 Binary files a/audio/skill/bazhen1.mp3 and b/audio/skill/bazhen1.mp3 differ diff --git a/audio/skill/bazhen2.mp3 b/audio/skill/bazhen2.mp3 index 3b582a6c1..5d805f25a 100755 Binary files a/audio/skill/bazhen2.mp3 and b/audio/skill/bazhen2.mp3 differ diff --git a/audio/skill/chongzhen1.mp3 b/audio/skill/chongzhen1.mp3 new file mode 100644 index 000000000..a6fe33780 Binary files /dev/null and b/audio/skill/chongzhen1.mp3 differ diff --git a/audio/skill/chongzhen11.mp3 b/audio/skill/chongzhen11.mp3 deleted file mode 100644 index dcd4ae149..000000000 Binary files a/audio/skill/chongzhen11.mp3 and /dev/null differ diff --git a/audio/skill/chongzhen12.mp3 b/audio/skill/chongzhen12.mp3 deleted file mode 100644 index 2412b86fe..000000000 Binary files a/audio/skill/chongzhen12.mp3 and /dev/null differ diff --git a/audio/skill/chongzhen2.mp3 b/audio/skill/chongzhen2.mp3 new file mode 100644 index 000000000..0c5bfda72 Binary files /dev/null and b/audio/skill/chongzhen2.mp3 differ diff --git a/audio/skill/chongzhen21.mp3 b/audio/skill/chongzhen21.mp3 deleted file mode 100644 index dcd4ae149..000000000 Binary files a/audio/skill/chongzhen21.mp3 and /dev/null differ diff --git a/audio/skill/chongzhen22.mp3 b/audio/skill/chongzhen22.mp3 deleted file mode 100644 index 2412b86fe..000000000 Binary files a/audio/skill/chongzhen22.mp3 and /dev/null differ diff --git a/audio/skill/clanbaichu1.mp3 b/audio/skill/clanbaichu1.mp3 new file mode 100644 index 000000000..5c9ab8004 Binary files /dev/null and b/audio/skill/clanbaichu1.mp3 differ diff --git a/audio/skill/clanbaichu2.mp3 b/audio/skill/clanbaichu2.mp3 new file mode 100644 index 000000000..0f0eb5f5d Binary files /dev/null and b/audio/skill/clanbaichu2.mp3 differ diff --git a/audio/skill/clandaojie_clan_xunyou1.mp3 b/audio/skill/clandaojie_clan_xunyou1.mp3 new file mode 100644 index 000000000..83a274170 Binary files /dev/null and b/audio/skill/clandaojie_clan_xunyou1.mp3 differ diff --git a/audio/skill/clandaojie_clan_xunyou2.mp3 b/audio/skill/clandaojie_clan_xunyou2.mp3 new file mode 100644 index 000000000..4102b31f1 Binary files /dev/null and b/audio/skill/clandaojie_clan_xunyou2.mp3 differ diff --git a/audio/skill/enyuan11.mp3 b/audio/skill/enyuan1.mp3 similarity index 100% rename from audio/skill/enyuan11.mp3 rename to audio/skill/enyuan1.mp3 diff --git a/audio/skill/enyuan12.mp3 b/audio/skill/enyuan12.mp3 deleted file mode 100644 index 3d6f16f81..000000000 Binary files a/audio/skill/enyuan12.mp3 and /dev/null differ diff --git a/audio/skill/enyuan2.mp3 b/audio/skill/enyuan2.mp3 index c2b1784e6..3d6f16f81 100644 Binary files a/audio/skill/enyuan2.mp3 and b/audio/skill/enyuan2.mp3 differ diff --git a/audio/skill/enyuan21.mp3 b/audio/skill/enyuan21.mp3 deleted file mode 100644 index e90de1a80..000000000 Binary files a/audio/skill/enyuan21.mp3 and /dev/null differ diff --git a/audio/skill/enyuan22.mp3 b/audio/skill/enyuan22.mp3 deleted file mode 100644 index 0e14e74b3..000000000 Binary files a/audio/skill/enyuan22.mp3 and /dev/null differ diff --git a/audio/skill/huoji1.mp3 b/audio/skill/huoji1.mp3 index 117c15875..e41397339 100755 Binary files a/audio/skill/huoji1.mp3 and b/audio/skill/huoji1.mp3 differ diff --git a/audio/skill/huoji2.mp3 b/audio/skill/huoji2.mp3 index 935aa5edd..50ef4a50f 100755 Binary files a/audio/skill/huoji2.mp3 and b/audio/skill/huoji2.mp3 differ diff --git a/audio/skill/jieyue11.mp3 b/audio/skill/jieyue1.mp3 similarity index 100% rename from audio/skill/jieyue11.mp3 rename to audio/skill/jieyue1.mp3 diff --git a/audio/skill/jieyue12.mp3 b/audio/skill/jieyue12.mp3 deleted file mode 100644 index b02153629..000000000 Binary files a/audio/skill/jieyue12.mp3 and /dev/null differ diff --git a/audio/skill/jieyue2.mp3 b/audio/skill/jieyue2.mp3 index 42b2ce156..b02153629 100755 Binary files a/audio/skill/jieyue2.mp3 and b/audio/skill/jieyue2.mp3 differ diff --git a/audio/skill/jieyue3.mp3 b/audio/skill/jieyue_shan.mp3 old mode 100755 new mode 100644 similarity index 100% rename from audio/skill/jieyue3.mp3 rename to audio/skill/jieyue_shan.mp3 diff --git a/audio/skill/jieyue_wuxie.mp3 b/audio/skill/jieyue_wuxie.mp3 new file mode 100644 index 000000000..42b2ce156 Binary files /dev/null and b/audio/skill/jieyue_wuxie.mp3 differ diff --git a/audio/skill/kanpo1.mp3 b/audio/skill/kanpo1.mp3 index 49713052c..fc993a908 100755 Binary files a/audio/skill/kanpo1.mp3 and b/audio/skill/kanpo1.mp3 differ diff --git a/audio/skill/kanpo2.mp3 b/audio/skill/kanpo2.mp3 index dfe6cc93a..3e50f7503 100755 Binary files a/audio/skill/kanpo2.mp3 and b/audio/skill/kanpo2.mp3 differ diff --git a/audio/skill/lianhuan1.mp3 b/audio/skill/lianhuan1.mp3 new file mode 100644 index 000000000..797d8db17 Binary files /dev/null and b/audio/skill/lianhuan1.mp3 differ diff --git a/audio/skill/lianhuan11.mp3 b/audio/skill/lianhuan11.mp3 deleted file mode 100755 index 3e04ba4c1..000000000 Binary files a/audio/skill/lianhuan11.mp3 and /dev/null differ diff --git a/audio/skill/lianhuan12.mp3 b/audio/skill/lianhuan12.mp3 deleted file mode 100755 index 1a1ae544a..000000000 Binary files a/audio/skill/lianhuan12.mp3 and /dev/null differ diff --git a/audio/skill/lianhuan2.mp3 b/audio/skill/lianhuan2.mp3 new file mode 100644 index 000000000..f9a882efa Binary files /dev/null and b/audio/skill/lianhuan2.mp3 differ diff --git a/audio/skill/lianhuan21.mp3 b/audio/skill/lianhuan21.mp3 deleted file mode 100755 index fa00b1464..000000000 Binary files a/audio/skill/lianhuan21.mp3 and /dev/null differ diff --git a/audio/skill/lianhuan22.mp3 b/audio/skill/lianhuan22.mp3 deleted file mode 100755 index a45f1f15f..000000000 Binary files a/audio/skill/lianhuan22.mp3 and /dev/null differ diff --git a/audio/skill/longdan_shan1.mp3 b/audio/skill/longdan_shan1.mp3 deleted file mode 100755 index 89bc5033f..000000000 Binary files a/audio/skill/longdan_shan1.mp3 and /dev/null differ diff --git a/audio/skill/longdan_shan2.mp3 b/audio/skill/longdan_shan2.mp3 deleted file mode 100755 index ee1d32918..000000000 Binary files a/audio/skill/longdan_shan2.mp3 and /dev/null differ diff --git a/audio/skill/luanji1.mp3 b/audio/skill/luanji1.mp3 index 4aae5f3a6..214cd3050 100755 Binary files a/audio/skill/luanji1.mp3 and b/audio/skill/luanji1.mp3 differ diff --git a/audio/skill/luanji2.mp3 b/audio/skill/luanji2.mp3 index f5032f7aa..a1bddefbe 100755 Binary files a/audio/skill/luanji2.mp3 and b/audio/skill/luanji2.mp3 differ diff --git a/audio/skill/niepan1.mp3 b/audio/skill/niepan1.mp3 index 616e96354..bd1ff3549 100755 Binary files a/audio/skill/niepan1.mp3 and b/audio/skill/niepan1.mp3 differ diff --git a/audio/skill/niepan2.mp3 b/audio/skill/niepan2.mp3 index eb9e987ac..5fab190c7 100755 Binary files a/audio/skill/niepan2.mp3 and b/audio/skill/niepan2.mp3 differ diff --git a/audio/skill/qiangxi1.mp3 b/audio/skill/qiangxi1.mp3 index f9a6357ce..84270af42 100755 Binary files a/audio/skill/qiangxi1.mp3 and b/audio/skill/qiangxi1.mp3 differ diff --git a/audio/skill/qiangxi2.mp3 b/audio/skill/qiangxi2.mp3 index 32b923058..1acebbfb1 100755 Binary files a/audio/skill/qiangxi2.mp3 and b/audio/skill/qiangxi2.mp3 differ diff --git a/audio/skill/qice_clan_xunyou1.mp3 b/audio/skill/qice_clan_xunyou1.mp3 new file mode 100644 index 000000000..8b6ccad1e Binary files /dev/null and b/audio/skill/qice_clan_xunyou1.mp3 differ diff --git a/audio/skill/qice_clan_xunyou2.mp3 b/audio/skill/qice_clan_xunyou2.mp3 new file mode 100644 index 000000000..426f2fe79 Binary files /dev/null and b/audio/skill/qice_clan_xunyou2.mp3 differ diff --git a/audio/skill/rehongyan1.mp3 b/audio/skill/rehongyan1.mp3 index 4e0962348..be3c39d5c 100644 Binary files a/audio/skill/rehongyan1.mp3 and b/audio/skill/rehongyan1.mp3 differ diff --git a/audio/skill/shuangxiong.mp3 b/audio/skill/shuangxiong.mp3 deleted file mode 100755 index ad341846d..000000000 Binary files a/audio/skill/shuangxiong.mp3 and /dev/null differ diff --git a/audio/skill/shuangxiong1.mp3 b/audio/skill/shuangxiong1.mp3 index ad341846d..0d02fcd46 100644 Binary files a/audio/skill/shuangxiong1.mp3 and b/audio/skill/shuangxiong1.mp3 differ diff --git a/audio/skill/shuangxiong2.mp3 b/audio/skill/shuangxiong2.mp3 index 8eccc4791..f5d5f0e3f 100755 Binary files a/audio/skill/shuangxiong2.mp3 and b/audio/skill/shuangxiong2.mp3 differ diff --git a/audio/skill/shuangxiong2_re_yanwen.mp3 b/audio/skill/shuangxiong2_re_yanwen.mp3 deleted file mode 100644 index 91548b71c..000000000 Binary files a/audio/skill/shuangxiong2_re_yanwen.mp3 and /dev/null differ diff --git a/audio/skill/shuangxiong1_re_yanwen.mp3 b/audio/skill/shuangxiong_re_yanwen1.mp3 similarity index 100% rename from audio/skill/shuangxiong1_re_yanwen.mp3 rename to audio/skill/shuangxiong_re_yanwen1.mp3 diff --git a/audio/skill/shuangxiong_re_yanwen.mp3 b/audio/skill/shuangxiong_re_yanwen2.mp3 similarity index 100% rename from audio/skill/shuangxiong_re_yanwen.mp3 rename to audio/skill/shuangxiong_re_yanwen2.mp3 diff --git a/audio/skill/tianyi1.mp3 b/audio/skill/tianyi1.mp3 index f656d6f99..f5fe07100 100755 Binary files a/audio/skill/tianyi1.mp3 and b/audio/skill/tianyi1.mp3 differ diff --git a/audio/skill/tianyi2.mp3 b/audio/skill/tianyi2.mp3 index 4ecfe958a..e4dc622ee 100755 Binary files a/audio/skill/tianyi2.mp3 and b/audio/skill/tianyi2.mp3 differ diff --git a/audio/skill/weidi1.mp3 b/audio/skill/weidi1.mp3 index 509ede9fa..f0c044534 100644 Binary files a/audio/skill/weidi1.mp3 and b/audio/skill/weidi1.mp3 differ diff --git a/audio/skill/weidi2.mp3 b/audio/skill/weidi2.mp3 index 5903ab1f8..14576b98d 100644 Binary files a/audio/skill/weidi2.mp3 and b/audio/skill/weidi2.mp3 differ diff --git a/audio/skill/xinenyuan.mp3 b/audio/skill/xinenyuan.mp3 deleted file mode 100644 index c2b1784e6..000000000 Binary files a/audio/skill/xinenyuan.mp3 and /dev/null differ diff --git a/audio/skill/xinenyuan1.mp3 b/audio/skill/xinenyuan1.mp3 new file mode 100644 index 000000000..bd65c8e83 Binary files /dev/null and b/audio/skill/xinenyuan1.mp3 differ diff --git a/audio/skill/xinenyuan2.mp3 b/audio/skill/xinenyuan2.mp3 index 727ad702a..3eca98867 100644 Binary files a/audio/skill/xinenyuan2.mp3 and b/audio/skill/xinenyuan2.mp3 differ diff --git a/audio/skill/xinxuanhuo1.mp3 b/audio/skill/xinxuanhuo1.mp3 index 79a5639dc..79c45cb43 100644 Binary files a/audio/skill/xinxuanhuo1.mp3 and b/audio/skill/xinxuanhuo1.mp3 differ diff --git a/audio/skill/xinxuanhuo2.mp3 b/audio/skill/xinxuanhuo2.mp3 index 9b99c324d..e7391c305 100644 Binary files a/audio/skill/xinxuanhuo2.mp3 and b/audio/skill/xinxuanhuo2.mp3 differ diff --git a/audio/skill/yongsi1.mp3 b/audio/skill/yongsi1.mp3 new file mode 100644 index 000000000..586766d9b Binary files /dev/null and b/audio/skill/yongsi1.mp3 differ diff --git a/audio/skill/yongsi11.mp3 b/audio/skill/yongsi11.mp3 deleted file mode 100644 index d8207e3de..000000000 Binary files a/audio/skill/yongsi11.mp3 and /dev/null differ diff --git a/audio/skill/yongsi12.mp3 b/audio/skill/yongsi12.mp3 deleted file mode 100644 index 86e32940e..000000000 Binary files a/audio/skill/yongsi12.mp3 and /dev/null differ diff --git a/audio/skill/yongsi2.mp3 b/audio/skill/yongsi2.mp3 new file mode 100644 index 000000000..8308a5744 Binary files /dev/null and b/audio/skill/yongsi2.mp3 differ diff --git a/audio/skill/yongsi21.mp3 b/audio/skill/yongsi21.mp3 deleted file mode 100644 index d8207e3de..000000000 Binary files a/audio/skill/yongsi21.mp3 and /dev/null differ diff --git a/audio/skill/yongsi22.mp3 b/audio/skill/yongsi22.mp3 deleted file mode 100644 index 86e32940e..000000000 Binary files a/audio/skill/yongsi22.mp3 and /dev/null differ diff --git a/character/old.js b/character/old.js index 0e86e2529..62410566d 100755 --- a/character/old.js +++ b/character/old.js @@ -62,7 +62,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ old_guanyu:['male','shu',4,['wusheng','yijue']], old_caochun:['male','wei',4,['shanjia']], masu:['male','shu',3,['xinzhan','huilei']], - xushu:['male','shu',3,['xswuyan','jujian'],['border:wei']], + xushu:['male','shu',3,['wuyan','jujian'],['border:wei']], liru:['male','qun',3,['juece','mieji','fencheng']], xin_yujin:['male','wei',4,['jieyue']], //lusu:['male','wu',3,['haoshi','dimeng']], diff --git a/character/refresh.js b/character/refresh.js index e557e099f..3b91346d3 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -11388,12 +11388,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ check:function (card){return 8-get.value(card)}, }, reshuangxiong:{ + audio:"shuangxiong", + audioname:['re_yanwen'], + group:['reshuangxiong1',"reshuangxiong2"], + }, + reshuangxiong1:{ + audio:"shuangxiong1", + audioname:['re_yanwen'], trigger:{ player:"phaseDrawBegin1", }, - group:"reshuangxiong2", - audio:"shuangxiong", - audioname:['re_yanwen'], check:function (event,player){ if(player.countCards('h')>player.hp) return true; if(player.countCards('h')>3) return true; @@ -11402,7 +11406,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ filter:function(event,player){ return !event.numFixed; }, - content:function (){ + prompt2:function(){ + return '放弃摸牌,然后展示牌堆顶的两张牌并选择获得其中的一张。本回合内可以将与此牌颜色不同的一张手牌当做【决斗】使用'; + }, + content:function(){ "step 0" trigger.changeToZero(); event.cards=get.cards(2); @@ -11450,10 +11457,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var card2=event.card2; player.gain(card2,'gain2'); player.addTempSkill('shuangxiong2'); - player.storage.shuangxiong=get.color(card2); + player.markAuto('shuangxiong2',[get.color(card2,false)]); }, }, - "reshuangxiong2":{ + reshuangxiong2:{ trigger:{ player:"damageEnd", }, @@ -14790,9 +14797,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rekanpo:"看破", rekanpo_info:"你可以将一张黑色牌当作【无懈可击】使用。", reshuangxiong:"双雄", - "reshuangxiong_info":"摸牌阶段,你可以放弃摸牌。若如此做,你展示牌堆顶的两张牌并选择获得其中的一张。然后,你本回合内可以将与此牌颜色不同的一张手牌当做【决斗】使用。当你受到【决斗】造成的伤害时,你可以获得对方于此决斗中打出的所有【杀】。", - "reshuangxiong2":"双雄", - "reshuangxiong2_info":"", + reshuangxiong1:"双雄", + reshuangxiong2:"双雄", + reshuangxiong_info:"摸牌阶段,你可以放弃摸牌。若如此做,你展示牌堆顶的两张牌并选择获得其中的一张。然后,你本回合内可以将与此牌颜色不同的一张手牌当做【决斗】使用。当你受到【决斗】造成的伤害时,你可以获得对方于此决斗中打出的所有【杀】。", reguanxing:'观星', reguanxing_info:'准备阶段,你可以观看牌堆顶的五张牌(存活角色小于4时改为三张),并将其以任意顺序置于牌堆项或牌堆底,若你将〖观星〗的牌都放在了牌堆底,则你可以在结束阶段再次发动〖观星〗。', diff --git a/character/shenhua.js b/character/shenhua.js index 58cecb125..a37bad210 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -27,7 +27,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ // yuji:['male','qun',3,['guhuo']], // xin_yuji:['male','qun',3,['guhuo']], - sp_zhugeliang:['male','shu',3,['huoji','bazhen','kanpo']], + sp_zhugeliang:['male','shu',3,['bazhen','huoji','kanpo']], pangtong:['male','shu',3,['lianhuan','oldniepan']], xunyu:['male','wei',3,['quhu','jieming'],['clan:颍川荀氏']], dianwei:['male','wei',4,['qiangxix']], @@ -143,7 +143,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ skill:{ //庞统写法修改 lianhuan:{ - audio:'lianhuan1', + audio:2, hiddenCard:(player,name)=>{ return name=='tiesuo'&&player.hasCard(card=>get.suit(card)=='club','sh'); }, @@ -215,8 +215,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.recast(cards); }, }, - lianhuan1:{audio:2}, - lianhuan2:{audio:2}, //新杀小加强 陈到 dcwanglie:{ audio:'drlt_wanglie', @@ -6024,6 +6022,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ charlotte:true, }, shuangxiong:{ + audio:2, + audioname:['re_yanwen'], + group:'shuangxiong1', + }, + shuangxiong1:{ audio:true, audioname:['re_yanwen'], trigger:{player:'phaseDrawBegin1'}, @@ -6036,39 +6039,53 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return !event.numFixed; }, preHidden:true, + prompt2:()=>'进行一次判定,本回合可以将一张与此牌颜色不同的手牌当作【决斗】使用', content:function(){ - player.judge().set('callback',lib.skill.shuangxiong.callback); + player.judge().set('callback',lib.skill.shuangxiong1.callback); trigger.changeToZero(); }, callback:function(){ player.gain(card,'gain2'); player.addTempSkill('shuangxiong2'); - player.storage.shuangxiong=event.judgeResult.color; + player.markAuto('shuangxiong2',[event.judgeResult.color]); }, }, shuangxiong2:{ + charlotte:true, + onremove:true, audio:true, audioname:['re_yanwen'], enable:'chooseToUse', - prompt:function(){ - var player=_status.event.player; - var str='将一张'+(player.storage.shuangxiong!='red'?'红':'黑')+'色手牌当做【决斗】使用'; - return str; - }, viewAs:{name:'juedou'}, position:'hs', - onremove:true, + viewAsFilter:function(player){ + return player.hasCard(card=>lib.skill.shuangxiong2.filterCard(card,player),'hs'); + }, filterCard:function(card,player){ - return get.color(card)!=player.storage.shuangxiong; + var color=get.color(card),colors=player.getStorage('shuangxiong2'); + for(var i of colors){ + if(color!=i) return true; + } + return false; + }, + prompt:function(){ + var colors=_status.event.player.getStorage('shuangxiong2'); + var str='将一张颜色'; + for(var i=0;i0) str+='或'; + str+='不为'; + str+=get.translation(colors[i]); + } + str+='的牌当做【决斗】使用'; + return str; }, check:function(card){ - return 8-get.value(card); + var player=_status.event.player; + var raw=player.getUseValue(card,null,true); + var eff=player.getUseValue(get.autoViewAs({name:'juedou'},[card])); + return eff-raw; }, - ai:{ - basic:{ - order:10 - } - } + ai:{order:7}, }, luanji:{ audio:2, @@ -8073,6 +8090,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ qiangxi:'强袭', tianyi:'天义', shuangxiong:'双雄', + shuangxiong1:'双雄', shuangxiong2:'双雄', luanji:'乱击', xueyi:'血裔', diff --git a/character/shiji.js b/character/shiji.js index f00dad3d3..900c94e24 100644 --- a/character/shiji.js +++ b/character/shiji.js @@ -1469,15 +1469,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{player:'useCard1'}, forced:true, filter:function(event,player){ - if(event.card.name!='sha'||!event.cards||event.cards.length!=1) return false; + if(event.card.name!='sha'||!event.cards||!event.cards.length) return false; var evt=event.getParent('phaseUse'); return evt&&evt.player==player&&player.getHistory('useCard',function(evt2){ - return evt2.card.name=='sha'&&evt.cards&&evt.cards.length==1&&evt2.getParent('phaseUse')==evt; + return evt2.card.name=='sha'&&evt2.cards&&evt2.cards.length&&evt2.getParent('phaseUse')==evt; }).indexOf(event)==0; }, content:function(){ game.log(player,'将',trigger.card,'的花色改为','#y♦'); trigger.card.suit='diamond'; + trigger.card.color='red'; }, group:'liubing_gain', subSkill:{ @@ -6471,7 +6472,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ heji:'合击', heji_info:'当有角色使用的【决斗】或红色【杀】结算完成后,若此牌对应的目标数为1,则你可以对相同的目标使用一张【杀】或【决斗】(无距离和次数限制)。若你以此法使用的牌不为转化牌,则你从牌堆中随机获得一张红色牌。', liubing:'流兵', - liubing_info:'锁定技。①你于出牌阶段使用的第一张有唯一对应实体牌的【杀】的花色视为♦。②其他角色于其出牌阶段内使用的非转化黑色杀结算结束后,若此【杀】未造成伤害,则你获得之。', + liubing_info:'锁定技。①你于出牌阶段使用的第一张非虚拟【杀】的花色视为♦。②其他角色于其出牌阶段内使用的非转化黑色杀结算结束后,若此【杀】未造成伤害,则你获得之。', sp_mifuren:'手杀糜夫人', spcunsi:'存嗣', spcunsi2:'存嗣', diff --git a/character/sp.js b/character/sp.js index 897ef3c91..436c58ebe 100755 --- a/character/sp.js +++ b/character/sp.js @@ -749,7 +749,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(!i) continue; str+='
'; str+=get.translation(target)+'的下个结束阶段,其可令你获得其本回合使用的最后一张牌对应的所有位于弃牌堆的实体牌'; - str+=',然后若此牌名为'+get.translation(player.storage.ollianju_effect[i])+',则你失去1点体力'; + str+=',然后若此牌名为'+get.translation(player.storage.ollianju_effect[i])+',则你失去1点体力,否则你可以视为使用'+get.translation(player.storage.ollianju_effect[i]); } } return str; @@ -779,10 +779,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger.player.chooseBool(get.prompt('ollianju',player),'令'+get.translation(player)+'获得'+get.translation(evt.cards.filterInD('d'))+(event.list.contains(evt.card.name)?',然后'+get.translation(player)+'失去1点体力':'')).set('choice',get.attitude(trigger.player,player)>0&&(!event.list.contains(evt.card.name)||player.getHp()>1)); 'step 2' if(result.bool){ - var evt=event.evt; + var evt=event.evt,cards=evt.cards.filterInD('d'); trigger.player.line(player); - player.gain(evt.cards.filterInD('d'),'gain2'); + player.gain(cards,'gain2'); if(event.list.contains(evt.card.name)) player.loseHp(); + else{ + var card={ + name:evt.card.name, + isCard:true, + }; + if(player.hasUseTarget(card)) player.chooseUseTarget(card,false); + } } }, }, @@ -797,13 +804,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ filter:function(event,player){ var name=player.storage.ollianju; if(!name) return false; - if(event.getg) return event.getg(player).some(card=>card.name==name); - return event.getl(player).cards2.some(card=>card.name==name); + if(event.getg) return event.getg(player).some(card=>card.name==name)&&!player.hasSkill('olsilv_gain'); + return event.getl(player).cards2.some(card=>card.name==name)&&!player.hasSkill('olsilv_lose'); }, forced:true, - usable:1, content:function(){ 'step 0' + player.addTempSkill('olsilv'+(trigger.getg?'gain':'lose')); if(!trigger.visible){ var cards,name=player.storage.ollianju; if(trigger.getg) cards=trigger.getg(player).filter(card=>card.name==name); @@ -814,6 +821,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.draw(); }, ai:{combo:'ollianju'}, + subSkill:{ + gain:{charlotte:true}, + lose:{charlotte:true}, + }, }, //丁尚涴 olfudao:{ @@ -829,27 +840,44 @@ game.import('character',function(lib,game,ui,get,ai,_status){ locked:false, content:function(){ 'step 0' - var list=[],num=player.countCards('he'); - for(var i=-4;i<=4;i++){ - if(num+i<0||i==0) continue; - list.push(i); - } - player.chooseControl(list).set('prompt','讽言:请选择一个数字').set('prompt2','令此数值作为调整的手牌数值').set('ai',function(){ - var list=[],num=_status.event.player.countCards('he'); - for(var i=-4;i<=4;i++){ - if(num+i<0||i==0) continue; - if(i>0&&i!=4) continue; - list.push(i); - } - return list.randomGet(); - }); + player.draw(3); 'step 1' - var num=result.control - player.popup(num); - if(num>0) player.draw(num); - else player.chooseToDiscard('he',true,-num); + var num=player.countCards('h'); + if(num>0){ + player.chooseCardTarget({ + prompt:'抚悼:将至多三手张牌交给一名其他角色', + selectCard:[1,3], + filterCard:true, + filterTarget:lib.filter.notMe, + position:'h', + forced:true, + ai1:function(card){ + if(card.name=='du') return 10; + else if(ui.selected.cards.length&&ui.selected.cards[0].name=='du') return 0; + var player=_status.event.player; + if(ui.selected.cards.length>4||!game.hasPlayer(function(current){ + return get.attitude(player,current)>0&&!current.hasSkillTag('nogain'); + })) return 0; + return 1/Math.max(0.1,get.value(card)); + }, + ai2:function(target){ + var player=_status.event.player,att=get.attitude(player,target); + if(ui.selected.cards[0].name=='du') return -att; + if(target.hasSkillTag('nogain')) att/=6; + return att; + }, + }); + } + else event.goto(3); 'step 2' - player.storage.olfudao=player.countCards('he'); + if(result.bool){ + player.give(result.cards,result.targets[0]); + } + 'step 3' + var num=player.countCards('h'); + if(num>0) player.chooseToDiscard('h',[1,num],'抚悼:弃置任意张手牌,然后记录手牌数'); + 'step 4' + player.storage.olfudao=player.countCards('h'); player.markSkill('olfudao'); }, intro:{ @@ -17224,7 +17252,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, xinyongsi:{ - audio:'yongsi1', + audio:'yongsi', group:['xinyongsi1','xinyongsi2'], locked:true, }, @@ -17979,7 +18007,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.awakenSkill('yongdi'); target.gainMaxHp(); target.recover(); - var mode=get.mode(); var skills=target.getStockSkills(true,true).filter(skill=>{ if(target.hasSkill(skill)) return false; var info=get.info(skill); @@ -17988,6 +18015,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(skills.length){ for(var i of skills) target.addSkillLog(i); } + if(target.isZhu2()) event.trigger('zhuUpdate'); } }, ai:{expose:0.2}, @@ -23366,15 +23394,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, yongsi:{ - audio:'yongsi1', + audio:2, group:['yongsi1','yongsi2'], locked:true, ai:{ - threaten:2.2 + threaten:3.2 } }, yongsi1:{ - audio:2, + audio:true, trigger:{player:'phaseDrawBegin2'}, forced:true, filter:function(event,player){ @@ -23385,7 +23413,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, yongsi2:{ - audio:2, + audio:true, trigger:{player:'phaseDiscardBegin'}, forced:true, content:function(){ @@ -23598,8 +23626,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, chongzhen:{ - group:['chongzhen1','chongzhen2'], - audio:'chongzhen1', + audio:2, + trigger:{player:['useCard','respond']}, + filter:function(event,player){ + if(event.card.name!='sha'&&event.card.name!='shan') return false; + if(!event.skill||event.skill.indexOf('fanghun')+event.skill.indexOf('longdan')==-2) return false; + var target=lib.skill.chongzhen.logTarget(event,player); + return target&&target.countGainableCards(player,'h')>0; + }, + logTarget:function(event,player){ + if(event.name=='respond') return event.source; + if(event.card.name=='sha') return event.targets[0]; + return event.respondTo[0]; + }, + prompt2:function(event,player){ + var target=lib.skill.chongzhen.logTarget(event,player); + return '获得'+get.translation(target)+'的一张手牌'; + }, + content:function(){ + var target=lib.skill.chongzhen.logTarget(trigger,player); + player.gainPlayerCard(target,'h',true); + }, ai:{ combo:'ollongdan', mingzhi:false, @@ -23616,40 +23663,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, }, - } - }, - chongzhen1:{ - audio:2, - trigger:{player:'useCard'}, - filter:function(event,player){ - if((event.card.name!='sha'&&event.card.name!='shan')||(event.skill!='longdan_shan'&&event.skill!='longdan_sha'&& - event.skill!='fanghun_shan'&&event.skill!='fanghun_sha'&&event.skill!='ollongdan')) return false; - var target=lib.skill.chongzhen1.logTarget(event,player); - return target&&target.countGainableCards(player,'h')>0; }, - logTarget:function(event,player){ - if(event.card.name=='sha') return event.targets[0]; - return event.respondTo[0]; - }, - prompt2:'当你因发动〖龙胆〗而使用或打出【杀】或【闪】时,你可以获得对方的一张手牌。', - content:function(){ - var target=lib.skill.chongzhen1.logTarget(trigger,player); - player.gainPlayerCard(target,'h',true); - } - }, - chongzhen2:{ - audio:2, - trigger:{player:'respond'}, - filter:function(event,player){ - if(event.skill!='longdan_shan'&&event.skill!='longdan_sha'&& - event.skill!='fanghun_shan'&&event.skill!='fanghun_sha'&&event.skill!='ollongdan') return false; - return event.source&&event.source.countGainableCards(player,'h')>0; - }, - logTarget:'source', - prompt2:'当你因发动〖龙胆〗而使用或打出【杀】或【闪】时,你可以获得对方的一张手牌。', - content:function(){ - player.gainPlayerCard(trigger.source,'h',true); - } }, lihun:{ audio:2, @@ -25826,8 +25840,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ baobian:'豹变', lihun:'离魂', chongzhen:'冲阵', - chongzhen1:'冲阵', - chongzhen2:'冲阵', yuanhu:'援护', tianming:'天命', mizhao:'密诏', @@ -26494,15 +26506,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ol_dingshangwan:'OL丁尚涴', ol_dingshangwan_prefix:'OL', olfudao:'抚悼', - olfudao_info:'①游戏开始时,你选择弃置或摸至多四张牌,然后记录你的手牌数。②一名角色的回合结束时,若其手牌数和你发动〖抚悼①〗记录的数值相同,则你可以与其各摸一张牌。', + olfudao_info:'①游戏开始时,你摸三张牌并将至多三张手牌交给一名其他角色,然后弃置任意张手牌并记录你的手牌数。②一名角色的回合结束时,若其手牌数和你发动〖抚悼①〗记录的数值相同,则你可以与其各摸一张牌。', olfengyan:'讽言', olfengyan_info:'锁定技。①当你受到其他角色造成的伤害后,你摸一张牌,然后交给其一张牌。②当你响应其他角色使用的牌时,其摸一张牌,然后弃置两张牌。', ol_liwan:'OL李婉', ol_liwan_prefix:'OL', ollianju:'联句', - ollianju_info:'结束阶段,你可以令一名其他角色获得你本回合使用的最后一张牌A对应的所有位于弃牌堆的实体牌并记录A的牌名,然后其下个结束阶段可以令你获得其本回合使用的最后一张牌B对应的所有位于弃牌堆的实体牌,且若A与B的牌名相同,则你失去1点体力。', + ollianju_info:'结束阶段,你可以令一名其他角色获得你本回合使用的最后一张牌A对应的所有位于弃牌堆的实体牌并记录A的牌名,然后其下个结束阶段可以令你获得其本回合使用的最后一张牌B对应的所有位于弃牌堆的实体牌,然后若A与B的牌名相同,则你失去1点体力;若A与B的牌名不同,则你可以视为使用A。', olsilv:'思闾', - olsilv_info:'锁定技,每回合限一次,当你获得或失去你发动〖联句〗记录的最后一次牌名的同名牌后,你展示这些牌,然后摸一张牌。', + olsilv_info:'锁定技,每回合每项限一次,当你获得或失去你发动〖联句〗记录的最后一次牌名的同名牌后,你展示这些牌,然后摸一张牌。', xueji_old:'血祭', xueji_old_info:'出牌阶段限一次,你可以弃置一张红色牌并对攻击范围内的至多X名角色各造成1点伤害(X为你已损失的体力值),然后这些角色各摸一张牌。', oldhuxiao:'虎啸', diff --git a/character/tw.js b/character/tw.js index 8c68d451a..ce0aaca15 100644 --- a/character/tw.js +++ b/character/tw.js @@ -10906,7 +10906,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if (trigger.source.countCards('he')) choiceList.push('令'+get.translation(trigger.source)+'弃置两张牌'); player.chooseControl('cancel2').set('prompt2',get.prompt2('yuzhang')).set('choiceList',choiceList).set('ai',function(){ var player=_status.event.player,source=_status.event.source; - if(get.attitude(player,event.source)>=0) return 'cancel2'; + if(get.attitude(player,source)>=0) return 'cancel2'; if(source.hasSkillTag('noh')||source.hasSkillTag('noe')||source.countCards('h')>=4) return 0; if(source.hp>1&&source.countCards('he')>1) return 1; return [0,1].randomGet(); @@ -10939,7 +10939,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, check:function(event,player){ if(event.name=='phaseDiscard') return player.needsToDiscard(); - return event.name=='phaseJudge'; + if(event.name=='phaseJudge') return player.countCards('j'); + return false; }, content:function(){ player.removeMark('twjingce',1); diff --git a/character/yijiang.js b/character/yijiang.js index 360a92148..ce34eba51 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -30,7 +30,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhugeshang:['male','shu',3,['sangu','yizu']], kebineng:['male','qun',4,['kousheng']], lukai:['male','wu',4,['lkbushi','lkzhongzhuang']], - xin_fazheng:['male','shu',3,['xinenyuan','xinxuanhuo'],['die_audio']], + xin_fazheng:['male','shu',3,['xinxuanhuo','xinenyuan']], guanzhang:['male','shu',4,['fuhun']], wangyi:['female','wei',3,['zhenlie','miji']], caozhang:['male','wei',4,['new_jiangchi']], @@ -6723,15 +6723,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, jieyue:{ - group:'jieyue1' - }, - jieyue1:{ audio:2, trigger:{player:'phaseJieshuBegin'}, direct:true, - filter:function(event,player){ - return !player.getExpansions('jieyue2').length; - }, content:function(){ 'step 0' player.chooseCardTarget({ @@ -6749,7 +6743,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }); 'step 1' if(result.bool){ - player.logSkill('jieyue1',result.targets); + player.logSkill('jieyue',result.targets); player.discard(result.cards); var target=result.targets[0]; event.target=target; @@ -6774,18 +6768,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } 'step 2' if(result.bool&&result.cards&&result.cards.length){ - player.addToExpansion(result.cards,'give',target).gaintag.add('jieyue2'); - player.addSkill('jieyue2'); + player.addToExpansion(result.cards,'give',target).gaintag.add('jieyue'); } else if(event.target.countCards('he')){ player.discardPlayerCard(event.target,true); } }, - ai:{ - expose:0.1 - }, - }, - jieyue2:{ + ai:{expose:0.1}, + marktext:'节', intro:{ content:'expansion', markcount:'expansion', @@ -6794,58 +6784,62 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var cards=player.getExpansions(skill); if(cards.length) player.loseToDiscardpile(cards); }, - marktext:'钺', - audio:true, - enable:'chooseToUse', - filterCard:function(card){ - return get.color(card)=='black'; - }, - viewAsFilter:function(player){ - return player.countCards('hs',{color:'black'})>0; - }, - position:'hs', - viewAs:{name:'wuxie'}, - prompt:'将一张黑色手牌当无懈可击使用', - check:function(card){return 8-get.value(card)}, - threaten:1.2, - charlotte:true, - group:['jieyue3','jieyue4'] - }, - jieyue3:{ - enable:['chooseToRespond','chooseToUse'], - filterCard:function(card){ - return get.color(card)=='red'; - }, - viewAs:{name:'shan'}, - position:'hs', - viewAsFilter:function(player){ - if(!player.countCards('hs',{color:'red'})) return false; - }, - audio:true, - prompt:'将一张红色手牌当闪使用或打出', - check:function(){return 1}, - ai:{ - respondShan:true, - skillTagFilter:function(player){ - if(!player.countCards('h',{color:'red'})) return false; + group:['jieyue_wuxie','jieyue_shan','jieyue_gain'], + subSkill:{ + wuxie:{ + audio:true, + enable:'chooseToUse', + filterCard:function(card){ + return get.color(card)=='black'; + }, + viewAsFilter:function(player){ + return player.getExpansions('jieyue').length&&player.countCards('hs',{color:'black'})>0; + }, + position:'hs', + viewAs:{name:'wuxie'}, + prompt:'将一张黑色手牌当无懈可击使用', + check:function(card){ + return 8-get.value(card); + }, }, - effect:{ - target:function(card,player,target,current){ - if(get.tag(card,'respondShan')&¤t<0) return 0.8 - } - } - } - }, - jieyue4:{ - trigger:{player:'phaseZhunbeiBegin'}, - forced:true, - content:function(){ - 'step 0' - var cards=player.getExpansions('jieyue2'); - if(cards.length) player.gain(cards,'gain2'); - 'step 1' - player.removeSkill('jieyue2'); - } + shan:{ + audio:true, + enable:['chooseToRespond','chooseToUse'], + filterCard:function(card){ + return get.color(card)=='red'; + }, + position:'hs', + viewAs:{name:'shan'}, + viewAsFilter:function(player){ + return player.getExpansions('jieyue').length&&player.countCards('hs',{color:'red'})>0; + }, + prompt:'将一张红色手牌当闪使用或打出', + check:()=>1, + ai:{ + respondShan:true, + skillTagFilter:function(player){ + if(!player.getExpansions('jieyue').length||!player.countCards('hs',{color:'red'})) return false; + }, + effect:{ + target:function(card,player,target,current){ + if(get.tag(card,'respondShan')&¤t<0) return 0.8 + }, + }, + }, + }, + gain:{ + audio:'jieyue', + trigger:{player:'phaseZhunbeiBegin'}, + filter:function(event,player){ + return player.getExpansions('jieyue').length; + }, + forced:true, + content:function(){ + var cards=player.getExpansions('jieyue'); + if(cards.length) player.gain(cards,'gain2'); + }, + }, + }, }, jinjiu:{ mod:{ @@ -12016,12 +12010,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ expose:0.3 } }, - wuyan:{audio:2}, - xswuyan:{ - audio:'wuyan', + wuyan:{ + audio:2, trigger:{target:'useCardToBefore',player:'useCardToBefore'}, forced:true, - priority:15, check:function(event,player){ return get.effect(event.target,event.card,event.player,player)<0; }, @@ -12040,15 +12032,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, player:function(card,player,target,current){ if(get.type(card)=='trick'&&player!=target) return 'zeroplayertarget'; - } - } - } + }, + }, + }, }, xinwuyan:{ audio:2, trigger:{source:'damageBegin2',player:'damageBegin4'}, forced:true, - //priority:15, check:function(event,player){ if(player==event.player) return true; return false; @@ -12866,6 +12857,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, xinenyuan:{ + audio:2, + group:['xinenyuan1','xinenyuan2'], + }, + xinenyuan1:{ + audio:true, + trigger:{player:'gainEnd'}, + filter:function(event,player){ + return event.source&&event.source.isIn()&&event.source!=player&&event.cards.length>=2; + }, + logTarget:'source', + check:function(event,player){ + return get.attitude(player,event.source)>0; + }, + prompt2:function(event,player){ + return '令'+get.translation(event.source)+'摸一张牌'; + }, + content:function(){ + trigger.source.draw(); + }, + }, + xinenyuan2:{ audio:true, trigger:{player:'damageEnd'}, check:function(event,player){ @@ -12880,17 +12892,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return event.source&&event.source!=player&&event.num>0&&event.source.isIn(); }, logTarget:'source', + prompt2:function(event,player){ + return '令'+get.translation(event.source)+'交给你一张手牌或失去1点体力'; + }, content:function(){ - "step 0" + 'step 0' event.num=trigger.num; - "step 1" + 'step 1' trigger.source.chooseCard('选择一张手牌交给'+get.translation(player)+',或点“取消”失去1点体力').set('ai',function(card){ var player=_status.event.getParent().player,source=_status.event.player; if(get.effect(source,{name:'losehp'},source,source)>=0) return 0; if(get.attitude(player,source)>0) return 11-get.value(card); return 7-get.value(card); }); - "step 2" + 'step 2' if(result.bool){ trigger.source.give(result.cards,player); } @@ -12910,67 +12925,23 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(player.hasSkillTag('jueqing',false,target)) return [1,-1.5]; if(!target.hasFriend()) return; if(get.tag(card,'damage')) return [1,0,0,-0.7]; - } - } + }, + }, }, - group:'xinenyuan2' - }, - xinenyuan2:{ - audio:true, - trigger:{player:'gainEnd'}, - filter:function(event,player){ - return event.source&&event.source.isIn()&&event.source!=player&&event.cards.length>=2; - }, - logTarget:'source', - check:function(event,player){ - return get.attitude(player,event.source)>0; - }, - content:function(){ - trigger.source.draw(); - } }, enyuan:{ - audio:'enyuan1', + audio:2, locked:true, group:['enyuan1','enyuan2'], - ai:{ - maixie_defend:true, - effect:{ - target:function(card,player,target){ - if(player.hasSkillTag('jueqing',false,target)) return [1,-2]; - if(!target.hasFriend()) return; - if(get.tag(card,'damage')) return [1,0,0,-1]; - } - } - } }, enyuan1:{ - trigger:{player:'recoverEnd'}, - forced:true, - audio:2, - logTarget:'source', - filter:function(event,player){ - return event.source&&event.source!=player; - }, - content:function(){ - 'step 0' - event.num=trigger.num; - 'step 1' - if(event.num>0){ - player.logSkill('enyuan1',trigger.source); - trigger.source.draw(); - event.num--; - event.redo(); - } - } - }, - enyuan2:{ + audio:true, trigger:{player:'damageEnd'}, forced:true, - audio:2, filter:function(event,player){ - return event.source&&event.source!=player; + return event.source&&event.source!=player&&event.source.isIn(); }, + logTarget:'source', content:function(){ 'step 0' trigger.source.chooseCard('选择一张红桃牌交给'+get.translation(player)+',或点“取消”失去1点体力',function(card){ @@ -12988,7 +12959,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else{ trigger.source.loseHp(); } - } + }, + ai:{ + maixie_defend:true, + effect:{ + target:function(card,player,target){ + if(player.hasSkillTag('jueqing',false,target)) return [1,-2]; + if(!target.hasFriend()) return; + if(get.tag(card,'damage')) return [1,0,0,-1]; + }, + }, + }, + }, + enyuan2:{ + audio:true, + trigger:{player:'recoverEnd'}, + forced:true, + logTarget:'source', + filter:function(event,player){ + return event.source&&event.source!=player&&event.source.isIn(); + }, + content:function(){ + 'step 0' + event.num=trigger.num; + 'step 1' + if(event.num>0){ + player.logSkill('enyuan1',trigger.source); + trigger.source.draw(); + event.num--; + event.redo(); + } + }, }, xuanhuo:{ audio:2, @@ -14278,11 +14279,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ reqingxi:'倾袭', reqingxi_info:'当你使用【杀】或【决斗】指定目标后,你可以令其选择一项:1、弃置X张手牌(X为你攻击范围内的角色数,且当你装备区内有武器牌/没有武器牌时至多为4/2),若如此做,其弃置你的此武器牌;2、令此牌的伤害值+1且你进行判定,若结果为红色,则其不能响应此牌。', jieyue:'节钺', - jieyue1:'节钺', - jieyue2:'节钺', - jieyue3:'节钺', - jieyue4:'节钺', - jieyue_info:'结束阶段开始时,你可以弃置一张手牌,然后令一名其他角色选择一项:将一张牌置于你的武将牌上(称之为“节”);或令你弃置其一张牌。当你你武将牌上有“节”时,你可以将红色手牌当作【闪】、黑色的手牌当作【无懈可击】使用或打出。准备阶段开始时,你获得你武将牌上的“节”。', + jieyue_info:'①结束阶段,你可以弃置一张手牌,然后令一名其他角色选择一项:1.将一张牌置于你的武将牌上,称之为“节”;2.令你弃置其一张牌。②若你有“节”,你可以将红色/黑色手牌当作【闪】/【无懈可击】使用或打出。③准备阶段,若你有“节”,则你获得之。', xianzhen:'陷阵', xianzhen_info:'出牌阶段限一次,你可以与一名角色拼点。若你赢,你获得以下效果直到回合结束:无视与该角色的距离;无视该角色的防具且对其使用【杀】没有次数限制。若你没赢,你不能使用【杀】直到回合结束。', xinxianzhen:'陷阵', @@ -14414,6 +14411,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jianying:'渐营', jianying_info:'当你于出牌阶段内使用与此阶段你使用的上一张牌点数或花色相同的牌时,你可以摸一张牌。', xinenyuan:'恩怨', + xinenyuan1:'恩怨', xinenyuan2:'恩怨', xinenyuan_info:'当你获得一名其他角色两张或更多的牌后,你可以令其摸一张牌;当你受到1点伤害后,你可以令伤害来源选择一项:1、将一张手牌交给你;2、失去1点体力。', xinxuanhuo:'眩惑', @@ -14463,7 +14461,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xinjunxing:'峻刑', xinjunxing_info:'出牌阶段限一次,你可以弃置至少一张手牌并选择一名其他角色,该角色需弃置一张与你弃置的牌类别均不同的手牌,否则其先将其武将牌翻面,然后将手牌摸至四张。', - xswuyan:'无言', + wuyan:'无言', xinwuyan:'无言', jujian:'举荐', xinjujian:'举荐', @@ -14580,7 +14578,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ oldrenxin_info:'其他角色进入濒死状态时,你可以将所有手牌交给该角色并翻面,然后该角色回复1点体力。', jingce_info:'出牌阶段结束时,若你本回合使用的牌数量大于或等于你的当前体力值,你可以摸两张牌。', xinjingce_info:'结束阶段,若你本回合使用的牌数量大于或等于你的当前体力值,你可以摸两张牌。', - xswuyan_info:'锁定技,你使用的普通锦囊牌对其他角色无效;其他角色使用的普通锦囊牌对你无效。', + wuyan_info:'锁定技,你使用的普通锦囊牌对其他角色无效;其他角色使用的普通锦囊牌对你无效。', xinwuyan_info:'锁定技,当你使用锦囊牌造成伤害时,你防止此伤害;锁定技,当你受到锦囊牌对你造成的伤害时,你防止此伤害。', jujian_info:'出牌阶段限一次,你可以弃至多三张牌,然后令一名其他角色摸等量的牌。若你以此法弃牌不少于三张且均为同一类别,你回复1点体力。', xinjujian_info:'结束阶段开始时,你可以弃置一张非基本牌并选择一名其他角色,令其选择一项:1.摸两张牌;2.回复1点体力;3.将其武将牌翻转至正面朝上并重置之。',