mirror of
https://github.com/correl/mage.git
synced 2024-12-24 11:50:45 +00:00
another big one - added Necrotic Ooze + refactored card names
This commit is contained in:
parent
84b9cbb16b
commit
8f24862844
96 changed files with 232 additions and 103 deletions
|
@ -98,6 +98,6 @@ class GloryscaleViashinoAbility extends TriggeredAbilityImpl<GloryscaleViashinoA
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever you cast a multicolored spell, Gloryscale Viashino gets +3/+3 until end of turn.";
|
||||
return "Whenever you cast a multicolored spell, {this} gets +3/+3 until end of turn.";
|
||||
}
|
||||
}
|
|
@ -97,6 +97,6 @@ class NemesisOfReasonTriggeredAbility extends TriggeredAbilityImpl<NemesisOfReas
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Nemesis of Reason attacks, defending player puts the top ten cards of his or her library into his or her graveyard.";
|
||||
return "Whenever {this} attacks, defending player puts the top ten cards of his or her library into his or her graveyard.";
|
||||
}
|
||||
}
|
|
@ -77,7 +77,7 @@ class VengefulRebirthEffect extends OneShotEffect<VengefulRebirthEffect> {
|
|||
|
||||
public VengefulRebirthEffect() {
|
||||
super(Outcome.DrawCard);
|
||||
staticText = "Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, Vengeful Rebirth deals damage equal to that card's converted mana cost to target creature or player";
|
||||
staticText = "Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, {this} deals damage equal to that card's converted mana cost to target creature or player";
|
||||
}
|
||||
|
||||
public VengefulRebirthEffect(final VengefulRebirthEffect effect) {
|
||||
|
|
|
@ -82,7 +82,7 @@ class AkkiLavarunnerAbility extends TriggeredAbilityImpl<AkkiLavarunnerAbility>
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Akki Lavarunner deals damage to an opponent, flip it.";
|
||||
return "Whenever {this} deals damage to an opponent, flip it.";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ class AkkiUnderminerAbility extends TriggeredAbilityImpl<AkkiUnderminerAbility>
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Akki Underminer deals combat damage to a player, that player sacrifices a permanent.";
|
||||
return "Whenever {this} deals combat damage to a player, that player sacrifices a permanent.";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ public class BudokaGardener extends CardImpl<BudokaGardener> {
|
|||
class BudokaGardenerEffect extends OneShotEffect<BudokaGardenerEffect> {
|
||||
BudokaGardenerEffect() {
|
||||
super(Constants.Outcome.PutLandInPlay);
|
||||
staticText = "You may put a land card from your hand onto the battlefield. If you control ten or more lands, flip Budoka Gardener.";
|
||||
staticText = "You may put a land card from your hand onto the battlefield. If you control ten or more lands, flip {this}.";
|
||||
}
|
||||
|
||||
BudokaGardenerEffect(final BudokaGardenerEffect effect) {
|
||||
|
|
|
@ -85,7 +85,7 @@ public class HikariTwilightGuardian extends CardImpl<HikariTwilightGuardian> {
|
|||
|
||||
class HikariTwilightGuardianEffect extends OneShotEffect<HikariTwilightGuardianEffect> {
|
||||
|
||||
private static final String effectText = "Exile Hikari, Twilight Guardian. Return it to the battlefield under your control at the beginning of the next end step";
|
||||
private static final String effectText = "Exile {this}. Return it to the battlefield under your control at the beginning of the next end step";
|
||||
|
||||
HikariTwilightGuardianEffect ( ) {
|
||||
super(Constants.Outcome.Benefit);
|
||||
|
|
|
@ -77,7 +77,7 @@ public class Mindblaze extends CardImpl<Mindblaze> {
|
|||
class MindblazeEffect extends OneShotEffect<MindblazeEffect> {
|
||||
MindblazeEffect() {
|
||||
super(Constants.Outcome.Damage);
|
||||
staticText = "Name a nonland card and choose a number greater than 0. Target player reveals his or her library. If that library contains exactly the chosen number of the named card, Mindblaze deals 8 damage to that player. Then that player shuffles his or her library";
|
||||
staticText = "Name a nonland card and choose a number greater than 0. Target player reveals his or her library. If that library contains exactly the chosen number of the named card, {this} deals 8 damage to that player. Then that player shuffles his or her library";
|
||||
}
|
||||
|
||||
MindblazeEffect(final MindblazeEffect effect) {
|
||||
|
|
|
@ -108,7 +108,7 @@ class BloodhallOozeTriggeredAbility1 extends TriggeredAbilityImpl<BloodhallOozeT
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "At the beginning of your upkeep, if you control a black permanent, you may put a +1/+1 counter on Bloodhall Ooze.";
|
||||
return "At the beginning of your upkeep, if you control a black permanent, you may put a +1/+1 counter on {this}.";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -149,6 +149,6 @@ class BloodhallOozeTriggeredAbility2 extends TriggeredAbilityImpl<BloodhallOozeT
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "At the beginning of your upkeep, if you control a green permanent, you may put a +1/+1 counter on Bloodhall Ooze.";
|
||||
return "At the beginning of your upkeep, if you control a green permanent, you may put a +1/+1 counter on {this}.";
|
||||
}
|
||||
}
|
|
@ -113,6 +113,6 @@ class GoblinRazerunnersTriggeredAbility extends TriggeredAbilityImpl<GoblinRazer
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "At the beginning of your end step, you may have Goblin Razerunners deal damage equal to the number of +1/+1 counters on it to target player.";
|
||||
return "At the beginning of your end step, you may have {this} deal damage equal to the number of +1/+1 counters on it to target player.";
|
||||
}
|
||||
}
|
|
@ -76,7 +76,7 @@ public class DarksteelColossus extends CardImpl<DarksteelColossus> {
|
|||
class DarksteelColossusEffect extends OneShotEffect<DarksteelColossusEffect> {
|
||||
DarksteelColossusEffect() {
|
||||
super(Constants.Outcome.Benefit);
|
||||
staticText = "reveal Darksteel Colossus and shuffle it into its owner's library instead";
|
||||
staticText = "reveal {this} and shuffle it into its owner's library instead";
|
||||
}
|
||||
|
||||
DarksteelColossusEffect(final DarksteelColossusEffect effect) {
|
||||
|
|
|
@ -120,6 +120,6 @@ class SwordOfFireAndIceAbility extends TriggeredAbilityImpl<SwordOfFireAndIceAbi
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever equipped creature deals combat damage to a player, Sword of Fire and Ice deals 2 damage to target creature or player and you draw a card.";
|
||||
return "Whenever equipped creature deals combat damage to a player, {this} deals 2 damage to target creature or player and you draw a card.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,6 +99,6 @@ class AshlingTheExtinguisherTriggeredAbility extends TriggeredAbilityImpl<Ashlin
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Ashling, the Extinguisher deals combat damage to a player, choose target creature that player controls. He or she sacrifices that creature.";
|
||||
return "Whenever {this} deals combat damage to a player, choose target creature that player controls. He or she sacrifices that creature.";
|
||||
}
|
||||
}
|
|
@ -100,6 +100,6 @@ class BurningTreeShamanTriggeredAbility extends TriggeredAbilityImpl<BurningTree
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a player activates an ability that isn't a mana ability, Burning-Tree Shaman deals 1 damage to that player.";
|
||||
return "Whenever a player activates an ability that isn't a mana ability, {this} deals 1 damage to that player.";
|
||||
}
|
||||
}
|
|
@ -115,7 +115,7 @@ class GhostCouncilOfOrzhovaEffect extends OneShotEffect<GhostCouncilOfOrzhovaEff
|
|||
|
||||
class GhostCouncilOfOrzhovaRemovingEffect extends OneShotEffect<GhostCouncilOfOrzhovaRemovingEffect> {
|
||||
|
||||
private static final String effectText = "Exile Ghost Council of Orzhova. Return it to the battlefield under its owner's control at the beginning of the next end step";
|
||||
private static final String effectText = "Exile {this}. Return it to the battlefield under its owner's control at the beginning of the next end step";
|
||||
|
||||
GhostCouncilOfOrzhovaRemovingEffect () {
|
||||
super(Outcome.Benefit);
|
||||
|
|
|
@ -75,7 +75,7 @@ class EarthquakeEffect extends OneShotEffect<EarthquakeEffect> {
|
|||
|
||||
public EarthquakeEffect() {
|
||||
super(Outcome.Damage);
|
||||
staticText = "Earthquake deals X damage to each creature without flying and each player";
|
||||
staticText = "{this} deals X damage to each creature without flying and each player";
|
||||
}
|
||||
|
||||
public EarthquakeEffect(final EarthquakeEffect effect) {
|
||||
|
|
|
@ -77,7 +77,7 @@ class FireballEffect extends OneShotEffect<FireballEffect> {
|
|||
|
||||
public FireballEffect() {
|
||||
super(Outcome.Damage);
|
||||
staticText = "Fireball deals X damage divided evenly, rounded down, among any number of target creatures and/or players.\n Fireball costs {1} more to cast for each target beyond the first.";
|
||||
staticText = "{this} deals X damage divided evenly, rounded down, among any number of target creatures and/or players.\n {this} costs {1} more to cast for each target beyond the first.";
|
||||
}
|
||||
|
||||
public FireballEffect(final FireballEffect effect) {
|
||||
|
|
|
@ -151,7 +151,7 @@ class IceCageAbility extends TriggeredAbilityImpl<IceCageAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When enchanted creature becomes the target of a spell or ability, destroy Ice Cage.";
|
||||
return "When enchanted creature becomes the target of a spell or ability, destroy {this}.";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -75,7 +75,7 @@ public class PalaceGuard extends CardImpl<PalaceGuard> {
|
|||
|
||||
public PalaceGuardEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Benefit);
|
||||
staticText = "Palace Guard can block any number of creatures";
|
||||
staticText = "{this} can block any number of creatures";
|
||||
}
|
||||
|
||||
public PalaceGuardEffect(final PalaceGuardEffect effect) {
|
||||
|
|
|
@ -84,7 +84,7 @@ public class ProteanHydra extends CardImpl<ProteanHydra> {
|
|||
|
||||
public ProteanHydraEffect1() {
|
||||
super(Outcome.BoostCreature);
|
||||
staticText = "Protean Hydra enters the battlefield with X +1/+1 counters on it";
|
||||
staticText = "{this} enters the battlefield with X +1/+1 counters on it";
|
||||
}
|
||||
|
||||
public ProteanHydraEffect1(final ProteanHydraEffect1 effect) {
|
||||
|
@ -116,7 +116,7 @@ public class ProteanHydra extends CardImpl<ProteanHydra> {
|
|||
|
||||
public ProteanHydraEffect2(final ProteanHydraEffect2 effect) {
|
||||
super(effect);
|
||||
staticText = "If damage would be dealt to Protean Hydra, prevent that damage and remove that many +1/+1 counters from it";
|
||||
staticText = "If damage would be dealt to {this}, prevent that damage and remove that many +1/+1 counters from it";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -183,7 +183,7 @@ public class ProteanHydra extends CardImpl<ProteanHydra> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a +1/+1 counter is removed from Protean Hydra, put two +1/+1 counters on it at the beginning of the next end step.";
|
||||
return "Whenever a +1/+1 counter is removed from {this}, put two +1/+1 counters on it at the beginning of the next end step.";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -99,7 +99,7 @@ class WallOfFrostAbility extends TriggeredAbilityImpl<WallOfFrostAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Wall of Frost blocks a creature, that creature doesn't untap during its controller's next untap step";
|
||||
return "Whenever {this} blocks a creature, that creature doesn't untap during its controller's next untap step";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -95,7 +95,7 @@ class AjanisPridemateAbility extends TriggeredAbilityImpl<AjanisPridemateAbility
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever you gain life, you may put a +1/+1 counter on Ajani's Pridemate.";
|
||||
return "Whenever you gain life, you may put a +1/+1 counter on {this}.";
|
||||
}
|
||||
|
||||
}
|
|
@ -102,7 +102,7 @@ class BloodcrazedGoblinEffect extends ReplacementEffectImpl<BloodcrazedGoblinEff
|
|||
|
||||
public BloodcrazedGoblinEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Benefit);
|
||||
staticText = "Bloodcrazed Goblin can't attack unless an opponent has been dealt damage this turn";
|
||||
staticText = "{this} can't attack unless an opponent has been dealt damage this turn";
|
||||
}
|
||||
|
||||
public BloodcrazedGoblinEffect(final BloodcrazedGoblinEffect effect) {
|
||||
|
|
|
@ -69,7 +69,7 @@ class ChandrasOutrageEffect extends OneShotEffect<ChandrasOutrageEffect> {
|
|||
|
||||
public ChandrasOutrageEffect() {
|
||||
super(Outcome.Damage);
|
||||
staticText = "Chandra's Outrage deals 4 damage to target creature and 2 damage to that creature's controller";
|
||||
staticText = "{this} deals 4 damage to target creature and 2 damage to that creature's controller";
|
||||
}
|
||||
|
||||
public ChandrasOutrageEffect(final ChandrasOutrageEffect effect) {
|
||||
|
|
|
@ -94,7 +94,7 @@ class ChandrasSpitfireAbility extends TriggeredAbilityImpl<ChandrasSpitfireAbili
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever an opponent is dealt noncombat damage, Chandra's Spitfire gets +3/+0 until end of turn.";
|
||||
return "Whenever an opponent is dealt noncombat damage, {this} gets +3/+0 until end of turn.";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -80,7 +80,7 @@ class CorruptEffect extends OneShotEffect<CorruptEffect> {
|
|||
|
||||
public CorruptEffect() {
|
||||
super(Outcome.Damage);
|
||||
staticText = "Corrupt deals damage equal to the number of Swamps you control to target creature or player. You gain life equal to the damage dealt this way";
|
||||
staticText = "{this} deals damage equal to the number of Swamps you control to target creature or player. You gain life equal to the damage dealt this way";
|
||||
}
|
||||
|
||||
public CorruptEffect(final CorruptEffect effect) {
|
||||
|
|
|
@ -77,7 +77,7 @@ class CyclopsGladiatorEffect extends OneShotEffect<CyclopsGladiatorEffect> {
|
|||
|
||||
public CyclopsGladiatorEffect() {
|
||||
super(Outcome.Damage);
|
||||
staticText = "you may have it deal damage equal to its power to target creature defending player controls. If you do, that creature deals damage equal to its power to Cyclops Gladiator";
|
||||
staticText = "you may have it deal damage equal to its power to target creature defending player controls. If you do, that creature deals damage equal to its power to {this}";
|
||||
}
|
||||
|
||||
public CyclopsGladiatorEffect(final CyclopsGladiatorEffect effect) {
|
||||
|
|
|
@ -78,7 +78,7 @@ class ElixerOfImmortalityEffect extends OneShotEffect<ElixerOfImmortalityEffect>
|
|||
|
||||
public ElixerOfImmortalityEffect() {
|
||||
super(Outcome.GainLife);
|
||||
staticText = "Shuffle Elixir of Immortality and your graveyard into your library";
|
||||
staticText = "Shuffle {this} and your graveyard into your library";
|
||||
}
|
||||
|
||||
public ElixerOfImmortalityEffect(final ElixerOfImmortalityEffect effect) {
|
||||
|
|
|
@ -72,7 +72,7 @@ class FlingEffect extends OneShotEffect<FlingEffect> {
|
|||
|
||||
public FlingEffect() {
|
||||
super(Outcome.Damage);
|
||||
staticText = "Fling deals damage equal to the sacrificed creature's power to target creature or player";
|
||||
staticText = "{this} deals damage equal to the sacrificed creature's power to target creature or player";
|
||||
}
|
||||
|
||||
public FlingEffect(final FlingEffect effect) {
|
||||
|
|
|
@ -104,7 +104,7 @@ class FrostTitanAbility1 extends TriggeredAbilityImpl<FrostTitanAbility1> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Frost Titan becomes the target of a spell or ability an opponent controls, counter that spell or ability unless its controller pays {2}";
|
||||
return "Whenever {this} becomes the target of a spell or ability an opponent controls, counter that spell or ability unless its controller pays {2}";
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -142,7 +142,7 @@ class FrostTitanAbility2 extends TriggeredAbilityImpl<FrostTitanAbility2> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Frost Titan enters the battlefield or attacks, tap target permanent. It doesn't untap during its controller's next untap step";
|
||||
return "Whenever {this} enters the battlefield or attacks, tap target permanent. It doesn't untap during its controller's next untap step";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -80,7 +80,7 @@ class GargoyleSentinelEffect extends ContinuousEffectImpl<GargoyleSentinelEffect
|
|||
|
||||
public GargoyleSentinelEffect() {
|
||||
super(Duration.EndOfTurn, Outcome.AddAbility);
|
||||
staticText = "Until end of turn, Gargoyle Sentinel loses defender and gains flying";
|
||||
staticText = "Until end of turn, {this} loses defender and gains flying";
|
||||
}
|
||||
|
||||
public GargoyleSentinelEffect(final GargoyleSentinelEffect effect) {
|
||||
|
|
|
@ -103,7 +103,7 @@ class GraveTitanAbility extends TriggeredAbilityImpl<GraveTitanAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Grave Titan enters the battlefield or attacks, put two 2/2 black Zombie creature tokens onto the battlefield";
|
||||
return "Whenever {this} enters the battlefield or attacks, put two 2/2 black Zombie creature tokens onto the battlefield";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ class HarborSerpentEffect extends ReplacementEffectImpl<HarborSerpentEffect> {
|
|||
|
||||
public HarborSerpentEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Benefit);
|
||||
staticText = "Harbor Serpent can't attack unless there are five or more Islands on the battlefield";
|
||||
staticText = "{this} can't attack unless there are five or more Islands on the battlefield";
|
||||
}
|
||||
|
||||
public HarborSerpentEffect(final HarborSerpentEffect effect) {
|
||||
|
|
|
@ -92,7 +92,7 @@ class HoardingDragonEffect extends OneShotEffect<HoardingDragonEffect> {
|
|||
super(Outcome.Exile);
|
||||
this.exileId = exileId;
|
||||
target = new TargetCardInLibrary();
|
||||
staticText = "When Hoarding Dragon enters the battlefield, you may search your library for an artifact card, exile it, then shuffle your library";
|
||||
staticText = "When {this} enters the battlefield, you may search your library for an artifact card, exile it, then shuffle your library";
|
||||
}
|
||||
|
||||
public HoardingDragonEffect(final HoardingDragonEffect effect) {
|
||||
|
|
|
@ -107,7 +107,7 @@ class InfernoTitanAbility extends TriggeredAbilityImpl<InfernoTitanAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Inferno Titan enters the battlefield or attacks, it deals 3 damage divided as you choose among one, two, or three target creatures and/or players.";
|
||||
return "Whenever {this} enters the battlefield or attacks, it deals 3 damage divided as you choose among one, two, or three target creatures and/or players.";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ class JinxedIdolEffect extends ContinuousEffectImpl<JinxedIdolEffect> {
|
|||
|
||||
public JinxedIdolEffect() {
|
||||
super(Duration.WhileOnBattlefield, Layer.ControlChangingEffects_2, SubLayer.NA, Outcome.GainControl);
|
||||
staticText = "Target opponent gains control of Jinxed Idol";
|
||||
staticText = "Target opponent gains control of {this}";
|
||||
}
|
||||
|
||||
public JinxedIdolEffect(final JinxedIdolEffect effect) {
|
||||
|
|
|
@ -91,7 +91,7 @@ class NecroticPlagueEffect extends ContinuousEffectImpl<NecroticPlagueEffect> {
|
|||
|
||||
public NecroticPlagueEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
||||
staticText = "Enchanted creature has \"At the beginning of your upkeep, sacrifice this creature.\" When enchanted creature is put into a graveyard, its controller chooses target creature one of his or her opponents controls. Return Necrotic Plague from its owner's graveyard to the battlefield attached to that creature.";
|
||||
staticText = "Enchanted creature has \"At the beginning of your upkeep, sacrifice this creature.\" When enchanted creature is put into a graveyard, its controller chooses target creature one of his or her opponents controls. Return {this} from its owner's graveyard to the battlefield attached to that creature.";
|
||||
}
|
||||
|
||||
public NecroticPlagueEffect(final NecroticPlagueEffect effect) {
|
||||
|
@ -148,7 +148,7 @@ class NecroticPlagueEffect2 extends OneShotEffect<NecroticPlagueEffect2> {
|
|||
public NecroticPlagueEffect2(UUID cardId) {
|
||||
super(Outcome.PutCardInPlay);
|
||||
this.cardId = cardId;
|
||||
staticText = "its controller chooses target creature one of his or her opponents controls. Return Necrotic Plague from its owner's graveyard to the battlefield attached to that creature.";
|
||||
staticText = "its controller chooses target creature one of his or her opponents controls. Return {this} from its owner's graveyard to the battlefield attached to that creature.";
|
||||
}
|
||||
|
||||
public NecroticPlagueEffect2(final NecroticPlagueEffect2 effect) {
|
||||
|
|
|
@ -82,7 +82,7 @@ class ObstinateBalothEffect extends ReplacementEffectImpl<ObstinateBalothEffect>
|
|||
|
||||
public ObstinateBalothEffect() {
|
||||
super(Duration.EndOfGame, Outcome.PutCardInPlay);
|
||||
staticText = "If a spell or ability an opponent controls causes you to discard Obstinate Baloth, put it onto the battlefield instead of putting it into your graveyard";
|
||||
staticText = "If a spell or ability an opponent controls causes you to discard {this}, put it onto the battlefield instead of putting it into your graveyard";
|
||||
}
|
||||
|
||||
public ObstinateBalothEffect(final ObstinateBalothEffect effect) {
|
||||
|
|
|
@ -92,7 +92,7 @@ public class PhantomBeast extends CardImpl<PhantomBeast> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When Phantom Beast becomes the target of a spell or ability, sacrifice it";
|
||||
return "When {this} becomes the target of a spell or ability, sacrifice it";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@ public class PhylacteryLich extends CardImpl<PhylacteryLich> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When you control no permanents with phylactery counters on them, sacrifice Phylactery Lich.";
|
||||
return "When you control no permanents with phylactery counters on them, sacrifice {this}.";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@ class PrimalCocoonAbility2 extends TriggeredAbilityImpl<PrimalCocoonAbility2> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When enchanted creature attacks or blocks, sacrifice Primal Cocoon.";
|
||||
return "When enchanted creature attacks or blocks, sacrifice {this}.";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -107,7 +107,7 @@ class PrimevalTitanAbility extends TriggeredAbilityImpl<PrimevalTitanAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Primeval Titan enters the battlefield or attacks, you may search your library for up to two land cards, put them onto the battlefield tapped, then shuffle your library.";
|
||||
return "Whenever {this} enters the battlefield or attacks, you may search your library for up to two land cards, put them onto the battlefield tapped, then shuffle your library.";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ class SerraAscendantEffect extends ContinuousEffectImpl<SerraAscendantEffect> {
|
|||
|
||||
public SerraAscendantEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.BoostCreature);
|
||||
staticText = "As long as you have 30 or more life, Serra Ascendant gets +5/+5 and has flying";
|
||||
staticText = "As long as you have 30 or more life, {this} gets +5/+5 and has flying";
|
||||
}
|
||||
|
||||
public SerraAscendantEffect(final SerraAscendantEffect effect) {
|
||||
|
|
|
@ -76,7 +76,7 @@ class SorcerersStrongboxEffect extends OneShotEffect<SorcerersStrongboxEffect> {
|
|||
|
||||
public SorcerersStrongboxEffect() {
|
||||
super(Outcome.DrawCard);
|
||||
staticText = "Flip a coin. If you win the flip, sacrifice Sorcerer's Strongbox and draw three cards";
|
||||
staticText = "Flip a coin. If you win the flip, sacrifice {this} and draw three cards";
|
||||
}
|
||||
|
||||
public SorcerersStrongboxEffect(final SorcerersStrongboxEffect effect) {
|
||||
|
|
|
@ -121,7 +121,7 @@ class SunTitanAbility extends TriggeredAbilityImpl<SunTitanAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Sun Titan enters the battlefield or attacks, you may return target permanent card with converted mana cost 3 or less from your graveyard to the battlefield.";
|
||||
return "Whenever {this} enters the battlefield or attacks, you may return target permanent card with converted mana cost 3 or less from your graveyard to the battlefield.";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ class VengefulArchonEffect extends PreventionEffectImpl<VengefulArchonEffect> {
|
|||
|
||||
public VengefulArchonEffect() {
|
||||
super(Duration.EndOfTurn);
|
||||
staticText = "Prevent the next X damage that would be dealt to you this turn. If damage is prevented this way, Vengeful Archon deals that much damage to target player";
|
||||
staticText = "Prevent the next X damage that would be dealt to you this turn. If damage is prevented this way, {this} deals that much damage to target player";
|
||||
}
|
||||
|
||||
public VengefulArchonEffect(final VengefulArchonEffect effect) {
|
||||
|
|
|
@ -82,7 +82,7 @@ public class BlightsteelColossus extends CardImpl<BlightsteelColossus> {
|
|||
class BlightsteelColossusEffect extends OneShotEffect<BlightsteelColossusEffect> {
|
||||
BlightsteelColossusEffect() {
|
||||
super(Constants.Outcome.Benefit);
|
||||
staticText = "reveal Blightsteel Colossus and shuffle it into its owner's library";
|
||||
staticText = "reveal {this} and shuffle it into its owner's library";
|
||||
}
|
||||
|
||||
BlightsteelColossusEffect(final BlightsteelColossusEffect effect) {
|
||||
|
|
|
@ -72,7 +72,7 @@ public class BurntheImpure extends CardImpl<BurntheImpure> {
|
|||
public BurntheImpureEffect(int amount) {
|
||||
super(Constants.Outcome.Damage);
|
||||
this.amount = amount;
|
||||
staticText = "Burn the Impure deals 3 damage to target creature. If that creature has infect, Burn the Impure deals 3 damage to that creature's controller.";
|
||||
staticText = "{this} deals 3 damage to target creature. If that creature has infect, {this} deals 3 damage to that creature's controller.";
|
||||
}
|
||||
|
||||
public int getAmount() {
|
||||
|
|
|
@ -75,7 +75,7 @@ class CryptoplasmTransformEffect extends ContinuousEffectImpl<CryptoplasmTransfo
|
|||
|
||||
CryptoplasmTransformEffect() {
|
||||
super(Constants.Duration.WhileOnBattlefield, Constants.Layer.CopyEffects_1, Constants.SubLayer.NA, Constants.Outcome.BecomeCreature);
|
||||
staticText = "you may have Cryptoplasm become a copy of another target creature. If you do, Cryptoplasm gains this ability";
|
||||
staticText = "you may have {this} become a copy of another target creature. If you do, {this} gains this ability";
|
||||
}
|
||||
|
||||
CryptoplasmTransformEffect(final CryptoplasmTransformEffect effect) {
|
||||
|
|
|
@ -93,7 +93,7 @@ class MagneticMineTriggeredAbility extends TriggeredAbilityImpl<MagneticMineTrig
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever another artifact is put into a graveyard from the battlefield, Magnetic Mine deals 2 damage to that artifact's controller";
|
||||
return "Whenever another artifact is put into a graveyard from the battlefield, {this} deals 2 damage to that artifact's controller";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -93,6 +93,6 @@ class NestedGhoulTriggeredAbility extends TriggeredAbilityImpl<NestedGhoulTrigge
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a source deals damage to Nested Ghoul, put a 2/2 black Zombie creature token onto the battlefield.";
|
||||
return "Whenever a source deals damage to {this}, put a 2/2 black Zombie creature token onto the battlefield.";
|
||||
}
|
||||
}
|
|
@ -87,7 +87,7 @@ class SignalPestAbility extends EvasionAbility<SignalPestAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Signal Pest can't be blocked except by creatures with flying or reach";
|
||||
return "{this} can't be blocked except by creatures with flying or reach";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -75,7 +75,7 @@ class ChainedThroatseekerEffect extends ReplacementEffectImpl<ChainedThroatseeke
|
|||
|
||||
public ChainedThroatseekerEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
||||
staticText = "Chained Throatseeker can't attack unless defending player is poisoned";
|
||||
staticText = "{this} can't attack unless defending player is poisoned";
|
||||
}
|
||||
|
||||
public ChainedThroatseekerEffect(final ChainedThroatseekerEffect effect) {
|
||||
|
|
|
@ -85,7 +85,7 @@ class PhyrexianMetamorphEffect extends ContinuousEffectImpl<PhyrexianMetamorphEf
|
|||
|
||||
public PhyrexianMetamorphEffect() {
|
||||
super(Constants.Duration.WhileOnBattlefield, Constants.Layer.CopyEffects_1, Constants.SubLayer.NA, Constants.Outcome.BecomeCreature);
|
||||
staticText = "You may have Phyrexian Metamorph enter the battlefield as a copy of any artifact or creature on the battlefield, except it's an artifact in addition to its other types";
|
||||
staticText = "You may have {this} enter the battlefield as a copy of any artifact or creature on the battlefield, except it's an artifact in addition to its other types";
|
||||
}
|
||||
|
||||
public PhyrexianMetamorphEffect(final PhyrexianMetamorphEffect effect) {
|
||||
|
|
|
@ -123,14 +123,14 @@ class SwordOfWarAndPeaceAbility extends TriggeredAbilityImpl<SwordOfWarAndPeaceA
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever equipped creature deals combat damage to a player, Sword of War and Peace deals damage to that player equal to the number of cards in his or her hand and you gain 1 life for each card in your hand.";
|
||||
return "Whenever equipped creature deals combat damage to a player, {this} deals damage to that player equal to the number of cards in his or her hand and you gain 1 life for each card in your hand.";
|
||||
}
|
||||
}
|
||||
|
||||
class SwordOfWarAndPeaceDamageEffect extends OneShotEffect<SwordOfWarAndPeaceDamageEffect> {
|
||||
SwordOfWarAndPeaceDamageEffect() {
|
||||
super(Outcome.Damage);
|
||||
staticText = "Sword of War and Peace deals damage to that player equal to the number of cards in his or her hand";
|
||||
staticText = "{this} deals damage to that player equal to the number of cards in his or her hand";
|
||||
}
|
||||
|
||||
SwordOfWarAndPeaceDamageEffect(final SwordOfWarAndPeaceDamageEffect effect) {
|
||||
|
|
|
@ -44,7 +44,7 @@ import mage.target.common.TargetNonBasicLandPermanent;
|
|||
public class FissureVent extends CardImpl<FissureVent> {
|
||||
|
||||
public FissureVent(UUID ownerId) {
|
||||
super(ownerId, 0, "Fissure Vent", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{3}{R}{R}");
|
||||
super(ownerId, 144, "Fissure Vent", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{3}{R}{R}");
|
||||
this.expansionSetCode = "ROE";
|
||||
this.color.setRed(true);
|
||||
this.getSpellAbility().addTarget(new TargetArtifactPermanent());
|
||||
|
|
|
@ -112,7 +112,7 @@ class GideonJuraEffect extends RequirementEffect<GideonJuraEffect> {
|
|||
|
||||
public GideonJuraEffect() {
|
||||
super(Duration.Custom);
|
||||
staticText = "During target opponent's next turn, creatures that player controls attack Gideon Jura if able";
|
||||
staticText = "During target opponent's next turn, creatures that player controls attack {this} if able";
|
||||
}
|
||||
|
||||
public GideonJuraEffect(final GideonJuraEffect effect) {
|
||||
|
|
|
@ -94,7 +94,7 @@ public class KhalniHydra extends CardImpl<KhalniHydra> {
|
|||
}
|
||||
|
||||
class KhalniHydraCostReductionEffect extends OneShotEffect<KhalniHydraCostReductionEffect> {
|
||||
private static final String effectText = "Khalni Hydra costs {G} less to cast for each green creature you control";
|
||||
private static final String effectText = "{this} costs {G} less to cast for each green creature you control";
|
||||
|
||||
KhalniHydraCostReductionEffect ( ) {
|
||||
super(Outcome.Benefit);
|
||||
|
|
|
@ -78,7 +78,7 @@ public class KozilekButcherOfTruth extends CardImpl<KozilekButcherOfTruth> {
|
|||
|
||||
class KozilekButcherOfTruthOnCastAbility extends TriggeredAbilityImpl<KozilekButcherOfTruthOnCastAbility> {
|
||||
|
||||
private static final String abilityText = "When you cast Kozilek, Butcher of Truth, draw four cards";
|
||||
private static final String abilityText = "When you cast {this}, draw four cards";
|
||||
|
||||
KozilekButcherOfTruthOnCastAbility() {
|
||||
super(Zone.STACK, new DrawCardControllerEffect(4));
|
||||
|
|
|
@ -75,7 +75,7 @@ public class PestilenceDemon extends CardImpl<PestilenceDemon> {
|
|||
class PestilenceDemonEffect extends OneShotEffect<PestilenceDemonEffect> {
|
||||
PestilenceDemonEffect() {
|
||||
super(Constants.Outcome.Damage);
|
||||
staticText = "Pestilence Demon deals 1 damage to each creature and each player";
|
||||
staticText = "{this} deals 1 damage to each creature and each player";
|
||||
}
|
||||
|
||||
PestilenceDemonEffect(final PestilenceDemonEffect effect) {
|
||||
|
|
|
@ -90,7 +90,7 @@ public class SarkhanTheMad extends CardImpl<SarkhanTheMad> {
|
|||
|
||||
class SarkhanTheMadRevealAndDrawEffect extends OneShotEffect<SarkhanTheMadRevealAndDrawEffect> {
|
||||
|
||||
private static final String effectText = "Reveal the top card of your library and put it into your hand. Sarkhan the Mad deals damage to himself equal to that card's converted mana cost";
|
||||
private static final String effectText = "Reveal the top card of your library and put it into your hand. {this} deals damage to himself equal to that card's converted mana cost";
|
||||
|
||||
SarkhanTheMadRevealAndDrawEffect ( ) {
|
||||
super(Outcome.DrawCard);
|
||||
|
|
|
@ -83,7 +83,7 @@ public class UlamogTheInfiniteGyre extends CardImpl<UlamogTheInfiniteGyre> {
|
|||
|
||||
class UlamogTheInfiniteGyreDestroyOnCastAbility extends TriggeredAbilityImpl<UlamogTheInfiniteGyreDestroyOnCastAbility> {
|
||||
|
||||
private static final String abilityText = "When you cast Ulamog, the Infinite Gyre, destroy target permanent";
|
||||
private static final String abilityText = "When you cast {this}, destroy target permanent";
|
||||
|
||||
UlamogTheInfiniteGyreDestroyOnCastAbility ( ) {
|
||||
super(Zone.STACK, new DestroyTargetEffect());
|
||||
|
|
|
@ -102,7 +102,7 @@ class VengevineAbility extends TriggeredAbilityImpl<VengevineAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever you cast a spell, if it's the second creature spell you cast this turn, you may return Vengevine from your graveyard to the battlefield.";
|
||||
return "Whenever you cast a spell, if it's the second creature spell you cast this turn, you may return {this} from your graveyard to the battlefield.";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ public class ArgentSphinx extends CardImpl<ArgentSphinx> {
|
|||
|
||||
class ArgentSphinxEffect extends OneShotEffect<ArgentSphinxEffect> {
|
||||
|
||||
private static final String effectText = "Exile Argent Sphinx. Return it to the battlefield under your control at the beginning of the next end step";
|
||||
private static final String effectText = "Exile {this}. Return it to the battlefield under your control at the beginning of the next end step";
|
||||
|
||||
ArgentSphinxEffect ( ) {
|
||||
super(Constants.Outcome.Benefit);
|
||||
|
|
|
@ -98,7 +98,7 @@ class CopperhornScoutTriggeredAbility extends TriggeredAbilityImpl<CopperhornSco
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Copperhorn Scout attacks, untap each other creature you control.";
|
||||
return "Whenever {this} attacks, untap each other creature you control.";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ public class CullingDais extends CardImpl<CullingDais> {
|
|||
class CullingDaisEffect extends OneShotEffect<CullingDaisEffect> {
|
||||
CullingDaisEffect() {
|
||||
super(Constants.Outcome.DrawCard);
|
||||
staticText = "Draw a card for each charge counter on Culling Dais";
|
||||
staticText = "Draw a card for each charge counter on {this}";
|
||||
}
|
||||
|
||||
CullingDaisEffect(final CullingDaisEffect effect) {
|
||||
|
|
|
@ -82,7 +82,7 @@ public class Embersmith extends CardImpl<Embersmith> {
|
|||
class EmbersmithEffect extends OneShotEffect<EmbersmithEffect> {
|
||||
EmbersmithEffect() {
|
||||
super(Constants.Outcome.Damage);
|
||||
staticText = "you may pay {1}. If you do, Embersmith deals 1 damage to target creature or player";
|
||||
staticText = "you may pay {1}. If you do, {this} deals 1 damage to target creature or player";
|
||||
}
|
||||
|
||||
EmbersmithEffect(final EmbersmithEffect effect) {
|
||||
|
|
|
@ -77,7 +77,7 @@ public class GlintHawk extends CardImpl<GlintHawk> {
|
|||
class GlintHawkEffect extends OneShotEffect<GlintHawkEffect> {
|
||||
|
||||
private static final FilterControlledPermanent filter;
|
||||
private static final String effectText = "When Glint Hawk enters the battlefield, sacrifice it unless you return an artifact you control to its owner's hand";
|
||||
private static final String effectText = "When {this} enters the battlefield, sacrifice it unless you return an artifact you control to its owner's hand";
|
||||
|
||||
static {
|
||||
filter = new FilterControlledPermanent();
|
||||
|
|
|
@ -102,7 +102,7 @@ class GlintHawkIdolTriggeredAbility extends TriggeredAbilityImpl<GlintHawkIdolTr
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever another artifact enters the battlefield under your control, you may have Glint Hawk Idol become a 2/2 Bird artifact creature with flying until end of turn.";
|
||||
return "Whenever another artifact enters the battlefield under your control, you may have {this} become a 2/2 Bird artifact creature with flying until end of turn.";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ public class GoldenUrn extends CardImpl<GoldenUrn> {
|
|||
class GoldenUrnEffect extends OneShotEffect<GoldenUrnEffect> {
|
||||
public GoldenUrnEffect() {
|
||||
super(Constants.Outcome.GainLife);
|
||||
staticText = "You gain life equal to the number of charge counters on Golden Urn";
|
||||
staticText = "You gain life equal to the number of charge counters on {this}";
|
||||
}
|
||||
|
||||
public GoldenUrnEffect(final GoldenUrnEffect effect) {
|
||||
|
|
|
@ -75,7 +75,7 @@ public class Grindclock extends CardImpl<Grindclock> {
|
|||
class GrindclockEffect extends OneShotEffect<GrindclockEffect> {
|
||||
public GrindclockEffect() {
|
||||
super(Constants.Outcome.Detriment);
|
||||
staticText = "Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of charge counters on Grindclock";
|
||||
staticText = "Target player puts the top X cards of his or her library into his or her graveyard, where X is the number of charge counters on {this}";
|
||||
}
|
||||
|
||||
public GrindclockEffect(final GrindclockEffect effect) {
|
||||
|
|
|
@ -87,7 +87,7 @@ class HoardSmelterEffect extends ContinuousEffectImpl<HoardSmelterEffect> {
|
|||
|
||||
HoardSmelterEffect() {
|
||||
super(Constants.Duration.EndOfTurn, Constants.Layer.PTChangingEffects_7, Constants.SubLayer.ModifyPT_7c, Constants.Outcome.BoostCreature);
|
||||
staticText = "Hoard-Smelter Dragon gets +X/+0 until end of turn, where X is that artifact's converted mana cost";
|
||||
staticText = "{this} gets +X/+0 until end of turn, where X is that artifact's converted mana cost";
|
||||
}
|
||||
|
||||
HoardSmelterEffect(final HoardSmelterEffect effect) {
|
||||
|
|
|
@ -118,7 +118,7 @@ class LiegeOfTheTangleTriggeredAbility extends TriggeredAbilityImpl<LiegeOfTheTa
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Liege of the Tangle deals combat damage to a player, you may choose any number of target lands you control and put an awakening counter on each of them. Each of those lands is an 8/8 green Elemental creature for as long as it has an awakening counter on it. They're still lands.";
|
||||
return "Whenever {this} deals combat damage to a player, you may choose any number of target lands you control and put an awakening counter on each of them. Each of those lands is an 8/8 green Elemental creature for as long as it has an awakening counter on it. They're still lands.";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ public class MeltTerrain extends CardImpl<MeltTerrain> {
|
|||
class MeltTerrainEffect extends OneShotEffect<MeltTerrainEffect> {
|
||||
MeltTerrainEffect() {
|
||||
super(Constants.Outcome.Damage);
|
||||
staticText = "Melt Terrain deals 2 damage to that land's controller";
|
||||
staticText = "{this} deals 2 damage to that land's controller";
|
||||
}
|
||||
|
||||
MeltTerrainEffect(final MeltTerrainEffect effect) {
|
||||
|
|
|
@ -113,6 +113,6 @@ class MoltenTailMasticoreAbility extends TriggeredAbilityImpl<MoltenTailMasticor
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "At the beginning of your upkeep, sacrifice Molten-Tail Masticore unless you discard a card.";
|
||||
return "At the beginning of your upkeep, sacrifice {this} unless you discard a card.";
|
||||
}
|
||||
}
|
|
@ -118,7 +118,7 @@ class MyrBattlesphereAbility extends TriggeredAbilityImpl<MyrBattlesphereAbility
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "When Myr Battlesphere attacks, " + super.getRule();
|
||||
return "When {this} attacks, " + super.getRule();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
129
Mage.Sets/src/mage/sets/scarsofmirrodin/NecroticOoze.java
Normal file
129
Mage.Sets/src/mage/sets/scarsofmirrodin/NecroticOoze.java
Normal file
|
@ -0,0 +1,129 @@
|
|||
/*
|
||||
* Copyright 2011 BetaSteward_at_googlemail.com. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are
|
||||
* permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
|
||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those of the
|
||||
* authors and should not be interpreted as representing official policies, either expressed
|
||||
* or implied, of BetaSteward_at_googlemail.com.
|
||||
*/
|
||||
package mage.sets.scarsofmirrodin;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Layer;
|
||||
import mage.Constants.Outcome;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.SubLayer;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.ActivatedAbility;
|
||||
import mage.abilities.StaticAbility;
|
||||
import mage.abilities.effects.ContinuousEffectImpl;
|
||||
import mage.cards.Card;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class NecroticOoze extends CardImpl<NecroticOoze> {
|
||||
|
||||
public NecroticOoze(UUID ownerId) {
|
||||
super(ownerId, 72, "Necrotic Ooze", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{B}{B}");
|
||||
this.expansionSetCode = "SOM";
|
||||
this.subtype.add("Ooze");
|
||||
this.color.setBlack(true);
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(3);
|
||||
|
||||
this.addAbility(new NecroticOozeAbility());
|
||||
}
|
||||
|
||||
public NecroticOoze(final NecroticOoze card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public NecroticOoze copy() {
|
||||
return new NecroticOoze(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class NecroticOozeAbility extends StaticAbility<NecroticOozeAbility> {
|
||||
|
||||
public NecroticOozeAbility() {
|
||||
super(Zone.BATTLEFIELD, new NecroticOozeEffect());
|
||||
}
|
||||
|
||||
public NecroticOozeAbility(final NecroticOozeAbility ability) {
|
||||
super(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public NecroticOozeAbility copy() {
|
||||
return new NecroticOozeAbility(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class NecroticOozeEffect extends ContinuousEffectImpl<NecroticOozeEffect> {
|
||||
|
||||
public NecroticOozeEffect() {
|
||||
super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);
|
||||
staticText = "As long as {this} is on the battlefield, it has all activated abilities of all creature cards in all graveyards";
|
||||
}
|
||||
|
||||
public NecroticOozeEffect(final NecroticOozeEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Permanent perm = game.getPermanent(source.getSourceId());
|
||||
if (perm != null) {
|
||||
for (Player player: game.getPlayers().values()) {
|
||||
for (Card card: player.getGraveyard().getCards(game)) {
|
||||
if (card.getCardType().contains(CardType.CREATURE)) {
|
||||
for (Ability ability: card.getAbilities()) {
|
||||
if (ability instanceof ActivatedAbility) {
|
||||
perm.addAbility(ability.copy());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NecroticOozeEffect copy() {
|
||||
return new NecroticOozeEffect(this);
|
||||
}
|
||||
|
||||
}
|
|
@ -73,7 +73,7 @@ public class RatchetBomb extends CardImpl<RatchetBomb> {
|
|||
|
||||
public RatchetBombEffect() {
|
||||
super(Constants.Outcome.DestroyPermanent);
|
||||
staticText = "Destroy each nonland permanent with converted mana cost equal to the number of charge counters on Ratchet Bomb";
|
||||
staticText = "Destroy each nonland permanent with converted mana cost equal to the number of charge counters on {this}";
|
||||
}
|
||||
|
||||
public RatchetBombEffect(final RatchetBombEffect effect) {
|
||||
|
|
|
@ -78,7 +78,7 @@ public class SpikeshotElder extends CardImpl<SpikeshotElder> {
|
|||
class SpikeshotElderEffect extends OneShotEffect<SpikeshotElderEffect> {
|
||||
public SpikeshotElderEffect() {
|
||||
super(Constants.Outcome.Damage);
|
||||
staticText = "Spikeshot Elder deals damage equal to its power to target creature or player";
|
||||
staticText = "{this} deals damage equal to its power to target creature or player";
|
||||
}
|
||||
|
||||
public SpikeshotElderEffect(final SpikeshotElderEffect effect) {
|
||||
|
|
|
@ -141,6 +141,6 @@ class TunnelIgnusTriggeredAbility extends TriggeredAbilityImpl<TunnelIgnusTrigge
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a land enters the battlefield under an opponent's control, if that player had another land enter the battlefield under his or her control this turn, Tunnel Ignus deals 3 damage to that player.";
|
||||
return "Whenever a land enters the battlefield under an opponent's control, if that player had another land enter the battlefield under his or her control this turn, {this} deals 3 damage to that player.";
|
||||
}
|
||||
}
|
|
@ -70,7 +70,7 @@ class TurnToSlagEffect extends OneShotEffect<TurnToSlagEffect> {
|
|||
|
||||
public TurnToSlagEffect() {
|
||||
super(Constants.Outcome.DestroyPermanent);
|
||||
staticText = "Turn to Slag deals 5 damage to target creature. Destroy all Equipment attached to that creature";
|
||||
staticText = "{this} deals 5 damage to target creature. Destroy all Equipment attached to that creature";
|
||||
}
|
||||
|
||||
public TurnToSlagEffect(final TurnToSlagEffect effect) {
|
||||
|
|
|
@ -79,7 +79,7 @@ public class VolitionReins extends CardImpl<VolitionReins> {
|
|||
|
||||
public UntapVolitionReinsEffect() {
|
||||
super(Constants.Outcome.Untap);
|
||||
staticText = "When Volition Reins enters the battlefield, if enchanted permanent is tapped, untap it.";
|
||||
staticText = "When {this} enters the battlefield, if enchanted permanent is tapped, untap it.";
|
||||
}
|
||||
|
||||
public UntapVolitionReinsEffect(final UntapVolitionReinsEffect effect) {
|
||||
|
|
|
@ -78,7 +78,7 @@ public class FlameblastDragon extends CardImpl<FlameblastDragon> {
|
|||
class FlameblastDragonEffect extends OneShotEffect<FlameblastDragonEffect> {
|
||||
FlameblastDragonEffect() {
|
||||
super(Constants.Outcome.Benefit);
|
||||
staticText = "you may pay {X}{R}. If you do, Flameblast Dragon deals X damage to target creature or player";
|
||||
staticText = "you may pay {X}{R}. If you do, {this} deals X damage to target creature or player";
|
||||
}
|
||||
|
||||
FlameblastDragonEffect(final FlameblastDragonEffect effect) {
|
||||
|
|
|
@ -80,7 +80,7 @@ class JuggernautAbility extends EvasionAbility<JuggernautAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Juggernaut can't be blocked by Walls.";
|
||||
return "{this} can't be blocked by Walls.";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -90,6 +90,6 @@ class MergimTriggeredAbility extends TriggeredAbilityImpl<MergimTriggeredAbility
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever an opponent discards a card, Megrim deals 2 damage to that player.";
|
||||
return "Whenever an opponent discards a card, {this} deals 2 damage to that player.";
|
||||
}
|
||||
}
|
|
@ -81,7 +81,7 @@ public class RelentlessRats extends CardImpl<RelentlessRats> {
|
|||
|
||||
public RelentlessRatsEffect() {
|
||||
super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature);
|
||||
staticText = "Relentless Rats gets +1/+1 for each other creature on the battlefield named Relentless Rats";
|
||||
staticText = "{this} gets +1/+1 for each other creature on the battlefield named Relentless Rats";
|
||||
}
|
||||
|
||||
public RelentlessRatsEffect(final RelentlessRatsEffect effect) {
|
||||
|
|
|
@ -120,7 +120,7 @@ class KalastriaHighbornTriggeredAbility extends TriggeredAbilityImpl<KalastriaHi
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever Kalastria Highborn or another Vampire you control is put"
|
||||
return "Whenever {this} or another Vampire you control is put"
|
||||
+ " into a graveyard from the battlefield, you may pay {B}. If you"
|
||||
+ " do, target player loses 2 life and you gain 2 life.";
|
||||
}
|
||||
|
|
|
@ -90,7 +90,7 @@ class ArmamentMasterEffect extends ContinuousEffectImpl<ArmamentMasterEffect> {
|
|||
|
||||
public ArmamentMasterEffect() {
|
||||
super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature);
|
||||
staticText = "Other Kor creatures you control get +2/+2 for each Equipment attached to Armament Master";
|
||||
staticText = "Other Kor creatures you control get +2/+2 for each Equipment attached to {this}";
|
||||
}
|
||||
|
||||
public ArmamentMasterEffect(final ArmamentMasterEffect effect) {
|
||||
|
|
|
@ -99,7 +99,7 @@ class BeastmasterAscensionAbility extends TriggeredAbilityImpl<BeastmasterAscens
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a creature you control attacks, you may put a quest counter on Beastmaster Ascension.";
|
||||
return "Whenever a creature you control attacks, you may put a quest counter on {this}.";
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ class BeastmasterAscensionEffect extends BoostControlledEffect {
|
|||
|
||||
public BeastmasterAscensionEffect() {
|
||||
super(5, 5, Duration.WhileOnBattlefield);
|
||||
staticText = "As long as Beastmaster Ascension has seven or more quest counters on it, creatures you control get +5/+5";
|
||||
staticText = "As long as {this} has seven or more quest counters on it, creatures you control get +5/+5";
|
||||
}
|
||||
|
||||
public BeastmasterAscensionEffect(final BeastmasterAscensionEffect effect) {
|
||||
|
|
|
@ -81,7 +81,7 @@ class EldraziMonumentEffect extends OneShotEffect<EldraziMonumentEffect> {
|
|||
|
||||
public EldraziMonumentEffect() {
|
||||
super(Outcome.Sacrifice);
|
||||
staticText = "sacrifice a creature. If you can't, sacrifice Eldrazi Monument";
|
||||
staticText = "sacrifice a creature. If you can't, sacrifice {this}";
|
||||
}
|
||||
|
||||
public EldraziMonumentEffect(final EldraziMonumentEffect ability) {
|
||||
|
|
|
@ -95,7 +95,7 @@ class KhalniHeartExpeditionAbility extends ActivatedAbilityImpl<KhalniHeartExped
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Remove three quest counters from Khalni Heart Expedition and sacrifice it: Search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle your library.";
|
||||
return "Remove three quest counters from {this} and sacrifice it: Search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle your library.";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ class NissasChosenEffect extends ReplacementEffectImpl<NissasChosenEffect> {
|
|||
|
||||
public NissasChosenEffect() {
|
||||
super(Duration.WhileOnBattlefield, Outcome.Benefit);
|
||||
staticText = "If Nissa's Chosen would be put into a graveyard from the battlefield, put it on the bottom of its owner's library instead";
|
||||
staticText = "If {this} would be put into a graveyard from the battlefield, put it on the bottom of its owner's library instead";
|
||||
}
|
||||
|
||||
public NissasChosenEffect(final NissasChosenEffect effect) {
|
||||
|
|
|
@ -116,7 +116,7 @@ class PyromancerAscensionQuestTriggeredAbility extends TriggeredAbilityImpl<Pyro
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on Pyromancer Ascension.";
|
||||
return "Whenever you cast an instant or sorcery spell that has the same name as a card in your graveyard, you may put a quest counter on {this}.";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -167,6 +167,6 @@ class PyromancerAscensionCopyTriggeredAbility extends TriggeredAbilityImpl<Pyrom
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever you cast an instant or sorcery spell while Pyromancer Ascension has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy.";
|
||||
return "Whenever you cast an instant or sorcery spell while {this} has two or more quest counters on it, you may copy that spell. You may choose new targets for the copy.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -101,6 +101,6 @@ class ScuteMobAbility extends TriggeredAbilityImpl<ScuteMobAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "At the beginning of your upkeep, if you control five or more lands, put four +1/+1 counters on Scute Mob.";
|
||||
return "At the beginning of your upkeep, if you control five or more lands, put four +1/+1 counters on {this}.";
|
||||
}
|
||||
}
|
|
@ -115,6 +115,6 @@ class ValakutTheMoltenPinnacleTriggeredAbility extends TriggeredAbilityImpl<Vala
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Whenever a Mountain enters the battlefield under your control, if you control at least five other Mountains, you may have Valakut, the Molten Pinnacle deal 3 damage to target creature or player.";
|
||||
return "Whenever a Mountain enters the battlefield under your control, if you control at least five other Mountains, you may have {this} deal 3 damage to target creature or player.";
|
||||
}
|
||||
}
|
|
@ -90,7 +90,7 @@ class VinesOfVastwoodEffect extends ReplacementEffectImpl<VinesOfVastwoodEffect>
|
|||
public VinesOfVastwoodEffect(FilterStackObject filterSource, Duration duration) {
|
||||
super(duration, Outcome.Benefit);
|
||||
this.filterSource = filterSource;
|
||||
staticText = "Target creature can't be the target of spells or abilities your opponents control this turn. If Vines of Vastwood was kicked, that creature gets +4/+4 until end of turn.";
|
||||
staticText = "Target creature can't be the target of spells or abilities your opponents control this turn. If {this} was kicked, that creature gets +4/+4 until end of turn.";
|
||||
}
|
||||
|
||||
public VinesOfVastwoodEffect(final VinesOfVastwoodEffect effect) {
|
||||
|
|
Loading…
Reference in a new issue