From 773decf593c5d66b22e257ea1f9ce6fbd79753a7 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 30 Apr 2016 11:42:01 +0200 Subject: [PATCH] * Fixed a problem with the AI handling of TARGETED event (e.g. Silverfur Partisan not triggering - fixes #1916). --- .../src/mage/player/ai/ComputerPlayer6.java | 6 +++++- Mage/src/main/java/mage/target/TargetImpl.java | 5 ++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java index 37cce686334..e816a8757de 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java @@ -266,7 +266,7 @@ public class ComputerPlayer6 extends ComputerPlayer /*implements Player*/ { } protected void act(Game game) { - if (actions == null || actions.size() == 0) { + if (actions == null || actions.isEmpty()) { pass(game); } else { boolean usedStack = false; @@ -277,6 +277,9 @@ public class ComputerPlayer6 extends ComputerPlayer /*implements Player*/ { for (Target target : ability.getTargets()) { for (UUID id : target.getTargets()) { target.updateTarget(id, game); + if (!target.isNotTarget()) { + game.addSimultaneousEvent(GameEvent.getEvent(GameEvent.EventType.TARGETED, id, ability.getSourceId(), ability.getControllerId())); + } } } Player player = game.getPlayer(ability.getFirstTarget()); @@ -1200,6 +1203,7 @@ public class ComputerPlayer6 extends ComputerPlayer /*implements Player*/ { } } } + /* * private boolean shouldAttack(Game game, UUID attackingPlayerId, UUID * defenderId, Permanent attacker, List blockers, int diff --git a/Mage/src/main/java/mage/target/TargetImpl.java b/Mage/src/main/java/mage/target/TargetImpl.java index 4774edcddf6..6a9a4113c53 100644 --- a/Mage/src/main/java/mage/target/TargetImpl.java +++ b/Mage/src/main/java/mage/target/TargetImpl.java @@ -141,8 +141,7 @@ public abstract class TargetImpl implements Target { } if (targetName.startsWith("another") || targetName.startsWith("a ") || targetName.startsWith("an ")) { return "Select " + targetName + suffix; - } - else if (targetName.startsWith("a") || targetName.startsWith("e") || targetName.startsWith("i") || targetName.startsWith("o") || targetName.startsWith("u")) { + } else if (targetName.startsWith("a") || targetName.startsWith("e") || targetName.startsWith("i") || targetName.startsWith("o") || targetName.startsWith("u")) { return "Select an " + targetName + suffix; } return "Select a " + targetName + suffix; @@ -255,7 +254,7 @@ public abstract class TargetImpl implements Target { rememberZoneChangeCounter(id, game); chosen = targets.size() >= getNumberOfTargets(); if (!skipEvent) { - game.fireEvent(GameEvent.getEvent(EventType.TARGETED, id, source.getSourceId(), source.getControllerId())); + game.addSimultaneousEvent(GameEvent.getEvent(EventType.TARGETED, id, source.getSourceId(), source.getControllerId())); } } } else {