boss
This commit is contained in:
parent
f7f65f4762
commit
5403337c8a
|
@ -23208,6 +23208,9 @@
|
|||
player.smoothAvatar();
|
||||
}
|
||||
},
|
||||
arenaNumber:function(content){
|
||||
ui.arena.dataset.number=content;
|
||||
},
|
||||
reinit:function(source,content){
|
||||
if(source&&content){
|
||||
source.uninit();
|
||||
|
@ -23331,6 +23334,12 @@
|
|||
player.hide();
|
||||
}
|
||||
},
|
||||
deleteHandcards:function(player){
|
||||
if(player){
|
||||
player.node.handcards1.delete();
|
||||
player.node.handcards2.delete();
|
||||
}
|
||||
},
|
||||
hideCharacter:function(player,num){
|
||||
if(player&&player.classList){
|
||||
switch(num){
|
||||
|
|
|
@ -18,7 +18,3 @@ var load=function(id){
|
|||
load(1);
|
||||
// load(2);
|
||||
// load(3);
|
||||
|
||||
setTimeout(function(){
|
||||
phantom.exit();
|
||||
},72000000);
|
||||
|
|
363
mode/boss.js
363
mode/boss.js
|
@ -733,11 +733,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
boss_mingxingzhu:['male','shen',3,['boss_qingzhu','boss_jiazu','boss_jiding'],['qun','hiddenboss','bossallowed']],
|
||||
boss_shaohao:['male','shen',6,['boss_shenyi','boss_shenen','boss_baiyi'],['qun','hiddenboss','bossallowed']],
|
||||
|
||||
// boss_xuanlinshilian:['male','',0,['boss_baimang','boss_baimang_intro1','boss_baimang_intro2','boss_baimang_intro3'],['boss'],'qun'],
|
||||
// boss_xuanwu:['male','shen',4,['boss_shenyi','boss_kuangxiao','boss_baimang2'],['qun','hiddenboss','bossallowed']],
|
||||
// boss_shuishengonggong:['male','shen',5,['boss_shenyi','boss_xingqiu','boss_baimang3'],['qun','hiddenboss','bossallowed']],
|
||||
// boss_shuishenxuanming:['male','shen',3,['boss_qingzhu','boss_jiazu','boss_jiding'],['qun','hiddenboss','bossallowed']],
|
||||
// boss_zhuanxu:['male','shen',6,['boss_shenyi','boss_shenen','boss_baiyi'],['qun','hiddenboss','bossallowed']],
|
||||
boss_xuanlinshilian:['male','',0,['boss_xuanlin','boss_xuanlin_intro1','boss_xuanlin_intro2','boss_xuanlin_intro3'],['boss'],'qun'],
|
||||
boss_xuanwu:['male','shen',4,['boss_shenyi','boss_lingqu','boss_xuanlin2'],['qun','hiddenboss','bossallowed']],
|
||||
boss_shuishengonggong:['male','shen',5,['boss_shenyi','boss_juehong','boss_xuanlin3'],['qun','hiddenboss','bossallowed']],
|
||||
boss_shuishenxuanming:['female','shen',5,['boss_shenyi','boss_zirun','boss_xuanlin3'],['qun','hiddenboss','bossallowed']],
|
||||
boss_zhuanxu:['male','shen',6,['boss_shenyi','boss_shenen','boss_zaoyi'],['qun','hiddenboss','bossallowed']],
|
||||
|
||||
boss_zhuoguiquxie:['male','',0,['boss_bianshen','boss_bianshen_intro1','boss_bianshen_intro2','boss_bianshen_intro3','boss_bianshen_intro4'],['boss'],'shu'],
|
||||
boss_nianshou_heti:['male','shen',12,['boss_nianrui','boss_mengtai','boss_nbianshen','boss_nbianshenx'],['shu','boss','bossallowed'],'shu'],
|
||||
|
@ -1429,6 +1429,18 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
lib.boss.boss_chiyanshilian.init();
|
||||
}
|
||||
},
|
||||
boss_xuanlinshilian:{
|
||||
chongzheng:0,
|
||||
loopType:2,
|
||||
checkResult:function(player){
|
||||
if(player==game.boss&&game.boss.name!='boss_zhuanxu'){
|
||||
return false;
|
||||
}
|
||||
},
|
||||
init:function(){
|
||||
lib.boss.boss_chiyanshilian.init();
|
||||
}
|
||||
},
|
||||
boss_zhuoguiquxie:{
|
||||
chongzheng:0,
|
||||
checkResult:function(player){
|
||||
|
@ -1524,6 +1536,147 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
boss_zirun:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
forced:true,
|
||||
logTarget:function(){
|
||||
return game.filterPlayer();
|
||||
},
|
||||
content:function(){
|
||||
var list=game.filterPlayer().sortBySeat();
|
||||
game.asyncDraw(list,function(current){
|
||||
if(current.countCards('e')) return 2;
|
||||
return 1;
|
||||
});
|
||||
}
|
||||
},
|
||||
boss_juehong:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
forced:true,
|
||||
logTarget:function(event,player){
|
||||
return player.getEnemies();
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.list=player.getEnemies().sortBySeat();
|
||||
'step 1'
|
||||
if(event.list.length){
|
||||
var target=event.list.shift();
|
||||
if(target.countCards('he')){
|
||||
var es=target.getCards('e');
|
||||
if(es.length){
|
||||
target.discard(es);
|
||||
}
|
||||
else{
|
||||
player.discardPlayerCard(target,'h',true);
|
||||
}
|
||||
}
|
||||
event.redo();
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_zaoyi:{
|
||||
trigger:{global:'dieAfter'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
if(lib.config.mode!='boss') return false;
|
||||
var list=['boss_shuishenxuanming','boss_shuishengonggong'];
|
||||
if(list.contains(event.player.name)){
|
||||
return !game.hasPlayer(function(current){
|
||||
return list.contains(current.name);
|
||||
});
|
||||
}
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
player.draw(4);
|
||||
player.addSkill('boss_zaoyi_hp');
|
||||
},
|
||||
subSkill:{
|
||||
hp:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
forced:true,
|
||||
mark:true,
|
||||
intro:{
|
||||
content:'每个回合开始时使体力值最少的敌方角色失去所有体力'
|
||||
},
|
||||
content:function(){
|
||||
var list=player.getEnemies();
|
||||
var min=list[0].hp;
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(list[i].hp<min){
|
||||
min=list[i].hp;
|
||||
}
|
||||
}
|
||||
for(var i=0;i<list.length;i++){
|
||||
if(list[i].hp>min){
|
||||
list.splice(i--,1);
|
||||
}
|
||||
}
|
||||
player.line(list,'green');
|
||||
list.sortBySeat();
|
||||
for(var i=0;i<list.length;i++){
|
||||
list[i].loseHp(min);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
mod:{
|
||||
targetEnabled:function(card,player,target,now){
|
||||
if(target.isEnemyOf(player)){
|
||||
var type=get.type(card,'trick');
|
||||
if(type=='trick'){
|
||||
if(game.hasPlayer(function(current){
|
||||
return current.name=='boss_shuishenxuanming';
|
||||
})){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(type=='basic'){
|
||||
if(game.hasPlayer(function(current){
|
||||
return current.name=='boss_shuishengonggong';
|
||||
})){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_lingqu:{
|
||||
init:function(player){
|
||||
player.storage.boss_lingqu=0;
|
||||
},
|
||||
trigger:{player:'damageEnd'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
player.draw();
|
||||
player.storage.boss_lingqu++;
|
||||
player.markSkill('boss_lingqu');
|
||||
},
|
||||
intro:{
|
||||
content:'手牌上限+#'
|
||||
},
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
return num+player.storage.boss_lingqu;
|
||||
}
|
||||
},
|
||||
group:'boss_lingqu_cancel',
|
||||
subSkill:{
|
||||
cancel:{
|
||||
trigger:{player:'damageBefore'},
|
||||
priority:-11,
|
||||
forced:true,
|
||||
filter:function(event){
|
||||
return event.num>1;
|
||||
},
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_baiyi:{
|
||||
group:['boss_baiyi_draw','boss_baiyi_thunder','boss_baiyi_discard'],
|
||||
subSkill:{
|
||||
|
@ -2582,6 +2735,185 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
game.roundNumber=0;
|
||||
}
|
||||
},
|
||||
boss_xuanlin:{
|
||||
trigger:{global:'gameStart'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
fixed:true,
|
||||
unique:true,
|
||||
content:function(){
|
||||
player.smoothAvatar();
|
||||
player.init('boss_xuanwu');
|
||||
_status.noswap=true;
|
||||
game.addVideo('reinit2',player,player.name);
|
||||
}
|
||||
},
|
||||
boss_xuanlin2:{
|
||||
mode:['boss'],
|
||||
global:'boss_xuanlin2x',
|
||||
trigger:{player:'dieBegin'},
|
||||
silent:true,
|
||||
unique:true,
|
||||
fixed:true,
|
||||
filter:function(event,player){
|
||||
return player==game.boss;
|
||||
},
|
||||
content:function(){
|
||||
player.hide();
|
||||
game.addVideo('hidePlayer',player);
|
||||
}
|
||||
},
|
||||
boss_xuanlin2x:{
|
||||
trigger:{global:'dieAfter'},
|
||||
forced:true,
|
||||
priority:-10,
|
||||
globalFixed:true,
|
||||
unique:true,
|
||||
fixed:true,
|
||||
filter:function(event){
|
||||
if(lib.config.mode!='boss') return false;
|
||||
return event.player==game.boss&&event.player.hasSkill('boss_xuanlin2');
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
game.delay();
|
||||
'step 1'
|
||||
if(game.me!=game.boss){
|
||||
game.boss.changeSeat(6);
|
||||
}
|
||||
else{
|
||||
game.boss.nextSeat.changeSeat(3);
|
||||
game.boss.previousSeat.changeSeat(5);
|
||||
}
|
||||
game.changeBoss('boss_shuishengonggong');
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
game.players[i].hp=game.players[i].maxHp;
|
||||
game.players[i].update();
|
||||
}
|
||||
game.delay(0.5);
|
||||
'step 2'
|
||||
game.addBossFellow(game.me==game.boss?1:7,'boss_shuishenxuanming');
|
||||
'step 3'
|
||||
var dnum=0;
|
||||
var dead=game.dead.slice(0);
|
||||
for(var i=0;i<dead.length;i++){
|
||||
if(!dead[i].side&&dead[i].maxHp>0&&dead[i].parentNode==player.parentNode){
|
||||
dead[i].revive(dead[i].maxHp);
|
||||
dnum++;
|
||||
}
|
||||
}
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].side) continue;
|
||||
game.players[i].removeEquipTrigger();
|
||||
var hej=game.players[i].getCards('hej');
|
||||
for(var j=0;j<hej.length;j++){
|
||||
ui.discardPile.appendChild(hej[j]);
|
||||
}
|
||||
game.players[i].hp=game.players[i].maxHp;
|
||||
game.players[i].hujia=0;
|
||||
game.players[i].classList.remove('turnedover');
|
||||
game.players[i].removeLink();
|
||||
game.players[i].directgain(get.cards(4-dnum));
|
||||
}
|
||||
'step 4'
|
||||
while(_status.event.name!='phaseLoop'){
|
||||
_status.event=_status.event.parent;
|
||||
}
|
||||
game.resetSkills();
|
||||
_status.paused=false;
|
||||
_status.event.player=game.boss;
|
||||
_status.event.step=0;
|
||||
_status.roundStart=game.boss;
|
||||
game.phaseNumber=0;
|
||||
game.roundNumber=0;
|
||||
if(game.bossinfo){
|
||||
game.bossinfo.loopType=1;
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_xuanlin3:{
|
||||
mode:['boss'],
|
||||
global:'boss_xuanlin3x',
|
||||
trigger:{player:'dieBegin'},
|
||||
silent:true,
|
||||
fixed:true,
|
||||
unique:true,
|
||||
filter:function(event,player){
|
||||
if(game.boss&&game.boss.name=='boss_zhuanxu') return false;
|
||||
return true;
|
||||
},
|
||||
content:function(){
|
||||
player.hide();
|
||||
game.addVideo('hidePlayer',player);
|
||||
if(player.nextSeat.side==player.side){
|
||||
player.nextSeat.hide();
|
||||
game.addVideo('hidePlayer',player.nextSeat);
|
||||
}
|
||||
if(player.previousSeat.side==player.side){
|
||||
player.previousSeat.hide();
|
||||
player.previousSeat.node.handcards1.hide();
|
||||
player.previousSeat.node.handcards2.hide();
|
||||
game.addVideo('hidePlayer',player.previousSeat);
|
||||
game.addVideo('deleteHandcards',player.previousSeat);
|
||||
}
|
||||
}
|
||||
},
|
||||
boss_xuanlin3x:{
|
||||
trigger:{global:'dieAfter'},
|
||||
forced:true,
|
||||
priority:-10,
|
||||
fixed:true,
|
||||
globalFixed:true,
|
||||
unique:true,
|
||||
filter:function(event){
|
||||
if(lib.config.mode!='boss') return false;
|
||||
if(game.boss&&game.boss.name=='boss_zhuanxu') return false;
|
||||
return event.player.hasSkill('boss_xuanlin3');
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
game.delay();
|
||||
'step 1'
|
||||
game.changeBoss('boss_zhuanxu');
|
||||
game.delay(0.5);
|
||||
'step 2'
|
||||
game.addBossFellow(game.me==game.boss?7:5,'boss_shuishengonggong');
|
||||
game.changeBoss('boss_shuishenxuanming',game.boss.nextSeat);
|
||||
'step 3'
|
||||
var dnum=0;
|
||||
var dead=game.dead.slice(0);
|
||||
for(var i=0;i<dead.length;i++){
|
||||
if(!dead[i].side&&dead[i].maxHp>0&&dead[i].parentNode==player.parentNode){
|
||||
dead[i].revive(dead[i].maxHp);
|
||||
dnum++;
|
||||
}
|
||||
}
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].side) continue;
|
||||
game.players[i].removeEquipTrigger();
|
||||
var hej=game.players[i].getCards('hej');
|
||||
for(var j=0;j<hej.length;j++){
|
||||
ui.discardPile.appendChild(hej[j]);
|
||||
}
|
||||
game.players[i].hp=game.players[i].maxHp;
|
||||
game.players[i].hujia=0;
|
||||
game.players[i].classList.remove('turnedover');
|
||||
game.players[i].removeLink();
|
||||
game.players[i].directgain(get.cards(4-dnum));
|
||||
}
|
||||
'step 4'
|
||||
while(_status.event.name!='phaseLoop'){
|
||||
_status.event=_status.event.parent;
|
||||
}
|
||||
game.resetSkills();
|
||||
_status.paused=false;
|
||||
_status.event.player=game.boss;
|
||||
_status.event.step=0;
|
||||
_status.roundStart=game.boss;
|
||||
game.phaseNumber=0;
|
||||
game.roundNumber=0;
|
||||
}
|
||||
},
|
||||
boss_baimang:{
|
||||
trigger:{global:'gameStart'},
|
||||
forced:true,
|
||||
|
@ -2724,12 +3056,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
game.addBossFellow(4,'boss_mingxingzhu');
|
||||
}
|
||||
else{
|
||||
ui.arena.dataset.number='7';
|
||||
game.addBossFellow(5,'boss_mingxingzhu');
|
||||
game.boss.previousSeat.changeSeat(6);
|
||||
game.boss.nextSeat.nextSeat.changeSeat(2);
|
||||
game.boss.nextSeat.nextSeat.nextSeat.changeSeat(3);
|
||||
game.boss.nextSeat.nextSeat.nextSeat.nextSeat.changeSeat(4);
|
||||
// ui.arena.dataset.number='7';
|
||||
// game.addVideo('arenaNumber',null,7);
|
||||
// game.boss.previousSeat.changeSeat(6);
|
||||
// game.boss.nextSeat.nextSeat.changeSeat(2);
|
||||
// game.boss.nextSeat.nextSeat.nextSeat.changeSeat(3);
|
||||
// game.boss.nextSeat.nextSeat.nextSeat.nextSeat.changeSeat(4);
|
||||
game.addBossFellow(6,'boss_mingxingzhu');
|
||||
}
|
||||
'step 3'
|
||||
var dnum=0;
|
||||
|
@ -6151,6 +6484,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
boss_shuishengonggong:'水神共工',
|
||||
boss_zhuanxu:'颛顼',
|
||||
|
||||
boss_lingqu:'灵躯',
|
||||
boss_lingqu_info:'锁定技,当你受到伤害后,你摸一张牌,然后手牌上限+1;防止你受到的大于1点的伤害',
|
||||
boss_zirun:'滋润',
|
||||
boss_zirun_info:'锁定技,准备阶段开始时,你令所有角色摸一张牌,若其装备区内有牌,则其额外摸一张牌',
|
||||
boss_juehong:'决洪',
|
||||
boss_juehong_info:'锁定技,准备阶段开始时,你令所有敌方角色自己弃置自己的装备区内的所有牌,若其装备区内没有牌,则改为你弃置其一张手牌',
|
||||
boss_zaoyi:'皂仪',
|
||||
boss_zaoyi_info:'锁定技,只要水神玄冥存活,你不会成为敌方角色使用锦囊牌的目标,只要水神共工存活,你不会成为敌方角色使用基本牌的目标。水神玄冥和水神共工均死亡后,你摸四张牌,然后从下回合开始,每个回合开始时使体力值最少的敌方角色失去所有体力',
|
||||
boss_baiyi:'白仪',
|
||||
boss_baiyi_info:'锁定技,每名敌方角色的摸牌阶段,若当前轮数小于3,其少摸一张牌;第五轮开始时,每名敌方角色弃置两张牌;当己方角色受到的雷电伤害时,若当前轮数小于7,其防止此伤害',
|
||||
boss_qingzhu:'擎柱',
|
||||
|
|
Loading…
Reference in New Issue