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

Add DianaNicole #170

Merged
merged 7 commits into from
Apr 16, 2024
Merged
Show file tree
Hide file tree
Changes from 3 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
11 changes: 11 additions & 0 deletions data/mods/gen9ssb/abilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -674,6 +674,17 @@ export const Abilities: {[k: string]: ModdedAbilityData} = {
flags: {},
},

// DianaNicole
snowproblem: {
shortDesc: "On switch-in, this Pokemon summons snow and its Sp. Atk is raised by 1 stage.",
name: "Snow Problem",
onStart(source) {
this.field.setWeather('snow');
this.boost({spa: 1}, source);
},
flags: {},
},

// Elly
stormsurge: {
shortDesc: "On switch-in, this Pokemon summons Storm Surge.",
Expand Down
12 changes: 12 additions & 0 deletions data/mods/gen9ssb/conditions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -616,6 +616,18 @@ export const Conditions: {[k: string]: ModdedConditionData & {innateName?: strin
this.add(`c:|${getName('dhelmise')}|ok`);
},
},
diananicole: {
noCopy: true,
onStart() {
this.add(`c:|${getName('DianaNicole')}|Ready for Initiative? Cause I’m gonna Clickity Clackity, Roll to Attackity!`);
KrisXV marked this conversation as resolved.
Show resolved Hide resolved
},
onSwitchOut() {
this.add(`c:|${getName('DianaNicole')}|Dropping out of Initiative`);
},
onFaint() {
this.add(`c:|${getName('DianaNicole')}|Guess I didn't roll high enough`);
},
},
elliot: {
noCopy: true,
onStart() {
Expand Down
50 changes: 50 additions & 0 deletions data/mods/gen9ssb/moves.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1534,6 +1534,56 @@ export const Moves: {[k: string]: ModdedMoveData} = {
type: "Fairy",
},

// DianaNicole
breathoftiamat: {
accuracy: 95,
basePower: 20,
category: "Special",
shortDesc: "Hits 5 times. In order, each hit's type is Fire, Ice, Poison, Electric, Poison. Skips hits if a foe would be immune.",
name: "Breath of Tiamat",
pp: 20,
priority: 0,
flags: {protect: 1},
onTryMove() {
this.attrLastMove('[still]');
},
onPrepareHit(target, source, move) {
if (target.runImmunity('Fire')) {
this.add('-anim', source, 'Flamethrower', target);
}
},
onHit(target, source, move) {
const moveTypes = ['Fire', 'Ice', 'Poison', 'Electric', 'Poison'];
const hitTypes = moveTypes.filter(x => target.runImmunity(x));
if (move.hit >= hitTypes.length) {
move.basePower = 0;
move.category = 'Status';
/* Problem here - we can't retroactively change the multihit parameter.
With this specific code, the move functions as intended, but will display the incorrect
number of hits if a target is immune to any of them. Even if you try to return false, null, etc
during this step, it will not interrupt the move. Nor will a this.add(-fail) do so either.
This seems to be the only way to get it to work and is a decent enough compromise for now. */
} else {
move.type = hitTypes[move.hit];
const moveAnims = ['Flamethrower', 'Ice Beam', 'Gunk Shot', 'Charge Beam', 'Sludge Bomb'];
const hitAnims = [];
for (let i = 0; i < moveAnims.length; i++) {
KrisXV marked this conversation as resolved.
Show resolved Hide resolved
const index2 = Math.min(i, hitTypes.length - 1);
if (moveTypes[i] === hitTypes[index2]) {
hitAnims.push(moveAnims[i]);
KrisXV marked this conversation as resolved.
Show resolved Hide resolved
}
}
this.add('-anim', source, hitAnims[move.hit], target);
}
},
multihit: 5,
multiaccuracy: true,
forceSTAB: true,
secondary: null,
target: 'normal',
type: "Fire",
},

// Elliot
teaparty: {
accuracy: true,
Expand Down
10 changes: 10 additions & 0 deletions data/mods/gen9ssb/pokedex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,16 @@ export const Pokedex: {[k: string]: ModdedSpeciesData} = {
abilities: {0: "Cacophony"},
},

// DianaNicole
abomasnow: {
inherit: true,
abilities: {0: "Snow Problem"},
},
abomasnowmega: {
inherit: true,
abilities: {0: "Flash Fire"},
},

// Elliot
sinistea: {
inherit: true,
Expand Down
6 changes: 6 additions & 0 deletions data/mods/gen9ssb/random-teams.ts
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,12 @@ export const ssbSets: SSBSets = {
signatureMove: 'ok',
evs: {hp: 252, def: 4, spa: 252}, nature: 'Quiet', teraType: 'Normal',
},
DianaNicole: {
species: 'Abomasnow', ability: 'Snow Problem', item: 'Abomasite', gender: 'F',
moves: ['Giga Drain', 'Earth Power', 'Blizzard'],
signatureMove: 'Breath of Tiamat',
evs: {hp: 252, def: 4, spa: 252}, nature: 'Modest', shiny: true,
},
Elliot: {
species: 'Sinistea', ability: 'Natural Cure', item: 'Focus Sash', gender: 'N',
moves: ['Moonblast', 'Shadow Ball', 'Teatime'],
Expand Down
Loading