mirror of
https://github.com/correl/mage.git
synced 2024-12-26 11:09:27 +00:00
removed unnecessary morbid watchers
This commit is contained in:
parent
167b488bf8
commit
58dac0a890
15 changed files with 27 additions and 79 deletions
|
@ -20,7 +20,6 @@ import mage.constants.SubType;
|
|||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.util.CardUtil;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -36,7 +35,7 @@ public final class BonePicker extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// Bone Picker costs {3} less to cast if a creature died this turn.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new BonePickerAdjustingCostsEffect()).addHint(MorbidHint.instance), new MorbidWatcher());
|
||||
this.addAbility(new SimpleStaticAbility(Zone.ALL, new BonePickerAdjustingCostsEffect()).addHint(MorbidHint.instance));
|
||||
|
||||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
|
|
@ -8,7 +8,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
|
@ -28,7 +27,6 @@ public final class BrimstoneVolley extends CardImpl {
|
|||
));
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
this.getSpellAbility().addHint(MorbidHint.instance);
|
||||
this.getSpellAbility().addWatcher(new MorbidWatcher());
|
||||
}
|
||||
|
||||
private BrimstoneVolley(final BrimstoneVolley card) {
|
||||
|
|
|
@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -35,7 +34,7 @@ public final class CagedZombie extends CardImpl {
|
|||
new ManaCostsImpl("{1}{B}"), MorbidCondition.instance
|
||||
);
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability.addHint(MorbidHint.instance), new MorbidWatcher());
|
||||
this.addAbility(ability.addHint(MorbidHint.instance));
|
||||
}
|
||||
|
||||
private CagedZombie(final CagedZombie card) {
|
||||
|
|
|
@ -15,7 +15,6 @@ import mage.constants.*;
|
|||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.game.permanent.token.SkeletonToken;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -53,7 +52,7 @@ public final class DeathPriestOfMyrkul extends CardImpl {
|
|||
Zone.BATTLEFIELD,
|
||||
new DoIfCostPaid(new CreateTokenEffect(new SkeletonToken()), new GenericManaCost(1)),
|
||||
TargetController.YOU, MorbidCondition.instance, false
|
||||
).addHint(MorbidHint.instance), new MorbidWatcher());
|
||||
).addHint(MorbidHint.instance));
|
||||
}
|
||||
|
||||
private DeathPriestOfMyrkul(final DeathPriestOfMyrkul card) {
|
||||
|
|
|
@ -11,7 +11,6 @@ import mage.constants.CardType;
|
|||
import mage.filter.StaticFilters;
|
||||
import mage.game.permanent.token.SaprolingToken;
|
||||
import mage.target.common.TargetCardInYourGraveyard;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -28,7 +27,6 @@ public final class FungalRebirth extends CardImpl {
|
|||
getSpellAbility().addEffect(
|
||||
new ReturnFromGraveyardToHandTargetEffect().setText("Return target permanent card from your graveyard to your hand")
|
||||
);
|
||||
getSpellAbility().addWatcher(new MorbidWatcher());
|
||||
getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new CreateTokenEffect(new SaprolingToken(), 2),
|
||||
MorbidCondition.instance,
|
||||
|
|
|
@ -9,7 +9,6 @@ import mage.abilities.hint.common.MorbidHint;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -22,7 +21,6 @@ public final class LifeGoesOn extends CardImpl {
|
|||
|
||||
|
||||
// You gain 4 life. If a creature died this turn, you gain 8 life instead.
|
||||
getSpellAbility().addWatcher(new MorbidWatcher());
|
||||
getSpellAbility().addEffect(new ConditionalOneShotEffect(new GainLifeEffect(8), new GainLifeEffect(4), MorbidCondition.instance, "You gain 4 life. If a creature died this turn, you gain 8 life instead"));
|
||||
this.getSpellAbility().addHint(MorbidHint.instance);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@ import mage.constants.SubType;
|
|||
import mage.constants.TargetController;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.permanent.token.ZombieToken;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -49,7 +48,7 @@ public final class LilianasDevotee extends CardImpl {
|
|||
), TargetController.YOU, false), MorbidCondition.instance,
|
||||
"At the beginning of your end step, if a creature died this turn, " +
|
||||
"you may pay {1}{B}. If you do, create a 2/2 black Zombie creature token."
|
||||
).addHint(MorbidHint.instance), new MorbidWatcher());
|
||||
).addHint(MorbidHint.instance));
|
||||
}
|
||||
|
||||
private LilianasDevotee(final LilianasDevotee card) {
|
||||
|
|
|
@ -20,7 +20,6 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -42,7 +41,7 @@ public final class LilianasScrounger extends CardImpl {
|
|||
new LilianasScroungerEffect(), TargetController.ANY, false
|
||||
), MorbidCondition.instance, "At the beginning of each end step, " +
|
||||
"if a creature died this turn, you may put a loyalty counter on a Liliana planeswalker you control."
|
||||
).addHint(MorbidHint.instance), new MorbidWatcher());
|
||||
).addHint(MorbidHint.instance));
|
||||
}
|
||||
|
||||
private LilianasScrounger(final LilianasScrounger card) {
|
||||
|
|
|
@ -13,7 +13,6 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -34,7 +33,7 @@ public final class PurpleWorm extends CardImpl {
|
|||
Zone.ALL, new SpellCostReductionSourceEffect(2, MorbidCondition.instance)
|
||||
);
|
||||
ability.setRuleAtTheTop(true);
|
||||
this.addAbility(ability.addHint(MorbidHint.instance), new MorbidWatcher());
|
||||
this.addAbility(ability.addHint(MorbidHint.instance));
|
||||
|
||||
// Ward {2}
|
||||
this.addAbility(new WardAbility(new ManaCostsImpl<>("{2}")));
|
||||
|
|
|
@ -1,34 +1,28 @@
|
|||
|
||||
|
||||
package mage.cards.r;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.TriggeredAbilityImpl;
|
||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.abilities.condition.common.MorbidCondition;
|
||||
import mage.abilities.effects.common.DestroyTargetEffect;
|
||||
import mage.abilities.hint.common.MorbidHint;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
import mage.watchers.Watcher;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public final class ReaperFromTheAbyss extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("non-Demon creature");
|
||||
private static final FilterPermanent filter = new FilterCreaturePermanent("non-Demon creature");
|
||||
|
||||
static {
|
||||
filter.add(Predicates.not(SubType.DEMON.getPredicate()));
|
||||
|
@ -42,9 +36,12 @@ public final class ReaperFromTheAbyss extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
Ability ability = new ReaperFromTheAbyssAbility();
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(ability);
|
||||
Ability ability = new BeginningOfEndStepTriggeredAbility(
|
||||
Zone.BATTLEFIELD, new DestroyTargetEffect(),
|
||||
TargetController.ANY, MorbidCondition.instance, false
|
||||
);
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(ability.setAbilityWord(AbilityWord.MORBID).addHint(MorbidHint.instance));
|
||||
}
|
||||
|
||||
private ReaperFromTheAbyss(final ReaperFromTheAbyss card) {
|
||||
|
@ -57,35 +54,3 @@ public final class ReaperFromTheAbyss extends CardImpl {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
class ReaperFromTheAbyssAbility extends TriggeredAbilityImpl {
|
||||
|
||||
public ReaperFromTheAbyssAbility() {
|
||||
super(Zone.BATTLEFIELD, new DestroyTargetEffect(), false);
|
||||
}
|
||||
|
||||
public ReaperFromTheAbyssAbility(final ReaperFromTheAbyssAbility ability) {
|
||||
super(ability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReaperFromTheAbyssAbility copy() {
|
||||
return new ReaperFromTheAbyssAbility(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkEventType(GameEvent event, Game game) {
|
||||
return event.getType() == GameEvent.EventType.END_TURN_STEP_PRE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
Watcher watcher = game.getState().getWatcher(MorbidWatcher.class);
|
||||
return watcher != null && watcher.conditionMet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "<i>Morbid</i> — At the beginning of each end step, if a creature died this turn, destroy target non-demon creature.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,6 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -42,7 +41,7 @@ public final class ShessraDeathsWhisper extends CardImpl {
|
|||
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
||||
Zone.BATTLEFIELD, new DoIfCostPaid(new DrawCardSourceControllerEffect(1),
|
||||
new PayLifeCost(2)), TargetController.YOU, MorbidCondition.instance, false
|
||||
).addHint(MorbidHint.instance).withFlavorWord("Whispers of the Grave"), new MorbidWatcher());
|
||||
).addHint(MorbidHint.instance).withFlavorWord("Whispers of the Grave"));
|
||||
}
|
||||
|
||||
private ShessraDeathsWhisper(final ShessraDeathsWhisper card) {
|
||||
|
|
|
@ -25,7 +25,6 @@ import mage.filter.FilterPermanent;
|
|||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.game.permanent.token.SkeletonToken;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -59,7 +58,7 @@ public final class SkeletalSwarming extends CardImpl {
|
|||
MorbidCondition.instance, "create a tapped 1/1 black Skeleton creature token. " +
|
||||
"If a creature died this turn, create two of those tokens instead"
|
||||
), TargetController.YOU, false
|
||||
).addHint(MorbidHint.instance), new MorbidWatcher());
|
||||
).addHint(MorbidHint.instance));
|
||||
}
|
||||
|
||||
private SkeletalSwarming(final SkeletalSwarming card) {
|
||||
|
|
|
@ -11,7 +11,6 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -34,7 +33,7 @@ public final class TwinbladeAssassins extends CardImpl {
|
|||
new DrawCardSourceControllerEffect(1), TargetController.YOU, false
|
||||
), MorbidCondition.instance, "At the beginning of your end step, " +
|
||||
"if a creature died this turn, draw a card."
|
||||
).addHint(MorbidHint.instance), new MorbidWatcher());
|
||||
).addHint(MorbidHint.instance));
|
||||
}
|
||||
|
||||
private TwinbladeAssassins(final TwinbladeAssassins card) {
|
||||
|
|
|
@ -20,7 +20,6 @@ import mage.constants.*;
|
|||
import mage.filter.StaticFilters;
|
||||
import mage.game.Game;
|
||||
import mage.players.Player;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
import mage.watchers.common.PlayerLostLifeWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
@ -44,7 +43,7 @@ public final class WarlockClass extends CardImpl {
|
|||
new LoseLifeOpponentsEffect(1), TargetController.YOU, false
|
||||
), MorbidCondition.instance, "At the beginning of your end step, " +
|
||||
"if a creature died this turn, each opponent loses 1 life."
|
||||
).addHint(MorbidHint.instance), new MorbidWatcher());
|
||||
).addHint(MorbidHint.instance));
|
||||
|
||||
// {1}{B}: Level 2
|
||||
this.addAbility(new ClassLevelAbility(2, "{1}{B}"));
|
||||
|
|
|
@ -11,7 +11,6 @@ import mage.constants.CardType;
|
|||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.constants.Zone;
|
||||
import mage.watchers.common.MorbidWatcher;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -32,7 +31,7 @@ public final class ZombieOgre extends CardImpl {
|
|||
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
||||
Zone.BATTLEFIELD, new VentureIntoTheDungeonEffect(),
|
||||
TargetController.YOU, MorbidCondition.instance, false
|
||||
).addHint(MorbidHint.instance), new MorbidWatcher());
|
||||
).addHint(MorbidHint.instance));
|
||||
}
|
||||
|
||||
private ZombieOgre(final ZombieOgre card) {
|
||||
|
|
Loading…
Reference in a new issue