@pkmn/sim 0.5.21 → 0.5.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/build/config/formats.js +412 -419
- package/build/config/formats.js.map +1 -1
- package/build/data/abilities.js +1 -3
- package/build/data/abilities.js.map +1 -1
- package/build/data/aliases.js +4 -4
- package/build/data/aliases.js.map +1 -1
- package/build/data/conditions.js +5 -2
- package/build/data/conditions.js.map +1 -1
- package/build/data/formats-data.js +9 -10
- package/build/data/formats-data.js.map +1 -1
- package/build/data/mods/gen1/conditions.js +3 -0
- package/build/data/mods/gen1/conditions.js.map +1 -1
- package/build/data/mods/gen1/formats-data.js +1 -1
- package/build/data/mods/gen1/formats-data.js.map +1 -1
- package/build/data/mods/gen1/moves.js +5 -2
- package/build/data/mods/gen1/moves.js.map +1 -1
- package/build/data/mods/gen1/scripts.js +4 -2
- package/build/data/mods/gen1/scripts.js.map +1 -1
- package/build/data/mods/gen2/conditions.js +3 -0
- package/build/data/mods/gen2/conditions.js.map +1 -1
- package/build/data/mods/gen3/conditions.js +3 -0
- package/build/data/mods/gen3/conditions.js.map +1 -1
- package/build/data/mods/gen3/formats-data.js +3 -3
- package/build/data/mods/gen3/formats-data.js.map +1 -1
- package/build/data/mods/gen4/abilities.js +1 -1
- package/build/data/mods/gen4/abilities.js.map +1 -1
- package/build/data/mods/gen4/conditions.js +3 -0
- package/build/data/mods/gen4/conditions.js.map +1 -1
- package/build/data/mods/gen4/moves.js +9 -2
- package/build/data/mods/gen4/moves.js.map +1 -1
- package/build/data/mods/gen5/moves.js +4 -7
- package/build/data/mods/gen5/moves.js.map +1 -1
- package/build/data/mods/gen5/pokedex.js +24 -0
- package/build/data/mods/gen5/pokedex.js.map +1 -1
- package/build/data/mods/gen6/formats-data.js +64 -64
- package/build/data/mods/gen6/formats-data.js.map +1 -1
- package/build/data/mods/gen7/abilities.js +8 -0
- package/build/data/mods/gen7/abilities.js.map +1 -1
- package/build/data/mods/gen7/moves.js +2 -2
- package/build/data/mods/gen7/moves.js.map +1 -1
- package/build/data/moves.js +8 -3
- package/build/data/moves.js.map +1 -1
- package/build/data/pokedex.js +1 -1
- package/build/data/rulesets.js +270 -3
- package/build/data/rulesets.js.map +1 -1
- package/build/lib/utils.d.ts +4 -0
- package/build/lib/utils.js +20 -1
- package/build/lib/utils.js.map +1 -1
- package/build/sim/battle-stream.js +3 -0
- package/build/sim/battle-stream.js.map +1 -1
- package/build/sim/exported-global-types.d.ts +2 -0
- package/build/sim/global-types.d.ts +2 -0
- package/build/sim/pokemon.d.ts +1 -0
- package/build/sim/pokemon.js +9 -2
- package/build/sim/pokemon.js.map +1 -1
- package/build/sim/side.js +21 -0
- package/build/sim/side.js.map +1 -1
- package/config/formats.ts +407 -406
- package/data/abilities.ts +1 -3
- package/data/aliases.ts +4 -4
- package/data/conditions.ts +6 -2
- package/data/formats-data.ts +9 -10
- package/data/mods/gen1/conditions.ts +4 -0
- package/data/mods/gen1/formats-data.ts +1 -1
- package/data/mods/gen1/moves.ts +5 -1
- package/data/mods/gen1/scripts.ts +3 -2
- package/data/mods/gen2/conditions.ts +4 -0
- package/data/mods/gen3/conditions.ts +4 -0
- package/data/mods/gen3/formats-data.ts +3 -3
- package/data/mods/gen4/abilities.ts +1 -1
- package/data/mods/gen4/conditions.ts +4 -0
- package/data/mods/gen4/moves.ts +9 -2
- package/data/mods/gen5/moves.ts +4 -7
- package/data/mods/gen5/pokedex.ts +24 -0
- package/data/mods/gen6/formats-data.ts +64 -64
- package/data/mods/gen7/abilities.ts +8 -0
- package/data/mods/gen7/moves.ts +2 -2
- package/data/moves.ts +8 -3
- package/data/pokedex.ts +1 -1
- package/data/rulesets.ts +247 -3
- package/lib/utils.ts +16 -0
- package/package.json +2 -2
- package/sim/battle-stream.ts +3 -0
- package/sim/exported-global-types.ts +2 -0
- package/sim/global-types.ts +2 -0
- package/sim/pokemon.ts +9 -2
- package/sim/side.ts +20 -0
package/data/abilities.ts
CHANGED
|
@@ -642,7 +642,6 @@ export const Abilities: {[abilityid: string]: AbilityData} = {
|
|
|
642
642
|
if (move.auraBooster !== this.effectState.target) return;
|
|
643
643
|
return this.chainModify([move.hasAuraBreak ? 3072 : 5448, 4096]);
|
|
644
644
|
},
|
|
645
|
-
isBreakable: true,
|
|
646
645
|
name: "Dark Aura",
|
|
647
646
|
rating: 3,
|
|
648
647
|
num: 186,
|
|
@@ -956,7 +955,6 @@ export const Abilities: {[abilityid: string]: AbilityData} = {
|
|
|
956
955
|
if (move.auraBooster !== this.effectState.target) return;
|
|
957
956
|
return this.chainModify([move.hasAuraBreak ? 3072 : 5448, 4096]);
|
|
958
957
|
},
|
|
959
|
-
isBreakable: true,
|
|
960
958
|
name: "Fairy Aura",
|
|
961
959
|
rating: 3,
|
|
962
960
|
num: 187,
|
|
@@ -2326,7 +2324,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = {
|
|
|
2326
2324
|
if (pokemon.showCure === undefined) pokemon.showCure = true;
|
|
2327
2325
|
|
|
2328
2326
|
if (pokemon.showCure) this.add('-curestatus', pokemon, pokemon.status, '[from] ability: Natural Cure');
|
|
2329
|
-
pokemon.
|
|
2327
|
+
pokemon.clearStatus();
|
|
2330
2328
|
|
|
2331
2329
|
// only reset .showCure if it's false
|
|
2332
2330
|
// (once you know a Pokemon has Natural Cure, its cures are always known)
|
package/data/aliases.ts
CHANGED
|
@@ -32,11 +32,11 @@ export const Aliases: {[alias: string]: string} = {
|
|
|
32
32
|
mnm: "[Gen 8] Mix and Mega",
|
|
33
33
|
aaa: "[Gen 8] Almost Any Ability",
|
|
34
34
|
stab: "[Gen 8] STABmons",
|
|
35
|
+
gg: "[Gen 8] Godly Gift",
|
|
35
36
|
camo: "[Gen 8] Camomons",
|
|
36
37
|
ffa: "[Gen 8] Free-For-All",
|
|
37
38
|
ts: "[Gen 8] Tier Shift",
|
|
38
|
-
ph: "[Gen 8
|
|
39
|
-
purehackmons: "[Gen 8 BDSP] Pure Hackmons",
|
|
39
|
+
ph: "[Gen 8] Pure Hackmons",
|
|
40
40
|
gen7bh: "[Gen 7] Balanced Hackmons",
|
|
41
41
|
gen7mnm: "[Gen 7] Mix and Mega",
|
|
42
42
|
gen7stab: "[Gen 7] STABmons",
|
|
@@ -68,8 +68,8 @@ export const Aliases: {[alias: string]: string} = {
|
|
|
68
68
|
gen6ag: "[Gen 6] Anything Goes",
|
|
69
69
|
crossevo: "[Gen 8] Cross Evolution",
|
|
70
70
|
mayhem: "[Gen 8] Random Battle Mayhem",
|
|
71
|
-
omotm: "[Gen 8]
|
|
72
|
-
lcotm: "[Gen 8]
|
|
71
|
+
omotm: "[Gen 8] Re-Evolution",
|
|
72
|
+
lcotm: "[Gen 8] Category Swap",
|
|
73
73
|
|
|
74
74
|
// mega evos
|
|
75
75
|
fabio: "Ampharos-Mega",
|
package/data/conditions.ts
CHANGED
|
@@ -57,6 +57,10 @@ export const Conditions: {[k: string]: ConditionData} = {
|
|
|
57
57
|
// 1-3 turns
|
|
58
58
|
this.effectState.startTime = this.random(2, 5);
|
|
59
59
|
this.effectState.time = this.effectState.startTime;
|
|
60
|
+
|
|
61
|
+
if (target.removeVolatile('nightmare')) {
|
|
62
|
+
this.add('-end', target, 'Nightmare', '[silent]');
|
|
63
|
+
}
|
|
60
64
|
},
|
|
61
65
|
onBeforeMovePriority: 10,
|
|
62
66
|
onBeforeMove(pokemon, target, move) {
|
|
@@ -101,7 +105,7 @@ export const Conditions: {[k: string]: ConditionData} = {
|
|
|
101
105
|
onModifyMove(move, pokemon) {
|
|
102
106
|
if (move.flags['defrost']) {
|
|
103
107
|
this.add('-curestatus', pokemon, 'frz', '[from] move: ' + move);
|
|
104
|
-
pokemon.
|
|
108
|
+
pokemon.clearStatus();
|
|
105
109
|
}
|
|
106
110
|
},
|
|
107
111
|
onAfterMoveSecondary(target, source, move) {
|
|
@@ -712,7 +716,7 @@ export const Conditions: {[k: string]: ConditionData} = {
|
|
|
712
716
|
if (pokemon.baseSpecies.name === 'Shedinja') return;
|
|
713
717
|
|
|
714
718
|
// Changes based on dynamax level, 2 is max (at LVL 10)
|
|
715
|
-
const ratio =
|
|
719
|
+
const ratio = 1.5 + (pokemon.dynamaxLevel * 0.05);
|
|
716
720
|
|
|
717
721
|
pokemon.maxhp = Math.floor(pokemon.maxhp * ratio);
|
|
718
722
|
pokemon.hp = Math.floor(pokemon.hp * ratio);
|
package/data/formats-data.ts
CHANGED
|
@@ -3594,7 +3594,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
3594
3594
|
tier: "Illegal",
|
|
3595
3595
|
},
|
|
3596
3596
|
basculin: {
|
|
3597
|
-
randomBattleMoves: ["aquajet", "crunch", "flipturn", "
|
|
3597
|
+
randomBattleMoves: ["aquajet", "crunch", "flipturn", "liquidation", "psychicfangs", "superpower"],
|
|
3598
3598
|
randomBattleLevel: 86,
|
|
3599
3599
|
randomDoubleBattleMoves: ["flipturn", "headsmash", "icebeam", "liquidation", "muddywater", "protect", "psychicfangs", "superpower"],
|
|
3600
3600
|
randomDoubleBattleLevel: 86,
|
|
@@ -3602,7 +3602,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
3602
3602
|
doublesTier: "(DUU)",
|
|
3603
3603
|
},
|
|
3604
3604
|
basculinbluestriped: {
|
|
3605
|
-
randomBattleMoves: ["aquajet", "crunch", "flipturn", "
|
|
3605
|
+
randomBattleMoves: ["aquajet", "crunch", "flipturn", "liquidation", "psychicfangs", "superpower"],
|
|
3606
3606
|
randomBattleLevel: 86,
|
|
3607
3607
|
randomDoubleBattleMoves: ["aquajet", "flipturn", "headsmash", "icebeam", "liquidation", "protect", "psychicfangs", "superpower"],
|
|
3608
3608
|
randomDoubleBattleLevel: 86,
|
|
@@ -4029,7 +4029,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4029
4029
|
doublesTier: "(DUU)",
|
|
4030
4030
|
},
|
|
4031
4031
|
druddigon: {
|
|
4032
|
-
randomBattleMoves: ["earthquake", "glare", "outrage", "stealthrock", "suckerpunch", "superpower"],
|
|
4032
|
+
randomBattleMoves: ["earthquake", "glare", "gunkshot", "outrage", "stealthrock", "suckerpunch", "superpower"],
|
|
4033
4033
|
randomBattleLevel: 84,
|
|
4034
4034
|
randomDoubleBattleMoves: ["firepunch", "glare", "gunkshot", "protect", "scaleshot", "suckerpunch"],
|
|
4035
4035
|
randomDoubleBattleLevel: 87,
|
|
@@ -4070,7 +4070,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4070
4070
|
tier: "NFE",
|
|
4071
4071
|
},
|
|
4072
4072
|
braviary: {
|
|
4073
|
-
randomBattleMoves: ["bravebird", "bulkup", "closecombat", "
|
|
4073
|
+
randomBattleMoves: ["bravebird", "bulkup", "closecombat", "roost"],
|
|
4074
4074
|
randomBattleLevel: 82,
|
|
4075
4075
|
randomDoubleBattleMoves: ["bravebird", "closecombat", "protect", "roost", "tailwind"],
|
|
4076
4076
|
randomDoubleBattleLevel: 82,
|
|
@@ -4082,7 +4082,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4082
4082
|
tier: "Illegal",
|
|
4083
4083
|
},
|
|
4084
4084
|
vullaby: {
|
|
4085
|
-
tier: "
|
|
4085
|
+
tier: "NFE",
|
|
4086
4086
|
},
|
|
4087
4087
|
mandibuzz: {
|
|
4088
4088
|
randomBattleMoves: ["bravebird", "defog", "foulplay", "roost", "toxic"],
|
|
@@ -4962,7 +4962,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4962
4962
|
randomBattleLevel: 80,
|
|
4963
4963
|
randomDoubleBattleMoves: ["leechlife", "liquidation", "lunge", "protect", "stickyweb", "wideguard"],
|
|
4964
4964
|
randomDoubleBattleLevel: 84,
|
|
4965
|
-
tier: "
|
|
4965
|
+
tier: "PUBL",
|
|
4966
4966
|
doublesTier: "DUU",
|
|
4967
4967
|
},
|
|
4968
4968
|
araquanidtotem: {
|
|
@@ -5159,11 +5159,10 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5159
5159
|
doublesTier: "(DUU)",
|
|
5160
5160
|
},
|
|
5161
5161
|
silvallyflying: {
|
|
5162
|
-
randomBattleMoves: ["
|
|
5162
|
+
randomBattleMoves: ["flamecharge", "ironhead", "multiattack", "rockslide", "swordsdance"],
|
|
5163
5163
|
randomBattleLevel: 84,
|
|
5164
5164
|
randomDoubleBattleMoves: ["firefang", "ironhead", "multiattack", "swordsdance", "tailwind"],
|
|
5165
5165
|
randomDoubleBattleLevel: 86,
|
|
5166
|
-
randomBattleNoDynamaxMoves: ["flamecharge", "ironhead", "multiattack", "rockslide", "swordsdance"],
|
|
5167
5166
|
tier: "(PU)",
|
|
5168
5167
|
doublesTier: "(DUU)",
|
|
5169
5168
|
},
|
|
@@ -5433,7 +5432,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5433
5432
|
randomBattleLevel: 84,
|
|
5434
5433
|
randomDoubleBattleMoves: ["dracometeor", "fireblast", "knockoff", "protect", "sludgebomb"],
|
|
5435
5434
|
randomDoubleBattleLevel: 88,
|
|
5436
|
-
tier: "
|
|
5435
|
+
tier: "PUBL",
|
|
5437
5436
|
doublesTier: "(DUU)",
|
|
5438
5437
|
},
|
|
5439
5438
|
necrozma: {
|
|
@@ -5594,7 +5593,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5594
5593
|
randomBattleLevel: 80,
|
|
5595
5594
|
randomDoubleBattleMoves: ["airslash", "hydropump", "icebeam", "muddywater", "shadowball", "uturn"],
|
|
5596
5595
|
randomDoubleBattleLevel: 84,
|
|
5597
|
-
tier: "
|
|
5596
|
+
tier: "PUBL",
|
|
5598
5597
|
doublesTier: "(DUU)",
|
|
5599
5598
|
},
|
|
5600
5599
|
inteleongmax: {
|
|
@@ -68,6 +68,10 @@ export const Conditions: {[id: string]: ModdedConditionData} = {
|
|
|
68
68
|
// 1-7 turns
|
|
69
69
|
this.effectState.startTime = this.random(1, 8);
|
|
70
70
|
this.effectState.time = this.effectState.startTime;
|
|
71
|
+
|
|
72
|
+
if (target.removeVolatile('nightmare')) {
|
|
73
|
+
this.add('-end', target, 'Nightmare', '[silent]');
|
|
74
|
+
}
|
|
71
75
|
},
|
|
72
76
|
onBeforeMovePriority: 10,
|
|
73
77
|
onBeforeMove(pokemon, target, move) {
|
|
@@ -414,7 +414,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
414
414
|
slowbro: {
|
|
415
415
|
randomBattleMoves: ["amnesia", "surf", "thunderwave"],
|
|
416
416
|
exclusiveMoves: ["blizzard", "psychic", "rest", "rest"],
|
|
417
|
-
tier: "
|
|
417
|
+
tier: "OU",
|
|
418
418
|
},
|
|
419
419
|
magnemite: {
|
|
420
420
|
randomBattleMoves: ["thunder", "thunderbolt", "thunderwave"],
|
package/data/mods/gen1/moves.ts
CHANGED
|
@@ -538,12 +538,17 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
538
538
|
onBoost(boost, target, source, effect) {
|
|
539
539
|
if (effect.effectType === 'Move' && effect.category !== 'Status') return;
|
|
540
540
|
if (source && target !== source) {
|
|
541
|
+
let showMsg = false;
|
|
541
542
|
let i: BoostID;
|
|
542
543
|
for (i in boost) {
|
|
543
544
|
if (boost[i]! < 0) {
|
|
544
545
|
delete boost[i];
|
|
546
|
+
showMsg = true;
|
|
545
547
|
}
|
|
546
548
|
}
|
|
549
|
+
if (showMsg && !(effect as ActiveMove).secondaries) {
|
|
550
|
+
this.add('-activate', target, 'move: Mist');
|
|
551
|
+
}
|
|
547
552
|
}
|
|
548
553
|
},
|
|
549
554
|
},
|
|
@@ -759,7 +764,6 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
759
764
|
}
|
|
760
765
|
// We only prevent when hp is less than one quarter.
|
|
761
766
|
// If you use substitute at exactly one quarter, you faint.
|
|
762
|
-
if (target.hp === target.maxhp / 4) target.faint();
|
|
763
767
|
if (target.hp < target.maxhp / 4) {
|
|
764
768
|
this.add('-fail', target, 'move: Substitute', '[weak]');
|
|
765
769
|
return null;
|
|
@@ -467,8 +467,9 @@ export const Scripts: ModdedBattleScriptsData = {
|
|
|
467
467
|
return false;
|
|
468
468
|
}
|
|
469
469
|
if (moveData.boosts && target.hp) {
|
|
470
|
-
|
|
471
|
-
|
|
470
|
+
const willBoost = this.battle.boost(moveData.boosts, target, pokemon, move);
|
|
471
|
+
if (!willBoost) {
|
|
472
|
+
if (willBoost === false) this.battle.add('-fail', target);
|
|
472
473
|
return false;
|
|
473
474
|
}
|
|
474
475
|
didSomething = true;
|
|
@@ -35,6 +35,10 @@ export const Conditions: {[k: string]: ModdedConditionData} = {
|
|
|
35
35
|
}
|
|
36
36
|
// 1-6 turns
|
|
37
37
|
this.effectState.time = this.random(2, 8);
|
|
38
|
+
|
|
39
|
+
if (target.removeVolatile('nightmare')) {
|
|
40
|
+
this.add('-end', target, 'Nightmare', '[silent]');
|
|
41
|
+
}
|
|
38
42
|
},
|
|
39
43
|
onBeforeMovePriority: 10,
|
|
40
44
|
onBeforeMove(pokemon, target, move) {
|
|
@@ -12,6 +12,10 @@ export const Conditions: {[k: string]: ModdedConditionData} = {
|
|
|
12
12
|
this.effectState.time = this.random(2, 6);
|
|
13
13
|
// Turns spent using Sleep Talk/Snore immediately before switching out while asleep
|
|
14
14
|
this.effectState.skippedTime = 0;
|
|
15
|
+
|
|
16
|
+
if (target.removeVolatile('nightmare')) {
|
|
17
|
+
this.add('-end', target, 'Nightmare', '[silent]');
|
|
18
|
+
}
|
|
15
19
|
},
|
|
16
20
|
onSwitchIn(target) {
|
|
17
21
|
this.effectState.time += this.effectState.skippedTime;
|
|
@@ -411,7 +411,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
411
411
|
tier: "LC",
|
|
412
412
|
},
|
|
413
413
|
weezing: {
|
|
414
|
-
randomBattleMoves: ["explosion", "fireblast", "
|
|
414
|
+
randomBattleMoves: ["explosion", "fireblast", "haze", "painsplit", "sludgebomb", "toxic", "willowisp"],
|
|
415
415
|
tier: "UUBL",
|
|
416
416
|
},
|
|
417
417
|
rhyhorn: {
|
|
@@ -835,7 +835,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
835
835
|
tier: "UU",
|
|
836
836
|
},
|
|
837
837
|
skarmory: {
|
|
838
|
-
randomBattleMoves: ["
|
|
838
|
+
randomBattleMoves: ["drillpeck", "hiddenpowerground", "protect", "rest", "roar", "sleeptalk", "spikes", "toxic"],
|
|
839
839
|
tier: "OU",
|
|
840
840
|
},
|
|
841
841
|
houndour: {
|
|
@@ -1368,7 +1368,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
1368
1368
|
tier: "Uber",
|
|
1369
1369
|
},
|
|
1370
1370
|
groudon: {
|
|
1371
|
-
randomBattleMoves: ["earthquake", "
|
|
1371
|
+
randomBattleMoves: ["earthquake", "hiddenpowerbug", "overheat", "rockslide", "substitute", "swordsdance", "thunderwave"],
|
|
1372
1372
|
tier: "Uber",
|
|
1373
1373
|
},
|
|
1374
1374
|
rayquaza: {
|
|
@@ -281,7 +281,7 @@ export const Abilities: {[k: string]: ModdedAbilityData} = {
|
|
|
281
281
|
// in gen 3-4, Natural Cure's curing is always known to both players
|
|
282
282
|
|
|
283
283
|
this.add('-curestatus', pokemon, pokemon.status, '[from] ability: Natural Cure');
|
|
284
|
-
pokemon.
|
|
284
|
+
pokemon.clearStatus();
|
|
285
285
|
},
|
|
286
286
|
},
|
|
287
287
|
normalize: {
|
|
@@ -30,6 +30,10 @@ export const Conditions: {[k: string]: ModdedConditionData} = {
|
|
|
30
30
|
}
|
|
31
31
|
// 1-4 turns
|
|
32
32
|
this.effectState.time = this.random(2, 6);
|
|
33
|
+
|
|
34
|
+
if (target.removeVolatile('nightmare')) {
|
|
35
|
+
this.add('-end', target, 'Nightmare', '[silent]');
|
|
36
|
+
}
|
|
33
37
|
},
|
|
34
38
|
onBeforeMovePriority: 10,
|
|
35
39
|
onBeforeMove(pokemon, target, move) {
|
package/data/mods/gen4/moves.ts
CHANGED
|
@@ -759,7 +759,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
759
759
|
onSwitchIn(target) {
|
|
760
760
|
if (target.hp > 0) {
|
|
761
761
|
target.heal(target.maxhp);
|
|
762
|
-
target.
|
|
762
|
+
target.clearStatus();
|
|
763
763
|
this.add('-heal', target, target.getHealth, '[from] move: Healing Wish');
|
|
764
764
|
target.side.removeSlotCondition(target, 'healingwish');
|
|
765
765
|
target.lastMove = this.lastMove;
|
|
@@ -940,7 +940,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
940
940
|
}
|
|
941
941
|
if (target.hp > 0) {
|
|
942
942
|
target.heal(target.maxhp);
|
|
943
|
-
target.
|
|
943
|
+
target.clearStatus();
|
|
944
944
|
for (const moveSlot of target.moveSlots) {
|
|
945
945
|
moveSlot.pp = moveSlot.maxpp;
|
|
946
946
|
}
|
|
@@ -1395,6 +1395,13 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
1395
1395
|
inherit: true,
|
|
1396
1396
|
accuracy: 90,
|
|
1397
1397
|
},
|
|
1398
|
+
secretpower: {
|
|
1399
|
+
inherit: true,
|
|
1400
|
+
secondary: {
|
|
1401
|
+
chance: 30,
|
|
1402
|
+
status: 'par',
|
|
1403
|
+
},
|
|
1404
|
+
},
|
|
1398
1405
|
sketch: {
|
|
1399
1406
|
inherit: true,
|
|
1400
1407
|
onHit(target, source) {
|
package/data/mods/gen5/moves.ts
CHANGED
|
@@ -753,13 +753,10 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
753
753
|
},
|
|
754
754
|
secretpower: {
|
|
755
755
|
inherit: true,
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
this.boost({accuracy: -1}, target, source);
|
|
761
|
-
}
|
|
762
|
-
source.removeVolatile('secretpower');
|
|
756
|
+
secondary: {
|
|
757
|
+
chance: 30,
|
|
758
|
+
boosts: {
|
|
759
|
+
accuracy: -1,
|
|
763
760
|
},
|
|
764
761
|
},
|
|
765
762
|
},
|
|
@@ -422,6 +422,30 @@ export const Pokedex: {[k: string]: ModdedSpeciesData} = {
|
|
|
422
422
|
inherit: true,
|
|
423
423
|
baseStats: {hp: 85, atk: 100, def: 90, spa: 45, spd: 90, spe: 80},
|
|
424
424
|
},
|
|
425
|
+
pansage: {
|
|
426
|
+
inherit: true,
|
|
427
|
+
maleOnlyHidden: true,
|
|
428
|
+
},
|
|
429
|
+
simisage: {
|
|
430
|
+
inherit: true,
|
|
431
|
+
maleOnlyHidden: true,
|
|
432
|
+
},
|
|
433
|
+
pansear: {
|
|
434
|
+
inherit: true,
|
|
435
|
+
maleOnlyHidden: true,
|
|
436
|
+
},
|
|
437
|
+
simisear: {
|
|
438
|
+
inherit: true,
|
|
439
|
+
maleOnlyHidden: true,
|
|
440
|
+
},
|
|
441
|
+
panpour: {
|
|
442
|
+
inherit: true,
|
|
443
|
+
maleOnlyHidden: true,
|
|
444
|
+
},
|
|
445
|
+
simipour: {
|
|
446
|
+
inherit: true,
|
|
447
|
+
maleOnlyHidden: true,
|
|
448
|
+
},
|
|
425
449
|
unfezant: {
|
|
426
450
|
inherit: true,
|
|
427
451
|
baseStats: {hp: 80, atk: 105, def: 80, spa: 65, spd: 55, spe: 93},
|