diff --git a/.gitattributes b/.gitattributes index 2b433fb1799..d960e3f9eeb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -12531,6 +12531,7 @@ res/quest/duels/C3PO[!!-~]3.dck -text res/quest/duels/Cable[!!-~]2.dck -text res/quest/duels/Captain[!!-~]America[!!-~]2.dck -text res/quest/duels/Captain[!!-~]America[!!-~]3.dck -text +res/quest/duels/Carnage[!!-~]2.dck -text res/quest/duels/Catwoman[!!-~]1.dck -text res/quest/duels/Catwoman[!!-~]2.dck -text res/quest/duels/Cave[!!-~]Troll[!!-~]3.dck -text diff --git a/res/cardsfolder/d/daybreak_coronet.txt b/res/cardsfolder/d/daybreak_coronet.txt index a7cb7e9da01..7bbd1d84657 100644 --- a/res/cardsfolder/d/daybreak_coronet.txt +++ b/res/cardsfolder/d/daybreak_coronet.txt @@ -1,8 +1,7 @@ Name:Daybreak Coronet ManaCost:W W Types:Enchantment Aura -Text:Enchant creature with another Aura attached to it -K:Enchant creature +K:Enchant creature with another Aura attached to it A:SP$ Attach | Cost$ W W | ValidTgts$ Creature.enchanted | TgtPrompt$ Select target enchanted creature | AILogic$ Pump S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 3 | AddToughness$ 3 | AddKeyword$ First Strike & Vigilance & Lifelink | Description$ Enchanted creature gets +3/+3 and has first strike, vigilance, and lifelink. (Damage dealt by the creature also causes its controller to gain that much life.) T:Mode$ Always | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ EQ1 | Execute$ TrigRemove | Static$ True diff --git a/res/quest/duels/Carnage 2.dck b/res/quest/duels/Carnage 2.dck new file mode 100644 index 00000000000..98d0745a194 --- /dev/null +++ b/res/quest/duels/Carnage 2.dck @@ -0,0 +1,35 @@ +[duel] +[metadata] +Name=Carnage 2 +Title=Carnage +Difficulty=medium +Description=Mono R Grand Melee deck with Circle of Flame +Icon=Carnage.jpg +Deck Type=constructed +[main] +23 Mountain +4 Grand Melee +1 Bedlam +4 Circle of Flame +4 Fire at Will +1 Ashen Monstrosity +1 Avatar of Slaughter +4 Battle-Mad Ronin +1 Berserkers of Blood Ridge +1 Bloodcrazed Neonate +1 Bloodrock Cyclops +1 Craven Giant +1 Crazed Goblin +1 Flameborn Hellion +1 Galvanic Juggernaut +1 Goblin Brigand +1 Juggernaut +2 Kuldotha Ringleader +1 Orgg +1 Reckless Brute +1 Slumbering Dragon +1 Tattermunge Maniac +1 Thran War Machine +1 Ulamog's Crusher +1 Utvara Scalper +[sideboard] diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 02b8fe6d8e6..756158d63ee 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -8869,6 +8869,10 @@ public class Card extends GameEntity implements Comparable { if (this.hasProtectionFrom(sa.getSourceCard())) { return false; } + + if (this.isPhasedOut()) { + return false; + } if (this.getKeyword() != null) { final Card source = sa.getSourceCard(); diff --git a/src/main/java/forge/card/ability/ai/AttachAi.java b/src/main/java/forge/card/ability/ai/AttachAi.java index 1283478ca3f..5f1214608ad 100644 --- a/src/main/java/forge/card/ability/ai/AttachAi.java +++ b/src/main/java/forge/card/ability/ai/AttachAi.java @@ -802,7 +802,7 @@ public class AttachAi extends SpellAbilityAi { } }); - if (attachSource.isAura()) { + if (attachSource.isAura() && !attachSource.getName().equals("Daybreak Coronet")) { // TODO For Auras like Rancor, that aren't as likely to lead to // card disadvantage, this check should be skipped prefList = CardLists.filter(prefList, Predicates.not(Presets.ENCHANTED)); diff --git a/src/main/java/forge/card/ability/effects/ManaEffect.java b/src/main/java/forge/card/ability/effects/ManaEffect.java index d75a2ccebfc..a9ed652436d 100644 --- a/src/main/java/forge/card/ability/effects/ManaEffect.java +++ b/src/main/java/forge/card/ability/effects/ManaEffect.java @@ -137,12 +137,15 @@ public class ManaEffect extends SpellAbilityEffect { abMana.setExpressChoice(choice); } else { - if (sa.hasParam("AILogic")) { - final String logic = sa.getParam("AILogic"); + if (abMana.getExpressChoice().isEmpty()) { + final String logic = sa.hasParam("AILogic") ? sa.getParam("AILogic") : null; String chosen = Constant.Color.BLACK; - if (logic.equals("MostProminentInComputerHand")) { + if (logic == null || logic.equals("MostProminentInComputerHand")) { chosen = ComputerUtilCard.getMostProminentColor(act.getCardsIn(ZoneType.Hand)); } + if (chosen.equals("")) { + chosen = Constant.Color.GREEN; + } GuiChoose.one("Computer picked: ", new String[]{chosen}); abMana.setExpressChoice(MagicColor.toShortString(chosen)); }