- Fix Multikicker for the AI

This commit is contained in:
Michael Kamensky
2021-02-21 09:20:30 +03:00
parent b46d73f695
commit cd567a21dc
2 changed files with 13 additions and 2 deletions

View File

@@ -19,7 +19,10 @@ package forge.ai;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.*;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import forge.ai.ability.ChooseGenericEffectAi;
import forge.ai.ability.ProtectAi;
import forge.ai.ability.TokenAi;
@@ -44,7 +47,10 @@ import forge.game.player.Player;
import forge.game.replacement.ReplacementEffect;
import forge.game.replacement.ReplacementLayer;
import forge.game.replacement.ReplacementType;
import forge.game.spellability.*;
import forge.game.spellability.AbilitySub;
import forge.game.spellability.SpellAbility;
import forge.game.spellability.SpellAbilityStackInstance;
import forge.game.spellability.TargetRestrictions;
import forge.game.staticability.StaticAbility;
import forge.game.trigger.Trigger;
import forge.game.trigger.TriggerType;
@@ -109,6 +115,10 @@ public class ComputerUtil {
}
final Cost cost = sa.getPayCosts();
// Remember the now-forgotten kicker cost? Why is this needed?
sa.getHostCard().setKickerMagnitude(source.getKickerMagnitude()); // the card will disappear
// TODO: update mana color conversion for Daxos of Meletis
if (cost == null) {
if (ComputerUtilMana.payManaCost(ai, sa)) {

View File

@@ -156,6 +156,7 @@ public class PermanentAi extends SpellAbilityAi {
ManaCostBeingPaid mcbp = new ManaCostBeingPaid(mCost);
if (!ComputerUtilMana.canPayManaCost(mcbp, sa, ai)) {
card.setKickerMagnitude(i);
sa.setSVar("Multikicker", String.valueOf(i));
break;
}
card.setKickerMagnitude(i + 1);