Skip to content

ai-rework: Add Matchup Score modifiers - #1365

Draft
innerthunder wants to merge 7 commits into
ai-reworkfrom
ai/matchup-score-modifiers
Draft

ai-rework: Add Matchup Score modifiers#1365
innerthunder wants to merge 7 commits into
ai-reworkfrom
ai/matchup-score-modifiers

Conversation

@innerthunder

Copy link
Copy Markdown
Contributor

What are the changes the user will see?

The AI should now account for ongoing battle effects when evaluating whether it should switch Pokemon. These battle effects include:

  • Volatile status effects (e.g. Confusion)
  • Hazards (e.g. Spikes)
  • Weather
  • Terrain

Why am I making these changes?

Part of the AI Rework.

What are the changes from a developer perspective?

  • Added Pokemon.applyMatchupScoreModifiers to apply Matchup Score (MUS) modifiers outside of the normal damage/EAS-based scoring.
  • Added new methods to BattlerTag and ArenaTag to apply tag-specific MUS modifiers.
  • Added Weather- and Terrain-based MUS modifier logic.

For more information on the new MUS modifiers, see the "Misc. Score Modifiers" tab in the Effect Scores Sheet

How to test the changes?

  • pnpm typecheck
  • pnpm depcruise
  • pnpm test:silent

New unit tests are WIP.

Checklist

  • There is no overlap with another PR?
  • The PR is self-contained and cannot be split into smaller PRs?
  • Have I provided a clear explanation of the changes?
  • Have I tested the changes manually?
  • Are all unit tests still passing? (pnpm test:silent)
    • Have I created new automated tests (pnpm test:create) or updated existing tests related to the PR's changes?

@innerthunder innerthunder added AI Affects the Enemy Pokemon and/or Trainer AI Addendum For building off another branch labels Sep 16, 2025
@innerthunder innerthunder self-assigned this Sep 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Addendum For building off another branch AI Affects the Enemy Pokemon and/or Trainer AI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant