mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
changed some small issues
This commit is contained in:
parent
8463d693d4
commit
ef38ff10e9
4 changed files with 59 additions and 49 deletions
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.MageObject;
|
import mage.MageObject;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
@ -9,26 +8,23 @@ import mage.abilities.common.AsEntersBattlefieldAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.effects.ContinuousRuleModifyingEffectImpl;
|
import mage.abilities.effects.ContinuousRuleModifyingEffectImpl;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.constants.SubType;
|
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.abilities.keyword.VigilanceAbility;
|
|
||||||
import mage.abilities.keyword.TrampleAbility;
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
|
import mage.abilities.keyword.VigilanceAbility;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.choices.ChoiceImpl;
|
import mage.choices.ChoiceImpl;
|
||||||
import mage.constants.CardType;
|
import mage.constants.*;
|
||||||
import mage.constants.Duration;
|
|
||||||
import mage.constants.Outcome;
|
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.events.GameEvent;
|
import mage.game.events.GameEvent;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.util.CardUtil;
|
import mage.util.CardUtil;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class ArchonOfValorsReach extends CardImpl {
|
public final class ArchonOfValorsReach extends CardImpl {
|
||||||
|
@ -56,7 +52,7 @@ public final class ArchonOfValorsReach extends CardImpl {
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ArchonOfValorsReachReplacementEffect()));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ArchonOfValorsReachReplacementEffect()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArchonOfValorsReach(final ArchonOfValorsReach card) {
|
private ArchonOfValorsReach(final ArchonOfValorsReach card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,14 +64,12 @@ public final class ArchonOfValorsReach extends CardImpl {
|
||||||
|
|
||||||
class ArchonOfValorsReachChooseEffect extends OneShotEffect {
|
class ArchonOfValorsReachChooseEffect extends OneShotEffect {
|
||||||
|
|
||||||
public static String VALUE_KEY = "_cardtype";
|
ArchonOfValorsReachChooseEffect() {
|
||||||
|
|
||||||
public ArchonOfValorsReachChooseEffect() {
|
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "choose artifact, enchantment, instant, sorcery, or planeswalker";
|
this.staticText = "choose artifact, enchantment, instant, sorcery, or planeswalker";
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArchonOfValorsReachChooseEffect(final ArchonOfValorsReachChooseEffect effect) {
|
private ArchonOfValorsReachChooseEffect(final ArchonOfValorsReachChooseEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +90,7 @@ class ArchonOfValorsReachChooseEffect extends OneShotEffect {
|
||||||
if (controller.choose(Outcome.Neutral, choices, game)) {
|
if (controller.choose(Outcome.Neutral, choices, game)) {
|
||||||
game.informPlayers(mageObject.getName() + ": Chosen card type is " + choices.getChoice());
|
game.informPlayers(mageObject.getName() + ": Chosen card type is " + choices.getChoice());
|
||||||
System.out.println(mageObject.getId());
|
System.out.println(mageObject.getId());
|
||||||
game.getState().setValue(mageObject.getId().toString() + VALUE_KEY, choices.getChoice());
|
game.getState().setValue(mageObject.getId().toString() + "_cardtype", choices.getChoice());
|
||||||
if (mageObject instanceof Permanent) {
|
if (mageObject instanceof Permanent) {
|
||||||
((Permanent) mageObject).addInfo("chosen color", CardUtil.addToolTipMarkTags("Chosen card type: " + choices.getChoice()), game);
|
((Permanent) mageObject).addInfo("chosen color", CardUtil.addToolTipMarkTags("Chosen card type: " + choices.getChoice()), game);
|
||||||
}
|
}
|
||||||
|
@ -109,7 +103,7 @@ class ArchonOfValorsReachChooseEffect extends OneShotEffect {
|
||||||
|
|
||||||
class ArchonOfValorsReachChoice extends ChoiceImpl {
|
class ArchonOfValorsReachChoice extends ChoiceImpl {
|
||||||
|
|
||||||
public ArchonOfValorsReachChoice() {
|
ArchonOfValorsReachChoice() {
|
||||||
super(true);
|
super(true);
|
||||||
this.choices.add("Artifact");
|
this.choices.add("Artifact");
|
||||||
this.choices.add("Enchantment");
|
this.choices.add("Enchantment");
|
||||||
|
@ -119,7 +113,7 @@ class ArchonOfValorsReachChoice extends ChoiceImpl {
|
||||||
this.message = "Choose artifact, enchantment, instant, sorcery, or planeswalker";
|
this.message = "Choose artifact, enchantment, instant, sorcery, or planeswalker";
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArchonOfValorsReachChoice(final ArchonOfValorsReachChoice choice) {
|
private ArchonOfValorsReachChoice(final ArchonOfValorsReachChoice choice) {
|
||||||
super(choice);
|
super(choice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,7 +148,7 @@ class ArchonOfValorsReachReplacementEffect extends ContinuousRuleModifyingEffect
|
||||||
staticText = "Players can't cast spells of the chosen type";
|
staticText = "Players can't cast spells of the chosen type";
|
||||||
}
|
}
|
||||||
|
|
||||||
ArchonOfValorsReachReplacementEffect(final ArchonOfValorsReachReplacementEffect effect) {
|
private ArchonOfValorsReachReplacementEffect(final ArchonOfValorsReachReplacementEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
import mage.MageObject;
|
import mage.MageObject;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.dynamicvalue.DynamicValue;
|
import mage.abilities.dynamicvalue.DynamicValue;
|
||||||
|
@ -27,6 +26,10 @@ import mage.target.common.TargetAnyTargetAmount;
|
||||||
import mage.target.targetpointer.FixedTarget;
|
import mage.target.targetpointer.FixedTarget;
|
||||||
import mage.watchers.Watcher;
|
import mage.watchers.Watcher;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GATECRASH FAQ 11.01.2013
|
* GATECRASH FAQ 11.01.2013
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -67,7 +70,7 @@ public final class AureliasFury extends CardImpl {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public AureliasFury(final AureliasFury card) {
|
private AureliasFury(final AureliasFury card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,12 +82,12 @@ public final class AureliasFury extends CardImpl {
|
||||||
|
|
||||||
class AureliasFuryEffect extends OneShotEffect {
|
class AureliasFuryEffect extends OneShotEffect {
|
||||||
|
|
||||||
public AureliasFuryEffect() {
|
AureliasFuryEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "Tap each creature dealt damage this way. Players dealt damage this way can't cast noncreature spells this turn";
|
this.staticText = "Tap each creature dealt damage this way. Players dealt damage this way can't cast noncreature spells this turn";
|
||||||
}
|
}
|
||||||
|
|
||||||
public AureliasFuryEffect(final AureliasFuryEffect effect) {
|
private AureliasFuryEffect(final AureliasFuryEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,13 +100,13 @@ class AureliasFuryEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
AureliasFuryDamagedByWatcher watcher = (AureliasFuryDamagedByWatcher) game.getState().getWatchers().get(AureliasFuryDamagedByWatcher.class.getSimpleName(), source.getSourceId());
|
AureliasFuryDamagedByWatcher watcher = (AureliasFuryDamagedByWatcher) game.getState().getWatchers().get(AureliasFuryDamagedByWatcher.class.getSimpleName(), source.getSourceId());
|
||||||
if (watcher != null) {
|
if (watcher != null) {
|
||||||
for (UUID creatureId : watcher.damagedCreatures) {
|
for (UUID creatureId : watcher.getDamagedCreatures()) {
|
||||||
Permanent permanent = game.getPermanent(creatureId);
|
Permanent permanent = game.getPermanent(creatureId);
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.tap(game);
|
permanent.tap(game);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (UUID playerId : watcher.damagedPlayers) {
|
for (UUID playerId : watcher.getDamagedPlayers()) {
|
||||||
ContinuousEffect effect = new AureliasFuryCantCastEffect();
|
ContinuousEffect effect = new AureliasFuryCantCastEffect();
|
||||||
effect.setTargetPointer(new FixedTarget(playerId));
|
effect.setTargetPointer(new FixedTarget(playerId));
|
||||||
game.addEffect(effect, source);
|
game.addEffect(effect, source);
|
||||||
|
@ -117,12 +120,12 @@ class AureliasFuryEffect extends OneShotEffect {
|
||||||
|
|
||||||
class AureliasFuryCantCastEffect extends ContinuousRuleModifyingEffectImpl {
|
class AureliasFuryCantCastEffect extends ContinuousRuleModifyingEffectImpl {
|
||||||
|
|
||||||
public AureliasFuryCantCastEffect() {
|
AureliasFuryCantCastEffect() {
|
||||||
super(Duration.EndOfTurn, Outcome.Benefit);
|
super(Duration.EndOfTurn, Outcome.Benefit);
|
||||||
staticText = "Players dealt damage this way can't cast noncreature spells this turn";
|
staticText = "Players dealt damage this way can't cast noncreature spells this turn";
|
||||||
}
|
}
|
||||||
|
|
||||||
public AureliasFuryCantCastEffect(final AureliasFuryCantCastEffect effect) {
|
private AureliasFuryCantCastEffect(final AureliasFuryCantCastEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,14 +168,14 @@ class AureliasFuryCantCastEffect extends ContinuousRuleModifyingEffectImpl {
|
||||||
|
|
||||||
class AureliasFuryDamagedByWatcher extends Watcher {
|
class AureliasFuryDamagedByWatcher extends Watcher {
|
||||||
|
|
||||||
public Set<UUID> damagedCreatures = new HashSet<>();
|
private final Set<UUID> damagedCreatures = new HashSet<>();
|
||||||
public Set<UUID> damagedPlayers = new HashSet<>();
|
private final Set<UUID> damagedPlayers = new HashSet<>();
|
||||||
|
|
||||||
public AureliasFuryDamagedByWatcher() {
|
AureliasFuryDamagedByWatcher() {
|
||||||
super(AureliasFuryDamagedByWatcher.class.getSimpleName(), WatcherScope.CARD);
|
super(AureliasFuryDamagedByWatcher.class.getSimpleName(), WatcherScope.CARD);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AureliasFuryDamagedByWatcher(final AureliasFuryDamagedByWatcher watcher) {
|
private AureliasFuryDamagedByWatcher(final AureliasFuryDamagedByWatcher watcher) {
|
||||||
super(watcher);
|
super(watcher);
|
||||||
this.damagedCreatures.addAll(watcher.damagedCreatures);
|
this.damagedCreatures.addAll(watcher.damagedCreatures);
|
||||||
this.damagedPlayers.addAll(watcher.damagedPlayers);
|
this.damagedPlayers.addAll(watcher.damagedPlayers);
|
||||||
|
@ -210,4 +213,11 @@ class AureliasFuryDamagedByWatcher extends Watcher {
|
||||||
damagedPlayers.clear();
|
damagedPlayers.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Set<UUID> getDamagedCreatures() {
|
||||||
|
return damagedCreatures;
|
||||||
|
}
|
||||||
|
|
||||||
|
Set<UUID> getDamagedPlayers() {
|
||||||
|
return damagedPlayers;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
|
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.ZoneChangeTriggeredAbility;
|
import mage.abilities.common.ZoneChangeTriggeredAbility;
|
||||||
|
@ -15,6 +14,10 @@ import mage.game.events.GameEvent;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.watchers.Watcher;
|
import mage.watchers.Watcher;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author BetaSteward
|
* @author BetaSteward
|
||||||
*/
|
*/
|
||||||
|
@ -35,7 +38,7 @@ public final class CathedralMembrane extends CardImpl {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public CathedralMembrane(final CathedralMembrane card) {
|
private CathedralMembrane(final CathedralMembrane card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,11 +50,11 @@ public final class CathedralMembrane extends CardImpl {
|
||||||
|
|
||||||
class CathedralMembraneAbility extends ZoneChangeTriggeredAbility {
|
class CathedralMembraneAbility extends ZoneChangeTriggeredAbility {
|
||||||
|
|
||||||
public CathedralMembraneAbility() {
|
CathedralMembraneAbility() {
|
||||||
super(Zone.BATTLEFIELD, Zone.GRAVEYARD, new CathedralMembraneEffect(), "When {this} dies during combat, ", false);
|
super(Zone.BATTLEFIELD, Zone.GRAVEYARD, new CathedralMembraneEffect(), "When {this} dies during combat, ", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public CathedralMembraneAbility(CathedralMembraneAbility ability) {
|
private CathedralMembraneAbility(CathedralMembraneAbility ability) {
|
||||||
super(ability);
|
super(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,12 +77,12 @@ class CathedralMembraneAbility extends ZoneChangeTriggeredAbility {
|
||||||
|
|
||||||
class CathedralMembraneEffect extends OneShotEffect {
|
class CathedralMembraneEffect extends OneShotEffect {
|
||||||
|
|
||||||
public CathedralMembraneEffect() {
|
CathedralMembraneEffect() {
|
||||||
super(Outcome.Damage);
|
super(Outcome.Damage);
|
||||||
staticText = "it deals 6 damage to each creature it blocked this combat";
|
staticText = "it deals 6 damage to each creature it blocked this combat";
|
||||||
}
|
}
|
||||||
|
|
||||||
public CathedralMembraneEffect(final CathedralMembraneEffect effect) {
|
private CathedralMembraneEffect(final CathedralMembraneEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +95,7 @@ class CathedralMembraneEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
CathedralMembraneWatcher watcher = (CathedralMembraneWatcher) game.getState().getWatchers().get(CathedralMembraneWatcher.class.getSimpleName(), source.getSourceId());
|
CathedralMembraneWatcher watcher = (CathedralMembraneWatcher) game.getState().getWatchers().get(CathedralMembraneWatcher.class.getSimpleName(), source.getSourceId());
|
||||||
if (watcher != null) {
|
if (watcher != null) {
|
||||||
for (UUID uuid : watcher.blockedCreatures) {
|
for (UUID uuid : watcher.getBlockedCreatures()) {
|
||||||
Permanent permanent = game.getPermanent(uuid);
|
Permanent permanent = game.getPermanent(uuid);
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(6, source.getSourceId(), game, false, true);
|
permanent.damage(6, source.getSourceId(), game, false, true);
|
||||||
|
@ -105,13 +108,13 @@ class CathedralMembraneEffect extends OneShotEffect {
|
||||||
|
|
||||||
class CathedralMembraneWatcher extends Watcher {
|
class CathedralMembraneWatcher extends Watcher {
|
||||||
|
|
||||||
public Set<UUID> blockedCreatures = new HashSet<>();
|
private final Set<UUID> blockedCreatures = new HashSet<>();
|
||||||
|
|
||||||
public CathedralMembraneWatcher() {
|
CathedralMembraneWatcher() {
|
||||||
super(CathedralMembraneWatcher.class.getSimpleName(), WatcherScope.CARD);
|
super(CathedralMembraneWatcher.class.getSimpleName(), WatcherScope.CARD);
|
||||||
}
|
}
|
||||||
|
|
||||||
public CathedralMembraneWatcher(final CathedralMembraneWatcher watcher) {
|
private CathedralMembraneWatcher(final CathedralMembraneWatcher watcher) {
|
||||||
super(watcher);
|
super(watcher);
|
||||||
this.blockedCreatures.addAll(watcher.blockedCreatures);
|
this.blockedCreatures.addAll(watcher.blockedCreatures);
|
||||||
}
|
}
|
||||||
|
@ -134,4 +137,7 @@ class CathedralMembraneWatcher extends Watcher {
|
||||||
blockedCreatures.clear();
|
blockedCreatures.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Set<UUID> getBlockedCreatures() {
|
||||||
|
return blockedCreatures;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ public final class CyclopeanTomb extends CardImpl {
|
||||||
this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new CyclopeanTombCreateTriggeredEffect()));
|
this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new CyclopeanTombCreateTriggeredEffect()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public CyclopeanTomb(final CyclopeanTomb card) {
|
private CyclopeanTomb(final CyclopeanTomb card) {
|
||||||
super(card);
|
super(card);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,12 +72,12 @@ public final class CyclopeanTomb extends CardImpl {
|
||||||
|
|
||||||
class BecomeSwampEffect extends BecomesBasicLandTargetEffect {
|
class BecomeSwampEffect extends BecomesBasicLandTargetEffect {
|
||||||
|
|
||||||
public BecomeSwampEffect(Duration duration, boolean chooseLandType, boolean loseOther, SubType... landNames) {
|
BecomeSwampEffect(Duration duration, boolean chooseLandType, boolean loseOther, SubType... landNames) {
|
||||||
super(duration, chooseLandType, loseOther, landNames);
|
super(duration, chooseLandType, loseOther, landNames);
|
||||||
staticText = "That land is a Swamp for as long as it has a mire counter on it";
|
staticText = "That land is a Swamp for as long as it has a mire counter on it";
|
||||||
}
|
}
|
||||||
|
|
||||||
public BecomeSwampEffect(final BecomeSwampEffect effect) {
|
private BecomeSwampEffect(final BecomeSwampEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,12 +102,12 @@ class BecomeSwampEffect extends BecomesBasicLandTargetEffect {
|
||||||
|
|
||||||
class CyclopeanTombCreateTriggeredEffect extends OneShotEffect {
|
class CyclopeanTombCreateTriggeredEffect extends OneShotEffect {
|
||||||
|
|
||||||
public CyclopeanTombCreateTriggeredEffect() {
|
CyclopeanTombCreateTriggeredEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "at the beginning of each of your upkeeps for the rest of the game, remove all mire counters from a land that a mire counter was put onto with {this} but that a mire counter has not been removed from with {this}";
|
this.staticText = "at the beginning of each of your upkeeps for the rest of the game, remove all mire counters from a land that a mire counter was put onto with {this} but that a mire counter has not been removed from with {this}";
|
||||||
}
|
}
|
||||||
|
|
||||||
public CyclopeanTombCreateTriggeredEffect(final CyclopeanTombCreateTriggeredEffect effect) {
|
private CyclopeanTombCreateTriggeredEffect(final CyclopeanTombCreateTriggeredEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,12 +133,12 @@ class CyclopeanTombCreateTriggeredEffect extends OneShotEffect {
|
||||||
|
|
||||||
class CyclopeanTombEffect extends OneShotEffect {
|
class CyclopeanTombEffect extends OneShotEffect {
|
||||||
|
|
||||||
public CyclopeanTombEffect() {
|
CyclopeanTombEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "At the beginning of each of your upkeeps for the rest of the game, remove all mire counters from a land that a mire counter was put onto with {this} but that a mire counter has not been removed from with {this}";
|
this.staticText = "At the beginning of each of your upkeeps for the rest of the game, remove all mire counters from a land that a mire counter was put onto with {this} but that a mire counter has not been removed from with {this}";
|
||||||
}
|
}
|
||||||
|
|
||||||
public CyclopeanTombEffect(final CyclopeanTombEffect effect) {
|
private CyclopeanTombEffect(final CyclopeanTombEffect effect) {
|
||||||
super(effect);
|
super(effect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -190,13 +190,13 @@ class CyclopeanTombEffect extends OneShotEffect {
|
||||||
|
|
||||||
class CyclopeanTombCounterWatcher extends Watcher {
|
class CyclopeanTombCounterWatcher extends Watcher {
|
||||||
|
|
||||||
public HashMap<MageObjectReference, Set<MageObjectReference>> counterData = new HashMap<>();
|
private final HashMap<MageObjectReference, Set<MageObjectReference>> counterData = new HashMap<>();
|
||||||
|
|
||||||
public CyclopeanTombCounterWatcher() {
|
CyclopeanTombCounterWatcher() {
|
||||||
super(CyclopeanTombCounterWatcher.class.getSimpleName(), WatcherScope.GAME);
|
super(CyclopeanTombCounterWatcher.class.getSimpleName(), WatcherScope.GAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
public CyclopeanTombCounterWatcher(final CyclopeanTombCounterWatcher watcher) {
|
private CyclopeanTombCounterWatcher(final CyclopeanTombCounterWatcher watcher) {
|
||||||
super(watcher);
|
super(watcher);
|
||||||
for (MageObjectReference mageObjectReference : watcher.counterData.keySet()) {
|
for (MageObjectReference mageObjectReference : watcher.counterData.keySet()) {
|
||||||
Set<MageObjectReference> miredLands = new HashSet<>();
|
Set<MageObjectReference> miredLands = new HashSet<>();
|
||||||
|
|
Loading…
Reference in a new issue