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_PIKACHU:
return new GulpMissileTag(tagType, sourceMove);
case BattlerTagType.STATS_BOOSTED:
return new BattlerTag(tagType, BattlerTagLapseType.TURN_END, turnCount, sourceMove);
case BattlerTagType.NONE:
default:
return new BattlerTag(tagType, BattlerTagLapseType.CUSTOM, turnCount, sourceMove, sourceId);

View File

@ -5872,7 +5872,7 @@ export class AddBattlerTagIfBoostedAttr extends AddBattlerTagAttr {
* @returns true
*/
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);
}
return true;
@ -5900,7 +5900,7 @@ export class StatusIfBoostedAttr extends MoveEffectAttr {
* @returns true
*/
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);
}
return true;

View File

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

View File

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

View File

@ -3513,7 +3513,7 @@ export class StatChangePhase extends PokemonPhase {
for (const stat of filteredStats) {
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);

View File

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