From 01338b706e76f1a62850c6d8411e4c55d545b818 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Thu, 1 Sep 2011 14:52:31 -0400 Subject: [PATCH] optimized some other watchers --- Mage.Sets/src/mage/sets/magic2011/AngelicArbiter.java | 2 ++ .../src/mage/sets/mirrodinbesieged/RedSunsZenith.java | 2 ++ .../src/mage/sets/riseoftheeldrazi/Vengevine.java | 2 ++ .../src/mage/sets/scarsofmirrodin/FleshAllergy.java | 2 +- .../src/mage/sets/scarsofmirrodin/TunnelIgnus.java | 11 ++++++++--- Mage.Sets/src/mage/sets/worldwake/Groundswell.java | 2 ++ Mage.Sets/src/mage/sets/worldwake/SearingBlaze.java | 2 ++ Mage.Sets/src/mage/sets/zendikar/ArchiveTrap.java | 2 ++ Mage/src/mage/watchers/common/BloodthirstWatcher.java | 2 ++ 9 files changed, 23 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/magic2011/AngelicArbiter.java b/Mage.Sets/src/mage/sets/magic2011/AngelicArbiter.java index a4ea81ef370..452e997e24b 100644 --- a/Mage.Sets/src/mage/sets/magic2011/AngelicArbiter.java +++ b/Mage.Sets/src/mage/sets/magic2011/AngelicArbiter.java @@ -95,6 +95,8 @@ class AngelicArbiterWatcher1 extends WatcherImpl { @Override public void watch(GameEvent event, Game game) { + if (condition == true) //no need to check - condition has already occured + return; if (event.getType() == EventType.SPELL_CAST && game.getActivePlayerId().equals(event.getPlayerId()) && game.getOpponents(controllerId).contains(event.getPlayerId())) condition = true; } diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/RedSunsZenith.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/RedSunsZenith.java index ed8ca380d7e..bce9492efe4 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/RedSunsZenith.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/RedSunsZenith.java @@ -138,6 +138,8 @@ class RedSunsZenithWatcher extends WatcherImpl { @Override public void watch(GameEvent event, Game game) { + if (condition == true) //no need to check - condition has already occured + return; if (event.getType() == EventType.DAMAGED_CREATURE) { Card card = game.getCard(sourceId); if (card != null && card.getSpellAbility().getId().equals(event.getSourceId())) diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/Vengevine.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/Vengevine.java index 8e63213aa58..cd8b22eea29 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/Vengevine.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/Vengevine.java @@ -127,6 +127,8 @@ class VengevineWatcher extends WatcherImpl { @Override public void watch(GameEvent event, Game game) { + if (condition == true) //no need to check - condition has already occured + return; if (event.getType() == EventType.SPELL_CAST && event.getPlayerId().equals(controllerId)) { Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null && spell.getCardType().contains(CardType.CREATURE)) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/FleshAllergy.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/FleshAllergy.java index c252dbcbd11..8afdc83e9d9 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/FleshAllergy.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/FleshAllergy.java @@ -120,7 +120,7 @@ class FleshAllergyEffect extends OneShotEffect { public FleshAllergyEffect() { super(Outcome.DestroyPermanent); - staticText = "Target creature gets +2/+2 until end of turn.\nLandfall - If you had a land enter the battlefield under your control this turn, that creature gets +4/+4 until end of turn instead"; + staticText = "Destroy target creature. Its controller loses life equal to the number of creatures that died this turn"; } public FleshAllergyEffect(final FleshAllergyEffect effect) { diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/TunnelIgnus.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/TunnelIgnus.java index 91be53fceb1..52df2e73327 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/TunnelIgnus.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/TunnelIgnus.java @@ -92,6 +92,8 @@ class TunnelIgnusWatcher extends WatcherImpl { @Override public void watch(GameEvent event, Game game) { + if (condition == true) //no need to check - condition has already occured + return; if (event.getType() == GameEvent.EventType.ZONE_CHANGE && ((ZoneChangeEvent) event).getToZone() == Constants.Zone.BATTLEFIELD) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent.getCardType().contains(CardType.LAND) && game.getOpponents(this.controllerId).contains(permanent.getControllerId())) { @@ -101,9 +103,12 @@ class TunnelIgnusWatcher extends WatcherImpl { } } } - if (event.getType() == GameEvent.EventType.END_TURN_STEP_POST) { - count = 0; - } + } + + @Override + public void reset() { + super.reset(); + count = 0; } } diff --git a/Mage.Sets/src/mage/sets/worldwake/Groundswell.java b/Mage.Sets/src/mage/sets/worldwake/Groundswell.java index 6bbf9d9a2a8..194e65e358b 100644 --- a/Mage.Sets/src/mage/sets/worldwake/Groundswell.java +++ b/Mage.Sets/src/mage/sets/worldwake/Groundswell.java @@ -93,6 +93,8 @@ class GroundswellWatcher extends WatcherImpl { @Override public void watch(GameEvent event, Game game) { + if (condition == true) //no need to check - condition has already occured + return; if (event.getType() == EventType.ZONE_CHANGE && ((ZoneChangeEvent)event).getToZone() == Zone.BATTLEFIELD) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent.getCardType().contains(CardType.LAND) && permanent.getControllerId().equals(this.controllerId)) { diff --git a/Mage.Sets/src/mage/sets/worldwake/SearingBlaze.java b/Mage.Sets/src/mage/sets/worldwake/SearingBlaze.java index aeaf44e15b1..78eeb28a616 100644 --- a/Mage.Sets/src/mage/sets/worldwake/SearingBlaze.java +++ b/Mage.Sets/src/mage/sets/worldwake/SearingBlaze.java @@ -92,6 +92,8 @@ class SearingBlazeWatcher extends WatcherImpl { @Override public void watch(GameEvent event, Game game) { + if (condition == true) //no need to check - condition has already occured + return; if (event.getType() == EventType.ZONE_CHANGE && ((ZoneChangeEvent)event).getToZone() == Zone.BATTLEFIELD) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent.getCardType().contains(CardType.LAND) && permanent.getControllerId().equals(this.controllerId)) { diff --git a/Mage.Sets/src/mage/sets/zendikar/ArchiveTrap.java b/Mage.Sets/src/mage/sets/zendikar/ArchiveTrap.java index 745ec132812..4b96b23e6f8 100644 --- a/Mage.Sets/src/mage/sets/zendikar/ArchiveTrap.java +++ b/Mage.Sets/src/mage/sets/zendikar/ArchiveTrap.java @@ -87,6 +87,8 @@ class ArchiveTrapWatcher extends WatcherImpl { @Override public void watch(GameEvent event, Game game) { + if (condition == true) //no need to check - condition has already occured + return; if (event.getType() == EventType.LIBRARY_SEARCHED && game.getOpponents(controllerId).contains(event.getPlayerId())) condition = true; } diff --git a/Mage/src/mage/watchers/common/BloodthirstWatcher.java b/Mage/src/mage/watchers/common/BloodthirstWatcher.java index 1cecd5fd144..acf73d5073c 100644 --- a/Mage/src/mage/watchers/common/BloodthirstWatcher.java +++ b/Mage/src/mage/watchers/common/BloodthirstWatcher.java @@ -20,6 +20,8 @@ public class BloodthirstWatcher extends WatcherImpl { @Override public void watch(GameEvent event, Game game) { + if (condition == true) //no need to check - condition has already occured + return; if (event.getType() == GameEvent.EventType.DAMAGED_PLAYER) { DamagedPlayerEvent damageEvent = (DamagedPlayerEvent)event; if (game.getOpponents(this.controllerId).contains(damageEvent.getPlayerId())) {