From fe2ff3cc3543b9048f9fc017ce7effca6436692a Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 26 Feb 2014 12:31:21 +0100 Subject: [PATCH] Renamed HasCounterCondition to SourceHasCounterCondition. --- .../src/mage/sets/betrayersofkamigawa/BudokaPupil.java | 4 ++-- .../src/mage/sets/betrayersofkamigawa/CallowJushi.java | 4 ++-- .../src/mage/sets/betrayersofkamigawa/CunningBandit.java | 4 ++-- .../src/mage/sets/betrayersofkamigawa/FaithfulSquire.java | 4 ++-- .../src/mage/sets/betrayersofkamigawa/HiredMuscle.java | 4 ++-- .../sets/championsofkamigawa/MyojinOfCleansingFire.java | 4 ++-- .../sets/championsofkamigawa/MyojinOfInfiniteRage.java | 4 ++-- .../mage/sets/championsofkamigawa/MyojinOfLifesWeb.java | 4 ++-- .../sets/championsofkamigawa/MyojinOfNightsReach.java | 4 ++-- .../sets/championsofkamigawa/MyojinOfSeeingWinds.java | 4 ++-- Mage.Sets/src/mage/sets/commander2013/SunDroplet.java | 4 ++-- Mage.Sets/src/mage/sets/eventide/HelixPinnacle.java | 4 ++-- Mage.Sets/src/mage/sets/eventide/Thunderblust.java | 4 ++-- Mage.Sets/src/mage/sets/magic2012/PrimordialHydra.java | 4 ++-- Mage.Sets/src/mage/sets/returntoravnica/ChaosImps.java | 4 ++-- Mage.Sets/src/mage/sets/returntoravnica/ManaBloom.java | 4 ++-- Mage.Sets/src/mage/sets/worldwake/QuestForRenewal.java | 4 ++-- .../src/mage/sets/worldwake/QuestForTheGoblinLord.java | 4 ++-- Mage.Sets/src/mage/sets/zendikar/BloodchiefAscension.java | 4 ++-- ...unterCondition.java => SourceHasCounterCondition.java} | 8 ++++---- Mage/src/mage/abilities/keyword/LevelerCardBuilder.java | 4 ++-- Mage/src/mage/cards/decks/importer/TxtDeckImporter.java | 3 +++ 22 files changed, 47 insertions(+), 44 deletions(-) rename Mage/src/mage/abilities/condition/common/{HasCounterCondition.java => SourceHasCounterCondition.java} (92%) diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/BudokaPupil.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/BudokaPupil.java index af515d53923..7f78da071a9 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/BudokaPupil.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/BudokaPupil.java @@ -35,7 +35,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.common.FlippedCondition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.decorator.ConditionalTriggeredAbility; @@ -81,7 +81,7 @@ public class BudokaPupil extends CardImpl { // At the beginning of the end step, if there are two or more ki counters on Budoka Pupil, you may flip it. this.addAbility(new ConditionalTriggeredAbility( new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect()), - new HasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE), + new SourceHasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE), "At the beginning of the end step, if there are two or more ki counters on {this}, you may flip it.", true)); Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new CopyTokenEffect(new IchigaWhoTopplesOaks()), FlippedCondition.getInstance(), "")); diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/CallowJushi.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/CallowJushi.java index 4dc3ec16281..a75d876d190 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/CallowJushi.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/CallowJushi.java @@ -35,7 +35,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.common.FlippedCondition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.decorator.ConditionalContinousEffect; @@ -80,7 +80,7 @@ public class CallowJushi extends CardImpl { // At the beginning of the end step, if there are two or more ki counters on Callow Jushi, you may flip it. this.addAbility(new ConditionalTriggeredAbility( new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect()), - new HasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE), + new SourceHasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE), "At the beginning of the end step, if there are two or more ki counters on {this}, you may flip it.", true)); Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new CopyTokenEffect(new JarakuTheInterloper()), FlippedCondition.getInstance(), "")); diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/CunningBandit.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/CunningBandit.java index 76b2f43d65e..1f13aa03b3e 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/CunningBandit.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/CunningBandit.java @@ -35,7 +35,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.common.FlippedCondition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.decorator.ConditionalTriggeredAbility; @@ -80,7 +80,7 @@ public class CunningBandit extends CardImpl { // At the beginning of the end step, if there are two or more ki counters on Cunning Bandit, you may flip it. this.addAbility(new ConditionalTriggeredAbility( new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect()), - new HasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE), + new SourceHasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE), "At the beginning of the end step, if there are two or more ki counters on {this}, you may flip it.", true)); Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new CopyTokenEffect(new AzamukiTreacheryIncarnate()), FlippedCondition.getInstance(), "")); diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/FaithfulSquire.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/FaithfulSquire.java index cff63a95164..7fb190ca6ab 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/FaithfulSquire.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/FaithfulSquire.java @@ -38,7 +38,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.*; import mage.abilities.condition.common.FlippedCondition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.decorator.ConditionalTriggeredAbility; @@ -81,7 +81,7 @@ public class FaithfulSquire extends CardImpl { // At the beginning of the end step, if there are two or more ki counters on Faithful Squire, you may flip it this.addAbility(new ConditionalTriggeredAbility( new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect()), - new HasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE), + new SourceHasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE), "At the beginning of the end step, if there are two or more ki counters on {this}, you may flip it.", true)); Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new CopyTokenEffect(new KaisoMemoryOfLoyalty()), FlippedCondition.getInstance(), "")); diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/HiredMuscle.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/HiredMuscle.java index d3960b34753..8c4f6c1b0a4 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/HiredMuscle.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/HiredMuscle.java @@ -35,7 +35,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.common.FlippedCondition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.decorator.ConditionalTriggeredAbility; @@ -82,7 +82,7 @@ public class HiredMuscle extends CardImpl { // At the beginning of the end step, if there are two or more ki counters on Hired Muscle, you may flip it. this.addAbility(new ConditionalTriggeredAbility( new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new FlipSourceEffect()), - new HasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE), + new SourceHasCounterCondition(CounterType.KI, 2, Integer.MAX_VALUE), "At the beginning of the end step, if there are two or more ki counters on {this}, you may flip it.", true)); Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new CopyTokenEffect(new Scarmaker()), FlippedCondition.getInstance(), "")); diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfCleansingFire.java b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfCleansingFire.java index 9a45c3068df..03e64854e01 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfCleansingFire.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfCleansingFire.java @@ -36,7 +36,7 @@ import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CastFromHandCondition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -78,7 +78,7 @@ public class MyojinOfCleansingFire extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.DIVINITY.createInstance()), new CastFromHandCondition(), ""), "{this} enters the battlefield with a divinity counter on it if you cast it from your hand")); // Myojin of Cleansing Fire is indestructible as long as it has a divinity counter on it. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield), - new HasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); + new SourceHasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); // Remove a divinity counter from Myojin of Cleansing Fire: Destroy all other creatures. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filter), new RemoveCountersSourceCost(CounterType.DIVINITY.createInstance()))); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfInfiniteRage.java b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfInfiniteRage.java index 0e4616f11dc..75d45c3a062 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfInfiniteRage.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfInfiniteRage.java @@ -36,7 +36,7 @@ import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CastFromHandCondition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -74,7 +74,7 @@ public class MyojinOfInfiniteRage extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.DIVINITY.createInstance()), new CastFromHandCondition(), ""), "{this} enters the battlefield with a divinity counter on it if you cast it from your hand")); // Myojin of Infinite Rage is indestructible as long as it has a divinity counter on it. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield), - new HasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); + new SourceHasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); // Remove a divinity counter from Myojin of Infinite Rage: Destroy all lands. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filter), new RemoveCountersSourceCost(CounterType.DIVINITY.createInstance()))); } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfLifesWeb.java b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfLifesWeb.java index e2784289d27..66be973a62d 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfLifesWeb.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfLifesWeb.java @@ -36,7 +36,7 @@ import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CastFromHandCondition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -80,7 +80,7 @@ public class MyojinOfLifesWeb extends CardImpl { // Myojin of Life's Web is indestructible as long as it has a divinity counter on it. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield), - new HasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); + new SourceHasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); // Remove a divinity counter from Myojin of Life's Web: Put any number of creature cards from your hand onto the battlefield. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PutOntoBattlefieldTargetEffect(false), new RemoveCountersSourceCost(CounterType.DIVINITY.createInstance())); ability.addTarget(new TargetCardInHand(0, Integer.MAX_VALUE, filter)); diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfNightsReach.java b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfNightsReach.java index 24b15f571eb..c19797a094c 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfNightsReach.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfNightsReach.java @@ -36,7 +36,7 @@ import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CastFromHandCondition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -72,7 +72,7 @@ public class MyojinOfNightsReach extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.DIVINITY.createInstance()), new CastFromHandCondition(), ""), "{this} enters the battlefield with a divinity counter on it if you cast it from your hand")); // Myojin of Night's Reach is indestructible as long as it has a divinity counter on it. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield), - new HasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); + new SourceHasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); // Remove a divinity counter from Myojin of Night's Reach: Each opponent discards his or her hand. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MyojinOfNightsReachEffect(), new RemoveCountersSourceCost(CounterType.DIVINITY.createInstance())); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfSeeingWinds.java b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfSeeingWinds.java index 9c08dfadea7..3e97fc5bdad 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfSeeingWinds.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/MyojinOfSeeingWinds.java @@ -36,7 +36,7 @@ import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CastFromHandCondition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -77,7 +77,7 @@ public class MyojinOfSeeingWinds extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.DIVINITY.createInstance()), new CastFromHandCondition(), ""), "{this} enters the battlefield with a divinity counter on it if you cast it from your hand")); // Myojin of Seeing Winds is indestructible as long as it has a divinity counter on it. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new GainAbilitySourceEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield), - new HasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); + new SourceHasCounterCondition(CounterType.DIVINITY), "{this} is indestructible as long as it has a divinity counter on it"))); // Remove a divinity counter from Myojin of Seeing Winds: Draw a card for each permanent you control. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardControllerEffect(new PermanentsOnBattlefieldCount(filter, 1)), new RemoveCountersSourceCost(CounterType.DIVINITY.createInstance())); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/sets/commander2013/SunDroplet.java b/Mage.Sets/src/mage/sets/commander2013/SunDroplet.java index c805098c8f1..d23d0164554 100644 --- a/Mage.Sets/src/mage/sets/commander2013/SunDroplet.java +++ b/Mage.Sets/src/mage/sets/commander2013/SunDroplet.java @@ -31,7 +31,7 @@ import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.Effect; @@ -64,7 +64,7 @@ public class SunDroplet extends CardImpl { // At the beginning of each upkeep, you may remove a charge counter from Sun Droplet. If you do, you gain 1 life. Effect effect = new DoIfCostPaid(new GainLifeEffect(1),new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1))); this.addAbility(new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.ANY, false), - new HasCounterCondition(CounterType.CHARGE, 1), + new SourceHasCounterCondition(CounterType.CHARGE, 1), "At the beginning of each upkeep, you may remove a charge counter from Sun Droplet. If you do, you gain 1 life", false)); } diff --git a/Mage.Sets/src/mage/sets/eventide/HelixPinnacle.java b/Mage.Sets/src/mage/sets/eventide/HelixPinnacle.java index f52f4874796..b5d4f5a2049 100644 --- a/Mage.Sets/src/mage/sets/eventide/HelixPinnacle.java +++ b/Mage.Sets/src/mage/sets/eventide/HelixPinnacle.java @@ -30,7 +30,7 @@ package mage.sets.eventide; import java.util.UUID; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.dynamicvalue.common.ManacostVariableValue; @@ -69,7 +69,7 @@ public class HelixPinnacle extends CardImpl { // At the beginning of your upkeep, if there are 100 or more tower counters on Helix Pinnacle, you win the game. this.addAbility(new ConditionalTriggeredAbility( new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WinGameEffect(), TargetController.YOU, false), - new HasCounterCondition(CounterType.TOWER, 100), + new SourceHasCounterCondition(CounterType.TOWER, 100), rule, false )); } diff --git a/Mage.Sets/src/mage/sets/eventide/Thunderblust.java b/Mage.Sets/src/mage/sets/eventide/Thunderblust.java index 891d9fbef3f..b3f79353d8f 100644 --- a/Mage.Sets/src/mage/sets/eventide/Thunderblust.java +++ b/Mage.Sets/src/mage/sets/eventide/Thunderblust.java @@ -30,7 +30,7 @@ package mage.sets.eventide; import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.effects.Effect; import mage.abilities.effects.common.continious.GainAbilitySourceEffect; @@ -64,7 +64,7 @@ public class Thunderblust extends CardImpl { this.addAbility(HasteAbility.getInstance()); // Thunderblust has trample as long as it has a -1/-1 counter on it. - Effect effect = new ConditionalContinousEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance()), new HasCounterCondition(CounterType.M1M1), rule); + Effect effect = new ConditionalContinousEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance()), new SourceHasCounterCondition(CounterType.M1M1), rule); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); // Persist diff --git a/Mage.Sets/src/mage/sets/magic2012/PrimordialHydra.java b/Mage.Sets/src/mage/sets/magic2012/PrimordialHydra.java index 22462438b37..9da5bee91c7 100644 --- a/Mage.Sets/src/mage/sets/magic2012/PrimordialHydra.java +++ b/Mage.Sets/src/mage/sets/magic2012/PrimordialHydra.java @@ -35,7 +35,7 @@ import mage.abilities.SpellAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.effects.EntersBattlefieldEffect; import mage.abilities.effects.OneShotEffect; @@ -67,7 +67,7 @@ public class PrimordialHydra extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new PrimordialHydraEntersEffect(), "{this} enters the battlefield with X +1/+1 counters on it")); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PrimordialHydraDoubleEffect(), TargetController.YOU, false)); - ConditionalContinousEffect effect = new ConditionalContinousEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance()), new HasCounterCondition(CounterType.P1P1, 10), staticText); + ConditionalContinousEffect effect = new ConditionalContinousEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance()), new SourceHasCounterCondition(CounterType.P1P1, 10), staticText); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/ChaosImps.java b/Mage.Sets/src/mage/sets/returntoravnica/ChaosImps.java index 4d58901fd7c..f1fcceed80f 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/ChaosImps.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/ChaosImps.java @@ -33,7 +33,7 @@ import mage.constants.Rarity; import mage.constants.Zone; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.effects.common.continious.GainAbilitySourceEffect; import mage.abilities.keyword.FlyingAbility; @@ -66,7 +66,7 @@ public class ChaosImps extends CardImpl { // Chaos Imps has trample as long as it has a +1/+1 counter on it. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance()), - new HasCounterCondition(CounterType.P1P1),"Chaos Imps has trample as long as it has a +1/+1 counter on it"))); + new SourceHasCounterCondition(CounterType.P1P1),"Chaos Imps has trample as long as it has a +1/+1 counter on it"))); } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/ManaBloom.java b/Mage.Sets/src/mage/sets/returntoravnica/ManaBloom.java index ae8276cc0d7..22a00fe703b 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/ManaBloom.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/ManaBloom.java @@ -39,7 +39,7 @@ import mage.abilities.SpellAbility; import mage.abilities.TriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.EntersBattlefieldEffect; @@ -78,7 +78,7 @@ public class ManaBloom extends CardImpl { // At the beginning of your upkeep, if Mana Bloom has no charge counters on it, return it to its owner's hand. TriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandSourceEffect(), TargetController.YOU, false); - this.addAbility(new ConditionalTriggeredAbility(triggeredAbility, new HasCounterCondition(CounterType.CHARGE, 0,0), "At the beginning of your upkeep, if Mana Bloom has no charge counters on it, return it to its owner's hand.")); + this.addAbility(new ConditionalTriggeredAbility(triggeredAbility, new SourceHasCounterCondition(CounterType.CHARGE, 0,0), "At the beginning of your upkeep, if Mana Bloom has no charge counters on it, return it to its owner's hand.")); } diff --git a/Mage.Sets/src/mage/sets/worldwake/QuestForRenewal.java b/Mage.Sets/src/mage/sets/worldwake/QuestForRenewal.java index e570a5ec014..1821d920734 100644 --- a/Mage.Sets/src/mage/sets/worldwake/QuestForRenewal.java +++ b/Mage.Sets/src/mage/sets/worldwake/QuestForRenewal.java @@ -30,7 +30,7 @@ package mage.sets.worldwake; import java.util.UUID; import mage.abilities.common.BecomesTappedCreatureControlledTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.effects.common.continious.UntapAllDuringEachOtherPlayersUntapStepEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -61,7 +61,7 @@ public class QuestForRenewal extends CardImpl { // As long as there are four or more quest counters on Quest for Renewal, untap all creatures you control during each other player's untap step. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect( new UntapAllDuringEachOtherPlayersUntapStepEffect(filter), - new HasCounterCondition(CounterType.QUEST, 4), + new SourceHasCounterCondition(CounterType.QUEST, 4), "As long as there are four or more quest counters on {this}, untap all creatures you control during each other player's untap step.", false))); } diff --git a/Mage.Sets/src/mage/sets/worldwake/QuestForTheGoblinLord.java b/Mage.Sets/src/mage/sets/worldwake/QuestForTheGoblinLord.java index c0ed6d267fa..9980d0e2ef6 100644 --- a/Mage.Sets/src/mage/sets/worldwake/QuestForTheGoblinLord.java +++ b/Mage.Sets/src/mage/sets/worldwake/QuestForTheGoblinLord.java @@ -36,7 +36,7 @@ import mage.constants.TargetController; import mage.constants.Zone; import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.decorator.ConditionalContinousEffect; import mage.abilities.effects.common.continious.BoostAllEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -73,7 +73,7 @@ public class QuestForTheGoblinLord extends CardImpl { this.addAbility(new EntersBattlefieldControlledTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.QUEST.createInstance()), goblinFilter, true)); // As long as Quest for the Goblin Lord has five or more quest counters on it, creatures you control get +2/+0. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostAllEffect(2, 0, Duration.WhileOnBattlefield, filter, false), new HasCounterCondition(CounterType.QUEST, 5, Integer.MAX_VALUE), rule))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(new BoostAllEffect(2, 0, Duration.WhileOnBattlefield, filter, false), new SourceHasCounterCondition(CounterType.QUEST, 5, Integer.MAX_VALUE), rule))); } public QuestForTheGoblinLord(final QuestForTheGoblinLord card) { diff --git a/Mage.Sets/src/mage/sets/zendikar/BloodchiefAscension.java b/Mage.Sets/src/mage/sets/zendikar/BloodchiefAscension.java index 4a26d7788ff..f8a22358234 100644 --- a/Mage.Sets/src/mage/sets/zendikar/BloodchiefAscension.java +++ b/Mage.Sets/src/mage/sets/zendikar/BloodchiefAscension.java @@ -35,7 +35,7 @@ import mage.constants.Zone; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; import mage.abilities.condition.Condition; -import mage.abilities.condition.common.HasCounterCondition; +import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.condition.common.OpponentLostLifeCondition; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; @@ -89,7 +89,7 @@ class BloodchiefAscensionTriggeredAbility extends TriggeredAbilityImpl build() { List constructed = new ArrayList(); - Condition condition = new HasCounterCondition(CounterType.LEVEL, level1, level2); + Condition condition = new SourceHasCounterCondition(CounterType.LEVEL, level1, level2); for (Ability ability : abilities) { ContinuousEffect effect = new GainAbilitySourceEffect(ability); ConditionalContinousEffect abEffect = new ConditionalContinousEffect(effect, condition, ""); diff --git a/Mage/src/mage/cards/decks/importer/TxtDeckImporter.java b/Mage/src/mage/cards/decks/importer/TxtDeckImporter.java index 2aa132282c7..e78758efa24 100644 --- a/Mage/src/mage/cards/decks/importer/TxtDeckImporter.java +++ b/Mage/src/mage/cards/decks/importer/TxtDeckImporter.java @@ -65,6 +65,9 @@ public class TxtDeckImporter extends DeckImporter { } int delim = line.indexOf(' '); + if (delim < 0) { + return; + } String lineNum = line.substring(0, delim).trim(); String lineName = line.substring(delim).replace("’","\'").trim(); if (IGNORE_NAMES.contains(lineName)) {