Add fallback button for moves lacking valid targets

Such as Helping Hand with no partner or, while isolated, moves that can only target adjacent foes.
This commit is contained in:
Slayer95
2014-06-11 22:19:24 -05:00
parent 5316b051d6
commit 0a716ea4be

View File

@@ -304,6 +304,7 @@
var myActive = this.battle.mySide.active;
var yourActive = this.battle.yourSide.active;
var yourSlot = yourActive.length-1-pos;
var anyValidTarget = false;
for (var i = yourActive.length-1; i >= 0; i--) {
var pokemon = yourActive[i];
@@ -319,6 +320,7 @@
} else if (disabled || pokemon.zerohp) {
controls += '<button disabled' + this.tooltipAttrs(pokemon.getIdent(), 'pokemon', true, 'foe') + '><span class="pokemonicon" style="display:inline-block;vertical-align:middle;'+Tools.getIcon(pokemon)+'"></span>' + Tools.escapeHTML(pokemon.name) + (!pokemon.zerohp?'<span class="hpbar' + pokemon.getHPColorClass() + '"><span style="width:'+(Math.round(pokemon.hp*92/pokemon.maxhp)||1)+'px"></span></span>'+(pokemon.status?'<span class="status '+pokemon.status+'"></span>':''):'') +'</button> ';
} else {
anyValidTarget = true;
var posString = '';
controls += '<button name="chooseMoveTarget" value="'+(i+1)+'"' + this.tooltipAttrs(pokemon.getIdent(), 'pokemon', true, 'foe') + '><span class="pokemonicon" style="display:inline-block;vertical-align:middle;'+Tools.getIcon(pokemon)+'"></span>' + Tools.escapeHTML(pokemon.name) + '<span class="hpbar' + pokemon.getHPColorClass() + '"><span style="width:'+(Math.round(pokemon.hp*92/pokemon.maxhp)||1)+'px"></span></span>'+(pokemon.status?'<span class="status '+pokemon.status+'"></span>':'')+'</button> ';
}
@@ -340,9 +342,14 @@
} else if (disabled || pokemon.zerohp) {
controls += '<button disabled="disabled"' + this.tooltipAttrs(i, 'sidepokemon') + '><span class="pokemonicon" style="display:inline-block;vertical-align:middle;'+Tools.getIcon(pokemon)+'"></span>' + Tools.escapeHTML(pokemon.name) + (!pokemon.zerohp?'<span class="hpbar' + pokemon.getHPColorClass() + '"><span style="width:'+(Math.round(pokemon.hp*92/pokemon.maxhp)||1)+'px"></span></span>'+(pokemon.status?'<span class="status '+pokemon.status+'"></span>':''):'') +'</button> ';
} else {
anyValidTarget = true;
controls += '<button name="chooseMoveTarget" value="' + (-(i+1)) + '"' + this.tooltipAttrs(i, 'sidepokemon') + '><span class="pokemonicon" style="display:inline-block;vertical-align:middle;'+Tools.getIcon(pokemon)+'"></span>' + Tools.escapeHTML(pokemon.name) + '<span class="hpbar' + pokemon.getHPColorClass() + '"><span style="width:'+(Math.round(pokemon.hp*92/pokemon.maxhp)||1)+'px"></span></span>'+(pokemon.status?'<span class="status '+pokemon.status+'"></span>':'')+'</button> ';
}
}
if (!anyValidTarget) {
controls += '<div style="clear:both"></div> </div><div class="switchmenu" style="display:block">';
controls += '<button name="chooseMoveTarget" value="1">No valid target</button>';
}
controls += '</div>';
controls += '</div>';
this.$controls.html(controls);