v1.9.37
This commit is contained in:
parent
93f9371093
commit
b26a43ad3f
|
@ -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']],
|
||||||
|
|
|
@ -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:{
|
||||||
|
|
|
@ -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为其已损失体力值且至多为5);2.令其失去1点体力,然后获得你弃置的牌。',
|
||||||
xinjiewei_info:'你可以将装备区里的牌当【无懈可击】使用;当你从背面翻至正面时,你可以弃置一张牌,然后移动场上的一张牌',
|
xinjiewei_info:'你可以将装备区里的牌当【无懈可击】使用;当你从背面翻至正面时,你可以弃置一张牌,然后移动场上的一张牌',
|
||||||
xinjushou_info:'结束阶段,你可以翻面并摸四张牌,然后弃置一张手牌,若以此法弃置的是装备牌,则你改为使用之',
|
xinjushou_info:'结束阶段,你可以翻面并摸四张牌,然后弃置一张手牌,若以此法弃置的是装备牌,则你改为使用之',
|
||||||
jixi_info:'出牌阶段,你可以把任意一张田当【顺手牵羊】使用',
|
jixi_info:'出牌阶段,你可以把任意一张田当【顺手牵羊】使用',
|
||||||
|
|
37
game/game.js
37
game/game.js
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
333
mode/boss.js
333
mode/boss.js
|
@ -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&¤t.hasSkill('boss_futai')&&_status.currentPhase!=current;
|
||||||
|
})){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cardEnabled:function(card,player){
|
||||||
|
if(card.name=='tao'&&game.hasPlayer(function(current){
|
||||||
|
return current!=player&¤t.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:'锁定技,摸牌阶段,你的摸牌基数改为X(X为你的体力值一半且至少为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:'锁定技,你令摸牌阶段摸牌基数改为X(X为存活角色数)',
|
||||||
|
boss_jicai:'积财',
|
||||||
|
boss_jicai_info:'锁定技,一名角色回复体力后,你与其各摸一张牌',
|
||||||
|
boss_xiongshou:'凶兽',
|
||||||
|
boss_xiongshou_info:'锁定技,你使用【杀】对体力值小于你的角色造成的伤害+1;你与其他角色距离-1;你不能被翻面',
|
||||||
sadouchengbing:'撒豆成兵',
|
sadouchengbing:'撒豆成兵',
|
||||||
sadouchengbing_info:'出牌阶段对自己使用,若你的势力为“神”,摸X张牌;否则将你手牌补至X;(X为你的体力上限且至多为5)',
|
sadouchengbing_info:'出牌阶段对自己使用,若你的势力为“神”,摸X张牌;否则将你手牌补至X;(X为你的体力上限且至多为5)',
|
||||||
yihuajiemu:'移花接木',
|
yihuajiemu:'移花接木',
|
||||||
|
|
Loading…
Reference in New Issue