diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 31b886849..7dcc6805a 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,10 +1,11 @@ 1.6.1 -bug修复 -本轮不无懈按钮 -编辑牌堆功能 -皮肤、珠联璧合提示 +* bug修复 +* 本轮不无懈按钮 +* 编辑牌堆功能、牌堆按钮 +皮肤菜单 +珠联璧合提示 选将人数、高亮颜色选项 -收藏录像 -boss武将包 -标记数量显示 +* 收藏录像 +* boss武将包 +* 标记数量显示 精简版 diff --git a/card/hearth.js b/card/hearth.js index 4e13023d3..90a4b37dc 100644 --- a/card/hearth.js +++ b/card/hearth.js @@ -15,7 +15,7 @@ card.hearth={ }, ai:{ basic:{ - order:5, + order:2, value:[6,1], useful:2, }, diff --git a/character/boss.js b/character/boss.js new file mode 100644 index 000000000..8f57aa468 --- /dev/null +++ b/character/boss.js @@ -0,0 +1,893 @@ +'usr strict'; +character.boss={ + mode:['identity','guozhan','stone','boss'], + character:{ + boss_zhangchunhua:['female','wei',4,['jueqing','wuxin','shangshix'],['boss','bossallowed'],'wei'], + boss_zhenji:['female','wei',4,['tashui','lingbo','jiaoxia','fanghua'],['boss','bossallowed'],'wei'], + // boss_liubei:['male','shu',5,['lingfeng'],['boss','bossallowed'],'qun'], + // boss_zhugeliang:['male','shu',4,[],['boss','bossallowed'],'qun'], + boss_huangyueying:['female','shu',4,['boss_gongshen','boss_jizhi','qicai','boss_guiyin'],['boss','bossallowed'],'wei'], + boss_pangtong:['male','shu',4,['boss_tianyu','qiwu','niepan','boss_yuhuo'],['boss','bossallowed'],'zhu'], + boss_zhouyu:['male','wu',6,['huoshen','boss_honglian','boss_xianyin'],['boss','bossallowed'],'zhu'], + boss_lvbu1:['male','qun',8,['mashu','wushuang','boss_baonu'],['boss','bossallowed'],'wei'], + boss_lvbu2:['male','qun',4,['mashu','wushuang','swd_xiuluo','shenwei','shenji'],['hiddenboss'],'qun'], + boss_caiwenji:['female','qun',4,['beige','boss_hujia','boss_guihan'],['boss','bossallowed'],'wei'], + boss_zhangjiao:['male','qun',8,['boss_leiji','tiandao','jidian'],['boss','bossallowed'],'shu'], + boss_zuoci:['male','qun',0,['huanhua'],['boss','bossallowed'],'shu'], + // boss_yuji:['male','qun',8,[],['boss','bossallowed'],'nei'], + boss_diaochan:['female','qun',4,['fengwu','yunshen','lianji','boss_wange','yuehun'],['boss','bossallowed'],'qun'], + boss_huatuo:['male','qun',6,['chulao','mazui','boss_shengshou','guizhen','wuqin'],['boss','bossallowed'],'wu'], + boss_dongzhuo:['male','qun',20,['jiuchi','boss_qiangzheng','boss_baolin'],['boss','bossallowed'],'shu'], + // boss_shuijing:['male','qun',8,[],['boss','bossallowed'],'wei'], + }, + skill:{ + boss_leiji:{ + audio:2, + trigger:{player:'respond'}, + filter:function(event,player){ + return event.card.name=='shan'; + }, + direct:true, + content:function(){ + "step 0"; + player.chooseTarget('是否发动雷击?').ai=function(target){ + return ai.get.damageEffect(target,player,player,'thunder'); + }; + "step 1" + if(result.bool){ + player.logSkill('diyleiji',result.targets,'thunder'); + event.target=result.targets[0]; + event.target.judge(function(card){ + // var suit=get.suit(card); + // if(suit=='spade') return -4; + // if(suit=='club') return -2; + if(get.color(card)=='black') return -2; + return 0; + }); + } + else{ + event.finish(); + } + "step 2" + if(result.bool==false){ + event.target.damage('thunder'); + player.draw(); + } + }, + ai:{ + effect:{ + target:function(card,player,target,current){ + if(get.tag(card,'respondShan')){ + var hastarget=false; + for(var i=0;i2){ + if(!target.skills.contains('guidao')) return 0; + return [0,hastarget?target.num('h')/4:0]; + } + if(target.num('h')>3||(be&&target.num('h')>=2)){ + return [0,0]; + } + if(target.num('h')==0){ + return [1.5,0]; + } + if(target.num('h')==1&&!be){ + return [1.2,0]; + } + if(!target.skills.contains('guidao')) return [1,0.05]; + return [1,Math.min(0.5,(target.num('h')+be)/4)]; + } + } + } + } + }, + wuqin:{ + trigger:{player:'phaseEnd'}, + filter:function(event,player){ + return player.num('h')==0; + }, + content:function(){ + player.draw(3) + } + }, + boss_baolin:{ + inherit:'juece', + }, + boss_qiangzheng:{ + trigger:{player:'phaseEnd'}, + forced:true, + unique:true, + filter:function(event,player){ + for(var i=0;i=3; + }, + content:function(){ + "step 0" + player.chooseTarget(function(card,player,target){ + return target!=player; + }).ai=function(){ + return 1; + } + "step 1" + if(result.bool){ + player.logSkill('boss_konghun',result.targets); + result.targets[0].goMad(); + } + }, + group:'boss_konghun2' + }, + boss_konghun2:{ + trigger:{player:'phaseBegin'}, + forced:true, + popup:false, + content:function(){ + var players=game.players.concat(game.dead); + for(var i=0;i1){ + num--; + } + else{ + num++; + } + } + return num; + } + } + } + }, + huanhua:{ + trigger:{global:'gameDrawAfter'}, + forced:true, + unique:true, + content:function(){ + for(var i=0;i1; + }, + content:function(){ + "step 0" + event.players=get.players(player); + event.num=0; + "step 1" + if(event.players.length){ + event.players.shift().loseHp(); + event.redo(); + } + } + }, + wuxin:{ + inherit:'miles_xueyi', + group:'swd_wuxie' + }, + shenwei:{ + unique:true, + trigger:{player:'phaseDrawBegin'}, + forced:true, + content:function(){ + trigger.num+=Math.max(2,game.players.length-1); + }, + mod:{ + maxHandcard:function(player,current){ + return current+Math.max(2,game.players.length-1); + } + } + }, + shenji:{ + unique:true, + mod:{ + selectTarget:function(card,player,range){ + if(card.name=='sha'||card.name=='juedou') range[1]=3; + }, + } + }, + boss_baonu:{ + unique:true, + group:'boss_baonu2', + trigger:{player:'changeHp'}, + forced:true, + priority:100, + filter:function(event,player){ + return player.hp<=4 + }, + content:function(){ + player.init('boss_lvbu2'); + player.update(); + ui.clear(); + while(_status.event.name!='phaseLoop'){ + _status.event=_status.event.parent; + } + for(var i=0;i1) return [0,2]; + if(num&&Math.random()<0.7) return [0,1]; + } + } + } + } + } + }, + boss_baonu2:{ + trigger:{player:'gameDrawBegin'}, + forced:true, + popup:false, + content:function(){ + player.draw(4,false); + } + }, + }, + translate:{ + boss_qiangzheng:'强征', + boss_qiangzheng_info:'锁定技,回合结束阶段,你获得每个敌方角色的一张手牌', + boss_baolin:'暴凌', + guizhen:'归真', + guizhen_info:'每当你失去最后一张手牌,你可以所有敌人失去全部手牌,没有手牌的角色失去一点体力(不触发技能)', + boss_shengshou:'圣手', + boss_shengshou_info:'每当你使用一张牌,你可以进行一次判定,若为红色,你回复一点体力', + wuqin:'五禽戏', + wuqin_info:'回合结束阶段,若你没有手牌,可以摸三张牌', + + boss_konghun:'控心', + boss_konghun_info:'回合结束阶段,你可以指定一名敌人令其进入混乱状态(不受对方控制,并将队友视为敌人)直到下一回合开始', + yuehun:'月魂', + yuehun_info:'回合开始阶段,你可以回复一点体力并摸两张牌', + fengwu:'风舞', + fengwu_info:'出牌阶段限一次,可令除你外的所有角色依次对与其距离最近的另一名角色使用一张【杀】,无法如此做者失去1点体力。', + boss_wange:'笙歌', + + huanhua:'幻化', + huanhua_info:'锁定技,游戏开始时,你获得其他角色的所有技能,体力上限变为其他角色之和;其他角色于摸牌阶段摸牌时,你摸等量的牌;其他角色于弃牌阶段弃牌时,你弃置等量的手牌', + + boss_leiji:'雷击', + boss_leiji_info:'每当你使用或打出一张【闪】,可令任意一名角色进行一次判定,若结果为黑色,其受到一点雷电伤害,然后你摸一张牌', + jidian:'亟电', + jidian_info:'每当你造成一次伤害,可以指定距离受伤害角色1以内的一名其他角色进行判定,若结果为黑色,该角色受到一点雷电伤害', + + tinqin:'听琴', + boss_guihan:'归汉', + boss_guihan_info:'限定技,濒死阶段,你可以将体力回复至体力上限,摸4张牌,令所有敌人的技能恢复,并获得技能【听琴】、【蕙质】', + boss_huixin:'蕙质', + boss_huixin_info:'每当你于回合外失去牌,可以进行一次判定,若为黑色,当前回合角色失去一点体力,否则你回复一点体力并摸一张牌', + boss_hujia:'胡笳', + boss_hujia_info:'回合结束阶段,若你已受伤,可以弃置一张牌令一名其他角色的所有技能失效,若其所有技能已失效,改为令其失去一点体力上限', + boss_honglian:'红莲', + boss_honglian_info:'锁定技,回合结束阶段,你摸两张牌,并对所有敌人造成一点火焰伤害', + huoshen:'火神', + huoshen_info:'锁定技,你防止即将受到的火焰伤害,改为回复1点体力', + boss_xianyin:'仙音', + boss_xianyin_info:'每当你于回合外失去牌,你可以进行一次判定,若为红色,你令一名敌人失去一点体力', + + // boss_yuhuo:'浴火', + // boss_yuhuo_info:'觉醒技,在你涅槃后,你获得技能【神威】、【朱羽】', + boss_tianyu:'天狱', + + boss_jizhi:'集智', + boss_jizhi_info:'每当你使用一张锦囊牌或装备牌,你可以摸一张牌并展示之', + boss_guiyin:'归隐', + boss_guiyin_info:'锁定技,体力值比你多的角色无法在回合内对你使用卡牌', + boss_gongshen:'工神', + boss_gongshen_info:'锁定技,除你之外的角色没有装备区;你不能成为其他角色的的延时锦囊目标', + + fanghua:'芳华', + fanghua_info:'回合结束阶段,你可以令所有已翻面角色流失一点体力', + tashui:'踏水', + tashui_info:'每当你使用或打出一张黑色牌,你可以令一名其他角色翻面', + + wuxin:'无心', + wuxin_info:'锁定技,你防止即将受到的伤害,改为流失一点体力;你不能成为其他角色的延时锦囊的目标', + shangshix:'伤逝', + shangshix2:'伤逝', + shangshix_info:'锁定技,你的手牌数至少为4,回合结束阶段,若你的体力值大于1,你令场上所有角色流失一点体力', + + boss_baonu:'暴怒', + boss_baonu_info:'锁定技,当你的体力值降至4或更低时,你变身为暴怒战神,并立即开始你的回合', + shenwei:'神威', + shenwei_info:'锁定技,摸牌阶段,你额外摸X张牌,你的手牌上限+X,X为敌方存活角色个数且至少为2', + shenji:'神戟', + shenji_info:'你使用的杀或决斗可指定至多3名角色为目标', + + boss_shuijing:'水镜先生', + boss_huangyueying:'奇智女杰', + boss_zhangchunhua:'冷血皇后', + boss_satan:'堕落天使', + boss_dongzhuo:'乱世魔王', + boss_lvbu1:'最强神话', + boss_lvbu2:'暴怒战神', + boss_zhouyu:'赤壁火神', + boss_pangtong:'涅盘凤雏', + boss_zhugeliang:'祭风卧龙', + boss_zhangjiao:'天公将军', + boss_zuoci:'迷之仙人', + boss_yuji:'琅琊道士', + boss_liubei:'蜀汉烈帝', + boss_caiwenji:'异乡孤女', + boss_huatuo:'药坛圣手', + boss_luxun:'蹁跹君子', + boss_zhenji:'洛水仙子', + boss_diaochan:'绝代妖姬', + } +}; diff --git a/character/yijiang.js b/character/yijiang.js index 608dd8a85..34c6fb2ad 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -2600,7 +2600,8 @@ character.yijiang={ trigger:{player:'useCard'}, frequent:true, filter:function(event,player){ - return (get.type(event.card,'trick')==player.storage.qiangzhi&&event.cards[0]&&event.cards[0]==event.card); + // return (get.type(event.card,'trick')==player.storage.qiangzhi&&event.cards[0]&&event.cards[0]==event.card); + return get.type(event.card,'trick')==player.storage.qiangzhi; }, content:function(){ player.draw(); @@ -3607,6 +3608,9 @@ character.yijiang={ trigger:{source:'damageBefore',player:'damageBefore'}, forced:true, priority:15, + check:function(event,player){ + return ai.get.effect(event.target,event.card,event.player,player)<0; + }, filter:function(event,player){ return get.type(event.card,'trick')=='trick'; }, diff --git a/game/config.js b/game/config.js index f3b6eb9eb..501232223 100755 --- a/game/config.js +++ b/game/config.js @@ -226,8 +226,9 @@ window.config={ show_pause:true, show_auto:true, show_volumn:true, + show_cardpile:true, only_fullskin:true, - show_wuxie:true, + show_wuxie:false, show_wuxie_self:true, show_stat:true, show_playerids:true, @@ -258,6 +259,8 @@ window.config={ plays:[], banned:[], bannedcards:[], + bannedpile:{}, + addedpile:{}, mode:'identity', mode_config:{ diff --git a/game/game.js b/game/game.js index 5cb717da1..d7b3a776a 100755 --- a/game/game.js +++ b/game/game.js @@ -598,9 +598,23 @@ } } }, + show_cardpile:{ + name:'显示牌堆按钮', + init:true, + unfrequent:true, + onclick:function(bool){ + game.saveConfig('show_cardpile',bool); + if(lib.config.show_cardpile){ + ui.cardPileButton.style.display=''; + } + else{ + ui.cardPileButton.style.display='none'; + } + } + }, show_wuxie:{ name:'显示不询问无懈', - init:true, + init:false, unfrequent:true, onclick:function(bool){ game.saveConfig('show_wuxie',bool); @@ -4340,8 +4354,37 @@ delete this.node.jiu; delete this.node.jiu2; } + this.updateMarks(); return this; }, + updateMarks:function(){ + for(var i in this.marks){ + if(i=='ghujia'||(!this.marks[i].querySelector('.image')&&lib.skill[i]&& + lib.skill[i].intro&&this.storage[i])){ + this.marks[i].classList.add('overflowmark') + var num; + if(i=='ghujia'){ + num=this.hujia; + } + else if(typeof this.storage[i]=='number'){ + num=this.storage[i]; + } + else if(Array.isArray(this.storage[i])){ + num=this.storage[i].length; + } + if(num){ + if(!this.marks[i].markcount){ + this.marks[i].markcount=ui.create.div('.markcount.menubutton',this.marks[i]); + } + this.marks[i].markcount.innerHTML=num; + } + else if(this.marks[i].markcount){ + this.marks[i].markcount.delete(); + delete this.marks[i].markcount; + } + } + } + }, num:function(arg1,arg2,arg3){ var i,j,k; if(get.itemtype(arg1)=='position'){ @@ -5791,6 +5834,7 @@ } if(this.marks[name]){ this.marks[name].info=info; + this.updateMarks(); } else{ if(card){ @@ -5888,6 +5932,7 @@ node.oncontextmenu=ui.click.rightplayer; } } + this.updateMarks(); return node; } }, @@ -8085,6 +8130,7 @@ }, character:{}, perfectPair:{}, + cardPile:{}, group:['wei','shu','wu','qun'], nature:['fire','thunder','poison'], linked:['fire','thunder'], @@ -9355,6 +9401,9 @@ addVideo:function(type,player,content){ if(_status.video) return; if(!_status.videoInited) return; + if(type=='storage'&&player&&player.update){ + player.updateMarks(); + } if(game.getVideoName){ var time=get.time(); if(!_status.lastVideoLog){ @@ -9998,9 +10047,21 @@ var vinum=parseInt(lib.config.video); if(!_status.video&&vinum&&game.getVideoName&&window.indexedDB){ var store=lib.db.transaction(['video'],'readwrite').objectStore('video'); - if(lib.videos.length>=vinum){ - var toremove=lib.videos.pop(); - store.delete(toremove.time); + var videos=lib.videos.slice(0); + for(var i=0;i=vinum){ + var toremove=videos.pop(); + lib.videos.remove(toremove); + store.delete(toremove.time); + } + else{ + break; + } } var newvid={ name:game.getVideoName(), @@ -11148,6 +11209,28 @@ if(listen) node.listen(listen); return node; }, + selectlist:function(list,init,position){ + var select=document.createElement('select'); + for(var i=0;i>',page,function(){ + if(cardpileexpanded){ + this.classList.remove('on'); + for(var k=0;k=parseInt(lib.config.video)&&lib.videos.length){ - var toremove=lib.videos.pop(); - store.delete(toremove.time); - for(var i=0;i=parseInt(lib.config.video)&&videos.length){ + var toremove=videos.pop(); + lib.videos.remove(toremove); + store.delete(toremove.time); + for(var i=0;i'+ui.cardPile.childNodes.length); + uiintro.add('
弃牌堆
'); + if(ui.discardPile.childNodes.length){ + var list=[]; + for(var i=0;i无'); + } + return uiintro; + }, volumn:function(){ var uiintro=ui.create.dialog('hidden'); uiintro.listen(function(e){ @@ -18422,7 +18700,7 @@ lib.hiddenCharacters.push(k); } } - else{ + else if(lib.config.mode!='boss'||i!='boss'){ continue; } } @@ -18431,6 +18709,9 @@ if(!character[i][j][k][4]){ character[i][j][k][4]=[]; } + if(character[i][j][k][4].contains('boss')){ + lib.config.forbidai.add(k); + } // if(lib.config.only_fullskin&&lib.isNewLayout()&&lib.config.mode!='chess'){ // if(!character[i][j][k][4].contains('fullskin')&&!character[i][j][k][4].contains('minskin')){ // continue; @@ -18478,12 +18759,30 @@ if(j=='mode'||j=='forbid') continue; if(j=='list'){ if(lib.config.cards.contains(i)){ + var pile; if(typeof card[i][j]=='function'){ - lib.card.list=lib.card.list.concat(lib.init.eval(card[i][j])()); + pile=lib.init.eval(card[i][j])(); } else{ - lib.card.list=lib.card.list.concat(card[i][j]); + pile=card[i][j]; } + lib.cardPile[i]=pile.slice(0); + if(lib.config.bannedpile[i]){ + for(var k=0;kdiv{ + display: block; + position: relative; +} #sidebar>div,#sidebar3>div{margin: 10px;position: relative;display: block;min-height: 5px;} #scrollzone1{left: 0;} #scrollzone2{left: calc(50% - 140px);} @@ -226,6 +234,23 @@ body>.background{z-index:-2} .card>.background{font-family:'xiaozhuan'} .card>.background.tight{letter-spacing: -0.2em} .marks>.card>.background.skillmark{font-family:'huangcao';padding-top:4px;} +.marks>.card.overflowmark{ + overflow: visible; +} +.marks>div>.markcount.menubutton{ + font-family: 'xinwei'; + font-size: 9px; + width: 12px; + height: 12px; + padding: 0; + line-height: 14px; + position: absolute; + left: 16px; + top: 14px; + border-radius: 100%; + z-index: 1; + display: block !important; +} /*--------窗口--------*/ .dialog{text-align: center;z-index:4;} .dialog{width: calc(90% - 420px);height: calc(100% / 3 - 160px / 3 + 120px);} @@ -491,7 +516,8 @@ margin-bottom: 5px; .unseen>.avatar,.unseen>.name,.unseen2>.avatar2{opacity: 0 !important;} .player[data-position='0'].unseen>.avatar, .player[data-position='0'].unseen2>.avatar2, -.player[data-position='0']>.name{opacity: 0.2 !important} +.player[data-position='0'].unseen>.name, +.player[data-position='0'].unseen2>.name{opacity: 0.2 !important} .linked>.avatar,.linked>.avatar2{transform:rotate(-90deg);} .linked>.avatar2{top: 5px;} .linked>.identity{top: 88px;} diff --git a/layout/default/menu.css b/layout/default/menu.css index 8e38b259b..ac0c6ff5f 100644 --- a/layout/default/menu.css +++ b/layout/default/menu.css @@ -46,7 +46,8 @@ .menu-cheat.config{ transition-property: opacity; } -.menu-buttons>.toggle{ +.menu-buttons>.toggle, +.menu-buttons>.config.more{ position:relative; margin-bottom: 10px !important; margin-left: 10px !important; @@ -54,9 +55,30 @@ width: calc(100% - 25px) !important; display: inline-block; } +.menu-buttons>.config.more, +.menu-buttons>.toggle.cardpilecfg{ + margin-bottom: 0 !important; + display: block; +} +.menu-buttons>.toggle.cardpilecfgadd:not(.hidden){ + margin-top: 0 !important; +} +.menu-buttons>.toggle.cardpilecfg{ + margin-left: 20px !important; + width: calc(100% - 35px) !important; +} +.menu-buttons>.config.more *{ + position: relative; +} .menu-buttons>.button{ zoom:0.75; } +.menu-buttons .cardpiledelete{ + display: inline-block; + position: relative; + float: right; + margin-right: 4px; +} .menu-help{ width: calc(100% - 30px) !important; text-align: left !important; @@ -468,3 +490,20 @@ left: 48px; top: 48px; } +.videonode>.video_star{ + opacity: 0; + position: absolute; + left: 196px; + top: 4px; + font-size: 16px; + width: 20px; + height: 20px; + line-height: 20px; + text-align: center; +} +.videonode:not(.starred):hover>.video_star{ + opacity: 0.5; +} +.videonode.starred>.video_star{ + opacity: 1 +} diff --git a/mode/boss.js b/mode/boss.js index b1d919192..9335f90f6 100755 --- a/mode/boss.js +++ b/mode/boss.js @@ -581,798 +581,8 @@ mode.boss={ chongzheng:6 }, }, - character:{ - boss_zhangchunhua:['female','wei',4,['jueqing','wuxin','shangshix'],['fullskin','boss'],'wei'], - boss_zhenji:['female','wei',4,['tashui','lingbo','jiaoxia','fanghua'],['fullskin','boss'],'wei'], - // boss_liubei:['male','shu',5,['lingfeng'],['fullskin','boss'],'qun'], - // boss_zhugeliang:['male','shu',4,[],['fullskin','boss'],'qun'], - boss_huangyueying:['female','shu',4,['boss_gongshen','boss_jizhi','qicai','boss_guiyin'],['fullskin','boss'],'wei'], - boss_pangtong:['male','shu',4,['boss_tianyu','qiwu','niepan','boss_yuhuo'],['fullskin','boss'],'zhu'], - boss_zhouyu:['male','wu',6,['huoshen','boss_honglian','boss_xianyin'],['fullskin','boss'],'zhu'], - boss_lvbu1:['male','qun',8,['mashu','wushuang','boss_baonu'],['fullskin','boss'],'wei'], - boss_lvbu2:['male','qun',4,['mashu','wushuang','swd_xiuluo','shenwei','shenji'],['fullskin','hiddenboss'],'qun'], - boss_caiwenji:['female','qun',4,['beige','boss_hujia','boss_guihan'],['fullskin','boss'],'wei'], - boss_zhangjiao:['male','qun',8,['boss_leiji','tiandao','jidian'],['fullskin','boss'],'shu'], - boss_zuoci:['male','qun',0,['huanhua'],['fullskin','boss'],'shu'], - // boss_yuji:['male','qun',8,[],['fullskin','boss'],'nei'], - boss_diaochan:['female','qun',4,['fengwu','yunshen','lianji','boss_wange','yuehun'],['fullskin','boss'],'qun'], - boss_huatuo:['male','qun',6,['chulao','mazui','boss_shengshou','guizhen','wuqin'],['fullskin','boss'],'wu'], - boss_dongzhuo:['male','qun',20,['jiuchi','boss_qiangzheng','boss_baolin'],['fullskin','boss'],'shu'], - // boss_shuijing:['male','qun',8,[],['fullskin','boss'],'wei'], - }, skill:{ - boss_leiji:{ - audio:2, - trigger:{player:'respond'}, - filter:function(event,player){ - return event.card.name=='shan'; - }, - direct:true, - content:function(){ - "step 0"; - player.chooseTarget('是否发动雷击?').ai=function(target){ - return ai.get.damageEffect(target,player,player,'thunder'); - }; - "step 1" - if(result.bool){ - player.logSkill('diyleiji',result.targets,'thunder'); - event.target=result.targets[0]; - event.target.judge(function(card){ - // var suit=get.suit(card); - // if(suit=='spade') return -4; - // if(suit=='club') return -2; - if(get.color(card)=='black') return -2; - return 0; - }); - } - else{ - event.finish(); - } - "step 2" - if(result.bool==false){ - event.target.damage('thunder'); - player.draw(); - } - }, - ai:{ - effect:{ - target:function(card,player,target,current){ - if(get.tag(card,'respondShan')){ - var hastarget=false; - for(var i=0;i2){ - if(!target.skills.contains('guidao')) return 0; - return [0,hastarget?target.num('h')/4:0]; - } - if(target.num('h')>3||(be&&target.num('h')>=2)){ - return [0,0]; - } - if(target.num('h')==0){ - return [1.5,0]; - } - if(target.num('h')==1&&!be){ - return [1.2,0]; - } - if(!target.skills.contains('guidao')) return [1,0.05]; - return [1,Math.min(0.5,(target.num('h')+be)/4)]; - } - } - } - } - }, - wuqin:{ - trigger:{player:'phaseEnd'}, - filter:function(event,player){ - return player.num('h')==0; - }, - content:function(){ - player.draw(3) - } - }, - boss_baolin:{ - inherit:'juece', - }, - boss_qiangzheng:{ - trigger:{player:'phaseEnd'}, - forced:true, - unique:true, - filter:function(event,player){ - for(var i=0;i=3; - }, - content:function(){ - "step 0" - player.chooseTarget(function(card,player,target){ - return target!=player; - }).ai=function(){ - return 1; - } - "step 1" - if(result.bool){ - player.logSkill('boss_konghun',result.targets); - result.targets[0].goMad(); - } - }, - group:'boss_konghun2' - }, - boss_konghun2:{ - trigger:{player:'phaseBegin'}, - forced:true, - popup:false, - content:function(){ - var players=game.players.concat(game.dead); - for(var i=0;i1){ - num--; - } - else{ - num++; - } - } - return num; - } - } - } - }, - huanhua:{ - trigger:{global:'gameDrawAfter'}, - forced:true, - unique:true, - content:function(){ - for(var i=0;i1; - }, - content:function(){ - "step 0" - event.players=get.players(player); - event.num=0; - "step 1" - if(event.players.length){ - event.players.shift().loseHp(); - event.redo(); - } - } - }, - wuxin:{ - inherit:'miles_xueyi', - group:'swd_wuxie' - }, - shenwei:{ - unique:true, - trigger:{player:'phaseDrawBegin'}, - forced:true, - content:function(){ - trigger.num+=Math.max(2,game.players.length-1); - }, - mod:{ - maxHandcard:function(player,current){ - return current+Math.max(2,game.players.length-1); - } - } - }, - shenji:{ - unique:true, - mod:{ - selectTarget:function(card,player,range){ - if(card.name=='sha'||card.name=='juedou') range[1]=3; - }, - } - }, - boss_baonu:{ - unique:true, - group:'boss_baonu2', - trigger:{player:'changeHp'}, - forced:true, - priority:100, - filter:function(event,player){ - return player.hp<=4 - }, - content:function(){ - player.init('boss_lvbu2'); - player.update(); - ui.clear(); - while(_status.event.name!='phaseLoop'){ - _status.event=_status.event.parent; - } - for(var i=0;i1) return [0,2]; - if(num&&Math.random()<0.7) return [0,1]; - } - } - } - } - } - }, - boss_baonu2:{ - trigger:{player:'gameDrawBegin'}, - forced:true, - popup:false, - content:function(){ - player.draw(4,false); - } - }, + _bossswap:{ trigger:{player:['phaseBegin','chooseToUseBegin','chooseToRespondBegin','chooseToDiscardBegin','chooseToCompareBegin', 'chooseButtonBegin','chooseCardBegin','chooseTargetBegin','chooseCardTargetBegin','chooseControlBegin', @@ -1390,96 +600,8 @@ mode.boss={ }, }, translate:{ - boss_qiangzheng:'强征', - boss_qiangzheng_info:'锁定技,回合结束阶段,你获得每个敌方角色的一张手牌', - boss_baolin:'暴凌', - guizhen:'归真', - guizhen_info:'每当你失去最后一张手牌,你可以所有敌人失去全部手牌,没有手牌的角色失去一点体力(不触发技能)', - boss_shengshou:'圣手', - boss_shengshou_info:'每当你使用一张牌,你可以进行一次判定,若为红色,你回复一点体力', - wuqin:'五禽戏', - wuqin_info:'回合结束阶段,若你没有手牌,可以摸三张牌', - - boss_konghun:'控心', - boss_konghun_info:'回合结束阶段,你可以指定一名敌人令其进入混乱状态(不受对方控制,并将队友视为敌人)直到下一回合开始', - yuehun:'月魂', - yuehun_info:'回合开始阶段,你可以回复一点体力并摸两张牌', - fengwu:'风舞', - fengwu_info:'出牌阶段限一次,可令除你外的所有角色依次对与其距离最近的另一名角色使用一张【杀】,无法如此做者失去1点体力。', - boss_wange:'笙歌', - - huanhua:'幻化', - huanhua_info:'锁定技,游戏开始时,你获得其他角色的所有技能,体力上限变为其他角色之和;其他角色于摸牌阶段摸牌时,你摸等量的牌;其他角色于弃牌阶段弃牌时,你弃置等量的手牌', - - boss_leiji:'雷击', - boss_leiji_info:'每当你使用或打出一张【闪】,可令任意一名角色进行一次判定,若结果为黑色,其受到一点雷电伤害,然后你摸一张牌', - jidian:'亟电', - jidian_info:'每当你造成一次伤害,可以指定距离受伤害角色1以内的一名其他角色进行判定,若结果为黑色,该角色受到一点雷电伤害', - - tinqin:'听琴', - boss_guihan:'归汉', - boss_guihan_info:'限定技,濒死阶段,你可以将体力回复至体力上限,摸4张牌,令所有敌人的技能恢复,并获得技能【听琴】、【蕙质】', - boss_huixin:'蕙质', - boss_huixin_info:'每当你于回合外失去牌,可以进行一次判定,若为黑色,当前回合角色失去一点体力,否则你回复一点体力并摸一张牌', - boss_hujia:'胡笳', - boss_hujia_info:'回合结束阶段,若你已受伤,可以弃置一张牌令一名其他角色的所有技能失效,若其所有技能已失效,改为令其失去一点体力上限', - boss_honglian:'红莲', - boss_honglian_info:'锁定技,回合结束阶段,你摸两张牌,并对所有敌人造成一点火焰伤害', - huoshen:'火神', - huoshen_info:'锁定技,你防止即将受到的火焰伤害,改为回复1点体力', - boss_xianyin:'仙音', - boss_xianyin_info:'每当你于回合外失去牌,你可以进行一次判定,若为红色,你令一名敌人失去一点体力', - - // boss_yuhuo:'浴火', - // boss_yuhuo_info:'觉醒技,在你涅槃后,你获得技能【神威】、【朱羽】', - boss_tianyu:'天狱', - - boss_jizhi:'集智', - boss_jizhi_info:'每当你使用一张锦囊牌或装备牌,你可以摸一张牌并展示之', - boss_guiyin:'归隐', - boss_guiyin_info:'锁定技,体力值比你多的角色无法在回合内对你使用卡牌', - boss_gongshen:'工神', - boss_gongshen_info:'锁定技,除你之外的角色没有装备区;你不能成为其他角色的的延时锦囊目标', - - fanghua:'芳华', - fanghua_info:'回合结束阶段,你可以令所有已翻面角色流失一点体力', - tashui:'踏水', - tashui_info:'每当你使用或打出一张黑色牌,你可以令一名其他角色翻面', - - wuxin:'无心', - wuxin_info:'锁定技,你防止即将受到的伤害,改为流失一点体力;你不能成为其他角色的延时锦囊的目标', - shangshix:'伤逝', - shangshix2:'伤逝', - shangshix_info:'锁定技,你的手牌数至少为4,回合结束阶段,若你的体力值大于1,你令场上所有角色流失一点体力', - - boss_baonu:'暴怒', - boss_baonu_info:'锁定技,当你的体力值降至4或更低时,你变身为暴怒战神,并立即开始你的回合', - shenwei:'神威', - shenwei_info:'锁定技,摸牌阶段,你额外摸X张牌,你的手牌上限+X,X为敌方存活角色个数且至少为2', - shenji:'神戟', - shenji_info:'你使用的杀或决斗可指定至多3名角色为目标', - zhu:'神', cai:'盟', - boss_shuijing:'水镜先生', - boss_huangyueying:'奇智女杰', - boss_zhangchunhua:'冷血皇后', - boss_satan:'堕落天使', - boss_dongzhuo:'乱世魔王', - boss_lvbu1:'最强神话', - boss_lvbu2:'暴怒战神', - boss_zhouyu:'赤壁火神', - boss_pangtong:'涅盘凤雏', - boss_zhugeliang:'祭风卧龙', - boss_zhangjiao:'天公将军', - boss_zuoci:'迷之仙人', - boss_yuji:'琅琊道士', - boss_liubei:'蜀汉烈帝', - boss_caiwenji:'异乡孤女', - boss_huatuo:'药坛圣手', - boss_luxun:'蹁跹君子', - boss_zhenji:'洛水仙子', - boss_diaochan:'绝代妖姬', }, ai:{ get:{