This commit is contained in:
libccy 2017-09-11 16:59:26 +08:00
parent 93f9371093
commit b26a43ad3f
5 changed files with 488 additions and 28 deletions

View File

@ -58,7 +58,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
hs_zhanzhenggushu:['male','wei',6,['biri']], hs_zhanzhenggushu:['male','wei',6,['biri']],
hs_ronghejuren:['male','shu',8,['ronghuo']], hs_ronghejuren:['male','shu',8,['ronghuo']],
hs_shanlingjuren:['male','wu',8,['luoshi']], hs_shanlingjuren:['male','wu',8,['luoshi']],
hs_aedwin:['male','wu',3,['lianzhan']], hs_aedwin:['male','wu',4,['lianzhan']],
hs_mijiaojisi:['female','wu',3,['kuixin']], hs_mijiaojisi:['female','wu',3,['kuixin']],
hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu']], hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu']],
hs_totemic:['male','wu',3,['peiyu']], hs_totemic:['male','wu',3,['peiyu']],

View File

@ -1202,6 +1202,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else{ else{
game.trySkillAudio('zhaxiang',player); game.trySkillAudio('zhaxiang',player);
} }
},
ai:{
maihp:true
} }
}, },
zhaxiang2:{ zhaxiang2:{

View File

@ -8,7 +8,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caoren:['male','wei',4,['xinjushou','xinjiewei']], caoren:['male','wei',4,['xinjushou','xinjiewei']],
huangzhong:['male','shu',4,['xinliegong']], huangzhong:['male','shu',4,['xinliegong']],
weiyan:['male','shu',4,['xinkuanggu','qimou']], weiyan:['male','shu',4,['xinkuanggu','qimou']],
xiaoqiao:['female','wu',3,['xintianxiang','hongyan']], xiaoqiao:['female','wu',3,['retianxiang','hongyan']],
zhoutai:['male','wu',4,['buqu','fenji']], zhoutai:['male','wu',4,['buqu','fenji']],
sp_zhangjiao:['male','qun',3,['releiji','guidao','huangtian'],['zhu']], sp_zhangjiao:['male','qun',3,['releiji','guidao','huangtian'],['zhu']],
// yuji:['male','qun',3,['guhuo']], // yuji:['male','qun',3,['guhuo']],
@ -2570,7 +2570,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
wansha:{ wansha:{
locked:true, locked:true,
global:'wansha2' global:'wansha2',
trigger:{global:'dying'},
priority:15,
forced:true,
filter:function(event,player){
return _status.currentPhase==player&&event.player!=player;
},
content:function(){}
}, },
wansha2:{ wansha2:{
mod:{ mod:{
@ -3566,6 +3573,134 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.popup('tianxiang'); player.popup('tianxiang');
} }
}, },
retianxiang:{
audio:'tianxiang',
trigger:{player:'damageBefore'},
direct:true,
filter:function(event,player){
return player.countCards('he',{suit:'heart'})>0&&event.num>0;
},
content:function(){
"step 0"
player.chooseCardTarget({
filterCard:function(card,player){
return get.suit(card)=='heart'&&lib.filter.cardDiscardable(card,player);
},
filterTarget:function(card,player,target){
return player!=target;
},
position:'he',
ai1:function(card){
return 10-get.value(card);
},
ai2:function(target){
var att=get.attitude(_status.event.player,target);
var trigger=_status.event.getTrigger();
var da=0;
if(_status.event.player.hp==1){
da=10;
}
var eff=get.damageEffect(target,trigger.source,target);
if(att==0) return 0.1+da;
if(eff>=0&&att>0){
return att+da;
}
if(att>0&&target.hp>1){
if(target.maxHp-target.hp>=3) return att*1.1+da;
if(target.maxHp-target.hp>=2) return att*0.9+da;
}
return -att+da;
},
prompt:get.prompt('retianxiang'),
prompt2:lib.translate.retianxiang_info
});
"step 1"
if(result.bool){
player.discard(result.cards,ui.special);
var target=result.targets[0];
player.chooseControlList(true,function(event,player){
var target=_status.event.target;
var att=get.attitude(player,target);
if(target.hasSkillTag('maihp')) att=-att;
if(att>0){
return 0;
}
else{
return 1;
}
},
['令'+get.translation(target)+'受到伤害来源对其造成的1点伤害然后摸X张牌X为其已损失体力值且至多为5',
'令'+get.translation(target)+'失去1点体力然后获得'+get.translation(result.cards)]).set('target',target);
player.logSkill(event.name,target);
trigger.untrigger();
trigger.finish();
event.target=target;
event.card=result.cards[0];
}
else{
event.finish();
}
"step 2"
if(typeof result.index=='number'){
if(result.index){
event.target.loseHp().type='retianxiang';
event.target.addSkill('retianxiang3');
event.target.storage.retianxiang3=event.card;
}
else{
event.target.damage(trigger.source).type='retianxiang';
event.target.addSkill('retianxiang2');
if(get.position(event.card)=='s'){
event.card.discard();
}
}
}
},
ai:{
maixie_fake:true,
effect:{
target:function(card,player,target){
if(player.hasSkillTag('jueqing',false,target)) return;
if(get.tag(card,'damage')&&target.countCards('he')>1) return 0.7;
}
},
}
},
retianxiang3:{
trigger:{player:'loseHpAfter'},
forced:true,
popup:false,
filter:function(event){
return event.type=='retianxiang';
},
vanish:true,
content:function(){
player.gain(player.storage.retianxiang3,'gain2');
player.removeSkill('retianxiang3');
},
onremove:function(player){
var card=player.storage.retianxiang3;
if(get.position(card)=='s'){
card.discard();
}
delete player.storage.retianxiang3;
}
},
retianxiang2:{
trigger:{player:'damageAfter'},
forced:true,
popup:false,
filter:function(event){
return event.type=='retianxiang';
},
vanish:true,
content:function(){
if(player.isDamaged()){
player.draw(player.maxHp-player.hp);
}
player.removeSkill('retianxiang2');
},
},
xintianxiang:{ xintianxiang:{
audio:'tianxiang', audio:'tianxiang',
trigger:{player:'damageBefore'}, trigger:{player:'damageBefore'},
@ -4181,6 +4316,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinqiangxi:'强袭', xinqiangxi:'强袭',
xinjushou:'据守', xinjushou:'据守',
xinjiewei:'解围', xinjiewei:'解围',
retianxiang:'天香',
retianxiang_info:'当你受到伤害时你可以弃置一张红桃手牌防止此次伤害并选择一名其他角色然后你选择一项1.令其受到伤害来源对其造成的1点伤害然后摸X张牌X为其已损失体力值且至多为52.令其失去1点体力然后获得你弃置的牌。',
xinjiewei_info:'你可以将装备区里的牌当【无懈可击】使用;当你从背面翻至正面时,你可以弃置一张牌,然后移动场上的一张牌', xinjiewei_info:'你可以将装备区里的牌当【无懈可击】使用;当你从背面翻至正面时,你可以弃置一张牌,然后移动场上的一张牌',
xinjushou_info:'结束阶段,你可以翻面并摸四张牌,然后弃置一张手牌,若以此法弃置的是装备牌,则你改为使用之', xinjushou_info:'结束阶段,你可以翻面并摸四张牌,然后弃置一张手牌,若以此法弃置的是装备牌,则你改为使用之',
jixi_info:'出牌阶段,你可以把任意一张田当【顺手牵羊】使用', jixi_info:'出牌阶段,你可以把任意一张田当【顺手牵羊】使用',

View File

@ -11919,7 +11919,7 @@
discard:function(){ discard:function(){
"step 0" "step 0"
game.log(player,'弃置了',cards); game.log(player,'弃置了',cards);
player.lose(cards); player.lose(cards,event.position);
if(event.animate!=false){ if(event.animate!=false){
event.discardid=lib.status.videoId++; event.discardid=lib.status.videoId++;
game.broadcastAll(function(player,cards,id){ game.broadcastAll(function(player,cards,id){
@ -15332,6 +15332,9 @@
else if(typeof arguments[i]=='boolean'){ else if(typeof arguments[i]=='boolean'){
next.animate=arguments[i]; next.animate=arguments[i];
} }
else if(get.objtype(arguments[i])=='div'){
next.position=arguments[i];
}
} }
if(next.cards==undefined) _status.event.next.remove(next); if(next.cards==undefined) _status.event.next.remove(next);
next.setContent('discard'); next.setContent('discard');
@ -18478,9 +18481,9 @@
}, },
$skill:function(name,type,color,avatar){ $skill:function(name,type,color,avatar){
if(typeof type!='string') type='legend'; if(typeof type!='string') type='legend';
game.delay(2);
if(!avatar){ if(!avatar){
this.playerfocus(1500); this.playerfocus(1500);
game.delay(2);
} }
else{ else{
game.addVideo('playerfocus2'); game.addVideo('playerfocus2');
@ -18488,8 +18491,9 @@
ui.arena.classList.add('playerfocus'); ui.arena.classList.add('playerfocus');
setTimeout(function(){ setTimeout(function(){
ui.arena.classList.remove('playerfocus'); ui.arena.classList.remove('playerfocus');
},1500) },1800)
}); });
game.delay(3);
} }
var that=this; var that=this;
setTimeout(function(){ setTimeout(function(){
@ -18676,19 +18680,16 @@
ui.create.div('','<div>'+str.split('').join('</div><br><div>')+'</div>',ui.create.div('.text',node)); ui.create.div('','<div>'+str.split('').join('</div><br><div>')+'</div>',ui.create.div('.text',node));
node.firstChild.firstChild.style.backgroundImage=this.node.avatar.style.backgroundImage; node.firstChild.firstChild.style.backgroundImage=this.node.avatar.style.backgroundImage;
node.dataset.nature=nature||'unknown'; node.dataset.nature=nature||'unknown';
setTimeout(function(){ var num=0;
// node.lastChild.firstChild.firstChild.classList.add('flashtext'); var nodes=node.lastChild.firstChild.querySelectorAll('div');
var num=0; var interval=setInterval(function(){
var nodes=node.lastChild.firstChild.querySelectorAll('div'); if(num<nodes.length){
var interval=setInterval(function(){ nodes[num].classList.add('flashtext');
if(num<nodes.length){ num++;
nodes[num].classList.add('flashtext'); }
num++; else{
} clearInterval(interval);
else{ }
clearInterval(interval);
}
},100);
},100); },100);
} }
else{ else{
@ -18714,7 +18715,7 @@
setTimeout(function(){ setTimeout(function(){
node.delete(); node.delete();
node.style.transform='scale(1.5)' node.style.transform='scale(1.5)'
},avatar?1300:1000); },avatar?1600:1000);
}, },
$damagepop:function(num,nature,font){ $damagepop:function(num,nature,font){
if(typeof num=='number'||typeof num=='string'){ if(typeof num=='number'||typeof num=='string'){
@ -42510,7 +42511,7 @@
for(var j=0;j<lib.character[i][3].length;j++){ for(var j=0;j<lib.character[i][3].length;j++){
var skill=lib.character[i][3][j]; var skill=lib.character[i][3][j];
var info=lib.skill[skill]; var info=lib.skill[skill];
if(info&&!info.unique&&!info.temp&&!info.sub){ if(info&&!info.unique&&!info.temp&&!info.sub&&!info.fixed){
if(func&&!func(info,skill)) continue; if(func&&!func(info,skill)) continue;
list.add(skill); list.add(skill);
} }

View File

@ -114,7 +114,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(lib.storage.current==i){ if(lib.storage.current==i){
event.current=player; event.current=player;
player.classList.add('highlight'); player.classList.add('highlight');
if(lib.boss[i]&&lib.boss[i].control){ if(!lib.config.continue_name_boss&&lib.boss[i]&&lib.boss[i].control){
_status.bosschoice=lib.boss[i].control(); _status.bosschoice=lib.boss[i].control();
_status.bosschoice.name=i; _status.bosschoice.name=i;
_status.bosschoice.link=lib.boss[i].controlid||i; _status.bosschoice.link=lib.boss[i].controlid||i;
@ -709,11 +709,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
characterPack:{ characterPack:{
mode_boss:{ mode_boss:{
boss_hundun:['male','shen',20,['boss_xiongshou'],['qun','boss','bossallowed'],'qun'], boss_hundun:['male','shen',20,['boss_xiongshou','boss_wuzang','boss_xiangde','boss_yinzei'],['qun','boss','bossallowed'],'qun'],
boss_qiongqi:['male','shen',20,['boss_xiongshou'],['qun','boss','bossallowed'],'qun'], boss_qiongqi:['male','shen',16,['boss_xiongshou','boss_zhue','boss_futai','boss_yandu'],['qun','boss','bossallowed'],'qun'],
boss_taotie:['male','shen',20,['boss_xiongshou'],['qun','boss','bossallowed'],'qun'], boss_taotie:['male','shen',20,['boss_xiongshou','boss_tanyu','boss_cangmu','boss_jicai'],['qun','boss','bossallowed'],'qun'],
boss_taowu:['male','shen',20,['boss_xiongshou'],['qun','boss','bossallowed'],'qun'], boss_taowu:['male','shen',16,['boss_xiongshou','boss_minwan','boss_nitai','boss_luanchang'],['qun','boss','bossallowed'],'qun'],
boss_zhuyin:['male','shen',20,['boss_xiongshou'],['qun','hiddenboss','bossallowed'],'qun'], boss_zhuyin:['male','shen',4,['boss_xiongshou'],['qun','hiddenboss','bossallowed'],'qun'],
boss_chiyanshilian:['male','',0,['boss_chiyan','boss_chiyan_intro1','boss_chiyan_intro2','boss_chiyan_intro3'],['boss'],'zhu'], boss_chiyanshilian:['male','',0,['boss_chiyan','boss_chiyan_intro1','boss_chiyan_intro2','boss_chiyan_intro3'],['boss'],'zhu'],
boss_zhuque:['female','shen',4,['boss_shenyi','boss_fentian','boss_chiyan2'],['shu','hiddenboss','bossallowed']], boss_zhuque:['female','shen',4,['boss_shenyi','boss_fentian','boss_chiyan2'],['shu','hiddenboss','bossallowed']],
@ -1119,7 +1119,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
event.list.remove(ui.selected.buttons[i].link); event.list.remove(ui.selected.buttons[i].link);
} }
while(event.enemy.length<3){ while(event.enemy.length<3){
event.enemy.push(event.list.randomRemove()); var name=event.list.randomRemove();
if(lib.boss[lib.storage.current].randchoice){
name=lib.boss[lib.storage.current].randchoice(name,event.enemy);
}
event.enemy.push(name);
} }
game.uncheck(); game.uncheck();
if(ui.confirm){ if(ui.confirm){
@ -1168,6 +1172,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
'2':'boss_zhuyin', '2':'boss_zhuyin',
'8':'boss_zhuyin', '8':'boss_zhuyin',
}, },
randchoice:function(){
return lib.boss.boss_taowu.randchoice.apply(this,arguments);
},
controlid:'shenwuzaishi', controlid:'shenwuzaishi',
control:function(){ control:function(){
return lib.boss.boss_taowu.control.apply(this,arguments); return lib.boss.boss_taowu.control.apply(this,arguments);
@ -1185,6 +1192,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
'2':'boss_zhuyin', '2':'boss_zhuyin',
'8':'boss_zhuyin', '8':'boss_zhuyin',
}, },
randchoice:function(){
return lib.boss.boss_taowu.randchoice.apply(this,arguments);
},
controlid:'shenwuzaishi', controlid:'shenwuzaishi',
control:function(){ control:function(){
return lib.boss.boss_taowu.control.apply(this,arguments); return lib.boss.boss_taowu.control.apply(this,arguments);
@ -1202,6 +1212,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
'2':'boss_zhuyin', '2':'boss_zhuyin',
'8':'boss_zhuyin', '8':'boss_zhuyin',
}, },
randchoice:function(){
return lib.boss.boss_taowu.randchoice.apply(this,arguments);
},
controlid:'shenwuzaishi', controlid:'shenwuzaishi',
control:function(){ control:function(){
return lib.boss.boss_taowu.control.apply(this,arguments); return lib.boss.boss_taowu.control.apply(this,arguments);
@ -1219,6 +1232,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
'2':'boss_zhuyin', '2':'boss_zhuyin',
'8':'boss_zhuyin', '8':'boss_zhuyin',
}, },
randchoice:function(name,list){
if(Math.random()>1/3){
return name;
}
else{
var arr=['shen_caocao','shen_simayi','shen_guanyu','shen_zhugeliang','shen_zhaoyun','shen_zhouyu','shen_lvmeng','shen_lvbu'];
arr.removeArray(list);
return arr.randomGet();
}
},
controlid:'shenwuzaishi', controlid:'shenwuzaishi',
control:function(type,control){ control:function(type,control){
if(type=='cancel'){ if(type=='cancel'){
@ -1478,6 +1501,276 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}, },
}, },
skill:{ skill:{
boss_wuzang:{
trigger:{player:'phaseDrawBegin'},
forced:true,
content:function(){
trigger.num+=Math.max(5,Math.floor(player.hp/2))-2;
},
mod:{
maxHandcard:function(player,num){
return num-player.hp;
}
}
},
boss_xiangde:{
trigger:{player:'damageBegin'},
forced:true,
filter:function(event,player){
return event.source&&event.source.isIn()&&event.source!=player&&event.source.getEquip(1);
},
content:function(){
trigger.num++;
}
},
boss_yinzei:{
trigger:{player:'damageAfter'},
forced:true,
logTarget:'source',
filter:function(event,player){
return event.source&&event.source.isIn()&&event.source!=player&&event.source.countCards('he')&&!player.countCards('h');
},
content:function(){
trigger.source.randomDiscard();
}
},
boss_zhue:{
trigger:{global:'damageAfter'},
forced:true,
filter:function(event,player){
return event.source&&event.source.isIn()&&event.source!=player;
},
logTarget:'source',
content:function(){
game.asyncDraw([player,trigger.source]);
}
},
boss_yandu:{
trigger:{global:'phaseAfter'},
filter:function(event,player){
return event.player!=player&&!event.player.getStat('damage')&&event.player.countCards('he');
},
logTarget:'player',
forced:true,
content:function(){
player.gainPlayerCard(trigger.player,true);
}
},
boss_futai:{
global:'boss_futai2',
trigger:{player:'phaseBegin'},
logTarget:function(event,player){
return game.filterPlayer(function(current){
return current.isDamaged();
});
},
forced:true,
content:function(){
'step 0'
var list=game.filterPlayer(function(current){
return current.isDamaged();
}).sortBySeat();
event.list=list;
'step 1'
if(event.list.length){
event.list.shift().recover();
event.redo();
}
}
},
boss_futai2:{
mod:{
cardSavable:function(card,player){
if(card.name=='tao'&&game.hasPlayer(function(current){
return current!=player&&current.hasSkill('boss_futai')&&_status.currentPhase!=current;
})){
return false;
}
},
cardEnabled:function(card,player){
if(card.name=='tao'&&game.hasPlayer(function(current){
return current!=player&&current.hasSkill('boss_futai')&&_status.currentPhase!=current;
})){
return false;
}
},
}
},
boss_luanchang:{
group:['boss_luanchang_begin','boss_luanchang_end'],
subSkill:{
begin:{
trigger:{player:'phaseBegin'},
forced:true,
content:function(){
var list=game.filterPlayer(function(current){
return player.canUse('nanman',current);
}).sortBySeat();
if(list.length){
player.useCard({name:'nanman'},list);
}
}
},
end:{
trigger:{player:'phaseEnd'},
forced:true,
content:function(){
var list=game.filterPlayer(function(current){
return player.canUse('wanjian',current);
}).sortBySeat();
if(list.length){
player.useCard({name:'wanjian'},list);
}
}
}
}
},
boss_nitai:{
group:['boss_nitai_in','boss_nitai_out'],
subSkill:{
in:{
trigger:{player:'damageBefore'},
forced:true,
filter:function(event,player){
return _status.currentPhase==player;
},
content:function(){
trigger.untrigger();
trigger.finish();
}
},
out:{
trigger:{player:'damageBegin'},
forced:true,
filter:function(event,player){
return _status.currentPhase!=player&&event.nature=='fire';
},
content:function(){
trigger.num++;
}
}
}
},
boss_minwan:{
group:['boss_minwan_clear','boss_minwan_draw','boss_minwan_add'],
subSkill:{
clear:{
trigger:{player:'phaseAfter'},
silent:true,
content:function(){
delete player.storage.boss_minwan;
}
},
draw:{
trigger:{player:'useCard'},
forced:true,
filter:function(event,player){
return _status.currentPhase==player&&Array.isArray(player.storage.boss_minwan);
},
content:function(){
player.draw();
}
},
add:{
trigger:{source:'damageAfter'},
filter:function(event,player){
return _status.currentPhase==player;
},
forced:true,
content:function(){
if(!player.storage.boss_minwan){
player.storage.boss_minwan=[player];
}
player.storage.boss_minwan.add(trigger.player);
}
}
},
mod:{
playerEnabled:function(card,player,target){
if(_status.currentPhase==player&&Array.isArray(player.storage.boss_minwan)&&!player.storage.boss_minwan.contains(target)){
return false;
}
}
}
},
boss_tanyu:{
trigger:{player:'phaseDiscardBefore'},
forced:true,
content:function(){
trigger.untrigger();
trigger.finish();
},
group:'boss_tanyu_hp',
subSkill:{
hp:{
trigger:{player:'phaseEnd'},
forced:true,
popup:false,
filter:function(event,player){
return player.isMaxHandcard();
},
content:function(){
player.loseHp();
}
}
}
},
boss_cangmu:{
trigger:{player:'phaseDrawBegin'},
forced:true,
content:function(){
trigger.num+=game.countPlayer()-2;
}
},
boss_jicai:{
trigger:{global:'recoverAfter'},
forced:true,
logTarget:'player',
content:function(){
if(trigger.player==player){
player.draw(2);
}
else{
game.asyncDraw([player,trigger.player]);
}
}
},
boss_xiongshou:{
group:['boss_xiongshou_turn','boss_xiongshou_damage'],
subSkill:{
damage:{
trigger:{source:'damageBegin'},
forced:true,
filter:function(event,player){
return event.notLink()&&event.card&&event.card.name=='sha'&&event.player.hp<player.hp;
},
content:function(){
trigger.num++;
}
},
turn:{
trigger:{player:'turnOverBefore'},
priority:20,
forced:true,
filter:function(event,player){
return !player.isTurnedOver();
},
content:function(){
trigger.untrigger();
trigger.finish();
game.log(player,'取消了翻面');
},
}
},
mod:{
globalFrom:function(from,to,distance){
return distance-1;
}
},
ai:{
noturn:true,
}
},
xuwangzhimian:{ xuwangzhimian:{
trigger:{player:'phaseDrawBegin'}, trigger:{player:'phaseDrawBegin'},
forced:true, forced:true,
@ -5273,6 +5566,32 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
boss_taotie:'饕餮', boss_taotie:'饕餮',
boss_zhuyin:'烛阴', boss_zhuyin:'烛阴',
boss_wuzang:'无脏',
boss_wuzang_info:'锁定技摸牌阶段你的摸牌基数改为XX为你的体力值一半且至少为5你的手牌上限基数为0',
boss_xiangde:'相德',
boss_xiangde_info:'锁定技,其他角色对你造成伤害时,若其装备区内有武器牌,此伤害+1',
boss_yinzei:'隐贼',
boss_yinzei_info:'锁定技,若你没有手牌,其他角色对你造成伤害后,随机弃置一张牌',
boss_zhue:'助恶',
boss_zhue_info:'锁定技,每当一名其他角色造成伤害后,你与伤害来源各摸一张牌',
boss_futai:'复态',
boss_futai_info:'锁定技你的回合外其他角色不能使用【桃】你的回合开始时你令所有角色回复1点体力',
boss_yandu:'厌笃',
boss_yandu_info:'锁定技,其他角色回合结束后,若其未造成过伤害,你获得其一张牌',
boss_minwan:'冥顽',
boss_minwan_info:'锁定技,当你于回合内使用牌对其他角色造成伤害后,你于此回合内使用牌只能指定你与这些角色为目标,且你每使用一张牌,摸一张牌',
boss_nitai:'拟态',
boss_nitai_info:'锁定技,防止你于回合内受到的伤害;你于回合外受到火属性伤害+1',
boss_luanchang:'乱常',
boss_luanchang_info:'锁定技,回合开始时,你视为使用【南蛮入侵】;回合结束时,你视为使用【万箭齐发】',
boss_tanyu:'贪欲',
boss_tanyu_info:'锁定技跳过你的弃牌阶段结束阶段若你的手牌数为全场最多失去1点体力',
boss_cangmu:'藏目',
boss_cangmu_info:'锁定技你令摸牌阶段摸牌基数改为XX为存活角色数',
boss_jicai:'积财',
boss_jicai_info:'锁定技,一名角色回复体力后,你与其各摸一张牌',
boss_xiongshou:'凶兽',
boss_xiongshou_info:'锁定技,你使用【杀】对体力值小于你的角色造成的伤害+1你与其他角色距离-1你不能被翻面',
sadouchengbing:'撒豆成兵', sadouchengbing:'撒豆成兵',
sadouchengbing_info:'出牌阶段对自己使用若你的势力为“神”摸X张牌否则将你手牌补至XX为你的体力上限且至多为5', sadouchengbing_info:'出牌阶段对自己使用若你的势力为“神”摸X张牌否则将你手牌补至XX为你的体力上限且至多为5',
yihuajiemu:'移花接木', yihuajiemu:'移花接木',