diff --git a/Mage.Sets/src/mage/cards/a/AbolisherOfBloodlines.java b/Mage.Sets/src/mage/cards/a/AbolisherOfBloodlines.java index 3bf504c388..10b7d66c08 100644 --- a/Mage.Sets/src/mage/cards/a/AbolisherOfBloodlines.java +++ b/Mage.Sets/src/mage/cards/a/AbolisherOfBloodlines.java @@ -80,7 +80,7 @@ public class AbolisherOfBloodlines extends CardImpl { class AbolisherOfBloodlinesAbility extends TriggeredAbilityImpl { - public static final String RULE_TEXT = "When this creature transforms into Abolisher of Bloodlines, target opponent sacrifices three creatures"; + static final String RULE_TEXT = "When this creature transforms into Abolisher of Bloodlines, target opponent sacrifices three creatures"; public AbolisherOfBloodlinesAbility() { super(Zone.BATTLEFIELD, new SacrificeEffect(new FilterCreaturePermanent(), 3, "Target opponent"), false); diff --git a/Mage.Sets/src/mage/cards/b/Befoul.java b/Mage.Sets/src/mage/cards/b/Befoul.java index e3dfd748a7..dc97ee5ac9 100644 --- a/Mage.Sets/src/mage/cards/b/Befoul.java +++ b/Mage.Sets/src/mage/cards/b/Befoul.java @@ -48,7 +48,7 @@ import java.util.UUID; */ public class Befoul extends CardImpl { - public static final FilterPermanent filter = new FilterPermanent("land or nonblack creature"); + static final FilterPermanent filter = new FilterPermanent("land or nonblack creature"); static { filter.add(Predicates.or( diff --git a/Mage.Sets/src/mage/cards/b/BelovedChaplain.java b/Mage.Sets/src/mage/cards/b/BelovedChaplain.java index 4c2d1a8edd..4289a1768a 100644 --- a/Mage.Sets/src/mage/cards/b/BelovedChaplain.java +++ b/Mage.Sets/src/mage/cards/b/BelovedChaplain.java @@ -43,7 +43,7 @@ import java.util.UUID; */ public class BelovedChaplain extends CardImpl { - public static final FilterCard filter = new FilterCard("creatures"); + static final FilterCard filter = new FilterCard("creatures"); static { filter.add(new CardTypePredicate(CardType.CREATURE)); diff --git a/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java b/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java index c500d7c571..43d43ff05d 100644 --- a/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java +++ b/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java @@ -48,7 +48,7 @@ import java.util.UUID; */ public class BraidsCabalMinion extends CardImpl { - public static final FilterPermanent filter = new FilterPermanent("artifact, creature, or land"); + static final FilterPermanent filter = new FilterPermanent("artifact, creature, or land"); static { filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), diff --git a/Mage.Sets/src/mage/cards/c/Cantivore.java b/Mage.Sets/src/mage/cards/c/Cantivore.java index 52f39734ba..37775fee50 100644 --- a/Mage.Sets/src/mage/cards/c/Cantivore.java +++ b/Mage.Sets/src/mage/cards/c/Cantivore.java @@ -49,7 +49,7 @@ import java.util.UUID; */ public class Cantivore extends CardImpl { - public static final FilterCard filter = new FilterCard("enchantment cards"); + static final FilterCard filter = new FilterCard("enchantment cards"); static { filter.add(new CardTypePredicate(CardType.ENCHANTMENT)); diff --git a/Mage.Sets/src/mage/cards/c/CoalitionVictory.java b/Mage.Sets/src/mage/cards/c/CoalitionVictory.java index f35ef28e3f..3860de74ad 100644 --- a/Mage.Sets/src/mage/cards/c/CoalitionVictory.java +++ b/Mage.Sets/src/mage/cards/c/CoalitionVictory.java @@ -45,21 +45,20 @@ import mage.game.Game; import java.util.UUID; /** - * * @author fireshoes */ public class CoalitionVictory extends CardImpl { - - public static final FilterControlledLandPermanent filterPlains = new FilterControlledLandPermanent(); - public static final FilterControlledLandPermanent filterIsland = new FilterControlledLandPermanent(); - public static final FilterControlledLandPermanent filterSwamp = new FilterControlledLandPermanent(); - public static final FilterControlledLandPermanent filterMountain = new FilterControlledLandPermanent(); - public static final FilterControlledLandPermanent filterForest = new FilterControlledLandPermanent(); - public static final FilterControlledCreaturePermanent filterWhite = new FilterControlledCreaturePermanent(); - public static final FilterControlledCreaturePermanent filterBlue = new FilterControlledCreaturePermanent(); - public static final FilterControlledCreaturePermanent filterBlack = new FilterControlledCreaturePermanent(); - public static final FilterControlledCreaturePermanent filterRed = new FilterControlledCreaturePermanent(); - public static final FilterControlledCreaturePermanent filterGreen = new FilterControlledCreaturePermanent(); + + static final FilterControlledLandPermanent filterPlains = new FilterControlledLandPermanent(); + static final FilterControlledLandPermanent filterIsland = new FilterControlledLandPermanent(); + static final FilterControlledLandPermanent filterSwamp = new FilterControlledLandPermanent(); + static final FilterControlledLandPermanent filterMountain = new FilterControlledLandPermanent(); + static final FilterControlledLandPermanent filterForest = new FilterControlledLandPermanent(); + static final FilterControlledCreaturePermanent filterWhite = new FilterControlledCreaturePermanent(); + static final FilterControlledCreaturePermanent filterBlue = new FilterControlledCreaturePermanent(); + static final FilterControlledCreaturePermanent filterBlack = new FilterControlledCreaturePermanent(); + static final FilterControlledCreaturePermanent filterRed = new FilterControlledCreaturePermanent(); + static final FilterControlledCreaturePermanent filterGreen = new FilterControlledCreaturePermanent(); static { filterPlains.add(new SubtypePredicate(SubType.PLAINS)); @@ -75,7 +74,7 @@ public class CoalitionVictory extends CardImpl { } public CoalitionVictory(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{W}{U}{B}{R}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{W}{U}{B}{R}{G}"); // You win the game if you control a land of each basic land type and a creature of each color. this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new WinGameSourceControllerEffect(), diff --git a/Mage.Sets/src/mage/cards/c/Cognivore.java b/Mage.Sets/src/mage/cards/c/Cognivore.java index 518ea6abe0..464fba93d5 100644 --- a/Mage.Sets/src/mage/cards/c/Cognivore.java +++ b/Mage.Sets/src/mage/cards/c/Cognivore.java @@ -44,19 +44,18 @@ import mage.filter.predicate.mageobject.CardTypePredicate; import java.util.UUID; /** - * * @author cbt33 */ public class Cognivore extends CardImpl { - - public static final FilterCard filter = new FilterCard("instant cards"); - + + static final FilterCard filter = new FilterCard("instant cards"); + static { filter.add(new CardTypePredicate(CardType.INSTANT)); } public Cognivore(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{U}{U}"); this.subtype.add("Lhurgoyf"); this.power = new MageInt(0); @@ -66,7 +65,7 @@ public class Cognivore extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // Cognivore's power and toughness are each equal to the number of instant cards in all graveyards. DynamicValue value = (new CardsInAllGraveyardsCount(filter)); - this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(value, Duration.EndOfGame))); + this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetPowerToughnessSourceEffect(value, Duration.EndOfGame))); } public Cognivore(final Cognivore card) { diff --git a/Mage.Sets/src/mage/cards/c/CommanderEesha.java b/Mage.Sets/src/mage/cards/c/CommanderEesha.java index fec71f174b..08b0a969fb 100644 --- a/Mage.Sets/src/mage/cards/c/CommanderEesha.java +++ b/Mage.Sets/src/mage/cards/c/CommanderEesha.java @@ -45,7 +45,7 @@ import java.util.UUID; */ public class CommanderEesha extends CardImpl { - public static final FilterCard filter = new FilterCard("creatures"); + static final FilterCard filter = new FilterCard("creatures"); static { filter.add(new CardTypePredicate(CardType.CREATURE)); diff --git a/Mage.Sets/src/mage/cards/c/ConsumeSpirit.java b/Mage.Sets/src/mage/cards/c/ConsumeSpirit.java index ce877ca228..67d6423853 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumeSpirit.java +++ b/Mage.Sets/src/mage/cards/c/ConsumeSpirit.java @@ -50,7 +50,7 @@ import java.util.UUID; */ public class ConsumeSpirit extends CardImpl { - public static final FilterMana filterBlack = new FilterMana(); + static final FilterMana filterBlack = new FilterMana(); static { filterBlack.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/c/Crypsis.java b/Mage.Sets/src/mage/cards/c/Crypsis.java index e73be9e5c9..a2a5542a5d 100644 --- a/Mage.Sets/src/mage/cards/c/Crypsis.java +++ b/Mage.Sets/src/mage/cards/c/Crypsis.java @@ -49,7 +49,7 @@ import java.util.UUID; */ public class Crypsis extends CardImpl { - public static final FilterCard filter = new FilterCard("creatures your opponents control"); + static final FilterCard filter = new FilterCard("creatures your opponents control"); static { filter.add(new CardTypePredicate(CardType.CREATURE)); diff --git a/Mage.Sets/src/mage/cards/c/CryptRats.java b/Mage.Sets/src/mage/cards/c/CryptRats.java index aa7f840dd3..3b7e95408f 100644 --- a/Mage.Sets/src/mage/cards/c/CryptRats.java +++ b/Mage.Sets/src/mage/cards/c/CryptRats.java @@ -51,7 +51,7 @@ import java.util.UUID; */ public class CryptRats extends CardImpl { - public static final FilterMana filterBlack = new FilterMana(); + static final FilterMana filterBlack = new FilterMana(); static { filterBlack.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/d/DejaVu.java b/Mage.Sets/src/mage/cards/d/DejaVu.java index 8bfb5773a6..9d7195ecef 100644 --- a/Mage.Sets/src/mage/cards/d/DejaVu.java +++ b/Mage.Sets/src/mage/cards/d/DejaVu.java @@ -43,7 +43,7 @@ import java.util.UUID; */ public class DejaVu extends CardImpl { - public static final FilterCard filter = new FilterCard("sorcery card from your graveyard"); + static final FilterCard filter = new FilterCard("sorcery card from your graveyard"); static { filter.add(new CardTypePredicate(CardType.SORCERY)); diff --git a/Mage.Sets/src/mage/cards/d/Draco.java b/Mage.Sets/src/mage/cards/d/Draco.java index aa48c5727f..59348974d6 100644 --- a/Mage.Sets/src/mage/cards/d/Draco.java +++ b/Mage.Sets/src/mage/cards/d/Draco.java @@ -107,7 +107,7 @@ class DracoCostReductionEffect extends CostModificationEffectImpl { class DracoSacrificeUnlessPaysEffect extends OneShotEffect { - public static final int MAX_DOMAIN_VALUE = 10; + static final int MAX_DOMAIN_VALUE = 10; public DracoSacrificeUnlessPaysEffect () { super(Outcome.Sacrifice); diff --git a/Mage.Sets/src/mage/cards/d/DrainLife.java b/Mage.Sets/src/mage/cards/d/DrainLife.java index f3c0d0dd20..494c23c5fc 100644 --- a/Mage.Sets/src/mage/cards/d/DrainLife.java +++ b/Mage.Sets/src/mage/cards/d/DrainLife.java @@ -50,7 +50,7 @@ import java.util.UUID; */ public class DrainLife extends CardImpl { - public static final FilterMana filterBlack = new FilterMana(); + static final FilterMana filterBlack = new FilterMana(); static { filterBlack.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/d/DropOfHoney.java b/Mage.Sets/src/mage/cards/d/DropOfHoney.java index 601b821594..ee948d50eb 100644 --- a/Mage.Sets/src/mage/cards/d/DropOfHoney.java +++ b/Mage.Sets/src/mage/cards/d/DropOfHoney.java @@ -56,7 +56,7 @@ import java.util.UUID; */ public class DropOfHoney extends CardImpl { - public static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); + static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); public DropOfHoney(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); diff --git a/Mage.Sets/src/mage/cards/e/ElvishHarbinger.java b/Mage.Sets/src/mage/cards/e/ElvishHarbinger.java index 95b0b3511a..3583822b7c 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishHarbinger.java +++ b/Mage.Sets/src/mage/cards/e/ElvishHarbinger.java @@ -48,7 +48,7 @@ import java.util.UUID; */ public class ElvishHarbinger extends CardImpl { - public static final FilterCard filter = new FilterCard("Elf card"); + static final FilterCard filter = new FilterCard("Elf card"); static { filter.add(new SubtypePredicate(SubType.ELEMENTAL)); } diff --git a/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java b/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java index 625b171fd7..585add739b 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java +++ b/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java @@ -43,18 +43,18 @@ import mage.target.common.TargetCardInLibrary; import java.util.UUID; /** - * * @author fireshoes */ public class FaerieHarbinger extends CardImpl { - - public static final FilterCard filter = new FilterCard("Faerie card"); + + static final FilterCard filter = new FilterCard("Faerie card"); + static { filter.add(new SubtypePredicate(SubType.FAERIE)); } public FaerieHarbinger(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); this.subtype.add("Faerie"); this.subtype.add("Wizard"); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GiantHarbinger.java b/Mage.Sets/src/mage/cards/g/GiantHarbinger.java index 21cde0053c..90e6a0afc5 100644 --- a/Mage.Sets/src/mage/cards/g/GiantHarbinger.java +++ b/Mage.Sets/src/mage/cards/g/GiantHarbinger.java @@ -46,7 +46,7 @@ import java.util.UUID; */ public class GiantHarbinger extends CardImpl { - public static final FilterCard filter = new FilterCard("Giant card"); + static final FilterCard filter = new FilterCard("Giant card"); static { filter.add(new SubtypePredicate(SubType.GIANT)); } diff --git a/Mage.Sets/src/mage/cards/g/GreaterHarvester.java b/Mage.Sets/src/mage/cards/g/GreaterHarvester.java index 57d310f0d2..3f65f337ff 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterHarvester.java +++ b/Mage.Sets/src/mage/cards/g/GreaterHarvester.java @@ -32,7 +32,7 @@ import java.util.UUID; */ public class GreaterHarvester extends CardImpl { - public static final FilterPermanent filter = new FilterPermanent("a permanent"); + static final FilterPermanent filter = new FilterPermanent("a permanent"); static { filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), diff --git a/Mage.Sets/src/mage/cards/h/HeatOfBattle.java b/Mage.Sets/src/mage/cards/h/HeatOfBattle.java new file mode 100644 index 0000000000..2fa8c57b67 --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HeatOfBattle.java @@ -0,0 +1,70 @@ +package mage.cards.h; + +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.target.targetpointer.FixedTarget; + +import java.util.UUID; + +public class HeatOfBattle extends CardImpl { + + public HeatOfBattle(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}"); + + + // Whenever a creature blocks, Heat of Battle deals 1 damage to that creature's controller. + this.addAbility(new HeatOfBattleTriggeredAbility()); + } + + public HeatOfBattle(final HeatOfBattle card) { + super(card); + } + + public HeatOfBattle copy() { + return new HeatOfBattle(this); + } +} + +class HeatOfBattleTriggeredAbility extends TriggeredAbilityImpl { + + public HeatOfBattleTriggeredAbility() { + super(Zone.BATTLEFIELD, new DamageTargetEffect(1)); + } + + public HeatOfBattleTriggeredAbility(HeatOfBattleTriggeredAbility ability) { + super(ability); + } + + @Override + public HeatOfBattleTriggeredAbility copy() { + return new HeatOfBattleTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.BLOCKER_DECLARED; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + Permanent blocker = game.getPermanent(event.getSourceId()); + if (blocker != null) { + getEffects().get(0).setTargetPointer(new FixedTarget(blocker.getControllerId())); + return true; + } + return false; + } + + @Override + public String getRule() { + return "Whenever a creature blocks, {this} deals 1 damage to that creature's controller."; + } +} + diff --git a/Mage.Sets/src/mage/cards/h/HelmOfKaldra.java b/Mage.Sets/src/mage/cards/h/HelmOfKaldra.java index 40af1b6fcb..16f560c354 100644 --- a/Mage.Sets/src/mage/cards/h/HelmOfKaldra.java +++ b/Mage.Sets/src/mage/cards/h/HelmOfKaldra.java @@ -57,9 +57,9 @@ import mage.game.permanent.token.KaldraToken; */ public class HelmOfKaldra extends CardImpl { - public static final FilterControlledArtifactPermanent filterHelm = new FilterControlledArtifactPermanent(); - public static final FilterControlledArtifactPermanent filterShield = new FilterControlledArtifactPermanent(); - public static final FilterControlledArtifactPermanent filterSword = new FilterControlledArtifactPermanent(); + static final FilterControlledArtifactPermanent filterHelm = new FilterControlledArtifactPermanent(); + static final FilterControlledArtifactPermanent filterShield = new FilterControlledArtifactPermanent(); + static final FilterControlledArtifactPermanent filterSword = new FilterControlledArtifactPermanent(); static { filterHelm.add(new NamePredicate("Helm of Kaldra")); diff --git a/Mage.Sets/src/mage/cards/k/KithkinHarbinger.java b/Mage.Sets/src/mage/cards/k/KithkinHarbinger.java index 6b3538ec4c..ca4dcf1b01 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinHarbinger.java +++ b/Mage.Sets/src/mage/cards/k/KithkinHarbinger.java @@ -45,7 +45,7 @@ import mage.target.common.TargetCardInLibrary; */ public class KithkinHarbinger extends CardImpl { - public static final FilterCard filter = new FilterCard("Kithkin card"); + static final FilterCard filter = new FilterCard("Kithkin card"); static { filter.add(new SubtypePredicate(SubType.KITHKIN)); diff --git a/Mage.Sets/src/mage/cards/m/MagneticMountain.java b/Mage.Sets/src/mage/cards/m/MagneticMountain.java index f3d523b3ea..8cea715903 100644 --- a/Mage.Sets/src/mage/cards/m/MagneticMountain.java +++ b/Mage.Sets/src/mage/cards/m/MagneticMountain.java @@ -60,7 +60,7 @@ import java.util.UUID; */ public class MagneticMountain extends CardImpl { - public static final FilterCreaturePermanent filter = new FilterCreaturePermanent("blue creatures"); + static final FilterCreaturePermanent filter = new FilterCreaturePermanent("blue creatures"); static { filter.add(new ColorPredicate(ObjectColor.BLUE)); diff --git a/Mage.Sets/src/mage/cards/m/ManaVortex.java b/Mage.Sets/src/mage/cards/m/ManaVortex.java index 9ca657b5ad..9ad92bfc4c 100644 --- a/Mage.Sets/src/mage/cards/m/ManaVortex.java +++ b/Mage.Sets/src/mage/cards/m/ManaVortex.java @@ -58,7 +58,7 @@ import mage.target.common.TargetControlledPermanent; */ public class ManaVortex extends CardImpl { - public static final FilterLandPermanent filter = new FilterLandPermanent(); + static final FilterLandPermanent filter = new FilterLandPermanent(); public ManaVortex(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}"); diff --git a/Mage.Sets/src/mage/cards/m/MasterApothecary.java b/Mage.Sets/src/mage/cards/m/MasterApothecary.java index a5a60802b2..7d775a8dbc 100644 --- a/Mage.Sets/src/mage/cards/m/MasterApothecary.java +++ b/Mage.Sets/src/mage/cards/m/MasterApothecary.java @@ -52,7 +52,7 @@ import mage.target.common.TargetCreatureOrPlayer; */ public class MasterApothecary extends CardImpl { - public static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped Cleric you control"); + static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("an untapped Cleric you control"); static { filter.add(new SubtypePredicate(SubType.CLERIC)); diff --git a/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java b/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java index eec59421a9..c29addde80 100644 --- a/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java +++ b/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java @@ -138,7 +138,7 @@ class MerchantsDockhandEffect extends OneShotEffect { class TapXTargetCost extends VariableCostImpl { - public final static FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent("untapped artifacts you control"); + final static FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent("untapped artifacts you control"); static { filter.add(Predicates.not(new TappedPredicate())); diff --git a/Mage.Sets/src/mage/cards/m/MerrowHarbinger.java b/Mage.Sets/src/mage/cards/m/MerrowHarbinger.java index 068cef269a..9c985b4446 100644 --- a/Mage.Sets/src/mage/cards/m/MerrowHarbinger.java +++ b/Mage.Sets/src/mage/cards/m/MerrowHarbinger.java @@ -47,7 +47,7 @@ import mage.target.common.TargetCardInLibrary; */ public class MerrowHarbinger extends CardImpl { - public static final FilterCard filter = new FilterCard("Merfolk card"); + static final FilterCard filter = new FilterCard("Merfolk card"); static { filter.add(new SubtypePredicate(SubType.MERFOLK )); diff --git a/Mage.Sets/src/mage/cards/m/MysticBarrier.java b/Mage.Sets/src/mage/cards/m/MysticBarrier.java index d7f4daf8a3..31662fd54a 100644 --- a/Mage.Sets/src/mage/cards/m/MysticBarrier.java +++ b/Mage.Sets/src/mage/cards/m/MysticBarrier.java @@ -57,8 +57,8 @@ import mage.players.PlayerList; */ public class MysticBarrier extends CardImpl { - public static final String ALLOW_ATTACKING_LEFT = "Allow attacking left"; - public static final String ALLOW_ATTACKING_RIGHT = "Allow attacking right"; + static final String ALLOW_ATTACKING_LEFT = "Allow attacking left"; + static final String ALLOW_ATTACKING_RIGHT = "Allow attacking right"; public MysticBarrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{W}"); @@ -117,8 +117,8 @@ class MysticBarrierTriggeredAbility extends TriggeredAbilityImpl { class MysticBarrierChooseEffect extends OneShotEffect { - public static final String[] SET_VALUES = new String[] { MysticBarrier.ALLOW_ATTACKING_LEFT, MysticBarrier.ALLOW_ATTACKING_RIGHT }; - public static final Set CHOICES = new HashSet<>(Arrays.asList(SET_VALUES)); + static final String[] SET_VALUES = new String[] { MysticBarrier.ALLOW_ATTACKING_LEFT, MysticBarrier.ALLOW_ATTACKING_RIGHT }; + static final Set CHOICES = new HashSet<>(Arrays.asList(SET_VALUES)); final static Choice DIRECTION_CHOICE = new ChoiceImpl(true); static { DIRECTION_CHOICE.setChoices(CHOICES); diff --git a/Mage.Sets/src/mage/cards/n/NayaSoulbeast.java b/Mage.Sets/src/mage/cards/n/NayaSoulbeast.java index 79a58f02ab..3e082ee32c 100644 --- a/Mage.Sets/src/mage/cards/n/NayaSoulbeast.java +++ b/Mage.Sets/src/mage/cards/n/NayaSoulbeast.java @@ -127,8 +127,6 @@ class NayaSoulbeastCastEffect extends OneShotEffect { class NayaSoulbeastReplacementEffect extends ReplacementEffectImpl { - public static final String SOURCE_CAST_SPELL_ABILITY = "sourceCastSpellAbility"; - public NayaSoulbeastReplacementEffect() { super(Duration.OneUse, Outcome.BoostCreature); staticText = "{this} enters the battlefield with X +1/+1 counters on it, where X is the total converted mana cost of all cards revealed this way"; diff --git a/Mage.Sets/src/mage/cards/p/Piety.java b/Mage.Sets/src/mage/cards/p/Piety.java index dda7f3c82d..3b3ffb4bcf 100644 --- a/Mage.Sets/src/mage/cards/p/Piety.java +++ b/Mage.Sets/src/mage/cards/p/Piety.java @@ -43,7 +43,7 @@ import mage.filter.common.FilterBlockingCreature; */ public class Piety extends CardImpl { - public static final FilterBlockingCreature filter = new FilterBlockingCreature(); + static final FilterBlockingCreature filter = new FilterBlockingCreature(); public Piety(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{W}"); diff --git a/Mage.Sets/src/mage/cards/p/PorphyryNodes.java b/Mage.Sets/src/mage/cards/p/PorphyryNodes.java index 48cc3ff707..ba8e9c98cd 100644 --- a/Mage.Sets/src/mage/cards/p/PorphyryNodes.java +++ b/Mage.Sets/src/mage/cards/p/PorphyryNodes.java @@ -56,7 +56,7 @@ import java.util.UUID; */ public class PorphyryNodes extends CardImpl { - public static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); + static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); public PorphyryNodes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); diff --git a/Mage.Sets/src/mage/cards/r/RavenousWampa.java b/Mage.Sets/src/mage/cards/r/RavenousWampa.java index ef32762c9d..e846012d99 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousWampa.java +++ b/Mage.Sets/src/mage/cards/r/RavenousWampa.java @@ -61,7 +61,7 @@ public class RavenousWampa extends CardImpl { filter.add(new AnotherPredicate()); } - public static final String RAVENOUS_WAMPA_STATE_VALUE_KEY_PREFIX = "TOU_SAC_CRE"; + static final String RAVENOUS_WAMPA_STATE_VALUE_KEY_PREFIX = "TOU_SAC_CRE"; public RavenousWampa(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R/W}{R/W}"); diff --git a/Mage.Sets/src/mage/cards/r/Relearn.java b/Mage.Sets/src/mage/cards/r/Relearn.java index d04102c3a4..6049d4bc95 100644 --- a/Mage.Sets/src/mage/cards/r/Relearn.java +++ b/Mage.Sets/src/mage/cards/r/Relearn.java @@ -43,7 +43,7 @@ import mage.target.common.TargetCardInYourGraveyard; */ public class Relearn extends CardImpl { - public static final FilterCard filter = new FilterCard("instant or sorcery card from your graveyard"); + static final FilterCard filter = new FilterCard("instant or sorcery card from your graveyard"); static { filter.add(Predicates.or( diff --git a/Mage.Sets/src/mage/cards/s/SagesKnowledge.java b/Mage.Sets/src/mage/cards/s/SagesKnowledge.java index fdb4656392..fb1cb73121 100644 --- a/Mage.Sets/src/mage/cards/s/SagesKnowledge.java +++ b/Mage.Sets/src/mage/cards/s/SagesKnowledge.java @@ -42,7 +42,7 @@ import mage.target.common.TargetCardInYourGraveyard; */ public class SagesKnowledge extends CardImpl { - public static final FilterCard filter = new FilterCard("sorcery card from your graveyard"); + static final FilterCard filter = new FilterCard("sorcery card from your graveyard"); static { filter.add(new CardTypePredicate(CardType.SORCERY)); diff --git a/Mage.Sets/src/mage/cards/s/SerpentAssassin.java b/Mage.Sets/src/mage/cards/s/SerpentAssassin.java index df861faced..cf63d64b5c 100644 --- a/Mage.Sets/src/mage/cards/s/SerpentAssassin.java +++ b/Mage.Sets/src/mage/cards/s/SerpentAssassin.java @@ -47,7 +47,7 @@ import mage.target.common.TargetCreaturePermanent; */ public class SerpentAssassin extends CardImpl { - public static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonblack creature"); + static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonblack creature"); static { filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); diff --git a/Mage.Sets/src/mage/cards/s/SoulBurn.java b/Mage.Sets/src/mage/cards/s/SoulBurn.java index 8d85b1b346..3e9d156db3 100644 --- a/Mage.Sets/src/mage/cards/s/SoulBurn.java +++ b/Mage.Sets/src/mage/cards/s/SoulBurn.java @@ -48,7 +48,7 @@ import mage.target.common.TargetCreatureOrPlayer; */ public class SoulBurn extends CardImpl { - public static final FilterMana filterBlackOrRed = new FilterMana(); + static final FilterMana filterBlackOrRed = new FilterMana(); static { filterBlackOrRed.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/s/SoulShred.java b/Mage.Sets/src/mage/cards/s/SoulShred.java index 7f0abfd218..ed833fca26 100644 --- a/Mage.Sets/src/mage/cards/s/SoulShred.java +++ b/Mage.Sets/src/mage/cards/s/SoulShred.java @@ -45,7 +45,7 @@ import mage.target.common.TargetCreaturePermanent; */ public class SoulShred extends CardImpl { - public static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonblack creature"); + static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonblack creature"); static { filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); diff --git a/Mage.Sets/src/mage/cards/s/SpellstutterSprite.java b/Mage.Sets/src/mage/cards/s/SpellstutterSprite.java index f7d5e2d187..6c684c7b5f 100644 --- a/Mage.Sets/src/mage/cards/s/SpellstutterSprite.java +++ b/Mage.Sets/src/mage/cards/s/SpellstutterSprite.java @@ -54,7 +54,7 @@ import java.util.UUID; */ public class SpellstutterSprite extends CardImpl { - public static final FilterPermanent filter = new FilterPermanent("number of Faeries you control"); + static final FilterPermanent filter = new FilterPermanent("number of Faeries you control"); static { filter.add(new ControllerPredicate(TargetController.YOU)); filter.add(new SubtypePredicate(SubType.FAERIE)); diff --git a/Mage.Sets/src/mage/cards/s/StreamOfAcid.java b/Mage.Sets/src/mage/cards/s/StreamOfAcid.java index 7ce9571016..68729acccb 100644 --- a/Mage.Sets/src/mage/cards/s/StreamOfAcid.java +++ b/Mage.Sets/src/mage/cards/s/StreamOfAcid.java @@ -45,7 +45,7 @@ import mage.target.TargetPermanent; */ public class StreamOfAcid extends CardImpl { - public static final FilterPermanent filter = new FilterPermanent("land or nonblack creature"); + static final FilterPermanent filter = new FilterPermanent("land or nonblack creature"); static { filter.add(Predicates.or( diff --git a/Mage.Sets/src/mage/cards/s/SuqAtaFirewalker.java b/Mage.Sets/src/mage/cards/s/SuqAtaFirewalker.java new file mode 100644 index 0000000000..9cef7b5336 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SuqAtaFirewalker.java @@ -0,0 +1,53 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.CantBeTargetedSourceEffect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.FilterObject; +import mage.filter.FilterStackObject; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.common.TargetCreatureOrPlayer; + +import java.util.UUID; + +public class SuqAtaFirewalker extends CardImpl { + + private static final FilterObject filterRed = new FilterStackObject("red spells or abilities from red sources"); + static { + filterRed.add(new ColorPredicate(ObjectColor.RED)); + } + public SuqAtaFirewalker(UUID cardId, CardSetInfo cardSetInfo){ + super(cardId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); + subtype.add("Human"); + subtype.add("Wizard"); + power = new MageInt(0); + toughness = new MageInt(1); + color.setBlue(true); + + + // Suq'Ata Firewalker can't be the target of black spells or abilities from black sources. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeTargetedSourceEffect(filterRed, Duration.WhileOnBattlefield))); + + //{T}: Suq'Ata Firewalker deals 1 damage to target creature or player. + SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability); + } + + public SuqAtaFirewalker(SuqAtaFirewalker other){ + super(other); + } + + public SuqAtaFirewalker copy(){ + return new SuqAtaFirewalker(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/ThirstingAxe.java b/Mage.Sets/src/mage/cards/t/ThirstingAxe.java index ce1f58447c..1719b4499b 100644 --- a/Mage.Sets/src/mage/cards/t/ThirstingAxe.java +++ b/Mage.Sets/src/mage/cards/t/ThirstingAxe.java @@ -112,7 +112,7 @@ class CombatDamageToCreatureWatcher extends Watcher { // which objects dealt combat damage to creature during the turn public final Set dealtCombatDamageToCreature; - public final static String BASIC_KEY = "CombatDamageToCreatureWatcher"; + final static String BASIC_KEY = "CombatDamageToCreatureWatcher"; public CombatDamageToCreatureWatcher() { super(BASIC_KEY, WatcherScope.GAME); diff --git a/Mage.Sets/src/mage/cards/u/UnstableShapeshifter.java b/Mage.Sets/src/mage/cards/u/UnstableShapeshifter.java index 34ffcab024..b5b04e1791 100644 --- a/Mage.Sets/src/mage/cards/u/UnstableShapeshifter.java +++ b/Mage.Sets/src/mage/cards/u/UnstableShapeshifter.java @@ -52,7 +52,7 @@ import mage.util.functions.EmptyApplyToPermanent; */ public class UnstableShapeshifter extends CardImpl { - public final static FilterCreaturePermanent filterAnotherCreature = new FilterCreaturePermanent("another creature"); + final static FilterCreaturePermanent filterAnotherCreature = new FilterCreaturePermanent("another creature"); static { filterAnotherCreature.add(new AnotherPredicate()); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenShackles.java b/Mage.Sets/src/mage/cards/v/VedalkenShackles.java index db3b6e338e..fe55bed447 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenShackles.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenShackles.java @@ -91,7 +91,7 @@ public class VedalkenShackles extends CardImpl { class PowerIslandPredicate implements ObjectPlayerPredicate> { - public static final FilterLandPermanent filter = new FilterLandPermanent("Island"); + static final FilterLandPermanent filter = new FilterLandPermanent("Island"); static { filter.add(new SubtypePredicate(SubType.ISLAND)); } diff --git a/Mage.Sets/src/mage/cards/v/VolrathsCurse.java b/Mage.Sets/src/mage/cards/v/VolrathsCurse.java index 1a655301e7..53f98ecd58 100644 --- a/Mage.Sets/src/mage/cards/v/VolrathsCurse.java +++ b/Mage.Sets/src/mage/cards/v/VolrathsCurse.java @@ -63,7 +63,7 @@ import static mage.cards.v.VolrathsCurse.keyString; */ public class VolrathsCurse extends CardImpl { - public static final String keyString = "_ignoreEffectForTurn"; + static final String keyString = "_ignoreEffectForTurn"; public VolrathsCurse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); diff --git a/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java b/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java index 9315d1ef7e..5e256931bf 100644 --- a/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java +++ b/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java @@ -89,7 +89,7 @@ public class WerewolfRansacker extends CardImpl { class WerewolfRansackerAbility extends TriggeredAbilityImpl { - public static final String RULE_TEXT = "Whenever this creature transforms into Werewolf Ransacker, you may destroy target artifact. If that artifact is put into a graveyard this way, Werewolf Ransacker deals 3 damage to that artifact's controller"; + static final String RULE_TEXT = "Whenever this creature transforms into Werewolf Ransacker, you may destroy target artifact. If that artifact is put into a graveyard this way, Werewolf Ransacker deals 3 damage to that artifact's controller"; public WerewolfRansackerAbility() { super(Zone.BATTLEFIELD, new WerewolfRansackerEffect(), true); diff --git a/Mage.Sets/src/mage/cards/w/WrathOfMaritLage.java b/Mage.Sets/src/mage/cards/w/WrathOfMaritLage.java index b2559c68a5..f1d25ff942 100644 --- a/Mage.Sets/src/mage/cards/w/WrathOfMaritLage.java +++ b/Mage.Sets/src/mage/cards/w/WrathOfMaritLage.java @@ -48,7 +48,7 @@ import mage.filter.predicate.mageobject.ColorPredicate; */ public class WrathOfMaritLage extends CardImpl { - public static final FilterCreaturePermanent filter = new FilterCreaturePermanent("red creatures"); + static final FilterCreaturePermanent filter = new FilterCreaturePermanent("red creatures"); static { filter.add(new ColorPredicate(ObjectColor.RED)); diff --git a/Mage.Sets/src/mage/sets/Stronghold.java b/Mage.Sets/src/mage/sets/Stronghold.java index 0cd07cc3c7..98ca6e6269 100644 --- a/Mage.Sets/src/mage/sets/Stronghold.java +++ b/Mage.Sets/src/mage/sets/Stronghold.java @@ -32,7 +32,6 @@ import mage.constants.Rarity; import mage.constants.SetType; /** - * * @author North */ public class Stronghold extends ExpansionSet { @@ -99,6 +98,7 @@ public class Stronghold extends ExpansionSet { cards.add(new SetCardInfo("Grave Pact", 10, Rarity.RARE, mage.cards.g.GravePact.class)); cards.add(new SetCardInfo("Hammerhead Shark", 32, Rarity.COMMON, mage.cards.h.HammerheadShark.class)); cards.add(new SetCardInfo("Heartstone", 128, Rarity.UNCOMMON, mage.cards.h.Heartstone.class)); + cards.add(new SetCardInfo("Heat of Battle", 88, Rarity.UNCOMMON, mage.cards.h.HeatOfBattle.class)); cards.add(new SetCardInfo("Hermit Druid", 58, Rarity.RARE, mage.cards.h.HermitDruid.class)); cards.add(new SetCardInfo("Hesitation", 33, Rarity.UNCOMMON, mage.cards.h.Hesitation.class)); cards.add(new SetCardInfo("Hibernation Sliver", 140, Rarity.UNCOMMON, mage.cards.h.HibernationSliver.class)); diff --git a/Mage.Sets/src/mage/sets/Visions.java b/Mage.Sets/src/mage/sets/Visions.java index acbd7a675f..5a38f6b1c5 100644 --- a/Mage.Sets/src/mage/sets/Visions.java +++ b/Mage.Sets/src/mage/sets/Visions.java @@ -152,6 +152,7 @@ public class Visions extends ExpansionSet { cards.add(new SetCardInfo("Sun Clasp", 121, Rarity.COMMON, mage.cards.s.SunClasp.class)); cards.add(new SetCardInfo("Suq'Ata Assassin", 19, Rarity.UNCOMMON, mage.cards.s.SuqAtaAssassin.class)); cards.add(new SetCardInfo("Suq'Ata Lancer", 96, Rarity.COMMON, mage.cards.s.SuqAtaLancer.class)); + cards.add(new SetCardInfo("Suq'Ata Firewalker", 94, Rarity.UNCOMMON, mage.cards.s.SuqAtaFirewalker.class)); cards.add(new SetCardInfo("Talruum Champion", 97, Rarity.COMMON, mage.cards.t.TalruumChampion.class)); cards.add(new SetCardInfo("Talruum Piper", 98, Rarity.UNCOMMON, mage.cards.t.TalruumPiper.class)); cards.add(new SetCardInfo("Tar Pit Warrior", 20, Rarity.COMMON, mage.cards.t.TarPitWarrior.class));