Skip to content

Commit

Permalink
Megas Revisited: November Patch & RBY CAP: Add Probosicle (#10634)
Browse files Browse the repository at this point in the history
* Megas Revisited: November Patch & RBY CAP: Add Probosicle

* RBY CAP: Add Rest to Pineguin
  • Loading branch information
Yoshiblaze authored Oct 28, 2024
1 parent 8f868a1 commit 2c79c3e
Show file tree
Hide file tree
Showing 7 changed files with 148 additions and 25 deletions.
3 changes: 3 additions & 0 deletions data/mods/gen1rbycap/formats-data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,7 @@ export const FormatsData: import('../../../sim/dex-species').ModdedSpeciesFormat
pineguin: {
tier: "OU",
},
probosicle: {
tier: "OU",
},
};
24 changes: 24 additions & 0 deletions data/mods/gen1rbycap/learnsets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ export const Learnsets: import('../../../sim/dex-species').ModdedLearnsetDataTab
doubleteam: ["1M"],
reflect: ["1M"],
substitute: ["1M"],
rest: ["1M"],
counter: ["2E"],
seismictoss: ["2E"],
selfdestruct: ["2E"],
Expand All @@ -202,4 +203,27 @@ export const Learnsets: import('../../../sim/dex-species').ModdedLearnsetDataTab
{generation: 1, level: 5},
],
},
probosicle: {
learnset: {
slash: ["1M"],
bodyslam: ["1M"],
doubleedge: ["1M"],
icebeam: ["1M"],
blizzard: ["1M"],
hyperbeam: ["1M"],
seismictoss: ["1M"],
rest: ["1M"],
substitute: ["1M"],
probosiclesignature: ["1M"], // replace with real name later
bide: ["1M"],
doubleteam: ["1M"],
mimic: ["1M"],
rage: ["1M"],
toxic: ["1M"],
takedown: ["1M"],
},
encounters: [
{generation: 1, level: 5},
],
},
};
19 changes: 19 additions & 0 deletions data/mods/gen1rbycap/moves.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,23 @@ export const Moves: import('../../../sim/dex-moves').ModdedMoveDataTable = {
contestType: "Clever",
gen: 1,
},
probosiclesignature: {
accuracy: 100,
basePower: 70,
category: "Physical",
shortDesc: "High critical hit ratio.",
name: "Probosicle Signature",
pp: 15,
priority: 0,
flags: {protect: 1, mirror: 1, metronome: 1},
onPrepareHit(target, source, move) {
this.attrLastMove('[still]');
this.add('-anim', source, "Sheer Cold", target);
},
critRatio: 2,
secondary: null,
target: "normal",
type: "Ice",
contestType: "Cool",
},
};
12 changes: 12 additions & 0 deletions data/mods/gen1rbycap/pokedex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,16 @@ export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable
eggGroups: ["Water 1"],
gen: 1,
},
probosicle: {
num: 2005,
name: "Probosicle",
types: ["Bug", "Ice"],
baseStats: {hp: 48, atk: 120, def: 100, spa: 63, spd: 63, spe: 105},
abilities: {0: "No Ability"},
heightm: 1, // placeholder
weightkg: 0.1, // placeholder
color: "Blue",
eggGroups: ["Bug"],
gen: 1,
},
};
84 changes: 69 additions & 15 deletions data/mods/gen6megasrevisited/abilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTa
if (move.category === 'Status') {
move.selfSwitch = true;
this.add('-ability', pokemon, 'Pocket Dimension');
this.add('-message', `${pokemon.name} will switch out if this moves lands!`);
}
},
name: "Pocket Dimension",
Expand Down Expand Up @@ -122,14 +123,43 @@ export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTa
}
},
name: "Exoskeleton",
shortDesc: "This Pokemon takes halved damage from physical moves; Hazard immunity.",
shortDesc: "This Pokemon receives 1/2 damage from physical attacks; Hazard immunity.",
rating: 4,
},
icescales: {
inherit: true,
onModifyAtkPriority: 5,
onModifyAtk(atk, attacker, defender, move) {
if (move.type === 'Ice') {
this.debug('Ice Scales boost');
return this.chainModify(1.5);
}
},
onModifySpAPriority: 5,
onModifySpA(atk, attacker, defender, move) {
if (move.type === 'Ice') {
this.debug('Ice Scales boost');
return this.chainModify(1.5);
}
},
onImmunity(type, pokemon) {
if (type === 'hail') return false;
},
shortDesc: "This Pokemon receives 1/2 damage from special attacks. Ice moves have 1.5x power. Hail immunity.",
gen: 6,
},
eartheater: {
inherit: true,
onDamage(damage, target, source, effect) {
if (effect && (effect.id === 'stealthrock' || effect.id === 'spikes')) {
this.heal(damage);
return false;
}
},
shortDesc: "Heals 1/4 of its max HP when hit by Ground; Ground immunity. Healed by Spikes and Stealth Rock.",
gen: 6,
},
toxicchain: {
inherit: true,
gen: 6,
},
Expand All @@ -139,8 +169,8 @@ export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTa
if (move.category === 'Special') {
attacker.addVolatile('shellejection');
this.add('-ability', attacker, 'Shell Ejection');
this.add('-message', `Slowbro is getting ready to leave the battlefield!`);
this.add('-message', `Slowbro can no longer use status moves!`);
this.add('-message', `${attacker.name} is getting ready to leave the battlefield!`);
this.add('-message', `${attacker.name} can no longer use status moves!`);
}
},
condition: {
Expand All @@ -153,16 +183,20 @@ export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTa
}
}
},
onSwitchOut(pokemon) {
pokemon.heal(pokemon.baseMaxhp / 3);
},
onEnd(pokemon) {
this.add('-ability', pokemon, 'Shell Ejection');
this.add('-message', `Slowbro ejected itself from its shell!`);
this.add('-message', `${pokemon.name} ejected itself from its shell!`);
pokemon.heal(pokemon.baseMaxhp / 3);
pokemon.switchFlag = true;
},
},
name: "Shell Ejection",
rating: 3.5,
gen: 6,
shortDesc: "After using a Special move, this Pokemon switches out at the end of the next turn and it can't use status moves.",
shortDesc: "On using Special move: switching heals 1/3, can't use status, switches out at end of next turn.",
},
sharpness: {
inherit: true,
Expand All @@ -172,20 +206,18 @@ export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTa
onStart(pokemon) {
this.boost({def: 1}, pokemon);
pokemon.addVolatile('dauntlessshield');
this.add('-message', `${pokemon.name} has its shield up!`);
},
condition: {
duration: 2,
onEnd(pokemon) {
this.add('-ability', pokemon, 'Dauntless Shield');
this.add('-message', `${pokemon.name} lowered its shield!`);
this.boost({def: -1}, pokemon);
},
onResidualOrder: 6,
onResidual(pokemon) {
if (pokemon.positiveBoosts()) {
this.heal(pokemon.baseMaxhp / 16);
this.add('-message', `${pokemon.name}'s shield gives it strength!`);
}
},
name: "Dauntless Shield",
rating: 3.5,
rating: 5,
num: 235,
shortDesc: "+1 Defense on switch-in. Boost goes away at the end of the next turn.",
shortDesc: "+1 Defense on switch-in. Heals 1/16 of max HP if it has a positive boost.",
gen: 6,
},
confidence: {
Expand All @@ -209,6 +241,28 @@ export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTa
},
opportunist: {
inherit: true,
onUpdate(pokemon) {
let activate = false;
const boosts: SparseBoostsTable = {};
let i: BoostID;
for (i in pokemon.boosts) {
if (pokemon.boosts[i] < 0) {
activate = true;
boosts[i] = 0;
}
}
if (this.effectState.herb) return;
if (activate) {
pokemon.setBoost(boosts);
this.effectState.herb = true;
this.add('-ability', pokemon, 'Opportunist');
this.add('-clearnegativeboost', pokemon, '[silent]');
}
},
onSwitchIn(pokemon) {
delete this.effectState.herb;
},
shortDesc: "Copies foe's stat gains as they happen. Resets negative stat changes once per switch-in.",
gen: 6,
},
intoxicate: {
Expand Down
21 changes: 11 additions & 10 deletions data/mods/gen6megasrevisited/pokedex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable
lucariomega: {
inherit: true,
types: ["Fighting", "Steel"],
baseStats: {hp: 70, atk: 125, def: 70, spa: 140, spd: 105, spe: 115},
baseStats: {hp: 70, atk: 125, def: 70, spa: 140, spd: 94, spe: 126},
abilities: {0: "Lightning Rod"},
},
banettemega: {
Expand All @@ -26,8 +26,8 @@ export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable
glaliemega: {
inherit: true,
types: ["Ice", "Steel"],
baseStats: {hp: 80, atk: 175, def: 70, spa: 80, spd: 70, spe: 105},
abilities: {0: "Strong Jaw"},
baseStats: {hp: 80, atk: 160, def: 70, spa: 95, spd: 70, spe: 105},
abilities: {0: "Refrigerate"},
},
venusaurmega: {
inherit: true,
Expand All @@ -44,7 +44,7 @@ export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable
charizardmegay: {
inherit: true,
types: ["Fire", "Flying"],
baseStats: {hp: 78, atk: 109, def: 103, spa: 134, spd: 110, spe: 100},
baseStats: {hp: 78, atk: 94, def: 93, spa: 159, spd: 110, spe: 100},
abilities: {0: "Dragon's Gale"},
},
alakazammega: {
Expand Down Expand Up @@ -93,8 +93,8 @@ export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable
swampertmega: {
inherit: true,
types: ["Water", "Poison"],
baseStats: {hp: 100, atk: 145, def: 120, spa: 85, spd: 115, spe: 70},
abilities: {0: "Poison Touch"},
baseStats: {hp: 100, atk: 145, def: 110, spa: 85, spd: 110, spe: 85},
abilities: {0: "Toxic Chain"},
},
manectricmega: {
inherit: true,
Expand Down Expand Up @@ -128,17 +128,18 @@ export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable
mawilemega: {
inherit: true,
types: ["Steel", "Fairy"],
baseStats: {hp: 50, atk: 125, def: 125, spa: 55, spd: 95, spe: 30},
abilities: {0: "Tough Claws"},
baseStats: {hp: 50, atk: 90, def: 125, spa: 70, spd: 95, spe: 50},
abilities: {0: "Huge Power"},
},
abomasnowmega: {
inherit: true,
types: ["Grass"],
abilities: {0: "Ice Scales"},
},
cameruptmega: {
inherit: true,
types: ["Fire", "Ground"],
baseStats: {hp: 70, atk: 110, def: 110, spa: 135, spd: 115, spe: 20},
baseStats: {hp: 70, atk: 80, def: 140, spa: 135, spd: 115, spe: 20},
abilities: {0: "Earth Eater"},
},
slowbromega: {
Expand Down Expand Up @@ -203,7 +204,7 @@ export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable
inherit: true,
types: ["Dragon", "Ground"],
baseStats: {hp: 108, atk: 150, def: 115, spa: 140, spd: 85, spe: 102},
abilities: {0: "Dry Skin"},
abilities: {0: "Water Absorb"},
},
tyranitarmega: {
inherit: true,
Expand Down
10 changes: 10 additions & 0 deletions data/mods/gen6megasrevisited/scripts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,16 +104,22 @@ export const Scripts: ModdedBattleScriptsData = {
this.modData("Learnsets", "audino").learnset.zapcannon = ["6L1"];
this.modData("Learnsets", "glalie").learnset.thunderfang = ["6L1"];
this.modData("Learnsets", "glalie").learnset.partingshot = ["6L1"];
this.modData("Learnsets", "glalie").learnset.boomburst = ["6L1"];
this.modData("Learnsets", "banette").learnset.ironhead = ["6L1"];
this.modData("Learnsets", "banette").learnset.metalsound = ["6L1"];
this.modData("Learnsets", "banette").learnset.powder = ["6L1"];
this.modData("Learnsets", "banette").learnset.stealthrock = ["6L1"];
this.modData("Learnsets", "banette").learnset.defog = ["6L1"];
this.modData("Learnsets", "venusaur").learnset.psychic = ["6L1"];
this.modData("Learnsets", "venusaur").learnset.calmmind = ["6L1"];
this.modData("Learnsets", "blastoise").learnset.moonblast = ["6L1"];
this.modData("Learnsets", "blastoise").learnset.mistyterrain = ["6L1"];
this.modData("Learnsets", "blastoise").learnset.taunt = ["6L1"];
this.modData("Learnsets", "blastoise").learnset.drainingkiss = ["6L1"];
this.modData("Learnsets", "blastoise").learnset.dazzlinggleam = ["6L1"];
this.modData("Learnsets", "charizard").learnset.calmmind = ["6L1"];
this.modData("Learnsets", "charizard").learnset.hurricane = ["6L1"];
this.modData("Learnsets", "charizard").learnset.lavaplume = ["6L1"];
this.modData("Learnsets", "gengar").learnset.reflecttype = ["6L1"];
this.modData("Learnsets", "gengar").learnset.calmmind = ["6L1"];
this.modData("Learnsets", "alakazam").learnset.blizzard = ["6L1"];
Expand Down Expand Up @@ -160,12 +166,14 @@ export const Scripts: ModdedBattleScriptsData = {
this.modData("Learnsets", "beedrill").learnset.rockslide = ["6L1"];
this.modData("Learnsets", "beedrill").learnset.smackdown = ["6L1"];
this.modData("Learnsets", "beedrill").learnset.stealthrock = ["6L1"];
this.modData("Learnsets", "beedrill").learnset.diamondstorm = ["6L1"];
this.modData("Learnsets", "mawile").learnset.firepunch = ["6L1"];
this.modData("Learnsets", "mawile").learnset.rockslide = ["6L1"];
this.modData("Learnsets", "mawile").learnset.slackoff = ["6L1"];
this.modData("Learnsets", "camerupt").learnset.morningsun = ["6L1"];
this.modData("Learnsets", "abomasnow").learnset.spikyshield = ["6L1"];
this.modData("Learnsets", "abomasnow").learnset.earthpower = ["6L1"];
this.modData("Learnsets", "abomasnow").learnset.hornleech = ["6L1"];
this.modData("Learnsets", "gallade").learnset.sacredsword = ["6L1"];
this.modData("Learnsets", "gallade").learnset.machpunch = ["6L1"];
this.modData('Moves', 'aerialace').flags.slicing = 1;
Expand All @@ -186,6 +194,8 @@ export const Scripts: ModdedBattleScriptsData = {
this.modData("Learnsets", "ampharos").learnset.waterpulse = ["6L1"];
this.modData("Learnsets", "ampharos").learnset.aurasphere = ["6L1"];
this.modData("Learnsets", "ampharos").learnset.darkpulse = ["6L1"];
this.modData("Learnsets", "ampharos").learnset.defog = ["6L1"];
this.modData("Learnsets", "ampharos").learnset.slackoff = ["6L1"];
this.modData("Learnsets", "heracross").learnset.healorder = ["6L1"];
this.modData("Learnsets", "heracross").learnset.circlethrow = ["6L1"];
this.modData("Learnsets", "heracross").learnset.spikes = ["6L1"];
Expand Down

0 comments on commit 2c79c3e

Please sign in to comment.