This commit is contained in:
libccy 2017-02-28 12:16:46 +08:00
parent 673d4d903d
commit 3674a5f162
10 changed files with 36 additions and 56 deletions

View File

@ -20,7 +20,7 @@ card.extra={
return target==player; return target==player;
}, },
content:function(){ content:function(){
if(target==_status.event.getParent(2).dying||target==_status.dying){ if(target.isDying()){
target.recover(); target.recover();
if(_status.currentPhase==target){ if(_status.currentPhase==target){
target.getStat().card.jiu--; target.getStat().card.jiu--;
@ -71,7 +71,7 @@ card.extra={
}, },
result:{ result:{
target:function(player,target){ target:function(player,target){
if(target&&target.hp<=0) return 2; if(target&&target.isDying()) return 2;
if(lib.config.mode=='stone'&&!player.isMin()){ if(lib.config.mode=='stone'&&!player.isMin()){
if(player.getActCount()+1>=player.actcount) return 0; if(player.getActCount()+1>=player.actcount) return 0;
} }

View File

@ -487,7 +487,7 @@ card.sp={
order:4, order:4,
result:{ result:{
player:function(player){ player:function(player){
if(_status.dying) return ai.get.attitude(player,_status.dying); if(_status.event.dying) return ai.get.attitude(player,_status.event.dying);
return 1; return 1;
} }
}, },

View File

@ -1538,7 +1538,7 @@ card.swd={
}, },
content:function(){ content:function(){
"step 0" "step 0"
if(target==_status.event.getParent(2).dying||target==_status.dying) target.recover(); if(target.isDying()) target.recover();
else{ else{
target.addTempSkill('tianxianjiu',['phaseAfter','shaAfter']); target.addTempSkill('tianxianjiu',['phaseAfter','shaAfter']);
if(cards&&cards.length){ if(cards&&cards.length){
@ -1574,7 +1574,7 @@ card.swd={
}, },
result:{ result:{
target:function(player,target){ target:function(player,target){
if(target&&target==_status.dying) return 2; if(target&&target.isDying()) return 2;
if(lib.config.mode=='stone'&&!player.isMin()){ if(lib.config.mode=='stone'&&!player.isMin()){
if(player.getActCount()+1>=player.actcount) return false; if(player.getActCount()+1>=player.actcount) return false;
} }

View File

@ -795,7 +795,7 @@ character.diy={
}, },
filter:function(event,player){ filter:function(event,player){
if(event.type!='dying') return false; if(event.type!='dying') return false;
if(player!=_status.dying) return false; if(player!=event.dying) return false;
if(player.storage.guihan) return false; if(player.storage.guihan) return false;
return true; return true;
}, },

View File

@ -3494,7 +3494,7 @@ character.hearth={
}, },
filter:function(event,player){ filter:function(event,player){
if(event.type!='dying') return false; if(event.type!='dying') return false;
if(player!=_status.dying) return false; if(player!=event.dying) return false;
if(player.storage.chongsheng<=0) return false; if(player.storage.chongsheng<=0) return false;
return true; return true;
}, },

View File

@ -7218,7 +7218,7 @@ character.sp={
result:{ result:{
player:function(player){ player:function(player){
if(player.tempSkills.aocai4) return 0; if(player.tempSkills.aocai4) return 0;
if(_status.dying) return ai.get.attitude(player,_status.dying); if(_status.event.dying) return ai.get.attitude(player,_status.event.dying);
return 1; return 1;
} }
} }

View File

@ -2240,6 +2240,7 @@ character.swd={
var num=target.maxHp-target.hp; var num=target.maxHp-target.hp;
if(get.is.altered('shouyin')) num=Math.min(2,num); if(get.is.altered('shouyin')) num=Math.min(2,num);
target.recover(num); target.recover(num);
player.line(target,'green');
} }
event.redo(); event.redo();
} }
@ -2253,7 +2254,7 @@ character.swd={
save:true, save:true,
result:{ result:{
player:function(player){ player:function(player){
if(_status.dying!=player&&ai.get.attitude(player,_status.dying)<=0){ if(_status.event.dying!=player&&ai.get.attitude(player,_status.event.dying)<=0){
return 0; return 0;
} }
var num=0; var num=0;
@ -2831,7 +2832,7 @@ character.swd={
result:{ result:{
player:function(player){ player:function(player){
if(player.tempSkills.jilve3) return 0; if(player.tempSkills.jilve3) return 0;
if(_status.dying) return ai.get.attitude(player,_status.dying); if(_status.event.dying) return ai.get.attitude(player,_status.event.dying);
return 1; return 1;
} }
}, },
@ -5055,40 +5056,6 @@ character.swd={
} }
}, },
}, },
yuhuo:{
enable:'chooseToUse',
filter:function(event,player){
if(event.type!='dying') return false;
if(player!=_status.dying) return false;
if(player.storage.yuhuo) return false;
return true;
},
content:function(){
player.maxHp--;
player.hp=player.maxHp;
player.discard(player.get('hej'));
if(player.isLinked()) player.link();
if(player.isTurnedOver()) player.turnOver();
player.storage.yuhuo=true;
// player.addSkill('guanhong');
// player.addSkill('yishan2');
player.update();
},
ai:{
result:{
player:10
},
threaten:function(player,target){
if(!target.storage.yuhuo) return 0.8;
}
},
init:function(player){
player.storage.yuhuo=false;
},
intro:{
content:'limited'
}
},
yishan:{ yishan:{
group:'yishan2', group:'yishan2',
trigger:{player:'damageEnd'}, trigger:{player:'damageEnd'},
@ -9208,7 +9175,6 @@ character.swd={
susheng:'苏生', susheng:'苏生',
shengshou:'圣手', shengshou:'圣手',
huanjian:'幻箭', huanjian:'幻箭',
yuhuo:'浴火',
huanjian_info:'出牌阶段,你可以将一张黑色牌当作冰魄针使用', huanjian_info:'出牌阶段,你可以将一张黑色牌当作冰魄针使用',
shengshou_info:'你可以将一张黑色手牌当作草药使用', shengshou_info:'你可以将一张黑色手牌当作草药使用',
susheng_info:'在任意一名角色即将死亡时你可以弃置一张手牌防止其死亡并将其体力回复至1每回合限发动一次', susheng_info:'在任意一名角色即将死亡时你可以弃置一张手牌防止其死亡并将其体力回复至1每回合限发动一次',
@ -9245,7 +9211,6 @@ character.swd={
poxing_info:'锁定技,每当你即将造成伤害,若目标的体力值大于你,你令伤害+1', poxing_info:'锁定技,每当你即将造成伤害,若目标的体力值大于你,你令伤害+1',
liaoyuan_info:'每当你使用一张杀指定目标后,你可以弃置任意张与此杀花色相同的牌,若如此做,目标需额外打出等量的闪,每少打出一张闪,此杀的伤害+1', liaoyuan_info:'每当你使用一张杀指定目标后,你可以弃置任意张与此杀花色相同的牌,若如此做,目标需额外打出等量的闪,每少打出一张闪,此杀的伤害+1',
liaoyuan_info_alter:'每当你使用一张杀指定目标后,你可以弃置一张与此杀花色相同的牌,若如此做,目标需额外打出一张闪,若目标没打出闪,此杀的伤害+1', liaoyuan_info_alter:'每当你使用一张杀指定目标后,你可以弃置一张与此杀花色相同的牌,若如此做,目标需额外打出一张闪,若目标没打出闪,此杀的伤害+1',
yuhuo_info:'限定技,濒死阶段,你可以重置角色牌,减少一点体力上限,然后将体力回复至体力上限',
yishan_info:'每当你受到一次伤害,你可以重新获得最近失去的两张牌', yishan_info:'每当你受到一次伤害,你可以重新获得最近失去的两张牌',
huanhun_info:'当一名角色进入濒死状态时,你可以弃置一张红色牌并令其进行一次判定,若结果为红色,其回复一点体力', huanhun_info:'当一名角色进入濒死状态时,你可以弃置一张红色牌并令其进行一次判定,若结果为红色,其回复一点体力',
daixing_info:'结束阶段,你可以任意张牌并获得等量的护甲,这些护甲将在你的下个准备阶段消失', daixing_info:'结束阶段,你可以任意张牌并获得等量的护甲,这些护甲将在你的下个准备阶段消失',

View File

@ -15,6 +15,7 @@
skillaudio:[], skillaudio:[],
dieClose:[], dieClose:[],
dragline:[], dragline:[],
dying:[]
}; };
var lib={ var lib={
configprefix:'noname_0.9_', configprefix:'noname_0.9_',
@ -9714,11 +9715,21 @@
}, },
dying:function(){ dying:function(){
"step 0" "step 0"
_status.dying=player; if(player.isDying()||player.hp>0){
event.finish();
return;
}
_status.dying.unshift(player);
game.broadcast(function(list){
_status.dying=list;
},_status.dying);
event.trigger('dying'); event.trigger('dying');
game.log(player,'濒死') game.log(player,'濒死')
"step 1" "step 1"
if(_status.dying==player) delete _status.dying; _status.dying.remove(player);
game.broadcast(function(list){
_status.dying=list;
},_status.dying);
if(player.hp<=0&&!player.nodying) player.die(event.reason); if(player.hp<=0&&!player.nodying) player.die(event.reason);
}, },
die:function(){ die:function(){
@ -9780,6 +9791,7 @@
player.next.previous=player.previous; player.next.previous=player.previous;
game.players.remove(player); game.players.remove(player);
game.dead.push(player); game.dead.push(player);
_status.dying.remove(player);
for(var i=0;i<cards.length;i++){ for(var i=0;i<cards.length;i++){
cards[i].goto(ui.discardPile); cards[i].goto(ui.discardPile);
@ -12169,7 +12181,7 @@
return next; return next;
}, },
dying:function(reason){ dying:function(reason){
if(this.nodying) return; if(this.nodying||this.hp>0||this.isDying()) return;
var next=game.createEvent('dying'); var next=game.createEvent('dying');
next.player=this; next.player=this;
next.reason=reason; next.reason=reason;
@ -13495,6 +13507,9 @@
isDead:function(){ isDead:function(){
return this.classList.contains('dead'); return this.classList.contains('dead');
}, },
isDying:function(){
return _status.dying.contains(this)&&this.hp<=0&&this.isAlive();
},
isDamaged:function(){ isDamaged:function(){
return this.hp<this.maxHp; return this.hp<this.maxHp;
}, },
@ -16612,20 +16627,19 @@
forced:true, forced:true,
popup:false, popup:false,
filter:function(event,player){ filter:function(event,player){
if(event.player.hp>0) return false; if(!event.player.isDying()) return false;
if(event.source&&event.source!=player) return false; if(event.source&&event.source.isIn()&&event.source!=player) return false;
return true; return true;
}, },
content:function(){ content:function(){
"step 0" "step 0"
event.dying=_status.dying; event.dying=trigger.player;
if(!event.acted) event.acted=[]; if(!event.acted) event.acted=[];
"step 1" "step 1"
if(trigger.player.isDead()){ if(trigger.player.isDead()){
event.finish(); event.finish();
return; return;
} }
_status.dying=event.dying;
event.acted.push(player); event.acted.push(player);
// else if(trigger.source&&trigger.source.isDead()){ // else if(trigger.source&&trigger.source.isDead()){
// trigger.start=game.findNext(trigger.source); // trigger.start=game.findNext(trigger.source);
@ -16634,7 +16648,6 @@
// trigger.start=trigger.source||trigger.player; // trigger.start=trigger.source||trigger.player;
// } // }
var str=get.translation(trigger.player.name)+'濒死,是否帮助?<br><div class="text center" style="margin-top:10px">当前体力:'+trigger.player.hp+'</div>'; var str=get.translation(trigger.player.name)+'濒死,是否帮助?<br><div class="text center" style="margin-top:10px">当前体力:'+trigger.player.hp+'</div>';
_status.dying=event.dying;
if(lib.config.tao_enemy&&event.dying.side!=player.side&&lib.config.mode!='identity'&&lib.config.mode!='guozhan'){ if(lib.config.tao_enemy&&event.dying.side!=player.side&&lib.config.mode!='identity'&&lib.config.mode!='guozhan'){
event._result={bool:false} event._result={bool:false}
} }
@ -17460,6 +17473,7 @@
next:[], next:[],
}; };
_status.paused=false; _status.paused=false;
_status.dying=get.parsedResult(state.dying)||[];
if(game.updateState){ if(game.updateState){
game.updateState(state2); game.updateState(state2);
@ -35588,6 +35602,7 @@
number:ui.arena.dataset.number, number:ui.arena.dataset.number,
players:{}, players:{},
mode:_status.mode, mode:_status.mode,
dying:_status.dying,
servermode:window.isNonameServer, servermode:window.isNonameServer,
roomId:game.roomId roomId:game.roomId
}; };

View File

@ -2874,7 +2874,7 @@ mode.boss={
}, },
filter:function(event,player){ filter:function(event,player){
if(event.type!='dying') return false; if(event.type!='dying') return false;
if(player!=_status.dying) return false; if(!player.isDying()) return false;
if(player.storage.boss_guihan) return false; if(player.storage.boss_guihan) return false;
return true; return true;
}, },

View File

@ -5389,7 +5389,7 @@ mode.stone={
return target==player; return target==player;
}, },
content:function(){ content:function(){
if(target==_status.dying){ if(target.isDying()){
target.recover(); target.recover();
} }
else{ else{