@robsonbittencourt/calc 0.11.16 → 0.11.18
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/dist/items.d.ts +3 -3
- package/dist/mechanics/champions.js +9 -1
- package/dist/mechanics/champions.js.map +1 -1
- package/dist/multi-result.d.ts +7 -0
- package/dist/multi-result.js +99 -7
- package/dist/multi-result.js.map +1 -1
- package/dist/multicalc.d.ts +1 -0
- package/dist/multicalc.js +10 -1
- package/dist/multicalc.js.map +1 -1
- package/dist/test/stamina-multicalc.test.d.ts +1 -0
- package/dist/test/stamina-multicalc.test.js +104 -0
- package/dist/test/stamina-multicalc.test.js.map +1 -0
- package/package.json +1 -1
- package/src/mechanics/champions.ts +11 -1
- package/src/multi-result.ts +145 -7
- package/src/multicalc.ts +14 -0
- package/src/test/stamina-multicalc.test.ts +147 -0
package/dist/items.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import type { Generation, TypeName, StatID, GenerationNum } from './data/interfa
|
|
|
2
2
|
export declare const SEED_BOOSTED_STAT: {
|
|
3
3
|
[item: string]: StatID;
|
|
4
4
|
};
|
|
5
|
-
export declare function getItemBoostType(item: string | undefined): "Normal" | "
|
|
6
|
-
export declare function getBerryResistType(berry: string | undefined): "Normal" | "
|
|
7
|
-
export declare function getFlingPower(item?: string, gen?: GenerationNum):
|
|
5
|
+
export declare function getItemBoostType(item: string | undefined): "Normal" | "Fire" | "Water" | "Electric" | "Grass" | "Ice" | "Fighting" | "Poison" | "Ground" | "Flying" | "Psychic" | "Bug" | "Rock" | "Ghost" | "Dragon" | "Dark" | "Steel" | "Fairy" | undefined;
|
|
6
|
+
export declare function getBerryResistType(berry: string | undefined): "Normal" | "Fire" | "Water" | "Electric" | "Grass" | "Ice" | "Fighting" | "Poison" | "Ground" | "Flying" | "Psychic" | "Bug" | "Rock" | "Ghost" | "Dragon" | "Dark" | "Steel" | "Fairy" | undefined;
|
|
7
|
+
export declare function getFlingPower(item?: string, gen?: GenerationNum): 0 | 100 | 10 | 20 | 50 | 30 | 80 | 90 | 40 | 60 | 85 | 130 | 110 | 95 | 70;
|
|
8
8
|
export declare function getNaturalGift(gen: Generation, item: string): {
|
|
9
9
|
t: TypeName;
|
|
10
10
|
p: number;
|
|
@@ -49,7 +49,7 @@ function calculateChampions(gen, attacker, defender, move, field) {
|
|
|
49
49
|
result.damage = damage_1;
|
|
50
50
|
return result;
|
|
51
51
|
}
|
|
52
|
-
var defenderAbilityIgnored = defender.hasAbility('Armor Tail', 'Aroma Veil', 'Battle Armor', 'Big Pecks', 'Bulletproof', 'Clear Body', 'Contrary', 'Damp', 'Disguise', 'Dry Skin', 'Earth Eater', 'Filter', 'Flash Fire', 'Flower Veil', 'Friend Guard', 'Fur Coat', 'Heatproof', 'Heavy Metal', 'Hyper Cutter', 'Illuminate', 'Immunity', 'Inner Focus', 'Insomnia', 'Keen Eye', 'Leaf Guard', 'Levitate', 'Light Metal', 'Lightning Rod', 'Limber', 'Magic Bounce', 'Magma Armor', 'Marvel Scale', 'Mirror Armor', 'Motor Drive', 'Multiscale', 'Oblivious', 'Overcoat', 'Own Tempo', 'Purifying Salt', 'Queenly Majesty', 'Sand Veil', 'Sap Sipper', 'Shell Armor', 'Shield Dust', 'Snow Cloak', 'Solid Rock', 'Soundproof', 'Sticky Hold', 'Storm Drain', 'Sturdy', 'Sweet Veil', 'Tangled Feet', 'Telepathy', 'Thick Fat', 'Unaware', 'Vital Spirit', 'Volt Absorb', 'Water Absorb', 'Water Bubble', 'Water Veil', 'White Smoke');
|
|
52
|
+
var defenderAbilityIgnored = defender.hasAbility('Armor Tail', 'Aroma Veil', 'Battle Armor', 'Big Pecks', 'Bulletproof', 'Clear Body', 'Contrary', 'Damp', 'Disguise', 'Dry Skin', 'Earth Eater', 'Filter', 'Flash Fire', 'Flower Veil', 'Fluffy', 'Friend Guard', 'Fur Coat', 'Heatproof', 'Heavy Metal', 'Hyper Cutter', 'Illuminate', 'Immunity', 'Inner Focus', 'Insomnia', 'Keen Eye', 'Leaf Guard', 'Levitate', 'Light Metal', 'Lightning Rod', 'Limber', 'Magic Bounce', 'Magma Armor', 'Marvel Scale', 'Mirror Armor', 'Motor Drive', 'Multiscale', 'Oblivious', 'Overcoat', 'Own Tempo', 'Purifying Salt', 'Queenly Majesty', 'Sand Veil', 'Sap Sipper', 'Shell Armor', 'Shield Dust', 'Snow Cloak', 'Solid Rock', 'Soundproof', 'Sticky Hold', 'Storm Drain', 'Sturdy', 'Sweet Veil', 'Tangled Feet', 'Telepathy', 'Thick Fat', 'Unaware', 'Vital Spirit', 'Volt Absorb', 'Water Absorb', 'Water Bubble', 'Water Veil', 'White Smoke');
|
|
53
53
|
var attackerIgnoresAbility = attacker.hasAbility('Mold Breaker');
|
|
54
54
|
if (defenderAbilityIgnored && attackerIgnoresAbility) {
|
|
55
55
|
if (attackerIgnoresAbility)
|
|
@@ -724,6 +724,10 @@ function calculateFinalModsChampions(gen, attacker, defender, move, field, desc,
|
|
|
724
724
|
finalMods.push(2048);
|
|
725
725
|
desc.defenderAbility = defender.ability;
|
|
726
726
|
}
|
|
727
|
+
if (defender.hasAbility('Fluffy') && move.flags.contact && !attacker.hasAbility('Long Reach')) {
|
|
728
|
+
finalMods.push(2048);
|
|
729
|
+
desc.defenderAbility = defender.ability;
|
|
730
|
+
}
|
|
727
731
|
if (defender.hasAbility('Solid Rock', 'Filter') && typeEffectiveness > 1) {
|
|
728
732
|
finalMods.push(3072);
|
|
729
733
|
desc.defenderAbility = defender.ability;
|
|
@@ -732,6 +736,10 @@ function calculateFinalModsChampions(gen, attacker, defender, move, field, desc,
|
|
|
732
736
|
finalMods.push(3072);
|
|
733
737
|
desc.isFriendGuard = true;
|
|
734
738
|
}
|
|
739
|
+
if (defender.hasAbility('Fluffy') && move.hasType('Fire')) {
|
|
740
|
+
finalMods.push(8192);
|
|
741
|
+
desc.defenderAbility = defender.ability;
|
|
742
|
+
}
|
|
735
743
|
if (attacker.hasItem('Expert Belt') && typeEffectiveness > 1) {
|
|
736
744
|
finalMods.push(4915);
|
|
737
745
|
desc.attackerItem = attacker.item;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"champions.js","sourceRoot":"","sources":["../../src/mechanics/champions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"champions.js","sourceRoot":"","sources":["../../src/mechanics/champions.ts"],"names":[],"mappings":"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"}
|
package/dist/multi-result.d.ts
CHANGED
|
@@ -36,6 +36,13 @@ export declare class MultiResult {
|
|
|
36
36
|
desc(): string;
|
|
37
37
|
maxDamage(): number;
|
|
38
38
|
damageWithRemainingUntilTurn(turn: number, rollIndex?: number): number;
|
|
39
|
+
private hasStaminaDefender;
|
|
40
|
+
private initialDefBoost;
|
|
41
|
+
private recomputeDamageCache;
|
|
42
|
+
private consumesTypeBerry;
|
|
43
|
+
private recomputeDamageAtBoost;
|
|
44
|
+
private staminaTurnDamages;
|
|
45
|
+
private staminaHitDamages;
|
|
39
46
|
private mergeBulkStats;
|
|
40
47
|
private modifyStat;
|
|
41
48
|
private boostByStat;
|
package/dist/multi-result.js
CHANGED
|
@@ -40,8 +40,12 @@ exports.MultiResult = void 0;
|
|
|
40
40
|
var result_1 = require("./result");
|
|
41
41
|
var desc_1 = require("./desc");
|
|
42
42
|
var move_1 = require("./move");
|
|
43
|
+
var calc_1 = require("./calc");
|
|
44
|
+
var util_1 = require("./mechanics/util");
|
|
45
|
+
var items_1 = require("./items");
|
|
43
46
|
var MultiResult = (function () {
|
|
44
47
|
function MultiResult(defender, results, koChance, eot) {
|
|
48
|
+
this.recomputeDamageCache = new Map();
|
|
45
49
|
this.defender = defender;
|
|
46
50
|
this.results = results;
|
|
47
51
|
this.koChance = koChance;
|
|
@@ -89,11 +93,23 @@ var MultiResult = (function () {
|
|
|
89
93
|
return withoutBerry !== undefined ? sumDamage(withoutBerry) : null;
|
|
90
94
|
});
|
|
91
95
|
var hasTypeBerry = damagesWithoutBerryAtIndex.some(function (d) { return d !== null; });
|
|
96
|
+
var hasStamina = this.hasStaminaDefender();
|
|
97
|
+
var staminaBoost = hasStamina ? this.initialDefBoost() : 0;
|
|
98
|
+
var staminaTypeBerryAvailable = true;
|
|
92
99
|
for (var i = 1; i <= 10; i++) {
|
|
93
100
|
var turnValue = 0;
|
|
94
|
-
var turnDamages =
|
|
95
|
-
|
|
96
|
-
|
|
101
|
+
var turnDamages = void 0;
|
|
102
|
+
if (hasStamina) {
|
|
103
|
+
var turn = this.staminaTurnDamages(staminaBoost, rollIndex, staminaTypeBerryAvailable);
|
|
104
|
+
turnDamages = turn.damages;
|
|
105
|
+
staminaBoost = turn.nextBoost;
|
|
106
|
+
staminaTypeBerryAvailable = turn.typeBerryAvailable;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
turnDamages = i === 1 || !hasTypeBerry
|
|
110
|
+
? damagesAtIndex
|
|
111
|
+
: damagesWithoutBerryAtIndex.map(function (d, idx) { return d !== null && d !== void 0 ? d : damagesAtIndex[idx]; });
|
|
112
|
+
}
|
|
97
113
|
try {
|
|
98
114
|
for (var turnDamages_1 = (e_2 = void 0, __values(turnDamages)), turnDamages_1_1 = turnDamages_1.next(); !turnDamages_1_1.done; turnDamages_1_1 = turnDamages_1.next()) {
|
|
99
115
|
var dmg = turnDamages_1_1.value;
|
|
@@ -163,15 +179,23 @@ var MultiResult = (function () {
|
|
|
163
179
|
}
|
|
164
180
|
var rowsPerTurn = baseDamages.length;
|
|
165
181
|
var toxicCounter = target.status === 'tox' ? target.toxicCounter : 0;
|
|
182
|
+
var hasStamina = this.hasStaminaDefender();
|
|
183
|
+
var allStaminaDamages = hasStamina ? this.staminaHitDamages(9) : [];
|
|
166
184
|
for (var i = 1; i <= 9; i++) {
|
|
167
|
-
var currentDamages = [];
|
|
168
185
|
var currentBerryRecovery = [];
|
|
169
186
|
var currentBerryThreshold = [];
|
|
170
187
|
for (var j = 0; j < i; j++) {
|
|
171
|
-
currentDamages.push.apply(currentDamages, __spreadArray([], __read(baseDamages), false));
|
|
172
188
|
currentBerryRecovery.push.apply(currentBerryRecovery, __spreadArray([], __read(baseBerryRecovery), false));
|
|
173
189
|
currentBerryThreshold.push.apply(currentBerryThreshold, __spreadArray([], __read(baseBerryThreshold), false));
|
|
174
190
|
}
|
|
191
|
+
var currentDamages = hasStamina
|
|
192
|
+
? allStaminaDamages.slice(0, i * rowsPerTurn)
|
|
193
|
+
: [];
|
|
194
|
+
if (!hasStamina) {
|
|
195
|
+
for (var j = 0; j < i; j++) {
|
|
196
|
+
currentDamages.push.apply(currentDamages, __spreadArray([], __read(baseDamages), false));
|
|
197
|
+
}
|
|
198
|
+
}
|
|
175
199
|
var result = (0, desc_1.computeMultiHitKOChance)(currentDamages, target.curHP(), this.eot.damage, target.maxHP(), currentBerryRecovery, currentBerryThreshold, rowsPerTurn, toxicCounter);
|
|
176
200
|
if (result.chance > 0) {
|
|
177
201
|
var hkoText = i === 1 ? 'OHKO' : "".concat(i, "HKO");
|
|
@@ -249,7 +273,11 @@ var MultiResult = (function () {
|
|
|
249
273
|
var defenderNameAndDamageString = defenderDescription.substring(defenderDescription.indexOf(resultOne.defender.name));
|
|
250
274
|
var _b = this.range(), totalMin = _b.min, totalMax = _b.max;
|
|
251
275
|
var _c = this.rangePercentage(), minPercent = _c.min, maxPercent = _c.max;
|
|
252
|
-
var
|
|
276
|
+
var staminaText = this.hasStaminaDefender()
|
|
277
|
+
? ' (Stamina considered)'
|
|
278
|
+
: '';
|
|
279
|
+
var defenderNameAndDamageWithNote = defenderNameAndDamageString.replace("".concat(resultOne.defender.name, ":"), "".concat(resultOne.defender.name).concat(staminaText, ":"));
|
|
280
|
+
var defenderNameAndDamage = this.updateDefenderDamageText(defenderNameAndDamageWithNote, totalMin, totalMax, minPercent, maxPercent);
|
|
253
281
|
var koChanceText = this.getHKO();
|
|
254
282
|
if (koChanceText) {
|
|
255
283
|
var baseText = defenderNameAndDamage.includes(' -- ')
|
|
@@ -259,7 +287,7 @@ var MultiResult = (function () {
|
|
|
259
287
|
" vs. ".concat(defenderBulk, " ").concat(tera).concat(baseText, " -- ").concat(koChanceText));
|
|
260
288
|
}
|
|
261
289
|
return ("".concat(attackerDescription, " AND ").concat(secondAttackerDescritption) +
|
|
262
|
-
" vs. ".concat(defenderBulk, " ").concat(tera).concat(defenderNameAndDamage));
|
|
290
|
+
" vs. ".concat(defenderBulk, " ").concat(tera).concat(defenderNameAndDamage).concat(staminaText));
|
|
263
291
|
}
|
|
264
292
|
catch (e) {
|
|
265
293
|
return ("".concat(resultOne.attacker.name, " ").concat(resultOne.move.name) +
|
|
@@ -276,6 +304,70 @@ var MultiResult = (function () {
|
|
|
276
304
|
var remainingHp = this.afterTurn(rollIndex).remainingHpUntilTurn(turn);
|
|
277
305
|
return hp - remainingHp;
|
|
278
306
|
};
|
|
307
|
+
MultiResult.prototype.hasStaminaDefender = function () {
|
|
308
|
+
return this.defender.hasAbility('Stamina');
|
|
309
|
+
};
|
|
310
|
+
MultiResult.prototype.initialDefBoost = function () {
|
|
311
|
+
var _a;
|
|
312
|
+
return (_a = this.defender.boosts.def) !== null && _a !== void 0 ? _a : 0;
|
|
313
|
+
};
|
|
314
|
+
MultiResult.prototype.consumesTypeBerry = function (result) {
|
|
315
|
+
var berryType = (0, items_1.getBerryResistType)(this.defender.item);
|
|
316
|
+
return berryType !== undefined && result.move.hasType(berryType);
|
|
317
|
+
};
|
|
318
|
+
MultiResult.prototype.recomputeDamageAtBoost = function (resultIndex, defBoost, typeBerryAvailable) {
|
|
319
|
+
if (typeBerryAvailable === void 0) { typeBerryAvailable = true; }
|
|
320
|
+
var result = this.results[resultIndex];
|
|
321
|
+
var boost = Math.max(-6, Math.min(defBoost, 6));
|
|
322
|
+
var cacheKey = "".concat(resultIndex, ":").concat(boost, ":").concat(typeBerryAvailable ? 1 : 0);
|
|
323
|
+
var cached = this.recomputeDamageCache.get(cacheKey);
|
|
324
|
+
if (cached)
|
|
325
|
+
return cached;
|
|
326
|
+
var defender = this.defender.clone();
|
|
327
|
+
defender.boosts.def = boost;
|
|
328
|
+
defender.stats.def = (0, util_1.getModifiedStat)(defender.rawStats.def, defender.boosts.def, result.gen);
|
|
329
|
+
if (!typeBerryAvailable) {
|
|
330
|
+
defender.item = undefined;
|
|
331
|
+
}
|
|
332
|
+
var recomputed = (0, calc_1.calculate)(result.gen, result.attacker, defender, result.move, result.field);
|
|
333
|
+
var subArrays = (0, result_1.extractDamageSubArrays)(recomputed.damage);
|
|
334
|
+
this.recomputeDamageCache.set(cacheKey, subArrays);
|
|
335
|
+
return subArrays;
|
|
336
|
+
};
|
|
337
|
+
MultiResult.prototype.staminaTurnDamages = function (startBoost, rollIndex, typeBerryAvailable) {
|
|
338
|
+
var damages = [];
|
|
339
|
+
var boost = startBoost;
|
|
340
|
+
var berryAvailable = typeBerryAvailable;
|
|
341
|
+
for (var idx = 0; idx < this.results.length; idx++) {
|
|
342
|
+
var subArrays = this.recomputeDamageAtBoost(idx, boost, berryAvailable);
|
|
343
|
+
var summed = subArrays.reduce(function (acc, sub) { return acc + sub[Math.min(rollIndex, sub.length - 1)]; }, 0);
|
|
344
|
+
damages.push(summed);
|
|
345
|
+
boost = Math.min(boost + subArrays.length, 6);
|
|
346
|
+
if (berryAvailable && this.consumesTypeBerry(this.results[idx])) {
|
|
347
|
+
berryAvailable = false;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
return { damages: damages, nextBoost: boost, typeBerryAvailable: berryAvailable };
|
|
351
|
+
};
|
|
352
|
+
MultiResult.prototype.staminaHitDamages = function (turns) {
|
|
353
|
+
var damages = [];
|
|
354
|
+
var boost = this.initialDefBoost();
|
|
355
|
+
var berryAvailable = true;
|
|
356
|
+
for (var turn = 0; turn < turns; turn++) {
|
|
357
|
+
for (var idx = 0; idx < this.results.length; idx++) {
|
|
358
|
+
var subArrays = this.recomputeDamageAtBoost(idx, boost, berryAvailable);
|
|
359
|
+
var consumesBerry = berryAvailable && this.consumesTypeBerry(this.results[idx]);
|
|
360
|
+
subArrays.forEach(function (sub) {
|
|
361
|
+
damages.push(sub);
|
|
362
|
+
boost = Math.min(boost + 1, 6);
|
|
363
|
+
});
|
|
364
|
+
if (consumesBerry) {
|
|
365
|
+
berryAvailable = false;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
return damages;
|
|
370
|
+
};
|
|
279
371
|
MultiResult.prototype.mergeBulkStats = function (resultOne, resultTwo, defender) {
|
|
280
372
|
var resultOneDefenderDesc = resultOne
|
|
281
373
|
.desc()
|
package/dist/multi-result.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-result.js","sourceRoot":"","sources":["../src/multi-result.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"multi-result.js","sourceRoot":"","sources":["../src/multi-result.ts"],"names":[],"mappings":"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"}
|
package/dist/multicalc.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ import type { Move } from './move';
|
|
|
3
3
|
import type { Field } from './field';
|
|
4
4
|
import type { Generation } from './data/interface';
|
|
5
5
|
import { MultiResult } from './multi-result';
|
|
6
|
+
export declare function applyStaminaAfterHit(defender: Pokemon, gen: Generation): void;
|
|
6
7
|
export declare function calculateMulti(gen: Generation, attackers: Pokemon[], defender: Pokemon, moves: Move[], field: Field): MultiResult;
|
package/dist/multicalc.js
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
exports.__esModule = true;
|
|
3
|
-
exports.calculateMulti = void 0;
|
|
3
|
+
exports.calculateMulti = exports.applyStaminaAfterHit = void 0;
|
|
4
4
|
var calc_1 = require("./calc");
|
|
5
5
|
var desc_1 = require("./desc");
|
|
6
|
+
var util_1 = require("./mechanics/util");
|
|
6
7
|
var multi_result_1 = require("./multi-result");
|
|
7
8
|
function updateDefenderHP(defender, nextHP, maxHP) {
|
|
8
9
|
var percentage = (nextHP / maxHP) * 100;
|
|
9
10
|
defender.originalCurHP = Math.round((defender.maxHP(true) * percentage) / 100);
|
|
10
11
|
}
|
|
12
|
+
function applyStaminaAfterHit(defender, gen) {
|
|
13
|
+
if (!defender.hasAbility('Stamina'))
|
|
14
|
+
return;
|
|
15
|
+
defender.boosts.def = Math.min(defender.boosts.def + 1, 6);
|
|
16
|
+
defender.stats.def = (0, util_1.getModifiedStat)(defender.rawStats.def, defender.boosts.def, gen);
|
|
17
|
+
}
|
|
18
|
+
exports.applyStaminaAfterHit = applyStaminaAfterHit;
|
|
11
19
|
function calculateMulti(gen, attackers, defender, moves, field) {
|
|
12
20
|
var results = [];
|
|
13
21
|
var currentDefender = defender.clone();
|
|
@@ -76,6 +84,7 @@ function calculateMulti(gen, attackers, defender, moves, field) {
|
|
|
76
84
|
berryRecoveries.push(initialBerryData.recovery);
|
|
77
85
|
berryThresholds.push(initialBerryData.threshold);
|
|
78
86
|
}
|
|
87
|
+
applyStaminaAfterHit(currentDefender, gen);
|
|
79
88
|
}
|
|
80
89
|
var koChance = { chance: 0, n: 0, text: '', berryConsumed: false };
|
|
81
90
|
for (var i = 1; i <= attackers.length; i++) {
|
package/dist/multicalc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multicalc.js","sourceRoot":"","sources":["../src/multicalc.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAMjC,+BAIgB;
|
|
1
|
+
{"version":3,"file":"multicalc.js","sourceRoot":"","sources":["../src/multicalc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
var index_1 = require("../index");
|
|
4
|
+
describe('Stamina combined damage', function () {
|
|
5
|
+
var gen = index_1.Generations.get(9);
|
|
6
|
+
var field = function () { return new index_1.Field({ gameType: 'Doubles' }); };
|
|
7
|
+
var garchomp = function () {
|
|
8
|
+
return new index_1.Pokemon(gen, 'Garchomp', { level: 50, nature: 'Adamant', evs: { atk: 252, spe: 252 } });
|
|
9
|
+
};
|
|
10
|
+
var arcanine = function () {
|
|
11
|
+
return new index_1.Pokemon(gen, 'Arcanine', { level: 50, nature: 'Adamant', evs: { atk: 252, spe: 252 } });
|
|
12
|
+
};
|
|
13
|
+
var earthquakeAndRockSlide = function () { return [new index_1.Move(gen, 'Earthquake'), new index_1.Move(gen, 'Rock Slide')]; };
|
|
14
|
+
test('second attacker hits the Stamina defender at Def +1 in a single turn', function () {
|
|
15
|
+
var archaludon = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina' });
|
|
16
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], archaludon, earthquakeAndRockSlide(), field());
|
|
17
|
+
expect(multiResult.results[0].damage).toEqual([114, 114, 116, 116, 120, 120, 120, 122, 122, 126, 126, 128, 128, 132, 132, 134]);
|
|
18
|
+
expect(multiResult.results[1].damage).toEqual([8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10]);
|
|
19
|
+
expect(multiResult.desc()).toBe('252+ Atk Garchomp Earthquake AND 252+ Atk Arcanine Rock Slide vs. 0 HP / 0 Def Archaludon (Stamina considered): 122-144 (73.9 - 87.2%) -- guaranteed 2HKO');
|
|
20
|
+
});
|
|
21
|
+
test('does not add the Stamina note when the defender does not have Stamina', function () {
|
|
22
|
+
var archaludon = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Sturdy' });
|
|
23
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], archaludon, earthquakeAndRockSlide(), field());
|
|
24
|
+
expect(multiResult.desc()).not.toContain('Stamina considered');
|
|
25
|
+
});
|
|
26
|
+
test('does not raise Def beyond +6', function () {
|
|
27
|
+
var archaludon = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina' });
|
|
28
|
+
archaludon.boosts.def = 6;
|
|
29
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], archaludon, earthquakeAndRockSlide(), field());
|
|
30
|
+
expect(multiResult.results[0].damage).toEqual([30, 30, 30, 30, 30, 30, 30, 32, 32, 32, 32, 32, 32, 32, 32, 36]);
|
|
31
|
+
expect(multiResult.results[1].damage).toEqual([3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4]);
|
|
32
|
+
});
|
|
33
|
+
test('Unaware attacker ignores the boost for its own hit but still raises it for the next attacker', function () {
|
|
34
|
+
var clodsire = new index_1.Pokemon(gen, 'Clodsire', { level: 50, ability: 'Unaware', nature: 'Adamant', evs: { atk: 252 } });
|
|
35
|
+
var archaludon = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina' });
|
|
36
|
+
archaludon.boosts.def = 3;
|
|
37
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [clodsire, arcanine()], archaludon, [new index_1.Move(gen, 'Earthquake'), new index_1.Move(gen, 'Rock Slide')], field());
|
|
38
|
+
expect(multiResult.results[0].damage).toEqual([78, 78, 78, 80, 80, 80, 84, 84, 84, 86, 86, 86, 90, 90, 90, 92]);
|
|
39
|
+
expect(multiResult.results[1].damage).toEqual([4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]);
|
|
40
|
+
});
|
|
41
|
+
test('a non-Unaware first attacker is reduced by the pre-existing boost (control for the Unaware case)', function () {
|
|
42
|
+
var clodsire = new index_1.Pokemon(gen, 'Clodsire', { level: 50, ability: 'Water Absorb', nature: 'Adamant', evs: { atk: 252 } });
|
|
43
|
+
var archaludon = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina' });
|
|
44
|
+
archaludon.boosts.def = 3;
|
|
45
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [clodsire, arcanine()], archaludon, [new index_1.Move(gen, 'Earthquake'), new index_1.Move(gen, 'Rock Slide')], field());
|
|
46
|
+
expect(multiResult.results[0].damage).toEqual([32, 32, 32, 32, 32, 32, 32, 32, 36, 36, 36, 36, 36, 36, 36, 38]);
|
|
47
|
+
expect(multiResult.results[1].damage).toEqual([4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]);
|
|
48
|
+
});
|
|
49
|
+
describe('KO chance accounts for the rising boost across turns', function () {
|
|
50
|
+
var bulkyEvs = { hp: 252, def: 252, spd: 4 };
|
|
51
|
+
test('Stamina survives longer than the same bulk without Stamina', function () {
|
|
52
|
+
var stamina = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina', evs: bulkyEvs });
|
|
53
|
+
var sturdy = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Sturdy', evs: bulkyEvs });
|
|
54
|
+
var withStamina = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], stamina, earthquakeAndRockSlide(), field());
|
|
55
|
+
var withoutStamina = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], sturdy, earthquakeAndRockSlide(), field());
|
|
56
|
+
expect(withStamina.getHKO()).toBe('70.8% chance to 3HKO');
|
|
57
|
+
expect(withoutStamina.getHKO()).toBe('guaranteed 2HKO');
|
|
58
|
+
});
|
|
59
|
+
test('cumulative damage per turn decreases as the boost rises', function () {
|
|
60
|
+
var stamina = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina', evs: bulkyEvs });
|
|
61
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], stamina, earthquakeAndRockSlide(), field());
|
|
62
|
+
var cumulative = [1, 2, 3, 4].map(function (turn) { return multiResult.damageWithRemainingUntilTurn(turn, 15); });
|
|
63
|
+
expect(cumulative).toEqual([118, 179, 197, 197]);
|
|
64
|
+
});
|
|
65
|
+
test('a pre-existing Def boost shifts the whole Stamina sequence upward', function () {
|
|
66
|
+
var at1 = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina', evs: bulkyEvs });
|
|
67
|
+
at1.boosts.def = 1;
|
|
68
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], at1, earthquakeAndRockSlide(), field());
|
|
69
|
+
expect(multiResult.getHKO()).toBe('0.1% chance to 4HKO');
|
|
70
|
+
expect([1, 2, 3, 4].map(function (turn) { return multiResult.damageWithRemainingUntilTurn(turn, 15); })).toEqual([80, 132, 167, 197]);
|
|
71
|
+
});
|
|
72
|
+
test('a pre-existing Def debuff makes the defender frailer', function () {
|
|
73
|
+
var atNeg = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina', evs: bulkyEvs });
|
|
74
|
+
atNeg.boosts.def = -1;
|
|
75
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], atNeg, earthquakeAndRockSlide(), field());
|
|
76
|
+
expect(multiResult.getHKO()).toBe('guaranteed 2HKO');
|
|
77
|
+
});
|
|
78
|
+
test('the simulated turn-1 damage matches the single-turn combined calc when starting boosted', function () {
|
|
79
|
+
var at1 = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina', evs: bulkyEvs });
|
|
80
|
+
at1.boosts.def = 1;
|
|
81
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], at1, earthquakeAndRockSlide(), field());
|
|
82
|
+
var singleTurnMax = multiResult.results[0].damage[15] +
|
|
83
|
+
multiResult.results[1].damage[15];
|
|
84
|
+
expect(multiResult.damageWithRemainingUntilTurn(1, 15)).toBe(singleTurnMax);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
describe('type-resist berry is only consumed on the first matching hit', function () {
|
|
88
|
+
var bulkyEvs = { hp: 252, def: 252, spd: 4 };
|
|
89
|
+
test('Shuca Berry halves the Ground hit only on turn 1, full damage afterward', function () {
|
|
90
|
+
var archaludon = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina', item: 'Shuca Berry', evs: bulkyEvs });
|
|
91
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], archaludon, earthquakeAndRockSlide(), field());
|
|
92
|
+
expect([1, 2, 3, 4].map(function (turn) { return multiResult.damageWithRemainingUntilTurn(turn, 15); })).toEqual([63, 124, 166, 197]);
|
|
93
|
+
expect(multiResult.getHKO()).toBe('0.1% chance to 4HKO');
|
|
94
|
+
});
|
|
95
|
+
test('Shuca Berry deals more cumulative damage than if it kept resisting every turn', function () {
|
|
96
|
+
var archaludon = new index_1.Pokemon(gen, 'Archaludon', { level: 50, ability: 'Stamina', item: 'Shuca Berry', evs: bulkyEvs });
|
|
97
|
+
var multiResult = (0, index_1.calculateMulti)(gen, [garchomp(), arcanine()], archaludon, earthquakeAndRockSlide(), field());
|
|
98
|
+
var turn2 = multiResult.damageWithRemainingUntilTurn(2, 15) - multiResult.damageWithRemainingUntilTurn(1, 15);
|
|
99
|
+
var turn1Ground = multiResult.results[0].damage[15];
|
|
100
|
+
expect(turn2).toBeGreaterThan(turn1Ground);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=stamina-multicalc.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stamina-multicalc.test.js","sourceRoot":"","sources":["../../src/test/stamina-multicalc.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -104,7 +104,7 @@ export function calculateChampions(
|
|
|
104
104
|
'Armor Tail', 'Aroma Veil', 'Battle Armor', 'Big Pecks',
|
|
105
105
|
'Bulletproof', 'Clear Body', 'Contrary', 'Damp',
|
|
106
106
|
'Disguise', 'Dry Skin', 'Earth Eater', 'Filter',
|
|
107
|
-
'Flash Fire', 'Flower Veil', 'Friend Guard', 'Fur Coat',
|
|
107
|
+
'Flash Fire', 'Flower Veil', 'Fluffy', 'Friend Guard', 'Fur Coat',
|
|
108
108
|
'Heatproof', 'Heavy Metal', 'Hyper Cutter', 'Illuminate',
|
|
109
109
|
'Immunity', 'Inner Focus', 'Insomnia', 'Keen Eye',
|
|
110
110
|
'Leaf Guard', 'Levitate', 'Light Metal', 'Lightning Rod',
|
|
@@ -1095,6 +1095,11 @@ export function calculateFinalModsChampions(
|
|
|
1095
1095
|
desc.defenderAbility = defender.ability;
|
|
1096
1096
|
}
|
|
1097
1097
|
|
|
1098
|
+
if (defender.hasAbility('Fluffy') && move.flags.contact && !attacker.hasAbility('Long Reach')) {
|
|
1099
|
+
finalMods.push(2048);
|
|
1100
|
+
desc.defenderAbility = defender.ability;
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1098
1103
|
if (defender.hasAbility('Solid Rock', 'Filter') && typeEffectiveness > 1) {
|
|
1099
1104
|
finalMods.push(3072);
|
|
1100
1105
|
desc.defenderAbility = defender.ability;
|
|
@@ -1105,6 +1110,11 @@ export function calculateFinalModsChampions(
|
|
|
1105
1110
|
desc.isFriendGuard = true;
|
|
1106
1111
|
}
|
|
1107
1112
|
|
|
1113
|
+
if (defender.hasAbility('Fluffy') && move.hasType('Fire')) {
|
|
1114
|
+
finalMods.push(8192);
|
|
1115
|
+
desc.defenderAbility = defender.ability;
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1108
1118
|
if (attacker.hasItem('Expert Belt') && typeEffectiveness > 1) {
|
|
1109
1119
|
finalMods.push(4915);
|
|
1110
1120
|
desc.attackerItem = attacker.item;
|
package/src/multi-result.ts
CHANGED
|
@@ -15,6 +15,9 @@ import {
|
|
|
15
15
|
serializeEndOfTurnTexts,
|
|
16
16
|
} from './desc';
|
|
17
17
|
import {Move} from './move';
|
|
18
|
+
import {calculate} from './calc';
|
|
19
|
+
import {getModifiedStat} from './mechanics/util';
|
|
20
|
+
import {getBerryResistType} from './items';
|
|
18
21
|
|
|
19
22
|
export class MultiResult {
|
|
20
23
|
defender: Pokemon;
|
|
@@ -97,12 +100,24 @@ export class MultiResult {
|
|
|
97
100
|
return withoutBerry !== undefined ? sumDamage(withoutBerry) : null;
|
|
98
101
|
});
|
|
99
102
|
const hasTypeBerry = damagesWithoutBerryAtIndex.some(d => d !== null);
|
|
103
|
+
const hasStamina = this.hasStaminaDefender();
|
|
104
|
+
let staminaBoost = hasStamina ? this.initialDefBoost() : 0;
|
|
105
|
+
let staminaTypeBerryAvailable = true;
|
|
100
106
|
|
|
101
107
|
for (let i = 1; i <= 10; i++) {
|
|
102
108
|
let turnValue = 0;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
109
|
+
let turnDamages: number[];
|
|
110
|
+
|
|
111
|
+
if (hasStamina) {
|
|
112
|
+
const turn = this.staminaTurnDamages(staminaBoost, rollIndex, staminaTypeBerryAvailable);
|
|
113
|
+
turnDamages = turn.damages;
|
|
114
|
+
staminaBoost = turn.nextBoost;
|
|
115
|
+
staminaTypeBerryAvailable = turn.typeBerryAvailable;
|
|
116
|
+
} else {
|
|
117
|
+
turnDamages = i === 1 || !hasTypeBerry
|
|
118
|
+
? damagesAtIndex
|
|
119
|
+
: damagesWithoutBerryAtIndex.map((d, idx) => d ?? damagesAtIndex[idx]);
|
|
120
|
+
}
|
|
106
121
|
|
|
107
122
|
for (const dmg of turnDamages) {
|
|
108
123
|
currentHP -= dmg;
|
|
@@ -163,18 +178,28 @@ export class MultiResult {
|
|
|
163
178
|
|
|
164
179
|
const rowsPerTurn = baseDamages.length;
|
|
165
180
|
const toxicCounter = target.status === 'tox' ? target.toxicCounter : 0;
|
|
181
|
+
const hasStamina = this.hasStaminaDefender();
|
|
182
|
+
const allStaminaDamages = hasStamina ? this.staminaHitDamages(9) : [];
|
|
166
183
|
|
|
167
184
|
for (let i = 1; i <= 9; i++) {
|
|
168
|
-
const currentDamages: number[][] = [];
|
|
169
185
|
const currentBerryRecovery: number[] = [];
|
|
170
186
|
const currentBerryThreshold: number[] = [];
|
|
171
187
|
|
|
172
188
|
for (let j = 0; j < i; j++) {
|
|
173
|
-
currentDamages.push(...baseDamages);
|
|
174
189
|
currentBerryRecovery.push(...baseBerryRecovery);
|
|
175
190
|
currentBerryThreshold.push(...baseBerryThreshold);
|
|
176
191
|
}
|
|
177
192
|
|
|
193
|
+
const currentDamages: number[][] = hasStamina
|
|
194
|
+
? allStaminaDamages.slice(0, i * rowsPerTurn)
|
|
195
|
+
: [];
|
|
196
|
+
|
|
197
|
+
if (!hasStamina) {
|
|
198
|
+
for (let j = 0; j < i; j++) {
|
|
199
|
+
currentDamages.push(...baseDamages);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
178
203
|
const result = computeMultiHitKOChance(
|
|
179
204
|
currentDamages,
|
|
180
205
|
target.curHP(),
|
|
@@ -269,8 +294,16 @@ export class MultiResult {
|
|
|
269
294
|
const {min: totalMin, max: totalMax} = this.range();
|
|
270
295
|
const {min: minPercent, max: maxPercent} = this.rangePercentage();
|
|
271
296
|
|
|
297
|
+
const staminaText = this.hasStaminaDefender()
|
|
298
|
+
? ' (Stamina considered)'
|
|
299
|
+
: '';
|
|
300
|
+
const defenderNameAndDamageWithNote = defenderNameAndDamageString.replace(
|
|
301
|
+
`${resultOne.defender.name}:`,
|
|
302
|
+
`${resultOne.defender.name}${staminaText}:`,
|
|
303
|
+
);
|
|
304
|
+
|
|
272
305
|
const defenderNameAndDamage = this.updateDefenderDamageText(
|
|
273
|
-
|
|
306
|
+
defenderNameAndDamageWithNote,
|
|
274
307
|
totalMin,
|
|
275
308
|
totalMax,
|
|
276
309
|
minPercent,
|
|
@@ -295,7 +328,7 @@ export class MultiResult {
|
|
|
295
328
|
|
|
296
329
|
return (
|
|
297
330
|
`${attackerDescription} AND ${secondAttackerDescritption}` +
|
|
298
|
-
` vs. ${defenderBulk} ${tera}${defenderNameAndDamage}`
|
|
331
|
+
` vs. ${defenderBulk} ${tera}${defenderNameAndDamage}${staminaText}`
|
|
299
332
|
);
|
|
300
333
|
} catch (e) {
|
|
301
334
|
return (
|
|
@@ -317,6 +350,111 @@ export class MultiResult {
|
|
|
317
350
|
return hp - remainingHp;
|
|
318
351
|
}
|
|
319
352
|
|
|
353
|
+
private hasStaminaDefender(): boolean {
|
|
354
|
+
return this.defender.hasAbility('Stamina');
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
private initialDefBoost(): number {
|
|
358
|
+
return this.defender.boosts.def ?? 0;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
private recomputeDamageCache = new Map<string, number[][]>();
|
|
362
|
+
|
|
363
|
+
private consumesTypeBerry(result: Result): boolean {
|
|
364
|
+
const berryType = getBerryResistType(this.defender.item);
|
|
365
|
+
|
|
366
|
+
return berryType !== undefined && result.move.hasType(berryType);
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
private recomputeDamageAtBoost(
|
|
370
|
+
resultIndex: number,
|
|
371
|
+
defBoost: number,
|
|
372
|
+
typeBerryAvailable = true,
|
|
373
|
+
): number[][] {
|
|
374
|
+
const result = this.results[resultIndex];
|
|
375
|
+
const boost = Math.max(-6, Math.min(defBoost, 6));
|
|
376
|
+
const cacheKey = `${resultIndex}:${boost}:${typeBerryAvailable ? 1 : 0}`;
|
|
377
|
+
const cached = this.recomputeDamageCache.get(cacheKey);
|
|
378
|
+
|
|
379
|
+
if (cached) return cached;
|
|
380
|
+
|
|
381
|
+
const defender = this.defender.clone();
|
|
382
|
+
defender.boosts.def = boost;
|
|
383
|
+
defender.stats.def = getModifiedStat(
|
|
384
|
+
defender.rawStats.def,
|
|
385
|
+
defender.boosts.def,
|
|
386
|
+
result.gen,
|
|
387
|
+
);
|
|
388
|
+
|
|
389
|
+
if (!typeBerryAvailable) {
|
|
390
|
+
defender.item = undefined;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
const recomputed = calculate(
|
|
394
|
+
result.gen,
|
|
395
|
+
result.attacker,
|
|
396
|
+
defender,
|
|
397
|
+
result.move,
|
|
398
|
+
result.field,
|
|
399
|
+
);
|
|
400
|
+
|
|
401
|
+
const subArrays = extractDamageSubArrays(recomputed.damage);
|
|
402
|
+
this.recomputeDamageCache.set(cacheKey, subArrays);
|
|
403
|
+
|
|
404
|
+
return subArrays;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
private staminaTurnDamages(
|
|
408
|
+
startBoost: number,
|
|
409
|
+
rollIndex: number,
|
|
410
|
+
typeBerryAvailable: boolean,
|
|
411
|
+
): {damages: number[]; nextBoost: number; typeBerryAvailable: boolean} {
|
|
412
|
+
const damages: number[] = [];
|
|
413
|
+
let boost = startBoost;
|
|
414
|
+
let berryAvailable = typeBerryAvailable;
|
|
415
|
+
|
|
416
|
+
for (let idx = 0; idx < this.results.length; idx++) {
|
|
417
|
+
const subArrays = this.recomputeDamageAtBoost(idx, boost, berryAvailable);
|
|
418
|
+
|
|
419
|
+
const summed = subArrays.reduce(
|
|
420
|
+
(acc, sub) => acc + sub[Math.min(rollIndex, sub.length - 1)],
|
|
421
|
+
0,
|
|
422
|
+
);
|
|
423
|
+
damages.push(summed);
|
|
424
|
+
boost = Math.min(boost + subArrays.length, 6);
|
|
425
|
+
|
|
426
|
+
if (berryAvailable && this.consumesTypeBerry(this.results[idx])) {
|
|
427
|
+
berryAvailable = false;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
return {damages, nextBoost: boost, typeBerryAvailable: berryAvailable};
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
private staminaHitDamages(turns: number): number[][] {
|
|
435
|
+
const damages: number[][] = [];
|
|
436
|
+
let boost = this.initialDefBoost();
|
|
437
|
+
let berryAvailable = true;
|
|
438
|
+
|
|
439
|
+
for (let turn = 0; turn < turns; turn++) {
|
|
440
|
+
for (let idx = 0; idx < this.results.length; idx++) {
|
|
441
|
+
const subArrays = this.recomputeDamageAtBoost(idx, boost, berryAvailable);
|
|
442
|
+
const consumesBerry = berryAvailable && this.consumesTypeBerry(this.results[idx]);
|
|
443
|
+
|
|
444
|
+
subArrays.forEach((sub) => {
|
|
445
|
+
damages.push(sub);
|
|
446
|
+
boost = Math.min(boost + 1, 6);
|
|
447
|
+
});
|
|
448
|
+
|
|
449
|
+
if (consumesBerry) {
|
|
450
|
+
berryAvailable = false;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
return damages;
|
|
456
|
+
}
|
|
457
|
+
|
|
320
458
|
private mergeBulkStats(
|
|
321
459
|
resultOne: Result,
|
|
322
460
|
resultTwo: Result,
|
package/src/multicalc.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
getBerryRecovery,
|
|
10
10
|
getEndOfTurn,
|
|
11
11
|
} from './desc';
|
|
12
|
+
import {getModifiedStat} from './mechanics/util';
|
|
12
13
|
|
|
13
14
|
import {MultiResult} from './multi-result';
|
|
14
15
|
|
|
@@ -19,6 +20,17 @@ function updateDefenderHP(defender: Pokemon, nextHP: number, maxHP: number) {
|
|
|
19
20
|
);
|
|
20
21
|
}
|
|
21
22
|
|
|
23
|
+
export function applyStaminaAfterHit(defender: Pokemon, gen: Generation) {
|
|
24
|
+
if (!defender.hasAbility('Stamina')) return;
|
|
25
|
+
|
|
26
|
+
defender.boosts.def = Math.min(defender.boosts.def + 1, 6);
|
|
27
|
+
defender.stats.def = getModifiedStat(
|
|
28
|
+
defender.rawStats.def,
|
|
29
|
+
defender.boosts.def,
|
|
30
|
+
gen,
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
22
34
|
export function calculateMulti(
|
|
23
35
|
gen: Generation,
|
|
24
36
|
attackers: Pokemon[],
|
|
@@ -115,6 +127,8 @@ export function calculateMulti(
|
|
|
115
127
|
berryRecoveries.push(initialBerryData.recovery);
|
|
116
128
|
berryThresholds.push(initialBerryData.threshold);
|
|
117
129
|
}
|
|
130
|
+
|
|
131
|
+
applyStaminaAfterHit(currentDefender, gen);
|
|
118
132
|
}
|
|
119
133
|
|
|
120
134
|
let koChance = {chance: 0, n: 0, text: '', berryConsumed: false};
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/* eslint-disable max-len */
|
|
2
|
+
import {Generations, calculateMulti, Pokemon, Move, Field} from '../index';
|
|
3
|
+
|
|
4
|
+
describe('Stamina combined damage', () => {
|
|
5
|
+
const gen = Generations.get(9);
|
|
6
|
+
const field = () => new Field({gameType: 'Doubles'});
|
|
7
|
+
|
|
8
|
+
const garchomp = () =>
|
|
9
|
+
new Pokemon(gen, 'Garchomp', {level: 50, nature: 'Adamant', evs: {atk: 252, spe: 252}});
|
|
10
|
+
const arcanine = () =>
|
|
11
|
+
new Pokemon(gen, 'Arcanine', {level: 50, nature: 'Adamant', evs: {atk: 252, spe: 252}});
|
|
12
|
+
|
|
13
|
+
const earthquakeAndRockSlide = () => [new Move(gen, 'Earthquake'), new Move(gen, 'Rock Slide')];
|
|
14
|
+
|
|
15
|
+
test('second attacker hits the Stamina defender at Def +1 in a single turn', () => {
|
|
16
|
+
const archaludon = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina'});
|
|
17
|
+
|
|
18
|
+
const multiResult = calculateMulti(gen, [garchomp(), arcanine()], archaludon, earthquakeAndRockSlide(), field());
|
|
19
|
+
|
|
20
|
+
expect(multiResult.results[0].damage).toEqual([114, 114, 116, 116, 120, 120, 120, 122, 122, 126, 126, 128, 128, 132, 132, 134]);
|
|
21
|
+
expect(multiResult.results[1].damage).toEqual([8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10]);
|
|
22
|
+
expect(multiResult.desc()).toBe('252+ Atk Garchomp Earthquake AND 252+ Atk Arcanine Rock Slide vs. 0 HP / 0 Def Archaludon (Stamina considered): 122-144 (73.9 - 87.2%) -- guaranteed 2HKO');
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test('does not add the Stamina note when the defender does not have Stamina', () => {
|
|
26
|
+
const archaludon = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Sturdy'});
|
|
27
|
+
|
|
28
|
+
const multiResult = calculateMulti(gen, [garchomp(), arcanine()], archaludon, earthquakeAndRockSlide(), field());
|
|
29
|
+
|
|
30
|
+
expect(multiResult.desc()).not.toContain('Stamina considered');
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
test('does not raise Def beyond +6', () => {
|
|
34
|
+
const archaludon = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina'});
|
|
35
|
+
archaludon.boosts.def = 6;
|
|
36
|
+
|
|
37
|
+
const multiResult = calculateMulti(gen, [garchomp(), arcanine()], archaludon, earthquakeAndRockSlide(), field());
|
|
38
|
+
|
|
39
|
+
expect(multiResult.results[0].damage).toEqual([30, 30, 30, 30, 30, 30, 30, 32, 32, 32, 32, 32, 32, 32, 32, 36]);
|
|
40
|
+
expect(multiResult.results[1].damage).toEqual([3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4]);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
test('Unaware attacker ignores the boost for its own hit but still raises it for the next attacker', () => {
|
|
44
|
+
const clodsire = new Pokemon(gen, 'Clodsire', {level: 50, ability: 'Unaware', nature: 'Adamant', evs: {atk: 252}});
|
|
45
|
+
|
|
46
|
+
const archaludon = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina'});
|
|
47
|
+
archaludon.boosts.def = 3;
|
|
48
|
+
|
|
49
|
+
const multiResult = calculateMulti(gen, [clodsire, arcanine()], archaludon, [new Move(gen, 'Earthquake'), new Move(gen, 'Rock Slide')], field());
|
|
50
|
+
|
|
51
|
+
expect(multiResult.results[0].damage).toEqual([78, 78, 78, 80, 80, 80, 84, 84, 84, 86, 86, 86, 90, 90, 90, 92]);
|
|
52
|
+
expect(multiResult.results[1].damage).toEqual([4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]);
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
test('a non-Unaware first attacker is reduced by the pre-existing boost (control for the Unaware case)', () => {
|
|
56
|
+
const clodsire = new Pokemon(gen, 'Clodsire', {level: 50, ability: 'Water Absorb', nature: 'Adamant', evs: {atk: 252}});
|
|
57
|
+
|
|
58
|
+
const archaludon = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina'});
|
|
59
|
+
archaludon.boosts.def = 3;
|
|
60
|
+
|
|
61
|
+
const multiResult = calculateMulti(gen, [clodsire, arcanine()], archaludon, [new Move(gen, 'Earthquake'), new Move(gen, 'Rock Slide')], field());
|
|
62
|
+
|
|
63
|
+
expect(multiResult.results[0].damage).toEqual([32, 32, 32, 32, 32, 32, 32, 32, 36, 36, 36, 36, 36, 36, 36, 38]);
|
|
64
|
+
expect(multiResult.results[1].damage).toEqual([4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
describe('KO chance accounts for the rising boost across turns', () => {
|
|
68
|
+
const bulkyEvs = {hp: 252, def: 252, spd: 4};
|
|
69
|
+
|
|
70
|
+
test('Stamina survives longer than the same bulk without Stamina', () => {
|
|
71
|
+
const stamina = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina', evs: bulkyEvs});
|
|
72
|
+
const sturdy = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Sturdy', evs: bulkyEvs});
|
|
73
|
+
|
|
74
|
+
const withStamina = calculateMulti(gen, [garchomp(), arcanine()], stamina, earthquakeAndRockSlide(), field());
|
|
75
|
+
const withoutStamina = calculateMulti(gen, [garchomp(), arcanine()], sturdy, earthquakeAndRockSlide(), field());
|
|
76
|
+
|
|
77
|
+
expect(withStamina.getHKO()).toBe('70.8% chance to 3HKO');
|
|
78
|
+
expect(withoutStamina.getHKO()).toBe('guaranteed 2HKO');
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
test('cumulative damage per turn decreases as the boost rises', () => {
|
|
82
|
+
const stamina = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina', evs: bulkyEvs});
|
|
83
|
+
|
|
84
|
+
const multiResult = calculateMulti(gen, [garchomp(), arcanine()], stamina, earthquakeAndRockSlide(), field());
|
|
85
|
+
|
|
86
|
+
const cumulative = [1, 2, 3, 4].map(turn => multiResult.damageWithRemainingUntilTurn(turn, 15));
|
|
87
|
+
|
|
88
|
+
expect(cumulative).toEqual([118, 179, 197, 197]);
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
test('a pre-existing Def boost shifts the whole Stamina sequence upward', () => {
|
|
92
|
+
const at1 = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina', evs: bulkyEvs});
|
|
93
|
+
at1.boosts.def = 1;
|
|
94
|
+
|
|
95
|
+
const multiResult = calculateMulti(gen, [garchomp(), arcanine()], at1, earthquakeAndRockSlide(), field());
|
|
96
|
+
|
|
97
|
+
expect(multiResult.getHKO()).toBe('0.1% chance to 4HKO');
|
|
98
|
+
expect([1, 2, 3, 4].map(turn => multiResult.damageWithRemainingUntilTurn(turn, 15))).toEqual([80, 132, 167, 197]);
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
test('a pre-existing Def debuff makes the defender frailer', () => {
|
|
102
|
+
const atNeg = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina', evs: bulkyEvs});
|
|
103
|
+
atNeg.boosts.def = -1;
|
|
104
|
+
|
|
105
|
+
const multiResult = calculateMulti(gen, [garchomp(), arcanine()], atNeg, earthquakeAndRockSlide(), field());
|
|
106
|
+
|
|
107
|
+
expect(multiResult.getHKO()).toBe('guaranteed 2HKO');
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
test('the simulated turn-1 damage matches the single-turn combined calc when starting boosted', () => {
|
|
111
|
+
const at1 = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina', evs: bulkyEvs});
|
|
112
|
+
at1.boosts.def = 1;
|
|
113
|
+
|
|
114
|
+
const multiResult = calculateMulti(gen, [garchomp(), arcanine()], at1, earthquakeAndRockSlide(), field());
|
|
115
|
+
|
|
116
|
+
const singleTurnMax =
|
|
117
|
+
(multiResult.results[0].damage as number[])[15] +
|
|
118
|
+
(multiResult.results[1].damage as number[])[15];
|
|
119
|
+
|
|
120
|
+
expect(multiResult.damageWithRemainingUntilTurn(1, 15)).toBe(singleTurnMax);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
describe('type-resist berry is only consumed on the first matching hit', () => {
|
|
125
|
+
const bulkyEvs = {hp: 252, def: 252, spd: 4};
|
|
126
|
+
|
|
127
|
+
test('Shuca Berry halves the Ground hit only on turn 1, full damage afterward', () => {
|
|
128
|
+
const archaludon = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina', item: 'Shuca Berry', evs: bulkyEvs});
|
|
129
|
+
|
|
130
|
+
const multiResult = calculateMulti(gen, [garchomp(), arcanine()], archaludon, earthquakeAndRockSlide(), field());
|
|
131
|
+
|
|
132
|
+
expect([1, 2, 3, 4].map(turn => multiResult.damageWithRemainingUntilTurn(turn, 15))).toEqual([63, 124, 166, 197]);
|
|
133
|
+
expect(multiResult.getHKO()).toBe('0.1% chance to 4HKO');
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
test('Shuca Berry deals more cumulative damage than if it kept resisting every turn', () => {
|
|
137
|
+
const archaludon = new Pokemon(gen, 'Archaludon', {level: 50, ability: 'Stamina', item: 'Shuca Berry', evs: bulkyEvs});
|
|
138
|
+
|
|
139
|
+
const multiResult = calculateMulti(gen, [garchomp(), arcanine()], archaludon, earthquakeAndRockSlide(), field());
|
|
140
|
+
|
|
141
|
+
const turn2 = multiResult.damageWithRemainingUntilTurn(2, 15) - multiResult.damageWithRemainingUntilTurn(1, 15);
|
|
142
|
+
const turn1Ground = (multiResult.results[0].damage as number[])[15];
|
|
143
|
+
|
|
144
|
+
expect(turn2).toBeGreaterThan(turn1Ground);
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
});
|