@pkmn/mods 0.6.1 → 0.6.3
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.
|
@@ -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 or dealt 0 damage.
|
|
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 &&
|
|
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;
|
|
@@ -208,6 +318,8 @@ exports.Scripts = {
|
|
|
208
318
|
let i;
|
|
209
319
|
for (i = 0; i < hits && target.hp && pokemon.hp; i++) {
|
|
210
320
|
move.hit = i + 1;
|
|
321
|
+
if (move.hit === hits)
|
|
322
|
+
move.lastHit = true;
|
|
211
323
|
moveDamage = this.moveHit(target, pokemon, move);
|
|
212
324
|
if (moveDamage === false)
|
|
213
325
|
break;
|
|
@@ -383,14 +495,17 @@ exports.Scripts = {
|
|
|
383
495
|
// Apply move secondaries.
|
|
384
496
|
if (moveData.secondaries) {
|
|
385
497
|
for (const secondary of moveData.secondaries) {
|
|
386
|
-
//
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
if (
|
|
393
|
-
|
|
498
|
+
// Multi-hit moves only roll for status once
|
|
499
|
+
if (!move.multihit || move.lastHit) {
|
|
500
|
+
// We check here whether to negate the probable secondary status if it's para, burn, or freeze.
|
|
501
|
+
// In the game, this is checked and if true, the random number generator is not called.
|
|
502
|
+
// That means that a move that does not share the type of the target can status it.
|
|
503
|
+
// If a move that was not fire-type would exist on Gen 1, it could burn a Pokémon.
|
|
504
|
+
if (!(secondary.status && ['par', 'brn', 'frz'].includes(secondary.status) && target && target.hasType(move.type))) {
|
|
505
|
+
const effectChance = Math.floor((secondary.chance || 100) * 255 / 100);
|
|
506
|
+
if (typeof secondary.chance === 'undefined' || this.battle.randomChance(effectChance + 1, 256)) {
|
|
507
|
+
this.moveHit(target, pokemon, move, secondary, true, isSelf);
|
|
508
|
+
}
|
|
394
509
|
}
|
|
395
510
|
}
|
|
396
511
|
}
|
|
@@ -597,7 +712,7 @@ exports.Scripts = {
|
|
|
597
712
|
// This occurs when damage was either 2 or 3 prior to applying STAB/Type matchup, and target is 4x resistant to the move.
|
|
598
713
|
if (damage === 0)
|
|
599
714
|
return damage;
|
|
600
|
-
// Apply random factor
|
|
715
|
+
// Apply random factor if damage is greater than 1
|
|
601
716
|
if (damage > 1) {
|
|
602
717
|
damage *= this.battle.random(217, 256);
|
|
603
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/build/index.d.ts
CHANGED
|
@@ -36,23 +36,23 @@ export declare class ModdedDex<A extends Ability = Ability, AD extends AbilityDa
|
|
|
36
36
|
} | null;
|
|
37
37
|
Types: {
|
|
38
38
|
Normal: TypeData;
|
|
39
|
-
|
|
39
|
+
Ghost: TypeData;
|
|
40
|
+
Bug: TypeData;
|
|
40
41
|
Flying: TypeData;
|
|
42
|
+
Fairy: TypeData;
|
|
43
|
+
Grass: TypeData;
|
|
44
|
+
Dragon: TypeData;
|
|
45
|
+
Fighting: TypeData;
|
|
41
46
|
Poison: TypeData;
|
|
42
47
|
Ground: TypeData;
|
|
43
48
|
Rock: TypeData;
|
|
44
|
-
Bug: TypeData;
|
|
45
|
-
Ghost: TypeData;
|
|
46
49
|
Steel: TypeData;
|
|
47
50
|
Fire: TypeData;
|
|
48
51
|
Water: TypeData;
|
|
49
|
-
Grass: TypeData;
|
|
50
52
|
Electric: TypeData;
|
|
51
53
|
Psychic: TypeData;
|
|
52
54
|
Ice: TypeData;
|
|
53
|
-
Dragon: TypeData;
|
|
54
55
|
Dark: TypeData;
|
|
55
|
-
Fairy: TypeData;
|
|
56
56
|
};
|
|
57
57
|
};
|
|
58
58
|
mod(genid: GenID): ModdedDex;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pkmn/mods",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3",
|
|
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.3"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@pkmn/dex": "^0.6.
|
|
41
|
-
"@pkmn/sim": "^0.6.
|
|
40
|
+
"@pkmn/dex": "^0.6.3",
|
|
41
|
+
"@pkmn/sim": "^0.6.3"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"lint": "eslint --cache src --ext ts",
|
|
@@ -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 or dealt 0 damage.
|
|
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 &&
|
|
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;
|
|
@@ -215,6 +331,7 @@ export const Scripts: ModdedBattleScriptsData = {
|
|
|
215
331
|
let i: number;
|
|
216
332
|
for (i = 0; i < hits && target.hp && pokemon.hp; i++) {
|
|
217
333
|
move.hit = i + 1;
|
|
334
|
+
if (move.hit === hits) move.lastHit = true;
|
|
218
335
|
moveDamage = this.moveHit(target, pokemon, move);
|
|
219
336
|
if (moveDamage === false) break;
|
|
220
337
|
damage = (moveDamage || 0);
|
|
@@ -390,14 +507,17 @@ export const Scripts: ModdedBattleScriptsData = {
|
|
|
390
507
|
// Apply move secondaries.
|
|
391
508
|
if (moveData.secondaries) {
|
|
392
509
|
for (const secondary of moveData.secondaries) {
|
|
393
|
-
//
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
if (
|
|
400
|
-
|
|
510
|
+
// Multi-hit moves only roll for status once
|
|
511
|
+
if (!move.multihit || move.lastHit) {
|
|
512
|
+
// We check here whether to negate the probable secondary status if it's para, burn, or freeze.
|
|
513
|
+
// In the game, this is checked and if true, the random number generator is not called.
|
|
514
|
+
// That means that a move that does not share the type of the target can status it.
|
|
515
|
+
// If a move that was not fire-type would exist on Gen 1, it could burn a Pokémon.
|
|
516
|
+
if (!(secondary.status && ['par', 'brn', 'frz'].includes(secondary.status) && target && target.hasType(move.type))) {
|
|
517
|
+
const effectChance = Math.floor((secondary.chance || 100) * 255 / 100);
|
|
518
|
+
if (typeof secondary.chance === 'undefined' || this.battle.randomChance(effectChance + 1, 256)) {
|
|
519
|
+
this.moveHit(target, pokemon, move, secondary, true, isSelf);
|
|
520
|
+
}
|
|
401
521
|
}
|
|
402
522
|
}
|
|
403
523
|
}
|
|
@@ -625,7 +745,7 @@ export const Scripts: ModdedBattleScriptsData = {
|
|
|
625
745
|
// This occurs when damage was either 2 or 3 prior to applying STAB/Type matchup, and target is 4x resistant to the move.
|
|
626
746
|
if (damage === 0) return damage;
|
|
627
747
|
|
|
628
|
-
// Apply random factor
|
|
748
|
+
// Apply random factor if damage is greater than 1
|
|
629
749
|
if (damage > 1) {
|
|
630
750
|
damage *= this.battle.random(217, 256);
|
|
631
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);
|