diff --git a/res/quest/duels/Riddler 4.dck b/res/quest/duels/Riddler 4.dck index 41d46be25cf..35714e73bad 100644 --- a/res/quest/duels/Riddler 4.dck +++ b/res/quest/duels/Riddler 4.dck @@ -1,27 +1,33 @@ -[duel] -[metadata] -Name=Riddler 4 -Title=Riddler -Difficulty=very hard -Description=WR deck with mass damage spells, Stuffy Doll and Guilty Conscience -Icon=Riddler.jpg -Deck Type=constructed -[main] -4 Arid Mesa -4 Plateau -4 Windswept Heath -3 Scalding Tarn -6 Plains|M11 -1 Mountain|M11 -4 Spitemare -4 Swans of Bryn Argoll -4 Stuffy Doll -4 Wall of Hope -4 Guilty Conscience -4 Pyroclasm -4 Volcanic Fallout -2 Tremor -2 Chain Reaction -4 Enlightened Tutor -2 Idyllic Tutor -[sideboard] +[duel] +[metadata] +Name=Riddler 4 +Title=Riddler +Difficulty=very hard +Description=WR deck with mass damage spells, Stuffy Doll and Guilty Conscience +Icon=Riddler.jpg +Deck Type=constructed +[main] +4 Arid Mesa +4 Plateau +4 Windswept Heath +3 Flooded Strand +1 Plains|M11 +1 Mountain|M11 +1 Mox Emerald +1 Mox Sapphire +1 Mox Jet +1 Mox Ruby +1 Mox Pearl +4 Boros Reckoner +4 Spitemare +2 Swans of Bryn Argoll +4 Stuffy Doll +2 Wall of Hope +4 Guilty Conscience +4 Pyroclasm +4 Volcanic Fallout +2 Tremor +2 Chain Reaction +2 Idyllic Tutor +4 Blasphemous Act +[sideboard] diff --git a/src/main/java/forge/card/ability/ai/AttachAi.java b/src/main/java/forge/card/ability/ai/AttachAi.java index 65ad5050c43..7c958d12903 100644 --- a/src/main/java/forge/card/ability/ai/AttachAi.java +++ b/src/main/java/forge/card/ability/ai/AttachAi.java @@ -395,10 +395,20 @@ public class AttachAi extends SpellAbilityAi { private static Card attachAISpecificCardPreference(final SpellAbility sa, final List list, final boolean mandatory, final Card attachSource) { // I know this isn't much better than Hardcoding, but some cards need it for now - Player ai = sa.getActivatingPlayer(); + final Player ai = sa.getActivatingPlayer(); Card chosen = null; if ("Guilty Conscience".equals(sa.getSourceCard().getName())) { - List aiStuffies = CardLists.filter(list, Predicates.and(CardPredicates.isController(ai), CardPredicates.nameEquals("Stuffy Doll"))); + List aiStuffies = CardLists.filter(list, new Predicate() { + @Override + public boolean apply(final Card c) { + // Don't enchant creatures that can survive + if (!c.getController().equals(ai)) { + return false; + } + final String name = c.getName(); + return name.equals("Stuffy Doll") || name.equals("Boros Reckoner") || name.equals("Spitemare"); + } + }); if (!aiStuffies.isEmpty()) { chosen = aiStuffies.get(0); } else { @@ -407,7 +417,7 @@ public class AttachAi extends SpellAbilityAi { @Override public boolean apply(final Card c) { // Don't enchant creatures that can survive - if (!c.canBeDestroyed() || c.getNetCombatDamage() < c.getNetDefense()) { + if (!c.canBeDestroyed() || c.getNetCombatDamage() < c.getNetDefense() || c.isEnchantedBy("Guilty Conscience")) { return false; } return true;