And that misses out on both STAB and puts recoil on Head Smash, but I also could see a fair amount of mega aggron swtsTry to megaevolve it lol
And that misses out on both STAB and puts recoil on Head Smash, but I also could see a fair amount of mega aggron swtsTry to megaevolve it lol
I found this gem:
Tyranitar @ Tyranitarite
Ability: Sand Stream
EVs: 252 Atk / 4 SpD / 252 Spe
Hasty Nature
- Dragon Dance
- Crunch
- Stone Edge
- Ice Punch/Earthquake
Basically, 164 Atk & 150 Spe w/ DDance combined with the 100/71/120 bulk makes for an absolutely amazing sweeper. It also gets sand, hitting through sturdy extremely effectively and cleaning what it doesn't kill entirely.
Not sure if these sets will actually be any good, but I'm posting them anyway
Regice @ Choice Specs / Life Orb
Ability: Clear Body
EVs: 252 SpA / 4 Def / 252 Spe
Naive Nature
- Ice Beam
- Thunderbolt
- Focus Blast
- Sleep Talk / Explosion / Flash Cannon
Regirock @ Choice Band / Life Orb
Ability: Clear Body
EVs: 252 Atk / 4 SpD / 252 Spe
Hasty Nature
- Stone-Edge
- Earthquake
- Ice Punch
- Explosion / Sleep Talk / Superpower
Registeel @ Life Orb
Ability: Clear Body
EVs: 252 Atk / 4 Def / 252 Spe
Naughty Nature
- Rock Polish
- Iron Head
- Earthquake / Superpower
- Ice Punch
The main problem being that Metal Burst has neutral priority, so at max-speed base-180, it will basically only be usable against priority users, i.e. too infrequently to be worth it. Perhaps Head Smash could be used in that slot as a dedicated suicide move to use after you're brought down into its recoil range.
Aggron @ Custap Berry
Ability: Sturdy
EVs: 4 HP / 252 Atk / 252 Spe
Hasty Nature
- Taunt
- Metal Burst
- Stealth Rock
- Iron Head
Say hello to Mr. Dedicated Lead. With base 180 Speed, its Taunt is rivaled only by Prankster users and Hasty Steelix. With the combination of Sturdy and Metal Burst, it can potentially take out whatever attacks it. At low health (ideally 1), Custap Berry will activate, giving it +1 priority on its next move, meaning it's guaranteed to go first (except when Extreme Speed or Feint is involved) with any of its moves besides Metal Burst. This gives it the opportunity to set up Stealth Rock or cause damage (and/or flinches) with Iron Head. (It can also run Stone Edge to 2HKO 248/252 Relaxed Xatu, but I can't think of any other use for that move.)
I was thinking Bastiodon at first, but Aggron outclasses it in every way (aside from unnecessary special bulk). Steelix is faster, but it has a lower Attack stat and lacks Metal Burst.
Shoot, Metal Burst is neutral priority? Scrap that idea, then. It gets Counter from gen 3 tutors, so perhaps that could work instead.The main problem being that Metal Burst has neutral priority, so at max-speed base-180, it will basically only be usable against priority users, i.e. too infrequently to be worth it. Perhaps Head Smash could be used in that slot as a dedicated suicide move to use after you're brought down into its recoil range.
At 180 Speed and a Custap Berry, endeavor definitely sounds like an option.Shoot, Metal Burst is neutral priority? Scrap that idea, then. It gets Counter from gen 3 tutors, so perhaps that could work instead.
Heck, maybe even Endeavor is an option.
Aggron @ Custap Berry
Ability: Sturdy
EVs: 4 HP / 252 Atk / 252 Spe
Hasty Nature
- Taunt
-Metal BurstCounter / Endeavor
- Stealth Rock
- Iron Head
Say hello to Mr. Dedicated Lead. With base 180 Speed, its Taunt is rivaled only by Prankster users and Hasty Steelix. With the combination of Sturdy andMetal BurstCounter, it can potentially take outwhatever attacks ita physical attacker. At low health (ideally 1), Custap Berry will activate, giving it +1 priority on its next move, meaning it's guaranteed to go first (except when Extreme Speed or Feint is involved) with any of its moves besidesMetal BurstCounter. This gives it the opportunity to set up Stealth Rock or cause damage (and/or flinches) with Iron Head. (It can also run Stone Edge to 2HKO 248/252 Relaxed Xatu, but I can't think of any other use for that move.) Endeavor is another option that can be used instead of Counter to utilize its high Speed and Custap priority to guarantee reducing an opponent to 1 HP, which is especially helpful against bulky 'mons that don't mind its STAB.
I was thinking Bastiodon at first, but Aggron outclasses it in every way (aside from unnecessary special bulk). Steelix is faster, but it has a lower Attack stat and lacks Metal Burst.
There are no replacements for a set like this because Steelix does not get Counter or Endeavor and, again, Bastiodon is outclassed.
Shoot, Metal Burst is neutral priority? Scrap that idea, then. It gets Counter from gen 3 tutors, so perhaps that could work instead.
Heck, maybe even Endeavor is an option.
Wailord @ Leftovers
Ability: Oblivious
EVs: 252 HP / 252 Def / 4 Spe
Bold Nature
- Scald
- Roar
- Rest
- Sleep Talk
Bold Wailord is more physically tanky than Suicune and Alomomola, which means it could perform as a bulky water really well. It also gets 3 equally usable abilities depending on what you need- water veil, oblivious, or pressure. With Oblivious + Roar means Wailord isnt taunt or setup bait which is useful, but water veil wailord could switch into scalds repeatedly as well as eat wisps/sacred fire. I think a specially defensive set could also work.
+1 252+ Atk Tough Claws Mega Charizard X Flare Blitz vs. 252 HP / 252+ Def Wailord: 165-195 (30.3 - 35.8%)
You do realize restalkers don't fear status right?Wailord @ Leftovers
Ability: Oblivious
EVs: 252 HP / 252 Def / 4 Spe
Bold Nature
- Scald
- Roar
- Rest
- Sleep Talk
With Oblivious + Roar means Wailord isnt taunt or setup bait which is useful, but water veil wailord could switch into scalds repeatedly as well as eat wisps/sacred fire.
I dunno. With all the offensive powerhouses flying around, I'd much rather run this set on Mew, which has better bulk all around (even if it gains nothing from this meta) and is still plenty fast enough to fuck with stall.I feel like defensive Infernape could really put in work here.
Infernape @ Leftovers
Ability: Blaze/Iron Fist (doesn't really matter lol)
EVs: 252 HP / 252 Def / 4 SpD
Impish Nature
- Taunt/Encore
- Will-o-Wisp
- Slack Off
- U-Turn
The downside is that it can only beef up one of its defensive stats at a time, and it's still left with a pretty bad HP stat, but I think this set makes the most of what it has. It's still pretty fast even without investment, so Taunt/Encore will inevitably come in handy against stall teams.
{
name: "Nature Swap",
desc: ["• <a href=\"https://www.smogon.com/forums/threads/3545530/\">Nature Swap</a>"],
section: "Other Metagames",
ruleset: ['OU'],
banlist: ['Talonflame', 'Hoopa-Unbound'],
onBegin: function () {
var allPokemon = this.p1.pokemon.concat(this.p2.pokemon);
var natureList = {
Lonely: ['atk', 'def'],
Brave: ['atk', 'spe'],
Adamant: ['atk', 'spa'],
Naughty: ['atk', 'spd'],
Bold: ['def', 'atk'],
Relaxed: ['def', 'spe'],
Impish: ['def', 'spa'],
Lax: ['def', 'spd'],
Timid: ['spe', 'atk'],
Hasty: ['spe', 'def'],
Jolly: ['spe', 'spa'],
Naive: ['spe', 'spd'],
Modest: ['spa', 'atk'],
Mild: ['spa', 'def'],
Quiet: ['spa', 'spe'],
Rash: ['spa', 'spd'],
Calm: ['spd', 'atk'],
Gentle: ['spd', 'def'],
Sassy: ['spd', 'spe'],
Careful: ['spd', 'spa']
}
var pokeman, template, baseStats, natureMat, buffer, bufferr;
for (var i = 0, len = allPokemon.length; i < len; i++) {
pokeman = allPokemon[i];
if (natureList[pokeman.set.nature]) {
template = Object.clone(pokeman.template);
baseStats = {atk:template.baseStats.atk, def:template.baseStats.def, spa:template.baseStats.spa, spd:template.baseStats.spd, spe:template.baseStats.spe};
natureMat = natureList[pokeman.set.nature];
buffer = baseStats[natureMat[0]];
bufferr = baseStats[natureMat[1]];
baseStats[natureMat[1]] = buffer;
baseStats[natureMat[0]] = bufferr;
for (var statName in pokeman.baseStats) {
var stat = baseStats[statName];
stat = Math.floor(Math.floor(2 * stat + pokeman.set.ivs[statName] + Math.floor(pokeman.set.evs[statName] / 4)) * pokeman.level / 100 + 5);
var nature = pokeman.battle.getNature(pokeman.set.nature);
if (statName === nature.plus) stat *= 1.1;
if (statName === nature.minus) stat *= 0.9;
pokeman.baseStats[statName] = Math.floor(stat);
}
}
}
},
onModifyPokemon: function (pokemon) {
var allPokemon = this.p1.pokemon.concat(this.p2.pokemon);
var natureList = {
Lonely: ['atk', 'def'],
Brave: ['atk', 'spe'],
Adamant: ['atk', 'spa'],
Naughty: ['atk', 'spd'],
Bold: ['def', 'atk'],
Relaxed: ['def', 'spe'],
Impish: ['def', 'spa'],
Lax: ['def', 'spd'],
Timid: ['spe', 'atk'],
Hasty: ['spe', 'def'],
Jolly: ['spe', 'spa'],
Naive: ['spe', 'spd'],
Modest: ['spa', 'atk'],
Mild: ['spa', 'def'],
Quiet: ['spa', 'spe'],
Rash: ['spa', 'spd'],
Calm: ['spd', 'atk'],
Gentle: ['spd', 'def'],
Sassy: ['spd', 'spe'],
Careful: ['spd', 'spa']
}
var pokeman, template, baseStats, natureMat, buffer, bufferr;
for (var i = 0, len = allPokemon.length; i < len; i++) {
pokeman = allPokemon[i];
if (natureList[pokeman.set.nature]) {
template = Object.clone(pokeman.template);
baseStats = {atk:template.baseStats.atk, def:template.baseStats.def, spa:template.baseStats.spa, spd:template.baseStats.spd, spe:template.baseStats.spe};
natureMat = natureList[pokeman.set.nature];
buffer = baseStats[natureMat[0]];
bufferr = baseStats[natureMat[1]];
baseStats[natureMat[1]] = buffer;
baseStats[natureMat[0]] = bufferr;
for (var statName in pokeman.baseStats) {
var stat = baseStats[statName];
stat = Math.floor(Math.floor(2 * stat + pokeman.set.ivs[statName] + Math.floor(pokeman.set.evs[statName] / 4)) * pokeman.level / 100 + 5);
var nature = pokeman.battle.getNature(pokeman.set.nature);
if (statName === nature.plus) stat *= 1.1;
if (statName === nature.minus) stat *= 0.9;
pokeman.baseStats[statName] = Math.floor(stat);
}
}
}
},
onSwitchInPriority: -6,
onSwitchIn: function (pokemon) {
var nature = (pokemon.set.nature) ? pokemon.set.nature : 'Neutral';
// Place volatiles on the Pokémon to show its nature.
if (pokemon.set.nature) this.add('-start', pokemon, nature + ' Nature', '[silent]');
},
onSwitchOut: function (pokemon) {
var nature = (pokemon.set.nature) ? pokemon.set.nature : 'Neutral';
if (pokemon.set.nature) this.add('-end', pokemon, pokemon.set.nature + ' Nature', '[silent]');
}
},
This was already coded as well, but this code is easier to copypaste! Implemented.config/formats.jsCode:{ name: "Nature Swap", desc: ["• <a href=\"https://www.smogon.com/forums/threads/3545530/\">Nature Swap</a>"], section: "Other Metagames", ruleset: ['OU'], banlist: ['Talonflame', 'Hoopa-Unbound'], onBegin: function () { var allPokemon = this.p1.pokemon.concat(this.p2.pokemon); var natureList = { Lonely: ['atk', 'def'], Brave: ['atk', 'spe'], Adamant: ['atk', 'spa'], Naughty: ['atk', 'spd'], Bold: ['def', 'atk'], Relaxed: ['def', 'spe'], Impish: ['def', 'spa'], Lax: ['def', 'spd'], Timid: ['spe', 'atk'], Hasty: ['spe', 'def'], Jolly: ['spe', 'spa'], Naive: ['spe', 'spd'], Modest: ['spa', 'atk'], Mild: ['spa', 'def'], Quiet: ['spa', 'spe'], Rash: ['spa', 'spd'], Calm: ['spd', 'atk'], Gentle: ['spd', 'def'], Sassy: ['spd', 'spe'], Careful: ['spd', 'spa'] } var pokeman, template, natureMat, buffer, bufferr; for (var i = 0, len = allPokemon.length; i < len; i++) { pokeman = allPokemon[i]; if (!pokeman.template.isSwapped && natureList[pokeman.set.nature]) { template = Object.clone(pokeman.template); natureMat = natureList[pokeman.set.nature]; buffer = template.baseStats[natureMat[0]]; bufferr = template.baseStats[natureMat[1]]; template.baseStats[natureMat[1]] = buffer; template.baseStats[natureMat[0]] = bufferr; template.isSwapped = true; pokeman.template = template; } for (var statName in pokeman.baseStats) { var stat = pokeman.template.baseStats[statName]; stat = Math.floor(Math.floor(2 * stat + pokeman.set.ivs[statName] + Math.floor(pokeman.set.evs[statName] / 4)) * pokeman.level / 100 + 5); var nature = pokeman.battle.getNature(pokeman.set.nature); if (statName === nature.plus) stat *= 1.1; if (statName === nature.minus) stat *= 0.9; pokeman.baseStats[statName] = Math.floor(stat); pokeman.stats[statName] = Math.floor(stat); } } }, onModifyPokemon: function (pokemon) { var allPokemon = this.p1.pokemon.concat(this.p2.pokemon); var natureList = { Lonely: ['atk', 'def'], Brave: ['atk', 'spe'], Adamant: ['atk', 'spa'], Naughty: ['atk', 'spd'], Bold: ['def', 'atk'], Relaxed: ['def', 'spe'], Impish: ['def', 'spa'], Lax: ['def', 'spd'], Timid: ['spe', 'atk'], Hasty: ['spe', 'def'], Jolly: ['spe', 'spa'], Naive: ['spe', 'spd'], Modest: ['spa', 'atk'], Mild: ['spa', 'def'], Quiet: ['spa', 'spe'], Rash: ['spa', 'spd'], Calm: ['spd', 'atk'], Gentle: ['spd', 'def'], Sassy: ['spd', 'spe'], Careful: ['spd', 'spa'] } var pokeman, template, natureMat, buffer, bufferr; for (var i = 0, len = allPokemon.length; i < len; i++) { pokeman = allPokemon[i]; if (!pokeman.template.isSwapped && natureList[pokeman.set.nature]) { template = Object.clone(pokeman.template); natureMat = natureList[pokeman.set.nature]; buffer = template.baseStats[natureMat[0]]; bufferr = template.baseStats[natureMat[1]]; template.baseStats[natureMat[1]] = buffer; template.baseStats[natureMat[0]] = bufferr; template.isSwapped = true; pokeman.template = template; } for (var statName in pokeman.baseStats) { var stat = pokeman.template.baseStats[statName]; stat = Math.floor(Math.floor(2 * stat + pokeman.set.ivs[statName] + Math.floor(pokeman.set.evs[statName] / 4)) * pokeman.level / 100 + 5); var nature = pokeman.battle.getNature(pokeman.set.nature); if (statName === nature.plus) stat *= 1.1; if (statName === nature.minus) stat *= 0.9; pokeman.baseStats[statName] = Math.floor(stat); pokeman.stats[statName] = Math.floor(stat); } } }, onSwitchInPriority: -6, onSwitchIn: function (pokemon) { var nature = (pokemon.set.nature) ? pokemon.set.nature : 'Neutral'; // Place volatiles on the Pokémon to show its nature. if (pokemon.set.nature) this.add('-start', pokemon, nature + ' Nature', '[silent]'); }, onSwitchOut: function (pokemon) { var nature = (pokemon.set.nature) ? pokemon.set.nature : 'Neutral'; if (pokemon.set.nature) this.add('-end', pokemon, nature + ' Nature', '[silent]'); } },
BUG REPORTThis was already coded as well, but this code is easier to copypaste! Implemented.