From e851fb4d8efde349c98468319b1b7eabd4cf86f7 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Wed, 28 Mar 2012 13:18:35 +0400 Subject: [PATCH] Fix for EntersBattlefieldEffect and ChimericMass. --- .../sets/scarsofmirrodin/ChimericMass.java | 27 ++++++++++--------- .../effects/EntersBattlefieldEffect.java | 8 +++++- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/ChimericMass.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/ChimericMass.java index 5f39a310c90..d44b6d5428f 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/ChimericMass.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/ChimericMass.java @@ -27,14 +27,7 @@ */ 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.Constants.*; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldAbility; @@ -44,6 +37,7 @@ import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.CountersCount; import mage.abilities.effects.ContinuousEffectImpl; +import mage.abilities.effects.EntersBattlefieldEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continious.BecomesCreatureSourceEffect; import mage.cards.CardImpl; @@ -52,6 +46,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.Token; +import java.util.UUID; + /** * * @author BetaSteward_at_googlemail.com @@ -87,13 +83,18 @@ class ChimericMassEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - int amount = source.getManaCostsToPay().getX(); - Permanent p = game.getPermanent(source.getSourceId()); - if (p != null) { - p.addCounters(CounterType.CHARGE.createInstance(amount), game); + Object value = getValue(EntersBattlefieldEffect.SOURCE_CAST_SPELL_ABILITY); + if (value != null && value instanceof Ability) { + Ability castAbility = (Ability)value; + int amount = castAbility.getManaCostsToPay().getX(); + Permanent p = game.getPermanent(source.getSourceId()); + if (p != null) { + p.addCounters(CounterType.CHARGE.createInstance(amount), game); + return true; + } return true; } - return true; + return false; } @Override diff --git a/Mage/src/mage/abilities/effects/EntersBattlefieldEffect.java b/Mage/src/mage/abilities/effects/EntersBattlefieldEffect.java index 03da317aa5a..4e5d07daa27 100644 --- a/Mage/src/mage/abilities/effects/EntersBattlefieldEffect.java +++ b/Mage/src/mage/abilities/effects/EntersBattlefieldEffect.java @@ -34,6 +34,7 @@ import mage.abilities.Mode; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; +import mage.game.stack.Spell; /** * @@ -44,6 +45,8 @@ public class EntersBattlefieldEffect extends ReplacementEffectImpl