diff --git a/character/boss.js b/character/boss.js index 4b4295cd8..ea2668a12 100644 --- a/character/boss.js +++ b/character/boss.js @@ -11,6 +11,7 @@ character.boss={ boss_zhouyu:['male','wu',6,['huoshen','boss_honglian','boss_xianyin'],['boss','bossallowed'],'zhu'], boss_zhuoguiquxie:['male','qun',0,['boss_bianshen'],['boss','bossallowed'],'shu'], + boss_nianshou:['male','qun',Infinity,['boss_nianrui','boss_qixiang','boss_damagecount'],['boss','bossallowed'],'shu'], boss_baiwuchang:['male','qun',9,['boss_baolian','boss_qiangzheng','boss_zuijiu','juece','boss_bianshen4'],['hiddenboss','bossallowed']], boss_heiwuchang:['male','qun',9,['boss_guiji','boss_taiping','boss_suoming','boss_xixing','boss_bianshen4'],['hiddenboss','bossallowed']], boss_luocha:['male','qun',12,['boss_modao','boss_yushou','yizhong','boss_moyany'],['hiddenboss','bossallowed']], @@ -34,35 +35,564 @@ character.boss={ // boss_shuijing:['male','qun',8,[],['boss','bossallowed'],'wei'], boss_liedixuande:['male','shu',5,['boss_lingfeng','boss_jizhen'],['jiangeboss','hiddenboss','bossallowed'],'shu'], - boss_gongshenyueying:['male','shu',4,[],['jiangeboss','hiddenboss','bossallowed'],'shu'], - boss_tianhoukongming:['male','shu',4,[],['jiangeboss','hiddenboss','bossallowed'],'shu'], - boss_yuhuoshiyuan:['male','shu',4,[],['jiangeboss','hiddenboss','bossallowed'],'shu'], + boss_gongshenyueying:['male','shu',4,['boss_gongshenjg','boss_jingmiao','boss_zhinang'],['jiangeboss','hiddenboss','bossallowed'],'shu'], + boss_tianhoukongming:['male','shu',4,['boss_biantian','bazhen'],['jiangeboss','hiddenboss','bossallowed'],'shu'], + boss_yuhuoshiyuan:['male','shu',4,['boss_yuhuojg','boss_qiwu','boss_tianyujg'],['jiangeboss','hiddenboss','bossallowed'],'shu'], boss_qiaokuijunyi:['male','wei',4,['boss_huodi','boss_jueji'],['jiangeboss','hiddenboss','bossallowed'],'wei'], boss_jiarenzidan:['male','wei',5,['boss_chiying','boss_jingfan'],['jiangeboss','hiddenboss','bossallowed'],'wei'], boss_duanyuzhongda:['male','wei',5,['boss_fanshi','boss_xuanlei','boss_skonghun'],['jiangeboss','hiddenboss','bossallowed'],'wei'], boss_juechenmiaocai:['male','wei',4,['boss_chuanyun','boss_leili','boss_fengxing'],['jiangeboss','hiddenboss','bossallowed'],'wei'], - boss_baihumech:['male','shu',4,[],['jiangemech','hiddenboss','bossallowed'],'shu'], - boss_qinglongmech:['male','shu',4,[],['jiangemech','hiddenboss','bossallowed'],'shu'], - boss_xuanwumech:['male','shu',4,[],['jiangemech','hiddenboss','bossallowed'],'shu'], - boss_zhuquemech:['male','shu',4,[],['jiangemech','hiddenboss','bossallowed'],'shu'], - boss_bianmech:['male','wei',4,[],['jiangemech','hiddenboss','bossallowed'],'wei'], - boss_chiwenmech:['male','wei',4,[],['jiangemech','hiddenboss','bossallowed'],'wei'], - boss_suannimech:['male','wei',4,[],['jiangemech','hiddenboss','bossallowed'],'wei'], - boss_yazimech:['male','wei',4,[],['jiangemech','hiddenboss','bossallowed'],'wei'], + boss_jileibaihu:['male','shu',4,['boss_jiguan','boss_zhenwei','boss_benlei'],['jiangemech','hiddenboss','bossallowed'],'shu'], + boss_yunpingqinglong:['male','shu',4,['boss_jiguan','boss_mojian'],['jiangemech','hiddenboss','bossallowed'],'shu'], + boss_lingjiaxuanwu:['male','shu',5,['boss_jiguan','yizhong','boss_lingyu'],['jiangemech','hiddenboss','bossallowed'],'shu'], + boss_chiyuzhuque:['male','shu',5,['boss_jiguan','boss_yuhuojg','boss_tianyun'],['jiangemech','hiddenboss','bossallowed'],'shu'], + boss_fudibian:['male','wei',4,['boss_jiguan','boss_didong'],['jiangemech','hiddenboss','bossallowed'],'wei'], + boss_tuntianchiwen:['male','wei',5,['boss_jiguan','boss_tanshi','boss_tunshi'],['jiangemech','hiddenboss','bossallowed'],'wei'], + boss_shihuosuanni:['male','wei',3,['boss_jiguan','boss_lianyu'],['jiangemech','hiddenboss','bossallowed'],'wei'], + boss_lieshiyazi:['male','wei',4,['boss_jiguan','boss_nailuo'],['jiangemech','hiddenboss','bossallowed'],'wei'], }, skill:{ + boss_damagecount:{ + mode:['boss'], + global:'boss_damagecount2' + }, + boss_damagecount2:{ + trigger:{source:'damageEnd'}, + forced:true, + popup:false, + silent:true, + filter:function(event,player){ + if(!ui.damageCount) return false; + return event.num>0&&player.isFriendOf(game.me)&&event.player.isEnemyOf(game.me); + }, + content:function(){ + _status.damageCount+=trigger.num; + ui.damageCount.innerHTML='伤害: '+_status.damageCount; + } + }, + boss_nianrui:{ + trigger:{player:'phaseDrawBegin'}, + forced:true, + content:function(){ + trigger.num+=2; + }, + ai:{ + threaten:1.6 + } + }, + boss_qixiang:{ + group:['boss_qixiang1','boss_qixiang2'], + ai:{ + effect:{ + target:function(card,player,target,current){ + if(card.name=='lebu'&&card.name=='bingliang') return 0.8; + } + } + } + }, + boss_qixiang1:{ + trigger:{player:'judge'}, + forced:true, + filter:function(event,player){ + if(event.card){ + if(event.card.viewAs){ + return event.card.viewAs=='lebu'; + } + else{ + return event.card.name=='lebu'; + } + } + }, + content:function(){ + player.addTempSkill('boss_qixiang3','judgeAfter'); + } + }, + boss_qixiang2:{ + trigger:{player:'judge'}, + forced:true, + filter:function(event,player){ + if(event.card){ + if(event.card.viewAs){ + return event.card.viewAs=='bingliang'; + } + else{ + return event.card.name=='bingliang'; + } + } + }, + content:function(){ + player.addTempSkill('boss_qixiang4','judgeAfter'); + } + }, + boss_qixiang3:{ + mod:{ + suit:function(card,suit){ + if(suit=='diamond') return 'heart'; + } + } + }, + boss_qixiang4:{ + mod:{ + suit:function(card,suit){ + if(suit=='spade') return 'club'; + } + } + }, + boss_lingyu:{ + trigger:{player:'phaseEnd'}, + check:function(event,player){ + if(player.isTurnedOver()) return true; + var num=0; + for(var i=0;i0){ + if(game.players[i].hp==1){ + return true; + } + num++; + if(num>=2) return true; + } + } + return false; + }, + content:function(){ + 'step 0' + player.turnOver(); + 'step 1' + var list=[]; + for(var i=0;i0; + } + } + } + return num>=4; + }, + filter:function(event,player){ + for(var i=0;i0; + }, + content:function(){ + player.chooseToDiscard('h',true); + } + }, + boss_tunshi:{ + trigger:{player:'phaseBegin'}, + forced:true, + filter:function(event,player){ + var nh=player.num('h'); + for(var i=0;inh){ + return true; + } + } + return false; + }, + content:function(){ + 'step 0' + var targets=[]; + var nh=player.num('h'); + for(var i=0;inh){ + targets.push(game.players[i]); + } + } + targets.sort(lib.sort.seat); + event.targets=targets; + 'step 1' + if(event.targets.length){ + var current=event.targets.shift(); + current.damage('thunder'); + player.line(current,'thunder'); + event.redo(); + } + } + }, + boss_jiguan:{ + mod:{ + targetEnabled:function(card,player,target){ + if(card.name=='lebu'){ + return false; + } + } + } + }, + boss_gongshenjg:{ + trigger:{player:'phaseEnd'}, + mode:['versus'], + filter:function(event,player){ + if(_status.mode!='jiange') return false; + for(var i=0;i0&&target.num('j','lebu')){ + return 0.1; + } + if(player.num('h')>player.hp){ + if(target==player) return Math.max(1,att-2); + } + if(target==player) return att+5; + return att; + } + } + "step 2" + if(result&&result.targets&&result.targets.length){ + event.target=result.targets[0]; + } + if(event.cards2.length){ + player.line(event.target,'green'); + game.log(event.target,'获得了',event.cards2); + event.target.gain(event.cards2,'gain2'); + } + }, + ai:{ + threaten:1.3 + } + }, + boss_biantian4:{ + trigger:{player:'dieBegin'}, + forced:true, + popup:false, + content:function(){ + for(var i=0;i0&&event.player!=player&&event.player.hp-3) return 0; + var eff=ai.get.damageEffect(target,player,player,'fire'); + if(eff>0){ + return eff+target.num('e')/2; + } + return 0; + } + "step 1" + if(result.bool){ + player.logSkill('boss_tianyun',result.targets,'fire'); + player.loseHp(); + event.target=result.targets[0]; + } + else{ + event.finish(); + } + "step 2" + if(event.target){ + event.target.damage(2,'fire'); + } + "step 3" + if(event.target){ + var es=event.target.get('e'); + if(es.length){ + event.discard(es); + } + } + }, + ai:{ + threaten:2 + } + }, boss_tianyu:{ audio:true, trigger:{player:'phaseEnd'}, @@ -1467,6 +2045,77 @@ character.boss={ } } }, + boss_tianyujg:{ + audio:true, + trigger:{player:'phaseEnd'}, + forced:true, + filter:function(event,player){ + for(var i=0;i0){ + if(noneed&&player==target){ + num=0.5; + } + else if(target.hp==1){ + num+=3; + } + else if(target.hp==2){ + num+=1; + } + } + return num; + } + "step 1" + if(result.bool){ + player.logSkill('qiwu',result.targets); + result.targets[0].recover(); + } + }, + ai:{ + expose:0.3, + threaten:1.5 + } + }, boss_jizhi:{ audio:2, trigger:{player:'useCard'}, @@ -1770,15 +2419,55 @@ character.boss={ boss_duanyuzhongda:'断狱仲达', boss_juechenmiaocai:'绝尘妙才', - boss_baihumech:'机雷白虎', - boss_qinglongmech:'云屏青龙', - boss_xuanwumech:'灵甲玄武', - boss_zhuquemech:'炽羽朱雀', - boss_bianmech:'缚地狴犴', - boss_chiwenmech:'吞天螭吻', - boss_suannimech:'食火狻猊', - boss_yazimech:'裂石睚眦', + boss_jileibaihu:'机雷白虎', + boss_yunpingqinglong:'云屏青龙', + boss_lingjiaxuanwu:'灵甲玄武', + boss_chiyuzhuque:'炽羽朱雀', + boss_fudibian:'缚地狴犴', + boss_tuntianchiwen:'吞天螭吻', + boss_shihuosuanni:'食火狻猊', + boss_lieshiyazi:'裂石睚眦', + boss_nianshou:'年兽', + + boss_nianrui:'年瑞', + boss_nianrui_info:'锁定技,摸牌阶段,你额外摸两张牌', + boss_qixiang:'祺祥', + boss_qixiang1:'祺祥', + boss_qixiang2:'祺祥', + boss_qixiang_info:'乐不思蜀判定时,你的方块判定牌视为红桃;兵粮寸断判定时,你的黑桃判定牌视为草花', + boss_jiguan:'机关', + boss_jiguan_info:'锁定技,你不能成为【乐不思蜀】的目标', + boss_lingyu:'灵愈', + boss_lingyu_info:'结束阶段,你可以将自己的武将牌翻面,然后令所有已受伤的己方其他角色回复1点体力', + boss_tianyun:'天陨', + boss_tianyun_info:'结束阶段,你可以失去1点体力,然后令一名敌方角色受到2点火焰伤害并弃置其装备区里的所有牌', + boss_zhenwei:'镇卫', + boss_zhenwei_info:'锁定技,对方角色计算与其他己方角色的距离时,始终+1', + boss_benlei:'奔雷', + boss_benlei_info:'锁定技,准备阶段,对敌方攻城器械造成2点雷电伤害', + boss_nailuo:'奈落', + boss_nailuo_info:'结束阶段,你可以将你的武将牌翻面,令所有敌方角色弃置装备区内的所有牌', + boss_tanshi:'贪食', + boss_tanshi_info:'锁定技,结束阶段开始时,你须弃置一张手牌', + boss_tunshi:'吞噬', + boss_tunshi_info:'锁定技,准备阶段,你对所有手牌数量大于你的敌方角色造成1点伤害', + boss_yuhuojg:'浴火', + boss_yuhuojg_info:'锁定技,每当你受到火焰伤害时,防止此伤害', + boss_qiwu:'栖梧', + boss_qiwu_info:'每当你使用一张梅花牌,你可以令一名友方角色回复一点体力', + boss_tianyujg:'天狱', + boss_tianyujg_info:'锁定技,回合结束阶段,你令所有未横置的敌方角色横置', + boss_gongshenjg:'工神', + boss_gongshenjg_info:'结束阶段,若已方器械已受伤,你可以为其回复一点体力;否则你可以对敌方器械造成一点火焰伤害', + boss_zhinang:'智囊', + boss_zhinang_info:'准备阶段,你可以亮出牌堆顶的三张牌,你可以将其中锦囊或装备牌交给一名己方角色,然后将其余牌置入弃牌堆', + boss_jingmiao:'精妙', + boss_jingmiao_info:'锁定技,每当敌方角色使用的无懈可击生效后,你令其失去1点体力', + boss_biantian:'变天', + boss_biantian_info:'锁定技,准备阶段,你进行一次判定,若为红色,直到下个回合开始前,令敌方所有角色处于“狂风”状态,若为黑桃,直到下个回合开始前,令己方所有角色处于“大雾”状态', + boss_biantian2:'大雾', + boss_biantian3:'狂风', boss_lingfeng:'灵锋', boss_lingfeng_info:'摸牌阶段,你可以放弃摸牌,亮出牌堆顶的两张牌,然后获得之,若这些牌的颜色不同,你令一名敌方角色失去1点体力', boss_jizhen:'激阵', @@ -1810,13 +2499,13 @@ character.boss={ jizhen_info:'结束阶段,你可以令所至多两名已受伤角色摸一张牌', boss_yushou:'驭兽', - boss_yushou_info:'出牌阶段开始时,视为你使用了一张[南蛮入侵]', + boss_yushou_info:'出牌阶段开始时,你可以对所有敌方角色使用一张南蛮入侵', boss_moyany:'魔炎', boss_moyany_info:'每当你于回合外失去牌时,你可以进行一次判定,若结果为红色,你对一名其他角色造成2点火焰伤害', boss_modao:'魔道', boss_modao_info:'锁定技,准备阶段,你摸两张牌', boss_mojian:'魔箭', - boss_mojian_info:'出牌阶段开始时,视为你使用了一张[万箭齐发]', + boss_mojian_info:'出牌阶段开始时,你可以对所有敌方角色使用一张万箭齐发', boss_danshu:'丹术', boss_danshu_info:'每当你于回合外失去牌时,你可以进行一次判定,若结果为红色,你回复1点体力', @@ -1838,7 +2527,7 @@ character.boss={ boss_guiji:'诡计', boss_guiji_info:'锁定技,准备阶段结束时,若你的判定区内有牌,你随机弃置其中一张牌', boss_lianyu:'炼狱', - boss_lianyu_info:'结束阶段,对所有其他角色造成1点火焰伤害', + boss_lianyu_info:'结束阶段,你可以对所有敌方角色造成1点火焰伤害', boss_guihuo:'鬼火', boss_guihuo_info:'结束阶段,你可以对一名其他角色造成1点火焰伤害', @@ -1851,7 +2540,7 @@ character.boss={ boss_guimei:'鬼魅', boss_guimei_info:'锁定技,你不能成为延时类锦囊的目标', boss_didong:'地动', - boss_didong_info:'结束阶段,你可以令一名其他角色将其武将牌翻面', + boss_didong_info:'结束阶段,你可以选择一名敌方角色将其武将牌翻面', boss_shanbeng:'山崩', boss_shanbeng_info:'锁定技,当你死亡时,你令所有其他角色弃置其装备区内的所有牌', @@ -1908,8 +2597,8 @@ character.boss={ boss_xianyin:'仙音', boss_xianyin_info:'每当你于回合外失去牌,你可以进行一次判定,若为红色,你令一名敌人失去一点体力', - // boss_yuhuo:'浴火', - // boss_yuhuo_info:'觉醒技,在你涅槃后,你获得技能【神威】、【朱羽】', + boss_yuhuo:'浴火', + boss_yuhuo_info:'觉醒技,在你涅槃后,你获得技能【神威】、【朱羽】', boss_tianyu:'天狱', boss_tianyu_info:'锁定技,回合结束阶段,你解除横置状态,除你之外的所有角色进入横置状态', diff --git a/character/extra.js b/character/extra.js index 1751fcbb6..15d1502d7 100755 --- a/character/extra.js +++ b/character/extra.js @@ -1216,6 +1216,7 @@ character.extra={ dawu_info:'回合结束阶段,你可以弃掉X枚“星”指定X名角色:直到你的下回合开始,防止他们受到的除雷电伤害外的一切伤害。', kuangfeng:'狂风', kuangfeng2:'狂风', + kuangfeng2_bg:'风', // kuangfeng2_info:'已获得狂风标记', kuangfeng3:'狂风', kuangfeng_info:'回合结束阶段,你可以弃掉1枚“星”指定一名角色:直到你的下回合开始,该角色每次受到的火焰伤害+1。', diff --git a/character/shenhua.js b/character/shenhua.js index 733623c24..7968316fe 100644 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -525,9 +525,14 @@ character.shenhua={ intro:{ content:'cards' }, - mod:{ - globalFrom:function(from,to,distance){ - if(from.storage.tuntian) return distance-from.storage.tuntian.length; + group:'tuntian_dist', + subSkill:{ + dist:{ + mod:{ + globalFrom:function(from,to,distance){ + if(from.storage.tuntian) return distance-from.storage.tuntian.length; + } + } } }, ai:{ @@ -708,20 +713,19 @@ character.shenhua={ forceaudio:true, enable:'phaseUse', filter:function(event,player){ - if(!game.zhu) return false; - if(!game.zhu.isZhu) return false; - return (player!=game.zhu&&game.zhu.skills.contains('zhiba')&& - player.group=='wu'&&player.num('h')>0&&game.zhu.num('h')>0); + var zhu=get.zhu('zhiba'); + if(!zhu) return false; + return (player!=zhu&&player.group=='wu'&&player.num('h')>0&&zhu.num('h')>0); }, filterTarget:function(card,player,target){ - return target==game.zhu; + return target.isZhu&&target.get('s').contains('zhiba'); }, usable:1, content:function(){ "step 0" player.chooseToCompare(target,function(card){ var player=get.owner(card); - if(player!=game.zhu&&ai.get.attitude(player,game.zhu)>0){ + if(player!=target&&ai.get.attitude(player,target)>0){ return -get.number(card); } return get.number(card); @@ -738,10 +742,10 @@ character.shenhua={ }, expose:0.2, result:{ - target:function(player){ + target:function(player,target){ if(player.num('h')<=player.hp) return false; var maxnum=0; - var cards2=game.zhu.get('h'); + var cards2=target.get('h'); for(var i=0;imaxnum){ maxnum=cards2[i].number; @@ -1432,15 +1436,15 @@ character.shenhua={ forceaudio:true, trigger:{player:'judgeEnd'}, filter:function(event,player){ - if(!game.zhu) return false; - if(!game.zhu.isZhu) return false; - return (player!=game.zhu&&game.zhu.skills.contains('songwei')&&player.group=='wei'&&get.color(event.result.card)=='black'); + var zhu=get.zhu('songwei'); + if(!zhu) return false; + return (player!=zhu&&player.group=='wei'&&get.color(event.result.card)=='black'); }, check:function(event,player){ - return ai.get.attitude(player,game.zhu)>0; + return ai.get.attitude(player,get.zhu('songwei'))>0; }, content:function(){ - game.zhu.draw(); + get.zhu('songwei').draw(); } }, duanliang:{ @@ -1795,12 +1799,14 @@ character.shenhua={ forceaudio:true, trigger:{source:'damageEnd'}, filter:function(event,player){ - if(!game.zhu) return false; - if(!game.zhu.isZhu) return false; - return (player!=game.zhu&&game.zhu.skills.contains('baonue')&&player.group=='qun')&&game.zhu.hp0; + var zhu=get.zhu('baonue'); + if(!zhu) return false; + return ai.get.attitude(player,zhu)>0; }, content:function(){ "step 0" @@ -1810,7 +1816,10 @@ character.shenhua={ }) "step 1" if(result.bool){ - game.zhu.recover(); + var zhu=get.zhu('baonue'); + if(zhu){ + zhu.recover(); + } } } }, @@ -2912,15 +2921,16 @@ character.shenhua={ player.$give(cards,targets[0]); }, filter:function(event,player){ - if(!game.zhu) return false; - if(!game.zhu.isZhu) return false; - return (player!=game.zhu&&game.zhu.skills.contains('huangtian')&&player.group=='qun') + var zhu=get.zhu('huangtian'); + if(!zhu) return false; + return (player!=zhu&&player.group=='qun'&& + (player.num('h','shan')+player.num('h','shandian')>0)) }, filterCard:function(card){ return (card.name=='shan'||card.name=='shandian') }, filterTarget:function(card,player,target){ - return target==game.zhu; + return target.isZhu&&target.get('s').contains('huangtian'); }, usable:1, forceaudio:true, diff --git a/character/sp.js b/character/sp.js index 20eb8af83..1837d2f80 100755 --- a/character/sp.js +++ b/character/sp.js @@ -44,6 +44,7 @@ character.sp={ // zhuling:['male','wei',4,['zhanyi']], sunluyu:['female','wu',3,['meibu','mumu']], hanba:['female','qun',4,['fentian','zhiri']], + zumao:['male','wu',4,['yinbing','juedi']], }, perfectPair:{ zhugejin:['zhugeke'], @@ -62,6 +63,133 @@ character.sp={ caohong:['caoren'], }, skill:{ + yinbing:{ + trigger:{player:'phaseEnd'}, + direct:true, + init:function(player){ + player.storage.yinbing=[]; + }, + filter:function(event,player){ + return player.num('he',{type:'basic'})0&& + (event.card.name=='sha'||event.card.name=='juedou'); + }, + content:function(){ + 'step 0' + player.chooseCardButton('将一张引兵牌置入弃牌堆',true,player.storage.yinbing); + 'step 1' + var card=result.links[0]; + player.storage.yinbing.remove(card); + ui.discardPile.appendChild(card); + player.$throw(card); + game.log(player,'将',card,'置入弃牌堆'); + player.syncStorage('yinbing'); + if(player.storage.yinbing.length==0){ + player.unmarkSkill('yinbing'); + } + } + } + }, + group:'yinbing_discard' + }, + juedi:{ + trigger:{player:'phaseBegin'}, + filter:function(event,player){ + return player.storage.yinbing&&player.storage.yinbing.length>0; + }, + direct:true, + content:function(){ + 'step 0' + player.chooseTarget('是否发动【绝地】?',function(card,player,target){ + return player.hp>=target.hp; + }).ai=function(target){ + if(target==player) return 0.5; + var att=ai.get.attitude(player,target); + if(att<2) return 0; + if(target.hp==1&&att>2){ + att+=2; + } + if(player.num('j','lebu')){ + if(target.hp==target.maxHp) return att-2; + return att-1; + } + if(target.hp==target.maxHp) return 0; + if(player.num('h')player.hp) return true; if(target.hp构筑
  • 点击右上角的卡组管理构建卡组
  • 一套卡组共30张牌,由法术和随从牌构成,每个同名卡牌最多带两张'+ '
  • 卡组管理器中,随从右上角的x/y表示登场状态为x牌y血'+ '
  • 游戏开始时,双方摸三张牌并从牌库中获得一张牌,并可选择将手牌置换一次'+ - '
  • 摸牌阶段,主将少摸一张牌,并从卡组中获得一张牌'+ + '
  • 每当主将摸X张牌时,若X至少为2,则其中的X-1张牌从牌堆中获得,1张牌从牌库中获得'+ '
  • 每名角色使用一套卡组,卡组用完后会重新补满'+ '
  • 卡组与职业绑定,每个职业有一个专属技能,每回合限用一次,消耗两点行动值
'+ '
职业技能
  • 祭司:召唤一个随机图腾'+ @@ -2525,12 +2527,12 @@ '
  • 圣骑士:召唤一名士兵'+ '
  • 猎人:对敌方主将造成一点伤害'+ '
  • 德鲁伊:视为使用一张不计入出杀次数的杀
'+ - '
战斗
  • 游戏流程类似1v1,场上有两名主将进行对抗,主将的体力上限+2'+ - '
  • 主将出牌阶段的出牌数量(行动值)有上限,先手为2,后手为3,装备牌不计入出牌上限
  • 游戏每进行一轮,主将的出牌上限+1,超过6时减至2并重新累加'+ + '
    战斗
    • 游戏流程类似1v1,场上有两名主将进行对抗,主将的体力上限+1'+ + '
    • 主将出牌阶段的出牌数量(行动值)有上限,先手为2,后手为3,装备牌不计入出牌上限
    • 游戏每进行一轮,主将的出牌上限+1,超过6时减至3并重新累加'+ '
    • 使用随从牌可召唤一个随从,随从出场时背面朝上。每一方在场的随从数不能超过4
    • 随从于摸牌阶段摸牌基数为1,随从的随从牌均视为闪,装备牌均视为杀
    • '+ '随从与其他所有角色相互距离基数为1
    • '+ '主将杀死对方随从后获得一个额外的行动值并摸两张牌,杀死己方随从无惩罚,随从杀死随从无效果'+ - '
    • 主将可重铸随从牌,但回合内总的重铸次数不能超过3,随从不能重铸任何牌(包括铁索等默认可以重铸的牌)'+ + '
    • 主将可重铸随从牌,但回合内总的重铸次数不能超过3,随从不能重铸任何牌(包括铁索等默认可以重铸的牌);若重铸的牌为随从牌或法术牌,则摸牌改为从牌库中获得一张法术牌'+ '
    • 嘲讽:若一方阵营中有嘲讽角色,则同阵营的无嘲讽角色不以能成为杀或决斗的目标'+ '
    • 行动顺序为先主将后随从。主将或随从死亡后立即移出游戏,主将死亡后替补登场,替补登场时摸3+X张牌,X为对方存活的随从数,无替补时游戏结束' }, @@ -4454,6 +4456,9 @@ game.playAudio('effect','draw'); } if(event.drawDeck){ + if(event.drawDeck>num){ + event.drawDeck=num; + } num-=event.drawDeck; } if(event.log!=false){ @@ -5319,7 +5324,10 @@ this.unmarkSkill('ghujia'); } } - if(lib.config.layout=='default'&&this.maxHp>14){ + if(this.maxHp==Infinity){ + hp.innerHTML='∞'; + } + else if(lib.config.layout=='default'&&this.maxHp>14){ hp.innerHTML=this.hp+'/'+this.maxHp; hp.classList.add('text'); } @@ -6361,13 +6369,17 @@ else if(typeof arguments[i]=='boolean'){ next.animate=arguments[i]; } - else if(typeof arguments[i]=='object'&&arguments[i].drawDeck){ + else if(typeof arguments[i]=='object'&&arguments[i].drawDeck!=undefined){ next.drawDeck=arguments[i].drawDeck; } } if(next.num==undefined) next.num=1; if(next.num<=0) _status.event.next.remove(next); next.content=lib.element.playerproto.draw; + if(lib.config.mode=='stone'&&_status.mode=='deck'&& + next.drawDeck==undefined&&!next.player.isMin()&&next.num>1){ + next.drawDeck=1; + } return next; }, discard:function(){ @@ -7188,12 +7200,29 @@ } },time) }, + isEnemyOf:function(){ + return !this.isFriendOf.apply(this,arguments); + }, + isFriendOf:function(player){ + if(typeof this.side=='boolean'&&typeof player.side=='boolean'){ + return this.side==player.side; + } + if(lib.config.mode=='guozhan'){ + if(this.identity=='unknown'||this.identity=='ye') return false; + if(player.identity=='unknown'||player.identity=='ye') return false; + return this.identity==player.identity; + } + return this==player; + }, isAlive:function(){ return this.classList.contains('dead')==false; }, isDead:function(){ return this.classList.contains('dead'); }, + isDamaged:function(){ + return this.hp1) auto=false; for(i=0;i14){ node.node.hp.innerHTML=infoitem[2]; + if(infoitem[2]==Infinity){ + node.node.hp.innerHTML='∞'; + } node.node.hp.classList.add('text'); } else{ @@ -19458,6 +19565,27 @@ }, }; var get={ + zhu:function(player,skill){ + if(typeof player=='string'){ + skill=player; + player=null; + } + if(lib.config.mode=='identity'){ + if(skill&&!game.zhu.get('s').contains(skill)) return null; + if(game.zhu.isZhu) return game.zhu; + } + else if(lib.config.mode=='versus'&&_status.mode=='four'){ + for(var i=0;i_status.enemyDied){ - game.over(false); - } - else{ - game.over(); - } - }, replaceChessPlayer:function(){ 'step 0' if(get.config('additional_player')){ @@ -2141,15 +2122,14 @@ mode.chess={ finishGameBr.classList.add('finish_game'); ui.finishGame=ui.create.system('结束游戏',function(){ ui.finishGame.remove(); - var next=game.createEvent('finish_game'); - next.content=lib.element.playerproto.finishGame; - if(_status.paused){ - if(_status.event.next.length>1){ - _status.event.next.length=0; - _status.event.next.push(next); - } - game.uncheck(); - game.resume(); + if(_status.friendDied<_status.enemyDied){ + game.forceOver(true); + } + else if(_status.friendDied>_status.enemyDied){ + game.forceOver(false); + } + else{ + game.forceOver(); } }); ui.finishGame.classList.add('finish_game'); diff --git a/mode/guozhan.js b/mode/guozhan.js index 5b023b23b..d1f713a64 100755 --- a/mode/guozhan.js +++ b/mode/guozhan.js @@ -210,11 +210,18 @@ mode.guozhan={ var next=game.createEvent('chooseCharacter',false); next.showConfig=true; next.addPlayer=true; - next.ai=function(player,list){ + next.ai=function(player,list,back){ for(var i=0;i0){ source.actused--; } @@ -383,6 +396,10 @@ mode.stone={ } } }, + beastList:['stone_misha','stone_leiouke','stone_huofu', + 'stone_caoyuanshi','stone_qingwa','stone_mianyang','stone_jiewangzhu', + 'stone_fennuxiaoji','stone_juxingchanchu','stone_yanjingshe' + ], cardPack:{ mode_stone:[ 'spell_xiaoshi','spell_chenmo','spell_morizaihuo','spell_shengerpingdeng','spell_jingshenkongzhi','spell_anyingkuangluan', @@ -395,7 +412,16 @@ mode.stone={ 'spell_xishengqiyue','spell_zuzhou','spell_xiaoguibaopo','spell_emozhinu','spell_anyinglieyan','spell_liliangdaijia', 'spell_shenshengxinxing','spell_shengguangzhadan','spell_maizang','spell_xinlingshijie','spell_naluzhiguang','spell_zhiliaozhihuan', 'spell_nuxi','spell_dunpaimengji','spell_zhansha','spell_nuhuozhongshao','spell_xuanfengzhan','spell_juemingluandou', - 'spell_lierenyinji','spell_kuaisusheji','spell_guanmenfanggou','spell_zhaohuanchongwu','spell_zidanshangtang','spell_duochongsheji' + 'spell_lierenyinji','spell_kuaisusheji','spell_guanmenfanggou','spell_zhaohuanchongwu','spell_zidanshangtang','spell_duochongsheji', + 'spell_xianzuzhihun','spell_xianzuzhaohuan','spell_fengnu','spell_shihuawuqi','spell_xianzuzhishi','spell_rongyanbaolie', + 'spell_laojiuhuoba','spell_chirehuoba','spell_aoshufeidan','spell_canying','spell_yanbaoshu','spell_hanbingpingzhang','spell_jingxiang', + 'spell_mengun','spell_jipao','spell_beici','spell_weijisifu','spell_anzhongpohuai','spell_piaoqie', + 'spell_conglinzhihun','spell_heiandiyu','spell_fugen','spell_xingchenzhuiluo','spell_fengnu','spell_ziyang', + 'spell_shalumingling','spell_tianjiangzhuqun','spell_tanxianmao','spell_dubiao','spell_qiangfengsheji','spell_zhuizongshu', + 'spell_zhenyanshu','spell_enzeshu','spell_anyingxingtai','spell_kuaisuzhiliao','spell_kongxinshu','spell_xinlinghanbao', + 'spell_jinyingduijue','spell_zhihuizhufu','spell_shenshengfennu','spell_yongshizhufu','spell_shenpan','spell_zhengqianghaosheng', + 'spell_zhongnian','spell_fuchoudaji','spell_yingyongdaji','spell_zhandounuhuo','spell_chongfeng','spell_kuangbao', + 'spell_linghunhongxi','spell_siwangchanrao','spell_emozhixin','spell_fushishu','spell_ansezhadan','spell_heianqiyue' ] }, characterPack:{ @@ -497,7 +523,11 @@ mode.stone={ stone_shumiao:['none','wu',1,[],['minskin','stone','stonehidden'],[1,1]], stone_shuren:['none','wu',2,['stone_chongfeng','stone_zibao'],['minskin','stone','stonehidden'],[2,2]], + stone_shurenx:['none','wu',2,[],['minskin','stone','stonehidden'],[2,2]], stone_youlinglang:['none','qun',2,['chaofeng'],['minskin','stone','stonehidden'],[2,2]], + stone_xiaojingling:['none','qun',1,['xuying'],['minskin','stone','stonehidden'],[1,1]], + stone_zhumo:['none','qun',2,[],['minskin','stone','stonehidden'],[2,2]], + stone_jingxiang:['none','qun',2,['stone_jingxiang','chaofeng'],['minskin','stone','stonehidden'],[2,0]], stone_shengguanghuwei:['female','qun',2,['priest_shengguang'],['minskin','stone','stonehidden'],[1,1]], stone_liegou:['none','qun',1,['stone_chongfeng'],['minskin','stone','stonehidden'],[1,2]], stone_mianyang:['none','qun',1,['mage_mianyang'],['minskin','stone','stonehidden'],[1,0]], @@ -527,14 +557,6 @@ mode.stone={ list.shift().remove(); } }, - modPhaseDraw:function(player,num){ - if(_status.mode=='deck'&&!player.isMin()){ - player.draw(num,{drawDeck:1}); - } - else{ - player.draw(num); - } - }, getVideoName:function(){ var str=get.translation(game.me.name); if(game.me.name2){ @@ -618,6 +640,7 @@ mode.stone={ lib.spells=[]; var spells=lib.cardPack.mode_stone; for(var i=0;ib) return 1; + if(a==b) return 0; + return -1; + }); player.deck=name; player.career=career; if(!player.node.career){ @@ -1473,6 +1501,1718 @@ mode.stone={ } }, card:{ + spell_siwangchanrao:{ + type:'stonecard', + fullimage:true, + enable:true, + stoneact:1, + career:'warlock', + filterTarget:function(card,player,target){ + return target.isMin(); + }, + content:function(){ + 'step 0' + target.damage(); + 'step 1' + if(target.isDead()){ + player.drawDeck(); + } + }, + ai:{ + order:2, + value:5, + useful:5, + result:{ + target:-1 + }, + tag:{ + damage:1, + } + } + }, + spell_ansezhadan:{ + type:'stonecard', + fullimage:true, + enable:true, + stoneact:2, + career:'warlock', + filterTarget:true, + content:function(){ + 'step 0' + target.damage(2); + 'step 1' + var hs=player.get('h'); + if(hs.length){ + player.discard(hs.randomGet()); + } + }, + ai:{ + order:8, + value:5, + useful:5, + result:{ + target:-2 + }, + tag:{ + damage:2 + } + } + }, + spell_emozhixin:{ + type:'stonecard', + stoneact:4, + career:'warlock', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin(); + }, + content:function(){ + if(target.side!=player.side){ + target.damage(4); + } + else{ + target.draw(4); + } + }, + ai:{ + order:4, + value:5, + useful:5, + result:{ + target:function(player,target){ + if(target.side!=player.side){ + return -3; + } + else{ + return 2; + } + } + } + } + }, + spell_heianqiyue:{ + type:'stonecard', + stoneact:3, + career:'warlock', + enable:true, + fullimage:true, + notarget:true, + content:function(){ + 'step 0' + var fellows=player.getEnemy().getFellow(); + if(fellows.length){ + fellows.randomGet().die(); + } + 'step 1' + var fellows=player.getEnemy().getFellow(); + if(fellows.length){ + fellows.randomGet().die(); + } + 'step 2' + var hs=player.get('h'); + if(hs.length){ + player.discard(hs.randomGets(2)); + } + }, + ai:{ + order:7, + value:3, + useful:3, + result:{ + player:function(player){ + if(player.getEnemy().countFellow()>=2) return 1; + return 0; + } + } + } + }, + spell_linghunhongxi:{ + type:'stonecard', + stoneact:5, + career:'warlock', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin(); + }, + content:function(){ + 'step 0' + target.die({source:player}); + 'step 1' + player.recover(2); + }, + ai:{ + order:7.5, + value:5, + useful:5, + result:{ + target:function(player,target){ + return -target.hp-target.num('h')/2; + } + } + } + }, + spell_fushishu:{ + type:'stonecard', + stoneact:2, + career:'warlock', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin()&&!target.skills.contains('warlock_fushishu'); + }, + content:function(){ + target.addSkill('warlock_fushishu'); + }, + ai:{ + order:7.5, + value:5, + useful:5, + result:{ + target:function(player,target){ + return -target.hp-target.num('h')/2; + } + } + } + }, + + spell_fuchoudaji:{ + type:'stonecard', + fullimage:true, + enable:true, + stoneact:3, + career:'warrior', + filterTarget:function(card,player,target){ + return target.isMin(); + }, + selectTarget:-1, + content:function(){ + if(player.hp<=2){ + target.damage(3); + } + else{ + target.damage(); + } + }, + ai:{ + order:8.9, + value:5, + useful:5, + result:{ + target:-1.5 + }, + tag:{ + damage:1, + multitarget:1, + multineg:1, + } + } + }, + spell_yingyongdaji:{ + type:'stonecard', + stoneact:2, + career:'warrior', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.side!=player.side; + }, + content:function(){ + 'step 0' + player.damage(2,target); + 'step 1' + target.damage(2); + }, + ai:{ + order:8, + value:5, + useful:5, + result:{ + target:function(player,target){ + if(player.hujia>=2) return -1.5; + if(player.hujia==1){ + if(player.hp>3) return -1.5; + return 0; + } + return 0; + } + }, + tag:{ + damage:1, + } + } + }, + spell_zhandounuhuo:{ + type:'stonecard', + fullimage:true, + enable:function(event,player){ + for(var i=0;i=2) return -1.5; + } + } + return 0; + }, + tag:{ + damage:1 + } + } + } + }, + + spell_jinyingduijue:{ + type:'stonecard', + stoneact:4, + career:'paladin', + enable:function(card,player){ + var n1=player.countFellow(); + var n2=player.getEnemy().countFellow(); + return n1>0&&n2>0&&n1+n2>2; + }, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin(); + }, + selectTarget:-1, + multitarget:true, + multiline:true, + content:function(){ + var maxf=[],maxe=[]; + for(var i=0;imaxf[0].hp){ + maxf.length=0; + maxf.push(targets[i]); + } + } + else{ + if(!maxe.length||targets[i].hp==maxe[0].hp){ + maxe.push(targets[i]); + } + else if(targets[i].hp>maxe[0].hp){ + maxe.length=0; + maxe.push(targets[i]); + } + } + } + if(maxf.length){ + targets.remove(maxf.randomGet()); + } + if(maxe.length){ + targets.remove(maxe.randomGet()); + } + targets.sort(lib.sort.seat); + for(var i=0;i=3; + }, + fullimage:true, + notarget:true, + content:function(){ + var target=player.getEnemy().getFellow().randomGet(); + player.line(target); + target.die({source:player}); + }, + ai:{ + order:9, + value:4, + useful:4, + result:{ + player:1 + } + } + }, + spell_zhengqianghaosheng:{ + type:'stonecard', + stoneact:2, + career:'paladin', + enable:function(card,player){ + return !player.skills.contains('paladin_zhengqianghaosheng'); + }, + fullimage:true, + filterTarget:function(card,player,target){ + return player==target; + }, + selectTarget:-1, + content:function(){ + player.addSkill('paladin_zhengqianghaosheng'); + }, + ai:{ + order:3, + value:4, + useful:4, + result:{ + player:function(player){ + if(player.countFellow()>=2) return 1; + return 0; + } + } + } + }, + + spell_zhenyanshu:{ + type:'stonecard', + stoneact:1, + career:'priest', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin(); + }, + content:function(){ + target.gainMaxHp(); + target.recover(); + player.drawDeck(); + }, + ai:{ + order:7, + value:3, + useful:3, + result:{ + target:function(player,target){ + return Math.max(1,10-target.hp); + } + } + } + }, + spell_enzeshu:{ + type:'stonecard', + stoneact:3, + career:'priest', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin(); + }, + content:function(){ + target.gainMaxHp(3); + target.recover(3); + }, + ai:{ + order:5, + value:3, + useful:3, + result:{ + target:function(player,target){ + return Math.max(1,10-target.hp); + } + } + } + }, + spell_anyingxingtai:{ + type:'stonecard', + stoneact:2, + career:'priest', + chongzhu:true, + enable:function(event,player){ + if(player.career!='priest') return false; + return !player.storage.anyingxingtai||player.storage.anyingxingtai<2; + }, + fullimage:true, + filterTarget:function(card,player,target){ + return player==target; + }, + selectTarget:-1, + content:function(){ + if(typeof player.storage.anyingxingtai!='number'){ + player.storage.anyingxingtai=1; + } + else if(player.storage.anyingxingtai<2){ + player.storage.anyingxingtai=2; + } + player.markSkill('priest_anyingxingtai'); + }, + ai:{ + order:6.1, + value:3, + useful:3, + result:{ + player:1 + } + } + }, + spell_kuaisuzhiliao:{ + type:'stonecard', + stoneact:1, + career:'priest', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + if(player.hasFellowSkill('priest_hunwu')){ + return true; + } + return target.hp=2) return 1; + } + } + return 0; + } + } + } + }, + spell_heiandiyu:{ + fullimage:true, + type:'stonecard', + enable:true, + stoneact:4, + career:'druid', + filterTarget:function(card,player,target){ + return target.isMin(); + }, + multitarget:true, + targetprompt:['增加体力并摸牌'], + selectTarget:[0,1], + notarget:true, + content:function(){ + 'step 0' + if(targets.length){ + targets[0].gainMaxHp(); + targets[0].recover(); + targets[0].draw(3); + event.finish(); + } + else{ + event.num=0; + } + 'step 1' + if(player.canAddFellow()&&event.num++<10){ + player.addFellowAuto('stone_xiaojingling'); + event.redo(); + } + }, + ai:{ + order:5, + result:{ + target:function(player,target){ + return Math.max(1,target.hp-target.num('h')); + }, + } + } + }, + spell_ziyang:{ + type:'stonecard', + stoneact:3, + career:'druid', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return player==target; + }, + selectTarget:-1, + content:function(){ + 'step 0' + if(player.skills.contains('druid_ziyang')){ + player.drawDeck(3); + event.finish(); + } + else{ + player.chooseControl('获得行动值','摸牌').ai=function(){ + if(player.num('h')<=1) return '摸牌'; + return '获得行动值'; + }; + } + 'step 1' + if(result.control=='摸牌'){ + player.drawDeck(3); + } + else{ + player.addSkill('druid_ziyang'); + } + }, + ai:{ + order:1, + value:4, + useful:4, + result:{ + player:1 + } + } + }, + spell_xingchenzhuiluo:{ + type:'stonecard', + fullimage:true, + enable:true, + stoneact:6, + career:'druid', + targetprompt:['造成四点伤害'], + multitarget:true, + filterTarget:function(card,player,target){ + return target.side!=player.side; + }, + selectTarget:[0,1], + notarget:true, + content:function(){ + 'step 0' + if(targets.length){ + targets[0].damage(4); + event.finish(); + } + else{ + var list=player.getFellow(true); + if(list.length){ + list.sort(lib.sort.seat); + event.list=list; + player.line(list); + } + else{ + event.finish(); + } + } + 'step 1' + if(event.list.length){ + event.list.shift().damage(2); + event.redo(); + } + }, + ai:{ + order:7, + useful:5, + value:5, + result:{ + target:function(player,target){ + if(target==player.getEnemy()) return -2; + return -1; + } + }, + tag:{ + damage:2 + } + } + }, + spell_fennu:{ + type:'stonecard', + fullimage:true, + enable:true, + stoneact:2, + career:'druid', + filterTarget:function(card,player,target){ + return target.isMin(); + }, + content:function(){ + 'step 0' + player.chooseControl('两点','一点').prompt='造成两点伤害,或造成一点伤害并从牌库中获得一张牌'; + 'step 1' + if(result.control=='一点'){ + target.damage(); + } + else{ + target.damage(2); + event.finish(); + } + 'step 2' + player.drawDeck(); + }, + ai:{ + order:8, + value:5, + useful:5, + result:{ + target:-1 + }, + tag:{ + damage:2, + } + } + }, + spell_fugen:{ + type:'stonecard', + stoneact:2, + career:'druid', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin(); + }, + content:function(){ + 'step 0' + target.die(); + 'step 1' + var list=[]; + for(var i in lib.card){ + if(lib.card[i].stonehidden) continue; + if(lib.card[i].type=='stonecharacter'){ + list.push(i); + } + } + player.getEnemy().gain(game.createCard(list.randomGet()),'draw'); + }, + ai:{ + order:8.8, + value:5, + useful:5, + result:{ + target:function(player,target){ + return -target.hp-target.num('h')/2; + } + } + } + }, + + spell_mengun:{ + type:'stonecard', + stoneact:2, + career:'rogue', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin()&&target.side!=player.side; + }, + content:function(){ + 'step 0' + target.die(); + event.name=target.name; + 'step 1' + player.getEnemy().gain(game.createCard(event.name+'_stonecharacter'),'gain2'); + }, + ai:{ + order:8.8, + value:5, + useful:5, + result:{ + target:function(player,target){ + return -target.hp-target.num('h')/2; + } + } + } + }, + spell_jipao:{ + type:'stonecard', + stoneact:3, + career:'rogue', + enable:function(card,player){ + return !player.isMin(); + }, + fullimage:true, + filterTarget:function(card,player,target){ + return target==player; + }, + selectTarget:-1, + content:function(){ + if(!player.isMin()){ + player.drawDeck(4); + } + }, + ai:{ + order:1, + value:3, + useful:3, + } + }, + spell_beici:{ + type:'stonecard', + stoneact:0, + career:'rogue', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin()&&target.hp==target.maxHp; + }, + content:function(){ + target.loseHp(); + }, + ai:{ + order:9, + result:{ + target:-1 + }, + value:6, + useful:6, + } + }, + spell_weijisifu:{ + type:'stonecard', + stoneact:2, + career:'rogue', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target==player.getEnemy(); + }, + selectTarget:-1, + content:function(){ + if(target.deckCards){ + var cards=[]; + for(var i=0;i<3;i++){ + cards.push(game.createCard('spell_zhumo')); + } + player.$give(cards,target); + for(var i=0;i0; + }, + stoneact:2, + career:'mage', + filterTarget:function(card,player,target){ + return target.side!=player.side&&target.isMin(); + }, + selectTarget:-1, + multitarget:true, + multiline:true, + content:function(){ + 'step 0' + var map=[]; + for(var i=0;i1) return target.hp; + return 0; + } + } + } + }, + spell_shihuawuqi:{ + type:'stonecard', + stoneact:1, + career:'shaman', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin()&&!target.skills.contains('shaman_shihuawuqi'); + }, + content:function(){ + target.addSkill('shaman_shihuawuqi'); + }, + ai:{ + order:4, + value:4, + useful:4, + result:{ + target:function(player,target){ + if(target.isTurnedOver()) return 0; + if(target.isMin()) return target.hp; + return 1.1; + } + } + } + }, + spell_xianzuzhaohuan:{ + type:'stonecard', + stoneact:1, + career:'shaman', + fullimage:true, + enable:true, + filterTarget:function(card,player,target){ + return !target.isMin(); + }, + multitarget:true, + multiline:true, + selectTarget:-1, + content:function(){ + 'step 0' + var hs=targets[0].get('h',function(card){ + return get.type(card)=='stonecharacter'; + }); + if(hs.length&&targets[0].canAddFellow()){ + targets[0].useCard(targets[0],hs.randomGet(),false).noActCount=true; + } + 'step 1' + var hs=targets[1].get('h',function(card){ + return get.type(card)=='stonecharacter'; + }); + if(hs.length&&targets[1].canAddFellow()){ + targets[1].useCard(targets[1],hs.randomGet(),false).noActCount=true; + } + }, + ai:{ + order:9, + value:5, + useful:5, + result:{ + player:function(player){ + var hs=player.get('h',function(card){ + return get.type(card)=='stonecharacter'; + }); + if(hs.length==0) return 0; + var enemy=player.getEnemy(); + if(enemy.num('h')<=1) return 1; + var num=0; + for(var i=0;i=3) return 1; + return 0; + } + } + } + }, + spell_xianzuzhihun:{ + type:'stonecard', + stoneact:2, + career:'shaman', + enable:true, + fullimage:true, + filterTarget:function(card,player,target){ + return target.isMin()&&!target.skills.contains('shaman_xianzuzhihun'); + }, + content:function(){ + target.addSkill('shaman_xianzuzhihun'); + }, + ai:{ + order:5, + value:4, + useful:4, + result:{ + target:function(player,target){ + if(lib.card[target.name+'_stonecharacter']){ + return lib.card[target.name+'_stonecharacter'].stoneact-1; + } + return 0; + } + } + } + }, + spell_xianzuzhishi:{ + type:'stonecard', + fullimage:true, + enable:true, + stoneact:0, + career:'shaman', + filterTarget:function(card,player,target){ + return target==player; + }, + selectTarget:-1, + content:function(){ + player.drawDeck(2); + player.addTempSkill('shaman_xianzuzhishi','phaseAfter'); + }, + ai:{ + order:10, + result:{ + player:1 + } + } + }, + spell_rongyanbaolie:{ + type:'stonecard', + fullimage:true, + enable:true, + stoneact:3, + career:'shaman', + filterTarget:true, + content:function(){ + 'step 0' + target.damage(3,'fire'); + 'step 1' + player.loseHp(); + }, + ai:{ + order:8, + value:6, + useful:5, + result:{ + target:-2 + }, + tag:{ + damage:2, + natureDamage:2, + fireDamage:2, + } + } + }, + spell_shenshengxinxing:{ type:'stonecard', stoneact:5, @@ -1554,7 +3294,9 @@ mode.stone={ 'step 0' target.die(); 'step 1' - player.gain(game.createCard(target.name+'_stonecharacter'),'gain2'); + if(player.deckCards){ + player.deckCards.push(game.createCard(target.name+'_stonecharacter')); + } }, ai:{ order:7, @@ -1621,7 +3363,7 @@ mode.stone={ }, ai:{ order:7, - value:5, + value:7, useful:5, result:{ player:function(player,target){ @@ -1739,7 +3481,9 @@ mode.stone={ value:5, useful:5, result:{ - target:-2 + target:function(player,target){ + return -target.hp-target.num('h')/2; + } } } }, @@ -1886,7 +3630,7 @@ mode.stone={ }, spell_guanmenfanggou:{ type:'stonecard', - stoneact:3, + stoneact:2, career:'hunter', enable:function(event,player){ return player.getEnemy().countFellow()>0; @@ -1927,10 +3671,7 @@ mode.stone={ }, selectTarget:-1, content:function(){ - var list=['stone_misha','stone_leiouke','stone_huofu', - 'stone_caoyuanshi','stone_qingwa','stone_mianyang','stone_jiewangzhu', - 'stone_fennuxiaoji','stone_juxingchanchu','stone_yanjingshe']; - player.addFellowAuto(list.randomGet()); + player.addFellowAuto(lib.beastList.randomGet()); }, ai:{ order:6, @@ -1978,10 +3719,7 @@ mode.stone={ }, stoneact:4, career:'hunter', - filterTarget:function(card,player,target){ - return player==target; - }, - selectTarget:-1, + notarget:true, content:function(){ 'step 0' var list=[]; @@ -2384,6 +4122,8 @@ mode.stone={ filterTarget:true, selectTarget:[0,1], notarget:true, + multitarget:true, + targetprompt:['造成一点伤害'], content:function(){ 'step 0' if(targets.length){ @@ -2554,7 +4294,7 @@ mode.stone={ type:'stonecard', fullimage:true, enable:true, - stoneact:3, + stoneact:4, career:'rogue', filterTarget:function(card,player,target){ return target.isMin(); @@ -2567,7 +4307,9 @@ mode.stone={ value:5, useful:5, result:{ - target:-100 + target:function(player,target){ + return -target.hp-target.num('h')/2; + } }, } }, @@ -2736,10 +4478,7 @@ mode.stone={ }, stoneact:3, career:'paladin', - selectTarget:-1, - filterTarget:function(card,player,target){ - return player==target; - }, + notarget:true, content:function(){ 'step 0' if(player.canAddFellow()){ @@ -2751,7 +4490,7 @@ mode.stone={ } }, ai:{ - order:9, + order:8.5, value:5, useful:5, result:{ @@ -2874,7 +4613,7 @@ mode.stone={ multitarget:true, multiline:true, content:function(){ - game.asyncDraw(targets,2); + game.asyncDraw(targets,3); }, ai:{ order:5, @@ -2896,10 +4635,7 @@ mode.stone={ }, stoneact:4, career:'shaman', - selectTarget:-1, - filterTarget:function(card,player,target){ - return player==target; - }, + notarget:true, content:function(){ 'step 0' if(player.canAddFellow()){ @@ -2932,10 +4668,7 @@ mode.stone={ }, stoneact:2, career:'shaman', - filterTarget:function(card,player,target){ - return player==target; - }, - selectTarget:-1, + notarget:true, content:function(){ 'step 0' var list=[]; @@ -2998,11 +4731,11 @@ mode.stone={ type:'stonecard', fullimage:true, enable:true, - stoneact:3, + stoneact:4, career:'mage', filterTarget:true, content:function(){ - target.damage(2,'fire'); + target.damage(3,'fire'); }, ai:{ order:8, @@ -3454,6 +5187,273 @@ mode.stone={ }, }, skill:{ + warlock_fushishu:{ + trigger:{player:'phaseAfter'}, + forced:true, + mark:true, + intro:{ + content:'下个回合结束后死亡' + }, + content:function(){ + player.die(); + }, + ai:{ + threaten:0.1 + } + }, + + paladin_zhengqianghaosheng:{ + trigger:{player:'phaseBegin'}, + forced:true, + mark:true, + intro:{ + content:'在你的下一回合开始时,令所有友方随从增加一点体力上限,回复一点体力并摸一张牌' + }, + content:function(){ + player.removeSkill('paladin_zhengqianghaosheng'); + var list=player.getFellow(); + for(var i=0;iplayer.actcount) return false; + if(player.storage.anyingxingtai) return false; return true; }, usable:1, @@ -4492,6 +6509,34 @@ mode.stone={ } } }, + _priest_skillx:{ + enable:'phaseUse', + filter:function(event,player){ + if(player.career!='priest') return false; + if(player.getActCount()+2>player.actcount) return false; + if(!player.storage.anyingxingtai) return false; + return true; + }, + usable:1, + prompt:function(event,player){ + return '造成'+get.cnNumber(_status.event.player.storage.anyingxingtai)+'点伤害'; + }, + filterTarget:true, + content:function(){ + player.actused+=2; + player.updateActCount(); + event.parent.career='priest'; + target.damage(player.storage.anyingxingtai); + }, + ai:{ + order:2, + result:{ + target:function(player,target){ + return ai.get.damageEffect(target,player,target); + } + } + } + }, _mage_skill:{ enable:'phaseUse', filter:function(event,player){ @@ -5302,7 +7347,7 @@ mode.stone={ forced:true, popup:false, filter:function(event,player){ - return !player.isMin(); + return !player.isMin()&&!event.noActCount; }, content:function(){ var stoneact=get.info(trigger.card).stoneact; @@ -5382,7 +7427,7 @@ mode.stone={ spell_shengguangzhadan:'圣光炸弹', spell_shengguangzhadan_info:'对所有随从造成等同于其手牌数的伤害', spell_maizang:'埋葬', - spell_maizang_info:'令一名敌方随从死亡,并将一张与该随从同名的随从牌置于你的手牌', + spell_maizang_info:'令一名敌方随从死亡,并将一张与该随从同名的随从洗入你的牌库', spell_xinlingshijie:'心灵视界', spell_xinlingshijie_info:'将一张敌方主将手牌的复制置于你的手牌', spell_naluzhiguang:'纳鲁之光', @@ -5390,6 +7435,20 @@ mode.stone={ spell_zhiliaozhihuan:'治疗之环', spell_zhiliaozhihuan_info:'令所有随从恢复两点体力值', + spell_zhenyanshu:'真言术', + spell_zhenyanshu_info:'令一名随从增加一点体力上限,回复一点体力;从牌库中获得一张牌', + spell_enzeshu:'恩泽术', + spell_enzeshu_info:'令一名随从增加三点体力上限并回复三点体力', + spell_anyingxingtai:'暗影形态', + priest_anyingxingtai:'暗影形态', + spell_anyingxingtai_info:'你的职业技能改为造成一点伤害,若已进入暗影形态,则改为造成两点伤害', + spell_kuaisuzhiliao:'快速治疗', + spell_kuaisuzhiliao_info:'回复两点体力', + spell_xinlinghanbao:'心灵撼爆', + spell_xinlinghanbao_info:'对敌方主将造成两点伤害', + spell_kongxinshu:'控心术', + spell_kongxinshu_info:'复制敌方牌库中的一张随从,将其置入战场', + stone_shengguanghuwei:'圣光护卫', priest_shengguang:'圣光', priest_shengguang_info:'每当一名随从获得治疗,摸一张牌', @@ -5405,7 +7464,35 @@ mode.stone={ spell_xuanfengzhan:'旋风斩', spell_xuanfengzhan_info:'对所有随从造成一点伤害', spell_juemingluandou:'绝命乱半', - spell_juemingluandou_info:'随机保留一名随从,然后令所有其他随从死亡', + spell_juemingluandou_info:'随机保留一名随从,然后令所有其他随从死亡(无法触发死亡技能)', + + spell_zhongnian:'重碾', + spell_zhongnian_info:'造成X点伤害,X为已受伤的友方角色数且不超过3', + spell_zhandounuhuo:'战斗怒火', + spell_zhandounuhuo_info:'从牌库中获得X张牌,X为已受伤的友方角色数', + spell_chongfeng:'冲锋', + spell_chongfeng_info:'令一名武将牌背面朝上的友方随从摸三张牌,然后将武将牌翻至正面', + spell_fuchoudaji:'复仇打击', + spell_fuchoudaji_info:'对所有随从造成一点伤害,若你的体力值不大于2,改为造成三点伤害', + spell_kuangbao:'狂暴', + spell_kuangbao_info:'令一名已受伤的友方随从摸四张牌', + spell_yingyongdaji:'英勇打击', + spell_yingyongdaji_info:'令一名敌方角色对你造成两点伤害,然后对其造成两点伤害', + + spell_dubiao:'毒镖', + spell_dubiao_info:'对一名随机敌方角色造成一点伤害', + spell_qiangfengsheji:'强风射击', + spell_qiangfengsheji_info:'对两名敌方随从各造成一点伤害,并弃置其一张手牌', + spell_tanxianmao:'探险冒', + hunter_tanxianmao:'探险冒', + hunter_tanxianmao_info:'你死亡时,将一张探险冒置入主将的手牌', + spell_tanxianmao_info:'令一名友方随从增加一点体力上限,回复一点体力并摸一张牌,当该随从死亡时,将一张探险冒置入你的手牌', + spell_shalumingling:'杀戮命令', + spell_shalumingling_info:'造成两点伤害,所有友方随从摸一张牌', + spell_zhuizongshu:'追踪术', + spell_zhuizongshu_info:'从牌库中随机选择三张牌,获得其中的一张', + spell_tianjiangzhuqun:'天降蛛群', + spell_tianjiangzhuqun_info:'召唤三只结网蛛', spell_lierenyinji:'猎人印记', spell_lierenyinji_info:'将一名随从的体力上限降至1', @@ -5438,6 +7525,21 @@ mode.stone={ spell_emozhinu:'恶魔之怒', spell_emozhinu_info:'对所有随从造成一点伤害', + spell_emozhixin:'恶魔之心', + spell_emozhixin_info:'对一名敌方随从造成四点伤害,或令一名友方随从摸四张牌', + spell_ansezhadan:'暗色炸弹', + spell_ansezhadan_info:'造成两点伤害,随机弃置一张手牌', + spell_fushishu:'腐蚀术', + warlock_fushishu:'腐蚀', + warlock_fushishu_info:'下个回合结束后死亡', + spell_fushishu_info:'令一名敌方随从于其下个回合结束后死亡', + spell_heianqiyue:'黑暗契约', + spell_heianqiyue_info:'随机令两名敌方随从死亡,随机弃置两张手牌', + spell_linghunhongxi:'灵魂虹吸', + spell_linghunhongxi_info:'杀死一名随从,回复两点体力', + spell_siwangchanrao:'死亡缠绕', + spell_siwangchanrao_info:'对一名随从造成一点伤害;若该随从死亡,从牌库中获得一张牌', + spell_wuyashenxiang:'乌鸦神像', spell_wuyashenxiang_info:'从三张法术牌或随从牌中选择一张加入手牌', spell_huotigenxu:'活体根须', @@ -5447,18 +7549,37 @@ mode.stone={ spell_yexingchengzhang:'野性成长', spell_yexingchengzhang_info:'下个出牌阶段开始时获得三点额外行动值', spell_ziranzhili:'自然之力', - spell_ziranzhili_info:'召唤三个树人,树人在其回合结束后死亡', + spell_ziranzhili_info:'召唤三个自爆树人', spell_yemanpaoxiao:'野蛮咆哮', spell_yemanpaoxiao_bg:'咆', spell_yemanpaoxiao2:'咆哮', spell_yemanpaoxiao_info:'所有友方角色造成的伤害+1,直到你的下个回合开始', + spell_conglinzhihun:'丛林之魂', + druid_conglinzhihun:'树魂', + druid_conglinzhihun_info:'你死亡后召唤一个树人', + spell_conglinzhihun_info:'令所有友方随从获得技能树魂(你死亡后召唤一个树人)', + spell_ziyang:'滋养', + spell_ziyang_info:'下个出牌开始阶段获得四点额外行动值,或从牌库中获得三张牌', + spell_fugen:'腐根', + spell_fugen_info:'令一名随从死亡,将一张随机随从置入对手的手牌', + spell_xingchenzhuiluo:'星辰坠落', + spell_xingchenzhuiluo_info:'对一名敌方角色造成四点伤害,或对所有敌方随从造成两点伤害', + spell_fennu:'愤怒', + spell_fennu_info:'对一名随从造成两点伤害,或造成一点伤害并从牌库中获得一张牌', + spell_heiandiyu:'黑暗低语', + spell_heiandiyu_info:'召唤若干个小精灵直到你的随从数达到4;或令一名随从增加一点体力上限,回复一点体力并摸三张牌', + druid_yexingchengzhang:'成长', druid_yexingchengzhang_bg:'长', druid_yexingchengzhang_info:'下个出牌阶段开始时获得三点额外行动值', + druid_ziyang:'滋养', + druid_ziyang_bg:'养', + druid_ziyang_info:'下个出牌阶段开始时获得四点额外行动值', stone_shumiao:'树苗', - stone_shuren:'树人', + stone_shuren:'自爆树人', + stone_shurenx:'树人', stone_zibao:'自爆', stone_zibao_info:'结合结束后立即死亡', @@ -5475,6 +7596,22 @@ mode.stone={ spell_modaoyou:'磨刀油', spell_modaoyou_info:'令你下一次剑刃乱舞造成的伤害+1,并与一名随机友方随从各摸两张牌', + spell_mengun:'闷棍', + spell_mengun_info:'令一名敌方随从死亡,将一张该随从的复制置入对手的手牌', + spell_anzhongpohuai:'暗中破坏', + spell_anzhongpohuai_info:'随机杀死一名敌方随从,随机弃置敌方的一张装备牌', + spell_beici:'背刺', + spell_beici_info:'令一名未受伤的随从流失一点体力', + spell_weijisifu:'危机四伏', + spell_zhumo:'蛛魔', + stone_zhumo:'蛛魔', + spell_zhumo_info:'每当该牌被弃置,为你的对手召唤一只蛛魔', + spell_weijisifu_info:'将三张蛛魔牌洗入对手的牌库;每当一名角色弃置蛛魔牌,为其对手召唤一只蛛魔', + spell_piaoqie:'剽窃', + spell_piaoqie_info:'复制两张对手牌库中的牌加入你的手牌', + spell_jipao:'疾跑', + spell_jipao_info:'从牌库中获得四张牌', + spell_fengxian:'奉献', spell_fengxian_info:'对所有敌方角色造成一点伤害', spell_fuchouzhinu:'复仇之怒', @@ -5488,6 +7625,43 @@ mode.stone={ spell_liliangzhufu:'力量祝福', spell_liliangzhufu_info:'令一名随从摸两张牌', + spell_jinyingduijue:'精英对决', + spell_jinyingduijue_info:'双方各保留体力值最高的一名随从,然后令其他随从死亡(无法触发死亡技能)', + spell_shenpan:'审判', + spell_shenpan_info:'若你的对手有至少三名随从,则随机杀死一名敌方随从', + spell_shenshengfennu:'神圣愤怒', + spell_shenshengfennu_info:'从牌库中获得一张牌,并造成等同于其行动值消耗的伤害', + spell_yongshizhufu:'勇士祝福', + spell_yongshizhufu_info:'令一名随从的体力值和体力上限翻倍', + spell_zhengqianghaosheng:'争强好胜', + paladin_zhengqianghaosheng:'争强好胜', + paladin_zhengqianghaosheng_info:'在你的下一回合开始时,令所有友方随从增加一点体力上限,回复一点体力并摸一张牌', + spell_zhengqianghaosheng_info:'在你的下一回合开始时,令所有友方随从增加一点体力上限,回复一点体力并摸一张牌', + spell_zhihuizhufu:'智慧祝福', + paladin_zhihuizhufu:'智慧祝福', + spell_zhihuizhufu_info:'选择一名随从,每当其回合开始时,你从牌库中获得一张牌', + + spell_fengnu:'风怒', + shaman_fengnu:'风怒', + shaman_fengnu_info:'回合结束后,你获得一个额外回合', + spell_fengnu_info:'令一名随从获得技能风怒(回合结束后,你获得一个额外回合)', + spell_rongyanbaolie:'熔岩爆裂', + spell_rongyanbaolie_info:'造成三点火焰伤害,流失一点体力', + spell_shihuawuqi:'石化武器', + shaman_shihuawuqi:'充能', + shaman_shihuawuqi_info:'回合开始阶段,你摸三张牌', + spell_shihuawuqi_info:'令一名友方随从获得技能充能(回合开始阶段,你摸三张牌),直到你的下一回合开始', + spell_xianzuzhaohuan:'先祖召唤', + spell_xianzuzhaohuan_info:'双方各将手牌中的一张随机随从牌置入战场', + spell_xianzuzhihun:'先祖之魂', + shaman_xianzuzhihun:'转生', + shaman_xianzuzhihun_info:'你死亡后,召唤一个自身的复制', + spell_xianzuzhihun_info:'令一名随从获得技能转生(你死亡后,召唤一个自身的复制)', + spell_xianzuzhishi:'先祖知识', + shaman_xianzuzhishi:'先祖知识', + shaman_xianzuzhishi_info:'本回合手牌上限-1', + spell_xianzuzhishi_info:'从牌库中获得两张牌,本回合手牌上限-1(多次使用不叠加)', + spell_lianhuanbaolie:'连环爆裂', spell_lianhuanbaolie_info:'造成1〜2点雷电伤害', spell_shandianfengbao:'闪电风暴', @@ -5497,15 +7671,34 @@ mode.stone={ spell_yexinglanghun:'野性狼魂', spell_yexinglanghun_info:'召唤两个幽灵狼', spell_shixue:'嗜血', - spell_shixue_info:'所有友方随从摸两张牌', + spell_shixue_info:'所有友方随从摸三张牌', spell_chazhuangshandian:'叉状闪电', spell_chazhuangshandian_info:'对两个随机敌方随从各造成一点雷电伤害', stone_qingwa:'青蛙', stone_youlinglang:'幽灵狼', + stone_jingxiang:'镜像', + stone_jingxiang_info:'锁定技,你跳过摸牌阶段', shaman_qingwa:'青蛙', shaman_qingwa_info:'锁定技,你跳过摸牌阶段', + stone_xiaojingling:'小精灵', + spell_laojiuhuoba:'老旧火把', + spell_laojiuhuoba_info:'造成一点伤害,将一张炽热火把置入你的牌库', + spell_chirehuoba:'炽热火把', + spell_chirehuoba_info:'造成两点火焰伤害', + spell_canying:'残影', + spell_canying_info:'复制你的所有随从,并将其置入你的手牌', + spell_yanbaoshu:'炎爆术', + spell_yanbaoshu_info:'造成四点火焰伤害', + spell_jingxiang:'镜像', + spell_jingxiang_info:'召唤两个具有嘲讽且摸牌阶段不摸牌的随从', + spell_aoshufeidan:'奥术飞弹', + spell_aoshufeidan_info:'造成3点伤害,随从分配到所有敌方随从上', + spell_hanbingpingzhang:'寒冰屏障', + mage_hanbingpingzhang:'寒冰屏障', + mage_hanbingpingzhang_info:'体力值不能降到2以内', + spell_hanbingpingzhang_info:'令一名角色的体力值不能降到2以内,直到你的下一回合开始', spell_hanbingjian:'寒冰箭', spell_hanbingjian_info:'对一个随从造成两点伤害,然后将其翻面', @@ -5518,7 +7711,7 @@ mode.stone={ spell_bianxingshu:'变形术', spell_bianxingshu_info:'将一个随从变成一只绵羊', spell_huoqiushu:'火球术', - spell_huoqiushu_info:'造成两点火焰伤害', + spell_huoqiushu_info:'造成三点火焰伤害', stone_mianyang:'绵羊', mage_mianyang:'绵羊', @@ -5711,6 +7904,8 @@ mode.stone={ _mage_skill_info:'对一名随从造成一点火焰伤害', _priest_skill:'治疗', _priest_skill_info:'回复一点体力', + _priest_skillx:'心刺', + _priest_skillx_info:'造成一点伤害', _warrior_skill:'战甲', _warrior_skill_info:'获得一点护甲(不能超过5点)', _warlock_skill:'作法', @@ -5833,7 +8028,7 @@ mode.stone={ spell_chenmo_info:'弃置一名随从的所有牌,并令其体力上限减至1', spell_zhiliaoshui:'治疗水', spell_zhiliaoshui_info:'出牌阶段对自己使用,恢复两点体力值;或于濒死阶段对一名角色使用,令目标恢复一点体力', - spell_yanmie:'黑暗契约', + spell_yanmie:'极恶之咒', spell_yanmie_info:'交换你与敌方主将的装备区,并摸若干张牌直到你的手牌数与敌方主将相等', spell_xiaoshi:'消失', spell_xiaoshi_info:'令敌方主将将所有装备区内的牌收入手牌,并弃置其若干张手牌,直到其手牌数与你相等', diff --git a/mode/versus.js b/mode/versus.js index 07f5d76a4..acc23ac38 100755 --- a/mode/versus.js +++ b/mode/versus.js @@ -298,6 +298,16 @@ mode.versus={ weiboss:[],shuboss:[], } event.list=list; + if(lib.characterPack.boss){ + for(var i in lib.characterPack.boss){ + if(!lib.character[i]&&lib.characterPack.boss[i][4]){ + if(lib.characterPack.boss[i][4].contains('jiangeboss')|| + lib.characterPack.boss[i][4].contains('jiangemech')){ + lib.character[i]=lib.characterPack.boss[i]; + } + } + } + } for(var i in lib.character){ if(lib.character[i][4]){ if(lib.character[i][4].contains('jiangeboss')){ @@ -596,6 +606,15 @@ mode.versus={ next.showConfig=true; next.content=function(){ "step 0" + if(lib.config.continue_name_versus){ + _status.friend=lib.config.continue_name_versus.friend; + _status.enemy=lib.config.continue_name_versus.enemy; + _status.color=lib.config.continue_name_versus.color; + game.additionaldead=[]; + event.goto(1); + game.saveConfig('continue_name_versus'); + return; + } event.check=function(){ this.dialog.classList.add('fullwidth'); this.dialog.classList.add('fullheight'); @@ -907,6 +926,9 @@ mode.versus={ }; game.pause(); "step 1" + _status.friendBackup=_status.friend.slice(0); + _status.enemyBackup=_status.enemy.slice(0); + _status.friendDied=[]; _status.enemyDied=[]; _status.totalCount=_status.friend.length;