added missing Planeswalker damage redirection effect + some fixes

This commit is contained in:
BetaSteward 2010-11-21 03:35:04 +00:00
parent 120de78d97
commit 06b7e63843
37 changed files with 347 additions and 75 deletions

View file

@ -44,6 +44,8 @@ import mage.abilities.TriggeredAbilities;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.ContinuousEffects;
import mage.game.combat.Combat;
import mage.game.events.GameEvent.EventType;
import mage.game.events.ZoneChangeEvent;
import mage.game.permanent.Battlefield;
import mage.game.permanent.Permanent;
import mage.game.stack.StackObject;
@ -295,14 +297,20 @@ public class GameState implements Serializable, Copyable<GameState> {
public void handleEvent(GameEvent event, Game game) {
watchers.watch(event, game);
if (!replaceEvent(event, game)) {
if (event.getType() == EventType.ZONE_CHANGE) {
ZoneChangeEvent zEvent = (ZoneChangeEvent)event;
if (zEvent.getFromZone() == Zone.BATTLEFIELD) {
zEvent.getTarget().checkTriggers(zEvent.getToZone(), event, game);
}
}
for (Player player: players.values()) {
player.checkTriggers(event, game);
}
battlefield.checkTriggers(event, game);
stack.checkTriggers(event, game);
delayed.checkTriggers(event, game);
exile.checkTriggers(event, game);
}
battlefield.checkTriggers(event, game);
stack.checkTriggers(event, game);
delayed.checkTriggers(event, game);
exile.checkTriggers(event, game);
}
public boolean replaceEvent(GameEvent event, Game game) {