diff --git a/data/formats-data.js b/data/formats-data.js index 21d9b6946d..f94355fdd4 100644 --- a/data/formats-data.js +++ b/data/formats-data.js @@ -64,7 +64,7 @@ let BattleFormatsData = { tier: "NFE", }, charizard: { - randomBattleMoves: ["fireblast", "airslash", "focusblast", "roost", "swordsdance", "flamecharge", "acrobatics", "earthquake", "willowisp"], + randomBattleMoves: ["holdhands", "fireblast", "airslash", "earthquake", "roost"], randomDoubleBattleMoves: ["heatwave", "fireblast", "airslash", "overheat", "dragonpulse", "roost", "tailwind", "protect"], eventPokemon: [ {"generation": 3, "level": 70, "moves": ["wingattack", "slash", "dragonrage", "firespin"], "pokeball": "pokeball"}, @@ -5333,8 +5333,8 @@ let BattleFormatsData = { doublesTier: "(DUU)", }, azelf: { - randomBattleMoves: ["nastyplot", "psyshock", "fireblast", "dazzlinggleam", "stealthrock", "knockoff", "taunt", "explosion", "uturn"], - randomDoubleBattleMoves: ["nastyplot", "psychic", "fireblast", "thunderbolt", "icepunch", "knockoff", "zenheadbutt", "uturn", "trick", "taunt", "protect", "dazzlinggleam"], + randomBattleMoves: ["nastyplot", "psyshock", "fireblast", "dazzlinggleam", "stealthrock", "knockoff", "taunt", "explosion"], + randomDoubleBattleMoves: ["nastyplot", "psychic", "fireblast", "thunderbolt", "icepunch", "knockoff", "zenheadbutt", "uturn", "taunt", "protect", "dazzlinggleam"], eventPokemon: [ {"generation": 4, "level": 50, "shiny": 1, "moves": ["confusion", "uproar", "futuresight", "nastyplot"]}, {"generation": 4, "level": 50, "shiny": 1, "moves": ["swift", "uproar", "futuresight", "nastyplot"]}, @@ -7175,7 +7175,7 @@ let BattleFormatsData = { }, heliolisk: { randomBattleMoves: ["raindance", "thunder", "hypervoice", "surf", "darkpulse", "hiddenpowerice", "voltswitch", "thunderbolt"], - randomDoubleBattleMoves: ["surf", "voltswitch", "hiddenpowerice", "raindance", "thunder", "darkpulse", "thunderbolt", "electricterrain", "protect"], + randomDoubleBattleMoves: ["surf", "voltswitch", "hiddenpowerice", "raindance", "thunder", "darkpulse", "thunderbolt", "protect"], tier: "NU", doublesTier: "(DUU)", }, @@ -7193,7 +7193,7 @@ let BattleFormatsData = { doublesTier: "(DUU)", }, amaura: { - randomBattleMoves: ["naturepower", "hypervoice", "ancientpower", "thunderbolt", "darkpulse", "thunderwave", "dragontail", "flashcannon"], + randomBattleMoves: ["hypervoice", "ancientpower", "thunderbolt", "darkpulse", "thunderwave", "dragontail", "flashcannon"], eventPokemon: [ {"generation": 6, "level": 10, "isHidden": true, "moves": ["growl", "powdersnow", "thunderwave", "rockthrow"], "pokeball": "cherishball"}, ], diff --git a/data/mods/gen5/random-teams.js b/data/mods/gen5/random-teams.js index 9cd2e3dce4..8beb7773b4 100644 --- a/data/mods/gen5/random-teams.js +++ b/data/mods/gen5/random-teams.js @@ -263,6 +263,9 @@ class RandomGen5Teams extends RandomGen6Teams { case 'endeavor': if (slot > 0) rejected = true; break; + case 'judgment': + if (counter.setupType !== 'Special' && counter.stab > 1) rejected = true; + break; case 'return': if (hasMove['bodyslam'] || hasMove['facade'] || hasMove['doubleedge'] || hasMove['tailslap']) rejected = true; break; diff --git a/data/mods/gen6/formats-data.js b/data/mods/gen6/formats-data.js index 3c38bdb2f9..699c7d3026 100644 --- a/data/mods/gen6/formats-data.js +++ b/data/mods/gen6/formats-data.js @@ -40,7 +40,7 @@ let BattleFormatsData = { }, charizard: { inherit: true, - randomBattleMoves: ["fireblast", "airslash", "focusblast", "roost", "swordsdance", "flareblitz", "acrobatics", "earthquake", "willowisp"], + randomBattleMoves: ["fireblast", "airslash", "roost", "swordsdance", "flareblitz", "acrobatics", "earthquake", "willowisp"], randomDoubleBattleMoves: ["heatwave", "fireblast", "airslash", "overheat", "dragonpulse", "roost", "tailwind", "protect"], tier: "NU", doublesTier: "(DUU)", @@ -3223,8 +3223,8 @@ let BattleFormatsData = { }, azelf: { inherit: true, - randomBattleMoves: ["nastyplot", "psyshock", "fireblast", "dazzlinggleam", "stealthrock", "knockoff", "taunt", "explosion", "uturn"], - randomDoubleBattleMoves: ["nastyplot", "psychic", "fireblast", "thunderbolt", "icepunch", "knockoff", "zenheadbutt", "uturn", "trick", "taunt", "protect", "dazzlinggleam"], + randomBattleMoves: ["nastyplot", "psyshock", "fireblast", "dazzlinggleam", "stealthrock", "knockoff", "taunt", "explosion"], + randomDoubleBattleMoves: ["nastyplot", "psychic", "fireblast", "thunderbolt", "icepunch", "knockoff", "zenheadbutt", "uturn", "taunt", "protect", "dazzlinggleam"], tier: "OU", doublesTier: "(DUU)", }, @@ -4578,7 +4578,7 @@ let BattleFormatsData = { }, heliolisk: { randomBattleMoves: ["raindance", "thunder", "hypervoice", "surf", "darkpulse", "hiddenpowerice", "voltswitch", "thunderbolt"], - randomDoubleBattleMoves: ["surf", "voltswitch", "hiddenpowerice", "raindance", "thunder", "darkpulse", "thunderbolt", "electricterrain", "protect"], + randomDoubleBattleMoves: ["surf", "voltswitch", "hiddenpowerice", "raindance", "thunder", "darkpulse", "thunderbolt", "protect"], tier: "UU", doublesTier: "(DUU)", }, @@ -4595,7 +4595,7 @@ let BattleFormatsData = { }, amaura: { inherit: true, - randomBattleMoves: ["naturepower", "hypervoice", "ancientpower", "thunderbolt", "darkpulse", "thunderwave", "dragontail", "flashcannon"], + randomBattleMoves: ["hypervoice", "ancientpower", "thunderbolt", "darkpulse", "thunderwave", "dragontail", "flashcannon"], tier: "LC", }, aurorus: { diff --git a/data/mods/gen6/random-teams.js b/data/mods/gen6/random-teams.js index 6102c5c56a..189a227073 100644 --- a/data/mods/gen6/random-teams.js +++ b/data/mods/gen6/random-teams.js @@ -287,10 +287,7 @@ class RandomGen6Teams extends RandomTeams { if (hasMove['discharge'] || (hasMove['raindance'] && hasMove['thunder']) || (hasMove['voltswitch'] && hasMove['wildcharge'])) rejected = true; break; case 'dazzlinggleam': - if (hasMove['playrough'] && counter.setupType !== 'Special') rejected = true; - break; - case 'drainingkiss': - if (hasMove['dazzlinggleam'] || counter.setupType !== 'Special') rejected = true; + if (hasMove['drainingkiss'] || hasMove['playrough'] && counter.setupType !== 'Special') rejected = true; break; case 'aurasphere': case 'focusblast': if ((hasMove['closecombat'] || hasMove['superpower']) && counter.setupType !== 'Special') rejected = true; @@ -388,7 +385,7 @@ class RandomGen6Teams extends RandomTeams { if (hasMove['rest'] || !counter.stab && counter.damagingMoves.length < 2) rejected = true; break; case 'hypervoice': - if (hasMove['blizzard'] || hasMove['naturepower'] || hasMove['return']) rejected = true; + if (hasMove['blizzard'] || hasMove['return']) rejected = true; break; case 'judgment': if (counter.setupType !== 'Special' && counter.stab > 1) rejected = true; @@ -623,6 +620,8 @@ class RandomGen6Teams extends RandomTeams { rejectAbility = !hasMove['raindance'] && !teamDetails['rain']; } else if (ability === 'Ice Body' || ability === 'Snow Cloak') { rejectAbility = !teamDetails['hail']; + } else if (ability === 'Intimidate') { + rejectAbility = hasMove['bodyslam'] || abilities.includes('Reckless') && counter['recoil'] > 1; } else if (ability === 'Lightning Rod') { rejectAbility = template.types.includes('Ground'); } else if (ability === 'Limber') { @@ -648,9 +647,9 @@ class RandomGen6Teams extends RandomTeams { } else if (ability === 'Scrappy') { rejectAbility = !template.types.includes('Normal'); } else if (ability === 'Serene Grace') { - rejectAbility = !counter['serenegrace'] || template.species === 'Blissey' || template.species === 'Togetic'; + rejectAbility = !counter['serenegrace'] || template.species === 'Blissey'; } else if (ability === 'Sheer Force') { - rejectAbility = !counter['sheerforce'] || template.isMega || (abilities.includes('Iron Fist') && counter['ironfist'] > counter['sheerforce']); + rejectAbility = !counter['sheerforce'] || hasMove['doubleedge'] || template.isMega || (abilities.includes('Iron Fist') && counter['ironfist'] > counter['sheerforce']); } else if (ability === 'Simple') { rejectAbility = !counter.setupType && !hasMove['cosmicpower'] && !hasMove['flamecharge']; } else if (ability === 'Snow Warning') { @@ -767,7 +766,7 @@ class RandomGen6Teams extends RandomTeams { item = 'Power Herb'; } else if (hasMove['shellsmash']) { item = (ability === 'Solid Rock' && counter['priority']) ? 'Weakness Policy' : 'White Herb'; - } else if ((ability === 'Magic Guard' || ability === 'Sheer Force') && counter.damagingMoves.length > 1) { + } else if ((ability === 'Magic Guard' && counter.damagingMoves.length > 1) || (ability === 'Sheer Force' && !!counter['sheerforce'])) { item = 'Life Orb'; } else if (ability === 'Poison Heal' || ability === 'Toxic Boost') { item = 'Toxic Orb'; diff --git a/data/random-teams.js b/data/random-teams.js index d718b3479e..39c32435a4 100644 --- a/data/random-teams.js +++ b/data/random-teams.js @@ -483,7 +483,7 @@ class RandomTeams extends Dex.ModdedDex { ]; // Moves which boost Attack AND Special Attack: let MixedSetup = [ - 'growth', 'happyhour', 'shellsmash', 'workup', + 'growth', 'happyhour', 'holdhands', 'shellsmash', 'workup', ]; // Moves which boost Speed: let SpeedSetup = [ @@ -718,7 +718,7 @@ class RandomTeams extends Dex.ModdedDex { switch (moveid) { // Not very useful without their supporting moves - case 'clangingscales': case 'electricterrain': case 'happyhour': + case 'clangingscales': case 'electricterrain': case 'happyhour': case 'holdhands': if (teamDetails.zMove || hasMove['rest'] && hasMove['sleeptalk']) rejected = true; break; case 'cottonguard': case 'defendorder': @@ -893,10 +893,7 @@ class RandomTeams extends Dex.ModdedDex { if (hasAbility['Galvanize'] && !!counter['Normal']) rejected = true; break; case 'dazzlinggleam': - if (hasMove['playrough'] && counter.setupType !== 'Special') rejected = true; - break; - case 'drainingkiss': - if (hasMove['dazzlinggleam'] || counter.setupType !== 'Special' && !hasAbility['Triage']) rejected = true; + if (hasMove['drainingkiss'] || hasMove['playrough'] && counter.setupType !== 'Special') rejected = true; break; case 'moonblast': if (isDoubles && hasMove['dazzlinggleam']) rejected = true; @@ -1010,7 +1007,7 @@ class RandomTeams extends Dex.ModdedDex { if (hasMove['rest'] || !counter.stab && counter.damagingMoves.length < 2) rejected = true; break; case 'hypervoice': - if (hasMove['blizzard'] || hasMove['naturepower'] || hasMove['return']) rejected = true; + if (hasMove['blizzard'] || hasMove['return']) rejected = true; break; case 'judgment': if (counter.setupType !== 'Special' && counter.stab > 1) rejected = true; @@ -1250,6 +1247,8 @@ class RandomTeams extends Dex.ModdedDex { rejectAbility = !hasMove['raindance'] && !teamDetails['rain']; } else if (ability === 'Ice Body' || ability === 'Slush Rush' || ability === 'Snow Cloak') { rejectAbility = !teamDetails['hail']; + } else if (ability === 'Intimidate') { + rejectAbility = hasMove['bodyslam'] || abilities.includes('Reckless') && counter['recoil'] > 1; } else if (ability === 'Lightning Rod') { rejectAbility = template.types.includes('Ground'); } else if (ability === 'Limber') { @@ -1281,9 +1280,9 @@ class RandomTeams extends Dex.ModdedDex { } else if (ability === 'Scrappy') { rejectAbility = !template.types.includes('Normal'); } else if (ability === 'Serene Grace') { - rejectAbility = !counter['serenegrace'] || template.species === 'Blissey' || template.species === 'Togetic'; + rejectAbility = !counter['serenegrace'] || template.species === 'Blissey'; } else if (ability === 'Sheer Force') { - rejectAbility = !counter['sheerforce'] || template.isMega || (abilities.includes('Iron Fist') && counter['ironfist'] > counter['sheerforce']); + rejectAbility = !counter['sheerforce'] || hasMove['doubleedge'] || template.isMega || (abilities.includes('Iron Fist') && counter['ironfist'] > counter['sheerforce']); } else if (ability === 'Simple') { rejectAbility = !counter.setupType && !hasMove['cosmicpower'] && !hasMove['flamecharge']; } else if (ability === 'Snow Warning') { @@ -1470,7 +1469,7 @@ class RandomTeams extends Dex.ModdedDex { item = 'Groundium Z'; } else if (hasMove['electricterrain']) { item = 'Electrium Z'; - } else if (hasMove['happyhour']) { + } else if (hasMove['happyhour'] || hasMove['holdhands']) { item = 'Normalium Z'; } else if (hasMove['hydropump'] && ability === 'Battle Bond' && hasMove['uturn'] && !teamDetails.zMove) { item = 'Waterium Z'; @@ -1484,7 +1483,7 @@ class RandomTeams extends Dex.ModdedDex { item = 'Flyinium Z'; } else if (hasMove['solarbeam'] && ability !== 'Drought' && !hasMove['sunnyday'] && !teamDetails['sun']) { item = !teamDetails.zMove ? 'Grassium Z' : 'Power Herb'; - } else if ((ability === 'Magic Guard' || ability === 'Sheer Force') && counter.damagingMoves.length > 1) { + } else if ((ability === 'Magic Guard' && counter.damagingMoves.length > 1) || (ability === 'Sheer Force' && !!counter['sheerforce'])) { item = 'Life Orb'; } else if (hasMove['rest'] && !hasMove['sleeptalk'] && ability !== 'Hydration' && ability !== 'Natural Cure' && ability !== 'Shed Skin') { item = 'Chesto Berry';