Skip to content

Commit

Permalink
Fix VaporeMons and Modern Gen 1 validation (#9949)
Browse files Browse the repository at this point in the history
* Update rulesets.ts

* Create moves.ts

* Update moves.ts

* Update formats.ts

* Update moves.ts

* Update moves.ts

* Update rulesets.ts

* Update rulesets.ts

* Update abilities.ts

* Update moves.ts

* Update data/mods/moderngen1/rulesets.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
  • Loading branch information
Yoshiblaze and KrisXV authored Dec 11, 2023
1 parent eec07cf commit b3d5aee
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 4 deletions.
2 changes: 1 addition & 1 deletion config/formats.ts
Original file line number Diff line number Diff line change
Expand Up @@ -547,7 +547,7 @@ export const Formats: FormatList = [
],

mod: 'moderngen1',
ruleset: ['Standard', 'Partial Trapping Clause', 'Protect Clause', 'Field Effect Clause', 'Sleep Moves Clause', 'MG1 Mod'],
ruleset: ['Standard', 'Partial Trapping Clause', 'Protect Clause', 'Field Effect Clause', 'Sleep Moves Clause', 'Useless Moves Clause', 'MG1 Mod'],
banlist: ['Uber', 'Fake Out', 'Confuse Ray', 'Supersonic', 'Swagger', 'Sweet Kiss', 'Flatter'],
},
{
Expand Down
7 changes: 7 additions & 0 deletions data/mods/moderngen1/moves.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export const Moves: {[k: string]: ModdedMoveData} = {
doubleironbash: {
inherit: true,
isNonstandard: null,
gen: 1,
},
};
13 changes: 13 additions & 0 deletions data/mods/moderngen1/rulesets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,17 @@ export const Rulesets: {[k: string]: ModdedFormatData} = {
this.add('-message', `https://www.smogon.com/forums/threads/gen-9-modern-gen-1.3711533/`);
},
},
uselessmovesclause: {
effectType: 'ValidatorRule',
name: 'Useless Moves Clause',
desc: "Bans moves that have no effect (to aid in teambuilding).",
banlist: [
'Conversion 2', 'Electric Terrain', 'Electrify', 'Encore', 'Flower Shield', 'Grassy Terrain', 'Hail', 'Healing Wish', 'Heart Swap',
'Ion Deluge', 'Laser Focus', 'Lunar Dance', 'Misty Terrain', 'Perish Song', 'Psych Up', 'Psychic Terrain', 'Rain Dance', 'Revival Blessing',
'Sandstorm', 'Sleep Talk', 'Snowscape', 'Speed Swap', 'Sunny Day', 'Wish', 'Jungle Healing', 'Lunar Blessing', 'Life Dew',
],
onBegin() {
this.add('rule', 'Useless Moves Clause: Prevents trainers from bringing moves with no effect');
},
},
};
2 changes: 1 addition & 1 deletion data/mods/vaporemons/abilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = {
},
onTryMovePriority: -2,
onTryMove(pokemon, target, move) {
if (!pokemon.hasItem('musclememory')) {
if (!pokemon.hasAbility('musclememory')) {
pokemon.removeVolatile('musclememory');
return;
}
Expand Down
30 changes: 28 additions & 2 deletions data/mods/vaporemons/moves.ts
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,19 @@ export const Moves: {[k: string]: ModdedMoveData} = {
this.add('-end', target, 'Wind Breaker', '[silent]');
},
},
self: {
onHit(pokemon, source, move) {
if (source.hasItem('airfreshener')) {
this.add('-activate', source, 'move: Aromatherapy');
for (const ally of source.side.pokemon) {
if (ally !== source && (ally.volatiles['substitute'] && !move.infiltrates)) {
continue;
}
ally.cureStatus();
}
}
},
},
secondary: {
chance: 100,
onHit(target) {
Expand Down Expand Up @@ -1352,7 +1365,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
accuracy: 95,
basePower: 100,
category: "Physical",
shortDesc: "(Mostly functional) Either Fighting or Flying-type, whichever is more effective.",
shortDesc: "Either Fighting or Flying-type, whichever is more effective.",
name: "Flying Press",
pp: 10,
flags: {contact: 1, protect: 1, mirror: 1, gravity: 1, distance: 1, nonsky: 1},
Expand Down Expand Up @@ -1387,7 +1400,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
accuracy: 95,
basePower: 100,
category: "Special",
shortDesc: "(Mostly functional) Either Bug or Electric-type, whichever is more effective.",
shortDesc: "Either Bug or Electric-type, whichever is more effective.",
name: "Software Crash",
pp: 10,
flags: {protect: 1, mirror: 1},
Expand Down Expand Up @@ -1661,6 +1674,19 @@ export const Moves: {[k: string]: ModdedMoveData} = {
this.field.clearTerrain();
return success;
},
self: {
onHit(pokemon, source, move) {
if (source.hasItem('airfreshener')) {
this.add('-activate', source, 'move: Aromatherapy');
for (const ally of source.side.pokemon) {
if (ally !== source && (ally.volatiles['substitute'] && !move.infiltrates)) {
continue;
}
ally.cureStatus();
}
}
},
},
secondary: null,
target: "normal",
type: "Flying",
Expand Down

0 comments on commit b3d5aee

Please sign in to comment.