@pkmn/mods 0.6.2 → 0.6.4
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/build/gen1jpn/moves.js +3 -2
- package/build/gen1jpn/moves.js.map +1 -1
- package/build/gen1stadium/moves.js +87 -0
- package/build/gen1stadium/moves.js.map +1 -1
- package/build/gen1stadium/scripts.js +133 -23
- package/build/gen1stadium/scripts.js.map +1 -1
- package/build/gen2stadium2/scripts.js +1 -1
- package/package.json +4 -4
- package/src/gen1jpn/moves.ts +3 -2
- package/src/gen1stadium/moves.ts +84 -1
- package/src/gen1stadium/scripts.ts +139 -23
- package/src/gen2stadium2/scripts.ts +1 -1
package/build/gen1jpn/moves.js
CHANGED
|
@@ -18,7 +18,7 @@ exports.Moves = {
|
|
|
18
18
|
duration: 2,
|
|
19
19
|
onLockMove: 'dig',
|
|
20
20
|
onInvulnerability(target, source, move) {
|
|
21
|
-
if (move.id === 'swift' && target.volatiles['substitute'])
|
|
21
|
+
if ((move.id === 'swift' && target.volatiles['substitute']) || move.id === 'transform')
|
|
22
22
|
return true;
|
|
23
23
|
this.add('-message', `The foe ${target.name} can't be hit underground!`);
|
|
24
24
|
return false;
|
|
@@ -41,7 +41,7 @@ exports.Moves = {
|
|
|
41
41
|
duration: 2,
|
|
42
42
|
onLockMove: 'fly',
|
|
43
43
|
onInvulnerability(target, source, move) {
|
|
44
|
-
if (move.id === 'swift' && target.volatiles['substitute'])
|
|
44
|
+
if ((move.id === 'swift' && target.volatiles['substitute']) || move.id === 'transform')
|
|
45
45
|
return true;
|
|
46
46
|
this.add('-message', `The foe ${target.name} can't be hit while flying!`);
|
|
47
47
|
return false;
|
|
@@ -95,6 +95,7 @@ exports.Moves = {
|
|
|
95
95
|
if (!uncappedDamage)
|
|
96
96
|
return uncappedDamage;
|
|
97
97
|
source.lastDamage = uncappedDamage;
|
|
98
|
+
this.lastDamage = uncappedDamage;
|
|
98
99
|
target.volatiles['substitute'].hp -= uncappedDamage > target.volatiles['substitute'].hp ?
|
|
99
100
|
target.volatiles['substitute'].hp : uncappedDamage;
|
|
100
101
|
if (target.volatiles['substitute'].hp <= 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moves.js","sourceRoot":"","sources":["../../src/gen1jpn/moves.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AAEU,QAAA,KAAK,GAAkC;IACnD,QAAQ,EAAE;QACT,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,KAAK;SACb;KACD;IACD,GAAG,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACV,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,KAAK;YACjB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;gBACrC,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;oBAAE,OAAO,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"moves.js","sourceRoot":"","sources":["../../src/gen1jpn/moves.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,92 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Moves = void 0;
|
|
4
4
|
exports.Moves = {
|
|
5
|
+
bide: {
|
|
6
|
+
inherit: true,
|
|
7
|
+
priority: 0,
|
|
8
|
+
accuracy: true,
|
|
9
|
+
ignoreEvasion: true,
|
|
10
|
+
condition: {
|
|
11
|
+
duration: 2,
|
|
12
|
+
durationCallback(target, source, effect) {
|
|
13
|
+
return this.random(3, 5);
|
|
14
|
+
},
|
|
15
|
+
onStart(pokemon) {
|
|
16
|
+
this.effectState.totalDamage = 0;
|
|
17
|
+
this.effectState.lastDamage = 0;
|
|
18
|
+
this.add('-start', pokemon, 'Bide');
|
|
19
|
+
},
|
|
20
|
+
onHit(target, source, move) {
|
|
21
|
+
if (source && source !== target && move.category !== 'Physical' && move.category !== 'Special') {
|
|
22
|
+
const damage = this.effectState.totalDamage;
|
|
23
|
+
this.effectState.totalDamage += damage;
|
|
24
|
+
this.effectState.lastDamage = damage;
|
|
25
|
+
this.effectState.sourceSlot = source.getSlot();
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
onDamage(damage, target, source, move) {
|
|
29
|
+
if (!source || source.isAlly(target))
|
|
30
|
+
return;
|
|
31
|
+
if (!move || move.effectType !== 'Move')
|
|
32
|
+
return;
|
|
33
|
+
if (!damage && this.effectState.lastDamage > 0) {
|
|
34
|
+
damage = this.effectState.totalDamage;
|
|
35
|
+
}
|
|
36
|
+
this.effectState.totalDamage += damage;
|
|
37
|
+
this.effectState.lastDamage = damage;
|
|
38
|
+
this.effectState.sourceSlot = source.getSlot();
|
|
39
|
+
},
|
|
40
|
+
onAfterSetStatus(status, pokemon) {
|
|
41
|
+
// Sleep, freeze, and partial trap will just pause duration.
|
|
42
|
+
if (pokemon.volatiles['flinch']) {
|
|
43
|
+
this.effectState.duration++;
|
|
44
|
+
}
|
|
45
|
+
else if (pokemon.volatiles['partiallytrapped']) {
|
|
46
|
+
this.effectState.duration++;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
switch (status.id) {
|
|
50
|
+
case 'slp':
|
|
51
|
+
case 'frz':
|
|
52
|
+
this.effectState.duration++;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
onBeforeMove(pokemon, t, move) {
|
|
58
|
+
if (this.effectState.duration === 1) {
|
|
59
|
+
this.add('-end', pokemon, 'Bide');
|
|
60
|
+
if (!this.effectState.totalDamage) {
|
|
61
|
+
this.debug("Bide failed because no damage was taken");
|
|
62
|
+
this.add('-fail', pokemon);
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
const target = this.getAtSlot(this.effectState.sourceSlot);
|
|
66
|
+
if (target.isSemiInvulnerable()) {
|
|
67
|
+
this.add('-message', 'The foe ' + target.name + ' can\'t be hit while flying!');
|
|
68
|
+
pokemon.removeVolatile('bide');
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
this.actions.moveHit(target, pokemon, move, { damage: this.effectState.totalDamage * 2 });
|
|
72
|
+
pokemon.removeVolatile('bide');
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
this.add('-activate', pokemon, 'Bide');
|
|
76
|
+
return false;
|
|
77
|
+
},
|
|
78
|
+
onDisableMove(pokemon) {
|
|
79
|
+
if (!pokemon.hasMove('bide')) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
for (const moveSlot of pokemon.moveSlots) {
|
|
83
|
+
if (moveSlot.id !== 'bide') {
|
|
84
|
+
pokemon.disableMove(moveSlot.id);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
type: "???", // Will look as Normal but it's STAB-less
|
|
90
|
+
},
|
|
5
91
|
bind: {
|
|
6
92
|
inherit: true,
|
|
7
93
|
// FIXME: onBeforeMove() {},
|
|
@@ -181,6 +267,7 @@ exports.Moves = {
|
|
|
181
267
|
return damage;
|
|
182
268
|
target.volatiles['substitute'].hp -= damage;
|
|
183
269
|
source.lastDamage = damage;
|
|
270
|
+
this.lastDamage = damage;
|
|
184
271
|
if (target.volatiles['substitute'].hp <= 0) {
|
|
185
272
|
this.debug('Substitute broke');
|
|
186
273
|
target.removeVolatile('substitute');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moves.js","sourceRoot":"","sources":["../../src/gen1stadium/moves.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"moves.js","sourceRoot":"","sources":["../../src/gen1stadium/moves.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,31 +99,141 @@ exports.Scripts = {
|
|
|
99
99
|
sourceEffect = move;
|
|
100
100
|
}
|
|
101
101
|
this.battle.actions.useMove(move, pokemon, target, sourceEffect);
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
102
|
+
},
|
|
103
|
+
// This function deals with AfterMoveSelf events.
|
|
104
|
+
// This leads with partial trapping moves shenanigans after the move has been used.
|
|
105
|
+
useMove(moveOrMoveName, pokemon, target, sourceEffect) {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
const moveResult = this.useMoveInner(moveOrMoveName, pokemon, target, sourceEffect);
|
|
108
|
+
if (!sourceEffect && this.battle.effect.id)
|
|
109
|
+
sourceEffect = this.battle.effect;
|
|
110
|
+
const baseMove = this.battle.dex.moves.get(moveOrMoveName);
|
|
111
|
+
let move = this.battle.dex.getActiveMove(baseMove);
|
|
112
|
+
if (target === undefined)
|
|
113
|
+
target = this.battle.getRandomTarget(pokemon, move);
|
|
114
|
+
if (move.target === 'self') {
|
|
115
|
+
target = pokemon;
|
|
116
|
+
}
|
|
117
|
+
if (sourceEffect)
|
|
118
|
+
move.sourceEffect = sourceEffect.id;
|
|
119
|
+
this.battle.singleEvent('ModifyMove', move, null, pokemon, target, move, move);
|
|
120
|
+
if (baseMove.target !== move.target) {
|
|
121
|
+
// Target changed in ModifyMove, so we must adjust it here
|
|
122
|
+
target = this.battle.getRandomTarget(pokemon, move);
|
|
123
|
+
}
|
|
124
|
+
move = this.battle.runEvent('ModifyMove', pokemon, target, move, move);
|
|
125
|
+
if (baseMove.target !== move.target) {
|
|
126
|
+
// Check again, this shouldn't ever happen on Gen 1.
|
|
127
|
+
target = this.battle.getRandomTarget(pokemon, move);
|
|
128
|
+
}
|
|
129
|
+
if (move.id !== 'metronome') {
|
|
130
|
+
if (move.id !== 'mirrormove' ||
|
|
131
|
+
(!((_a = pokemon.side.foe.active[0]) === null || _a === void 0 ? void 0 : _a.lastMove) || ((_b = pokemon.side.foe.active[0].lastMove) === null || _b === void 0 ? void 0 : _b.id) === 'mirrormove')) {
|
|
132
|
+
// The move is our 'final' move (a failed Mirror Move, or any move that isn't Metronome or Mirror Move).
|
|
133
|
+
this.battle.singleEvent('AfterMove', move, null, pokemon, target, move);
|
|
134
|
+
// If target fainted
|
|
135
|
+
if (target && target.hp <= 0) {
|
|
136
|
+
// We remove screens
|
|
137
|
+
target.side.removeSideCondition('reflect');
|
|
138
|
+
target.side.removeSideCondition('lightscreen');
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
this.battle.runEvent('AfterMoveSelf', pokemon, target, move);
|
|
142
|
+
}
|
|
143
|
+
if (pokemon.volatiles['mustrecharge'])
|
|
144
|
+
this.battle.add('-mustrecharge', pokemon);
|
|
145
|
+
// For partial trapping moves, we are saving the target.
|
|
146
|
+
if (move.volatileStatus === 'partiallytrapped' && target && target.hp > 0) {
|
|
147
|
+
// It hit, so let's remove must recharge volatile. Yup, this happens on Stadium.
|
|
148
|
+
target.removeVolatile('mustrecharge');
|
|
149
|
+
// Let's check if the lock exists
|
|
150
|
+
if (pokemon.volatiles['partialtrappinglock'] && target.volatiles['partiallytrapped']) {
|
|
151
|
+
// Here the partialtrappinglock volatile has been already applied
|
|
152
|
+
if (!pokemon.volatiles['partialtrappinglock'].locked) {
|
|
153
|
+
// If it's the first hit, we save the target
|
|
154
|
+
pokemon.volatiles['partialtrappinglock'].locked = target;
|
|
155
|
+
}
|
|
156
|
+
} // If we move to here, the move failed and there's no partial trapping lock
|
|
157
|
+
}
|
|
158
|
+
}
|
|
108
159
|
}
|
|
109
|
-
|
|
110
|
-
|
|
160
|
+
return moveResult;
|
|
161
|
+
},
|
|
162
|
+
// This is the function that actually uses the move, running ModifyMove events.
|
|
163
|
+
// It uses the move and then deals with the effects after the move.
|
|
164
|
+
useMoveInner(moveOrMoveName, pokemon, target, sourceEffect) {
|
|
165
|
+
if (!sourceEffect && this.battle.effect.id)
|
|
166
|
+
sourceEffect = this.battle.effect;
|
|
167
|
+
const baseMove = this.battle.dex.moves.get(moveOrMoveName);
|
|
168
|
+
let move = this.battle.dex.getActiveMove(baseMove);
|
|
169
|
+
if (target === undefined)
|
|
170
|
+
target = this.battle.getRandomTarget(pokemon, move);
|
|
171
|
+
if (move.target === 'self') {
|
|
172
|
+
target = pokemon;
|
|
173
|
+
}
|
|
174
|
+
if (sourceEffect)
|
|
175
|
+
move.sourceEffect = sourceEffect.id;
|
|
176
|
+
this.battle.setActiveMove(move, pokemon, target);
|
|
177
|
+
this.battle.singleEvent('ModifyMove', move, null, pokemon, target, move, move);
|
|
178
|
+
if (baseMove.target !== move.target) {
|
|
179
|
+
// Target changed in ModifyMove, so we must adjust it here
|
|
180
|
+
target = this.battle.getRandomTarget(pokemon, move);
|
|
181
|
+
}
|
|
182
|
+
move = this.battle.runEvent('ModifyMove', pokemon, target, move, move);
|
|
183
|
+
if (baseMove.target !== move.target) {
|
|
184
|
+
// Check again, this shouldn't ever happen on Gen 1.
|
|
185
|
+
target = this.battle.getRandomTarget(pokemon, move);
|
|
186
|
+
this.battle.debug('not a gen 1 mechanic');
|
|
187
|
+
}
|
|
188
|
+
if (!move)
|
|
189
|
+
return false;
|
|
190
|
+
let attrs = '';
|
|
191
|
+
if (pokemon.fainted) {
|
|
192
|
+
// Removing screens upon faint.
|
|
193
|
+
pokemon.side.removeSideCondition('reflect');
|
|
194
|
+
pokemon.side.removeSideCondition('lightscreen');
|
|
195
|
+
return false;
|
|
111
196
|
}
|
|
112
|
-
if (
|
|
113
|
-
this.battle.
|
|
114
|
-
|
|
115
|
-
if (
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
197
|
+
if (sourceEffect)
|
|
198
|
+
attrs += '|[from]' + this.battle.dex.conditions.get(sourceEffect);
|
|
199
|
+
this.battle.addMove('move', pokemon, move.name, target + attrs);
|
|
200
|
+
if (!this.battle.singleEvent('Try', move, null, pokemon, target, move)) {
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
if (!this.battle.singleEvent('TryMove', move, null, pokemon, target, move) ||
|
|
204
|
+
!this.battle.runEvent('TryMove', pokemon, target, move)) {
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
if (move.ignoreImmunity === undefined) {
|
|
208
|
+
move.ignoreImmunity = (move.category === 'Status');
|
|
209
|
+
}
|
|
210
|
+
let damage = false;
|
|
211
|
+
if (!target || target.fainted) {
|
|
212
|
+
this.battle.attrLastMove('[notarget]');
|
|
213
|
+
this.battle.add('-notarget');
|
|
214
|
+
return true;
|
|
215
|
+
}
|
|
216
|
+
damage = this.tryMoveHit(target, pokemon, move);
|
|
217
|
+
// Store 0 damage for last damage if move failed.
|
|
218
|
+
// This only happens on moves that don't deal damage but call GetDamageVarsForPlayerAttack (disassembly).
|
|
219
|
+
const neverDamageMoves = [
|
|
220
|
+
'conversion', 'haze', 'mist', 'focusenergy', 'confuseray', 'supersonic', 'transform', 'lightscreen', 'reflect', 'substitute', 'mimic', 'leechseed', 'splash', 'softboiled', 'recover', 'rest',
|
|
221
|
+
];
|
|
222
|
+
if (!damage && damage !== 0 &&
|
|
223
|
+
(move.category !== 'Status' || (move.status && !['psn', 'tox', 'par'].includes(move.status))) &&
|
|
224
|
+
!neverDamageMoves.includes(move.id)) {
|
|
225
|
+
this.battle.lastDamage = 0;
|
|
226
|
+
}
|
|
227
|
+
// Go ahead with results of the used move.
|
|
228
|
+
if (damage === false) {
|
|
229
|
+
this.battle.singleEvent('MoveFail', move, null, target, pokemon, move);
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
if (!move.negateSecondary) {
|
|
233
|
+
this.battle.singleEvent('AfterMoveSecondarySelf', move, null, pokemon, target, move);
|
|
234
|
+
this.battle.runEvent('AfterMoveSecondarySelf', pokemon, target, move);
|
|
126
235
|
}
|
|
236
|
+
return true;
|
|
127
237
|
},
|
|
128
238
|
tryMoveHit(target, pokemon, move) {
|
|
129
239
|
let damage = 0;
|
|
@@ -602,7 +712,7 @@ exports.Scripts = {
|
|
|
602
712
|
// This occurs when damage was either 2 or 3 prior to applying STAB/Type matchup, and target is 4x resistant to the move.
|
|
603
713
|
if (damage === 0)
|
|
604
714
|
return damage;
|
|
605
|
-
// Apply random factor
|
|
715
|
+
// Apply random factor if damage is greater than 1
|
|
606
716
|
if (damage > 1) {
|
|
607
717
|
damage *= this.battle.random(217, 256);
|
|
608
718
|
damage = Math.floor(damage / 255);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/gen1stadium/scripts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/gen1stadium/scripts.ts"],"names":[],"mappings":"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"}
|
|
@@ -429,7 +429,7 @@ exports.Scripts = {
|
|
|
429
429
|
damage = Math.floor(damage / 2);
|
|
430
430
|
}
|
|
431
431
|
}
|
|
432
|
-
// Apply random factor
|
|
432
|
+
// Apply random factor if damage is greater than 1, except for Flail and Reversal
|
|
433
433
|
if (!move.noDamageVariance && damage > 1) {
|
|
434
434
|
damage *= this.battle.random(217, 256);
|
|
435
435
|
damage = Math.floor(damage / 255);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pkmn/mods",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.4",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"!src/*.test.*"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@pkmn/dex-types": "^0.6.
|
|
37
|
+
"@pkmn/dex-types": "^0.6.4"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@pkmn/dex": "^0.6.
|
|
41
|
-
"@pkmn/sim": "^0.6.
|
|
40
|
+
"@pkmn/dex": "^0.6.4",
|
|
41
|
+
"@pkmn/sim": "^0.6.4"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"lint": "eslint --cache src --ext ts",
|
package/src/gen1jpn/moves.ts
CHANGED
|
@@ -18,7 +18,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
18
18
|
duration: 2,
|
|
19
19
|
onLockMove: 'dig',
|
|
20
20
|
onInvulnerability(target, source, move) {
|
|
21
|
-
if (move.id === 'swift' && target.volatiles['substitute']) return true;
|
|
21
|
+
if ((move.id === 'swift' && target.volatiles['substitute']) || move.id === 'transform') return true;
|
|
22
22
|
this.add('-message', `The foe ${target.name} can't be hit underground!`);
|
|
23
23
|
return false;
|
|
24
24
|
},
|
|
@@ -38,7 +38,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
38
38
|
duration: 2,
|
|
39
39
|
onLockMove: 'fly',
|
|
40
40
|
onInvulnerability(target, source, move) {
|
|
41
|
-
if (move.id === 'swift' && target.volatiles['substitute']) return true;
|
|
41
|
+
if ((move.id === 'swift' && target.volatiles['substitute']) || move.id === 'transform') return true;
|
|
42
42
|
this.add('-message', `The foe ${target.name} can't be hit while flying!`);
|
|
43
43
|
return false;
|
|
44
44
|
},
|
|
@@ -86,6 +86,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
86
86
|
uncappedDamage = this.runEvent('SubDamage', target, source, move, uncappedDamage);
|
|
87
87
|
if (!uncappedDamage) return uncappedDamage;
|
|
88
88
|
source.lastDamage = uncappedDamage;
|
|
89
|
+
this.lastDamage = uncappedDamage;
|
|
89
90
|
target.volatiles['substitute'].hp -= uncappedDamage > target.volatiles['substitute'].hp ?
|
|
90
91
|
target.volatiles['substitute'].hp : uncappedDamage;
|
|
91
92
|
if (target.volatiles['substitute'].hp <= 0) {
|
package/src/gen1stadium/moves.ts
CHANGED
|
@@ -1,6 +1,88 @@
|
|
|
1
|
-
import type {ModdedMoveData} from '@pkmn/sim';
|
|
1
|
+
import type {ActiveMove, ModdedMoveData} from '@pkmn/sim';
|
|
2
2
|
|
|
3
3
|
export const Moves: {[k: string]: ModdedMoveData} = {
|
|
4
|
+
bide: {
|
|
5
|
+
inherit: true,
|
|
6
|
+
priority: 0,
|
|
7
|
+
accuracy: true,
|
|
8
|
+
ignoreEvasion: true,
|
|
9
|
+
condition: {
|
|
10
|
+
duration: 2,
|
|
11
|
+
durationCallback(target, source, effect) {
|
|
12
|
+
return this.random(3, 5);
|
|
13
|
+
},
|
|
14
|
+
onStart(pokemon) {
|
|
15
|
+
this.effectState.totalDamage = 0;
|
|
16
|
+
this.effectState.lastDamage = 0;
|
|
17
|
+
this.add('-start', pokemon, 'Bide');
|
|
18
|
+
},
|
|
19
|
+
onHit(target, source, move) {
|
|
20
|
+
if (source && source !== target && move.category !== 'Physical' && move.category !== 'Special') {
|
|
21
|
+
const damage = this.effectState.totalDamage;
|
|
22
|
+
this.effectState.totalDamage += damage;
|
|
23
|
+
this.effectState.lastDamage = damage;
|
|
24
|
+
this.effectState.sourceSlot = source.getSlot();
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
onDamage(damage, target, source, move) {
|
|
28
|
+
if (!source || source.isAlly(target)) return;
|
|
29
|
+
if (!move || move.effectType !== 'Move') return;
|
|
30
|
+
if (!damage && this.effectState.lastDamage > 0) {
|
|
31
|
+
damage = this.effectState.totalDamage;
|
|
32
|
+
}
|
|
33
|
+
this.effectState.totalDamage += damage;
|
|
34
|
+
this.effectState.lastDamage = damage;
|
|
35
|
+
this.effectState.sourceSlot = source.getSlot();
|
|
36
|
+
},
|
|
37
|
+
onAfterSetStatus(status, pokemon) {
|
|
38
|
+
// Sleep, freeze, and partial trap will just pause duration.
|
|
39
|
+
if (pokemon.volatiles['flinch']) {
|
|
40
|
+
this.effectState.duration++;
|
|
41
|
+
} else if (pokemon.volatiles['partiallytrapped']) {
|
|
42
|
+
this.effectState.duration++;
|
|
43
|
+
} else {
|
|
44
|
+
switch (status.id) {
|
|
45
|
+
case 'slp':
|
|
46
|
+
case 'frz':
|
|
47
|
+
this.effectState.duration++;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
onBeforeMove(pokemon, t, move) {
|
|
53
|
+
if (this.effectState.duration === 1) {
|
|
54
|
+
this.add('-end', pokemon, 'Bide');
|
|
55
|
+
if (!this.effectState.totalDamage) {
|
|
56
|
+
this.debug("Bide failed because no damage was taken");
|
|
57
|
+
this.add('-fail', pokemon);
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
const target = this.getAtSlot(this.effectState.sourceSlot);
|
|
61
|
+
if (target.isSemiInvulnerable()) {
|
|
62
|
+
this.add('-message', 'The foe ' + target.name + ' can\'t be hit while flying!');
|
|
63
|
+
pokemon.removeVolatile('bide');
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
this.actions.moveHit(target, pokemon, move, {damage: this.effectState.totalDamage * 2} as ActiveMove);
|
|
67
|
+
pokemon.removeVolatile('bide');
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
this.add('-activate', pokemon, 'Bide');
|
|
71
|
+
return false;
|
|
72
|
+
},
|
|
73
|
+
onDisableMove(pokemon) {
|
|
74
|
+
if (!pokemon.hasMove('bide')) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
for (const moveSlot of pokemon.moveSlots) {
|
|
78
|
+
if (moveSlot.id !== 'bide') {
|
|
79
|
+
pokemon.disableMove(moveSlot.id);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
type: "???", // Will look as Normal but it's STAB-less
|
|
85
|
+
},
|
|
4
86
|
bind: {
|
|
5
87
|
inherit: true,
|
|
6
88
|
// FIXME: onBeforeMove() {},
|
|
@@ -178,6 +260,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
178
260
|
if (!damage) return damage;
|
|
179
261
|
target.volatiles['substitute'].hp -= damage;
|
|
180
262
|
source.lastDamage = damage;
|
|
263
|
+
this.lastDamage = damage;
|
|
181
264
|
if (target.volatiles['substitute'].hp <= 0) {
|
|
182
265
|
this.debug('Substitute broke');
|
|
183
266
|
target.removeVolatile('substitute');
|
|
@@ -98,31 +98,147 @@ export const Scripts: ModdedBattleScriptsData = {
|
|
|
98
98
|
sourceEffect = move;
|
|
99
99
|
}
|
|
100
100
|
this.battle.actions.useMove(move, pokemon, target, sourceEffect);
|
|
101
|
-
|
|
101
|
+
},
|
|
102
|
+
// This function deals with AfterMoveSelf events.
|
|
103
|
+
// This leads with partial trapping moves shenanigans after the move has been used.
|
|
104
|
+
useMove(moveOrMoveName, pokemon, target, sourceEffect) {
|
|
105
|
+
const moveResult = this.useMoveInner(moveOrMoveName, pokemon, target, sourceEffect);
|
|
106
|
+
|
|
107
|
+
if (!sourceEffect && this.battle.effect.id) sourceEffect = this.battle.effect;
|
|
108
|
+
const baseMove = this.battle.dex.moves.get(moveOrMoveName);
|
|
109
|
+
let move = this.battle.dex.getActiveMove(baseMove);
|
|
110
|
+
if (target === undefined) target = this.battle.getRandomTarget(pokemon, move);
|
|
111
|
+
if (move.target === 'self') {
|
|
112
|
+
target = pokemon;
|
|
113
|
+
}
|
|
114
|
+
if (sourceEffect) move.sourceEffect = sourceEffect.id;
|
|
115
|
+
|
|
116
|
+
this.battle.singleEvent('ModifyMove', move, null, pokemon, target, move, move);
|
|
117
|
+
if (baseMove.target !== move.target) {
|
|
118
|
+
// Target changed in ModifyMove, so we must adjust it here
|
|
119
|
+
target = this.battle.getRandomTarget(pokemon, move);
|
|
120
|
+
}
|
|
121
|
+
move = this.battle.runEvent('ModifyMove', pokemon, target, move, move);
|
|
122
|
+
if (baseMove.target !== move.target) {
|
|
123
|
+
// Check again, this shouldn't ever happen on Gen 1.
|
|
124
|
+
target = this.battle.getRandomTarget(pokemon, move);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (move.id !== 'metronome') {
|
|
128
|
+
if (move.id !== 'mirrormove' ||
|
|
129
|
+
(!pokemon.side.foe.active[0]?.lastMove || pokemon.side.foe.active[0].lastMove?.id === 'mirrormove')) {
|
|
130
|
+
// The move is our 'final' move (a failed Mirror Move, or any move that isn't Metronome or Mirror Move).
|
|
131
|
+
this.battle.singleEvent('AfterMove', move, null, pokemon, target, move);
|
|
132
|
+
|
|
133
|
+
// If target fainted
|
|
134
|
+
if (target && target.hp <= 0) {
|
|
135
|
+
// We remove screens
|
|
136
|
+
target.side.removeSideCondition('reflect');
|
|
137
|
+
target.side.removeSideCondition('lightscreen');
|
|
138
|
+
} else {
|
|
139
|
+
this.battle.runEvent('AfterMoveSelf', pokemon, target, move);
|
|
140
|
+
}
|
|
141
|
+
if (pokemon.volatiles['mustrecharge']) this.battle.add('-mustrecharge', pokemon);
|
|
142
|
+
|
|
143
|
+
// For partial trapping moves, we are saving the target.
|
|
144
|
+
if (move.volatileStatus === 'partiallytrapped' && target && target.hp > 0) {
|
|
145
|
+
// It hit, so let's remove must recharge volatile. Yup, this happens on Stadium.
|
|
146
|
+
target.removeVolatile('mustrecharge');
|
|
147
|
+
// Let's check if the lock exists
|
|
148
|
+
if (pokemon.volatiles['partialtrappinglock'] && target.volatiles['partiallytrapped']) {
|
|
149
|
+
// Here the partialtrappinglock volatile has been already applied
|
|
150
|
+
if (!pokemon.volatiles['partialtrappinglock'].locked) {
|
|
151
|
+
// If it's the first hit, we save the target
|
|
152
|
+
pokemon.volatiles['partialtrappinglock'].locked = target;
|
|
153
|
+
}
|
|
154
|
+
} // If we move to here, the move failed and there's no partial trapping lock
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return moveResult;
|
|
159
|
+
},
|
|
160
|
+
// This is the function that actually uses the move, running ModifyMove events.
|
|
161
|
+
// It uses the move and then deals with the effects after the move.
|
|
162
|
+
useMoveInner(moveOrMoveName, pokemon, target, sourceEffect) {
|
|
163
|
+
if (!sourceEffect && this.battle.effect.id) sourceEffect = this.battle.effect;
|
|
164
|
+
const baseMove = this.battle.dex.moves.get(moveOrMoveName);
|
|
165
|
+
let move = this.battle.dex.getActiveMove(baseMove);
|
|
166
|
+
if (target === undefined) target = this.battle.getRandomTarget(pokemon, move);
|
|
167
|
+
if (move.target === 'self') {
|
|
168
|
+
target = pokemon;
|
|
169
|
+
}
|
|
170
|
+
if (sourceEffect) move.sourceEffect = sourceEffect.id;
|
|
102
171
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
this.battle.runEvent('AfterMoveSelf', pokemon, target, move);
|
|
172
|
+
this.battle.setActiveMove(move, pokemon, target);
|
|
173
|
+
|
|
174
|
+
this.battle.singleEvent('ModifyMove', move, null, pokemon, target, move, move);
|
|
175
|
+
if (baseMove.target !== move.target) {
|
|
176
|
+
// Target changed in ModifyMove, so we must adjust it here
|
|
177
|
+
target = this.battle.getRandomTarget(pokemon, move);
|
|
110
178
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
179
|
+
move = this.battle.runEvent('ModifyMove', pokemon, target, move, move);
|
|
180
|
+
if (baseMove.target !== move.target) {
|
|
181
|
+
// Check again, this shouldn't ever happen on Gen 1.
|
|
182
|
+
target = this.battle.getRandomTarget(pokemon, move);
|
|
183
|
+
this.battle.debug('not a gen 1 mechanic');
|
|
184
|
+
}
|
|
185
|
+
if (!move) return false;
|
|
186
|
+
|
|
187
|
+
let attrs = '';
|
|
188
|
+
if (pokemon.fainted) {
|
|
189
|
+
// Removing screens upon faint.
|
|
190
|
+
pokemon.side.removeSideCondition('reflect');
|
|
191
|
+
pokemon.side.removeSideCondition('lightscreen');
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
if (sourceEffect) attrs += '|[from]' + this.battle.dex.conditions.get(sourceEffect);
|
|
196
|
+
this.battle.addMove('move', pokemon, move.name, target + attrs);
|
|
197
|
+
|
|
198
|
+
if (!this.battle.singleEvent('Try', move, null, pokemon, target, move)) {
|
|
199
|
+
return true;
|
|
200
|
+
}
|
|
201
|
+
if (!this.battle.singleEvent('TryMove', move, null, pokemon, target, move) ||
|
|
202
|
+
!this.battle.runEvent('TryMove', pokemon, target, move)) {
|
|
203
|
+
return true;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
if (move.ignoreImmunity === undefined) {
|
|
207
|
+
move.ignoreImmunity = (move.category === 'Status');
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
let damage: number | undefined | false | '' = false;
|
|
211
|
+
if (!target || target.fainted) {
|
|
212
|
+
this.battle.attrLastMove('[notarget]');
|
|
213
|
+
this.battle.add('-notarget');
|
|
214
|
+
return true;
|
|
215
|
+
}
|
|
216
|
+
damage = this.tryMoveHit(target, pokemon, move);
|
|
217
|
+
|
|
218
|
+
// Store 0 damage for last damage if move failed.
|
|
219
|
+
// This only happens on moves that don't deal damage but call GetDamageVarsForPlayerAttack (disassembly).
|
|
220
|
+
const neverDamageMoves = [
|
|
221
|
+
'conversion', 'haze', 'mist', 'focusenergy', 'confuseray', 'supersonic', 'transform', 'lightscreen', 'reflect', 'substitute', 'mimic', 'leechseed', 'splash', 'softboiled', 'recover', 'rest',
|
|
222
|
+
];
|
|
223
|
+
if (
|
|
224
|
+
!damage && damage !== 0 &&
|
|
225
|
+
(move.category !== 'Status' || (move.status && !['psn', 'tox', 'par'].includes(move.status))) &&
|
|
226
|
+
!neverDamageMoves.includes(move.id)
|
|
227
|
+
) {
|
|
228
|
+
this.battle.lastDamage = 0;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// Go ahead with results of the used move.
|
|
232
|
+
if (damage === false) {
|
|
233
|
+
this.battle.singleEvent('MoveFail', move, null, target, pokemon, move);
|
|
234
|
+
return true;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
if (!move.negateSecondary) {
|
|
238
|
+
this.battle.singleEvent('AfterMoveSecondarySelf', move, null, pokemon, target, move);
|
|
239
|
+
this.battle.runEvent('AfterMoveSecondarySelf', pokemon, target, move);
|
|
125
240
|
}
|
|
241
|
+
return true;
|
|
126
242
|
},
|
|
127
243
|
tryMoveHit(target, pokemon, move) {
|
|
128
244
|
let damage: number | false | undefined = 0;
|
|
@@ -629,7 +745,7 @@ export const Scripts: ModdedBattleScriptsData = {
|
|
|
629
745
|
// This occurs when damage was either 2 or 3 prior to applying STAB/Type matchup, and target is 4x resistant to the move.
|
|
630
746
|
if (damage === 0) return damage;
|
|
631
747
|
|
|
632
|
-
// Apply random factor
|
|
748
|
+
// Apply random factor if damage is greater than 1
|
|
633
749
|
if (damage > 1) {
|
|
634
750
|
damage *= this.battle.random(217, 256);
|
|
635
751
|
damage = Math.floor(damage / 255);
|
|
@@ -456,7 +456,7 @@ export const Scripts: ModdedBattleScriptsData = {
|
|
|
456
456
|
}
|
|
457
457
|
}
|
|
458
458
|
|
|
459
|
-
// Apply random factor
|
|
459
|
+
// Apply random factor if damage is greater than 1, except for Flail and Reversal
|
|
460
460
|
if (!move.noDamageVariance && damage > 1) {
|
|
461
461
|
damage *= this.battle.random(217, 256);
|
|
462
462
|
damage = Math.floor(damage / 255);
|