From 649fb137344712e234774035eefa49233d679b8e Mon Sep 17 00:00:00 2001 From: magenoxx Date: Sun, 10 Jun 2012 15:48:15 +0400 Subject: [PATCH] Fixed Dearly Departed --- .../mage/sets/innistrad/DearlyDeparted.java | 12 +++++++++--- .../abilities/effects/ContinuousEffect.java | 4 +++- .../effects/ContinuousEffectImpl.java | 18 +++++++++--------- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/Mage.Sets/src/mage/sets/innistrad/DearlyDeparted.java b/Mage.Sets/src/mage/sets/innistrad/DearlyDeparted.java index 3675be391b8..1f10f5c1055 100644 --- a/Mage.Sets/src/mage/sets/innistrad/DearlyDeparted.java +++ b/Mage.Sets/src/mage/sets/innistrad/DearlyDeparted.java @@ -28,7 +28,6 @@ package mage.sets.innistrad; -import java.util.UUID; import mage.Constants; import mage.Constants.CardType; import mage.Constants.Rarity; @@ -36,6 +35,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.common.continious.GainAbilityControlledEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.keyword.FlyingAbility; @@ -44,6 +44,8 @@ import mage.counters.CounterType; import mage.filter.Filter; import mage.filter.common.FilterCreaturePermanent; +import java.util.UUID; + /** * @author nantuko */ @@ -51,6 +53,8 @@ public class DearlyDeparted extends CardImpl { private static final FilterCreaturePermanent filterHuman = new FilterCreaturePermanent("Human creatures"); + private static final String ruleText = "As long as Dearly Departed is in your graveyard, each Human creature you control enters the battlefield with an additional +1/+1 counter on it"; + static { filterHuman.getSubtype().add("Human"); filterHuman.setScopeSubtype(Filter.ComparisonScope.Any); @@ -68,8 +72,10 @@ public class DearlyDeparted extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // As long as Dearly Departed is in your graveyard, each Human creature you control enters the battlefield with an additional +1/+1 counter on it. - Ability ability0 = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1))); - this.addAbility(new SimpleStaticAbility(Constants.Zone.GRAVEYARD, new GainAbilityControlledEffect(ability0, Constants.Duration.OneUse, filterHuman))); + Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1))); + ContinuousEffect effect = new GainAbilityControlledEffect(ability, Constants.Duration.WhileInGraveyard, filterHuman); + effect.overrideRuleText(ruleText); + this.addAbility(new SimpleStaticAbility(Constants.Zone.GRAVEYARD, effect)); } public DearlyDeparted(final DearlyDeparted card) { diff --git a/Mage/src/mage/abilities/effects/ContinuousEffect.java b/Mage/src/mage/abilities/effects/ContinuousEffect.java index 0081e7e6074..72003843283 100644 --- a/Mage/src/mage/abilities/effects/ContinuousEffect.java +++ b/Mage/src/mage/abilities/effects/ContinuousEffect.java @@ -28,13 +28,14 @@ package mage.abilities.effects; -import java.util.Date; import mage.Constants.Duration; import mage.Constants.Layer; import mage.Constants.SubLayer; import mage.abilities.Ability; import mage.game.Game; +import java.util.Date; + /** * * @author BetaSteward_at_googlemail.com @@ -52,4 +53,5 @@ public interface ContinuousEffect> extends Effect< public void init(Ability source, Game game); public Layer getLayer(); public SubLayer getSublayer(); + public void overrideRuleText(String text); } diff --git a/Mage/src/mage/abilities/effects/ContinuousEffectImpl.java b/Mage/src/mage/abilities/effects/ContinuousEffectImpl.java index 24c7a9ac1ea..d69a914a340 100644 --- a/Mage/src/mage/abilities/effects/ContinuousEffectImpl.java +++ b/Mage/src/mage/abilities/effects/ContinuousEffectImpl.java @@ -28,20 +28,14 @@ package mage.abilities.effects; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; -import mage.Constants.Duration; -import mage.Constants.EffectType; -import mage.Constants.Layer; -import mage.Constants.Outcome; -import mage.Constants.SubLayer; +import mage.Constants.*; import mage.abilities.Ability; import mage.abilities.ActivatedAbility; import mage.abilities.TriggeredAbility; import mage.game.Game; +import java.util.*; + /** * * @author BetaSteward_at_googlemail.com @@ -55,6 +49,7 @@ public abstract class ContinuousEffectImpl> ex protected boolean used = false; protected boolean affectedObjectsSet = false; protected List objects = new ArrayList(); + protected Map metadata = new HashMap(); public ContinuousEffectImpl(Duration duration, Outcome outcome) { super(outcome); @@ -157,4 +152,9 @@ public abstract class ContinuousEffectImpl> ex return sublayer; } + @Override + public void overrideRuleText(String text) { + this.staticText = text; + } + }