Replace BattlerTag.STATS_BOOSTED with PokemonTurnData field

This commit is contained in:
NightKev 2024-08-12 23:13:41 -07:00
parent c5082e5508
commit 3c85696464
6 changed files with 4 additions and 7 deletions

View File

@ -1911,8 +1911,6 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: number, source
case BattlerTagType.GULP_MISSILE_ARROKUDA: case BattlerTagType.GULP_MISSILE_ARROKUDA:
case BattlerTagType.GULP_MISSILE_PIKACHU: case BattlerTagType.GULP_MISSILE_PIKACHU:
return new GulpMissileTag(tagType, sourceMove); return new GulpMissileTag(tagType, sourceMove);
case BattlerTagType.STATS_BOOSTED:
return new BattlerTag(tagType, BattlerTagLapseType.TURN_END, turnCount, sourceMove);
case BattlerTagType.NONE: case BattlerTagType.NONE:
default: default:
return new BattlerTag(tagType, BattlerTagLapseType.CUSTOM, turnCount, sourceMove, sourceId); return new BattlerTag(tagType, BattlerTagLapseType.CUSTOM, turnCount, sourceMove, sourceId);

View File

@ -5872,7 +5872,7 @@ export class AddBattlerTagIfBoostedAttr extends AddBattlerTagAttr {
* @returns true * @returns true
*/ */
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if (target.getTag(BattlerTagType.STATS_BOOSTED)) { if (target.turnData.battleStatsChange.find(v => v > 0)) {
super.apply(user, target, move, args); super.apply(user, target, move, args);
} }
return true; return true;
@ -5900,7 +5900,7 @@ export class StatusIfBoostedAttr extends MoveEffectAttr {
* @returns true * @returns true
*/ */
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if (target.getTag(BattlerTagType.STATS_BOOSTED)) { if (target.turnData.battleStatsChange.find(v => v > 0)) {
target.trySetStatus(this.effect, true, user); target.trySetStatus(this.effect, true, user);
} }
return true; return true;

View File

@ -61,7 +61,6 @@ export enum BattlerTagType {
CENTER_OF_ATTENTION = "CENTER_OF_ATTENTION", CENTER_OF_ATTENTION = "CENTER_OF_ATTENTION",
ICE_FACE = "ICE_FACE", ICE_FACE = "ICE_FACE",
DISGUISE = "DISGUISE", DISGUISE = "DISGUISE",
STATS_BOOSTED = "STATS_BOOSTED",
STOCKPILING = "STOCKPILING", STOCKPILING = "STOCKPILING",
RECEIVE_DOUBLE_DAMAGE = "RECEIVE_DOUBLE_DAMAGE", RECEIVE_DOUBLE_DAMAGE = "RECEIVE_DOUBLE_DAMAGE",
ALWAYS_GET_HIT = "ALWAYS_GET_HIT", ALWAYS_GET_HIT = "ALWAYS_GET_HIT",

View File

@ -4255,6 +4255,7 @@ export class PokemonTurnData {
public damageTaken: integer = 0; public damageTaken: integer = 0;
public attacksReceived: AttackMoveResult[] = []; public attacksReceived: AttackMoveResult[] = [];
public order: number; public order: number;
public battleStatsChange: number[] = [0, 0, 0, 0, 0, 0, 0];
} }
export enum AiType { export enum AiType {

View File

@ -3513,7 +3513,7 @@ export class StatChangePhase extends PokemonPhase {
for (const stat of filteredStats) { for (const stat of filteredStats) {
if (levels.value > 0 && pokemon.summonData.battleStats[stat] + levels.value <= 6) { if (levels.value > 0 && pokemon.summonData.battleStats[stat] + levels.value <= 6) {
pokemon.addTag(BattlerTagType.STATS_BOOSTED, 1); pokemon.turnData.battleStatsChange[stat] += levels.value;
} }
pokemon.summonData.battleStats[stat] = Math.max(Math.min(pokemon.summonData.battleStats[stat] + levels.value, 6), -6); pokemon.summonData.battleStats[stat] = Math.max(Math.min(pokemon.summonData.battleStats[stat] + levels.value, 6), -6);

View File

@ -49,7 +49,6 @@ describe("Moves - Alluring Voice", () => {
game.doAttack(getMovePosition(game.scene, 0, Moves.ALLURING_VOICE)); game.doAttack(getMovePosition(game.scene, 0, Moves.ALLURING_VOICE));
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
await game.phaseInterceptor.to(BerryPhase); await game.phaseInterceptor.to(BerryPhase);
console.log(enemy.getTag(BattlerTagType.CONFUSED));
expect(enemy.getTag(BattlerTagType.CONFUSED)?.tagType).toBe("CONFUSED"); expect(enemy.getTag(BattlerTagType.CONFUSED)?.tagType).toBe("CONFUSED");
}, TIMEOUT); }, TIMEOUT);