mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-07-24 20:01:52 -05:00
138 lines
6.5 KiB
TypeScript
138 lines
6.5 KiB
TypeScript
export const Scripts: ModdedBattleScriptsData = {
|
|
init() {
|
|
const newMoves = (mon: string, moves: string[]) => {
|
|
for (const move of moves) {
|
|
this.modData('Learnsets', this.toID(mon)).learnset[this.toID(move)] = ["8M"];
|
|
}
|
|
};
|
|
newMoves("dragonite", ["playrough"]);
|
|
newMoves("goodra", ["gigadrain", "drainpunch"]);
|
|
newMoves("dragapult", ["icebeam"]);
|
|
newMoves("orbeetle", ["focusblast", "teleport"]);
|
|
newMoves("thievul", ["focusblast", "aurasphere", "hiddenpower"]);
|
|
newMoves("gumshoos", ["coil", "bodyslam"]);
|
|
newMoves("vikavolt", ["leafblade", "darkpulse", "uturn", "thundercage"]);
|
|
newMoves("lycanrocmidnight", ["headsmash"]);
|
|
newMoves("lycanroc", ["extremespeed", "spikes"]);
|
|
newMoves("raichu", ["highjumpkick"]);
|
|
newMoves("clefable", ["hex", "nastyplot", "shadowsneak", "willowisp"]);
|
|
newMoves("rillaboom", ["junglehealing", "toxic"]);
|
|
newMoves("cinderace", ["energyball"]);
|
|
newMoves("inteleon", ["taunt", "firstimpression", "encore", "pursuit"]);
|
|
newMoves("klinklang", ["rapidspin"]);
|
|
newMoves("garbodor", ["stealthrock", "knockoff"]);
|
|
newMoves("jolteon", ["calmmind"]);
|
|
newMoves("flareon", ["burnup", "morningsun"]);
|
|
newMoves("butterfree", ["taunt", "earthpower"]);
|
|
newMoves("chandelure", ["mindblown"]);
|
|
newMoves("gothitelle", ["wish", "teleport", "doomdesire", "flashcannon"]);
|
|
newMoves("conkeldurr", ["shoreup"]);
|
|
newMoves("gigalith", ["skullbash", "sunnyday", "synthesis"]);
|
|
newMoves("reuniclus", ["photongeyser", "psychoboost"]);
|
|
newMoves("boltund", ["pursuit"]);
|
|
newMoves("archeops", ["fireblast", "dualwingbeat", "bravebird"]);
|
|
newMoves("talonflame", ["scorchingsands"]);
|
|
newMoves("staraptor", ["roleplay", "superfang"]);
|
|
newMoves("bibarel", ["fly"]);
|
|
newMoves("kricketune", ["drainpunch", "dualwingbeat", "firstimpression", "powertrip", "tripleaxel", "uturn"]);
|
|
newMoves("mismagius", ["sludgebomb", "sludgewave", "toxicspikes", "poisonfang", "partingshot", "fling"]);
|
|
newMoves("murkrow", ["partingshot"]);
|
|
newMoves("honchkrow", ["partingshot", "dualwingbeat"]);
|
|
newMoves("spiritomb", ["partingshot"]);
|
|
newMoves("ariados", ["spikes"]);
|
|
newMoves("gourgeist", ["bodypress", "encore", "flareblitz", "partingshot", "strengthsap"]);
|
|
newMoves("mimikyu", ["firstimpression", "strengthsap", "uturn"]);
|
|
newMoves("nidoqueen", ["milkdrink"]);
|
|
newMoves("walrein", ["darkpulse", "flipturn", "focusblast", "freezedry", "slackoff"]);
|
|
newMoves("aurorus", ["rapidspin", "voltswitch"]);
|
|
newMoves("trevenant", ["floralhealing", "synthesis", "floralhealing", "synthesis"]);
|
|
newMoves("eelektross", ["recover", "scald"]);
|
|
newMoves("dragalge", ["acidspray", "gastroacid", "roost", "terrainpulse"]);
|
|
newMoves("dhelmise", ["flipturn", "superpower"]);
|
|
newMoves("meganium", ["calmmind", "dragondance", "solarblade", "weatherball"]);
|
|
newMoves("typhlosion", ["explosion", "headcharge", "honeclaws", "morningsun", "rapidspin"]);
|
|
newMoves("feraligatr", ["darkpulse", "firefang", "suckerpunch", "thunderfang"]);
|
|
newMoves("regice", ["teleport", "freezedry"]);
|
|
newMoves("magcargo", ["firelash", "energyball"]);
|
|
newMoves("bastiodon", ["earthpower"]);
|
|
newMoves("leavanny", ["appleacid", "lunge", "quiverdance"]);
|
|
newMoves("parasect", ["junglehealing", "taunt"]);
|
|
newMoves("samurott", ["flipturn", "psychocut", "slackoff"]);
|
|
newMoves("meowstic", ["brickbreak", "foulplay", "knockoff", "partingshot", "pursuit"]);
|
|
newMoves("meowsticf", ["dazzlinggleam", "drainingkiss", "moonblast", "mysticalfire"]);
|
|
newMoves("starmie", [
|
|
"calmmind", "doomdesire", "futuresight", "followme", "lusterpurge", "moonblast", "moonlight", "photongeyser", "prismaticlaser", "storedpower",
|
|
]);
|
|
newMoves("delibird", ["celebrate", "healingwish", "roost", "swordsdance", "uturn", "wish"]);
|
|
newMoves("sawsbuck", ["moonblast", "petalblizzard", "playrough"]);
|
|
newMoves("sawsbucksummer", ["flameburst", "flamethrower", "growth", "leafstorm", "overheat"]);
|
|
newMoves("sawsbuckautumn", ["petalblizzard", "poltergeist", "shadowsneak", "strengthsap", "trickortreat"]);
|
|
newMoves("sawsbuckwinter", ["blizzard", "freezedry", "icebeam", "iceshard", "iciclecrash"]);
|
|
newMoves("flygon", ["extremespeed", "flashcannon", "ironhead"]);
|
|
newMoves("drapion", ["shoreup"]);
|
|
newMoves("lurantis", ["moonblast", "moonlight", "playrough", "silverwind"]);
|
|
},
|
|
canMegaEvo(pokemon) {
|
|
const altForme = pokemon.baseSpecies.otherFormes && this.dex.getSpecies(pokemon.baseSpecies.otherFormes[0]);
|
|
const item = pokemon.getItem();
|
|
if (
|
|
altForme?.isMega && altForme?.requiredMove &&
|
|
pokemon.baseMoves.includes(this.toID(altForme.requiredMove)) && !item.zMove
|
|
) {
|
|
return altForme.name;
|
|
}
|
|
if (item.name === "Lycanite" && pokemon.baseSpecies.name === "Lycanroc-Midnight") {
|
|
return "Lycanroc-Midnight-Mega";
|
|
}
|
|
if (item.name === "Lycanite" && pokemon.baseSpecies.name === "Lycanroc-Dusk") {
|
|
return "Lycanroc-Dusk-Mega";
|
|
}
|
|
if (item.name === "Raichunite" && pokemon.baseSpecies.name === "Raichu-Alola") {
|
|
return null;
|
|
}
|
|
if (item.name === "Slowbronite" && pokemon.baseSpecies.name === "Slowbro-Galar") {
|
|
return null;
|
|
}
|
|
if (item.name === "Slowkinite" && pokemon.baseSpecies.name === "Slowking-Galar") {
|
|
return null;
|
|
}
|
|
if (item.name === "Gourgeite" && pokemon.baseSpecies.name === "Gourgeist-Small") {
|
|
return "Gourgeist-Small-Mega";
|
|
}
|
|
if (item.name === "Gourgeite" && pokemon.baseSpecies.name === "Gourgeist-Large") {
|
|
return "Gourgeist-Large-Mega";
|
|
}
|
|
if (item.name === "Gourgeite" && pokemon.baseSpecies.name === "Gourgeist-Super") {
|
|
return "Gourgeist-Super-Mega";
|
|
}
|
|
if (item.name === "Reginite" && pokemon.baseSpecies.name === "Regice") {
|
|
return "Regice-Mega";
|
|
}
|
|
if (item.name === "Reginite" && pokemon.baseSpecies.name === "Registeel") {
|
|
return "Registeel-Mega";
|
|
}
|
|
if (item.name === "Meowsticite" && pokemon.baseSpecies.name === "Meowstic-F") {
|
|
return "Meowstic-F-Mega";
|
|
}
|
|
if (item.name === "Sawsbuckite" && pokemon.baseSpecies.name === "Delibird") {
|
|
return "Delibird-Mega-Festive-Rider";
|
|
}
|
|
if (item.name === "Sawsbuckite" && pokemon.baseSpecies.name === "Sawsbuck-Summer") {
|
|
return "Sawsbuck-Summer-Mega";
|
|
}
|
|
if (item.name === "Sawsbuckite" && pokemon.baseSpecies.name === "Sawsbuck-Autumn") {
|
|
return "Sawsbuck-Autumn-Mega";
|
|
}
|
|
if (item.name === "Sawsbuckite" && pokemon.baseSpecies.name === "Sawsbuck-Winter") {
|
|
return "Sawsbuck-Winter-Mega";
|
|
}
|
|
if (item.megaEvolves !== pokemon.baseSpecies.name || item.megaStone === pokemon.species.name) {
|
|
return null;
|
|
}
|
|
return item.megaStone;
|
|
},
|
|
pokemon: {
|
|
lostItemForDelibird: null,
|
|
},
|
|
};
|