From 7985e2456dfcd871ea414db323f25109de394ab8 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 18 Aug 2013 10:04:04 +0200 Subject: [PATCH] * Figure of Destiny - Fixed that the activated updates also lasts if Figure left battlefield and returned to it in some way. --- .../mage/sets/eventide/FigureOfDestiny.java | 14 +++++++------- .../BecomesCreatureSourceEffect.java | 19 +++++++++++++++---- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Mage.Sets/src/mage/sets/eventide/FigureOfDestiny.java b/Mage.Sets/src/mage/sets/eventide/FigureOfDestiny.java index 3982d150e5..c2ef5a1a5e 100644 --- a/Mage.Sets/src/mage/sets/eventide/FigureOfDestiny.java +++ b/Mage.Sets/src/mage/sets/eventide/FigureOfDestiny.java @@ -28,10 +28,6 @@ package mage.sets.eventide; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Rarity; -import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.SourceMatchesFilterCondition; @@ -41,6 +37,10 @@ import mage.abilities.effects.common.continious.BecomesCreatureSourceEffect; import mage.abilities.keyword.FirstStrikeAbility; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Rarity; +import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.permanent.token.Token; @@ -71,13 +71,13 @@ public class FigureOfDestiny extends CardImpl { // {RW}: Figure of Destiny becomes a 2/2 Kithkin Spirit. this.addAbility(new SimpleActivatedAbility( Zone.BATTLEFIELD, - new BecomesCreatureSourceEffect(new FigureOfDestiny.FigureOfDestinyToken1(), "", Duration.WhileOnBattlefield), + new BecomesCreatureSourceEffect(new FigureOfDestiny.FigureOfDestinyToken1(), "", Duration.Custom), new ManaCostsImpl("{R/W}"))); // {RW}{RW}{RW}: If Figure of Destiny is a Spirit, it becomes a 4/4 Kithkin Spirit Warrior. this.addAbility(new SimpleActivatedAbility( Zone.BATTLEFIELD, new ConditionalContinousEffect( - new BecomesCreatureSourceEffect(new FigureOfDestiny.FigureOfDestinyToken2(), "", Duration.WhileOnBattlefield), + new BecomesCreatureSourceEffect(new FigureOfDestiny.FigureOfDestinyToken2(), "", Duration.Custom), new SourceMatchesFilterCondition(filter2), "If Figure of Destiny is a Spirit, it becomes a 4/4 Kithkin Spirit Warrior", true), @@ -87,7 +87,7 @@ public class FigureOfDestiny extends CardImpl { this.addAbility(new SimpleActivatedAbility( Zone.BATTLEFIELD, new ConditionalContinousEffect( - new BecomesCreatureSourceEffect(new FigureOfDestiny.FigureOfDestinyToken3(), "", Duration.WhileOnBattlefield), + new BecomesCreatureSourceEffect(new FigureOfDestiny.FigureOfDestinyToken3(), "", Duration.Custom), new SourceMatchesFilterCondition(filter3), "If Figure of Destiny is a Warrior, it becomes an 8/8 Kithkin Spirit Warrior Avatar with flying and first strike", true), diff --git a/Mage/src/mage/abilities/effects/common/continious/BecomesCreatureSourceEffect.java b/Mage/src/mage/abilities/effects/common/continious/BecomesCreatureSourceEffect.java index 1cbb77152a..3e694c0341 100644 --- a/Mage/src/mage/abilities/effects/common/continious/BecomesCreatureSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/BecomesCreatureSourceEffect.java @@ -28,9 +28,13 @@ package mage.abilities.effects.common.continious; -import mage.constants.*; import mage.abilities.Ability; import mage.abilities.effects.ContinuousEffectImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Layer; +import mage.constants.Outcome; +import mage.constants.SubLayer; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.Token; @@ -92,8 +96,9 @@ public class BecomesCreatureSourceEffect extends ContinuousEffectImpl 0) + if (type.length() > 0) { staticText = duration.toString() + " {this} becomes a " + token.getDescription() + " that's still a " + this.type; - else + } + else { staticText = duration.toString() + " {this} becomes a " + token.getDescription(); + } } @Override