diff --git a/Mage.Common/src/mage/view/CardView.java b/Mage.Common/src/mage/view/CardView.java index 9accefe8ed5..885fa1ff604 100644 --- a/Mage.Common/src/mage/view/CardView.java +++ b/Mage.Common/src/mage/view/CardView.java @@ -279,7 +279,7 @@ public class CardView extends SimpleCardView { this.subTypes = card.getSubtype(game); this.superTypes = card.getSupertype(); this.color = card.getColor(game); - this.canTransform = card.canTransform(); + this.canTransform = card.isTransformable(); this.flipCard = card.isFlipCard(); this.faceDown = !showFaceUp; diff --git a/Mage.Common/src/mage/view/GameView.java b/Mage.Common/src/mage/view/GameView.java index 648c3aa9eb9..775fd2e099c 100644 --- a/Mage.Common/src/mage/view/GameView.java +++ b/Mage.Common/src/mage/view/GameView.java @@ -116,7 +116,7 @@ public class GameView implements Serializable { } else { stack.put(stackObject.getId(), new StackAbilityView(game, (StackAbility) stackObject, "", new CardView(card))); } - if (card.canTransform()) { + if (card.isTransformable()) { updateLatestCardView(game, card, stackObject.getId()); } checkPaid(stackObject.getId(), (StackAbility) stackObject); @@ -230,7 +230,7 @@ public class GameView implements Serializable { } private void updateLatestCardView(Game game, Card card, UUID stackId) { - if (!card.canTransform()) { + if (!card.isTransformable()) { return; } Permanent permanent = game.getPermanent(card.getId()); diff --git a/Mage.Sets/src/mage/sets/darkascension/AfflictedDeserter.java b/Mage.Sets/src/mage/sets/darkascension/AfflictedDeserter.java index a427b792729..b3a027b332d 100644 --- a/Mage.Sets/src/mage/sets/darkascension/AfflictedDeserter.java +++ b/Mage.Sets/src/mage/sets/darkascension/AfflictedDeserter.java @@ -52,7 +52,7 @@ public class AfflictedDeserter extends CardImpl { this.subtype.add("Human"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new WerewolfRansacker(ownerId); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/sets/darkascension/ArchdemonOfGreed.java b/Mage.Sets/src/mage/sets/darkascension/ArchdemonOfGreed.java index 3fc7222beac..f68ee0310a0 100644 --- a/Mage.Sets/src/mage/sets/darkascension/ArchdemonOfGreed.java +++ b/Mage.Sets/src/mage/sets/darkascension/ArchdemonOfGreed.java @@ -68,7 +68,7 @@ public class ArchdemonOfGreed extends CardImpl { this.color.setBlack(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/sets/darkascension/ChaliceOfLife.java b/Mage.Sets/src/mage/sets/darkascension/ChaliceOfLife.java index 985162ab660..d9d99f290ff 100644 --- a/Mage.Sets/src/mage/sets/darkascension/ChaliceOfLife.java +++ b/Mage.Sets/src/mage/sets/darkascension/ChaliceOfLife.java @@ -53,7 +53,7 @@ public class ChaliceOfLife extends CardImpl { super(ownerId, 146, "Chalice of Life", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); this.expansionSetCode = "DKA"; - this.canTransform = true; + this.transformable = true; this.secondSideCard = new ChaliceOfDeath(ownerId); this.addAbility(new TransformAbility()); diff --git a/Mage.Sets/src/mage/sets/darkascension/ChosenOfMarkov.java b/Mage.Sets/src/mage/sets/darkascension/ChosenOfMarkov.java index 31b676fefe4..d377ce4fa73 100644 --- a/Mage.Sets/src/mage/sets/darkascension/ChosenOfMarkov.java +++ b/Mage.Sets/src/mage/sets/darkascension/ChosenOfMarkov.java @@ -66,7 +66,7 @@ public class ChosenOfMarkov extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new MarkovsServant(ownerId); // {tap}, Tap an untapped Vampire you control: Transform Chosen of Markov. diff --git a/Mage.Sets/src/mage/sets/darkascension/ElbrusTheBindingBlade.java b/Mage.Sets/src/mage/sets/darkascension/ElbrusTheBindingBlade.java index 9d1a718adcd..f59f72c5dd0 100644 --- a/Mage.Sets/src/mage/sets/darkascension/ElbrusTheBindingBlade.java +++ b/Mage.Sets/src/mage/sets/darkascension/ElbrusTheBindingBlade.java @@ -57,7 +57,7 @@ public class ElbrusTheBindingBlade extends CardImpl { this.supertype.add("Legendary"); this.subtype.add("Equipment"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new WithengarUnbound(ownerId); this.addAbility(new TransformAbility()); diff --git a/Mage.Sets/src/mage/sets/darkascension/GhastlyHaunting.java b/Mage.Sets/src/mage/sets/darkascension/GhastlyHaunting.java index 755f5f30681..edd8ebb61a3 100644 --- a/Mage.Sets/src/mage/sets/darkascension/GhastlyHaunting.java +++ b/Mage.Sets/src/mage/sets/darkascension/GhastlyHaunting.java @@ -52,7 +52,7 @@ public class GhastlyHaunting extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/sets/darkascension/HinterlandHermit.java b/Mage.Sets/src/mage/sets/darkascension/HinterlandHermit.java index e698a33dad6..449a4dd4972 100644 --- a/Mage.Sets/src/mage/sets/darkascension/HinterlandHermit.java +++ b/Mage.Sets/src/mage/sets/darkascension/HinterlandHermit.java @@ -53,7 +53,7 @@ public class HinterlandHermit extends CardImpl { this.subtype.add("Human"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new HinterlandScourge(ownerId); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/darkascension/HinterlandScourge.java b/Mage.Sets/src/mage/sets/darkascension/HinterlandScourge.java index b65a021e5d0..e0fc6c8ab33 100644 --- a/Mage.Sets/src/mage/sets/darkascension/HinterlandScourge.java +++ b/Mage.Sets/src/mage/sets/darkascension/HinterlandScourge.java @@ -58,7 +58,7 @@ public class HinterlandScourge extends CardImpl { // this card is the second face of double-faced card of Hinterland Hermit this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/darkascension/HuntmasterOfTheFells.java b/Mage.Sets/src/mage/sets/darkascension/HuntmasterOfTheFells.java index db0e4bcf07a..366bf7d4e92 100644 --- a/Mage.Sets/src/mage/sets/darkascension/HuntmasterOfTheFells.java +++ b/Mage.Sets/src/mage/sets/darkascension/HuntmasterOfTheFells.java @@ -57,7 +57,7 @@ public class HuntmasterOfTheFells extends CardImpl { this.subtype.add("Human"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new RavagerOfTheFells(ownerId); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/darkascension/KrallenhordeKiller.java b/Mage.Sets/src/mage/sets/darkascension/KrallenhordeKiller.java index 0cbf4b8d238..e8238666567 100644 --- a/Mage.Sets/src/mage/sets/darkascension/KrallenhordeKiller.java +++ b/Mage.Sets/src/mage/sets/darkascension/KrallenhordeKiller.java @@ -58,7 +58,7 @@ public class KrallenhordeKiller extends CardImpl { this.toughness = new MageInt(2); this.nightCard = true; - this.canTransform = true; + this.transformable = true; // {3}{G}: Krallenhorde Killer gets +4/+4 until end of turn. Activate this ability only once each turn. this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(4, 4, Duration.EndOfTurn), new ManaCostsImpl("{3}{G}"))); diff --git a/Mage.Sets/src/mage/sets/darkascension/LambholtElder.java b/Mage.Sets/src/mage/sets/darkascension/LambholtElder.java index 321c9699a74..a345bc2dc87 100644 --- a/Mage.Sets/src/mage/sets/darkascension/LambholtElder.java +++ b/Mage.Sets/src/mage/sets/darkascension/LambholtElder.java @@ -56,7 +56,7 @@ public class LambholtElder extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new SilverpeltWerewolf(ownerId); // At the beginning of each upkeep, if no spells were cast last turn, transform Lambholt Elder. diff --git a/Mage.Sets/src/mage/sets/darkascension/LoyalCathar.java b/Mage.Sets/src/mage/sets/darkascension/LoyalCathar.java index 65c083c681a..fb5f2e541ae 100644 --- a/Mage.Sets/src/mage/sets/darkascension/LoyalCathar.java +++ b/Mage.Sets/src/mage/sets/darkascension/LoyalCathar.java @@ -56,7 +56,7 @@ public class LoyalCathar extends CardImpl { this.subtype.add("Human"); this.subtype.add("Soldier"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new UnhallowedCathar(ownerId); this.power = new MageInt(2); @@ -133,7 +133,7 @@ class ReturnLoyalCatharEffect extends OneShotEffect { if (card != null) { card.putOntoBattlefield(game, Zone.GRAVEYARD, source.getSourceId(), source.getControllerId()); Permanent perm = game.getPermanent(cardId); - if (perm != null && perm.canTransform()) { + if (perm != null && perm.isTransformable()) { perm.transform(game); return true; } diff --git a/Mage.Sets/src/mage/sets/darkascension/MarkovsServant.java b/Mage.Sets/src/mage/sets/darkascension/MarkovsServant.java index 375edceccb5..fed2ef1c4d0 100644 --- a/Mage.Sets/src/mage/sets/darkascension/MarkovsServant.java +++ b/Mage.Sets/src/mage/sets/darkascension/MarkovsServant.java @@ -48,7 +48,7 @@ public class MarkovsServant extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.nightCard = true; } diff --git a/Mage.Sets/src/mage/sets/darkascension/MondronenShaman.java b/Mage.Sets/src/mage/sets/darkascension/MondronenShaman.java index be85b5b30f5..72451a38089 100644 --- a/Mage.Sets/src/mage/sets/darkascension/MondronenShaman.java +++ b/Mage.Sets/src/mage/sets/darkascension/MondronenShaman.java @@ -56,7 +56,7 @@ public class MondronenShaman extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new TovolarsMagehunter(ownerId); // At the beginning of each upkeep, if no spells were cast last turn, transform Mondronen Shaman. diff --git a/Mage.Sets/src/mage/sets/darkascension/MoonscarredWerewolf.java b/Mage.Sets/src/mage/sets/darkascension/MoonscarredWerewolf.java index 4db87ca0939..ec8b548b25d 100644 --- a/Mage.Sets/src/mage/sets/darkascension/MoonscarredWerewolf.java +++ b/Mage.Sets/src/mage/sets/darkascension/MoonscarredWerewolf.java @@ -63,7 +63,7 @@ public class MoonscarredWerewolf extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.addAbility(VigilanceAbility.getInstance()); // {tap}: Add {G}{G} to your mana pool. diff --git a/Mage.Sets/src/mage/sets/darkascension/RavagerOfTheFells.java b/Mage.Sets/src/mage/sets/darkascension/RavagerOfTheFells.java index e510f4c3051..bedb914225a 100644 --- a/Mage.Sets/src/mage/sets/darkascension/RavagerOfTheFells.java +++ b/Mage.Sets/src/mage/sets/darkascension/RavagerOfTheFells.java @@ -73,7 +73,7 @@ public class RavagerOfTheFells extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/sets/darkascension/RavenousDemon.java b/Mage.Sets/src/mage/sets/darkascension/RavenousDemon.java index 12b41d92f18..9f7268c7158 100644 --- a/Mage.Sets/src/mage/sets/darkascension/RavenousDemon.java +++ b/Mage.Sets/src/mage/sets/darkascension/RavenousDemon.java @@ -58,7 +58,7 @@ public class RavenousDemon extends CardImpl { this.expansionSetCode = "DKA"; this.subtype.add("Demon"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new ArchdemonOfGreed(ownerId); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/sets/darkascension/ScornedVillager.java b/Mage.Sets/src/mage/sets/darkascension/ScornedVillager.java index 88870df3c94..e7a93c605d6 100644 --- a/Mage.Sets/src/mage/sets/darkascension/ScornedVillager.java +++ b/Mage.Sets/src/mage/sets/darkascension/ScornedVillager.java @@ -56,7 +56,7 @@ public class ScornedVillager extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new MoonscarredWerewolf(ownerId); // {tap}: Add {G} to your mana pool. diff --git a/Mage.Sets/src/mage/sets/darkascension/SilverpeltWerewolf.java b/Mage.Sets/src/mage/sets/darkascension/SilverpeltWerewolf.java index 81e0aeab8a7..2c0a20db451 100644 --- a/Mage.Sets/src/mage/sets/darkascension/SilverpeltWerewolf.java +++ b/Mage.Sets/src/mage/sets/darkascension/SilverpeltWerewolf.java @@ -58,7 +58,7 @@ public class SilverpeltWerewolf extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(5); - this.canTransform = true; + this.transformable = true; this.nightCard = true; // Whenever Silverpelt Werewolf deals combat damage to a player, draw a card. diff --git a/Mage.Sets/src/mage/sets/darkascension/SoulSeizer.java b/Mage.Sets/src/mage/sets/darkascension/SoulSeizer.java index 02e4cb5f09d..a524e6b2703 100644 --- a/Mage.Sets/src/mage/sets/darkascension/SoulSeizer.java +++ b/Mage.Sets/src/mage/sets/darkascension/SoulSeizer.java @@ -60,7 +60,7 @@ public class SoulSeizer extends CardImpl { this.expansionSetCode = "DKA"; this.subtype.add("Spirit"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new GhastlyHaunting(ownerId); this.power = new MageInt(1); @@ -139,7 +139,7 @@ class SoulSeizerEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { Permanent permanent = game.getPermanent(source.getSourceId()); - if (permanent != null && permanent.canTransform()) { + if (permanent != null && permanent.isTransformable()) { if (permanent.transform(game)) { game.informPlayers(new StringBuilder(permanent.getName()).append(" transforms into ").append(permanent.getSecondCardFace().getName()).toString()); Permanent attachTo = game.getPermanent(targetPointer.getFirst(game, source)); diff --git a/Mage.Sets/src/mage/sets/darkascension/TovolarsMagehunter.java b/Mage.Sets/src/mage/sets/darkascension/TovolarsMagehunter.java index bcddeaef4e1..1f514fa2686 100644 --- a/Mage.Sets/src/mage/sets/darkascension/TovolarsMagehunter.java +++ b/Mage.Sets/src/mage/sets/darkascension/TovolarsMagehunter.java @@ -64,7 +64,7 @@ public class TovolarsMagehunter extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Whenever an opponent casts a spell, Tovolar's Magehunter deals 2 damage to that player. this.addAbility(new TovolarsMagehunterTriggeredAbility()); diff --git a/Mage.Sets/src/mage/sets/darkascension/UnhallowedCathar.java b/Mage.Sets/src/mage/sets/darkascension/UnhallowedCathar.java index 6f6ebe14ab6..6ff891b1185 100644 --- a/Mage.Sets/src/mage/sets/darkascension/UnhallowedCathar.java +++ b/Mage.Sets/src/mage/sets/darkascension/UnhallowedCathar.java @@ -49,7 +49,7 @@ public class UnhallowedCathar extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/sets/darkascension/WerewolfRansacker.java b/Mage.Sets/src/mage/sets/darkascension/WerewolfRansacker.java index d360a4b34d0..87000a1a1f8 100644 --- a/Mage.Sets/src/mage/sets/darkascension/WerewolfRansacker.java +++ b/Mage.Sets/src/mage/sets/darkascension/WerewolfRansacker.java @@ -67,7 +67,7 @@ public class WerewolfRansacker extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/sets/darkascension/WithengarUnbound.java b/Mage.Sets/src/mage/sets/darkascension/WithengarUnbound.java index 6803181b753..3fc459173c1 100644 --- a/Mage.Sets/src/mage/sets/darkascension/WithengarUnbound.java +++ b/Mage.Sets/src/mage/sets/darkascension/WithengarUnbound.java @@ -58,7 +58,7 @@ public class WithengarUnbound extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(13); this.toughness = new MageInt(13); diff --git a/Mage.Sets/src/mage/sets/darkascension/WolfbittenCaptive.java b/Mage.Sets/src/mage/sets/darkascension/WolfbittenCaptive.java index c35d2fc17a0..dc5a1cc2fb0 100644 --- a/Mage.Sets/src/mage/sets/darkascension/WolfbittenCaptive.java +++ b/Mage.Sets/src/mage/sets/darkascension/WolfbittenCaptive.java @@ -57,7 +57,7 @@ public class WolfbittenCaptive extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new KrallenhordeKiller(ownerId); // {1}{G}: Wolfbitten Captive gets +2/+2 until end of turn. Activate this ability only once each turn. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/ConduitOfStorms.java b/Mage.Sets/src/mage/sets/eldritchmoon/ConduitOfStorms.java index e0103de6b21..923c89852e1 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/ConduitOfStorms.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/ConduitOfStorms.java @@ -59,7 +59,7 @@ public class ConduitOfStorms extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new ConduitOfEmrakul(ownerId); // Whenever Conduit of Storms attacks, add {R} to your mana pool at the beginning of your next main phase this turn. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/CryptolithFragment.java b/Mage.Sets/src/mage/sets/eldritchmoon/CryptolithFragment.java index fd9734f806b..3cb2a2afe60 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/CryptolithFragment.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/CryptolithFragment.java @@ -52,7 +52,7 @@ public class CryptolithFragment extends CardImpl { super(ownerId, 193, "Cryptolith Fragment", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); this.expansionSetCode = "EMN"; - this.canTransform = true; + this.transformable = true; this.secondSideCard = new AuroraOfEmrakul(ownerId); // Cryptolith Fragment enters the battlefield tapped. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/CuriousHomunculus.java b/Mage.Sets/src/mage/sets/eldritchmoon/CuriousHomunculus.java index b37e6680388..09ec70847fd 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/CuriousHomunculus.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/CuriousHomunculus.java @@ -65,7 +65,7 @@ public class CuriousHomunculus extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new VoraciousReader(ownerId); // {T}: Add {C} to your mana pool. Spend this mana only to cast an instant or sorcery spell. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/DocentOfPerfection.java b/Mage.Sets/src/mage/sets/eldritchmoon/DocentOfPerfection.java index 2da81fde4b6..c9f86f5eac4 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/DocentOfPerfection.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/DocentOfPerfection.java @@ -74,7 +74,7 @@ public class DocentOfPerfection extends CardImpl { this.power = new MageInt(5); this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new FinalIteration(ownerId); // Flying diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/ExtricatorOfSin.java b/Mage.Sets/src/mage/sets/eldritchmoon/ExtricatorOfSin.java index 6cf02ecfe83..c45ad38b6a5 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/ExtricatorOfSin.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/ExtricatorOfSin.java @@ -67,7 +67,7 @@ public class ExtricatorOfSin extends CardImpl { this.power = new MageInt(0); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new ExtricatorOfFlesh(ownerId); // When Extricator of Sin enters the battlefield, you may sacrifice another permanent. If you do, put a 3/2 colorless Eldrazi Horror creature token onto the battlefield. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/GrizzledAngler.java b/Mage.Sets/src/mage/sets/eldritchmoon/GrizzledAngler.java index 1b59133eefa..9dff2449428 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/GrizzledAngler.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/GrizzledAngler.java @@ -58,7 +58,7 @@ public class GrizzledAngler extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new GrislyAnglerfish(ownerId); // {T}: Put the top two cards of your library into your graveyard. Then if there is a colorless creature card in your graveyard, transform Grizzled Angler. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/KessigProwler.java b/Mage.Sets/src/mage/sets/eldritchmoon/KessigProwler.java index c20bf3e8122..ab5b00ae57f 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/KessigProwler.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/KessigProwler.java @@ -52,7 +52,7 @@ public class KessigProwler extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new SinuousPredator(ownerId); // {4}{G}: Transform Kessig Prowler. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/LoneRider.java b/Mage.Sets/src/mage/sets/eldritchmoon/LoneRider.java index bd3e8a01ace..1595cc4bc10 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/LoneRider.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/LoneRider.java @@ -62,7 +62,7 @@ public class LoneRider extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new ItThatRidesAsOne(ownerId); // First strike diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/ShrillHowler.java b/Mage.Sets/src/mage/sets/eldritchmoon/ShrillHowler.java index ea7bd28b90c..54cb87bd6b2 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/ShrillHowler.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/ShrillHowler.java @@ -54,7 +54,7 @@ public class ShrillHowler extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new HowlingChorus(ownerId); // Creatures with power less than Shrill Howler's power can't block it. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/SmolderingWerewolf.java b/Mage.Sets/src/mage/sets/eldritchmoon/SmolderingWerewolf.java index 6dbdaff3b6d..388d85b6cd5 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/SmolderingWerewolf.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/SmolderingWerewolf.java @@ -57,7 +57,7 @@ public class SmolderingWerewolf extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new EruptingDreadwolf(ownerId); // When Smoldering Werewolf enters the battlefield, it deals 1 damage to each of up to two target creatures. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/TangleclawWerewolf.java b/Mage.Sets/src/mage/sets/eldritchmoon/TangleclawWerewolf.java index 1e5b9ced787..be544c0d88e 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/TangleclawWerewolf.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/TangleclawWerewolf.java @@ -55,7 +55,7 @@ public class TangleclawWerewolf extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new FibrousEntangler(ownerId); // Tangleclaw Werewolf can block an additional creature each combat. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/UlrichOfTheKrallenhorde.java b/Mage.Sets/src/mage/sets/eldritchmoon/UlrichOfTheKrallenhorde.java index 07ae27e76d7..1ae0114b742 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/UlrichOfTheKrallenhorde.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/UlrichOfTheKrallenhorde.java @@ -64,7 +64,7 @@ public class UlrichOfTheKrallenhorde extends CardImpl { this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new UlrichUncontestedAlpha(ownerId); // Whenever this creature enters the battlefield or transforms into Ulrich of the Krallenhorde, target creature gets +4/+4 until end of turn. diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/UlrichUncontestedAlpha.java b/Mage.Sets/src/mage/sets/eldritchmoon/UlrichUncontestedAlpha.java index 71d2da2140b..767d8bfabb4 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/UlrichUncontestedAlpha.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/UlrichUncontestedAlpha.java @@ -70,7 +70,7 @@ public class UlrichUncontestedAlpha extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Whenever this creature transforms into Ulrich, Uncontested Alpha, you may have it fight target non-Werewolf creature you don't control. this.addAbility(new UlrichUncontestedAlphaAbility()); diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/UlvenwaldCaptive.java b/Mage.Sets/src/mage/sets/eldritchmoon/UlvenwaldCaptive.java index f4505fb8220..d4d070aff0f 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/UlvenwaldCaptive.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/UlvenwaldCaptive.java @@ -54,7 +54,7 @@ public class UlvenwaldCaptive extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new UlvenwaldAbomination(ownerId); // Defender diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/VildinPackOutcast.java b/Mage.Sets/src/mage/sets/eldritchmoon/VildinPackOutcast.java index 91506e037df..a02a158dfc1 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/VildinPackOutcast.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/VildinPackOutcast.java @@ -55,7 +55,7 @@ public class VildinPackOutcast extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new DronepackKindred(ownerId); // Trample diff --git a/Mage.Sets/src/mage/sets/eldritchmoon/VoldarenPariah.java b/Mage.Sets/src/mage/sets/eldritchmoon/VoldarenPariah.java index 0fb98ec9655..75a976ca34e 100644 --- a/Mage.Sets/src/mage/sets/eldritchmoon/VoldarenPariah.java +++ b/Mage.Sets/src/mage/sets/eldritchmoon/VoldarenPariah.java @@ -64,7 +64,7 @@ public class VoldarenPariah extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new AbolisherOfBloodlines(ownerId); // Flying diff --git a/Mage.Sets/src/mage/sets/innistrad/BaneOfHanweir.java b/Mage.Sets/src/mage/sets/innistrad/BaneOfHanweir.java index 46e9681e912..446b29a51cc 100644 --- a/Mage.Sets/src/mage/sets/innistrad/BaneOfHanweir.java +++ b/Mage.Sets/src/mage/sets/innistrad/BaneOfHanweir.java @@ -55,7 +55,7 @@ public class BaneOfHanweir extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/sets/innistrad/BloodlineKeeper.java b/Mage.Sets/src/mage/sets/innistrad/BloodlineKeeper.java index 90391f49bf5..3355cf85979 100644 --- a/Mage.Sets/src/mage/sets/innistrad/BloodlineKeeper.java +++ b/Mage.Sets/src/mage/sets/innistrad/BloodlineKeeper.java @@ -68,7 +68,7 @@ public class BloodlineKeeper extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new LordOfLineage(ownerId); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/sets/innistrad/CivilizedScholar.java b/Mage.Sets/src/mage/sets/innistrad/CivilizedScholar.java index 4c567aa3255..dda17cb90b6 100644 --- a/Mage.Sets/src/mage/sets/innistrad/CivilizedScholar.java +++ b/Mage.Sets/src/mage/sets/innistrad/CivilizedScholar.java @@ -58,7 +58,7 @@ public class CivilizedScholar extends CardImpl { this.subtype.add("Human"); this.subtype.add("Advisor"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new HomicidalBrute(ownerId); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/sets/innistrad/CloisteredYouth.java b/Mage.Sets/src/mage/sets/innistrad/CloisteredYouth.java index f765ba22b08..e2323797ca4 100644 --- a/Mage.Sets/src/mage/sets/innistrad/CloisteredYouth.java +++ b/Mage.Sets/src/mage/sets/innistrad/CloisteredYouth.java @@ -52,7 +52,7 @@ public class CloisteredYouth extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new UnholyFiend(ownerId); // At the beginning of your upkeep, you may transform Cloistered Youth. diff --git a/Mage.Sets/src/mage/sets/innistrad/DaybreakRanger.java b/Mage.Sets/src/mage/sets/innistrad/DaybreakRanger.java index 23c4512be02..d77afe71e48 100644 --- a/Mage.Sets/src/mage/sets/innistrad/DaybreakRanger.java +++ b/Mage.Sets/src/mage/sets/innistrad/DaybreakRanger.java @@ -68,7 +68,7 @@ public class DaybreakRanger extends CardImpl { this.subtype.add("Archer"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new NightfallPredator(ownerId); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/innistrad/DelverOfSecrets.java b/Mage.Sets/src/mage/sets/innistrad/DelverOfSecrets.java index c84f7b56226..cbcf0fcd006 100644 --- a/Mage.Sets/src/mage/sets/innistrad/DelverOfSecrets.java +++ b/Mage.Sets/src/mage/sets/innistrad/DelverOfSecrets.java @@ -63,7 +63,7 @@ public class DelverOfSecrets extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new InsectileAberration(ownerId); // At the beginning of your upkeep, look at the top card of your library. You may reveal that card. If an instant or sorcery card is revealed this way, transform Delver of Secrets. diff --git a/Mage.Sets/src/mage/sets/innistrad/GarrukRelentless.java b/Mage.Sets/src/mage/sets/innistrad/GarrukRelentless.java index 5a27be7ae0c..83c1b84246d 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GarrukRelentless.java +++ b/Mage.Sets/src/mage/sets/innistrad/GarrukRelentless.java @@ -59,7 +59,7 @@ public class GarrukRelentless extends CardImpl { this.expansionSetCode = "ISD"; this.subtype.add("Garruk"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new GarrukTheVeilCursed(ownerId); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java b/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java index 1bd7a27d251..8bee6404d3b 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java +++ b/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java @@ -67,7 +67,7 @@ public class GarrukTheVeilCursed extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.color.setGreen(true); this.color.setBlack(true); diff --git a/Mage.Sets/src/mage/sets/innistrad/GatstafHowler.java b/Mage.Sets/src/mage/sets/innistrad/GatstafHowler.java index be0dc03c6d4..6cab59c125e 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GatstafHowler.java +++ b/Mage.Sets/src/mage/sets/innistrad/GatstafHowler.java @@ -55,7 +55,7 @@ public class GatstafHowler extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/sets/innistrad/GatstafShepherd.java b/Mage.Sets/src/mage/sets/innistrad/GatstafShepherd.java index 8820d66b7b4..9eb752736f6 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GatstafShepherd.java +++ b/Mage.Sets/src/mage/sets/innistrad/GatstafShepherd.java @@ -52,7 +52,7 @@ public class GatstafShepherd extends CardImpl { this.subtype.add("Human"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new GatstafHowler(ownerId); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/innistrad/GrizzledOutcasts.java b/Mage.Sets/src/mage/sets/innistrad/GrizzledOutcasts.java index 5599b5e5e35..929684837bf 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GrizzledOutcasts.java +++ b/Mage.Sets/src/mage/sets/innistrad/GrizzledOutcasts.java @@ -52,7 +52,7 @@ public class GrizzledOutcasts extends CardImpl { this.subtype.add("Human"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new KrallenhordeWantons(ownerId); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/sets/innistrad/HanweirWatchkeep.java b/Mage.Sets/src/mage/sets/innistrad/HanweirWatchkeep.java index 8fa4f1c8737..b874e229ec8 100644 --- a/Mage.Sets/src/mage/sets/innistrad/HanweirWatchkeep.java +++ b/Mage.Sets/src/mage/sets/innistrad/HanweirWatchkeep.java @@ -54,7 +54,7 @@ public class HanweirWatchkeep extends CardImpl { this.subtype.add("Warrior"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new BaneOfHanweir(ownerId); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/sets/innistrad/HomicidalBrute.java b/Mage.Sets/src/mage/sets/innistrad/HomicidalBrute.java index 459d7495992..ce5a4fa8dde 100644 --- a/Mage.Sets/src/mage/sets/innistrad/HomicidalBrute.java +++ b/Mage.Sets/src/mage/sets/innistrad/HomicidalBrute.java @@ -54,7 +54,7 @@ public class HomicidalBrute extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.color.setRed(true); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/sets/innistrad/HowlpackAlpha.java b/Mage.Sets/src/mage/sets/innistrad/HowlpackAlpha.java index 48d3d80c51e..8fcf717b7a6 100644 --- a/Mage.Sets/src/mage/sets/innistrad/HowlpackAlpha.java +++ b/Mage.Sets/src/mage/sets/innistrad/HowlpackAlpha.java @@ -71,7 +71,7 @@ public class HowlpackAlpha extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.color.setGreen(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/sets/innistrad/HowlpackOfEstwald.java b/Mage.Sets/src/mage/sets/innistrad/HowlpackOfEstwald.java index 5ab0245487d..d4129e2a7f5 100644 --- a/Mage.Sets/src/mage/sets/innistrad/HowlpackOfEstwald.java +++ b/Mage.Sets/src/mage/sets/innistrad/HowlpackOfEstwald.java @@ -54,7 +54,7 @@ public class HowlpackOfEstwald extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/sets/innistrad/InstigatorGang.java b/Mage.Sets/src/mage/sets/innistrad/InstigatorGang.java index 446cc861024..bb548d43aab 100644 --- a/Mage.Sets/src/mage/sets/innistrad/InstigatorGang.java +++ b/Mage.Sets/src/mage/sets/innistrad/InstigatorGang.java @@ -55,7 +55,7 @@ public class InstigatorGang extends CardImpl { this.subtype.add("Human"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new WildbloodPack(ownerId); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/innistrad/Ironfang.java b/Mage.Sets/src/mage/sets/innistrad/Ironfang.java index efc51cdfcb9..8b35b8caf7c 100644 --- a/Mage.Sets/src/mage/sets/innistrad/Ironfang.java +++ b/Mage.Sets/src/mage/sets/innistrad/Ironfang.java @@ -55,7 +55,7 @@ public class Ironfang extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/sets/innistrad/KrallenhordeWantons.java b/Mage.Sets/src/mage/sets/innistrad/KrallenhordeWantons.java index a00c01e5411..4a88e6bd1b4 100644 --- a/Mage.Sets/src/mage/sets/innistrad/KrallenhordeWantons.java +++ b/Mage.Sets/src/mage/sets/innistrad/KrallenhordeWantons.java @@ -55,7 +55,7 @@ public class KrallenhordeWantons extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/sets/innistrad/KruinOutlaw.java b/Mage.Sets/src/mage/sets/innistrad/KruinOutlaw.java index a856fac2dbc..997f2c13ef3 100644 --- a/Mage.Sets/src/mage/sets/innistrad/KruinOutlaw.java +++ b/Mage.Sets/src/mage/sets/innistrad/KruinOutlaw.java @@ -54,7 +54,7 @@ public class KruinOutlaw extends CardImpl { this.subtype.add("Rogue"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new TerrorOfKruinPass(ownerId); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/innistrad/LordOfLineage.java b/Mage.Sets/src/mage/sets/innistrad/LordOfLineage.java index 8ed3174c0a5..9dda98de4a7 100644 --- a/Mage.Sets/src/mage/sets/innistrad/LordOfLineage.java +++ b/Mage.Sets/src/mage/sets/innistrad/LordOfLineage.java @@ -66,7 +66,7 @@ public class LordOfLineage extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.addAbility(FlyingAbility.getInstance()); // Other Vampire creatures you control get +2/+2. diff --git a/Mage.Sets/src/mage/sets/innistrad/LudevicsAbomination.java b/Mage.Sets/src/mage/sets/innistrad/LudevicsAbomination.java index 6d4b21c5ccc..7241a339c6a 100644 --- a/Mage.Sets/src/mage/sets/innistrad/LudevicsAbomination.java +++ b/Mage.Sets/src/mage/sets/innistrad/LudevicsAbomination.java @@ -49,7 +49,7 @@ public class LudevicsAbomination extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(13); this.toughness = new MageInt(13); diff --git a/Mage.Sets/src/mage/sets/innistrad/LudevicsTestSubject.java b/Mage.Sets/src/mage/sets/innistrad/LudevicsTestSubject.java index 44c51fea78a..1e690401980 100644 --- a/Mage.Sets/src/mage/sets/innistrad/LudevicsTestSubject.java +++ b/Mage.Sets/src/mage/sets/innistrad/LudevicsTestSubject.java @@ -60,7 +60,7 @@ public class LudevicsTestSubject extends CardImpl { this.power = new MageInt(0); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new LudevicsAbomination(ownerId); this.addAbility(DefenderAbility.getInstance()); diff --git a/Mage.Sets/src/mage/sets/innistrad/MayorOfAvabruck.java b/Mage.Sets/src/mage/sets/innistrad/MayorOfAvabruck.java index e12ffa1915e..998f25c3033 100644 --- a/Mage.Sets/src/mage/sets/innistrad/MayorOfAvabruck.java +++ b/Mage.Sets/src/mage/sets/innistrad/MayorOfAvabruck.java @@ -68,7 +68,7 @@ public class MayorOfAvabruck extends CardImpl { this.subtype.add("Advisor"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new HowlpackAlpha(ownerId); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/sets/innistrad/MercilessPredator.java b/Mage.Sets/src/mage/sets/innistrad/MercilessPredator.java index bebec023ab5..2139c6f57b8 100644 --- a/Mage.Sets/src/mage/sets/innistrad/MercilessPredator.java +++ b/Mage.Sets/src/mage/sets/innistrad/MercilessPredator.java @@ -54,7 +54,7 @@ public class MercilessPredator extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/innistrad/Moonmist.java b/Mage.Sets/src/mage/sets/innistrad/Moonmist.java index b57a2183b29..4760b87d507 100644 --- a/Mage.Sets/src/mage/sets/innistrad/Moonmist.java +++ b/Mage.Sets/src/mage/sets/innistrad/Moonmist.java @@ -95,7 +95,7 @@ class MoonmistEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { for (Permanent permanent: game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) { - if (permanent.canTransform()) { + if (permanent.isTransformable()) { permanent.transform(game); game.informPlayers(new StringBuilder(permanent.getName()).append(" transforms into ").append(permanent.getSecondCardFace().getName()).toString()); } diff --git a/Mage.Sets/src/mage/sets/innistrad/NightfallPredator.java b/Mage.Sets/src/mage/sets/innistrad/NightfallPredator.java index a35e26f60dc..208e8df152f 100644 --- a/Mage.Sets/src/mage/sets/innistrad/NightfallPredator.java +++ b/Mage.Sets/src/mage/sets/innistrad/NightfallPredator.java @@ -67,7 +67,7 @@ public class NightfallPredator extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; // {R}, {tap}: Nightfall Predator fights target creature. Ability activatedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new NightfallPredatorEffect(), new ManaCostsImpl("{R}")); diff --git a/Mage.Sets/src/mage/sets/innistrad/RampagingWerewolf.java b/Mage.Sets/src/mage/sets/innistrad/RampagingWerewolf.java index 2b27e392b9b..fa96fb393cb 100644 --- a/Mage.Sets/src/mage/sets/innistrad/RampagingWerewolf.java +++ b/Mage.Sets/src/mage/sets/innistrad/RampagingWerewolf.java @@ -54,7 +54,7 @@ public class RampagingWerewolf extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/sets/innistrad/RecklessWaif.java b/Mage.Sets/src/mage/sets/innistrad/RecklessWaif.java index 4b459b5d088..f1f47683f91 100644 --- a/Mage.Sets/src/mage/sets/innistrad/RecklessWaif.java +++ b/Mage.Sets/src/mage/sets/innistrad/RecklessWaif.java @@ -53,7 +53,7 @@ public class RecklessWaif extends CardImpl { this.subtype.add("Rogue"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new MercilessPredator(ownerId); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/sets/innistrad/ScreechingBat.java b/Mage.Sets/src/mage/sets/innistrad/ScreechingBat.java index 16a16fcc13e..35f43bacf76 100644 --- a/Mage.Sets/src/mage/sets/innistrad/ScreechingBat.java +++ b/Mage.Sets/src/mage/sets/innistrad/ScreechingBat.java @@ -58,7 +58,7 @@ public class ScreechingBat extends CardImpl { this.expansionSetCode = "ISD"; this.subtype.add("Bat"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new StalkingVampire(ownerId); this.power = new MageInt(2); @@ -134,7 +134,7 @@ class ScreechingBatTransformSourceEffect extends OneShotEffect { if (permanent != null) { Cost cost = new ManaCostsImpl("{2}{B}{B}"); if (cost.pay(source, game, permanent.getControllerId(), permanent.getControllerId(), false, null)) { - if (permanent.canTransform()) { + if (permanent.isTransformable()) { permanent.setTransformed(!permanent.isTransformed()); } } diff --git a/Mage.Sets/src/mage/sets/innistrad/StalkingVampire.java b/Mage.Sets/src/mage/sets/innistrad/StalkingVampire.java index 86d734f5a75..1253915e3ad 100644 --- a/Mage.Sets/src/mage/sets/innistrad/StalkingVampire.java +++ b/Mage.Sets/src/mage/sets/innistrad/StalkingVampire.java @@ -47,7 +47,7 @@ public class StalkingVampire extends CardImpl { this.color.setBlack(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/sets/innistrad/TerrorOfKruinPass.java b/Mage.Sets/src/mage/sets/innistrad/TerrorOfKruinPass.java index 5e59cc00f06..27614b4dceb 100644 --- a/Mage.Sets/src/mage/sets/innistrad/TerrorOfKruinPass.java +++ b/Mage.Sets/src/mage/sets/innistrad/TerrorOfKruinPass.java @@ -72,7 +72,7 @@ public class TerrorOfKruinPass extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.color.setRed(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/sets/innistrad/ThrabenMilitia.java b/Mage.Sets/src/mage/sets/innistrad/ThrabenMilitia.java index 56cc02fdb9e..5e1e2f0958a 100644 --- a/Mage.Sets/src/mage/sets/innistrad/ThrabenMilitia.java +++ b/Mage.Sets/src/mage/sets/innistrad/ThrabenMilitia.java @@ -49,7 +49,7 @@ public class ThrabenMilitia extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/sets/innistrad/ThrabenSentry.java b/Mage.Sets/src/mage/sets/innistrad/ThrabenSentry.java index b27a11667a4..3373eeeb2ed 100644 --- a/Mage.Sets/src/mage/sets/innistrad/ThrabenSentry.java +++ b/Mage.Sets/src/mage/sets/innistrad/ThrabenSentry.java @@ -56,7 +56,7 @@ public class ThrabenSentry extends CardImpl { this.subtype.add("Human"); this.subtype.add("Soldier"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new ThrabenMilitia(ownerId); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/innistrad/TormentedPariah.java b/Mage.Sets/src/mage/sets/innistrad/TormentedPariah.java index 49d634062ee..6ab039f36b7 100644 --- a/Mage.Sets/src/mage/sets/innistrad/TormentedPariah.java +++ b/Mage.Sets/src/mage/sets/innistrad/TormentedPariah.java @@ -53,7 +53,7 @@ public class TormentedPariah extends CardImpl { this.subtype.add("Warrior"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new RampagingWerewolf(ownerId); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/sets/innistrad/UlvenwaldMystics.java b/Mage.Sets/src/mage/sets/innistrad/UlvenwaldMystics.java index f78d10fd94e..3faac3c99b6 100644 --- a/Mage.Sets/src/mage/sets/innistrad/UlvenwaldMystics.java +++ b/Mage.Sets/src/mage/sets/innistrad/UlvenwaldMystics.java @@ -53,7 +53,7 @@ public class UlvenwaldMystics extends CardImpl { this.subtype.add("Shaman"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new UlvenwaldPrimordials(ownerId); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/sets/innistrad/UlvenwaldPrimordials.java b/Mage.Sets/src/mage/sets/innistrad/UlvenwaldPrimordials.java index f19e4346799..2faa4701e3e 100644 --- a/Mage.Sets/src/mage/sets/innistrad/UlvenwaldPrimordials.java +++ b/Mage.Sets/src/mage/sets/innistrad/UlvenwaldPrimordials.java @@ -58,7 +58,7 @@ public class UlvenwaldPrimordials extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/sets/innistrad/VillageIronsmith.java b/Mage.Sets/src/mage/sets/innistrad/VillageIronsmith.java index 61024d62e12..516d12a5575 100644 --- a/Mage.Sets/src/mage/sets/innistrad/VillageIronsmith.java +++ b/Mage.Sets/src/mage/sets/innistrad/VillageIronsmith.java @@ -53,7 +53,7 @@ public class VillageIronsmith extends CardImpl { this.subtype.add("Human"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new Ironfang(ownerId); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/sets/innistrad/VillagersOfEstwald.java b/Mage.Sets/src/mage/sets/innistrad/VillagersOfEstwald.java index 7ee1602d3b8..84989f119d0 100644 --- a/Mage.Sets/src/mage/sets/innistrad/VillagersOfEstwald.java +++ b/Mage.Sets/src/mage/sets/innistrad/VillagersOfEstwald.java @@ -52,7 +52,7 @@ public class VillagersOfEstwald extends CardImpl { this.subtype.add("Human"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new HowlpackOfEstwald(ownerId); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/innistrad/WildbloodPack.java b/Mage.Sets/src/mage/sets/innistrad/WildbloodPack.java index 2ffe7ec09ea..044a1529f0e 100644 --- a/Mage.Sets/src/mage/sets/innistrad/WildbloodPack.java +++ b/Mage.Sets/src/mage/sets/innistrad/WildbloodPack.java @@ -56,7 +56,7 @@ public class WildbloodPack extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/sets/magicorigins/ChandraFireOfKaladesh.java b/Mage.Sets/src/mage/sets/magicorigins/ChandraFireOfKaladesh.java index 28e1d1ad845..e82b2b7498e 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/ChandraFireOfKaladesh.java +++ b/Mage.Sets/src/mage/sets/magicorigins/ChandraFireOfKaladesh.java @@ -70,7 +70,7 @@ public class ChandraFireOfKaladesh extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new ChandraRoaringFlame(ownerId); // Whenever you cast a red spell, untap Chandra, Fire of Kaladesh. diff --git a/Mage.Sets/src/mage/sets/magicorigins/ChandraRoaringFlame.java b/Mage.Sets/src/mage/sets/magicorigins/ChandraRoaringFlame.java index fe48e846fa9..db22799ebb5 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/ChandraRoaringFlame.java +++ b/Mage.Sets/src/mage/sets/magicorigins/ChandraRoaringFlame.java @@ -62,7 +62,7 @@ public class ChandraRoaringFlame extends CardImpl { this.color.setRed(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/sets/magicorigins/GideonBattleForged.java b/Mage.Sets/src/mage/sets/magicorigins/GideonBattleForged.java index 38bccf30925..0aff9a43189 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/GideonBattleForged.java +++ b/Mage.Sets/src/mage/sets/magicorigins/GideonBattleForged.java @@ -73,7 +73,7 @@ public class GideonBattleForged extends CardImpl { this.color.setWhite(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/sets/magicorigins/JaceTelepathUnbound.java b/Mage.Sets/src/mage/sets/magicorigins/JaceTelepathUnbound.java index d75a23f78a9..152e4a7ed59 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/JaceTelepathUnbound.java +++ b/Mage.Sets/src/mage/sets/magicorigins/JaceTelepathUnbound.java @@ -73,7 +73,7 @@ public class JaceTelepathUnbound extends CardImpl { this.color.setBlue(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/sets/magicorigins/JaceVrynsProdigy.java b/Mage.Sets/src/mage/sets/magicorigins/JaceVrynsProdigy.java index 9783cdb0ed2..0446370c115 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/JaceVrynsProdigy.java +++ b/Mage.Sets/src/mage/sets/magicorigins/JaceVrynsProdigy.java @@ -59,7 +59,7 @@ public class JaceVrynsProdigy extends CardImpl { this.power = new MageInt(0); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new JaceTelepathUnbound(ownerId); // {T}: Draw a card, then discard a card. If there are five or more cards in your graveyard, exile Jace, Vryn's Prodigy, then return him to the battefield transformed under his owner's control. diff --git a/Mage.Sets/src/mage/sets/magicorigins/KytheonHeroOfAkros.java b/Mage.Sets/src/mage/sets/magicorigins/KytheonHeroOfAkros.java index 4c2e2bb88eb..b565a3f966d 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/KytheonHeroOfAkros.java +++ b/Mage.Sets/src/mage/sets/magicorigins/KytheonHeroOfAkros.java @@ -65,7 +65,7 @@ public class KytheonHeroOfAkros extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new GideonBattleForged(ownerId); // At end of combat, if Kytheon, Hero of Akros and at least two other creatures attacked this combat, exile Kytheon, diff --git a/Mage.Sets/src/mage/sets/magicorigins/LilianaHereticalHealer.java b/Mage.Sets/src/mage/sets/magicorigins/LilianaHereticalHealer.java index 684866b0e05..26994524a0a 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/LilianaHereticalHealer.java +++ b/Mage.Sets/src/mage/sets/magicorigins/LilianaHereticalHealer.java @@ -68,7 +68,7 @@ public class LilianaHereticalHealer extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new LilianaDefiantNecromancer(ownerId); this.addAbility(new TransformAbility()); diff --git a/Mage.Sets/src/mage/sets/magicorigins/NissaVastwoodSeer.java b/Mage.Sets/src/mage/sets/magicorigins/NissaVastwoodSeer.java index 8a0ded144ab..5c2849c6103 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/NissaVastwoodSeer.java +++ b/Mage.Sets/src/mage/sets/magicorigins/NissaVastwoodSeer.java @@ -68,7 +68,7 @@ public class NissaVastwoodSeer extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new NissaSageAnimist(ownerId); // When Nissa, Vastwood Seer enters the battlefield, you may search your library for a basic Forest card, reveal it, put it into your hand, then shuffle your library. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AberrantResearcher.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AberrantResearcher.java index 27194cb5d37..d17eebb8096 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AberrantResearcher.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AberrantResearcher.java @@ -59,7 +59,7 @@ public class AberrantResearcher extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new PerfectedForm(ownerId); // Flying diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AccursedWitch.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AccursedWitch.java index 6e0f6c19ae0..8a336bf9e85 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AccursedWitch.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AccursedWitch.java @@ -65,7 +65,7 @@ public class AccursedWitch extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new InfectiousCurse(ownerId); // Spells your opponents cast that target Accursed Witch cost {1} less to cast. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArchangelAvacyn.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArchangelAvacyn.java index 01a7fd8b9ee..269e807dd35 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArchangelAvacyn.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArchangelAvacyn.java @@ -79,7 +79,7 @@ public class ArchangelAvacyn extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new AvacynThePurifier(ownerId); // Flash diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArlinnEmbracedByTheMoon.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArlinnEmbracedByTheMoon.java index f3e50ae5484..f489ade248e 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArlinnEmbracedByTheMoon.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArlinnEmbracedByTheMoon.java @@ -70,7 +70,7 @@ public class ArlinnEmbracedByTheMoon extends CardImpl { this.color.setGreen(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; // +1: Creatures you control get +1/+1 and gain trample until end of turn. Effect effect = new BoostControlledEffect(1, 1, Duration.EndOfTurn, filter); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArlinnKord.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArlinnKord.java index c04e88b44a5..77590fa9dc1 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArlinnKord.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ArlinnKord.java @@ -56,7 +56,7 @@ public class ArlinnKord extends CardImpl { this.expansionSetCode = "SOI"; this.subtype.add("Arlinn"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new ArlinnEmbracedByTheMoon(ownerId); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AutumnalGloom.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AutumnalGloom.java index 615df98a5fb..a8c6276d98d 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AutumnalGloom.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AutumnalGloom.java @@ -52,7 +52,7 @@ public class AutumnalGloom extends CardImpl { public AutumnalGloom(UUID ownerId) { super(ownerId, 194, "Autumnal Gloom", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}"); this.expansionSetCode = "SOI"; - this.canTransform = true; + this.transformable = true; this.secondSideCard = new AncientOfTheEquinox(ownerId); // {B}: Put the top card of your library into your graveyard. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AvacynianMissionaries.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AvacynianMissionaries.java index 74d87e41f56..1eaaa48a281 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AvacynianMissionaries.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/AvacynianMissionaries.java @@ -53,7 +53,7 @@ public class AvacynianMissionaries extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new LunarchInquisitors(ownerId); // At the beginning of your end step, if Avacynian Missionaries is equipped, transform it. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BrandedHowler.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BrandedHowler.java index 8b9a734e5d5..21c8b8bc957 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BrandedHowler.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BrandedHowler.java @@ -56,7 +56,7 @@ public class BrandedHowler extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; // At the beginning of each upkeep, if a player cast two or more spells last turn, transform Branded Howler. TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BreakneckRider.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BreakneckRider.java index 913a2b4e64e..5aa4db37c40 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BreakneckRider.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BreakneckRider.java @@ -55,7 +55,7 @@ public class BreakneckRider extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new NeckBreaker(ownerId); // At the beginning of each upkeep, if no spells were cast last turn, transform Breakneck Rider. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ConvictedKiller.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ConvictedKiller.java index 07f01a6c7d9..7109b9ea628 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ConvictedKiller.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ConvictedKiller.java @@ -54,7 +54,7 @@ public class ConvictedKiller extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new BrandedHowler(ownerId); // At the beginning of each upkeep, if no spells were cast last turn, transform Convicted Killer. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/DaringSleuth.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/DaringSleuth.java index 9eed6042321..bf9435e0c6f 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/DaringSleuth.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/DaringSleuth.java @@ -54,7 +54,7 @@ public class DaringSleuth extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new BearerOfOverwhelmingTruths(ownerId); // When you sacrifice a Clue, transform Daring Sleuth. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/DuskwatchRecruiter.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/DuskwatchRecruiter.java index 3f074a11022..a7e56b00831 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/DuskwatchRecruiter.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/DuskwatchRecruiter.java @@ -59,7 +59,7 @@ public class DuskwatchRecruiter extends CardImpl { this.subtype.add("Warrior"); this.subtype.add("Werewolf"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new KrallenhordeHowler(ownerId); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ElusiveTormentor.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ElusiveTormentor.java index 35382b20c95..f94791b3e15 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ElusiveTormentor.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ElusiveTormentor.java @@ -54,7 +54,7 @@ public class ElusiveTormentor extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new InsidiousMist(ownerId); // {1}, Discard a card: Transform Elusive Tormentor. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/FlameheartWerewolf.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/FlameheartWerewolf.java index 6f2865839de..48fa40078d4 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/FlameheartWerewolf.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/FlameheartWerewolf.java @@ -58,7 +58,7 @@ public class FlameheartWerewolf extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Whenever Flameheart Werewolf blocks or becomes blocked by a creature, Flameheart Werewolf deals 2 damage to that creature. this.addAbility(new BlocksOrBecomesBlockedByCreatureTriggeredAbility(new DamageTargetEffect(2, true, "that creature"), false)); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GatstafArsonists.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GatstafArsonists.java index f68e60eded6..64b32cafcd2 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GatstafArsonists.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GatstafArsonists.java @@ -54,7 +54,7 @@ public class GatstafArsonists extends CardImpl { this.power = new MageInt(5); this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new GatstafRavagers(ownerId); // At the beginning of each upkeep, if no spells were cast last turn, transform Gatstaf Arsonists. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GatstafRavagers.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GatstafRavagers.java index b9b58fadf11..5bce14dca84 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GatstafRavagers.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GatstafRavagers.java @@ -56,7 +56,7 @@ public class GatstafRavagers extends CardImpl { this.color.setRed(true); - this.canTransform = true; + this.transformable = true; this.nightCard = true; // Menace diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GeierReachBandit.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GeierReachBandit.java index 4d316518156..460c664e126 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GeierReachBandit.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/GeierReachBandit.java @@ -56,7 +56,7 @@ public class GeierReachBandit extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new VildinPackAlpha(ownerId); // Haste diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HanweirMilitiaCaptain.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HanweirMilitiaCaptain.java index 5dd1430ddb8..31122f7ce92 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HanweirMilitiaCaptain.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HanweirMilitiaCaptain.java @@ -56,7 +56,7 @@ public class HanweirMilitiaCaptain extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new WestvaleCultLeader(ownerId); // At the beginning of your upkeep, if you control four or more creatures, transform Hanweir Militia Captain. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HarvestHand.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HarvestHand.java index c1a20316fa7..f66c0911756 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HarvestHand.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HarvestHand.java @@ -55,7 +55,7 @@ public class HarvestHand extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new ScroungedScythe(ownerId); // When Harvest Hand dies, return it to the battlefield transformed under your control. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HeirOfFalkenrath.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HeirOfFalkenrath.java index 39b7d4c0345..0a83c7ce281 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HeirOfFalkenrath.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HeirOfFalkenrath.java @@ -51,7 +51,7 @@ public class HeirOfFalkenrath extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new HeirToTheNight(ownerId); // Discard a card: Transform Heir of Falkenrath. Activate this ability only once each turn. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HermitOfTheNatterknolls.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HermitOfTheNatterknolls.java index 6987b191dde..63e44664a5a 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HermitOfTheNatterknolls.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HermitOfTheNatterknolls.java @@ -58,7 +58,7 @@ public class HermitOfTheNatterknolls extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new LoneWolfOfTheNatterknolls(ownerId); // Whenever an opponent casts a spell during your turn, draw a card. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HinterlandLogger.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HinterlandLogger.java index 8d93e057494..031c5c9dff6 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HinterlandLogger.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/HinterlandLogger.java @@ -54,7 +54,7 @@ public class HinterlandLogger extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new TimberShredder(ownerId); // At the beginning of each upkeep, if no spells were cast last turn, transform Hinterland Logger. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/InfectiousCurse.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/InfectiousCurse.java index 03e76ef9b6e..42ce75579bf 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/InfectiousCurse.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/InfectiousCurse.java @@ -68,7 +68,7 @@ public class InfectiousCurse extends CardImpl { this.color.setBlack(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Enchant player TargetPlayer auraTarget = new TargetPlayer(); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/InsidiousMist.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/InsidiousMist.java index 1d254d9666f..2fc63fa2678 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/InsidiousMist.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/InsidiousMist.java @@ -62,7 +62,7 @@ public class InsidiousMist extends CardImpl { this.color.setBlue(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Hexproof this.addAbility(HexproofAbility.getInstance()); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KessigForgemaster.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KessigForgemaster.java index d2a2f4c8886..4fd7dd2b745 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KessigForgemaster.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KessigForgemaster.java @@ -57,7 +57,7 @@ public class KessigForgemaster extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new FlameheartWerewolf(ownerId); // Whenever Kessig Forgemaster blocks or becomes blocked by a creature, Kessig Forgemaster deals 1 damage to that creature. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KindlyStranger.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KindlyStranger.java index 0327937f5df..83a574ff79d 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KindlyStranger.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KindlyStranger.java @@ -52,7 +52,7 @@ public class KindlyStranger extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new DemonPossessedWitch(ownerId); // Delirium — {2}{B}: Transform Kindly Stranger. Activate this ability only if there are four or more card types among cards in your graveyard. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KrallenhordeHowler.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KrallenhordeHowler.java index b870c41f655..06e8ab394c9 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KrallenhordeHowler.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/KrallenhordeHowler.java @@ -68,7 +68,7 @@ public class KrallenhordeHowler extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Creature spells you cast cost {1} less to cast. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(FILTER, 1))); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/LambholtPacifist.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/LambholtPacifist.java index c6b99b61794..500361190c0 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/LambholtPacifist.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/LambholtPacifist.java @@ -65,7 +65,7 @@ public class LambholtPacifist extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new LambholtButcher(ownerId); // Lambholt Pacifist can't attack unless you control a creature with power 4 or greater. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/LoneWolfOfTheNatterknolls.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/LoneWolfOfTheNatterknolls.java index 1508e34d059..a8c115042b2 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/LoneWolfOfTheNatterknolls.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/LoneWolfOfTheNatterknolls.java @@ -59,7 +59,7 @@ public class LoneWolfOfTheNatterknolls extends CardImpl { this.color.setGreen(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Whenever an opponent cast a spell during your turn, draw two cards. this.addAbility(new ConditionalTriggeredAbility( diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/MoonriseIntruder.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/MoonriseIntruder.java index a586c07449c..bc2bb876855 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/MoonriseIntruder.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/MoonriseIntruder.java @@ -57,7 +57,7 @@ public class MoonriseIntruder extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Menace this.addAbility(new MenaceAbility()); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/NeckBreaker.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/NeckBreaker.java index 637c4c63459..a3f3ad5ac1a 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/NeckBreaker.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/NeckBreaker.java @@ -65,7 +65,7 @@ public class NeckBreaker extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Attacking creatures you control get +1/+0 and have trample. SimpleStaticAbility boostAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/NeglectedHeirloom.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/NeglectedHeirloom.java index ce24fbb9ddf..ac6a1124a6a 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/NeglectedHeirloom.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/NeglectedHeirloom.java @@ -54,7 +54,7 @@ public class NeglectedHeirloom extends CardImpl { this.expansionSetCode = "SOI"; this.subtype.add("Equipment"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new AshmouthBlade(ownerId); // Equipped creature gets +1/+1. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/OneOfThePack.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/OneOfThePack.java index a418607cc40..64a601e6ec6 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/OneOfThePack.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/OneOfThePack.java @@ -55,7 +55,7 @@ public class OneOfThePack extends CardImpl { this.color.setGreen(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; // At the beginning of each upkeep, if a player cast two or more spells last turn, transform One of the Pack. TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(false), TargetController.ANY, false); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/PiousEvangel.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/PiousEvangel.java index de41e3d1a80..71b33d747f7 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/PiousEvangel.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/PiousEvangel.java @@ -69,7 +69,7 @@ public class PiousEvangel extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new WaywardDisciple(ownerId); // Whenever Pious Evangel or another creature enters the battlefield under your control, you gain 1 life. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SageOfAncientLore.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SageOfAncientLore.java index dd2546eb660..48d3cf5640a 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SageOfAncientLore.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SageOfAncientLore.java @@ -65,7 +65,7 @@ public class SageOfAncientLore extends CardImpl { this.power = new MageInt(0); this.toughness = new MageInt(0); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new WerewolfOfAncientHunger(ownerId); // Sage of Ancient Lore's power and toughness are each equal to the number of cards in your hand. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SkinInvasion.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SkinInvasion.java index 4638d2f1d38..ce179e8d019 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SkinInvasion.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SkinInvasion.java @@ -60,7 +60,7 @@ public class SkinInvasion extends CardImpl { this.expansionSetCode = "SOI"; this.subtype.add("Aura"); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new SkinShedder(ownerId); // Enchant creature diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SolitaryHunter.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SolitaryHunter.java index 314ff6957b7..e22068b3a9d 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SolitaryHunter.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/SolitaryHunter.java @@ -56,7 +56,7 @@ public class SolitaryHunter extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new OneOfThePack(ownerId); // At the beginning of each upkeep, if no spells were cast last turn, transform Solitary Hunter. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/StartledAwake.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/StartledAwake.java index 3e807c6b5ec..ba2ced2f532 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/StartledAwake.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/StartledAwake.java @@ -54,7 +54,7 @@ public class StartledAwake extends CardImpl { super(ownerId, 88, "Startled Awake", Rarity.MYTHIC, new CardType[]{CardType.SORCERY}, "{2}{U}{U}"); this.expansionSetCode = "SOI"; - this.canTransform = true; + this.transformable = true; this.secondSideCard = new PersistentNightmare(ownerId); // Target opponent puts the top thirteen cards of his or her library into his or her graveyard. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ThingInTheIce.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ThingInTheIce.java index 96c1431df0a..f7d1ce87e19 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ThingInTheIce.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ThingInTheIce.java @@ -69,7 +69,7 @@ public class ThingInTheIce extends CardImpl { this.power = new MageInt(0); this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new AwokenHorror(ownerId); // Defender diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ThrabenGargoyle.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ThrabenGargoyle.java index ad87a7a4a21..d28a569d729 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ThrabenGargoyle.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/ThrabenGargoyle.java @@ -52,7 +52,7 @@ public class ThrabenGargoyle extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new StonewingAntagonizer(ownerId); // Defender diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/TimberShredder.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/TimberShredder.java index a7e04fc61ac..9f767033779 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/TimberShredder.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/TimberShredder.java @@ -57,7 +57,7 @@ public class TimberShredder extends CardImpl { // this card is the second face of double-faced card this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Trample this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/TownGossipmonger.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/TownGossipmonger.java index 2d89e19f485..a0c6ba6cd36 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/TownGossipmonger.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/TownGossipmonger.java @@ -63,7 +63,7 @@ public class TownGossipmonger extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new IncitedRabble(ownerId); // {T}, Tap an untapped creature you control: Transform Town Gossipmonger. diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/UninvitedGeist.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/UninvitedGeist.java index d92bcce4ab8..8260b5c54fa 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/UninvitedGeist.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/UninvitedGeist.java @@ -50,7 +50,7 @@ public class UninvitedGeist extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(2); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new UnimpededTrespasser(ownerId); // Skulk (This creature can't be blocked by creatures with greater power.) diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/VildinPackAlpha.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/VildinPackAlpha.java index 40ca338b281..5f1f8ec4364 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/VildinPackAlpha.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/VildinPackAlpha.java @@ -64,7 +64,7 @@ public class VildinPackAlpha extends CardImpl { this.toughness = new MageInt(3); this.color.setRed(true); - this.canTransform = true; + this.transformable = true; this.nightCard = true; // Whenever a Werewolf enters the battlefield under your control, you may transform it. @@ -107,7 +107,7 @@ class VildinPackAlphaEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); if (controller != null) { Permanent werewolf = game.getPermanent(getTargetPointer().getFirst(game, source)); - if (werewolf != null && werewolf.canTransform()) { + if (werewolf != null && werewolf.isTransformable()) { werewolf.transform(game); } return true; diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/VillageMessenger.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/VillageMessenger.java index b9bc34ea5cd..ea6f3c3d748 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/VillageMessenger.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/VillageMessenger.java @@ -55,7 +55,7 @@ public class VillageMessenger extends CardImpl { this.power = new MageInt(1); this.toughness = new MageInt(1); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new MoonriseIntruder(ownerId); // Haste diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/WerewolfOfAncientHunger.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/WerewolfOfAncientHunger.java index c11731a4115..31ef0c31cfa 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/WerewolfOfAncientHunger.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/WerewolfOfAncientHunger.java @@ -64,7 +64,7 @@ public class WerewolfOfAncientHunger extends CardImpl { this.color.setGreen(true); this.nightCard = true; - this.canTransform = true; + this.transformable = true; // Vigilance this.addAbility(VigilanceAbility.getInstance()); diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/WestvaleAbbey.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/WestvaleAbbey.java index e788d3b00e3..c7027f99d0c 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/WestvaleAbbey.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/WestvaleAbbey.java @@ -58,7 +58,7 @@ public class WestvaleAbbey extends CardImpl { super(ownerId, 281, "Westvale Abbey", Rarity.RARE, new CardType[]{CardType.LAND}, ""); this.expansionSetCode = "SOI"; - this.canTransform = true; + this.transformable = true; this.secondSideCard = new OrmendahlProfanePrince(ownerId); // {T}: Add {C} to your mana pool. diff --git a/Mage.Sets/src/mage/sets/starwars/AnakinSkywalker.java b/Mage.Sets/src/mage/sets/starwars/AnakinSkywalker.java index 1f430aed08f..6322ec5effb 100644 --- a/Mage.Sets/src/mage/sets/starwars/AnakinSkywalker.java +++ b/Mage.Sets/src/mage/sets/starwars/AnakinSkywalker.java @@ -35,6 +35,7 @@ import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.ReplacementEffectImpl; +import mage.abilities.effects.common.TransformSourceEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.keyword.TransformAbility; @@ -51,7 +52,6 @@ import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; import mage.game.permanent.Permanent; -import mage.game.permanent.PermanentCard; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -76,7 +76,7 @@ public class AnakinSkywalker extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(4); - this.canTransform = true; + this.transformable = true; this.secondSideCard = new DarthVader(ownerId); // Whenever another creature dies, put a +1/+1 counter on Anakin Skywalker. @@ -119,13 +119,7 @@ class AnakinSkywalkerEffect extends ReplacementEffectImpl { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null) { permanent.regenerate(source.getSourceId(), game); - if (permanent.canTransform(game)) { - if (!permanent.isTransformed()) { - permanent.setTransformed(true); - game.informPlayers(((PermanentCard) permanent).getCard().getLogName() + " transforms into " + permanent.getSecondCardFace().getLogName()); - return true; - } - } + return new TransformSourceEffect(true).apply(game, source); } return false; } diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/soi/ArchangelAvacynTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/soi/ArchangelAvacynTest.java index ab8fcfb1e2b..14a9ad6a250 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/soi/ArchangelAvacynTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/soi/ArchangelAvacynTest.java @@ -39,7 +39,7 @@ public class ArchangelAvacynTest extends CardTestPlayerBase { addCard(Zone.BATTLEFIELD, playerA, "Wall of Omens"); // 0/4 addCard(Zone.HAND, playerA, "Elite Vanguard"); // 2/1 addCard(Zone.BATTLEFIELD, playerA, "Plains", 2); - addCard(Zone.BATTLEFIELD, playerB, "Hill Giant"); // 3/1 + addCard(Zone.BATTLEFIELD, playerB, "Hill Giant"); // 3/3 addCard(Zone.BATTLEFIELD, playerB, "Wall of Roots"); // 0/5 addCard(Zone.HAND, playerB, "Shock"); addCard(Zone.BATTLEFIELD, playerB, "Mountain", 2); @@ -61,4 +61,39 @@ public class ArchangelAvacynTest extends CardTestPlayerBase { assertGraveyardCount(playerB, "Hill Giant", 1); } + + /** + * Reported Bug: If more than 1(in my case 3) non-angel creature dies, she + * flips various times dealing the 3 damage more than 1 time. + */ + @Test + public void TransformOnlyOnceTest() { + // Flash + // Flying + // Vigilance + // When Archangel Avacyn enters the battlefield, creatures you control gain indestructible until end of turn. + // When a non-Angel creature you control dies, transform Archangel Avacyn at the beginning of the next upkeep. + // Transformed side: Avacyn, the Purifier - Creature 6/5 + // Flying + // When this creature transforms into Avacyn, the Purifier, it deals 3 damage to each other creature and each opponent. + addCard(Zone.BATTLEFIELD, playerA, "Archangel Avacyn"); + addCard(Zone.BATTLEFIELD, playerA, "Wall of Roots"); // 0/5 + addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2); + // Seismic Shudder deals 1 damage to each creature without flying. + addCard(Zone.HAND, playerA, "Seismic Shudder"); // {1}{R} + + addCard(Zone.BATTLEFIELD, playerA, "Elite Vanguard", 3); // 2/1 + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Seismic Shudder"); + setStopAt(2, PhaseStep.DRAW); + execute(); + + assertGraveyardCount(playerA, "Seismic Shudder", 1); + assertGraveyardCount(playerA, "Elite Vanguard", 3); + + assertPermanentCount(playerA, "Wall of Roots", 1); + + assertLife(playerA, 20); + assertLife(playerB, 17); + } } diff --git a/Mage.Tests/src/test/java/org/mage/test/sets/BoosterGenerationTest.java b/Mage.Tests/src/test/java/org/mage/test/sets/BoosterGenerationTest.java index 7803ab3d9d7..aef924826b1 100644 --- a/Mage.Tests/src/test/java/org/mage/test/sets/BoosterGenerationTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/sets/BoosterGenerationTest.java @@ -13,6 +13,8 @@ import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; import org.mage.test.serverside.base.MageTestBase; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * diff --git a/Mage/src/main/java/mage/abilities/common/DiesTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DiesTriggeredAbility.java index 04a19c3c971..541ea59c6db 100644 --- a/Mage/src/main/java/mage/abilities/common/DiesTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/DiesTriggeredAbility.java @@ -83,7 +83,7 @@ public class DiesTriggeredAbility extends ZoneChangeTriggeredAbility { public boolean checkTrigger(GameEvent event, Game game) { if (super.checkTrigger(event, game)) { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; - if (zEvent.getTarget().canTransform()) { + if (zEvent.getTarget().isTransformable()) { if (!zEvent.getTarget().getAbilities().contains(this)) { return false; } diff --git a/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java b/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java index 0204e3bb6e3..1f9ae476889 100644 --- a/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java @@ -459,7 +459,7 @@ public class ContinuousEffects implements Serializable { exists = false; if (object instanceof PermanentCard) { PermanentCard permanent = (PermanentCard) object; - if (permanent.canTransform() && event.getType() == GameEvent.EventType.TRANSFORMED) { + if (permanent.isTransformable() && event.getType() == GameEvent.EventType.TRANSFORMED) { exists = permanent.getCard().getAbilities().contains(ability); } } diff --git a/Mage/src/main/java/mage/abilities/effects/RestrictionEffect.java b/Mage/src/main/java/mage/abilities/effects/RestrictionEffect.java index c861c5515ca..e206cb218cc 100644 --- a/Mage/src/main/java/mage/abilities/effects/RestrictionEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/RestrictionEffect.java @@ -84,7 +84,7 @@ public abstract class RestrictionEffect extends ContinuousEffectImpl { public boolean canBeBlocked(Permanent attacker, Permanent blocker, Ability source, Game game) { return true; } - + /** * Called for all attackers after all blocking decisions are made * @@ -106,7 +106,7 @@ public abstract class RestrictionEffect extends ContinuousEffectImpl { return true; } - public boolean canTransform(Game game) { + public boolean canTransform(Permanent permanent, Ability source, Game game) { return true; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/CantAttackBlockTransformAttachedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CantAttackBlockTransformAttachedEffect.java index e859ca47c31..6428f841a55 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CantAttackBlockTransformAttachedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CantAttackBlockTransformAttachedEffect.java @@ -15,8 +15,8 @@ import mage.game.permanent.Permanent; * * @author halljared */ -public class CantAttackBlockTransformAttachedEffect extends RestrictionEffect{ - +public class CantAttackBlockTransformAttachedEffect extends RestrictionEffect { + public CantAttackBlockTransformAttachedEffect() { super(Duration.WhileOnBattlefield); staticText = "Enchanted creature can't attack, block, or transform."; @@ -36,7 +36,7 @@ public class CantAttackBlockTransformAttachedEffect extends RestrictionEffect{ } return false; } - + @Override public boolean canAttack(Game game) { return false; @@ -48,7 +48,7 @@ public class CantAttackBlockTransformAttachedEffect extends RestrictionEffect{ } @Override - public boolean canTransform(Game game) { + public boolean canTransform(Permanent permanent, Ability source, Game game) { return false; } @@ -56,5 +56,5 @@ public class CantAttackBlockTransformAttachedEffect extends RestrictionEffect{ public CantAttackBlockTransformAttachedEffect copy() { return new CantAttackBlockTransformAttachedEffect(this); } - + } diff --git a/Mage/src/main/java/mage/abilities/effects/common/TransformSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/TransformSourceEffect.java index 8102c8bf935..731e98c968c 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/TransformSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/TransformSourceEffect.java @@ -73,7 +73,7 @@ public class TransformSourceEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Permanent permanent = game.getPermanent(source.getSourceId()); if (permanent != null) { - if (permanent.canTransform(game)) { + if (permanent.canTransform(source, game)) { // check not to transform twice the same side if (permanent.isTransformed() != fromDayToNight) { if (withoutTrigger) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/TransformTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/TransformTargetEffect.java index 2de2466cbf6..1508c07afc4 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/TransformTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/TransformTargetEffect.java @@ -46,7 +46,7 @@ public class TransformTargetEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source)); if (permanent != null) { - if (permanent.canTransform(game)) { + if (permanent.canTransform(source, game)) { // check not to transform twice the same side if (withoutTrigger) { permanent.setTransformed(!permanent.isTransformed()); diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesFaceDownCreatureAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesFaceDownCreatureAllEffect.java index ab16ec1f15a..125313b4472 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesFaceDownCreatureAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/BecomesFaceDownCreatureAllEffect.java @@ -81,7 +81,7 @@ public class BecomesFaceDownCreatureAllEffect extends ContinuousEffectImpl imple public void init(Ability source, Game game) { super.init(source, game); for (Permanent perm: game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { - if (!perm.isFaceDown(game) && !perm.canTransform()) { + if (!perm.isFaceDown(game) && !perm.isTransformable()) { affectedObjectList.add(new MageObjectReference(perm, game)); perm.setFaceDown(true, game); // check for Morph diff --git a/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java b/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java index 5a962a96b84..99ebe7ad270 100644 --- a/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java @@ -38,13 +38,11 @@ public class RepairAbility extends DiesTriggeredAbility { super(new AddCountersSourceEffect(CounterType.REPAIR.createInstance(), new StaticValue(count), false, true)); addSubAbility(new RepairBeginningOfUpkeepTriggeredAbility()); addSubAbility(new RepairCastFromGraveyardTriggeredAbility()); - - StringBuilder sb = new StringBuilder("Repair "); - sb.append(count) - .append(" (When this creature dies, put ") - .append(count) - .append(" repair counters on it. At the beggining of your upkeep, remove a repair counter. Whenever the last is removed, you may cast it from graveyard until end of turn.)"); - ruleText = sb.toString(); + + ruleText = "Repair " + count + " (When this creature dies, put " + count + + " repair counters on it. At the beggining of your upkeep, remove a repair counter. " + + "Whenever the last is removed, you may cast it from graveyard until end of turn.)"; + } public RepairAbility(final RepairAbility ability) { diff --git a/Mage/src/main/java/mage/abilities/keyword/TransformAbility.java b/Mage/src/main/java/mage/abilities/keyword/TransformAbility.java index a46b8fe347a..d9110c7a06b 100644 --- a/Mage/src/main/java/mage/abilities/keyword/TransformAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/TransformAbility.java @@ -44,9 +44,9 @@ public class TransformAbility extends SimpleStaticAbility { public static final String NO_SPELLS_TRANSFORM_RULE = "At the beginning of each upkeep, if no spells were cast last turn, transform {this}."; public static final String TWO_OR_MORE_SPELLS_TRANSFORM_RULE = "At the beginning of each upkeep, if a player cast two or more spells last turn, transform {this}."; - // this state value controlls if a permanent enters the battlefield already transformed + // this state value controlls if a permanent enters the battlefield already transformed public static final String VALUE_KEY_ENTER_TRANSFORMED = "EnterTransformed"; - + public TransformAbility() { super(Zone.BATTLEFIELD, new TransformEffect()); } @@ -94,6 +94,7 @@ public class TransformAbility extends SimpleStaticAbility { } permanent.getPower().setValue(sourceCard.getPower().getValue()); permanent.getToughness().setValue(sourceCard.getToughness().getValue()); + permanent.setTransformable(sourceCard.isTransformable()); } } diff --git a/Mage/src/main/java/mage/cards/Card.java b/Mage/src/main/java/mage/cards/Card.java index abea174164f..a5a07f3dfaa 100644 --- a/Mage/src/main/java/mage/cards/Card.java +++ b/Mage/src/main/java/mage/cards/Card.java @@ -66,7 +66,7 @@ public interface Card extends MageObject { String getExpansionSetCode(); String getTokenSetCode(); - + String getTokenDescriptor(); void checkForCountersToAdd(Permanent permanent, Game game); @@ -85,7 +85,9 @@ public interface Card extends MageObject { boolean isSplitCard(); - boolean canTransform(); + boolean isTransformable(); + + void setTransformable(boolean transformable); Card getSecondCardFace(); diff --git a/Mage/src/main/java/mage/cards/CardImpl.java b/Mage/src/main/java/mage/cards/CardImpl.java index 3e1b8d18a9b..3088508e1ce 100644 --- a/Mage/src/main/java/mage/cards/CardImpl.java +++ b/Mage/src/main/java/mage/cards/CardImpl.java @@ -71,7 +71,7 @@ public abstract class CardImpl extends MageObjectImpl implements Card { protected String tokenSetCode; protected String tokenDescriptor; protected Rarity rarity; - protected boolean canTransform; + protected boolean transformable; protected Card secondSideCard; protected boolean nightCard; protected SpellAbility spellAbility; @@ -139,8 +139,8 @@ public abstract class CardImpl extends MageObjectImpl implements Card { tokenDescriptor = card.tokenDescriptor; rarity = card.rarity; - canTransform = card.canTransform; - if (canTransform) { + transformable = card.transformable; + if (transformable) { secondSideCard = card.secondSideCard; nightCard = card.nightCard; } @@ -532,8 +532,13 @@ public abstract class CardImpl extends MageObjectImpl implements Card { } @Override - public boolean canTransform() { - return this.canTransform; + public boolean isTransformable() { + return this.transformable; + } + + @Override + public void setTransformable(boolean transformable) { + this.transformable = transformable; } @Override diff --git a/Mage/src/main/java/mage/cards/repository/CardInfo.java b/Mage/src/main/java/mage/cards/repository/CardInfo.java index cf6f5423282..3184304546a 100644 --- a/Mage/src/main/java/mage/cards/repository/CardInfo.java +++ b/Mage/src/main/java/mage/cards/repository/CardInfo.java @@ -134,7 +134,7 @@ public class CardInfo { this.flipCard = card.isFlipCard(); this.flipCardName = card.getFlipCardName(); - this.doubleFaced = card.canTransform() && card.getSecondCardFace() != null; + this.doubleFaced = card.isTransformable() && card.getSecondCardFace() != null; this.nightCard = card.isNightCard(); Card secondSide = card.getSecondCardFace(); if (secondSide != null) { diff --git a/Mage/src/main/java/mage/game/permanent/Permanent.java b/Mage/src/main/java/mage/game/permanent/Permanent.java index 9d8be10a821..fe6f7264337 100644 --- a/Mage/src/main/java/mage/game/permanent/Permanent.java +++ b/Mage/src/main/java/mage/game/permanent/Permanent.java @@ -37,7 +37,6 @@ import mage.abilities.Ability; import mage.cards.Card; import mage.constants.Rarity; import mage.constants.Zone; -import mage.counters.Counters; import mage.game.Controllable; import mage.game.Game; import mage.game.GameState; @@ -251,10 +250,11 @@ public interface Permanent extends Card, Controllable { /** * Checks by restriction effects if the permanent can transform * + * @param ability the ability that causes the transform * @param game * @return true - permanent can transform */ - boolean canTransform(Game game); + boolean canTransform(Ability ability, Game game); boolean removeFromCombat(Game game); diff --git a/Mage/src/main/java/mage/game/permanent/PermanentCard.java b/Mage/src/main/java/mage/game/permanent/PermanentCard.java index 731b0d19565..7bd37b9201f 100644 --- a/Mage/src/main/java/mage/game/permanent/PermanentCard.java +++ b/Mage/src/main/java/mage/game/permanent/PermanentCard.java @@ -71,7 +71,7 @@ public class PermanentCard extends PermanentImpl { if (card instanceof LevelerCard) { maxLevelCounters = ((LevelerCard) card).getMaxLevelCounters(); } - if (canTransform()) { + if (isTransformable()) { if (game.getState().getValue(TransformAbility.VALUE_KEY_ENTER_TRANSFORMED + getId()) != null) { game.getState().setValue(TransformAbility.VALUE_KEY_ENTER_TRANSFORMED + getId(), null); setTransformed(true); @@ -129,8 +129,8 @@ public class PermanentCard extends PermanentImpl { this.cardNumber = card.getCardNumber(); this.usesVariousArt = card.getUsesVariousArt(); - canTransform = card.canTransform(); - if (canTransform) { + transformable = card.isTransformable(); + if (transformable) { secondSideCard = card.getSecondCardFace(); nightCard = card.isNightCard(); } diff --git a/Mage/src/main/java/mage/game/permanent/PermanentImpl.java b/Mage/src/main/java/mage/game/permanent/PermanentImpl.java index fa4319cbecc..1723622a756 100644 --- a/Mage/src/main/java/mage/game/permanent/PermanentImpl.java +++ b/Mage/src/main/java/mage/game/permanent/PermanentImpl.java @@ -455,7 +455,7 @@ public abstract class PermanentImpl extends CardImpl implements Permanent { @Override public boolean transform(Game game) { - if (canTransform) { + if (transformable) { if (!replaceEvent(EventType.TRANSFORM, game)) { setTransformed(!transformed); game.applyEffects(); @@ -1111,9 +1111,9 @@ public abstract class PermanentImpl extends CardImpl implements Permanent { } //20101001 - 509.1b - for (Map.Entry entry : game.getContinuousEffects().getApplicableRestrictionEffects(this, game).entrySet()) { - RestrictionEffect effect = (RestrictionEffect) entry.getKey(); - for (Ability ability : (HashSet) entry.getValue()) { + for (Map.Entry> entry : game.getContinuousEffects().getApplicableRestrictionEffects(this, game).entrySet()) { + RestrictionEffect effect = entry.getKey(); + for (Ability ability : entry.getValue()) { if (!effect.canBlock(null, this, ability, game)) { return false; } @@ -1132,30 +1132,30 @@ public abstract class PermanentImpl extends CardImpl implements Permanent { */ @Override public boolean canUseActivatedAbilities(Game game) { - for (Map.Entry entry : game.getContinuousEffects().getApplicableRestrictionEffects(this, game).entrySet()) { - RestrictionEffect effect = (RestrictionEffect) entry.getKey(); - for (Ability ability : (HashSet) entry.getValue()) { + for (Map.Entry> entry : game.getContinuousEffects().getApplicableRestrictionEffects(this, game).entrySet()) { + RestrictionEffect effect = entry.getKey(); + for (Ability ability : entry.getValue()) { if (!effect.canUseActivatedAbilities(this, ability, game)) { return false; } } } - return true; } @Override - public boolean canTransform(Game game) { - for (Map.Entry entry : game.getContinuousEffects().getApplicableRestrictionEffects(this, game).entrySet()) { - RestrictionEffect effect = (RestrictionEffect) entry.getKey(); - for (Ability ability : (HashSet) entry.getValue()) { - if (!effect.canTransform(game)) { - return false; + public boolean canTransform(Ability source, Game game) { + if (transformable) { + for (Map.Entry> entry : game.getContinuousEffects().getApplicableRestrictionEffects(this, game).entrySet()) { + RestrictionEffect effect = entry.getKey(); + for (Ability ability : entry.getValue()) { + if (!effect.canTransform(this, ability, game)) { + return false; + } } } } - - return true; + return transformable; } @Override diff --git a/Mage/src/main/java/mage/game/stack/Spell.java b/Mage/src/main/java/mage/game/stack/Spell.java index f587a9ed7ab..bffef3e5ba2 100644 --- a/Mage/src/main/java/mage/game/stack/Spell.java +++ b/Mage/src/main/java/mage/game/stack/Spell.java @@ -646,7 +646,7 @@ public class Spell extends StackObjImpl implements Card { } @Override - public boolean canTransform() { + public boolean isTransformable() { return false; } @@ -804,6 +804,11 @@ public class Spell extends StackObjImpl implements Card { throw new UnsupportedOperationException("Unsupported operation"); } + @Override + public void setTransformable(boolean value) { + throw new UnsupportedOperationException("Unsupported operation"); + } + @Override public int getZoneChangeCounter(Game game) { return card.getZoneChangeCounter(game); diff --git a/Mage/src/main/java/mage/util/CardUtil.java b/Mage/src/main/java/mage/util/CardUtil.java index 19a6ea36bb2..a007722f8fd 100644 --- a/Mage/src/main/java/mage/util/CardUtil.java +++ b/Mage/src/main/java/mage/util/CardUtil.java @@ -640,7 +640,7 @@ public class CardUtil { mana.setWhite(true); } } - if (card.canTransform()) { + if (card.isTransformable()) { Card secondCard = card.getSecondCardFace(); ObjectColor color = secondCard.getColor(null); mana.setBlack(mana.isBlack() || color.isBlack());