pokemon-showdown/data/mods/doubletrouble/scripts.ts
HematiteH2O 111ab3788f
Add Megas For All and Double Trouble (#7893)
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2021-01-09 00:41:06 -08:00

72 lines
3.9 KiB
TypeScript

export const Scripts: ModdedBattleScriptsData = {
init() {
const newMoves = (mon: string, moves: string[], removedMoves?: string[] | null, events?: EventInfo[]) => {
for (const move of moves) {
this.modData('Learnsets', this.toID(mon)).learnset[this.toID(move)] = ["8M"];
}
if (removedMoves?.length) {
for (const move of removedMoves) {
delete this.modData('Learnsets', this.toID(mon)).learnset[this.toID(move)];
}
}
if (events?.length) {
for (const event of events) {
if (!this.modData('Learnsets', this.toID(mon)).eventData) {
this.modData('Learnsets', this.toID(mon)).eventData = [];
}
this.modData('Learnsets', this.toID(mon)).eventData.push(event);
const index = this.modData('Learnsets', this.toID(mon)).eventData.indexOf(event);
if (event.moves) {
for (const eventMove of event.moves) {
if (!this.modData('Learnsets', this.toID(mon)).learnset[this.toID(eventMove)]) {
this.modData('Learnsets', this.toID(mon)).learnset[this.toID(eventMove)] = [];
}
this.modData('Learnsets', this.toID(mon)).learnset[this.toID(eventMove)].push(`8S${index}`);
}
}
}
}
};
newMoves('arcanine', ['followme', 'recover', 'healbell']);
newMoves('delibird', ['uturn', 'drainpunch']);
newMoves('vanilluxe', ['muddywater']);
newMoves('vileplume', ['calmmind', 'ragepowder', 'spore']);
newMoves('salazzle', ['uturn', 'snarl', 'mysticalfire', 'focusblast', 'grassknot', 'darkpulse', 'solarbeam']);
newMoves('drapion', ['uturn', 'suckerpunch', 'playrough', 'coil', 'gunkshot', 'firstimpression', 'stoneedge']);
newMoves('cramorant', ['bodyslam', 'hypervoice', 'helpinghand', 'followme', 'healpulse', 'tackle'], ['bravebird']);
newMoves('pyukumuku', ['wideguard', 'watergun', 'tackle', 'waterfall', 'brine', 'snatch', 'snore', 'nightshade', 'healingwish']);
newMoves('togedemaru', ['fakeout', 'icepunch', 'firepunch', 'closecombat']);
newMoves('hitmontop', ['knockoff', 'slackoff', 'drainpunch']);
newMoves('stunfisk', ['tailwind', 'helpinghand', 'slackoff', 'icebeam', 'blizzard', 'focusblast']);
newMoves('jolteon', ['icebeam', 'blizzard', 'aurasphere']);
newMoves('primarina', ['slackoff']);
newMoves('golurk', ['trickroom', 'spiritshackle', 'slackoff']);
newMoves('gastrodon', ['powergem', 'flamethrower', 'fireblast']);
newMoves('ninetales', ['voltswitch', 'aurasphere', 'moonblast', 'shockwave', 'dazzlinggleam', 'focusblast', 'healingwish']);
newMoves('meltan', [
'recover', 'refresh', 'calmmind', 'wideguard', 'healpulse', 'rapidspin', 'icebeam', 'triattack', 'lifedew', 'autotomize', 'ironhead', 'rockslide', 'powergem', 'rage', 'dragondance', 'followme',
]);
newMoves('mawile', ['trickroom', 'lifedew'], null, [
{generation: 8, abilities: ["steelworker"], moves: ["followme"], shiny: 1},
{generation: 8, abilities: ["hugepower"], moves: ["tackle"], shiny: 1},
]);
newMoves('toxicroak', ['closecombat', 'thunderpunch']);
newMoves('noivern', ['triattack', 'fireblast', 'mysticalfire', 'icywind']);
newMoves('weezinggalar', ['recover', 'followme']);
newMoves('alcremie', ['reflect', 'moonblast', 'wish', 'willowisp']);
newMoves('ninetalesalola', ['hypervoice', 'energyball', 'earthpower']);
newMoves('gallade', ['partingshot', 'machpunch', 'sacredsword', 'meteormash']);
newMoves('orbeetle', ['thunderbolt', 'icebeam', 'wideguard', 'pollenpuff']);
newMoves('goodra', ['heatwave', 'wish', 'calmmind', 'nastyplot']);
newMoves('keldeo', ['fakeout', 'calmmind']);
newMoves('blastoise', ['thunderwave']);
newMoves('marowakalola', ['bodypress']);
newMoves('araquanid', ['trickroom', 'helpinghand', 'coaching', 'defog', 'flipturn']);
newMoves('dhelmise', ['trickroom']);
newMoves('obstagoon', ['fakeout', 'extremespeed']);
newMoves('vikavolt', ['powergem']);
newMoves('exeggutor', ['focusblast', 'thunder', 'surf']);
newMoves('exeggutoralola', ['closecombat', 'zapcannon', 'earthquake']);
},
};