From a030a61e52f743bdb034eaaa632da5389bafcb24 Mon Sep 17 00:00:00 2001 From: Agetian Date: Wed, 28 Nov 2018 21:21:07 +0300 Subject: [PATCH] - Some CopySpellAbilityAi improvements. --- .../src/main/java/forge/ai/ability/CopySpellAbilityAi.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java b/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java index 872f4f7d38f..e23df4de018 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java @@ -36,6 +36,10 @@ public class CopySpellAbilityAi extends SpellAbilityAi { chance = 100; } + if (top.getActivatingPlayer().isOpponentOf(aiPlayer)) { + chance = 100; // currently the AI will always copy the opponent's spell if viable + } + if (!MyRandom.percentTrue(chance) && !"AlwaysIfViable".equals(logic) && !"OnceIfViable".equals(logic) @@ -73,7 +77,7 @@ public class CopySpellAbilityAi extends SpellAbilityAi { if (top.canBeTargetedBy(sa)) { AiPlayDecision decision = AiPlayDecision.CantPlaySa; - if (top instanceof Spell) { + if (top instanceof Spell && !top.hasParam("ConditionManaSpent") /* mana spent is not copied */ ) { decision = ((PlayerControllerAi) aiPlayer.getController()).getAi().canPlayFromEffectAI((Spell) topCopy, true, true); } else if (top instanceof AbilityActivated && top.getActivatingPlayer().equals(aiPlayer) && logic.contains("CopyActivatedAbilities")) {