diff --git a/card/gujian.js b/card/gujian.js index d6565829e..bac1b9412 100644 --- a/card/gujian.js +++ b/card/gujian.js @@ -904,7 +904,8 @@ card.gujian={ luyugeng:{ mark:'card', trigger:{player:'phaseBegin'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ @@ -937,7 +938,8 @@ card.gujian={ xiajiao:{ mark:'card', trigger:{player:['phaseUseBefore','phaseEnd']}, - direct:true, + forced:true, + popup:false, nopop:true, filter:function(event,player){ return !player.hasSkill('xiajiao3'); @@ -984,7 +986,8 @@ card.gujian={ mizhilianou:{ mark:'card', trigger:{player:'phaseAfter'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ @@ -1026,7 +1029,8 @@ card.gujian={ chunbing:{ mark:'card', trigger:{player:'phaseAfter'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ @@ -1053,7 +1057,8 @@ card.gujian={ gudonggeng:{ mark:'card', trigger:{player:'phaseBegin'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ @@ -1095,7 +1100,8 @@ card.gujian={ qingtuan:{ mark:'card', trigger:{player:'phaseAfter'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ @@ -1131,7 +1137,8 @@ card.gujian={ liyutang:{ mark:'card', trigger:{player:'phaseEnd'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ @@ -1157,7 +1164,8 @@ card.gujian={ yougeng:{ mark:'card', trigger:{player:'phaseBegin'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ @@ -1183,7 +1191,8 @@ card.gujian={ molicha:{ mark:'card', trigger:{player:'phaseAfter'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ @@ -1221,7 +1230,8 @@ card.gujian={ yuanbaorou:{ mark:'card', trigger:{player:'phaseAfter'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ @@ -1248,7 +1258,8 @@ card.gujian={ tanhuadong:{ mark:'card', trigger:{player:'phaseEnd'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ @@ -1274,7 +1285,8 @@ card.gujian={ mapodoufu:{ mark:'card', trigger:{player:'phaseEnd'}, - direct:true, + forced:true, + popup:false, nopop:true, intro:{ content:function(storage,player){ diff --git a/card/standard.js b/card/standard.js index ec46c8b57..c4554b9e5 100644 --- a/card/standard.js +++ b/card/standard.js @@ -1372,6 +1372,7 @@ card.standard={ trigger:{player:'shaBegin'}, priority:5, audio:true, + logTarget:'target', filter:function(event,player){ if(player.sex=='male'&&event.target.sex=='female') return true; if(player.sex=='female'&&event.target.sex=='male') return true; diff --git a/character/rank.js b/character/rank.js index a3a3bb52d..24ada57f7 100644 --- a/character/rank.js +++ b/character/rank.js @@ -232,8 +232,10 @@ window.characterRank={ 're_lidian', 'wangyi', 'swd_weida', + 'yxs_libai', ], bp:[ + 'pal_jiangcheng', 'lifeng', 'zhugeguo', 'xiaoqiao', @@ -380,7 +382,6 @@ window.characterRank={ 'diy_tianyu', 'old_zhuran', 'old_lingtong', - 'sp_pangde', 'sp_jiaxu', 'sp_liubei', 'zhuling', @@ -466,7 +467,6 @@ window.characterRank={ 'dingfeng', 'mayunlu', 'yxs_mingchenghuanghou', - 'yxs_libai', 'shen_guanyu', 'jiangfei', 're_caocao', @@ -497,6 +497,7 @@ window.characterRank={ 'zhangliang', 'xiahouyuan', 'pangde', + 'sp_pangde', 'yanwen', ], c:[ diff --git a/character/xianjian.js b/character/xianjian.js index 9b5538fb1..ba9aa7f32 100644 --- a/character/xianjian.js +++ b/character/xianjian.js @@ -35,21 +35,79 @@ character.xianjian={ pal_xiahoujinxuan:['male','shu',3,['xuanmo','danqing']], pal_muchanglan:['female','wu',3,['feixia','lueying']], // pal_xia:['male','wei',4,[]], - // pal_jiangcheng:['male','qun',4,['yanzhan','fenshi']], + pal_jiangcheng:['male','qun',4,['yanzhan','fenshi']], }, skill:{ + fenshi:{ + unique:true, + skillAnimation:true, + animationColor:'fire', + trigger:{player:'dyingAfter'}, + forced:true, + mark:true, + intro:{ + content:'limited' + }, + content:function(){ + player.awakenSkill('fenshi'); + player.changeHujia(2); + player.draw(2); + player.addSkill('longhuo'); + }, + ai:{ + threaten:0.7 + } + }, + longhuo:{ + unique:true, + trigger:{player:'phaseEnd'}, + check:function(event,player){ + if(player.hp==1&&player.hujia==0) return false; + var num=game.countPlayer(function(current){ + var eff=get.sgn(ai.get.damageEffect(current,player,player,'fire')); + if(current.hp==1&¤t.hujia==0) eff*=1.5; + return eff; + }); + return num>0; + }, + content:function(){ + 'step 0' + event.targets=get.players(lib.sort.seat); + 'step 1' + if(event.targets.length){ + var current=event.targets.shift(); + if(current.isIn()){ + player.line(current,'fire'); + current.damage('fire'); + event.redo(); + } + } + } + }, yanzhan:{ enable:'phaseUse', viewAs:{name:'sha',nature:'fire'}, usable:1, + position:'he', viewAsFilter:function(player){ - if(!player.num('h',{color:'red'})) return false; + if(!player.num('he',{color:'red'})) return false; }, filterCard:{color:'red'}, + check:function(card){ + if(get.suit(card)=='heart') return 7-ai.get.value(card); + return 5-ai.get.value(card); + }, + onuse:function(result){ + if(result.targets){ + for(var i=0;i0; - }, - check:function(card){ - return 5-ai.get.value(card); - } - }, - zhexian:{ - unique:true, - enable:'chooseToUse', - mark:true, - skillAnimation:true, - animationStr:'谪仙', - animationColor:'metal', - init:function(player){ - player.storage.zhexian=false; - }, - filter:function(event,player){ - if(event.type!='dying') return false; - if(player!=event.dying) return false; - if(player.storage.zhexian) return false; - return true; + usable:1, + filterTarget:function(card,player,target){ + return target!=player&&target.num('he')>0; }, content:function(){ 'step 0' - player.hp=Math.min(3,player.maxHp); - player.discard(player.get('hej')); - player.draw(3); - player.awakenSkill('zhexian'); - player.storage.zhexian=true; + player.discardPlayerCard(target,true); 'step 1' - if(player.isLinked()) player.link(); + if(result.bool){ + var type=get.type(result.cards[0]); + if(type!='basic'&&type!='trick'){ + player.chooseToDiscard('he',true); + event.finish(); + } + else{ + event.card=result.cards[0]; + } + } + else{ + event.finish(); + } 'step 2' - if(player.isTurnedOver()) player.turnOver(); - }, - ai:{ - order:1, - skillTagFilter:function(player){ - if(player.storage.zhexian) return false; - if(player.hp>0) return false; - }, - save:true, - result:{ - player:10 - }, - threaten:function(player,target){ - if(!target.storage.zhexian) return 0.6; + var card=event.card; + card={name:card.name,nature:card.nature,suit:card.suit,number:card.number}; + if(lib.filter.cardEnabled(card)){ + if(game.hasPlayer(function(current){ + return player.canUse(card,current); + })){ + lib.skill.miaobix.viewAs=card; + var next=player.chooseToUse(); + next.logSkill='miaobi'; + next.set('openskilldialog','妙笔:将一张手牌当'+get.translation(card)+'使用'); + next.set('norestore',true); + next.set('_backupevent','miaobix'); + next.backup('miaobix'); + } } }, - intro:{ - content:'limited' + ai:{ + order:9, + result:{ + target:-1 + } + } + }, + zhexian:{ + trigger:{player:'loseEnd'}, + usable:1, + filter:function(event,player){ + return _status.currentPhase!=player; + }, + frequent:true, + content:function(){ + player.draw(); } }, guifu:{ @@ -2540,6 +2550,18 @@ character.yxs={ yxs_zhangsanfeng:'张三丰', yxs_nandinggeer:'南丁格尔', + zhuxin:'诛心', + zhuxin_info:'出牌阶段限一次,你可以与一名其他角色拼点,若你赢,你对其造成一点伤害', + wlianhuan:'连环', + wlianhuan_info:'你使用杀造成伤害时,可以弃置一张装备区内的牌并令伤害+1', + liebo:'裂帛', + liebo_info:'出牌阶段限一次,你可以使用任意张手牌与一名其他角色交换对应数量的手牌,或与一名其他角色交换全部手牌(牌差不能超过1)', + yaoji:'妖姬', + yaoji_info:'每当你受到一次伤害,你可以将一张乐不思蜀置入伤害来源的判定区', + guimian:'鬼面', + guimian_info:'锁定技,每当你在出牌阶段使用杀造成伤害,本阶段内出杀次数上限+1', + yuxue:'浴血', + yuxue_info:'锁定技,每当你造成一次伤害,若目标没有浴血标记,你令其获得一个浴血标记;准备阶段,若场上浴血标记的数量不少于存活角色数的一半,你清空浴血标记并令所有有标记的角色流失一点体力', huli:'护理', huli_info:'出牌阶段,你可以将一张红桃手牌当作桃对距离1以内的角色使用', yixin:'医心', @@ -2639,9 +2661,9 @@ character.yxs={ lshengong:'神工', lshengong_info:'出牌阶段限一次,你可以选定场上任意一名角色的装备区的牌,出自己的一张手牌复制该装备,然后可以选择装备上自己或者别的角色的装备区', zhexian:'谪仙', - zhexian_info:'限定技,当你处于濒死状态时,你可以丢弃你所有的牌和你判定区里的牌,并复原你的武将牌,然后摸三张牌且体力回复至3点。', + zhexian_info:'当你于一名其他角色的回合内首次失去牌时,你可以摸一张牌', miaobi:'妙笔', - miaobi_info:'出牌阶段限一次,你可以将一张红桃牌当作五谷丰登使用', + miaobi_info:'出牌阶段限一次,你可以弃置一名其他角色的一张牌,若此牌是基本牌或通常锦囊,你可以将一张手牌当此牌使用;否则你须弃置一张牌', cike:'刺客', cike_info:'你对别的角色出【杀】时可以选择做一次判定:若判定牌为红色花色,则此【杀】不可回避,直接命中;若判定牌为黑色花色,你可以选择弃掉对方一张牌。', qiangyun:'强运', diff --git a/game/asset.js b/game/asset.js index 238b2c838..ea1d132e4 100644 --- a/game/asset.js +++ b/game/asset.js @@ -1,5 +1,5 @@ window.noname_asset_list=[ - '1.9.8', + '1.9.9', 'image/background/huangtian_bg.jpg', 'image/background/september_bg.jpg', 'image/background/shengshi_bg.jpg', @@ -728,6 +728,7 @@ window.noname_asset_list=[ 'image/character/yxs_huamulan.jpg', 'image/character/yxs_jinke.jpg', 'image/character/yxs_kaisa.jpg', + 'image/character/yxs_lanlinwang.jpg', 'image/character/yxs_libai.jpg', 'image/character/yxs_lishimin.jpg', 'image/character/yxs_luban.jpg', @@ -736,12 +737,14 @@ window.noname_asset_list=[ 'image/character/yxs_luzhishen.jpg', 'image/character/yxs_lvzhi.jpg', 'image/character/yxs_mingchenghuanghou.jpg', + 'image/character/yxs_meixi.jpg', 'image/character/yxs_mozi.jpg', 'image/character/yxs_nandinggeer.jpg', 'image/character/yxs_napolun.jpg', 'image/character/yxs_sunwu.jpg', 'image/character/yxs_tangbohu.jpg', 'image/character/yxs_wangzhaojun.jpg', + 'image/character/yxs_weizhongxian.jpg', 'image/character/yxs_wuzetian.jpg', 'image/character/yxs_xiangyu.jpg', 'image/character/yxs_xiaoqiao.jpg', diff --git a/game/game.js b/game/game.js index 2b0b6df31..cc18d11ea 100644 --- a/game/game.js +++ b/game/game.js @@ -8089,6 +8089,7 @@ else ui.click.cancel(); } event.dialog.close(); + event.result.cards=event.result.links.slice(0); }, discardPlayerCard:function(){ "step 0" @@ -8193,6 +8194,7 @@ for(var i=0;i