{
name: "Offensification",
section: "Other Metagames",
ruleset: ['Pokemon', 'Standard', 'Team Preview'],
banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Mawilite', 'Salamencite', 'Flatter', 'Kyurem-Black'],
onModifyMove: function (move, pokemon) {
if (pokemon.stats.atk > pokemon.stats.spa) {
move.category = (move.category === "Status") ? "Status" : "Physical";
} else if (pokemon.stats.spa > pokemon.stats.atk) {
move.category = (move.category === "Status") ? "Status" : "Special";
}
if (move.id === 'bellydrum') {
move.onHit = function (target) {
if (target.hp <= target.maxhp / 2 || target.boosts.atk >= 6 || target.maxhp === 1) { // Shedinja clause
return false;
}
this.directDamage(target.maxhp / 2);
if (target.stats.atk >= target.stats.spa) {
target.setBoost({atk: 6});
this.add('-setboost', target, 'atk', '6', '[from] move: Belly Drum');
} else {
target.setBoost({spa: 6});
this.add('-setboost', target, 'spa', '6', '[from] move: Belly Drum');
}
}
}
},
onBoost: function (boost, target, source, effect) {
var boostee = target;
if (source && target === source) boostee = source;
var phys = false;
if (boostee.stats.atk > boostee.stats.spa) phys = true;
var spec = false;
if (boostee.stats.atk < boostee.stats.spa) spec = true;
if (phys || spec) {
for (var i in boost) {
if (phys && i === 'spa') {
if (boost['atk']) boost['atk'] += boost[i];
else boost['atk'] = boost[i];
boost[i] = 0;
} else if (phys && i === 'spd') {
if (boost['def']) boost['def'] += boost[i];
else boost['def'] = boost[i];
boost[i] = 0;
} else if (spec && i === 'atk') {
if (boost['spa']) boost['spa'] += boost[i];
else boost['spa'] = boost[i];
boost[i] = 0;
} else if (spec && i === 'def') {
if (boost['spd']) boost['spd'] += boost[i];
else boost['spd'] = boost[i];
boost[i] = 0;
}
}
}
}
},