From 6de60b926dbc5d4f0de100ea8cabe3c0835992e5 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Sat, 18 Jun 2011 16:00:31 -0400 Subject: [PATCH] fixed protection from multicolor sources - fixed issue 57 --- Mage.Sets/src/mage/sets/conflux/GoblinOutlander.java | 2 ++ Mage.Sets/src/mage/sets/conflux/NacatlOutlander.java | 2 ++ .../src/mage/sets/conflux/ValeronOutlander.java | 2 ++ .../src/mage/sets/conflux/VedalkenOutlander.java | 2 ++ Mage.Sets/src/mage/sets/conflux/ZombieOutlander.java | 2 ++ .../src/mage/sets/magic2010/BaneslayerAngel.java | 3 +++ Mage.Sets/src/mage/sets/magic2010/BlackKnight.java | 2 ++ .../src/mage/sets/magic2010/GreatSableStag.java | 3 +++ Mage.Sets/src/mage/sets/magic2010/WhiteKnight.java | 12 +++++++++--- .../mage/sets/mirrodinbesieged/MirranCrusader.java | 3 +++ .../sets/mirrodinbesieged/PhyrexianCrusader.java | 3 +++ .../src/mage/sets/newphyrexia/VulshokRefugee.java | 2 ++ Mage.Sets/src/mage/sets/worldwake/KorFirewalker.java | 2 ++ .../src/mage/sets/zendikar/BraveTheElements.java | 5 ++++- .../src/mage/sets/zendikar/DevoutLightcaster.java | 2 ++ .../GainProtectionFromColorTargetEffect.java | 2 ++ 16 files changed, 45 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/conflux/GoblinOutlander.java b/Mage.Sets/src/mage/sets/conflux/GoblinOutlander.java index b9661149c34..77535de226d 100644 --- a/Mage.Sets/src/mage/sets/conflux/GoblinOutlander.java +++ b/Mage.Sets/src/mage/sets/conflux/GoblinOutlander.java @@ -34,6 +34,7 @@ import mage.Constants.Rarity; import mage.MageInt; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -46,6 +47,7 @@ public class GoblinOutlander extends CardImpl { static { filter.setUseColor(true); filter.getColor().setWhite(true); + filter.setScopeColor(ComparisonScope.Any); } public GoblinOutlander(UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/conflux/NacatlOutlander.java b/Mage.Sets/src/mage/sets/conflux/NacatlOutlander.java index 55b0a65f3d6..0183161b661 100644 --- a/Mage.Sets/src/mage/sets/conflux/NacatlOutlander.java +++ b/Mage.Sets/src/mage/sets/conflux/NacatlOutlander.java @@ -34,6 +34,7 @@ import mage.Constants.Rarity; import mage.MageInt; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -46,6 +47,7 @@ public class NacatlOutlander extends CardImpl { static { filter.setUseColor(true); filter.getColor().setBlue(true); + filter.setScopeColor(ComparisonScope.Any); } public NacatlOutlander(UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/conflux/ValeronOutlander.java b/Mage.Sets/src/mage/sets/conflux/ValeronOutlander.java index 6167f25f540..e09de63d5e7 100644 --- a/Mage.Sets/src/mage/sets/conflux/ValeronOutlander.java +++ b/Mage.Sets/src/mage/sets/conflux/ValeronOutlander.java @@ -34,6 +34,7 @@ import mage.Constants.Rarity; import mage.MageInt; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -46,6 +47,7 @@ public class ValeronOutlander extends CardImpl { static { filter.setUseColor(true); filter.getColor().setBlack(true); + filter.setScopeColor(ComparisonScope.Any); } public ValeronOutlander(UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/conflux/VedalkenOutlander.java b/Mage.Sets/src/mage/sets/conflux/VedalkenOutlander.java index e817c21d02d..d06db6b1de1 100644 --- a/Mage.Sets/src/mage/sets/conflux/VedalkenOutlander.java +++ b/Mage.Sets/src/mage/sets/conflux/VedalkenOutlander.java @@ -34,6 +34,7 @@ import mage.Constants.Rarity; import mage.MageInt; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -46,6 +47,7 @@ public class VedalkenOutlander extends CardImpl { static { filter.setUseColor(true); filter.getColor().setRed(true); + filter.setScopeColor(ComparisonScope.Any); } public VedalkenOutlander(UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/conflux/ZombieOutlander.java b/Mage.Sets/src/mage/sets/conflux/ZombieOutlander.java index c6c88c2b3fb..076009bec8a 100644 --- a/Mage.Sets/src/mage/sets/conflux/ZombieOutlander.java +++ b/Mage.Sets/src/mage/sets/conflux/ZombieOutlander.java @@ -34,6 +34,7 @@ import mage.Constants.Rarity; import mage.MageInt; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -46,6 +47,7 @@ public class ZombieOutlander extends CardImpl { static { filter.setUseColor(true); filter.getColor().setGreen(true); + filter.setScopeColor(ComparisonScope.Any); } public ZombieOutlander(UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/magic2010/BaneslayerAngel.java b/Mage.Sets/src/mage/sets/magic2010/BaneslayerAngel.java index 6e2934f049a..02d8d161ca4 100644 --- a/Mage.Sets/src/mage/sets/magic2010/BaneslayerAngel.java +++ b/Mage.Sets/src/mage/sets/magic2010/BaneslayerAngel.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.LifelinkAbility; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; @@ -51,6 +52,8 @@ public class BaneslayerAngel extends CardImpl { static { filter1.getSubtype().add("Demon"); filter2.getSubtype().add("Dragon"); + filter1.setScopeSubtype(ComparisonScope.Any); + filter2.setScopeSubtype(ComparisonScope.Any); } public BaneslayerAngel(UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/magic2010/BlackKnight.java b/Mage.Sets/src/mage/sets/magic2010/BlackKnight.java index 5937b6084d1..0c8c5c04d72 100644 --- a/Mage.Sets/src/mage/sets/magic2010/BlackKnight.java +++ b/Mage.Sets/src/mage/sets/magic2010/BlackKnight.java @@ -35,6 +35,7 @@ import mage.MageInt; import mage.abilities.keyword.FirstStrikeAbility; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -48,6 +49,7 @@ public class BlackKnight extends CardImpl { static { filter.setUseColor(true); filter.getColor().setWhite(true); + filter.setScopeColor(ComparisonScope.Any); } public BlackKnight(UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/magic2010/GreatSableStag.java b/Mage.Sets/src/mage/sets/magic2010/GreatSableStag.java index c4402772799..f67bf8882d9 100644 --- a/Mage.Sets/src/mage/sets/magic2010/GreatSableStag.java +++ b/Mage.Sets/src/mage/sets/magic2010/GreatSableStag.java @@ -37,6 +37,7 @@ import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.CantCounterSourceEffect; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -50,8 +51,10 @@ public class GreatSableStag extends CardImpl { static { filter1.setUseColor(true); filter1.getColor().setBlue(true); + filter1.setScopeColor(ComparisonScope.Any); filter2.setUseColor(true); filter2.getColor().setBlack(true); + filter2.setScopeColor(ComparisonScope.Any); } public GreatSableStag(UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/magic2010/WhiteKnight.java b/Mage.Sets/src/mage/sets/magic2010/WhiteKnight.java index 5b8ae8e6866..2edd640ffca 100644 --- a/Mage.Sets/src/mage/sets/magic2010/WhiteKnight.java +++ b/Mage.Sets/src/mage/sets/magic2010/WhiteKnight.java @@ -35,6 +35,7 @@ import mage.MageInt; import mage.abilities.keyword.FirstStrikeAbility; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -43,6 +44,14 @@ import mage.filter.FilterCard; */ public class WhiteKnight extends CardImpl { + private static final FilterCard filter = new FilterCard("Black"); + + static { + filter.setUseColor(true); + filter.getColor().setBlack(true); + filter.setScopeColor(ComparisonScope.Any); + } + public WhiteKnight(UUID ownerId) { super(ownerId, 41, "White Knight", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{W}{W}"); this.expansionSetCode = "M10"; @@ -53,9 +62,6 @@ public class WhiteKnight extends CardImpl { this.toughness = new MageInt(2); this.addAbility(FirstStrikeAbility.getInstance()); - FilterCard filter = new FilterCard("Black"); - filter.setUseColor(true); - filter.getColor().setBlack(true); this.addAbility(new ProtectionAbility(filter)); } diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/MirranCrusader.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/MirranCrusader.java index 0d77efdca39..1d14efcb37a 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/MirranCrusader.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/MirranCrusader.java @@ -35,6 +35,7 @@ import mage.MageInt; import mage.abilities.keyword.DoubleStrikeAbility; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -48,9 +49,11 @@ public class MirranCrusader extends CardImpl { static { filter.setUseColor(true); filter.getColor().setBlack(true); + filter.setScopeColor(ComparisonScope.Any); filter2.setUseColor(true); filter2.getColor().setGreen(true); + filter2.setScopeColor(ComparisonScope.Any); } public MirranCrusader (UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianCrusader.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianCrusader.java index 8d15a514bb3..492ec195f10 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianCrusader.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/PhyrexianCrusader.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.InfectAbility; import mage.abilities.keyword.ProtectionAbility; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -53,9 +54,11 @@ public class PhyrexianCrusader extends CardImpl { static { filter.setUseColor(true); filter.getColor().setRed(true); + filter.setScopeColor(ComparisonScope.Any); filter2.setUseColor(true); filter2.getColor().setWhite(true); + filter2.setScopeColor(ComparisonScope.Any); } public PhyrexianCrusader (UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/newphyrexia/VulshokRefugee.java b/Mage.Sets/src/mage/sets/newphyrexia/VulshokRefugee.java index c1431c716df..57a75d36e8c 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/VulshokRefugee.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/VulshokRefugee.java @@ -33,6 +33,7 @@ import mage.Constants.Rarity; import mage.MageInt; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; /** @@ -46,6 +47,7 @@ public class VulshokRefugee extends CardImpl { static { filter.setUseColor(true); filter.getColor().setRed(true); + filter.setScopeColor(ComparisonScope.Any); } public VulshokRefugee(UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/worldwake/KorFirewalker.java b/Mage.Sets/src/mage/sets/worldwake/KorFirewalker.java index 8e681508900..b94d494c3d4 100644 --- a/Mage.Sets/src/mage/sets/worldwake/KorFirewalker.java +++ b/Mage.Sets/src/mage/sets/worldwake/KorFirewalker.java @@ -38,6 +38,7 @@ import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; import mage.game.Game; import mage.game.events.GameEvent; @@ -53,6 +54,7 @@ public class KorFirewalker extends CardImpl { static { filter.setUseColor(true); filter.getColor().setRed(true); + filter.setScopeColor(ComparisonScope.Any); } public KorFirewalker (UUID ownerId) { diff --git a/Mage.Sets/src/mage/sets/zendikar/BraveTheElements.java b/Mage.Sets/src/mage/sets/zendikar/BraveTheElements.java index 6505f97eb80..ef0a3512277 100644 --- a/Mage.Sets/src/mage/sets/zendikar/BraveTheElements.java +++ b/Mage.Sets/src/mage/sets/zendikar/BraveTheElements.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continious.GainAbilityControlledEffect; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.choices.ChoiceColor; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; @@ -68,11 +69,12 @@ public class BraveTheElements extends CardImpl { class BraveTheElementsEffect extends GainAbilityControlledEffect { - private static FilterCreaturePermanent filter1 = new FilterCreaturePermanent(); + private static final FilterCreaturePermanent filter1 = new FilterCreaturePermanent(); static { filter1.setUseColor(true); filter1.getColor().setWhite(true); + filter1.setScopeColor(ComparisonScope.Any); } FilterCard filter2; @@ -81,6 +83,7 @@ class BraveTheElementsEffect extends GainAbilityControlledEffect { super(new ProtectionAbility(new FilterCard()), Duration.EndOfTurn, filter1); filter2 = (FilterCard)((ProtectionAbility)ability).getFilter(); filter2.setUseColor(true); + filter2.setScopeColor(ComparisonScope.Any); } public BraveTheElementsEffect(final BraveTheElementsEffect effect) { diff --git a/Mage.Sets/src/mage/sets/zendikar/DevoutLightcaster.java b/Mage.Sets/src/mage/sets/zendikar/DevoutLightcaster.java index 7a4ac492bfb..c17416d1dde 100644 --- a/Mage.Sets/src/mage/sets/zendikar/DevoutLightcaster.java +++ b/Mage.Sets/src/mage/sets/zendikar/DevoutLightcaster.java @@ -35,6 +35,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.ExileTargetEffect; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; import mage.filter.FilterPermanent; import mage.target.TargetPermanent; @@ -51,6 +52,7 @@ public class DevoutLightcaster extends CardImpl { static { filterProtection.setUseColor(true); filterProtection.getColor().setBlack(true); + filterProtection.setScopeColor(ComparisonScope.Any); filterTarget.setUseColor(true); filterTarget.getColor().setBlack(true); } diff --git a/Mage/src/mage/abilities/effects/common/continious/GainProtectionFromColorTargetEffect.java b/Mage/src/mage/abilities/effects/common/continious/GainProtectionFromColorTargetEffect.java index 0335fb2a384..15a1aa87309 100644 --- a/Mage/src/mage/abilities/effects/common/continious/GainProtectionFromColorTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/GainProtectionFromColorTargetEffect.java @@ -32,6 +32,7 @@ import mage.Constants.Duration; import mage.abilities.Ability; import mage.abilities.keyword.ProtectionAbility; import mage.choices.ChoiceColor; +import mage.filter.Filter.ComparisonScope; import mage.filter.FilterCard; import mage.game.Game; import mage.game.permanent.Permanent; @@ -48,6 +49,7 @@ public class GainProtectionFromColorTargetEffect extends GainAbilityTargetEffect super(new ProtectionAbility(new FilterCard()), duration); protectionFilter = (FilterCard)((ProtectionAbility)ability).getFilter(); protectionFilter.setUseColor(true); + protectionFilter.setScopeColor(ComparisonScope.Any); } public GainProtectionFromColorTargetEffect(final GainProtectionFromColorTargetEffect effect) {