mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-04-25 07:22:09 -05:00
SSB: Add Imperial
This commit is contained in:
parent
8c3da840ba
commit
d3bfe8eacd
|
|
@ -1049,6 +1049,27 @@ export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTa
|
|||
},
|
||||
},
|
||||
|
||||
// Imperial
|
||||
frozenfortuity: {
|
||||
shortDesc: "On switch-in, changes the Pokemon to Kyurem-Black if the target's Defense is lower, otherwise Kyurem-White.",
|
||||
name: "Frozen Fortuity",
|
||||
onStart(pokemon) {
|
||||
let totaldef = 0;
|
||||
let totalspd = 0;
|
||||
for (const target of pokemon.foes()) {
|
||||
totaldef += target.getStat('def', false, true);
|
||||
totalspd += target.getStat('spd', false, true);
|
||||
}
|
||||
this.add('-ability', pokemon, 'Frozen Fortuity');
|
||||
if (totaldef < totalspd) {
|
||||
changeSet(this, pokemon, ssbSets['Imperial-Black']);
|
||||
} else {
|
||||
changeSet(this, pokemon, ssbSets['Imperial-White']);
|
||||
}
|
||||
},
|
||||
flags: {failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1},
|
||||
},
|
||||
|
||||
// in the hills
|
||||
illiterit: {
|
||||
shortDesc: "Immune to moves with 12 or more alphanumeric characters.",
|
||||
|
|
|
|||
|
|
@ -1048,6 +1048,21 @@ export const Conditions: {[id: IDEntry]: ModdedConditionData & {innateName?: str
|
|||
}
|
||||
},
|
||||
},
|
||||
imperial: {
|
||||
noCopy: true,
|
||||
onStart() {
|
||||
this.add(`c:|${getName('Imperial')}|gmcat`);
|
||||
},
|
||||
onSwitchOut(pokemon) {
|
||||
const foe = pokemon.side.foes()[0]?.name;
|
||||
if (foe) {
|
||||
this.add(`c:|${getName('Imperial')}|ofc u have ${foe}. bad mu as always...`);
|
||||
}
|
||||
},
|
||||
onFaint() {
|
||||
this.add(`c:|${getName('Imperial')}|crazy rng`);
|
||||
},
|
||||
},
|
||||
inthehills: {
|
||||
noCopy: true,
|
||||
onStart() {
|
||||
|
|
|
|||
|
|
@ -2612,6 +2612,41 @@ export const Moves: import('../../../sim/dex-moves').ModdedMoveDataTable = {
|
|||
type: "Electric",
|
||||
},
|
||||
|
||||
// Imperial
|
||||
snowshroud: {
|
||||
accuracy: 100,
|
||||
basePower: 95,
|
||||
category: "Special",
|
||||
name: "Snow Shroud",
|
||||
shortDesc: "Physical + contact if stronger.",
|
||||
desc: "This move becomes a physical attack that makes contact if the value of ((((2 * the user's level / 5 + 2) * 90 * X) / Y) / 50), where X is the user's Attack stat and Y is the target's Defense stat, is greater than the same value where X is the user's Special Attack stat and Y is the target's Special Defense stat. No stat modifiers other than stat stage changes are considered for this purpose. If the two values are equal, this move chooses a damage category at random.",
|
||||
pp: 10,
|
||||
priority: 0,
|
||||
flags: {protect: 1, mirror: 1},
|
||||
onTryMove() {
|
||||
this.attrLastMove('[still]');
|
||||
},
|
||||
onPrepareHit(target, source) {
|
||||
this.add('-anim', source, 'Clangorous Soulblaze', target);
|
||||
},
|
||||
onModifyMove(move, pokemon, target) {
|
||||
if (!target) return;
|
||||
const atk = pokemon.getStat('atk', false, true);
|
||||
const spa = pokemon.getStat('spa', false, true);
|
||||
const def = target.getStat('def', false, true);
|
||||
const spd = target.getStat('spd', false, true);
|
||||
const physical = Math.floor(Math.floor(Math.floor(Math.floor(2 * pokemon.level / 5 + 2) * 90 * atk) / def) / 50);
|
||||
const special = Math.floor(Math.floor(Math.floor(Math.floor(2 * pokemon.level / 5 + 2) * 90 * spa) / spd) / 50);
|
||||
if (physical > special || (physical === special && this.random(2) === 0)) {
|
||||
move.category = 'Physical';
|
||||
move.flags.contact = 1;
|
||||
}
|
||||
},
|
||||
secondary: null,
|
||||
target: "normal",
|
||||
type: "Dragon",
|
||||
},
|
||||
|
||||
// in the hills
|
||||
"102040": {
|
||||
accuracy: 100,
|
||||
|
|
|
|||
|
|
@ -424,6 +424,20 @@ export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable
|
|||
types: ["Electric", "Water"],
|
||||
},
|
||||
|
||||
// Imperial
|
||||
kyurem: {
|
||||
inherit: true,
|
||||
abilities: {0: "Frozen Fortuity"},
|
||||
},
|
||||
kyuremblack: {
|
||||
inherit: true,
|
||||
abilities: {0: "Frozen Fortuity"},
|
||||
},
|
||||
kyuremwhite: {
|
||||
inherit: true,
|
||||
abilities: {0: "Frozen Fortuity"},
|
||||
},
|
||||
|
||||
// in the hills
|
||||
gligar: {
|
||||
inherit: true,
|
||||
|
|
@ -683,6 +697,12 @@ export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable
|
|||
abilities: {0: "Last Hymn"},
|
||||
},
|
||||
|
||||
// pants
|
||||
annihilape: {
|
||||
inherit: true,
|
||||
abilities: {0: "Drifting"},
|
||||
},
|
||||
|
||||
// PartMan
|
||||
chandelure: {
|
||||
inherit: true,
|
||||
|
|
@ -779,6 +799,12 @@ export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable
|
|||
abilities: {0: "Monke See Monke Do"},
|
||||
},
|
||||
|
||||
// Rissoux
|
||||
arcaninehisui: {
|
||||
inherit: true,
|
||||
abilities: {0: "Hard Headed"},
|
||||
},
|
||||
|
||||
// RSB
|
||||
growlithe: {
|
||||
inherit: true,
|
||||
|
|
|
|||
|
|
@ -457,6 +457,24 @@ export const ssbSets: SSBSets = {
|
|||
signatureMove: 'Hydrostatics',
|
||||
evs: {def: 4, spa: 252, spe: 252}, nature: 'Modest', teraType: 'Water', shiny: 2,
|
||||
},
|
||||
Imperial: {
|
||||
species: 'Kyurem', ability: 'Frozen Fortuity', item: 'Never-Melt Ice', gender: 'N',
|
||||
moves: ['Chilly Reception', 'Fusion Bolt', 'Fusion Flare'],
|
||||
signatureMove: 'Storm Shroud',
|
||||
evs: {atk: 128, spa: 128, spe: 252}, nature: 'Docile', teraType: 'Ice', shiny: 193,
|
||||
},
|
||||
'Imperial-Black': {
|
||||
species: 'Kyurem-Black', ability: 'Frozen Fortuity', item: 'Never-Melt Ice', gender: 'N',
|
||||
moves: ['Mountain Gale', 'Fusion Bolt', 'Ice Shard'],
|
||||
signatureMove: 'Storm Shroud',
|
||||
evs: {atk: 252, def: 4, spe: 252}, nature: 'Adamant', teraType: 'Electric', shiny: 193, skip: 'Imperial',
|
||||
},
|
||||
'Imperial-White': {
|
||||
species: 'Kyurem-White', ability: 'Frozen Fortuity', item: 'Never-Melt Ice', gender: 'N',
|
||||
moves: ['Ice Beam', 'Freeze-Dry', 'Fusion Flare'],
|
||||
signatureMove: 'Storm Shroud',
|
||||
evs: {spa: 252, spd: 4, spe: 252}, nature: 'Modest', teraType: 'Fire', shiny: 193, skip: 'Imperial',
|
||||
},
|
||||
'in the hills': {
|
||||
species: 'Gligar', ability: 'Illiterit', item: 'Eviolite', gender: 'M',
|
||||
moves: ['Roost', 'Knock Off', 'Tidy Up'],
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user