diff --git a/Mage.Sets/src/mage/cards/a/AkoumHellkite.java b/Mage.Sets/src/mage/cards/a/AkoumHellkite.java
index 24a13cc1423..9a512bb57c8 100644
--- a/Mage.Sets/src/mage/cards/a/AkoumHellkite.java
+++ b/Mage.Sets/src/mage/cards/a/AkoumHellkite.java
@@ -23,7 +23,6 @@ import mage.target.targetpointer.FixedTarget;
import java.util.UUID;
/**
- *
* @author fireshoes
*/
public final class AkoumHellkite extends CardImpl {
@@ -56,9 +55,6 @@ public final class AkoumHellkite extends CardImpl {
class AkoumHellkiteTriggeredAbility extends TriggeredAbilityImpl {
- private static final String text = "Landfall — Whenever a land enters the battlefield under your control, {this} deals 1 damage to any target. "
- + "If that land is a Mountain, Akoum Hellkite deals 2 damage to that permanent or player instead.";
-
public AkoumHellkiteTriggeredAbility() {
super(Zone.BATTLEFIELD, new AkoumHellkiteDamageEffect());
}
@@ -98,7 +94,8 @@ class AkoumHellkiteTriggeredAbility extends TriggeredAbilityImpl {
@Override
public String getRule() {
- return text;
+ return "Landfall — Whenever a land enters the battlefield under your control, " +
+ "{this} deals 1 damage to any target. If that land is a Mountain, {this} deals 2 damage instead.";
}
}
diff --git a/Mage.Sets/src/mage/cards/b/BrimstoneVolley.java b/Mage.Sets/src/mage/cards/b/BrimstoneVolley.java
index d0fca035254..d58a4b1021a 100644
--- a/Mage.Sets/src/mage/cards/b/BrimstoneVolley.java
+++ b/Mage.Sets/src/mage/cards/b/BrimstoneVolley.java
@@ -1,20 +1,17 @@
package mage.cards.b;
-import java.util.UUID;
-import mage.abilities.Ability;
-import mage.abilities.effects.OneShotEffect;
+import mage.abilities.condition.common.HellbentCondition;
+import mage.abilities.decorator.ConditionalOneShotEffect;
+import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
-import mage.constants.Outcome;
-import mage.game.Game;
-import mage.game.permanent.Permanent;
-import mage.players.Player;
import mage.target.common.TargetAnyTarget;
-import mage.watchers.Watcher;
import mage.watchers.common.MorbidWatcher;
+import java.util.UUID;
+
/**
* @author nantuko
*/
@@ -25,8 +22,13 @@ public final class BrimstoneVolley extends CardImpl {
// Brimstone Volley deals 3 damage to any target.
// Morbid — Brimstone Volley deals 5 damage to that creature or player instead if a creature died this turn.
- this.getSpellAbility().addEffect(new BrimstoneVolleyEffect());
+ this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
+ new DamageTargetEffect(3), new DamageTargetEffect(5), HellbentCondition.instance,
+ "{this} deals 3 damage to any target." +
+ "
Morbid — {this} deals 5 damage instead if a creature died this turn."
+ ));
this.getSpellAbility().addTarget(new TargetAnyTarget());
+ this.getSpellAbility().addWatcher(new MorbidWatcher());
}
public BrimstoneVolley(final BrimstoneVolley card) {
@@ -38,41 +40,3 @@ public final class BrimstoneVolley extends CardImpl {
return new BrimstoneVolley(this);
}
}
-
-class BrimstoneVolleyEffect extends OneShotEffect {
-
- public BrimstoneVolleyEffect() {
- super(Outcome.Damage);
- staticText = "{this} deals 3 damage to any target.\n Morbid — {this} deals 5 damage to that permanent or player instead if a creature died this turn";
- }
-
- public BrimstoneVolleyEffect(final BrimstoneVolleyEffect effect) {
- super(effect);
- }
-
- @Override
- public boolean apply(Game game, Ability source) {
- int damage = 3;
- MorbidWatcher watcher = game.getState().getWatcher(MorbidWatcher.class);
- if (watcher != null && watcher.conditionMet()) {
- damage = 5;
- }
- Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
- if (permanent != null) {
- permanent.damage(damage, source.getSourceId(), game, false, true);
- return true;
- }
- Player player = game.getPlayer(targetPointer.getFirst(game, source));
- if (player != null) {
- player.damage(damage, source.getSourceId(), game, false, true);
- return true;
- }
- return false;
- }
-
- @Override
- public BrimstoneVolleyEffect copy() {
- return new BrimstoneVolleyEffect(this);
- }
-
-}
diff --git a/Mage.Sets/src/mage/cards/c/CacklingFlames.java b/Mage.Sets/src/mage/cards/c/CacklingFlames.java
index 5c7ba05fa38..194036356c5 100644
--- a/Mage.Sets/src/mage/cards/c/CacklingFlames.java
+++ b/Mage.Sets/src/mage/cards/c/CacklingFlames.java
@@ -1,8 +1,5 @@
-
package mage.cards.c;
-import java.util.UUID;
-import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.HellbentCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect;
@@ -11,8 +8,9 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetAnyTarget;
+import java.util.UUID;
+
/**
- *
* @author JotaPeRL
*/
public final class CacklingFlames extends CardImpl {
@@ -21,16 +19,12 @@ public final class CacklingFlames extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}");
// Cackling Flames deals 3 damage to any target.
- this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
- new DamageTargetEffect(3),
- new InvertCondition(HellbentCondition.instance),
- "{this} deals 3 damage to any target"));
// Hellbent - Cackling Flames deals 5 damage to that creature or player instead if you have no cards in hand.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
- new DamageTargetEffect(5),
- HellbentCondition.instance,
- "
Hellbent — {this} deals 5 damage to that permanent or player instead if you have no cards in hand."));
-
+ new DamageTargetEffect(3), new DamageTargetEffect(5), HellbentCondition.instance,
+ "{this} deals 3 damage to any target
Hellbent " +
+ "— {this} deals 5 damage instead if you have no cards in hand."
+ ));
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
diff --git a/Mage.Sets/src/mage/cards/c/CratersClaws.java b/Mage.Sets/src/mage/cards/c/CratersClaws.java
index a4b2b4dbfb2..a0b6a3d12d6 100644
--- a/Mage.Sets/src/mage/cards/c/CratersClaws.java
+++ b/Mage.Sets/src/mage/cards/c/CratersClaws.java
@@ -28,7 +28,7 @@ public final class CratersClaws extends CardImpl {
new DamageTargetEffect(ManacostVariableValue.instance),
FerociousCondition.instance,
"{this} deals X damage to any target."
- + "
Ferocious — {this} deals X plus 2 damage to that permanent or player instead if you control a creature with power 4 or greater"));
+ + "
Ferocious — {this} deals X plus 2 damage instead if you control a creature with power 4 or greater"));
this.getSpellAbility().addTarget(new TargetAnyTarget());
this.getSpellAbility().addHint(FerociousHint.instance);
}
diff --git a/Mage.Sets/src/mage/cards/f/FieryImpulse.java b/Mage.Sets/src/mage/cards/f/FieryImpulse.java
index b8e2e52d5fb..8a1738dc116 100644
--- a/Mage.Sets/src/mage/cards/f/FieryImpulse.java
+++ b/Mage.Sets/src/mage/cards/f/FieryImpulse.java
@@ -1,7 +1,6 @@
package mage.cards.f;
-import java.util.UUID;
import mage.abilities.condition.common.SpellMasteryCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect;
@@ -10,20 +9,21 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
- *
* @author fireshoes
*/
public final class FieryImpulse extends CardImpl {
public FieryImpulse(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}");
+ super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}");
// Fiery Impulse deals 2 damage to target creature.
// Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, Fiery Impulse deals 3 damage to that creature instead.
- this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageTargetEffect(3),
- new DamageTargetEffect(2), SpellMasteryCondition.instance,
- "{this} deals 2 damage to target creature. Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, {this} deals 3 damage to that creature instead"));
+ this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
+ new DamageTargetEffect(3), new DamageTargetEffect(2), SpellMasteryCondition.instance,
+ "{this} deals 2 damage to target creature.
Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, {this} deals 3 damage instead"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
diff --git a/Mage.Sets/src/mage/cards/f/FirecannonBlast.java b/Mage.Sets/src/mage/cards/f/FirecannonBlast.java
index abebb600f09..5f387877bee 100644
--- a/Mage.Sets/src/mage/cards/f/FirecannonBlast.java
+++ b/Mage.Sets/src/mage/cards/f/FirecannonBlast.java
@@ -1,7 +1,6 @@
package mage.cards.f;
-import java.util.UUID;
import mage.abilities.condition.InvertCondition;
import mage.abilities.condition.common.RaidCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
@@ -12,8 +11,9 @@ import mage.constants.CardType;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.common.PlayerAttackedWatcher;
+import java.util.UUID;
+
/**
- *
* @author LevelX2
*/
public final class FirecannonBlast extends CardImpl {
@@ -22,16 +22,13 @@ public final class FirecannonBlast extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{R}{R}");
// Firecannon Blast deals 3 damage to target creature.
- this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
- new DamageTargetEffect(3),
- new InvertCondition(RaidCondition.instance),
- "{this} deals 3 damage to target creature"));
- this.getSpellAbility().addTarget(new TargetCreaturePermanent());
// Raid - Firecannon Blast deals 6 damage to that creature instead if you attacked with a creature this turn.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
- new DamageTargetEffect(6, false),
- RaidCondition.instance,
- "
Raid — {this} deals 6 damage to that creature instead if you attacked with a creature this turn"));
+ new DamageTargetEffect(3),
+ new DamageTargetEffect(6),
+ new InvertCondition(RaidCondition.instance),
+ "{this} deals 3 damage to target creature.
Raid — {this} deals 6 damage instead if you attacked with a creature this turn"));
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent());
this.getSpellAbility().addWatcher(new PlayerAttackedWatcher());
}
diff --git a/Mage.Sets/src/mage/cards/g/GalvanicBlast.java b/Mage.Sets/src/mage/cards/g/GalvanicBlast.java
index 6c696f13df9..5c49d145473 100644
--- a/Mage.Sets/src/mage/cards/g/GalvanicBlast.java
+++ b/Mage.Sets/src/mage/cards/g/GalvanicBlast.java
@@ -1,7 +1,5 @@
-
package mage.cards.g;
-import java.util.UUID;
import mage.abilities.condition.common.MetalcraftCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DamageTargetEffect;
@@ -10,13 +8,15 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetAnyTarget;
+import java.util.UUID;
+
/**
- *
* @author North
*/
public final class GalvanicBlast extends CardImpl {
- private static final String effectText = "{this} deals 2 damage to anytarget.
Metalcraft — {this} deals 4 damage to that permanent or player instead if you control three or more artifacts";
+ private static final String effectText = "{this} deals 2 damage to any target." +
+ "
Metalcraft — {this} deals 4 damage instead if you control three or more artifacts";
public GalvanicBlast(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{R}");
@@ -24,7 +24,10 @@ public final class GalvanicBlast extends CardImpl {
// Galvanic Blast deals 2 damage to any target.
// Metalcraft — Galvanic Blast deals 4 damage to that creature or player instead if you control three or more artifacts.
- this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageTargetEffect(4), new DamageTargetEffect(2), MetalcraftCondition.instance, effectText));
+ this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
+ new DamageTargetEffect(4), new DamageTargetEffect(2),
+ MetalcraftCondition.instance, effectText
+ ));
this.getSpellAbility().addTarget(new TargetAnyTarget());
}
diff --git a/Mage.Sets/src/mage/cards/t/ThermalBlast.java b/Mage.Sets/src/mage/cards/t/ThermalBlast.java
index 3f7b28b7bcc..6ecf16804a2 100644
--- a/Mage.Sets/src/mage/cards/t/ThermalBlast.java
+++ b/Mage.Sets/src/mage/cards/t/ThermalBlast.java
@@ -1,34 +1,33 @@
package mage.cards.t;
-import java.util.UUID;
import mage.abilities.condition.common.CardsInControllerGraveCondition;
import mage.abilities.decorator.ConditionalOneShotEffect;
-import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
- *
* @author cbt33
*/
public final class ThermalBlast extends CardImpl {
public ThermalBlast(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{R}");
-
+ super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{4}{R}");
// Thermal Blast deals 3 damage to target creature.
// Threshold - Thermal Blast deals 5 damage to that creature instead if seven or more cards are in your graveyard.
- Effect effect = new ConditionalOneShotEffect(new DamageTargetEffect(5),
- new DamageTargetEffect(3),
- new CardsInControllerGraveCondition(7),
- "{this} deals 3 damage to target creature.
Threshold — {this} deals 5 damage to that creature instead if seven or more cards are in your graveyard.");
+ this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
+ new DamageTargetEffect(5), new DamageTargetEffect(3),
+ new CardsInControllerGraveCondition(7),
+ "{this} deals 3 damage to target creature.
Threshold — " +
+ "{this} deals 5 damage instead if seven or more cards are in your graveyard."
+ ));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
- this.getSpellAbility().addEffect(effect);
}
public ThermalBlast(final ThermalBlast card) {