From 40e22d9f497123a11d9f4d00131d6ef6dbec6cee Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 16 Jun 2015 00:03:17 +0200 Subject: [PATCH] Some minor changes. --- .../mage/sets/darksteel/GreaterHarvester.java | 46 +++++++++++-------- .../sets/dragonsmaze/TeysaEnvoyOfGhosts.java | 19 ++++---- .../mirrodinbesieged/ContestedWarZone.java | 2 - 3 files changed, 37 insertions(+), 30 deletions(-) diff --git a/Mage.Sets/src/mage/sets/darksteel/GreaterHarvester.java b/Mage.Sets/src/mage/sets/darksteel/GreaterHarvester.java index 820cbf29fdd..b5dc2a20201 100644 --- a/Mage.Sets/src/mage/sets/darksteel/GreaterHarvester.java +++ b/Mage.Sets/src/mage/sets/darksteel/GreaterHarvester.java @@ -22,6 +22,7 @@ import mage.filter.predicate.mageobject.CardTypePredicate; import mage.game.Game; import mage.game.events.DamagedPlayerEvent; import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; import mage.target.targetpointer.FixedTarget; /** @@ -29,17 +30,17 @@ import mage.target.targetpointer.FixedTarget; * @author wanderer120 */ public class GreaterHarvester extends CardImpl { - - public static final FilterPermanent filter = new FilterPermanent("a permanent"); - - static{ - filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), - new CardTypePredicate(CardType.CREATURE), - new CardTypePredicate(CardType.ENCHANTMENT), - new CardTypePredicate(CardType.PLANESWALKER), - new CardTypePredicate(CardType.LAND))); - } - + + public static final FilterPermanent filter = new FilterPermanent("a permanent"); + + static { + filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), + new CardTypePredicate(CardType.CREATURE), + new CardTypePredicate(CardType.ENCHANTMENT), + new CardTypePredicate(CardType.PLANESWALKER), + new CardTypePredicate(CardType.LAND))); + } + public GreaterHarvester(UUID ownerId) { super(ownerId, 44, "Greater Harvester", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{B}{B}{B}"); this.expansionSetCode = "DST"; @@ -50,7 +51,7 @@ public class GreaterHarvester extends CardImpl { // At the beginning of your upkeep, sacrifice a permanent. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeEffect(filter, 1, ""), TargetController.YOU, false)); - + //Whenever Greater Harvester deals combat damage to a player, that player sacrifices two permanents. this.addAbility(new GreaterHarvesterAbility()); } @@ -64,6 +65,7 @@ public class GreaterHarvester extends CardImpl { return new GreaterHarvester(this); } } + class GreaterHarvesterAbility extends TriggeredAbilityImpl { public GreaterHarvesterAbility() { @@ -79,16 +81,20 @@ class GreaterHarvesterAbility extends TriggeredAbilityImpl { return new GreaterHarvesterAbility(this); } + @Override + public boolean checkEventType(GameEvent event, Game game) { + return EventType.DAMAGED_PLAYER.equals(event.getType()); + } + + @Override public boolean checkTrigger(GameEvent event, Game game) { - if (event instanceof DamagedPlayerEvent) { - DamagedPlayerEvent damageEvent = (DamagedPlayerEvent)event; - if (damageEvent.isCombatDamage() && event.getSourceId().equals(this.getSourceId())) { - for (Effect effect : this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; + DamagedPlayerEvent damageEvent = (DamagedPlayerEvent) event; + if (damageEvent.isCombatDamage() && event.getSourceId().equals(this.getSourceId())) { + for (Effect effect : this.getEffects()) { + effect.setTargetPointer(new FixedTarget(event.getPlayerId())); } + return true; } return false; } @@ -97,4 +103,4 @@ class GreaterHarvesterAbility extends TriggeredAbilityImpl { public String getRule() { return "Whenever {this} deals combat damage to a player, that player sacrifices two permanent."; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/TeysaEnvoyOfGhosts.java b/Mage.Sets/src/mage/sets/dragonsmaze/TeysaEnvoyOfGhosts.java index 720cbf0e21c..bab770d4b87 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/TeysaEnvoyOfGhosts.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/TeysaEnvoyOfGhosts.java @@ -100,16 +100,19 @@ class TeysaEnvoyOfGhostsTriggeredAbility extends TriggeredAbilityImpl { return new TeysaEnvoyOfGhostsTriggeredAbility(this); } + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.DAMAGED_PLAYER; + } + @Override public boolean checkTrigger(GameEvent event, Game game) { - if (event instanceof DamagedPlayerEvent) { - DamagedPlayerEvent damageEvent = (DamagedPlayerEvent)event; - Permanent p = game.getPermanent(event.getSourceId()); - if (damageEvent.getPlayerId().equals(controllerId) && damageEvent.isCombatDamage() && p != null && p.getCardType().contains(CardType.CREATURE)) { - game.getState().setValue(sourceId.toString(), p.getControllerId()); - getEffects().get(0).setTargetPointer(new FixedTarget(event.getSourceId())); - return true; - } + DamagedPlayerEvent damageEvent = (DamagedPlayerEvent)event; + Permanent sourcePermanent = game.getPermanent(event.getSourceId()); + if (damageEvent.getPlayerId().equals(getControllerId()) && damageEvent.isCombatDamage() && sourcePermanent != null && sourcePermanent.getCardType().contains(CardType.CREATURE)) { + game.getState().setValue(sourceId.toString(), sourcePermanent.getControllerId()); + getEffects().get(0).setTargetPointer(new FixedTarget(event.getSourceId())); + return true; } return false; } diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/ContestedWarZone.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/ContestedWarZone.java index 18aa0237fd6..1558ed15381 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/ContestedWarZone.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/ContestedWarZone.java @@ -28,7 +28,6 @@ package mage.sets.mirrodinbesieged; import java.util.UUID; -import mage.Mana; import mage.constants.CardType; import mage.constants.Duration; @@ -46,7 +45,6 @@ import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.abilities.mana.ColorlessManaAbility; -import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.filter.common.FilterAttackingCreature; import mage.game.Game;