{ "version": 3, "sources": ["../../../../../data/mods/pokebilities/scripts.ts"], "sourcesContent": ["export const Scripts: ModdedBattleScriptsData = {\r\n\tgen: 9,\r\n\tfield: {\r\n\t\tsuppressingWeather() {\r\n\t\t\tfor (const pokemon of this.battle.getAllActive()) {\r\n\t\t\t\tif (pokemon && !pokemon.fainted && !pokemon.ignoringAbility() &&\r\n\t\t\t\t\t(pokemon.getAbility().suppressWeather ||\r\n\t\t\t\t\t\tpokemon.m.innates?.some((k: string) => this.battle.dex.abilities.get(k).suppressWeather))) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t},\r\n\t},\r\n\tpokemon: {\r\n\t\tignoringAbility() {\r\n\t\t\t// Check if any active pokemon have the ability Neutralizing Gas\r\n\t\t\tlet neutralizinggas = false;\r\n\t\t\tfor (const pokemon of this.battle.getAllActive()) {\r\n\t\t\t\t// can't use hasAbility because it would lead to infinite recursion\r\n\t\t\t\tif (\r\n\t\t\t\t\t(pokemon.ability === ('neutralizinggas' as ID) || pokemon.m.innates?.some((k: string) => k === 'neutralizinggas')) &&\r\n\t\t\t\t\t!pokemon.volatiles['gastroacid'] && !pokemon.abilityState.ending\r\n\t\t\t\t) {\r\n\t\t\t\t\tneutralizinggas = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn !!(\r\n\t\t\t\t(this.battle.gen >= 5 && !this.isActive) ||\r\n\t\t\t\t((this.volatiles['gastroacid'] ||\r\n\t\t\t\t\t(neutralizinggas && (this.ability !== ('neutralizinggas' as ID) ||\r\n\t\t\t\t\t\tthis.m.innates?.some((k: string) => k === 'neutralizinggas'))\r\n\t\t\t\t\t)) && !this.getAbility().isPermanent\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t},\r\n\t\thasAbility(ability) {\r\n\t\t\tif (this.ignoringAbility()) return false;\r\n\t\t\tif (Array.isArray(ability)) return ability.some(abil => this.hasAbility(abil));\r\n\t\t\tability = this.battle.toID(ability);\r\n\t\t\treturn this.ability === ability || !!this.volatiles['ability:' + ability];\r\n\t\t},\r\n\t\ttransformInto(pokemon, effect) {\r\n\t\t\tconst species = pokemon.species;\r\n\t\t\tif (pokemon.fainted || this.illusion || pokemon.illusion || (pokemon.volatiles['substitute'] && this.battle.gen >= 5) ||\r\n\t\t\t\t(pokemon.transformed && this.battle.gen >= 2) || (this.transformed && this.battle.gen >= 5) ||\r\n\t\t\t\tspecies.name === 'Eternatus-Eternamax') {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (!this.setSpecies(species, effect, true)) return false;\r\n\r\n\t\t\tthis.transformed = true;\r\n\t\t\tthis.weighthg = pokemon.weighthg;\r\n\r\n\t\t\tconst types = pokemon.getTypes(true, true);\r\n\t\t\tthis.setType(pokemon.volatiles['roost'] ? pokemon.volatiles['roost'].typeWas : types, true);\r\n\t\t\tthis.addedType = pokemon.addedType;\r\n\t\t\tthis.knownType = this.isAlly(pokemon) && pokemon.knownType;\r\n\t\t\tthis.apparentType = pokemon.apparentType;\r\n\r\n\t\t\tlet statName: StatIDExceptHP;\r\n\t\t\tfor (statName in this.storedStats) {\r\n\t\t\t\tthis.storedStats[statName] = pokemon.storedStats[statName];\r\n\t\t\t\tif (this.modifiedStats) this.modifiedStats[statName] = pokemon.modifiedStats![statName]; // Gen 1: Copy modified stats.\r\n\t\t\t}\r\n\t\t\tthis.moveSlots = [];\r\n\t\t\tthis.set.ivs = (this.battle.gen >= 5 ? this.set.ivs : pokemon.set.ivs);\r\n\t\t\tthis.hpType = (this.battle.gen >= 5 ? this.hpType : pokemon.hpType);\r\n\t\t\tthis.hpPower = (this.battle.gen >= 5 ? this.hpPower : pokemon.hpPower);\r\n\t\t\tthis.timesAttacked = pokemon.timesAttacked;\r\n\t\t\tfor (const moveSlot of pokemon.moveSlots) {\r\n\t\t\t\tlet moveName = moveSlot.move;\r\n\t\t\t\tif (moveSlot.id === 'hiddenpower') {\r\n\t\t\t\t\tmoveName = 'Hidden Power ' + this.hpType;\r\n\t\t\t\t}\r\n\t\t\t\tthis.moveSlots.push({\r\n\t\t\t\t\tmove: moveName,\r\n\t\t\t\t\tid: moveSlot.id,\r\n\t\t\t\t\tpp: moveSlot.maxpp === 1 ? 1 : 5,\r\n\t\t\t\t\tmaxpp: this.battle.gen >= 5 ? (moveSlot.maxpp === 1 ? 1 : 5) : moveSlot.maxpp,\r\n\t\t\t\t\ttarget: moveSlot.target,\r\n\t\t\t\t\tdisabled: false,\r\n\t\t\t\t\tused: false,\r\n\t\t\t\t\tvirtual: true,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tlet boostName: BoostID;\r\n\t\t\tfor (boostName in pokemon.boosts) {\r\n\t\t\t\tthis.boosts[boostName] = pokemon.boosts[boostName];\r\n\t\t\t}\r\n\t\t\tif (this.battle.gen >= 6) {\r\n\t\t\t\tconst volatilesToCopy = ['focusenergy', 'gmaxchistrike', 'laserfocus'];\r\n\t\t\t\tfor (const volatile of volatilesToCopy) {\r\n\t\t\t\t\tif (pokemon.volatiles[volatile]) {\r\n\t\t\t\t\t\tthis.addVolatile(volatile);\r\n\t\t\t\t\t\tif (volatile === 'gmaxchistrike') this.volatiles[volatile].layers = pokemon.volatiles[volatile].layers;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.removeVolatile(volatile);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (effect) {\r\n\t\t\t\tthis.battle.add('-transform', this, pokemon, '[from] ' + effect.fullname);\r\n\t\t\t} else {\r\n\t\t\t\tthis.battle.add('-transform', this, pokemon);\r\n\t\t\t}\r\n\t\t\tif (this.terastallized && this.terastallized !== this.apparentType) {\r\n\t\t\t\tthis.battle.add('-start', this, 'typechange', this.terastallized, '[silent]');\r\n\t\t\t\tthis.apparentType = this.terastallized;\r\n\t\t\t}\r\n\t\t\tif (this.battle.gen > 2) {\r\n\t\t\t\tthis.setAbility(pokemon.ability, this, true);\r\n\t\t\t\tif (this.m.innates) {\r\n\t\t\t\t\tfor (const innate of this.m.innates) {\r\n\t\t\t\t\t\tthis.removeVolatile('ability:' + innate);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (pokemon.m.innates) {\r\n\t\t\t\t\tfor (const innate of pokemon.m.innates) {\r\n\t\t\t\t\t\tthis.addVolatile('ability:' + innate, this);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Change formes based on held items (for Transform)\r\n\t\t\t// Only ever relevant in Generation 4 since Generation 3 didn't have item-based forme changes\r\n\t\t\tif (this.battle.gen === 4) {\r\n\t\t\t\tif (this.species.num === 487) {\r\n\t\t\t\t\t// Giratina formes\r\n\t\t\t\t\tif (this.species.name === 'Giratina' && this.item === 'griseousorb') {\r\n\t\t\t\t\t\tthis.formeChange('Giratina-Origin');\r\n\t\t\t\t\t} else if (this.species.name === 'Giratina-Origin' && this.item !== 'griseousorb') {\r\n\t\t\t\t\t\tthis.formeChange('Giratina');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (this.species.num === 493) {\r\n\t\t\t\t\t// Arceus formes\r\n\t\t\t\t\tconst item = this.getItem();\r\n\t\t\t\t\tconst targetForme = (item?.onPlate ? 'Arceus-' + item.onPlate : 'Arceus');\r\n\t\t\t\t\tif (this.species.name !== targetForme) {\r\n\t\t\t\t\t\tthis.formeChange(targetForme);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t},\r\n\t\t/**\r\n\t\t * Changes this Pokemon's forme to match the given speciesId (or species).\r\n\t\t * This function handles all changes to stats, ability, type, species, etc.\r\n\t\t * as well as sending all relevant messages sent to the client.\r\n\t\t */\r\n\t\tformeChange(speciesId, source, isPermanent, message) {\r\n\t\t\tif (!source) source = this.battle.effect;\r\n\r\n\t\t\tconst rawSpecies = this.battle.dex.species.get(speciesId);\r\n\r\n\t\t\tconst species = this.setSpecies(rawSpecies, source);\r\n\t\t\tif (!species) return false;\r\n\r\n\t\t\tif (this.battle.gen <= 2) return true;\r\n\r\n\t\t\t// The species the opponent sees\r\n\t\t\tconst apparentSpecies =\r\n\t\t\t\tthis.illusion ? this.illusion.species.name : species.baseSpecies;\r\n\t\t\tif (isPermanent) {\r\n\t\t\t\tthis.baseSpecies = rawSpecies;\r\n\t\t\t\tthis.details = species.name + (this.level === 100 ? '' : ', L' + this.level) +\r\n\t\t\t\t\t(this.gender === '' ? '' : ', ' + this.gender) + (this.set.shiny ? ', shiny' : '');\r\n\t\t\t\tthis.battle.add('detailschange', this, (this.illusion || this).details);\r\n\t\t\t\tif (source.effectType === 'Item') {\r\n\t\t\t\t\tif (source.zMove) {\r\n\t\t\t\t\t\tthis.battle.add('-burst', this, apparentSpecies, species.requiredItem);\r\n\t\t\t\t\t\tthis.moveThisTurnResult = true; // Ultra Burst counts as an action for Truant\r\n\t\t\t\t\t} else if (source.onPrimal) {\r\n\t\t\t\t\t\tif (this.illusion) {\r\n\t\t\t\t\t\t\tthis.ability = '';\r\n\t\t\t\t\t\t\tthis.battle.add('-primal', this.illusion);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.battle.add('-primal', this);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.battle.add('-mega', this, apparentSpecies, species.requiredItem);\r\n\t\t\t\t\t\tthis.moveThisTurnResult = true; // Mega Evolution counts as an action for Truant\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (source.effectType === 'Status') {\r\n\t\t\t\t\t// Shaymin-Sky -> Shaymin\r\n\t\t\t\t\tthis.battle.add('-formechange', this, species.name, message);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (source.effectType === 'Ability') {\r\n\t\t\t\t\tthis.battle.add('-formechange', this, species.name, message, `[from] ability: ${source.name}`);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.battle.add('-formechange', this, this.illusion ? this.illusion.species.name : species.name, message);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (isPermanent && !['disguise', 'iceface', 'ability:disguise', 'ability:iceface'].includes(source.id)) {\r\n\t\t\t\tif (this.illusion) {\r\n\t\t\t\t\tthis.ability = ''; // Don't allow Illusion to wear off\r\n\t\t\t\t}\r\n\t\t\t\tthis.setAbility(species.abilities['0'], null, true);\r\n\t\t\t\tthis.baseAbility = this.ability;\r\n\t\t\t}\r\n\t\t\tif (this.terastallized && this.terastallized !== this.apparentType) {\r\n\t\t\t\tthis.battle.add('-start', this, 'typechange', this.terastallized, '[silent]');\r\n\t\t\t\tthis.apparentType = this.terastallized;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t},\r\n\t},\r\n};\r\n"], "mappings": "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", "names": [] }