bug修复
This commit is contained in:
parent
482d6c8b58
commit
58f50110cd
|
@ -1190,6 +1190,7 @@ character.sp={
|
|||
order:4,
|
||||
result:{
|
||||
target:function(player,target){
|
||||
if(target.isMin()) return 0;
|
||||
if(player.hp>1){
|
||||
if(game.phaseNumber<game.players.length) return 0;
|
||||
if(target.hp==1&&target.maxHp>2) return 0;
|
||||
|
@ -1483,7 +1484,7 @@ character.sp={
|
|||
},
|
||||
filterTarget:function(card,player,target){
|
||||
if(_status.auto||player!=game.me){
|
||||
if(ai.get.attitude(player,target)<0) return -1;
|
||||
if(ai.get.attitude(player,target)<=0) return false;
|
||||
}
|
||||
return player!=target;
|
||||
},
|
||||
|
@ -1512,7 +1513,7 @@ character.sp={
|
|||
if(player.hp==2&&num<=1) return 1;
|
||||
if(player.hp==3&&num==0) return 1;
|
||||
if(player.hp>=3&&num>=3) return -10;
|
||||
if(lib.config.mode!='versus'){
|
||||
if(lib.config.mode=='identity'||lib.config.mode=='guozhan'){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(lib.config.mode=='identity'){
|
||||
if(game.players[i].ai.shown<=0) return -10;
|
||||
|
@ -2162,6 +2163,7 @@ character.sp={
|
|||
effect:{
|
||||
target:function(card,player,target){
|
||||
if(get.tag(card,'damage')){
|
||||
if(!target.hasFriend()) return;
|
||||
if(target.hp>=4) return [0,1];
|
||||
}
|
||||
if(get.tag(card,'recover')&&player.hp>=player.maxHp-1) return [0,0];
|
||||
|
|
|
@ -3069,7 +3069,9 @@ character.yijiang={
|
|||
if(isjudge){
|
||||
return !target.hasJudge(card.name);
|
||||
}
|
||||
return true;
|
||||
else{
|
||||
return !target.isMin();
|
||||
}
|
||||
}).ai=function(target){
|
||||
return ai.get.effect(target,card,player,player);
|
||||
}
|
||||
|
|
67
game/game.js
67
game/game.js
|
@ -2078,7 +2078,7 @@ window.play={};
|
|||
this.update();
|
||||
return this;
|
||||
},
|
||||
uninit:function(stat){
|
||||
uninit:function(){
|
||||
var that=this;
|
||||
this.node.avatar.hide();
|
||||
this.node.count.hide();
|
||||
|
@ -2113,9 +2113,7 @@ window.play={};
|
|||
this.hiddenSkills=[];
|
||||
this.forbiddenSkills=[];
|
||||
this.modeSkills=[];
|
||||
if(stat!==false){
|
||||
this.stat=[{card:{},skill:{}}];
|
||||
}
|
||||
this.tempSkills={};
|
||||
this.storage={};
|
||||
this.marks={};
|
||||
|
@ -3830,6 +3828,14 @@ window.play={};
|
|||
}
|
||||
return false;
|
||||
},
|
||||
hasFriend:function(){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i]!=this&&ai.get.attitude(game.players[i],this)>=0){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
getJudge:function(name){
|
||||
var judges=this.node.judges.childNodes;
|
||||
for(var i=0;i<judges.length;i++){
|
||||
|
@ -5294,6 +5300,56 @@ window.play={};
|
|||
dialog.add(ui.create.div('.placeholder'));
|
||||
dialog.content.appendChild(table);
|
||||
}
|
||||
if(game.additionaldead&&game.additionaldead.length){
|
||||
table=document.createElement('table');
|
||||
table.style.opacity='0.5';
|
||||
for(i=0;i<game.additionaldead.length;i++){
|
||||
tr=document.createElement('tr');
|
||||
td=document.createElement('td');
|
||||
td.innerHTML=get.translation(game.additionaldead[i]);
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
num=0;
|
||||
for(j=0;j<game.additionaldead[i].stat.length;j++){
|
||||
if(game.additionaldead[i].stat[j].damage!=undefined) num+=game.additionaldead[i].stat[j].damage;
|
||||
}
|
||||
td.innerHTML=num;
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
num=0;
|
||||
for(j=0;j<game.additionaldead[i].stat.length;j++){
|
||||
if(game.additionaldead[i].stat[j].damaged!=undefined) num+=game.additionaldead[i].stat[j].damaged;
|
||||
}
|
||||
td.innerHTML=num;
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
num=0;
|
||||
for(j=0;j<game.additionaldead[i].stat.length;j++){
|
||||
if(game.additionaldead[i].stat[j].gain!=undefined) num+=game.additionaldead[i].stat[j].gain;
|
||||
}
|
||||
td.innerHTML=num;
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
num=0;
|
||||
for(j=0;j<game.additionaldead[i].stat.length;j++){
|
||||
for(k in game.additionaldead[i].stat[j].card){
|
||||
num+=game.additionaldead[i].stat[j].card[k];
|
||||
}
|
||||
}
|
||||
td.innerHTML=num;
|
||||
tr.appendChild(td);
|
||||
td=document.createElement('td');
|
||||
num=0;
|
||||
for(j=0;j<game.additionaldead[i].stat.length;j++){
|
||||
if(game.additionaldead[i].stat[j].kill!=undefined) num+=game.additionaldead[i].stat[j].kill;
|
||||
}
|
||||
td.innerHTML=num;
|
||||
tr.appendChild(td);
|
||||
table.appendChild(tr);
|
||||
}
|
||||
dialog.add(ui.create.div('.placeholder'));
|
||||
dialog.content.appendChild(table);
|
||||
}
|
||||
}
|
||||
dialog.add(ui.create.div('.placeholder'));
|
||||
dialog.add(ui.create.div('.placeholder'));
|
||||
|
@ -5689,7 +5745,7 @@ window.play={};
|
|||
swapSeat:function(player1,player2,prompt,behind){
|
||||
if(behind){
|
||||
var totalPopulation=game.players.length+game.dead.length+1;
|
||||
for(var iwhile=0;i<totalPopulation;i++){
|
||||
for(var iwhile=0;iwhile<totalPopulation;iwhile++){
|
||||
if(player1.next!=player2){
|
||||
game.swapSeat(player1,player1.next,false,false);
|
||||
}
|
||||
|
@ -8332,6 +8388,7 @@ window.play={};
|
|||
},
|
||||
window:function(){
|
||||
if(_status.dragged) return;
|
||||
if(_status.reloading) return;
|
||||
if(_status.clicked){
|
||||
_status.clicked=false;
|
||||
}
|
||||
|
@ -9582,7 +9639,7 @@ window.play={};
|
|||
else{
|
||||
var length=game.players.length;
|
||||
var totalPopulation=game.players.length+game.dead.length+1;
|
||||
for(var iwhile=0;iwhile<totalPopulation;i++){
|
||||
for(var iwhile=0;iwhile<totalPopulation;iwhile++){
|
||||
if(player.nextSeat!=to){
|
||||
player=player.nextSeat;
|
||||
if(player.isAlive()&&!player.isOut()&&!player.isMin()) n++;
|
||||
|
|
|
@ -76,6 +76,9 @@
|
|||
max-height:148px;
|
||||
left:auto;
|
||||
}
|
||||
.player.minskin .judges{
|
||||
top:14px;
|
||||
}
|
||||
.player .marks>div,
|
||||
.player .judges>div{
|
||||
margin-right:0;
|
||||
|
|
|
@ -102,6 +102,7 @@ mode.stone={
|
|||
else{
|
||||
game.pause();
|
||||
_status.deadfriend.push(this);
|
||||
game.additionaldead.push(this);
|
||||
setTimeout(function(){
|
||||
var player=ui.create.player();
|
||||
player.dataset.position=dead.dataset.position;
|
||||
|
@ -133,6 +134,7 @@ mode.stone={
|
|||
else{
|
||||
game.pause();
|
||||
_status.deadenemy.push(this);
|
||||
game.additionaldead.push(this);
|
||||
setTimeout(function(){
|
||||
var player=ui.create.player();
|
||||
player.dataset.position=dead.dataset.position;
|
||||
|
@ -268,6 +270,7 @@ mode.stone={
|
|||
|
||||
_status.deadfriend=[];
|
||||
_status.deadenemy=[];
|
||||
game.additionaldead=[];
|
||||
},
|
||||
start:function(){
|
||||
var next=game.createEvent('game',false);
|
||||
|
@ -281,8 +284,6 @@ mode.stone={
|
|||
game.enemy=game.me.next;
|
||||
game.chooseCharacter();
|
||||
"step 2"
|
||||
game.me.identity='zhu';
|
||||
game.enemy.identity='zhu';
|
||||
game.me.side=Math.random()<0.5;
|
||||
game.enemy.side=!game.me.side;
|
||||
game.gameDraw(game.me,2);
|
||||
|
@ -329,6 +330,7 @@ mode.stone={
|
|||
return (get.config('double_character')?2:1)*get.config('battle_number');
|
||||
};
|
||||
next.custom.add.button=function(){
|
||||
if(ui.cheat2&&ui.cheat2.backup) return;
|
||||
_status.event.dialog.content.childNodes[0].innerHTML=
|
||||
'按顺序选择出场角色'+(get.config('double_character')?'(双将)':'');
|
||||
_status.event.dialog.content.childNodes[1].innerHTML=
|
||||
|
@ -472,8 +474,13 @@ mode.stone={
|
|||
return true;
|
||||
},
|
||||
selectTarget:2,
|
||||
multitarget:true,
|
||||
multiline:true,
|
||||
content:function(){
|
||||
target.die();
|
||||
targets.sort(lib.sort.seat);
|
||||
for(var i=0;i<targets.length;i++){
|
||||
targets[i].die();
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
result:{
|
||||
|
@ -710,8 +717,14 @@ mode.stone={
|
|||
return target.isMin();
|
||||
},
|
||||
selectTarget:-1,
|
||||
multitarget:true,
|
||||
multiline:true,
|
||||
content:function(){
|
||||
target.loseHp();
|
||||
targets.sort(lib.sort.seat);
|
||||
for(var i=0;i<targets.length;i++){
|
||||
targets[i].loseHp();
|
||||
}
|
||||
ui.clear();
|
||||
},
|
||||
ai:{
|
||||
order:9,
|
||||
|
@ -763,8 +776,8 @@ mode.stone={
|
|||
stone_banxian:['male','qun',3,['stone_banxian'],['minskin','stone'],[3,0]],
|
||||
|
||||
stone_daogu:['female','qun',1,['stone_daogu'],['minskin','stone'],[1,2]],
|
||||
stone_gongzhu:['female','wu',1,['shushen'],['minskin','stone'],[3,2]],
|
||||
stone_genv:['female','wei',1,['jieyin'],['minskin','stone'],[2,2]],
|
||||
stone_gongzhu:['female','wu',1,['shushen'],['minskin','stone'],[2,2]],
|
||||
stone_genv:['female','wei',1,['jieyin'],['minskin','stone'],[1,2]],
|
||||
stone_wunv:['female','qun',1,['biyue'],['minskin','stone'],[3,2]],
|
||||
stone_huanghou:['female','qun',2,['stone_huanghou'],['minskin','stone'],[3,1]],
|
||||
stone_feipin:['female','qun',1,['guixiu'],['minskin','stone'],[1,2]],
|
||||
|
@ -1356,7 +1369,14 @@ mode.stone={
|
|||
ai:{
|
||||
get:{
|
||||
attitude:function(from,to){
|
||||
return (to.identity=='zhu'?6:5)*(from.side==to.side?1:-1);
|
||||
var num;
|
||||
if(to.isMin()&&!to.skills.contains('chaofeng')){
|
||||
num=5;
|
||||
}
|
||||
else{
|
||||
num=6;
|
||||
}
|
||||
return num*(from.side==to.side?1:-1);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -1370,6 +1390,6 @@ mode.stone={
|
|||
'<li>牌堆中随机加入总量1/6的炉石牌,效果主要与随从有关,炉石牌根据强度不同可能会消耗额外的行动值'+
|
||||
'<li>主将可重铸装备牌和随从牌,但回合内总的重铸次数不能超过3,随从不能重铸任何牌(包括铁索等默认可以重铸的牌)'+
|
||||
'<li>嘲讽:若一方阵营中有嘲讽角色,则同阵营的无嘲讽角色不以能成为杀或决斗的目标'+
|
||||
'<li>主将或随从死亡后立即移出游戏,主将死亡后替补登场,无替补时游戏结束'
|
||||
'<li>行动顺序为先主将后随从。主将或随从死亡后立即移出游戏,主将死亡后替补登场,替补登场时摸2+X张牌,X为对方存活的随从数,无替补时游戏结束'
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,6 +99,7 @@ mode.versus={
|
|||
ui.control.style.top='calc(100% - 30px)';
|
||||
_status.friend=[];
|
||||
_status.enemy=[];
|
||||
game.additionaldead=[];
|
||||
_status.color=Math.random()<0.5;
|
||||
var i,list=[];
|
||||
for(i in lib.character){
|
||||
|
@ -553,7 +554,11 @@ mode.versus={
|
|||
_status.friend.remove(event.character);
|
||||
_status.enemy.remove(event.character);
|
||||
source.revive();
|
||||
source.uninit(false);
|
||||
game.additionaldead.push({
|
||||
name:source.name,
|
||||
stat:source.stat
|
||||
});
|
||||
source.uninit();
|
||||
source.init(event.character);
|
||||
source.node.identity.dataset.color=get.translation(source.side+'Color');
|
||||
source.draw(4);
|
||||
|
|
Loading…
Reference in New Issue