mirror of
https://github.com/smogon/pokemon-showdown-client.git
synced 2026-06-02 22:09:20 -05:00
Use boost value function to simplify boost calculation code
This commit is contained in:
parent
e28316d48d
commit
7048d49db1
|
|
@ -58,35 +58,11 @@ var BattleTooltips = (function () {
|
|||
return 0;
|
||||
};
|
||||
BattleTooltips.prototype.boostBasePower = function (BattleRoom, move, pokemon, basePower, basePowerComment) {
|
||||
var myPokemon = BattleRoom.myPokemon[pokemon.slot];
|
||||
if (myPokemon.item && !BattleRoom.battle.hasPseudoWeather('Magic Room') && (!pokemon.volatiles || !pokemon.volatiles['embargo'])) {
|
||||
var item = Tools.getItem(myPokemon.item);
|
||||
var moveType = BattleRoom.getMoveType(move, pokemon);
|
||||
var splitItemName = item.name.split(' ');
|
||||
var moveName = move.name;
|
||||
|
||||
// Gems
|
||||
if (splitItemName[1] == 'Gem' && moveType == splitItemName[0] && moveName != 'Struggle' && moveName != 'Water Pledge' && moveName != 'Grass Pledge' && moveName != 'Fire Pledge' && moveName != 'Fling') {
|
||||
basePower *= BattleRoom.battle.gen >= 6 ? 1.3 : 1.5;
|
||||
basePowerComment += ' (Boosted by ' + item.name + ')';
|
||||
}
|
||||
// Plates
|
||||
if (splitItemName[1] == 'Plate' && item.onPlate && moveType == item.onPlate) {
|
||||
basePower *= 1.2;
|
||||
basePowerComment += ' (Boosted by ' + item.name + ')';
|
||||
}
|
||||
// Type-enhancing items
|
||||
if (item.name == 'Black Belt' && moveType == 'Fighting' || item.name == 'Black Glasses' && moveType == 'Dark' || item.name == 'Charcoal' && moveType == 'Fire' || item.name == 'Dragon Fang' && moveType == 'Dragon' || item.name == 'Hard Stone' && moveType == 'Rock' || item.name == 'Magnet' && moveType == 'Electric' || item.name == 'Metal Coat' && moveType == 'Steel' || item.name == 'Miracle Seed' && moveType == 'Grass' || item.name == 'Mystic Water' && moveType == 'Water' || item.name == 'Never-Melt Ice' && moveType == 'Ice' || item.name == 'Poison Barb' && moveType == 'Poison' || item.name == 'Sharp Beak' && moveType == 'Flying' || item.name == 'Silk Scarf' && moveType == 'Normal' || item.name == 'SilverPowder' && moveType == 'Bug' || item.name == 'Soft Sand' && moveType == 'Ground' || item.name == 'Spell Tag' && moveType == 'Ghost' || item.name == 'TwistedSpoon' && moveType == 'Psychic') {
|
||||
basePower *= BattleRoom.battle.gen >= 4 ? 1.2 : 1.1;
|
||||
basePowerComment += ' (Boosted by ' + item.name + ')';
|
||||
}
|
||||
// Incenses
|
||||
if ((item.name == 'Wave Incense' || item.name == 'Sea Incense') && moveType == 'Water' || item.name == 'Rose Incense' && moveType == 'Grass' || item.name == 'Rock Incense' && moveType == 'Rock' || item.name == 'Odd Incense' && moveType == 'Psychic') {
|
||||
basePower *= 1.2;
|
||||
basePowerComment += ' (Boosted by ' + item.name + ')';
|
||||
}
|
||||
|
||||
basePower = Math.floor(basePower);
|
||||
var itemBoost = this.getItemBoost(BattleRoom, move, pokemon);
|
||||
if (itemBoost) {
|
||||
basePower = Math.floor(basePower * itemBoost);
|
||||
var myPokemon = BattleRoom.myPokemon[pokemon.slot];
|
||||
basePowerComment += ' (Boosted by ' + Tools.getItem(myPokemon.item).name + ')';
|
||||
}
|
||||
return basePower + basePowerComment;
|
||||
};
|
||||
|
|
@ -97,32 +73,15 @@ var BattleTooltips = (function () {
|
|||
if (min <= 60) min *= 1.5;
|
||||
if (max <= 60) max *= 1.5;
|
||||
}
|
||||
var itemCheck = false;
|
||||
if (myPokemon.item && !BattleRoom.battle.hasPseudoWeather('Magic Room') && (!pokemon.volatiles || !pokemon.volatiles['embargo'])) {
|
||||
var item = Tools.getItem(myPokemon.item);
|
||||
var moveType = BattleRoom.getMoveType(move, pokemon);
|
||||
var splitItemName = item.name.split(' ');
|
||||
var moveName = move.name;
|
||||
if (splitItemName[1] == 'Gem' && moveType == splitItemName[0]) {
|
||||
min *= BattleRoom.battle.gen >= 6 ? 1.3 : 1.5;
|
||||
max *= BattleRoom.battle.gen >= 6 ? 1.3 : 1.5;
|
||||
itemCheck = true;
|
||||
}
|
||||
if (splitItemName[1] == 'Plate' && item.onPlate && moveType == item.onPlate) {
|
||||
min *= 1.2;
|
||||
max *= 1.2;
|
||||
itemCheck = true;
|
||||
}
|
||||
if (item.name == 'Magnet' && moveType == 'Electric' || item.name == 'Metal Coat' && moveType == 'Steel') {
|
||||
min *= BattleRoom.battle.gen >= 4 ? 1.2 : 1.1;
|
||||
max *= BattleRoom.battle.gen >= 4 ? 1.2 : 1.1;
|
||||
itemCheck = true;
|
||||
}
|
||||
var itemBoost = this.getItemBoost(BattleRoom, move, pokemon);
|
||||
if (itemBoost) {
|
||||
min *= itemBoost;
|
||||
max *= itemBoost;
|
||||
}
|
||||
var basePowerComment = min === max ? '' : Math.floor(min) + ' to ';
|
||||
basePowerComment += Math.floor(max);
|
||||
if (technician) basePowerComment += ' (Technician boosted)';
|
||||
if (itemCheck) basePowerComment += ' (Boosted by ' + Tools.getItem(myPokemon.item).name + ')';
|
||||
if (itemBoost) basePowerComment += ' (Boosted by ' + Tools.getItem(myPokemon.item).name + ')';
|
||||
return basePowerComment;
|
||||
};
|
||||
return BattleTooltips;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user