{ "version": 3, "sources": ["../../../../../data/mods/ssb/conditions.ts"], "sourcesContent": ["import {FS} from '../../../lib';\nimport {toID} from '../../../sim/dex-data';\n\n// Similar to User.usergroups. Cannot import here due to users.ts requiring Chat\n// This also acts as a cache, meaning ranks will only update when a hotpatch/restart occurs\nconst usergroups: {[userid: string]: string} = {};\nconst usergroupData = FS('config/usergroups.csv').readIfExistsSync().split('\\n');\nfor (const row of usergroupData) {\n\tif (!toID(row)) continue;\n\n\tconst cells = row.split(',');\n\tif (cells.length > 3) throw new Error(`Invalid entry when parsing usergroups.csv`);\n\tusergroups[toID(cells[0])] = cells[1].trim() || ' ';\n}\n\nexport function getName(name: string): string {\n\tconst userid = toID(name);\n\tif (!userid) throw new Error('No/Invalid name passed to getSymbol');\n\n\tconst group = usergroups[userid] || ' ';\n\treturn group + name;\n}\n\nexport const Conditions: {[k: string]: ModdedConditionData & {innateName?: string}} = {\n\t/*\n\t// Example:\n\tuserid: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Username')}|Switch In Message`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Username')}|Switch Out Message`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Username')}|Faint Message`);\n\t\t},\n\t\t// Innate effects go here\n\t},\n\tIMPORTANT: Obtain the username from getName\n\t*/\n\t// Please keep statuses organized alphabetically based on staff member name!\n\tabdelrahman: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Abdelrahman')}|good morning, i'm town`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Abdelrahman')}|brb gonna go lynch scum`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Abdelrahman')}|I CC COP TOWN FAILED`);\n\t\t},\n\t},\n\tadri: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Adri')}|This time will definitely be the one !`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Adri')}|//afk`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Adri')}|Until next time...`);\n\t\t},\n\t},\n\taelita: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aelita')}|The Scyphozoa's absorbing Aelita's memories!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aelita')}|We scared it away but it will be back. We can't let it get ahold of Aelita's memories.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aelita')}|X.A.N.A. is finally finished for good.`);\n\t\t},\n\t},\n\taegii: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('aegii')}|shoot! take a pano~rama~ https://youtu.be/G8GaQdW2wHc`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('aegii')}|${this.sample([`brb, buying albums`, `brb, downloading fancams`, `brb, streaming mvs`, `brb, learning choreos`])}`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('aegii')}|i forgot to stan loona...`);\n\t\t},\n\t},\n\taeonic: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aeonic')}|What's bonkin?`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aeonic')}|I am thou, thou art I`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aeonic')}|Guys the emoji movie wasn't __that bad__`);\n\t\t},\n\t},\n\taethernum: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aethernum')}|Hlelo ^_^ Lotad is so cute, don't you think? But don't underestimate him!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aethernum')}|Sinking in this sea of possibilities for now...but i'll float back once again!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aethernum')}|Ok, ok, i have procrastinated enough here, time to go ^_^' See ya around!`);\n\t\t},\n\t},\n\takir: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Akir')}|hey whats up`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Akir')}|let me get back to you`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Akir')}|ah well maybe next time`);\n\t\t},\n\t},\n\talpha: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Alpha')}|eccomi dimmi`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Alpha')}|FRATM FACI FRIDDU`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Alpha')}|caio`);\n\t\t},\n\t},\n\tannika: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Annika')}|The circumstances of one's birth are irrelevant; it is what you do with the gift of life that determines who you are.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Annika')}|I'll be stronger when I'm back ^_^`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Annika')}|oh, I crashed the server again...`);\n\t\t},\n\t},\n\taquagtothepast: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('A Quag To The Past')}|Whatever happens, happens.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('A Quag To The Past')}|See you space cowboy...`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('A Quag To The Past')}|You're gonna carry that weight.`);\n\t\t},\n\t},\n\tarby: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arby')}|Time to win this :)`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arby')}|MSU need a sub`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arby')}|Authhate is real.`);\n\t\t},\n\t},\n\tarchas: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Archas')}|Ready the main batteries, gentlemen! Hit \u2018em hard and fast!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Archas')}|Helmsman, full reverse at speed!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Archas')}|They say the captain always goes down with the ship...`);\n\t\t},\n\t},\n\tarcticblast: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arcticblast')}|words are difficult`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arcticblast')}|oh no`);\n\t\t},\n\t\tonFaint() {\n\t\t\tif (this.randomChance(1, 100)) {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arcticblast')}|get **mished** kid`);\n\t\t\t} else {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Arcticblast')}|single battles are bad anyway, why am I here?`);\n\t\t\t}\n\t\t},\n\t},\n\tawauser: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('awa!')}|awa!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('awa!')}|well, at least i didn't lose the game`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('awa!')}|or did i?`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('awa!')}|awawa?! awa awawawa awawa >:(`);\n\t\t},\n\t},\n\tbeowulf: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Beowulf')}|:^)`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Beowulf')}|/me buzzes`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Beowulf')}|time for my own isekai`);\n\t\t},\n\t\tonSourceFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Beowulf')}|another one reincarnating into an isekai`);\n\t\t},\n\t},\n\tbiggie: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('biggie')}|gonna take you for a ride`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('biggie')}|mahvel baybee!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('biggie')}|it was all a dream`);\n\t\t},\n\t},\n\tbillo: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tlet activeMon = source.side.foe.active[0].species.name;\n\t\t\tif (!activeMon) activeMon = \"Pokemon\";\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Billo')}|Your ${activeMon} looks hacked.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Billo')}|Let me inspect your Pokemon, brb`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Billo')}|Yep, definitely hacked.`);\n\t\t},\n\t\tinnateName: \"Unaware\",\n\t\tshortDesc: \"This Pokemon ignores other Pokemon's stat stages when taking or doing damage.\",\n\t\t// Unaware innate\n\t\tonAnyModifyBoost(boosts, pokemon) {\n\t\t\tconst unawareUser = this.effectState.target;\n\t\t\tif (unawareUser.illusion) return;\n\t\t\tif (unawareUser === pokemon) return;\n\t\t\tif (unawareUser === this.activePokemon && pokemon === this.activeTarget) {\n\t\t\t\tboosts['def'] = 0;\n\t\t\t\tboosts['spd'] = 0;\n\t\t\t\tboosts['evasion'] = 0;\n\t\t\t}\n\t\t\tif (pokemon === this.activePokemon && unawareUser === this.activeTarget) {\n\t\t\t\tboosts['atk'] = 0;\n\t\t\t\tboosts['def'] = 0;\n\t\t\t\tboosts['spa'] = 0;\n\t\t\t\tboosts['accuracy'] = 0;\n\t\t\t}\n\t\t},\n\t},\n\tblaz: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Blaz')}|Give me, give me, give me the truth now oh oh oh oh`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Blaz')}|Tell me... why? Please tell me why do we worry? Why? Why do we worry at all?`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Blaz')}|the game (lol u lost)`);\n\t\t},\n\t},\n\tbrandon: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Brandon')}|I didn't come here to play. I came here to slay!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Brandon')}|${this.sample([`I need to catch my breath`, `brb getting a snack`])}`);\n\t\t},\n\t\tonFaint(pokemon) {\n\t\t\tconst foeName = pokemon.side.foe.active[0].illusion ?\n\t\t\t\tpokemon.side.foe.active[0].illusion.name : pokemon.side.foe.active[0].name;\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Brandon')}|${this.sample([`This battle was rigga morris!`, `At least I'll snag Miss Congeniality...`, `This battle was rigged for ${foeName} anyway >:(`])}`);\n\t\t},\n\t},\n\tbrouha: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('brouha')}|lmf`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('brouha')}|....`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('brouha')}|sobL`);\n\t\t},\n\t},\n\tbuffy: {\n\t\tnoCopy: true,\n\t\t// No quotes requested\n\t},\n\tcake: {\n\t\tnoCopy: true,\n\t\tinnateName: \"h\",\n\t\tshortDesc: \"On switch-in and at the end of every turn, this Pokemon changes type randomly.\",\n\t\tonStart(target, pokemon) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Cake')}|AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`);\n\t\t\t// h innate\n\t\t\tif (pokemon.illusion) return;\n\t\t\tconst typeList = [...this.dex.types.names()];\n\t\t\tthis.prng.shuffle(typeList);\n\t\t\tconst firstType = typeList[0];\n\t\t\tthis.prng.shuffle(typeList);\n\t\t\tconst secondType = typeList[0];\n\t\t\tconst newTypes = [firstType];\n\t\t\tif (firstType !== secondType) newTypes.push(secondType);\n\t\t\tthis.add('html|h');\n\t\t\tthis.add('-start', pokemon, 'typechange', newTypes.join('/'), '[silent]');\n\t\t\tpokemon.setType(newTypes);\n\t\t},\n\t\tonSwitchOut(pokemon) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Cake')}|${pokemon.side.name} is a nerd`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Cake')}|Chowder was a good show`);\n\t\t},\n\t\tonResidualOrder: 26,\n\t\tonResidualSubOrder: 1,\n\t\tonResidual(pokemon) {\n\t\t\tif (pokemon.illusion) return;\n\t\t\tif (pokemon.activeTurns) {\n\t\t\t\tconst typeList = [...this.dex.types.names()];\n\t\t\t\tthis.prng.shuffle(typeList);\n\t\t\t\tconst firstType = typeList[0];\n\t\t\t\tthis.prng.shuffle(typeList);\n\t\t\t\tconst secondType = typeList[0];\n\t\t\t\tconst newTypes = [firstType];\n\t\t\t\tif (firstType !== secondType) newTypes.push(secondType);\n\t\t\t\tthis.add('html|h');\n\t\t\t\tthis.add('-start', pokemon, 'typechange', newTypes.join('/'), '[silent]');\n\t\t\t\tpokemon.setType(newTypes);\n\t\t\t}\n\t\t},\n\t},\n\tcantsay: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('cant say')}|haha volc go brrrr`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('cant say')}|lol CTed`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('cant say')}|${this.sample(['imagine taking pokemon seriously when you can just get haxed', '/me plays curb your enthusiasm theme', 'bad players always get lucky'])}`);\n\t\t},\n\t\tinnateName: \"Magic Guard\",\n\t\tshortDesc: \"This Pokemon can only be damaged by direct attacks.\",\n\t\t// Magic Guard Innate\n\t\tonDamage(damage, target, source, effect) {\n\t\t\tif (target.illusion) return;\n\t\t\tif (effect.effectType !== 'Move') {\n\t\t\t\tif (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t},\n\tceline: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Celine')}|Support has arrived!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Celine')}|Brb writing`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Celine')}|'Tis only a flesh wound!`);\n\t\t},\n\t},\n\tckilgannon: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('c.kilgannon')}|Take a look to the sky just before you die`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('c.kilgannon')}|Death does wait; there's no debate.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('c.kilgannon')}|Memento mori.`);\n\t\t},\n\t},\n\tcoconut: {\n\t\tnoCopy: true,\n\t\t// no quotes\n\t},\n\tdogknees: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dogknees')}|Your opinion is wrong if you think cats are better than dogs \u0AEE\u30FB\uFECC\u30FB\u10D0`);\n\t\t\tif (source.illusion) return;\n\t\t\tthis.add('-start', source, 'typechange', source.types.join('/'), '[silent]');\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dogknees')}|Yes, dogs do have knees. Stop asking me.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dogknees')}|Nap time!`);\n\t\t},\n\t},\n\tdragonwhale: {\n\t\tnoCopy: true,\n\t\t// No quotes\n\t},\n\tdrampasgrandpa: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('drampa\\'s grandpa')}|Where are my glasses?`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('drampa\\'s grandpa')}|Darn kids...`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('drampa\\'s grandpa')}|Bah humbug!`);\n\t\t},\n\t},\n\tdream: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dream')}|It's Prime Time`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dream')}|oh no please god tell me we're dreaming`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('dream')}|perdemos`);\n\t\t},\n\t},\n\telgino: {\n\t\tnoCopy: true,\n\t\tonStart(target, pokemon) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Elgino')}|Time to save Hyrule!`);\n\t\t\tif (pokemon.illusion) return;\n\t\t\tthis.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Elgino')}|Hold on I need to stock up on ${this.sample(['Bombs', 'Arrows', 'Magic', 'Seeds'])}`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Elgino')}|I'm out of fairies D:!`);\n\t\t},\n\t},\n\temeri: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Emeri')}|hey !`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Emeri')}|//busy`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Emeri')}|don't forget to chall SFG or Agarica in gen8ou`);\n\t\t},\n\t},\n\tepicnikolai: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('EpicNikolai')}|I never give up until I get something right, which means destroying you \u261C(\uFF9F\u30EE\uFF9F\u261C)`);\n\t\t\tif (source.species.id !== 'garchompmega' || source.illusion) return;\n\t\t\tthis.add('-start', source, 'typechange', source.types.join('/'), '[silent]');\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('EpicNikolai')}|This wasn't as fun as I thought it would be, I'm out \u00AF_( \u0361~\u202F\u035C\u0296 \u0361\u00B0)_/\u00AF`); // eslint-disable-line no-irregular-whitespace\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('EpicNikolai')}|I like to keep a positive attitude even though it is hard sometimes <('o'<)~*/`);\n\t\t},\n\t},\n\testarossa: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('estarossa')}|honestly best pairing for hazard coverage wtih molt is like molt + tsareena/dhelmise`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('estarossa')}|sand balance <333`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('estarossa')}|*eurgh*`);\n\t\t},\n\t},\n\texplodingdaisies: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('explodingdaisies')}|Turn and run now, and I will mercifully pretend this never happened.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('explodingdaisies')}|You are beneath me, and it shows.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('explodingdaisies')}|Unacceptable!`);\n\t\t},\n\t},\n\tfart: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tlet activeMon;\n\t\t\tactiveMon = source.side.foe.active[0];\n\t\t\tactiveMon = activeMon.illusion ? activeMon.illusion.name : activeMon.name;\n\t\t\tconst family = ['aethernum', 'trickster', 'celestial', 'gimmick', 'zalm', 'aelita', 'biggie'];\n\t\t\tif (this.toID(activeMon) === 'hoeenhero') {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|\uD83C\uDFB5 it's friday, friday, gotta get down on friday \uD83C\uDFB5`);\n\t\t\t} else if (this.toID(activeMon) === 'grimauxiliatrix') {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|howdy ho, neighbor`);\n\t\t\t} else if (this.toID(activeMon) === 'fart') {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|How Can Mirrors Be Real If Our Eyes Aren't Real`);\n\t\t\t} else if (family.includes(this.toID(activeMon))) {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|hey, hey, hey. ${activeMon} is OK`);\n\t\t\t} else {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|rats, rats, we are the rats`);\n\t\t\t}\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|if I can't win this game, then I'll make it boring for everyone.`);\n\t\t},\n\t\tonFaint(pokemon) {\n\t\t\tlet activeMon;\n\t\t\tactiveMon = pokemon.side.foe.active[0];\n\t\t\tactiveMon = this.toID(activeMon.illusion ? activeMon.illusion.name : activeMon.name);\n\t\t\tconst family = ['aethernum', 'trickster', 'celestial', 'gimmick', 'zalm', 'aelita', 'biggie'];\n\t\t\tif (family.includes(activeMon)) {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|at least I wasn't boring, right?`);\n\t\t\t} else {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('fart')}|oy, I die`);\n\t\t\t}\n\t\t},\n\t},\n\tfelucia: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Felucia')}|battlesignup! I dropped my dice somewhere and now all I can do is make you play with them (join using %join one)`);\n\t\t\tif (source.illusion) return;\n\t\t\tthis.add('-start', source, 'typechange', source.types.join('/'), '[silent]');\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Felucia')}|battlesignup: I lost connection to a player so I guess I'll get a new one (/me in to sub)`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Felucia')}|%remp Felucia`);\n\t\t},\n\t},\n\tfinland: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tconst roll = this.random(100);\n\t\t\tlet message: string;\n\t\t\tif (roll < 70) {\n\t\t\t\tmessage = 'pog';\n\t\t\t} else if (roll < 80) {\n\t\t\t\tmessage = 'very pog';\n\t\t\t} else if (roll < 90) {\n\t\t\t\tmessage = 'poggaroo';\n\t\t\t} else if (roll < 95) {\n\t\t\t\tmessage = 'PogU';\n\t\t\t} else {\n\t\t\t\tmessage = 'poog';\n\t\t\t}\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Finland')}|${message}`);\n\t\t\tif (source.illusion) return;\n\t\t\tthis.boost({spa: 1, spd: 1}, source);\n\t\t},\n\t\tonBeforeMovePriority: 0.5,\n\t\tonBeforeMove(attacker, defender, move) {\n\t\t\tif (attacker.illusion) return;\n\t\t\tattacker.clearBoosts();\n\t\t\tthis.add('-clearboost', attacker);\n\t\t\tif (move.category === 'Status') {\n\t\t\t\tthis.boost({def: 1, spd: 1}, attacker);\n\t\t\t} else {\n\t\t\t\tthis.boost({spa: 1, spe: 1}, attacker);\n\t\t\t}\n\t\t},\n\t\tinnateName: \"Fickle Decorator\",\n\t\tshortDesc: \"Calm Mind on switch-in. Changes boosts depending on move used.\",\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Finland')}|i hope running away is safe on shield?`);\n\t\t},\n\t\tonFaint() {\n\t\t\tif (this.randomChance(99, 100)) {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Finland')}|FINLAND!!!`);\n\t\t\t} else {\n\t\t\t\t// personally i like young link from oot3d and mm3d - sp\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Finland')}|i hate young link. i hate you i hate you i hate you. i hate you. young link i hate you. i despise you. i loathe you. your existence is an affront to my person. to my own existence. it's an offense. a despicable crime. a wretched abomination. even worse than mega man. a cruel barbarity. an awful curse from capricious, pernicious fate. oh do i hate young link. i scorn you. i cast you away to ignominy and hatred even worse than mega man. you are shameful young link, and you should never show your face again`);\n\t\t\t}\n\t\t},\n\t},\n\tfrostyicelad: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('frostyicelad \u2746')}|Oh i guess its my turn now! Time to sweep!`);\n\t\t},\n\t\tonSwitchOut(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('frostyicelad \u2746')}|Hey! ${source.side.name} why dont you keep me in and let me sweep? Mean.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('frostyicelad \u2746')}|So c-c-cold`);\n\t\t},\n\t},\n\tgallantspear: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('gallant\\'s pear')}|**Rejoice! The one to inherit all Rider powers, the time king who will rule over the past and the future.**`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('gallant\\'s pear')}|My Overlord..`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('gallant\\'s pear')}|Damn you, Decade!!!`);\n\t\t},\n\t},\n\tgimmick: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Gimmick')}|Mama, they say I'm a TRRST`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Gimmick')}|Ic3peak to you later`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Gimmick')}|I did nothing wrong (but I got on the blacklist)`);\n\t\t},\n\t\t// Unburden Innate\n\t\tonAfterUseItem(item, pokemon) {\n\t\t\tif (pokemon !== this.effectState.target) return;\n\t\t\tpokemon.addVolatile('unburden');\n\t\t},\n\t\tonTakeItem(item, pokemon) {\n\t\t\tpokemon.addVolatile('unburden');\n\t\t},\n\t\tonEnd(pokemon) {\n\t\t\tpokemon.removeVolatile('unburden');\n\t\t},\n\t\tinnateName: \"Unburden\",\n\t\tdesc: \"If this Pokemon loses its held item for any reason, its Speed is doubled. This boost is lost if it switches out or gains a new item.\",\n\t\tshortDesc: \"Speed is doubled on held item loss; boost is lost if it switches or gets new item.\",\n\t},\n\tgmars: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('GMars')}|It's ya boy GEEEEEEEEMARS`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('GMars')}|Who switches out a Minior in prime position?`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('GMars')}|Follow me on bandcamp`);\n\t\t},\n\t},\n\tgrimauxiliatrix: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('grimAuxiliatrix')}|${this.sample(['THE JUICE IS LOOSE', 'TOOTHPASTE\\'S OUT OF THE TUBE', 'PREPARE TO DISCORPORATE'])}`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('grimAuxiliatrix')}|${this.sample(['NOT LIKE THIS', 'HALT - MODULE CORE HEMORRHAGE', 'AAAAAAAAAAAAAAAAAAA', 'Change da world... my final message. Goodb ye.'])}`);\n\t\t},\n\t},\n\thoeenhero: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('HoeenHero')}|A storm is brewing...`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('HoeenHero')}|The eye of the hurricane provides a brief respite from the storm.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('HoeenHero')}|All storms eventually disipate.`);\n\t\t},\n\t},\n\thubriz: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hubriz')}|Free hugs!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hubriz')}|The soil's pH level is too high. I'm out!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hubriz')}|Delicate Flower Quest failed...`);\n\t\t},\n\t},\n\thydro: {\n\t\tnoCopy: true,\n\t\tonStart(pokemon) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hydro')}|Person reading this is a qt nerd and there is absolutely NOTHING u can do about it :)`);\n\t\t\tif (pokemon.illusion) return;\n\t\t\tthis.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hydro')}|brb, taking a break from ur nerdiness`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hydro')}|RUUUUUDEEE`);\n\t\t},\n\t},\n\tinactive: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Inactive')}|Are you my nightmare? Or am I yours?`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Inactive')}|This is not the end...`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Inactive')}|/me turns to stone and crumbles`);\n\t\t},\n\t},\n\tinstructuser: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|lets drink to a great time!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Swagn')}|Hey, instruct. Here's those 15,000 walls of text you ordered. :3`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|ya know, why __do__ you always flood my dms?`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|whatever im just gonna go get some more coke`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|wait did we run out of coca-cola?`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|laaaaaaaaaaame`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('instruct')}|yall suck im going home`);\n\t\t},\n\t\tinnateName: \"Last Laugh\",\n\t\tdesc: \"Upon fainting to an opponent's direct attack, this Pokemon deals damage to all Pokemon that have made contact with it equal to 50% of their max HP. This damage cannot KO Pokemon.\",\n\t\tshortDesc: \"Upon foe KOing user, deal 50% of their max HP to all foes that this Pokemon contacted.\",\n\t\t// Innate\n\t\tonSourceHit(target, source, move) {\n\t\t\tif (source.illusion) return;\n\t\t\tif (!move || !target) return;\n\t\t\tif (target !== source && move.category !== 'Status') {\n\t\t\t\tif (move.flags['contact']) {\n\t\t\t\t\tif (!target.m.marked) this.add('-message', `${target.name} was marked by an unknown being...`);\n\t\t\t\t\ttarget.m.marked = true;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonDamagingHit(damage, target, source, move) {\n\t\t\tif (target.illusion) return;\n\t\t\tif (this.checkMoveMakesContact(move, source, target)) {\n\t\t\t\tif (!source.m.marked) this.add('-message', `${source.name} was marked by an unknown being...`);\n\t\t\t\tsource.m.marked = true;\n\t\t\t}\n\t\t\tif (!target.hp) {\n\t\t\t\tfor (const foe of source.side.pokemon) {\n\t\t\t\t\tif (foe.fainted || !foe.hp) continue;\n\t\t\t\t\tif (!foe.m.marked) continue;\n\t\t\t\t\tthis.add('-activate', target, 'ability: Last Laugh');\n\t\t\t\t\tlet collateral = this.clampIntRange(foe.baseMaxhp / 2, 1);\n\t\t\t\t\tthis.add('-message', `${foe.name} became insane and attacked themselves!`);\n\t\t\t\t\tif (collateral >= foe.hp) collateral = foe.hp - 1;\n\t\t\t\t\tfoe.hp = foe.hp - collateral;\n\t\t\t\t\tif (foe === source) {\n\t\t\t\t\t\tthis.add('-damage', foe, foe.getHealth);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\tiyarito: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Iyarito')}|Madre de Dios, \u00A1es el Pollo Diablo!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Iyarito')}|Well, you're not taking me without a fight!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Iyarito')}|RIP Patrona`);\n\t\t},\n\t},\n\tjett: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jett')}|It's a good day for a hunt.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jett')}|I'll be back for more.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jett')}|They got lucky.`);\n\t\t},\n\t},\n\tjho: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jho')}|Hey there party people`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jho')}|The Terminator(1984), 00:57:10`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jho')}|Unfortunately, CAP no longer accepts custom elements`);\n\t\t},\n\t},\n\tjordy: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jordy')}|I heard there's a badge here. Please give it to me immediately.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jordy')}|Au Revoir. Was that right?`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Jordy')}|hjb`);\n\t\t},\n\t},\n\tkaijubunny: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kaiju Bunny')}|I heard SOMEONE wasn't getting enough affection! \uFFE3( \u00D2\u3145\u00D3)\uFFE3`);\n\t\t\tif (source.species.id !== 'lopunnymega' || source.illusion) return;\n\t\t\tthis.add('-start', source, 'typechange', source.types.join('/'), '[silent]');\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kaiju Bunny')}|Brb, need more coffee \uFFE3( =\u3145=)\uFFE3`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kaiju Bunny')}|Wow, okay, r00d \uFFE3(\u0CA5\u3145\u0CA5)\uFFE3`);\n\t\t},\n\t},\n\tkalalokki: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|(\u2022_\u2022)`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|( \u2022_\u2022)>\u2310\u25A0-\u25A0`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|(\u2310\u25A0_\u25A0)`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|(\u2310\u25A0_\u25A0)`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|( \u2022_\u2022)>\u2310\u25A0-\u25A0`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kalalokki')}|(x_x)`);\n\t\t},\n\t\tinnateName: \"Sturdy\",\n\t\tshortDesc: \"If this Pokemon is at full HP, it survives one hit with at least 1 HP. Immune to OHKO.\",\n\t\t// Sturdy Innate\n\t\tonTryHit(pokemon, target, move) {\n\t\t\tif (target.illusion) return;\n\t\t\tif (move.ohko) {\n\t\t\t\tthis.add('-immune', pokemon, '[from] ability: Sturdy');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tonDamagePriority: -100,\n\t\tonDamage(damage, target, source, effect) {\n\t\t\tif (target.illusion) return;\n\t\t\tif (target.hp === target.maxhp && damage >= target.hp && effect && effect.effectType === 'Move') {\n\t\t\t\tthis.add('-ability', target, 'Sturdy');\n\t\t\t\treturn target.hp - 1;\n\t\t\t}\n\t\t},\n\t},\n\tkennedy: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kennedy')}|up the reds`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kennedy')}|brb Jayi is PMing me (again) -_-`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kennedy')}|I'm not meant to score goals anyway, I'm a defensive striker.`);\n\t\t},\n\t},\n\tkev: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kev')}|Sorry for raining on your parade`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kev')}|Rain, rain, go away, come again another day`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kev')}|I guess I'm all washed up...`);\n\t\t},\n\t},\n\tkingbaruk: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kingbaruk')}|:cute:`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kingbaruk')}|//none`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kingbaruk')}|Fijne avond nog`);\n\t\t},\n\t},\n\tkingswordyt: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('KingSwordYT')}|Mucho texto`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('KingSwordYT')}|Hasta la pr\u00F3ximaaaa`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('KingSwordYT')}|**__Se anula el host__**`);\n\t\t},\n\t},\n\tkipkluif: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kipkluif')}|Please play LCUU, it's fun`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kipkluif')}| /teleport`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kipkluif')}|I've failed you.. I pray you hurry.. with those reinforcments.. you promised..`);\n\t\t},\n\t},\n\tkris: {\n\t\tinnateName: \"phuck\",\n\t\tdesc: \"If this Pokemon is an Unown forme, it is immune to indirect damage and transforms into a different Unown letter forme, aside from ! and ?, at the end of each turn.\",\n\t\tshortDesc: \"Unown: Magic Guard + change letter every turn.\",\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tconst foeName = source.side.foe.active[0].illusion ?\n\t\t\t\tsource.side.foe.active[0].illusion.name : source.side.foe.active[0].name;\n\t\t\tif (foeName === 'Aeonic' || source.side.foe.name === 'Aeonic') {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|HAPPY BIRTHDAY AEONIC!!!!`);\n\t\t\t} else {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|hi ${foeName}`);\n\t\t\t}\n\t\t},\n\t\tonSwitchOut(source) {\n\t\t\tconst foeName = source.side.foe.active[0].illusion ?\n\t\t\t\tsource.side.foe.active[0].illusion.name : source.side.foe.active[0].name;\n\t\t\tif (foeName === 'Aeonic' || source.side.foe.name === 'Aeonic') {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|HAPPY BIRTHDAY AEONIC!!!!`);\n\t\t\t} else {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|bye ${foeName}`);\n\t\t\t}\n\t\t},\n\t\tonFaint(target) {\n\t\t\tconst foeName = target.illusion ?\n\t\t\t\ttarget.illusion.name : target.name;\n\t\t\tif (foeName === 'Aeonic' || target.side.name === 'Aeonic') {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|HAPPY BIRTHDAY AEONIC!!!!`);\n\t\t\t} else {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|Fortnite Battle Royale`);\n\t\t\t}\n\t\t},\n\t\t// phuck innate\n\t\tonDamage(damage, target, source, effect) { // Magic Guard\n\t\t\tif (effect.id === 'heavyhailstorm') return;\n\t\t\tif (target.illusion) return;\n\t\t\tif (!target.species.id.includes('unown')) return;\n\t\t\tif (effect.effectType !== 'Move') {\n\t\t\t\tif (effect.effectType === 'Ability') this.add('-activate', source, 'ability: ' + effect.name);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tonResidual(pokemon) {\n\t\t\tif (pokemon.illusion) return;\n\t\t\tif (!pokemon.species.id.includes('unown')) return;\n\t\t\t// So this doesn't activate upon switching in\n\t\t\tif (pokemon.activeTurns < 1) return;\n\t\t\tconst unownLetters = 'abcdefghijklmnopgrstuvwxyz'.split('');\n\t\t\tconst currentFormeID = this.toID(pokemon.set.species);\n\t\t\tconst currentLetter = currentFormeID.charAt(5) || 'a';\n\t\t\tconst chosenLetter = this.sample(unownLetters.filter(letter => letter !== currentLetter));\n\t\t\t// Change is permanent so when you switch out you keep the letter\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|watch this`);\n\t\t\tif (chosenLetter === 'w') {\n\t\t\t\tthis.add('-activate', pokemon, 'ability: phuck');\n\t\t\t\tpokemon.formeChange(`unownw`, this.effect, true);\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|W? More like L`);\n\t\t\t\tthis.add('-activate', pokemon, 'ability: phuck');\n\t\t\t\tpokemon.formeChange(`unownl`, this.effect, true);\n\t\t\t\tthis.hint(`There are no W Pokemon that work with Kris's signature move, so we're counting this as a loss`);\n\t\t\t} else if (chosenLetter === 'u') {\n\t\t\t\tthis.add('-activate', pokemon, 'ability: phuck');\n\t\t\t\tpokemon.formeChange(`unownu`, this.effect, true);\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Kris')}|U? I'm already an Unown, no`);\n\t\t\t\tthis.add('-activate', pokemon, 'ability: phuck');\n\t\t\t\tconst chosenLetter2 = this.sample(unownLetters.filter(letter => letter !== 'u' && letter !== 'w'));\n\t\t\t\tpokemon.formeChange(`unown${chosenLetter2}`, this.effect, true);\n\t\t\t\tthis.hint(`There are no U Pokemon that work with Kris's signature move, so we're counting this as a loss`);\n\t\t\t} else {\n\t\t\t\tthis.add('-activate', pokemon, 'ability: phuck');\n\t\t\t\tpokemon.formeChange(`unown${chosenLetter === 'a' ? '' : chosenLetter}`, this.effect, true);\n\t\t\t}\n\t\t},\n\t},\n\tlamp: {\n\t\tnoCopy: true,\n\t\tonStart(pokemon) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lamp')}|DUDE HI ${pokemon.side.foe.name} (:`);\n\t\t},\n\t\tonSwitchOut(pokemon) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lamp')}|bye ${pokemon.side.foe.name} :)`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lamp')}|no u`);\n\t\t},\n\t},\n\tlionyx: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lionyx')}|Hi, this is ps-chan, how may I help you, user-kun? (\uFF61\u25D5\u203F\u203F\u25D5\uFF61)`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lionyx')}|Teclis au secours`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lionyx')}|The cold never bothered me anyway...`);\n\t\t},\n\t},\n\tlitteleven: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Litt\u2665Eleven')}|The coin is flipped, what follows is destiny alone.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Litt\u2665Eleven')}|Looks like my business is finished here... for now.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Litt\u2665Eleven')}|Perhaps, coin tossing isn't the optimal way to win a war...`);\n\t\t},\n\t},\n\tlunalauser: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lunala')}|o bella`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lunala')}|Condivido schermo cosi' guardiamo i tre porcellini?`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Lunala')}|BE... Ok mejo chiudere gioco... vedo documentario su Bibbia`);\n\t\t},\n\t},\n\tmadmonty: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mad Monty \u00BE\u00B0')}|Ah, the sweet smell of rain... Oh! Hi there!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mad Monty \u00BE\u00B0')}|Hey, I was enjoying the weather! Awww...`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mad Monty \u00BE\u00B0')}|Nooo, if I go, who will stop the llamas?`);\n\t\t},\n\t},\n\tmajorbowman: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('MajorBowman')}|Aaaand Cracktion!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('MajorBowman')}|This isn't Maury Povich!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('MajorBowman')}|Never loved ya.`);\n\t\t},\n\t},\n\tmarshmallon: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Marshmallon')}|I'm hungry. Are you edible? c:`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Marshmallon')}|RAWWWR`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Marshmallon')}|I'm still hungry. rawr. :c`);\n\t\t},\n\t},\n\tmeicoo: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Meicoo')}|cool quiz`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Meicoo')}|/leavehunt`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Meicoo')}|/endhunt`);\n\t\t},\n\t},\n\tmitsuki: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mitsuki')}|alguem quer batalha?????`);\n\t\t},\n\t\tonSwitchOut(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mitsuki')}|You're weak, ${source.side.foe.name}. Why? Because you lack... hatred.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Mitsuki')}|THIS WORLD SHALL KNOW P A I N`);\n\t\t},\n\t},\n\tn10sit: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('n10siT')}|Heheheh... were you surprised?`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('n10siT')}|Heheheh... did I scare you?`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('n10siT')}|Hoopa never saw one of those!`);\n\t\t},\n\t},\n\tnaziel: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Naziel')}|ay ola soy nasieeeeeeel`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Naziel')}|YAY, I WILL NOT DIE THIS TIME`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Naziel')}|Toy xikito no puedo ;-;`);\n\t\t},\n\t},\n\ttheia: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Theia')}|What's up nerds`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Theia')}|cya nerds later`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Theia')}|nerd`);\n\t\t},\n\t\tinnateName: \"RSUA\",\n\t\tshortDesc: \"+1 priority to status moves. 1.5x Defense and Special Defense.\",\n\t\t// Innate Prankster and Eviolite\n\t\tonModifyPriority(priority, pokemon, target, move) {\n\t\t\tif (move?.category === 'Status') {\n\t\t\t\tmove.pranksterBoosted = true;\n\t\t\t\treturn priority + 1;\n\t\t\t}\n\t\t},\n\t\tonModifyDefPriority: 2,\n\t\tonModifyDef(def, pokemon) {\n\t\t\tif (pokemon.illusion) return;\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t\tonModifySpDPriority: 2,\n\t\tonModifySpD(spd, pokemon) {\n\t\t\tif (pokemon.illusion) return;\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t},\n\tnotater517: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Notater517')}|nyaa~... I mean, 'tis a swell day to twirl one's mustache, isn't it?!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Notater517')}|/me corrupt trivia noises`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Notater517')}|This is probably a good time to fix my sleep schedule`);\n\t\t},\n\t},\n\tnui: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('nui')}|/html `);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('nui')}|/html `);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('nui')}|/html `);\n\t\t},\n\t},\n\toverneat: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Overneat')}|Lets end this ${source.side.foe.name}!!`);\n\t\t\tif (source.species.id !== 'absolmega' || source.illusion) return;\n\t\t\tthis.add('-start', source, 'typechange', source.types.join('/'), '[silent]');\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Overneat')}|I can do better!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Overneat')}|I was to cocky...`);\n\t\t},\n\t},\n\tom: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('OM~!')}|What's Up Gamers`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('OM~!')}|Let me just ${this.sample(['host murder for the 100th time', 'clean out scum zzz', 'ladder mnm rq'])}`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('OM~!')}|ugh, I ${this.sample(['rolled a 1, damnit.', 'got killed night 1, seriously?', 'got v-create\\'d by fucking dragapult lmaoo'])}`);\n\t\t},\n\t},\n\tpants: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('pants')}|neat`);\n\t\t},\n\t\tonSwitchOut(source) {\n\t\t\tif (source.side.sideConditions.givewistfulthinking) {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('pants')}|brb contemplating things`);\n\t\t\t} else {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('pants')}|brb dying a little`);\n\t\t\t}\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('pants')}|how do you even knock out something that's already dead? i call bs`);\n\t\t},\n\t},\n\tparadise: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Paradise \u2571\u2572\u263C')}|You ever notice that the first thing a PS tryhard does is put their PS auth in their smogon signature?`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Paradise \u2571\u2572\u263C')}|Pokemon Showdown copypastas have to be among the worst I've seen on any website. People spam garbage over and over until eventually the mods get fed up and clamp down on spam. I don't blame them for it. Have you ever seen a copypasta fail as hard as the dead memes on this website? There are mods on here who still think that \"Harambe\" and \"Damn Daniel\" are the peak of comedy. Not to mention that there are rooms on here that don't even talk about pokemon lol. Yeah, I don't see this website lasting more than 2 years, I'd suggest becoming a mod somewhere else.`);\n\t\t},\n\t\tonFaint(pokemon) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Paradise \u2571\u2572\u263C')}|Paradise has been kicked, not banned, therefore you could still potentially invite them back. However, do not do this @${pokemon.side.name}, unless of course, you want to be banned too, because if you invite them back you and Paradise will both be banned.`);\n\t\t},\n\t},\n\tpartman: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|${this.sample([`OMA HI ${source.side.name.toUpperCase()} BIG FAN`, `HYDRO IS A NERD`, `Greetings, today we are all gathered here to pay respects to - wait, this is only ${source.side.foe.name}'s funeral. Never mind.`, `__I'm on fiiiiiiiiiiire__`, `/me hugs`, `A SACRIFICE FOR SNOM`, `${source.side.name} more like nerd`, `NER`])}`);\n\t\t},\n\t\tonSwitchOut(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|Hi ${source.side.name}, I'm PartMan!`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|Hi PartMan, I'm PartMan!`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|Hi PartMan, I'm PartMan!`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Hydro')}|/log PartMan was muted by Hydro for 7 minutes. (flood)`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PartMan')}|${this.sample(['B-booli. >.<', 'Remember to dab on iph', 'Excuse me what', 'RUDE', ':pout:', '/html '])}`);\n\t\t},\n\t},\n\tpeapodc: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('peapod c')}|/me sprints into the room`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('peapod c')}|Must maintain m o m e n t u m`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('peapod c')}|They say sleep is the cousin of death \u2014 but even ghosts need to sleep!`);\n\t\t},\n\t},\n\tperishsonguser: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Perish Song')}|(\u256F\u00B0\u25A1\u00B0\uFF09\u256F\uFE35 \u253B\u2501\u253B`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Perish Song')}|\u252C\u2500\u2500\u252C\u25E1\uFF89(\u00B0 -\u00B0\uFF89)`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Perish Song')}|Thanks for coming to my TED talk.`);\n\t\t},\n\t},\n\tphiwings99: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('phiwings99')}|Pick.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('phiwings99')}|I'm boated.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('phiwings99')}|God, Nalei is fucking terrible at this game.`);\n\t\t},\n\t},\n\tpiloswinegripado: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('piloswine gripado')}|Suave?`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('piloswine gripado')}|cya frend :)`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('piloswine gripado')}|This was lame :/`);\n\t\t},\n\t},\n\tpirateprincess: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PiraTe Princess')}|Ahoy! o/`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PiraTe Princess')}|brb making tea`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PiraTe Princess')}|I failed my death save`);\n\t\t},\n\t\tonHit(target, source, move) {\n\t\t\tif (move?.effectType === 'Move' && target.getMoveHitData(move).crit) {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('PiraTe Princess')}|NATURAL 20!!!`);\n\t\t\t}\n\t\t},\n\t},\n\tpsynergy: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Psynergy')}|Will you survive?`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Psynergy')}|yadon moment`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Psynergy')}|oh`);\n\t\t},\n\t},\n\tptoad: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('ptoad')}|I'm ptoad.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('ptoad')}|Bye, ribbitch!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('ptoad')}|OKKKK DUUUDE`);\n\t\t},\n\t\tinnateName: \"Sticky Hold\",\n\t\tshortDesc: \"This Pokemon cannot lose its held item due to another Pokemon's attack.\",\n\t\t// Sticky Hold Innate\n\t\tonTakeItem(item, pokemon, source) {\n\t\t\tif (this.suppressingAbility(pokemon) || !pokemon.hp || pokemon.item === 'stickybarb') return;\n\t\t\tif (!this.activeMove) throw new Error(\"Battle.activeMove is null\");\n\t\t\tif ((source && source !== pokemon) || this.activeMove.id === 'knockoff') {\n\t\t\t\tthis.add('-activate', pokemon, 'ability: Sticky Hold');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t},\n\trabia: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rabia')}|eternally`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rabia')}|rabia`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rabia')}|im top 500 in relevant tiers and lead gp, i have 8 badges, im fine, gg`);\n\t\t},\n\t},\n\trageuser: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rage')}|/html `);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rage')}|im off, cya lads`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Rage')}|/me quits`);\n\t\t},\n\t},\n\traihankibana: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raihan Kibana')}|Hi gm`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raihan Kibana')}|Ight Imma head out`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raihan Kibana')}|Grr bork bork :(`);\n\t\t},\n\t},\n\trajshoot: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raj.Shoot')}|Plaza Power!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raj.Shoot')}|We'll be back!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Raj.Shoot')}|You'll join me in the shadow realm soon....`);\n\t\t},\n\t},\n\transei: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Ransei')}|Sup! This is Gen 8 so imma run an Eternamax set. Best of luck. You\u2019ll need it :^)`);\n\t\t},\n\t\tonFaint(pokemon) {\n\t\t\tconst target = pokemon.side.foe.active[0];\n\t\t\tif (!target || target.fainted || target.hp <= 0) {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Ransei')}|Ahah yes you got rekt! Welcome to Hackmons! gg m8!`);\n\t\t\t} else {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Ransei')}|ripsei... Ok look you might\u2019ve won this time but I kid you not you\u2019re losing next game!`);\n\t\t\t}\n\t\t},\n\t},\n\travioliqueen: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('RavioliQueen')}|The Noodle Noble has Arrived!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('RavioliQueen')}|Time to spaghett out of here!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('RavioliQueen')}|This is impastable!`);\n\t\t},\n\t\tinnateName: \"Pitch Black Witch\",\n\t\tdesc: \"When this Pokemon sets or switches into Pitch Black errain, its Special Attack and Special Defense are boosted by 1 stage. If this Pokemon gets hit while Pitch Black Terrain is up, it gets +1 speed\",\n\t\tshortDesc: \"Pitch Black Terrain: Calm Mind on switch-in, +1 Spe when attacked.\",\n\t\t// Coded in the terrain itself\n\t},\n\trobb576: {\n\t\tnoCopy: true,\n\t\tonStart(target, pokemon) {\n\t\t\tif (pokemon.side.pokemonLeft === 1) {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Robb576')}|This is our last stand. Give it everything you got ${pokemon.side.name}!`);\n\t\t\t} else {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Robb576')}|1, 2, 3, 4, dunno how to count no more!`);\n\t\t\t}\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Robb576')}|5, 7, 6, I will be right back into the mix!`);\n\t\t},\n\t\tonFaint(pokemon) {\n\t\t\tif (pokemon.species.name === \"Necrozma-Ultra\") {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Robb576')}|gg better luck next time. Sorry I couldn't handle them all :^(`);\n\t\t\t} else {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Robb576')}|8, 9, 10, it has been a pleasure man!`);\n\t\t\t}\n\t\t},\n\t},\n\tsectonia: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Sectonia')}|I love one (1) queen bee`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Sectonia')}|My search for my lost queen continues....`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Sectonia')}|NOOOOOO NOT THE JELLY BABY`);\n\t\t},\n\t},\n\tsegmr: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Segmr')}|*awakens conquerors haki* Greetings.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Segmr')}|Lemme show you this`);\n\t\t\tthis.add(`l|Segmr`);\n\t\t},\n\t\tonFaint(pokemon) {\n\t\t\tconst name = pokemon.side.foe.active[0].illusion ?\n\t\t\t\tpokemon.side.foe.active[0].illusion.name : pokemon.side.foe.active[0].name;\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Segmr')}|I'm sorry ${name} but could you please stop talking to me?`);\n\t\t},\n\t},\n\tsejesensei: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('sejesensei')}|yoyo, what\u2019ve you been reading lately`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('sejesensei')}|bbl, gonna go read some manga`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('sejesensei')}|B-but, this didn\u2019t happen in the manga\u2026`);\n\t\t},\n\t},\n\tseso: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Seso')}|I have good spacial awareness, and I'm pretty comfortable with a sword.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Seso')}|In the blink of an eye.`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Seso')}|I feel just, you know, defeated.`);\n\t\t},\n\t},\n\tshadecession: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Shadecession')}|Better put on my Shadecessions`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Shadecession')}|\u2310\u25A0_\u25A0`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Shadecession')}|ah, gg fam`);\n\t\t},\n\t},\n\tsoftflex: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Soft Flex')}|:]`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Soft Flex')}|:[`);\n\t\t},\n\t},\n\tspandan: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Spandan')}|Mareanie!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Spandan')}|You can't end this toxic relationship just like that!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Spandan')}|You didnt do shit. I coded myself to faint.`);\n\t\t},\n\t},\n\tstruchni: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Struchni')}|~tt newgame`);\n\t\t},\n\t\tonSwitchOut(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Struchni')}|~tt endgame`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Struchni')}|**selfveto**`);\n\t\t},\n\t},\n\tteclis: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Teclis')}|Fire at will!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Teclis')}|A spark remains...`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Teclis')}|You set my soul on fire!`);\n\t\t},\n\t},\n\ttemp: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('temp')}|hi, i'm here to drop dracos`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('temp')}|how did I not win yet`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('temp')}|oh I died`);\n\t\t},\n\t},\n\ttheimmortal: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tconst foe = source.side.foe.active[0];\n\t\t\tconst foeName = foe.illusion ? foe.illusion.name : foe.name;\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('The Immortal')}|${!foe || foe.fainted || foe.hp <= 0 ? 'hi' : foeName}`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('The Immortal')}|ok`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('The Immortal')}|ban stall`);\n\t\t},\n\t},\n\tthewaffleman: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('thewaffleman')}|Whats Good Youtube its your boy thewaffleman`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('thewaffleman')}|Never Gonna Give You Up`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('thewaffleman')}|coyg`);\n\t\t},\n\t},\n\ttiki: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('tiki')}|just tiki.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('tiki')}|/html `);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('tiki')}|aksfgkjag o k`);\n\t\t},\n\t},\n\ttraceuser: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('trace')}|Daishouri!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('trace')}|\u00AF\\\\_(\u30C4)_/\u00AF`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('trace')}|sucks to sucks`);\n\t\t},\n\t},\n\ttrickster: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Trickster')}|(\u00A4\uFE4F\u00A4)`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Trickster')}|(\uFE36\uFE39\uFE3A)`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Trickster')}|(\u0CA5\uFE4F\u0CA5)`);\n\t\t},\n\t},\n\tvexen: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Vexen')}|Most unlucky for you!`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Vexen')}|brb reading Bleach`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Vexen')}|Wait this wasn't supposed to happen`);\n\t\t},\n\t},\n\tvivalospride: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vivalospride')}|hola mi amore`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vivalospride')}|no hablo espa\u00F1ol`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vivalospride')}|classic honestly`);\n\t\t},\n\t},\n\tvolco: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Volco')}|/me loud controller noises`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Volco')}|/me controller clicking fades`);\n\t\t},\n\t\tonFaint(source, target, effect) {\n\t\t\tif (effect?.id === 'glitchexploiting') {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Volco')}|Dammit, time for a reset.`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Volco')}|Looks like the game fro-`);\n\t\t\tthis.add(`raw|
This Pokemon Showdown battle has frozen!
Don't worry, we're working on fixing it, so just carry on like you never saw this.
(Do not report this, this is intended.)
`);\n\t\t},\n\t},\n\tvooper: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vooper')}|${this.sample(['Paws out, claws out!', 'Ready for the prowl!'])}`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vooper')}|Must... eat... bamboo...`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('vooper')}|I guess Kung Fu isn't for everyone...`);\n\t\t},\n\t},\n\tyuki: {\n\t\tnoCopy: true,\n\t\tonStart(target, pokemon) {\n\t\t\tlet bst = 0;\n\t\t\tfor (const stat of Object.values(pokemon.species.baseStats)) {\n\t\t\t\tbst += stat;\n\t\t\t}\n\t\t\tlet targetBst = 0;\n\t\t\tfor (const stat of Object.values(target.species.baseStats)) {\n\t\t\t\ttargetBst += stat;\n\t\t\t}\n\t\t\tlet message: string;\n\t\t\tif (bst > targetBst) {\n\t\t\t\tmessage = 'You dare challenge me!?';\n\t\t\t} else {\n\t\t\t\tmessage = 'Sometimes, you go for it';\n\t\t\t}\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('yuki')}|${message}`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('yuki')}|Catch me if you can!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('yuki')}|You'll never extinguish our hopes!`);\n\t\t},\n\t},\n\tzalm: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zalm')}|<(:O)000>`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zalm')}|Run for the hills!`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zalm')}|Woah`);\n\t\t},\n\t},\n\tzarel: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zarel')}|the melo-p represents PS's battles, and the melo-a represents PS's chatrooms`);\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zarel')}|THIS melo-a represents kicking your ass, though`);\n\t\t},\n\t},\n\tzodiax: {\n\t\tnoCopy: true,\n\t\tonStart(source) {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zodiax')}|Zodiax is here to Zodihax`);\n\n\t\t\t// Easter Egg\n\t\t\tconst activeMon = this.toID(\n\t\t\t\tsource.side.foe.active[0].illusion ? source.side.foe.active[0].illusion.name : source.side.foe.active[0].name\n\t\t\t);\n\t\t\tif (activeMon === 'aeonic') {\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zodiax')}|Happy Birthday Aeonic`);\n\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Aeonic')}|THIS JOKE IS AS BORING AS YOU ARE`);\n\t\t\t}\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zodiax')}|Don't worry I'll be back again`);\n\t\t},\n\t\tonFaint(pokemon) {\n\t\t\tconst name = pokemon.side.foe.name;\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zodiax')}|${name}, Why would you hurt this poor little pompombirb :(`);\n\t\t},\n\t},\n\tzyguser: {\n\t\tnoCopy: true,\n\t\tonStart() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zyg')}|Free Swirlyder.`);\n\t\t},\n\t\tonSwitchOut() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zyg')}|/me sighs... what is there to say?`);\n\t\t},\n\t\tonFaint() {\n\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Zyg')}|At least I have a tier.`);\n\t\t},\n\t},\n\t// Heavy Hailstorm status support for Alpha\n\theavyhailstorm: {\n\t\tname: 'HeavyHailstorm',\n\t\teffectType: 'Weather',\n\t\tduration: 0,\n\t\tonTryMovePriority: 1,\n\t\tonTryMove(attacker, defender, move) {\n\t\t\tif (move.type === 'Steel' && move.category !== 'Status') {\n\t\t\t\tthis.debug('Heavy Hailstorm Steel suppress');\n\t\t\t\tthis.add('-message', 'The hail suppressed the move!');\n\t\t\t\tthis.add('-fail', attacker, move, '[from] Heavy Hailstorm');\n\t\t\t\tthis.attrLastMove('[still]');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tonWeatherModifyDamage(damage, attacker, defender, move) {\n\t\t\tif (move.type === 'Ice') {\n\t\t\t\tthis.debug('Heavy Hailstorm ice boost');\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t},\n\t\tonFieldStart(field, source, effect) {\n\t\t\tthis.add('-weather', 'Hail', '[from] ability: ' + effect, '[of] ' + source);\n\t\t\tthis.add('-message', 'The hail became extremely chilling!');\n\t\t},\n\t\tonModifyMove(move, pokemon, target) {\n\t\t\tif (!this.field.isWeather('heavyhailstorm')) return;\n\t\t\tif (move.category !== \"Status\") {\n\t\t\t\tthis.debug('Adding Heavy Hailstorm freeze');\n\t\t\t\tif (!move.secondaries) move.secondaries = [];\n\t\t\t\tfor (const secondary of move.secondaries) {\n\t\t\t\t\tif (secondary.status === 'frz') return;\n\t\t\t\t}\n\t\t\t\tmove.secondaries.push({\n\t\t\t\t\tchance: 10,\n\t\t\t\t\tstatus: 'frz',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tonFieldResidualOrder: 1,\n\t\tonFieldResidual() {\n\t\t\tthis.add('-weather', 'Hail', '[upkeep]');\n\t\t\tif (this.field.isWeather('heavyhailstorm')) this.eachEvent('Weather');\n\t\t},\n\t\tonWeather(target, source, effect) {\n\t\t\tif (target.isAlly(this.effectState.source)) return;\n\t\t\t// Hail is stronger from Heavy Hailstorm\n\t\t\tif (!target.hasType('Ice')) this.damage(target.baseMaxhp / 8);\n\t\t},\n\t\tonFieldEnd() {\n\t\t\tthis.add('-weather', 'none');\n\t\t},\n\t},\n\t// Forever Winter Hail support for piloswine gripado\n\twinterhail: {\n\t\tname: 'Winter Hail',\n\t\teffectType: 'Weather',\n\t\tduration: 0,\n\t\tonFieldStart(field, source, effect) {\n\t\t\tthis.add('-weather', 'Hail', '[from] ability: ' + effect, '[of] ' + source);\n\t\t\tthis.add('-message', 'It became winter!');\n\t\t},\n\t\tonModifySpe(spe, pokemon) {\n\t\t\tif (!pokemon.hasType('Ice')) return this.chainModify(0.5);\n\t\t},\n\t\tonFieldResidualOrder: 1,\n\t\tonFieldResidual() {\n\t\t\tthis.add('-weather', 'Hail', '[upkeep]');\n\t\t\tif (this.field.isWeather('winterhail')) this.eachEvent('Weather');\n\t\t},\n\t\tonWeather(target) {\n\t\t\tif (target.hasType('Ice')) return;\n\t\t\tthis.damage(target.baseMaxhp / 8);\n\t\t},\n\t\tonFieldEnd() {\n\t\t\tthis.add('-weather', 'none');\n\t\t},\n\t},\n\traindrop: {\n\t\tname: 'Raindrop',\n\t\tnoCopy: true,\n\t\tonStart(target) {\n\t\t\tthis.effectState.layers = 1;\n\t\t\tthis.effectState.def = 0;\n\t\t\tthis.effectState.spd = 0;\n\t\t\tthis.add('-start', target, 'Raindrop');\n\t\t\tthis.add('-message', `${target.name} has ${this.effectState.layers} raindrop(s)!`);\n\t\t\tconst [curDef, curSpD] = [target.boosts.def, target.boosts.spd];\n\t\t\tthis.boost({def: 1, spd: 1}, target, target);\n\t\t\tif (curDef !== target.boosts.def) this.effectState.def--;\n\t\t\tif (curSpD !== target.boosts.spd) this.effectState.spd--;\n\t\t},\n\t\tonRestart(target) {\n\t\t\tthis.effectState.layers++;\n\t\t\tthis.add('-start', target, 'Raindrop');\n\t\t\tthis.add('-message', `${target.name} has ${this.effectState.layers} raindrop(s)!`);\n\t\t\tconst curDef = target.boosts.def;\n\t\t\tconst curSpD = target.boosts.spd;\n\t\t\tthis.boost({def: 1, spd: 1}, target, target);\n\t\t\tif (curDef !== target.boosts.def) this.effectState.def--;\n\t\t\tif (curSpD !== target.boosts.spd) this.effectState.spd--;\n\t\t},\n\t\tonEnd(target) {\n\t\t\tif (this.effectState.def || this.effectState.spd) {\n\t\t\t\tconst boosts: SparseBoostsTable = {};\n\t\t\t\tif (this.effectState.def) boosts.def = this.effectState.def;\n\t\t\t\tif (this.effectState.spd) boosts.spd = this.effectState.spd;\n\t\t\t\tthis.boost(boosts, target, target);\n\t\t\t}\n\t\t\tthis.add('-end', target, 'Raindrop');\n\t\t\tif (this.effectState.def !== this.effectState.layers * -1 || this.effectState.spd !== this.effectState.layers * -1) {\n\t\t\t\tthis.hint(\"Raindrop keeps track of how many times it successfully altered each stat individually.\");\n\t\t\t}\n\t\t},\n\t},\n\t// Brilliant Condition for Arcticblast\n\tbrilliant: {\n\t\tname: 'Brilliant',\n\t\tduration: 5,\n\t\tonStart(pokemon) {\n\t\t\tthis.add('-start', pokemon, 'Brilliant');\n\t\t},\n\t\tonModifyAtk() {\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t\tonModifyDef() {\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t\tonModifySpA() {\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t\tonModifySpD() {\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t\tonModifySpe() {\n\t\t\treturn this.chainModify(1.5);\n\t\t},\n\t\tonUpdate(pokemon) {\n\t\t\tif (pokemon.volatiles['perishsong']) pokemon.removeVolatile('perishsong');\n\t\t},\n\t\tonTryAddVolatile(status) {\n\t\t\tif (status.id === 'perishsong') return null;\n\t\t},\n\t\tonResidualOrder: 7,\n\t\tonResidual(pokemon) {\n\t\t\tthis.heal(pokemon.baseMaxhp / 16);\n\t\t},\n\t\tonTrapPokemon(pokemon) {\n\t\t\tpokemon.tryTrap();\n\t\t},\n\t\tonDragOut(pokemon) {\n\t\t\tthis.add('-activate', pokemon, 'move: Ingrain');\n\t\t\treturn null;\n\t\t},\n\t\tonEnd(pokemon) {\n\t\t\tthis.add('-end', pokemon, 'Brilliant');\n\t\t},\n\t},\n\t// Custom status for HoeenHero's move\n\tstormsurge: {\n\t\tname: \"Storm Surge\",\n\t\tduration: 2,\n\t\tdurationCallback(target, source, effect) {\n\t\t\tconst windSpeeds = [65, 85, 95, 115, 140];\n\t\t\treturn windSpeeds.indexOf((effect as ActiveMove).basePower) + 2;\n\t\t},\n\t\tonSideStart(targetSide) {\n\t\t\tthis.add('-sidestart', targetSide, 'Storm Surge');\n\t\t\tthis.add('-message', `Storm Surge flooded the afflicted side of the battlefield!`);\n\t\t},\n\t\tonEnd(targetSide) {\n\t\t\tthis.add('-sideend', targetSide, 'Storm Surge');\n\t\t\tthis.add('-message', 'The Storm Surge receded.');\n\t\t},\n\t\tonModifySpe() {\n\t\t\treturn this.chainModify(0.75);\n\t\t},\n\t},\n\t// Kipkluif, needs to end in mod to not trigger aelita's effect\n\tdegeneratormod: {\n\t\tonBeforeSwitchOut(pokemon) {\n\t\t\tlet alreadyAdded = false;\n\t\t\tfor (const source of this.effectState.sources) {\n\t\t\t\tif (!source.hp || source.volatiles['gastroacid']) continue;\n\t\t\t\tif (!alreadyAdded) {\n\t\t\t\t\tconst foe = pokemon.side.foe.active[0];\n\t\t\t\t\tif (foe) this.add('-activate', foe, 'ability: Degenerator');\n\t\t\t\t\talreadyAdded = true;\n\t\t\t\t}\n\t\t\t\tthis.damage((pokemon.baseMaxhp * 33) / 100, pokemon);\n\t\t\t}\n\t\t},\n\t},\n\t// For ravioliqueen\n\thaunting: {\n\t\tname: 'Haunting',\n\t\tonTrapPokemon(pokemon) {\n\t\t\tpokemon.tryTrap();\n\t\t},\n\t\tonStart(target) {\n\t\t\tthis.add('-start', target, 'Haunting');\n\t\t},\n\t\tonResidualOrder: 11,\n\t\tonResidual(pokemon) {\n\t\t\tthis.damage(pokemon.baseMaxhp / 8);\n\t\t},\n\t\tonEnd(pokemon) {\n\t\t\tthis.add('-end', pokemon, 'Haunting');\n\t\t},\n\t},\n\t// for pants' move\n\tgivewistfulthinking: {\n\t\tduration: 1,\n\t\tonSwitchInPriority: 1,\n\t\tonSwitchIn(pokemon) {\n\t\t\tpokemon.addVolatile('wistfulthinking');\n\t\t},\n\t},\n\t// focus punch effect for litt's move\n\tnexthuntcheck: {\n\t\tduration: 1,\n\t\tonStart(pokemon) {\n\t\t\tthis.add('-singleturn', pokemon, 'move: /nexthunt');\n\t\t},\n\t\tonHit(pokemon, source, move) {\n\t\t\tif (move.category !== 'Status') {\n\t\t\t\tpokemon.volatiles['nexthuntcheck'].lostFocus = true;\n\t\t\t}\n\t\t},\n\t},\n\t// For Gmars' Effects\n\tminior: {\n\t\tnoCopy: true,\n\t\tname: 'Minior',\n\t\t// Special Forme Effects\n\t\tonBeforeMove(pokemon) {\n\t\t\tif (pokemon.set.shiny) return;\n\t\t\tif (pokemon.species.id === \"miniorviolet\") {\n\t\t\t\tthis.add(`${getName(\"GMars\")} is thinking...`);\n\t\t\t\tif (this.randomChance(1, 3)) {\n\t\t\t\t\tthis.add('cant', pokemon, 'ability: Truant');\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonSwitchIn(pokemon) {\n\t\t\tif (pokemon.set.shiny) return;\n\t\t\tif (pokemon.species.id === 'miniorindigo') {\n\t\t\t\tthis.boost({atk: 1, spa: 1}, pokemon.side.foe.active[0]);\n\t\t\t} else if (pokemon.species.id === 'miniorgreen') {\n\t\t\t\tthis.boost({atk: 1}, pokemon);\n\t\t\t}\n\t\t},\n\t\tonTryBoost(boost, target, source, effect) {\n\t\t\tif (target.set.shiny) return;\n\t\t\tif (source && target === source) return;\n\t\t\tif (target.species.id !== 'miniorblue') return;\n\t\t\tlet showMsg = false;\n\t\t\tlet i: BoostID;\n\t\t\tfor (i in boost) {\n\t\t\t\tif (boost[i]! < 0) {\n\t\t\t\t\tdelete boost[i];\n\t\t\t\t\tshowMsg = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (showMsg && !(effect as ActiveMove).secondaries && effect.id !== 'octolock') {\n\t\t\t\tthis.add('message', 'Minior is translucent!');\n\t\t\t}\n\t\t},\n\t\tonFoeTryMove(target, source, move) {\n\t\t\tif (move.id === 'haze' && target.species.id === 'miniorblue' && !target.set.shiny) {\n\t\t\t\tmove.onHitField = function (this: Battle) {\n\t\t\t\t\tthis.add('-clearallboost');\n\t\t\t\t\tfor (const pokemon of this.getAllActive()) {\n\t\t\t\t\t\tif (pokemon.species.id === 'miniorblue') continue;\n\t\t\t\t\t\tpokemon.clearBoosts();\n\t\t\t\t\t}\n\t\t\t\t}.bind(this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst dazzlingHolder = this.effectState.target;\n\t\t\tif (!dazzlingHolder.set.shiny) return;\n\t\t\tif (dazzlingHolder.species.id !== 'minior') return;\n\t\t\tconst targetAllExceptions = ['perishsong', 'flowershield', 'rototiller'];\n\t\t\tif (move.target === 'foeSide' || (move.target === 'all' && !targetAllExceptions.includes(move.id))) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ((source.isAlly(dazzlingHolder) || move.target === 'all') && move.priority > 0.1) {\n\t\t\t\tthis.attrLastMove('[still]');\n\t\t\t\tthis.add('message', 'Minior dazzles!');\n\t\t\t\tthis.add('cant', target, move, '[of] ' + dazzlingHolder);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t},\n\t// modified paralysis for Inversion Terrain\n\tpar: {\n\t\tname: 'par',\n\t\teffectType: 'Status',\n\t\tonStart(target, source, sourceEffect) {\n\t\t\tif (sourceEffect && sourceEffect.effectType === 'Ability') {\n\t\t\t\tthis.add('-status', target, 'par', '[from] ability: ' + sourceEffect.name, '[of] ' + source);\n\t\t\t} else {\n\t\t\t\tthis.add('-status', target, 'par');\n\t\t\t}\n\t\t},\n\t\tonModifySpe(spe, pokemon) {\n\t\t\tif (pokemon.hasAbility('quickfeet')) return;\n\t\t\tif (this.field.isTerrain('inversionterrain') && pokemon.isGrounded()) {\n\t\t\t\treturn this.chainModify(2);\n\t\t\t}\n\t\t\treturn this.chainModify(0.5);\n\t\t},\n\t\tonBeforeMovePriority: 1,\n\t\tonBeforeMove(pokemon) {\n\t\t\tif (this.randomChance(1, 4)) {\n\t\t\t\tthis.add('cant', pokemon, 'par');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t},\n\tbigstormcomingmod: {\n\t\tname: \"Big Storm Coming Mod\",\n\t\tduration: 1,\n\t\tonBasePower() {\n\t\t\treturn this.chainModify([1229, 4096]);\n\t\t},\n\t},\n\n\t// condition used for brouha's ability\n\tturbulence: {\n\t\tname: 'Turbulence',\n\t\teffectType: 'Weather',\n\t\tduration: 0,\n\t\tonFieldStart(field, source, effect) {\n\t\t\tthis.add('-weather', 'DeltaStream', '[from] ability: ' + effect, '[of] ' + source);\n\t\t},\n\t\tonFieldResidualOrder: 1,\n\t\tonFieldResidual() {\n\t\t\tthis.add('-weather', 'DeltaStream', '[upkeep]');\n\t\t\tthis.eachEvent('Weather');\n\t\t},\n\t\tonWeather(target) {\n\t\t\tif (!target.hasType('Flying')) this.damage(target.baseMaxhp * 0.06);\n\t\t\tif (this.sides.some(side => Object.keys(side.sideConditions).length)) {\n\t\t\t\tthis.add(`-message`, 'The Turbulence blew away the hazards on both sides!');\n\t\t\t}\n\t\t\tif (this.field.terrain) {\n\t\t\t\tthis.add(`-message`, 'The Turbulence blew away the terrain!');\n\t\t\t}\n\t\t\tconst silentRemove = ['reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist'];\n\t\t\tfor (const side of this.sides) {\n\t\t\t\tconst keys = Object.keys(side.sideConditions);\n\t\t\t\tfor (const key of keys) {\n\t\t\t\t\tif (key.endsWith('mod') || key.endsWith('clause')) continue;\n\t\t\t\t\tside.removeSideCondition(key);\n\t\t\t\t\tif (!silentRemove.includes(key)) {\n\t\t\t\t\t\tthis.add('-sideend', side, this.dex.conditions.get(key).name, '[from] ability: Turbulence');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.field.clearTerrain();\n\t\t},\n\t\tonFieldEnd() {\n\t\t\tthis.add('-weather', 'none');\n\t\t},\n\t},\n\t// Modded rain dance for Kev's ability\n\traindance: {\n\t\tname: 'RainDance',\n\t\teffectType: 'Weather',\n\t\tduration: 5,\n\t\tdurationCallback(source) {\n\t\t\tlet newDuration = 5;\n\t\t\tlet boostNum = 0;\n\t\t\tif (source?.hasItem('damprock')) {\n\t\t\t\tnewDuration = 8;\n\t\t\t}\n\t\t\tif (source?.hasAbility('kingofatlantis')) {\n\t\t\t\tfor (const teammate of source.side.pokemon) {\n\t\t\t\t\tif (teammate.hasType('Water') && teammate !== source) {\n\t\t\t\t\t\tboostNum++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn newDuration + boostNum;\n\t\t},\n\t\tonWeatherModifyDamage(damage, attacker, defender, move) {\n\t\t\tif (defender.hasItem('utilityumbrella')) return;\n\t\t\tif (move.type === 'Water') {\n\t\t\t\tthis.debug('rain water boost');\n\t\t\t\treturn this.chainModify(1.5);\n\t\t\t}\n\t\t\tif (move.type === 'Fire') {\n\t\t\t\tthis.debug('rain fire suppress');\n\t\t\t\treturn this.chainModify(0.5);\n\t\t\t}\n\t\t},\n\t\tonFieldStart(field, source, effect) {\n\t\t\tif (effect?.effectType === 'Ability') {\n\t\t\t\tif (this.gen <= 5) this.effectState.duration = 0;\n\t\t\t\tthis.add('-weather', 'RainDance', '[from] ability: ' + effect, '[of] ' + source);\n\t\t\t} else {\n\t\t\t\tthis.add('-weather', 'RainDance');\n\t\t\t}\n\t\t},\n\t\tonFieldResidualOrder: 1,\n\t\tonFieldResidual() {\n\t\t\tthis.add('-weather', 'RainDance', '[upkeep]');\n\t\t\tthis.eachEvent('Weather');\n\t\t},\n\t\tonFieldEnd() {\n\t\t\tthis.add('-weather', 'none');\n\t\t},\n\t},\n\t// Modded hazard moves to fail when Wave terrain is active\n\tauroraveil: {\n\t\tname: \"Aurora Veil\",\n\t\tduration: 5,\n\t\tdurationCallback(target, source) {\n\t\t\tif (source?.hasItem('lightclay')) {\n\t\t\t\treturn 8;\n\t\t\t}\n\t\t\treturn 5;\n\t\t},\n\t\tonAnyModifyDamage(damage, source, target, move) {\n\t\t\tif (target !== source && this.effectState.target.hasAlly(target)) {\n\t\t\t\tif ((target.side.getSideCondition('reflect') && this.getCategory(move) === 'Physical') ||\n\t\t\t\t\t\t(target.side.getSideCondition('lightscreen') && this.getCategory(move) === 'Special')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!target.getMoveHitData(move).crit && !move.infiltrates) {\n\t\t\t\t\tthis.debug('Aurora Veil weaken');\n\t\t\t\t\tif (this.activePerHalf > 1) return this.chainModify([2732, 4096]);\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonSideStart(side) {\n\t\t\tif (this.field.isTerrain('waveterrain')) {\n\t\t\t\tthis.add('-message', `Wave Terrain prevented Aurora Veil from starting!`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.add('-sidestart', side, 'move: Aurora Veil');\n\t\t},\n\t\tonSideResidualOrder: 21,\n\t\tonSideResidualSubOrder: 1,\n\t\tonSideEnd(side) {\n\t\t\tthis.add('-sideend', side, 'move: Aurora Veil');\n\t\t},\n\t},\n\tlightscreen: {\n\t\tname: \"Light Screen\",\n\t\tduration: 5,\n\t\tdurationCallback(target, source) {\n\t\t\tif (source?.hasItem('lightclay')) {\n\t\t\t\treturn 8;\n\t\t\t}\n\t\t\treturn 5;\n\t\t},\n\t\tonAnyModifyDamage(damage, source, target, move) {\n\t\t\tif (target !== source && this.effectState.target.hasAlly(target) && this.getCategory(move) === 'Special') {\n\t\t\t\tif (!target.getMoveHitData(move).crit && !move.infiltrates) {\n\t\t\t\t\tthis.debug('Light Screen weaken');\n\t\t\t\t\tif (this.activePerHalf > 1) return this.chainModify([2732, 4096]);\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonSideStart(side) {\n\t\t\tif (this.field.isTerrain('waveterrain')) {\n\t\t\t\tthis.add('-message', `Wave Terrain prevented Light Screen from starting!`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.add('-sidestart', side, 'move: Light Screen');\n\t\t},\n\t\tonSideResidualOrder: 21,\n\t\tonSideResidualSubOrder: 1,\n\t\tonSideEnd(side) {\n\t\t\tthis.add('-sideend', side, 'move: Light Screen');\n\t\t},\n\t},\n\tmist: {\n\t\tname: \"Mist\",\n\t\tduration: 5,\n\t\tonTryBoost(boost, target, source, effect) {\n\t\t\tif (effect.effectType === 'Move' && effect.infiltrates && !target.isAlly(source)) return;\n\t\t\tif (source && target !== source) {\n\t\t\t\tlet showMsg = false;\n\t\t\t\tlet i: BoostID;\n\t\t\t\tfor (i in boost) {\n\t\t\t\t\tif (boost[i]! < 0) {\n\t\t\t\t\t\tdelete boost[i];\n\t\t\t\t\t\tshowMsg = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (showMsg && !(effect as ActiveMove).secondaries) {\n\t\t\t\t\tthis.add('-activate', target, 'move: Mist');\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonSideStart(side) {\n\t\t\tif (this.field.isTerrain('waveterrain')) {\n\t\t\t\tthis.add('-message', `Wave Terrain prevented Mist from starting!`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.add('-sidestart', side, 'move: Mist');\n\t\t},\n\t\tonSideResidualOrder: 21,\n\t\tonSideResidualSubOrder: 3,\n\t\tonSideEnd(side) {\n\t\t\tthis.add('-sideend', side, 'Mist');\n\t\t},\n\t},\n\treflect: {\n\t\tname: \"Reflect\",\n\t\tduration: 5,\n\t\tdurationCallback(target, source) {\n\t\t\tif (source?.hasItem('lightclay')) {\n\t\t\t\treturn 8;\n\t\t\t}\n\t\t\treturn 5;\n\t\t},\n\t\tonAnyModifyDamage(damage, source, target, move) {\n\t\t\tif (target !== source && this.effectState.target.hasAlly(target) && this.getCategory(move) === 'Physical') {\n\t\t\t\tif (!target.getMoveHitData(move).crit && !move.infiltrates) {\n\t\t\t\t\tthis.debug('Reflect weaken');\n\t\t\t\t\tif (this.activePerHalf > 1) return this.chainModify([2732, 4096]);\n\t\t\t\t\treturn this.chainModify(0.5);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonSideStart(side) {\n\t\t\tif (this.field.isTerrain('waveterrain')) {\n\t\t\t\tthis.add('-message', `Wave Terrain prevented Reflect from starting!`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.add('-sidestart', side, 'Reflect');\n\t\t},\n\t\tonSideResidualOrder: 21,\n\t\tonSideEnd(side) {\n\t\t\tthis.add('-sideend', side, 'Reflect');\n\t\t},\n\t},\n\tsafeguard: {\n\t\tname: \"Safeguard\",\n\t\tduration: 5,\n\t\tdurationCallback(target, source, effect) {\n\t\t\tif (source?.hasAbility('persistent')) {\n\t\t\t\tthis.add('-activate', source, 'ability: Persistent', effect);\n\t\t\t\treturn 7;\n\t\t\t}\n\t\t\treturn 5;\n\t\t},\n\t\tonSetStatus(status, target, source, effect) {\n\t\t\tif (!effect || !source) return;\n\t\t\tif (effect.effectType === 'Move' && effect.infiltrates && !target.isAlly(source)) return;\n\t\t\tif (target !== source) {\n\t\t\t\tthis.debug('interrupting setStatus');\n\t\t\t\tif (effect.id === 'synchronize' || (effect.effectType === 'Move' && !effect.secondaries)) {\n\t\t\t\t\tthis.add('-activate', target, 'move: Safeguard');\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tonTryAddVolatile(status, target, source, effect) {\n\t\t\tif (!effect || !source) return;\n\t\t\tif (effect.effectType === 'Move' && effect.infiltrates && !target.isAlly(source)) return;\n\t\t\tif ((status.id === 'confusion' || status.id === 'yawn') && target !== source) {\n\t\t\t\tif (effect.effectType === 'Move' && !effect.secondaries) this.add('-activate', target, 'move: Safeguard');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\t\tonSideStart(side) {\n\t\t\tif (this.field.isTerrain('waveterrain')) {\n\t\t\t\tthis.add('-message', `Wave Terrain prevented Safeguard from starting!`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.add('-sidestart', side, 'move: Safeguard');\n\t\t},\n\t\tonSideResidualOrder: 21,\n\t\tonSideResidualSubOrder: 2,\n\t\tonSideEnd(side) {\n\t\t\tthis.add('-sideend', side, 'Safeguard');\n\t\t},\n\t},\n\tgmaxsteelsurge: {\n\t\tonSideStart(side) {\n\t\t\tif (this.field.isTerrain('waveterrain')) {\n\t\t\t\tthis.add('-message', `Wave Terrain prevented Steel Spikes from starting!`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.add('-sidestart', side, 'move: G-Max Steelsurge');\n\t\t},\n\t\tonEntryHazard(pokemon) {\n\t\t\tif (pokemon.hasItem('heavydutyboots')) return;\n\t\t\t// Ice Face and Disguise correctly get typed damage from Stealth Rock\n\t\t\t// because Stealth Rock bypasses Substitute.\n\t\t\t// They don't get typed damage from Steelsurge because Steelsurge doesn't,\n\t\t\t// so we're going to test the damage of a Steel-type Stealth Rock instead.\n\t\t\tconst steelHazard = this.dex.getActiveMove('Stealth Rock');\n\t\t\tsteelHazard.type = 'Steel';\n\t\t\tconst typeMod = this.clampIntRange(pokemon.runEffectiveness(steelHazard), -6, 6);\n\t\t\tthis.damage(pokemon.maxhp * Math.pow(2, typeMod) / 8);\n\t\t},\n\t},\n\tspikes: {\n\t\tname: \"Spikes\",\n\t\tonSideStart(side) {\n\t\t\tif (this.field.isTerrain('waveterrain')) {\n\t\t\t\tthis.add('-message', `Wave Terrain prevented Spikes from starting!`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.effectState.layers = 1;\n\t\t\tthis.add('-sidestart', side, 'move: Spikes');\n\t\t},\n\t\tonSideRestart(side) {\n\t\t\tif (this.effectState.layers >= 3) return false;\n\t\t\tthis.add('-sidestart', side, 'Spikes');\n\t\t\tthis.effectState.layers++;\n\t\t},\n\t\tonEntryHazard(pokemon) {\n\t\t\tif (!pokemon.isGrounded() || pokemon.hasItem('heavydutyboots')) return;\n\t\t\tconst damageAmounts = [0, 3, 4, 6]; // 1/8, 1/6, 1/4\n\t\t\tthis.damage(damageAmounts[this.effectState.layers] * pokemon.maxhp / 24);\n\t\t},\n\t},\n\tstealthrock: {\n\t\tname: \"Stealth Rock\",\n\t\tonSideStart(side) {\n\t\t\tif (this.field.isTerrain('waveterrain')) {\n\t\t\t\tthis.add('-message', `Wave Terrain prevented Stealth Rock from starting!`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.add('-sidestart', side, 'move: Stealth Rock');\n\t\t},\n\t\tonEntryHazard(pokemon) {\n\t\t\tif (pokemon.hasItem('heavydutyboots')) return;\n\t\t\tconst typeMod = this.clampIntRange(pokemon.runEffectiveness(this.dex.getActiveMove('stealthrock')), -6, 6);\n\t\t\tthis.damage(pokemon.maxhp * Math.pow(2, typeMod) / 8);\n\t\t},\n\t},\n\tstickyweb: {\n\t\tname: \"Sticky Web\",\n\t\tonSideStart(side) {\n\t\t\tif (this.field.isTerrain('waveterrain')) {\n\t\t\t\tthis.add('-message', `Wave Terrain prevented Sticky Web from starting!`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.add('-sidestart', side, 'move: Sticky Web');\n\t\t},\n\t\tonEntryHazard(pokemon) {\n\t\t\tif (!pokemon.isGrounded() || pokemon.hasItem('heavydutyboots')) return;\n\t\t\tthis.add('-activate', pokemon, 'move: Sticky Web');\n\t\t\tthis.boost({spe: -1}, pokemon, pokemon.side.foe.active[0], this.dex.getActiveMove('stickyweb'));\n\t\t},\n\t},\n\ttoxicspikes: {\n\t\tname: \"Toxic Spikes\",\n\t\tonSideStart(side) {\n\t\t\tif (this.field.isTerrain('waveterrain')) {\n\t\t\t\tthis.add('-message', `Wave Terrain prevented Toxic Spikes from starting!`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tthis.add('-sidestart', side, 'move: Toxic Spikes');\n\t\t\tthis.effectState.layers = 1;\n\t\t},\n\t\tonSideRestart(side) {\n\t\t\tif (this.effectState.layers >= 2) return false;\n\t\t\tthis.add('-sidestart', side, 'move: Toxic Spikes');\n\t\t\tthis.effectState.layers++;\n\t\t},\n\t\tonEntryHazard(pokemon) {\n\t\t\tif (!pokemon.isGrounded()) return;\n\t\t\tif (pokemon.hasType('Poison')) {\n\t\t\t\tthis.add('-sideend', pokemon.side, 'move: Toxic Spikes', '[of] ' + pokemon);\n\t\t\t\tpokemon.side.removeSideCondition('toxicspikes');\n\t\t\t} else if (pokemon.hasType('Steel') || pokemon.hasItem('heavydutyboots')) {\n\t\t\t\treturn;\n\t\t\t} else if (this.effectState.layers >= 2) {\n\t\t\t\tpokemon.trySetStatus('tox', pokemon.side.foe.active[0]);\n\t\t\t} else {\n\t\t\t\tpokemon.trySetStatus('psn', pokemon.side.foe.active[0]);\n\t\t\t}\n\t\t},\n\t},\n\tfrz: {\n\t\tinherit: true,\n\t\tonHit(target, source, move) {\n\t\t\tif (move.thawsTarget || move.type === 'Fire' && move.category !== 'Status') {\n\t\t\t\ttarget.cureStatus();\n\t\t\t\tif (move.id === 'randomscreaming') {\n\t\t\t\t\tthis.add(`c:|${Math.floor(Date.now() / 1000)}|${getName('Gimmick')}|Give me some more paaain, baaaby`);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\t// No, you're not dynamaxing.\n\tdynamax: {\n\t\tinherit: true,\n\t\tonStart(pokemon) {\n\t\t\tpokemon.removeVolatile('minimize');\n\t\t\tpokemon.removeVolatile('substitute');\n\t\t\tif (pokemon.volatiles['torment']) {\n\t\t\t\tdelete pokemon.volatiles['torment'];\n\t\t\t\tthis.add('-end', pokemon, 'Torment', '[silent]');\n\t\t\t}\n\t\t\tif (['cramorantgulping', 'cramorantgorging'].includes(pokemon.species.id) && !pokemon.transformed) {\n\t\t\t\tpokemon.formeChange('cramorant');\n\t\t\t}\n\t\t\tthis.add('-start', pokemon, 'Dynamax');\n\t\t\tif (pokemon.gigantamax) this.add('-formechange', pokemon, pokemon.species.name + '-Gmax');\n\t\t\tif (pokemon.baseSpecies.name !== 'Shedinja') {\n\t\t\t\t// Changes based on dynamax level, 2 is max (at LVL 10)\n\t\t\t\tconst ratio = this.format.id.startsWith('gen8doublesou') ? 1.5 : 2;\n\n\t\t\t\tpokemon.maxhp = Math.floor(pokemon.maxhp * ratio);\n\t\t\t\tpokemon.hp = Math.floor(pokemon.hp * ratio);\n\n\t\t\t\tthis.add('-heal', pokemon, pokemon.getHealth, '[silent]');\n\t\t\t}\n\t\t\tthis.add('-message', 'Ok. sure. Dynamax. Just abuse it and win the game already.');\n\t\t\t// This is just for fun, as dynamax cannot be in a rated battle.\n\t\t\tthis.win(pokemon.side);\n\t\t},\n\t},\n\techoedvoiceclone: {\n\t\tduration: 2,\n\t\tonFieldStart() {\n\t\t\tthis.effectState.multiplier = 1;\n\t\t},\n\t\tonFieldRestart() {\n\t\t\tif (this.effectState.duration !== 2) {\n\t\t\t\tthis.effectState.duration = 2;\n\t\t\t\tif (this.effectState.multiplier < 5) {\n\t\t\t\t\tthis.effectState.multiplier++;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n};\n"], "mappings": "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", "names": [] }