Card-Forge / forge

An unofficial rules engine for the world's greatest card game.
https://card-forge.github.io/forge/
GNU General Public License v3.0
1.02k stars 571 forks source link

AI chooses a first (usual weaker) trigger when casting Tishana's Tidebinder/Consign to Memory #5894

Open MorihiroS opened 3 months ago

MorihiroS commented 3 months ago

Describe the bug AI selects a first (usual weaker) trigger from among two or more triggers in the stack from different sources when AI casts Tishana's Tidebinder or Consign to Memory.

To Reproduce Steps to reproduce the behavior:

  1. Player has Champion of Rhonas and Noble Hierarch
  2. AI has Tishana's Tidebinder in hands and 3+ untapped lands on the battlefield
  3. Player attacks with Champion of Rhonas and exert it
  4. Two triggers in stack (first exalted + second exert)
  5. AI casts Tishana's Tidebinder vexalted trigger

or

  1. Player casts Phlage, Titan of Fire's Fury
  2. AI has 1 untapped Island on the battlefield and Consign to Memory in hands
  3. AI casts Consign to Memory and chooses trigger "When Phlage enters, sacrifice it unless it escaped."

Expected behavior AI should choose a most danger trigger from two or more triggers in stack from different sources.

Desktop OS: Windows 10 Java Version: 1.8.0_202-b08 Forge Version: 1.6.64-SNAPSHOT-08.04

Screenshots

Tishana trig

MorihiroS commented 3 months ago

@Hanmac, need AI label, keep label and assign someone, please

Hanmac commented 3 months ago

I don't think AI has any logic on how to prioritize Value of Trigger/SpellAbilties

MorihiroS commented 3 months ago

@Hanmac, is it possible to make an exception to the exalted trigger?

Hanmac commented 3 months ago

@MorihiroS the problem i more that the AI doesn't have much logic to differentiate between Triggers and/or SpellAbilities once they are on the stack

so when it sees a trigger, (and assumes it is positive) it tries to counter the trigger with all their might