From 53e36c728c518476b764f9885cd2a26d2755f614 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 4 Jul 2015 16:44:36 +0200 Subject: [PATCH] * Some minor fixed, error handling. --- .../java/mage/player/ai/ComputerPlayer.java | 3 +- .../abilities/effects/ContinuousEffects.java | 32 +++++++++++-------- Mage/src/mage/players/PlayerImpl.java | 2 -- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java index 7b8b96edaeb..57c42140b9b 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java @@ -173,12 +173,11 @@ public class ComputerPlayer extends PlayerImpl implements Player { public ComputerPlayer(String name, RangeOfInfluence range) { super(name, range); - flagName = "computer"; human = false; userData = UserData.getDefaultUserDataView(); userData.setAvatarId(64); userData.setGroupId(UserGroup.COMPUTER.getGroupId()); - userData.setFlagName("Computer.png"); + userData.setFlagName("computer.png"); pickedCards = new ArrayList<>(); } diff --git a/Mage/src/mage/abilities/effects/ContinuousEffects.java b/Mage/src/mage/abilities/effects/ContinuousEffects.java index 9f8f39211e3..a6030dc051b 100644 --- a/Mage/src/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/mage/abilities/effects/ContinuousEffects.java @@ -214,12 +214,16 @@ public class ContinuousEffects implements Serializable { case WhileOnStack: case WhileInGraveyard: HashSet abilities = layeredEffects.getAbility(effect.getId()); - for (Ability ability : abilities) { - // If e.g. triggerd abilities (non static) created the effect, the ability must not be in usable zone (e.g. Unearth giving Haste effect) - if (!(ability instanceof StaticAbility) || ability.isInUseableZone(game, null, null)) { - layerEffects.add(effect); - break; + if (abilities != null) { + for (Ability ability : abilities) { + // If e.g. triggerd abilities (non static) created the effect, the ability must not be in usable zone (e.g. Unearth giving Haste effect) + if (!(ability instanceof StaticAbility) || ability.isInUseableZone(game, null, null)) { + layerEffects.add(effect); + break; + } } + } else { + logger.error("No abilities for continuous effect: " + effect.toString()); } break; default: @@ -1058,14 +1062,16 @@ public class ContinuousEffects implements Serializable { private void setControllerForEffect(ContinuousEffectsList effects, UUID cardId, UUID controllerId) { for (Effect effect : effects) { HashSet abilities = effects.getAbility(effect.getId()); - for (Ability ability : abilities) { - if (ability.getSourceId() != null) { - if (ability.getSourceId().equals(cardId)) { - ability.setControllerId(controllerId); - } - } else { - if (!ability.getZone().equals(Zone.COMMAND)) { - logger.fatal(new StringBuilder("No sourceId Ability: ").append(ability)); + if (abilities != null) { + for (Ability ability : abilities) { + if (ability.getSourceId() != null) { + if (ability.getSourceId().equals(cardId)) { + ability.setControllerId(controllerId); + } + } else { + if (!ability.getZone().equals(Zone.COMMAND)) { + logger.fatal(new StringBuilder("No sourceId Ability: ").append(ability)); + } } } } diff --git a/Mage/src/mage/players/PlayerImpl.java b/Mage/src/mage/players/PlayerImpl.java index 9f04992fc8e..228cbb7de95 100644 --- a/Mage/src/mage/players/PlayerImpl.java +++ b/Mage/src/mage/players/PlayerImpl.java @@ -227,8 +227,6 @@ public abstract class PlayerImpl implements Player, Serializable { protected UserData userData; protected MatchPlayer matchPlayer; - protected String flagName; - /** * During some steps we can't play anything */