Skip to content

Prefer near-term threats for AI card choices#10947

Open
Rauglothgor wants to merge 1 commit into
Card-Forge:masterfrom
Rauglothgor:ai-threat-score-target-priority
Open

Prefer near-term threats for AI card choices#10947
Rauglothgor wants to merge 1 commit into
Card-Forge:masterfrom
Rauglothgor:ai-threat-score-target-priority

Conversation

@Rauglothgor

Copy link
Copy Markdown
Contributor

Summary

This is a narrow first slice for #6913 and #4282. It reduces two common highest-MV-only AI choices without changing the broader targeting system:

  • Thoughtseize-style opponent hand discard now prefers a near-term playable threat before falling back to the highest-MV card.
  • Creature-to-hand tutor choices now prefer castable or soon-castable creatures before falling back to the largest creature.

The goal is to avoid early-game choices such as taking or tutoring Avacyn/Iona purely because they have high mana value when lower-MV cards are the actual near-term threat.

Behavior

For single-card discard from an opponent's hand, key cards still win first. If no registered key card applies, the AI checks nonland cards that appear playable soon based on current mana plus a likely land drop, then chooses the best threat from that subset.

For creature tutors to hand, the AI now checks creatures it can cast with available mana sources, then creatures close to castable after a likely land drop, before falling back to the previous best-creature choice.

Scope

This deliberately does not attempt to solve every item in #6913. It does not change Pithing Needle naming, multi-target copied-spell choices, board wipes, or for-each-opponent targeting. Those should remain separate patches because they touch different AI paths.

Validation

Passed locally with temporary WSL Maven/JDK tooling:

mvn -pl forge-ai -am -DskipTests compile

Observed result: BUILD SUCCESS, with 0 checkstyle violations.

Notes

No tests are included here. This is meant as a small behavior slice rather than broad AI rewiring.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant