Pokemon_server / dist /data /mods /gen8 /rulesets.js.map
Jofthomas's picture
Jofthomas HF staff
Upload 4781 files
5c2ed06 verified
{
"version": 3,
"sources": ["../../../../data/mods/gen8/rulesets.ts"],
"sourcesContent": ["export const Rulesets: import('../../../sim/dex-formats').ModdedFormatDataTable = {\n\tstandard: {\n\t\tinherit: true,\n\t\truleset: [\n\t\t\t'Obtainable', 'Team Preview', 'Sleep Clause Mod', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Items Clause', 'Evasion Moves Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod',\n\t\t],\n\t},\n\tstandarddoubles: {\n\t\tinherit: true,\n\t\truleset: [\n\t\t\t'Obtainable', 'Team Preview', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Gravity Sleep Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod',\n\t\t],\n\t},\n\tstandardoms: {\n\t\tinherit: true,\n\t\truleset: [\n\t\t\t'Obtainable', 'Team Preview', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Endless Battle Clause', 'Dynamax Clause', 'HP Percentage Mod', 'Cancel Mod', 'Overflow Stat Mod',\n\t\t],\n\t},\n\tteampreview: {\n\t\tinherit: true,\n\t\tonTeamPreview() {\n\t\t\tthis.add('clearpoke');\n\t\t\tfor (const pokemon of this.getAllPokemon()) {\n\t\t\t\tconst details = pokemon.details.replace(', shiny', '')\n\t\t\t\t\t.replace(/(Arceus|Greninja|Gourgeist|Pumpkaboo|Xerneas|Silvally|Urshifu|Dudunsparce)(-[a-zA-Z?-]+)?/g, '$1-*')\n\t\t\t\t\t.replace(/(Zacian|Zamazenta)(?!-Crowned)/g, '$1-*'); // Hacked-in Crowned formes will be revealed\n\t\t\t\tthis.add('poke', pokemon.side.id, details, '');\n\t\t\t}\n\t\t\tthis.makeRequest('teampreview');\n\t\t},\n\t},\n\ttiershiftmod: {\n\t\tinherit: true,\n\t\tdesc: `Pok&eacute;mon below OU get their stats, excluding HP, boosted. UU/RUBL get +10, RU/NUBL get +20, NU/PUBL get +30, and PU or lower get +40.`,\n\t\tonModifySpecies(species, target, source, effect) {\n\t\t\tif (!species.baseStats) return;\n\t\t\tconst boosts: { [tier: string]: number } = {\n\t\t\t\tuu: 10,\n\t\t\t\trubl: 10,\n\t\t\t\tru: 20,\n\t\t\t\tnubl: 20,\n\t\t\t\tnu: 30,\n\t\t\t\tpubl: 30,\n\t\t\t\tpu: 40,\n\t\t\t\tzubl: 40,\n\t\t\t\tzu: 40,\n\t\t\t\tnfe: 40,\n\t\t\t\tlc: 40,\n\t\t\t};\n\t\t\tlet tier: string = this.toID(species.tier);\n\t\t\tif (!(tier in boosts)) return;\n\t\t\t// Non-Pokemon bans in lower tiers\n\t\t\tif (target) {\n\t\t\t\tif (target.set.item === 'lightclay') return;\n\t\t\t\tif (['drizzle', 'drought', 'slushrush'].includes(target.set.ability) && boosts[tier] > 20) tier = 'nubl';\n\t\t\t}\n\t\t\tconst pokemon = this.dex.deepClone(species);\n\t\t\tpokemon.bst = pokemon.baseStats['hp'];\n\t\t\tconst boost = boosts[tier];\n\t\t\tlet statName: StatID;\n\t\t\tfor (statName in pokemon.baseStats as StatsTable) {\n\t\t\t\tif (statName === 'hp') continue;\n\t\t\t\tpokemon.baseStats[statName] = this.clampIntRange(pokemon.baseStats[statName] + boost, 1, 255);\n\t\t\t\tpokemon.bst += pokemon.baseStats[statName];\n\t\t\t}\n\t\t\treturn pokemon;\n\t\t},\n\t},\n\tbonustypemod: {\n\t\tinherit: true,\n\t\tdesc: `Pok&eacute;mon can be nicknamed the name of a type to have that type added onto their current ones.`,\n\t\tonBegin() {\n\t\t\tthis.add('rule', 'Bonus Type Mod: Pok\\u00e9mon can be nicknamed the name of a type to have that type added onto their current ones.');\n\t\t},\n\t\tonModifySpecies(species, target, source, effect) {\n\t\t\tif (!target) return; // Chat command\n\t\t\tif (effect && ['imposter', 'transform'].includes(effect.id)) return;\n\t\t\tconst typesSet = new Set(species.types);\n\t\t\tconst bonusType = this.dex.types.get(target.set.name);\n\t\t\tif (bonusType.exists) typesSet.add(bonusType.name);\n\t\t\treturn { ...species, types: [...typesSet] };\n\t\t},\n\t},\n\tgodlygiftmod: {\n\t\tinherit: true,\n\t\tonValidateTeam(team) {\n\t\t\tconst gods = new Set<string>();\n\t\t\tfor (const set of team) {\n\t\t\t\tlet species = this.dex.species.get(set.species);\n\t\t\t\tif (typeof species.battleOnly === 'string') species = this.dex.species.get(species.battleOnly);\n\t\t\t\tif ([\"Zacian\", \"Zamazenta\"].includes(species.baseSpecies) && this.toID(set.item).startsWith('rusted')) {\n\t\t\t\t\tspecies = this.dex.species.get(set.species + \"-Crowned\");\n\t\t\t\t}\n\t\t\t\tif (set.item && this.dex.items.get(set.item).megaStone) {\n\t\t\t\t\tconst item = this.dex.items.get(set.item);\n\t\t\t\t\tif (item.megaEvolves === species.baseSpecies) {\n\t\t\t\t\t\tspecies = this.dex.species.get(item.megaStone);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t['ag', 'uber'].includes(this.toID(this.ruleTable.has('standardnatdex') ? species.natDexTier : species.tier)) ||\n\t\t\t\t\tthis.toID(set.ability) === 'powerconstruct'\n\t\t\t\t) {\n\t\t\t\t\tgods.add(species.name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (gods.size > 1) {\n\t\t\t\treturn [`You have too many Gods.`, `(${Array.from(gods).join(', ')} are Gods.)`];\n\t\t\t}\n\t\t},\n\t\tonModifySpeciesPriority: 3,\n\t\tonModifySpecies(species, target, source) {\n\t\t\tif (source || !target?.side) return;\n\t\t\tconst god = target.side.team.find(set => {\n\t\t\t\tlet godSpecies = this.dex.species.get(set.species);\n\t\t\t\tconst isNatDex = this.format.ruleTable?.has('standardnatdex');\n\t\t\t\tconst validator = this.dex.formats.getRuleTable(\n\t\t\t\t\tthis.dex.formats.get(`gen${this.gen}${isNatDex && this.gen >= 8 ? 'nationaldex' : 'ou'}`)\n\t\t\t\t);\n\t\t\t\tif (this.toID(set.ability) === 'powerconstruct') {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (set.item) {\n\t\t\t\t\tconst item = this.dex.items.get(set.item);\n\t\t\t\t\tif (item.megaEvolves === set.species) godSpecies = this.dex.species.get(item.megaStone);\n\t\t\t\t\tif ([\"Zacian\", \"Zamazenta\"].includes(godSpecies.baseSpecies) && item.id.startsWith('rusted')) {\n\t\t\t\t\t\tgodSpecies = this.dex.species.get(set.species + \"-Crowned\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst isBanned = validator.isBannedSpecies(godSpecies);\n\t\t\t\treturn isBanned;\n\t\t\t}) || target.side.team[0];\n\t\t\tconst stat = Dex.stats.ids()[target.side.team.indexOf(target.set)];\n\t\t\tconst newSpecies = this.dex.deepClone(species);\n\t\t\tlet godSpecies = this.dex.species.get(god.species);\n\t\t\tif (typeof godSpecies.battleOnly === 'string') {\n\t\t\t\tgodSpecies = this.dex.species.get(godSpecies.battleOnly);\n\t\t\t}\n\t\t\tnewSpecies.bst -= newSpecies.baseStats[stat];\n\t\t\tnewSpecies.baseStats[stat] = godSpecies.baseStats[stat];\n\t\t\tif (this.gen === 1 && (stat === 'spa' || stat === 'spd')) {\n\t\t\t\tnewSpecies.baseStats['spa'] = newSpecies.baseStats['spd'] = godSpecies.baseStats[stat];\n\t\t\t}\n\t\t\tnewSpecies.bst += newSpecies.baseStats[stat];\n\t\t\treturn newSpecies;\n\t\t},\n\t},\n};\n"],
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,WAAqE;AAAA,EACjF,UAAU;AAAA,IACT,SAAS;AAAA,IACT,SAAS;AAAA,MACR;AAAA,MAAc;AAAA,MAAgB;AAAA,MAAoB;AAAA,MAAkB;AAAA,MAAmB;AAAA,MAAe;AAAA,MAAwB;AAAA,MAAwB;AAAA,MAAyB;AAAA,MAAqB;AAAA,IACrM;AAAA,EACD;AAAA,EACA,iBAAiB;AAAA,IAChB,SAAS;AAAA,IACT,SAAS;AAAA,MACR;AAAA,MAAc;AAAA,MAAgB;AAAA,MAAkB;AAAA,MAAmB;AAAA,MAAe;AAAA,MAAwB;AAAA,MAAwB;AAAA,MAAyB;AAAA,MAAqB;AAAA,IACjL;AAAA,EACD;AAAA,EACA,aAAa;AAAA,IACZ,SAAS;AAAA,IACT,SAAS;AAAA,MACR;AAAA,MAAc;AAAA,MAAgB;AAAA,MAAkB;AAAA,MAAmB;AAAA,MAAe;AAAA,MAAwB;AAAA,MAAyB;AAAA,MAAkB;AAAA,MAAqB;AAAA,MAAc;AAAA,IACzL;AAAA,EACD;AAAA,EACA,aAAa;AAAA,IACZ,SAAS;AAAA,IACT,gBAAgB;AACf,WAAK,IAAI,WAAW;AACpB,iBAAW,WAAW,KAAK,cAAc,GAAG;AAC3C,cAAM,UAAU,QAAQ,QAAQ,QAAQ,WAAW,EAAE,EACnD,QAAQ,8FAA8F,MAAM,EAC5G,QAAQ,mCAAmC,MAAM;AACnD,aAAK,IAAI,QAAQ,QAAQ,KAAK,IAAI,SAAS,EAAE;AAAA,MAC9C;AACA,WAAK,YAAY,aAAa;AAAA,IAC/B;AAAA,EACD;AAAA,EACA,cAAc;AAAA,IACb,SAAS;AAAA,IACT,MAAM;AAAA,IACN,gBAAgB,SAAS,QAAQ,QAAQ,QAAQ;AAChD,UAAI,CAAC,QAAQ;AAAW;AACxB,YAAM,SAAqC;AAAA,QAC1C,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,IAAI;AAAA,MACL;AACA,UAAI,OAAe,KAAK,KAAK,QAAQ,IAAI;AACzC,UAAI,EAAE,QAAQ;AAAS;AAEvB,UAAI,QAAQ;AACX,YAAI,OAAO,IAAI,SAAS;AAAa;AACrC,YAAI,CAAC,WAAW,WAAW,WAAW,EAAE,SAAS,OAAO,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI;AAAI,iBAAO;AAAA,MACnG;AACA,YAAM,UAAU,KAAK,IAAI,UAAU,OAAO;AAC1C,cAAQ,MAAM,QAAQ,UAAU,IAAI;AACpC,YAAM,QAAQ,OAAO,IAAI;AACzB,UAAI;AACJ,WAAK,YAAY,QAAQ,WAAyB;AACjD,YAAI,aAAa;AAAM;AACvB,gBAAQ,UAAU,QAAQ,IAAI,KAAK,cAAc,QAAQ,UAAU,QAAQ,IAAI,OAAO,GAAG,GAAG;AAC5F,gBAAQ,OAAO,QAAQ,UAAU,QAAQ;AAAA,MAC1C;AACA,aAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,cAAc;AAAA,IACb,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AACT,WAAK,IAAI,QAAQ,iHAAmH;AAAA,IACrI;AAAA,IACA,gBAAgB,SAAS,QAAQ,QAAQ,QAAQ;AAChD,UAAI,CAAC;AAAQ;AACb,UAAI,UAAU,CAAC,YAAY,WAAW,EAAE,SAAS,OAAO,EAAE;AAAG;AAC7D,YAAM,WAAW,IAAI,IAAI,QAAQ,KAAK;AACtC,YAAM,YAAY,KAAK,IAAI,MAAM,IAAI,OAAO,IAAI,IAAI;AACpD,UAAI,UAAU;AAAQ,iBAAS,IAAI,UAAU,IAAI;AACjD,aAAO,EAAE,GAAG,SAAS,OAAO,CAAC,GAAG,QAAQ,EAAE;AAAA,IAC3C;AAAA,EACD;AAAA,EACA,cAAc;AAAA,IACb,SAAS;AAAA,IACT,eAAe,MAAM;AACpB,YAAM,OAAO,oBAAI,IAAY;AAC7B,iBAAW,OAAO,MAAM;AACvB,YAAI,UAAU,KAAK,IAAI,QAAQ,IAAI,IAAI,OAAO;AAC9C,YAAI,OAAO,QAAQ,eAAe;AAAU,oBAAU,KAAK,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAC7F,YAAI,CAAC,UAAU,WAAW,EAAE,SAAS,QAAQ,WAAW,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,WAAW,QAAQ,GAAG;AACtG,oBAAU,KAAK,IAAI,QAAQ,IAAI,IAAI,UAAU,UAAU;AAAA,QACxD;AACA,YAAI,IAAI,QAAQ,KAAK,IAAI,MAAM,IAAI,IAAI,IAAI,EAAE,WAAW;AACvD,gBAAM,OAAO,KAAK,IAAI,MAAM,IAAI,IAAI,IAAI;AACxC,cAAI,KAAK,gBAAgB,QAAQ,aAAa;AAC7C,sBAAU,KAAK,IAAI,QAAQ,IAAI,KAAK,SAAS;AAAA,UAC9C;AAAA,QACD;AACA,YACC,CAAC,MAAM,MAAM,EAAE,SAAS,KAAK,KAAK,KAAK,UAAU,IAAI,gBAAgB,IAAI,QAAQ,aAAa,QAAQ,IAAI,CAAC,KAC3G,KAAK,KAAK,IAAI,OAAO,MAAM,kBAC1B;AACD,eAAK,IAAI,QAAQ,IAAI;AAAA,QACtB;AAAA,MACD;AACA,UAAI,KAAK,OAAO,GAAG;AAClB,eAAO,CAAC,2BAA2B,IAAI,MAAM,KAAK,IAAI,EAAE,KAAK,IAAI,cAAc;AAAA,MAChF;AAAA,IACD;AAAA,IACA,yBAAyB;AAAA,IACzB,gBAAgB,SAAS,QAAQ,QAAQ;AACxC,UAAI,UAAU,CAAC,QAAQ;AAAM;AAC7B,YAAM,MAAM,OAAO,KAAK,KAAK,KAAK,SAAO;AACxC,YAAIA,cAAa,KAAK,IAAI,QAAQ,IAAI,IAAI,OAAO;AACjD,cAAM,WAAW,KAAK,OAAO,WAAW,IAAI,gBAAgB;AAC5D,cAAM,YAAY,KAAK,IAAI,QAAQ;AAAA,UAClC,KAAK,IAAI,QAAQ,IAAI,MAAM,KAAK,MAAM,YAAY,KAAK,OAAO,IAAI,gBAAgB,MAAM;AAAA,QACzF;AACA,YAAI,KAAK,KAAK,IAAI,OAAO,MAAM,kBAAkB;AAChD,iBAAO;AAAA,QACR;AACA,YAAI,IAAI,MAAM;AACb,gBAAM,OAAO,KAAK,IAAI,MAAM,IAAI,IAAI,IAAI;AACxC,cAAI,KAAK,gBAAgB,IAAI;AAAS,YAAAA,cAAa,KAAK,IAAI,QAAQ,IAAI,KAAK,SAAS;AACtF,cAAI,CAAC,UAAU,WAAW,EAAE,SAASA,YAAW,WAAW,KAAK,KAAK,GAAG,WAAW,QAAQ,GAAG;AAC7F,YAAAA,cAAa,KAAK,IAAI,QAAQ,IAAI,IAAI,UAAU,UAAU;AAAA,UAC3D;AAAA,QACD;AACA,cAAM,WAAW,UAAU,gBAAgBA,WAAU;AACrD,eAAO;AAAA,MACR,CAAC,KAAK,OAAO,KAAK,KAAK,CAAC;AACxB,YAAM,OAAO,IAAI,MAAM,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,OAAO,GAAG,CAAC;AACjE,YAAM,aAAa,KAAK,IAAI,UAAU,OAAO;AAC7C,UAAI,aAAa,KAAK,IAAI,QAAQ,IAAI,IAAI,OAAO;AACjD,UAAI,OAAO,WAAW,eAAe,UAAU;AAC9C,qBAAa,KAAK,IAAI,QAAQ,IAAI,WAAW,UAAU;AAAA,MACxD;AACA,iBAAW,OAAO,WAAW,UAAU,IAAI;AAC3C,iBAAW,UAAU,IAAI,IAAI,WAAW,UAAU,IAAI;AACtD,UAAI,KAAK,QAAQ,MAAM,SAAS,SAAS,SAAS,QAAQ;AACzD,mBAAW,UAAU,KAAK,IAAI,WAAW,UAAU,KAAK,IAAI,WAAW,UAAU,IAAI;AAAA,MACtF;AACA,iBAAW,OAAO,WAAW,UAAU,IAAI;AAC3C,aAAO;AAAA,IACR;AAAA,EACD;AACD;",
"names": ["godSpecies"]
}