Adjust some documentation for new methods

This commit is contained in:
Sirz Benjie 2025-08-18 22:30:52 -05:00
parent d74a70a529
commit 55b8429787
No known key found for this signature in database
GPG Key ID: 4A524B4D196C759E
2 changed files with 15 additions and 5 deletions

View File

@ -93,6 +93,7 @@ import { toCamelCase, toTitleCase } from "#utils/strings";
import i18next from "i18next";
import { applyChallenges } from "#utils/challenge-utils";
import { ConsecutiveUseRestriction, counterAttackCondition_Both, counterAttackCondition_Physical, counterAttackCondition_Special, failAgainstFinalBossCondition, FailIfInsufficientHpCondition, failIfTargetNotAttackingCondition, failTeleportCondition, FirstMoveCondition, GravityUseRestriction, lastResortCondition, MoveCondition, MoveRestriction, UpperHandCondition } from "#moves/move-condition";
import { areAllies } from "#utils/pokemon-utils";
/**
* A function used to conditionally determine execution of a given {@linkcode MoveAttr}.
@ -1810,15 +1811,22 @@ export class CounterDamageAttr extends FixedDamageAttr {
}
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
user.turnData.attacksReceived.find(ar => {
const category = allMoves[ar.move].category;
return (category !== MoveCategory.STATUS || areAllies(user.getBattlerIndex(), ar.sourceBattlerIndex))
})
let damage = 0;
const userBattlerIndex = user.getBattlerIndex();
for (const ar of user.turnData.attacksReceived) {
// TODO: Adjust this for moves with variable damage categories
const category = allMoves[ar.move].category;
if (category === MoveCategory.STATUS || (this.moveFilter && category !== this.moveFilter)) {
if (category === MoveCategory.STATUS
|| areAllies(userBattlerIndex, ar.sourceBattlerIndex)
|| (this.moveFilter && category !== this.moveFilter)) {
continue;
}
damage += ar.damage;
damage = ar.damage;
break;
}
(args[0] as NumberHolder).value = toDmgValue(damage * this.multiplier);
@ -1858,7 +1866,6 @@ export class CounterRedirectAttr extends MoveAttr {
} else {
args[0].value = desiredTarget;
}
console.log(`CounterRedirectAttr: Redirecting move to battler index ${BattlerIndex[args[0].value]}`);
return true;
}
return false;

View File

@ -4,6 +4,8 @@ import { allSpecies } from "#data/data-lists";
import type { PokemonSpecies, PokemonSpeciesForm } from "#data/pokemon-species";
import { BattlerIndex } from "#enums/battler-index";
import type { SpeciesId } from "#enums/species-id";
// biome-ignore lint/correctness/noUnusedImports: Used in a TSDoc comment
import type { Pokemon } from "#field/pokemon";
import { randSeedItem } from "./common";
/**
@ -126,7 +128,8 @@ export function getPokemonSpeciesForm(species: SpeciesId, formIndex: number): Po
}
/**
* Return whether two battler indices are allies
* Return whether two battler indices are considered allies.
* To instead check with {@linkcode Pokemon} objects, use {@linkcode Pokemon.isOpponent}.
* @param a - First battler index
* @param b - Second battler index
* @returns Whether the two battler indices are allies. Always `false` if either index is `ATTACKER`.