Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Megas Revisited: November Patch & RBY CAP: Add Probosicle #10634

Merged
merged 2 commits into from
Oct 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading