This commit is contained in:
libccy 2017-11-06 11:08:42 +08:00
parent f7f65f4762
commit 5403337c8a
3 changed files with 361 additions and 15 deletions

View File

@ -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){

View File

@ -18,7 +18,3 @@ var load=function(id){
load(1);
// load(2);
// load(3);
setTimeout(function(){
phantom.exit();
},72000000);

View File

@ -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:'擎柱',