From 53d7e5623bffae10647759e34a0475f62b294b0d Mon Sep 17 00:00:00 2001
From: BetaSteward <betasteward@gmail>
Date: Thu, 2 Dec 2010 04:39:18 +0000
Subject: [PATCH] send list of targets to client

---
 .../main/java/mage/client/game/GamePanel.java |   3 +-
 .../main/java/mage/client/remote/Client.java  |   2 +-
 .../src/mage/view/GameClientMessage.java      |  10 ++++-
 .../src/mage/player/human/HumanPlayer.java    |   8 ++--
 Mage.Server/plugins/mage-deck-constructed.jar | Bin 3190 -> 3188 bytes
 Mage.Server/plugins/mage-game-freeforall.jar  | Bin 4392 -> 4391 bytes
 .../plugins/mage-game-twoplayerduel.jar       | Bin 3957 -> 3956 bytes
 Mage.Server/plugins/mage-player-ai.jar        | Bin 28577 -> 28835 bytes
 Mage.Server/plugins/mage-player-aiminimax.jar | Bin 36470 -> 36467 bytes
 Mage.Server/plugins/mage-player-human.jar     | Bin 10990 -> 11139 bytes
 .../java/mage/server/game/GameController.java |  10 ++---
 .../java/mage/server/game/GameSession.java    |   4 +-
 Mage/src/mage/game/Game.java                  |   2 +-
 Mage/src/mage/game/GameImpl.java              |   4 +-
 .../mage/game/events/PlayerQueryEvent.java    |  32 +++++++++-------
 .../game/events/PlayerQueryEventSource.java   |   4 +-
 Mage/src/mage/target/Target.java              |   3 +-
 Mage/src/mage/target/TargetCard.java          |  35 ++++--------------
 Mage/src/mage/target/TargetPermanent.java     |  14 +++----
 Mage/src/mage/target/TargetPlayer.java        |   8 ++--
 Mage/src/mage/target/TargetSpell.java         |   8 ++--
 Mage/src/mage/target/TargetStackObject.java   |   8 ++--
 .../target/common/TargetCreatureOrPlayer.java |  16 ++++----
 .../common/TargetCreatureOrPlayerAmount.java  |  16 ++++----
 .../mage/target/common/TargetDefender.java    |   8 ++--
 25 files changed, 92 insertions(+), 103 deletions(-)

diff --git a/Mage.Client/src/main/java/mage/client/game/GamePanel.java b/Mage.Client/src/main/java/mage/client/game/GamePanel.java
index 3b5e4d736b..b6084332f8 100644
--- a/Mage.Client/src/main/java/mage/client/game/GamePanel.java
+++ b/Mage.Client/src/main/java/mage/client/game/GamePanel.java
@@ -41,6 +41,7 @@ import java.awt.event.ComponentAdapter;
 import java.awt.event.ComponentEvent;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Set;
 import java.util.UUID;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -324,7 +325,7 @@ public class GamePanel extends javax.swing.JPanel {
 		this.feedbackPanel.getFeedback(FeedbackMode.QUESTION, question, true, false);
 	}
 
-	public void pickTarget(String message, CardsView cardView, GameView gameView, boolean required) {
+	public void pickTarget(String message, CardsView cardView, GameView gameView, Set<UUID> targets, boolean required) {
 		updateGame(gameView);
 		this.feedbackPanel.getFeedback(required?FeedbackMode.INFORM:FeedbackMode.CANCEL, message, false, gameView.getSpecial());
 		if (cardView != null && cardView.size() > 0) {
diff --git a/Mage.Client/src/main/java/mage/client/remote/Client.java b/Mage.Client/src/main/java/mage/client/remote/Client.java
index 0a0f15ced5..23623b818e 100644
--- a/Mage.Client/src/main/java/mage/client/remote/Client.java
+++ b/Mage.Client/src/main/java/mage/client/remote/Client.java
@@ -111,7 +111,7 @@ public class Client implements CallbackClient {
 			}
 			else if (callback.getMethod().equals("gameTarget")) {
 				GameClientMessage message = (GameClientMessage) callback.getData();
-				session.getGame().pickTarget(message.getMessage(), message.getCardsView(), message.getGameView(), message.isFlag());
+				session.getGame().pickTarget(message.getMessage(), message.getCardsView(), message.getGameView(), message.getTargets(), message.isFlag());
 			}
 			else if (callback.getMethod().equals("gameSelect")) {
 				GameClientMessage message = (GameClientMessage) callback.getData();
diff --git a/Mage.Common/src/mage/view/GameClientMessage.java b/Mage.Common/src/mage/view/GameClientMessage.java
index b6bcb1b273..25899ce935 100644
--- a/Mage.Common/src/mage/view/GameClientMessage.java
+++ b/Mage.Common/src/mage/view/GameClientMessage.java
@@ -29,6 +29,8 @@
 package mage.view;
 
 import java.io.Serializable;
+import java.util.Set;
+import java.util.UUID;
 
 /**
  *
@@ -42,6 +44,7 @@ public class GameClientMessage implements Serializable {
 	private AbilityPickerView abilityView;
 	private boolean flag;
 	private String[] strings;
+	private Set<UUID> targets;
 	private int min;
 	private int max;
 
@@ -54,10 +57,11 @@ public class GameClientMessage implements Serializable {
 		this.message = message;
 	}
 
-	public GameClientMessage(GameView gameView, String question, CardsView cardView, boolean required) {
+	public GameClientMessage(GameView gameView, String question, CardsView cardView, Set<UUID> targets, boolean required) {
 		this.gameView = gameView;
 		this.message = question;
 		this.cardsView = cardView;
+		this.targets = targets;
 		this.flag = required;
 	}
 
@@ -101,6 +105,10 @@ public class GameClientMessage implements Serializable {
 		return strings;
 	}
 
+	public Set<UUID> getTargets() {
+		return targets;
+	}
+
 	public int getMin() {
 		return min;
 	}
diff --git a/Mage.Player.Human/src/mage/player/human/HumanPlayer.java b/Mage.Player.Human/src/mage/player/human/HumanPlayer.java
index c51679eaed..3f6e79d071 100644
--- a/Mage.Player.Human/src/mage/player/human/HumanPlayer.java
+++ b/Mage.Player.Human/src/mage/player/human/HumanPlayer.java
@@ -182,7 +182,7 @@ public class HumanPlayer extends PlayerImpl<HumanPlayer> {
 	@Override
 	public boolean choose(Outcome outcome, Target target, Game game) {
 		while (!abort) {
-			game.fireSelectTargetEvent(playerId, target.getMessage(), target.isRequired());
+			game.fireSelectTargetEvent(playerId, target.getMessage(), target.possibleTargets(null, playerId, game), target.isRequired());
 			waitForResponse();
 			if (response.getUUID() != null) {
 				if (target.canTarget(response.getUUID(), game)) {
@@ -199,7 +199,7 @@ public class HumanPlayer extends PlayerImpl<HumanPlayer> {
 	@Override
 	public boolean chooseTarget(Outcome outcome, Target target, Ability source, Game game) {
 		while (!abort) {
-			game.fireSelectTargetEvent(playerId, target.getMessage(), target.isRequired());
+			game.fireSelectTargetEvent(playerId, target.getMessage(), target.possibleTargets(source==null?null:source.getId(), playerId, game), target.isRequired());
 			waitForResponse();
 			if (response.getUUID() != null) {
 				if (target.canTarget(response.getUUID(), source, game)) {
@@ -250,7 +250,7 @@ public class HumanPlayer extends PlayerImpl<HumanPlayer> {
 	@Override
 	public boolean chooseTargetAmount(Outcome outcome, TargetAmount target, Ability source, Game game) {
 		while (!abort) {
-			game.fireSelectTargetEvent(playerId, target.getMessage() + "\n Amount remaining:" + target.getAmountRemaining(), target.isRequired());
+			game.fireSelectTargetEvent(playerId, target.getMessage() + "\n Amount remaining:" + target.getAmountRemaining(), target.possibleTargets(source==null?null:source.getId(), playerId, game), target.isRequired());
 			waitForResponse();
 			if (response.getUUID() != null) {
 				if (target.canTarget(response.getUUID(), source, game)) {
@@ -421,7 +421,7 @@ public class HumanPlayer extends PlayerImpl<HumanPlayer> {
 
 	protected void selectCombatGroup(UUID blockerId, Game game) {
 		TargetAttackingCreature target = new TargetAttackingCreature();
-		game.fireSelectTargetEvent(playerId, "Select attacker to block", target.isRequired());
+		game.fireSelectTargetEvent(playerId, "Select attacker to block", target.possibleTargets(null, playerId, game), target.isRequired());
 		waitForResponse();
 		if (response.getBoolean() != null) {
 			return;
diff --git a/Mage.Server/plugins/mage-deck-constructed.jar b/Mage.Server/plugins/mage-deck-constructed.jar
index f41775255bd4b228257dcfe0ee913e0492c15d18..c710247d4e4b4ba8377ab6aad8ce42dbd008b5c7 100644
GIT binary patch
delta 300
zcmew+@kN3+z?+$civa{WIvXeQsxY?$DU&J8Al_*OF!fFqL~RyhoW}xUOy16_1*V^{
z8iOUI*j6!d0wrvNo_*0OoP3tUy*{|i|E#yJmyV}zpvS6^5579yXCFTe;$tt04Vo;<
z!z0Rbb}diu8XjMfm}X~@9v&Xvik+u|y1R@&f6n3k(o?zfQuilsZkyno&)t{4771St
zuG}fq?PYXXXtH-h(>@2r*aeO^cb)rLc~sSP=}Cv~ik%Dr-i%Bl%rK8IHcp<#X#(=f
w<g=XiV8`-v8GvagE>kdF#pMR34|7?8=t<npV6GeY9we`D^Q5x1a)JT}09IsiVgLXD

delta 303
zcmew&@lAp^z?+$civa}Ow^dK%Rbh4mQYKTFLA=unVCtPJh}ta1IFALyn7o};3rs&@
zH3myav8`g_1WMQz%v;b_Jozk#dp+;jja<zJ0t^@aD*P{au;z$|CWl|{M82|(_65Dy
z6_#3BCNHSJzb3!(>WPU{h4g>?dgwB9abwo97XFhj&b^4K-&A}1VQ$@`&1+33M1Bu_
zlra08LxAPB-$os6&%7IXCoKEwYbQE~>q_{y`M;D3{i}WmN&a9C@MdHZVTO1G?7S(Q
zCLqsDKFw(l=JRqHfN2LVQ!rh@<p!n?a#?}te_YOB+J$=$l5aS9QrX%$LE!@cL(+MX

diff --git a/Mage.Server/plugins/mage-game-freeforall.jar b/Mage.Server/plugins/mage-game-freeforall.jar
index 59b39d070874911a7be476a6970043a5b2d6f2dc..b37b95316603bbf131722b702e68c85bc37bf1fc 100644
GIT binary patch
delta 316
zcmZ3Xv|Ncdz?+$civa{WIvXeQsxY?$DU&J8Al_*OF!fFqL~RyhjAI8g$~hJ@f*6x!
zxwOEv7nd<uqJe7z6DLr@c76N&ZH1F9dBf_DcQ||ym~rV~u;X*j<*pa*&M;fJKfnLI
zXfvCsr`6@p?u*|@33R!qEf=;_vonn`uUT^Xt>4z<_6@6Rr%6PG%L?o{`u?}o_KP)J
zJHuHvZrPLKWqDlYslx1OdslwDc<y!A2lfDOMkWzvxDRZ>UV##v43qi!R6#zPY|dv7
wc4{S`0hnIHX9}jD@VSC%9ez(RUBPb!rnmAtgX!P=yO4aePauWu124#Q068Fdga7~l

delta 316
zcmZ3kv_gqDz?+$civa{YwpCB$Rbh4qQYKTFLA=unVCtPJh}ta17{?A~lyfX*1TiMd
za%q8SFD_%SL<83bCQhJ)ZIgfT*`mpoykYfsyBt0|P+Zy^`-Xkl95Ki8q+4RYe%Bli
z=Mg$;anh$>zITqQl8CVSu1vLhwfD0pXTMU8U1nVwZr!5uEz)G$Ix7X1%kO_%ZO>YG
z%YuU`Ix6muPjz4Q6z2S(Z)%rTm%i@$z#ibu$RxrH_ku0hFHnMWGB2MR$VZdS`0T+>
vt>7~N)2sPR!SrK3S1_&3?+K>M`K`e87Jg?i{fmDWl8^QZq_BPD1sM(iMA&iS

diff --git a/Mage.Server/plugins/mage-game-twoplayerduel.jar b/Mage.Server/plugins/mage-game-twoplayerduel.jar
index 3cddc1d3e33a12bcf1b55660e998934e3e15ab2e..4ea1a72214d6b82e6b431722f30378ae180a0773 100644
GIT binary patch
delta 342
zcmew=_eG93z?+$civa{WI~ynRsxWr|DU&J8Al_*OF!fFqL~Ryh>|+Hpma{Ek1TiN2
zacF_*Y7S$t#72%COoBiO+vAEscZz{VmIJZf<oz7RlN~r&>I;hU3sQ?pGE<9rPaNcG
zHsE2nP`%*4z=t&^d}acBERQrB%-B%8EK+cb>_)3UzrX&7yVfQCR6}^5|C^rz`3lvl
zW=4xtmqfd!x`ywuXV=k<WNv?9#vXtBQPP3T8~g8uu$LY^<;Sz(*w4esJ~x-2h>la0
zuY0)hgXXO_n<RcP2YB-`GKnz5y*k;B#{}fp$)!B@U{7r4F#yxAcuc{x60ZlC&gJz1
f(|dTW!1PaEXE1HgcYqV_*U23G>1=vDpkM?5;2nc?

delta 333
zcmew&_f?KJz?+$civa{YwpCB$Rbh4qQYKTFLA=unVCtPJh}ta1*vATHEN5H72x3h3
z<In=r)f~oPiH#gPm;`|mwlC)e&nf{LSq{W@llOBNPY&SctLHs&kgLf-fZ@XLLw^o8
zq^I8Pa`+I|!LEEkenwFg%iYe**pKf&%f??TNLYG8d0*KZjY5XWUqwDDa^4l4yIOCX
z*7=I}>?PZ_BnZ9EpA>NW5zDdFYwnk=ajo4rA>Cj};jatUayMlsnr|tv%lR}XGkxz`
zo93U)0p5&EBFtb9vVeRz*_Ouy<i*J)JoaF>Z{sll(=T~U!L%Z;2bj*`^#Rknd9A?o
Z4_;?5ZO3<j6Yj;y?EL9$`aGb}0|4H-f!_cC

diff --git a/Mage.Server/plugins/mage-player-ai.jar b/Mage.Server/plugins/mage-player-ai.jar
index 5af375336e5d4392cd00e20294e27b04bd323f95..a1bcb78999bbee085ba609e9059da941a23e2740 100644
GIT binary patch
delta 16455
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

delta 16228
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%0DwpjlftKmT0$OT2t#*
z)ka4o*zkd0y!^N%6L`k7wu}5rX0Gb<6sja3+M6wJC7tIyYy)))<{|8Y-4iLxoY)%B
z)YBz8IW{(tyBnt<0Rm{s1Ygw`^KzW7!UghGi_+$gg#arOwYym2)N3PXN%Yd<Fpc9-
z=A3bu7T<K^!kY$p+Z5v>83tVdp;@pzv2yhWiV?u?LzquQR+)^FHfS!><O(y2Dv_=m
z^RGo&jb_$n_=-Uqn)xWw{T`T%I!UsazmUeOzN_!PexpD?L?BvtV2>U&8ZYg3jFqGp
zQ~-bAG?#|)hQBVqSQpBwmtpph*_NR2_~dW>>}~-ZhF-(Mv=b<GsjOWDQsSOQjUsO-
zr~W<i^nuL3UUb3y(pl)=jvZypNpby|b`d(9K6u!fym=^uaQE2P&EWR<E5OezGl17n
zQSJBpHZ9^yyV@#5I2{xtD~ju{(u34qOvyENQKInaFhw>5->7F+(L6AVp)Xm|(?4}F
z2cpfB$v-j0t?<u4p@)JRQMeK}XqV(ggH+Z)IN@<Gl&HBT7oKEQ)O)ojTnvq50Au_j
zYYrxXyrKE+sNYty-)6F;w$x+-X@Y1i`LXoTeZ(r}hQjps>|%nWkWp3H=7YxIyR}H(
zLMyG9trtDjUHU|Foe*b9tRIQhwgd<o9@MA0OI`#9#O0cMW)xSd25BKGjG;y5d}&cY
zEI^|!9GMHcW>hK`)`?mndVLz|_kPPp5q-+Y6eNoYD^VNW{X^aQzOoBw^qT;AMILWg
z#);Z!=OFh;Od4(6@=I0V#ylypN?&0D_%Wz820Sk795N8Aza|(H9;6&~^CwJ7{rZzq
z*lJ)COk7R^I`so>8`mkMsB>Smj$$9E>Fw-m*@iF)c=Y4|t+dHPk>b4s&2qRz2)OWF
zwbE?cs|Y611g23>(^##>vu!jaa!FwPi78I4<j$&s%f~-unFf91oRzZs7CSF07}Tpq
zi=-&}PlMWjUHVKWWYD}VPHlaFmaA{uiIpXBdy3I5&2IQw2l4Jo=ddZA2xxV^CNf>(
z)Zk}ybt{{<ycPd5X3A21CIoKZF^gh4IDFqwmwY-@-6fd81LIq6{u)Y9axIzRajhp_
z8Td>E7SjL+$jiQYVsq+`m9N`Y)0Gu*<pkK@?1|KD;-tpV<wP$R(_|iCHDGu}t3Ih+
zN()jYx9^DX#klaNM$jmR13vhif<`Fa+p<nUZp8yufV?(B>ll+?{w`3A=sL+rox{y$
zBWjB!sWBg{n{am)j#(0s=$Xh=aE2_=CILYGfZFbtle{U|xh-Mwml&N-NQUt4nODmT
zGw^GEL9H5|6$GS>3Y@C^2onxDM*WY#o&f+i7BYa#s^`e(c@Cl!xKR?2agwsiTCoFo
z>mn#nUW4Ok2W>pL6@TH$@Gqa0Q9E#cB7(Y@asBnN=`253xepa`XKpc39qmQ+;(INB
zxZX;7>+#qty`be`OX*Cyy$KsIq{ON_+htBbCCihV*bWsl=t+yyDxSUyo;yec2wsKr
ziW1lhYJ=Ivc<j#vnrH4CA@RKn(5?j#n~*x2fLmN<eZ|03>wiIac@SbpVYzdH^bXz(
zmH(Y}&ur7%h|$&qg6WP%4Beyhhccl;V+z{2?S&R?WF>ysyIvB4p+R0`)gAGu<8Q^;
zQ80zWg{ovy9h6%oQS{#$^u^ej?TNV<NSs|66iM;+N3n1R#yvqO#if~SsE3dRkifOn
zr*#b)$5uSC!wngGhr_+tH&AfbVd1CLfvus}L&(EN{aB;pUMN^Y>P@uKD3~ZeiMor}
zctinD)paZ^>e^ntePyCsU7g3Z+C=rh+cz`cEWsocga&VbfsXEGmFARC6+}K!e<r^v
zHJ?Vu>W2XVmHcA|0Ju)6z>0vR$#U!1i6|y+3U;#+@{S-dz6KEt3@XHsg{Q(OP}rXD
zp}N&i9{O8^&J_XAQZC#$?3{6`Pid*^_|or@X5We*D@b6W277l+JZz!P;b21_IL3BJ
zQzpE1Jc6)4e%iclT^C=Ecs&o7(hpsFRT(R68N+M={nD@1&b~f*ZO|6j%xs6+e3m?<
z1J{-H8XQA-9tR9i%s7S5OIyeaC>)JRHy+5{aaernfA5(uL3{>ZGt~G}O2P^WF3W%M
zq~R3)h2o^XDeiCnfoNv=QIk-6N5sI|hPRD9n|cu~rgdHV`_i!v;a!OAfuHUV0eocx
zeoE{j5cMspEwM`T2k%r_qTF*Sy;Q!uPUjRE$>ZnX*8Y1M>j&beU1}l=QYr7`D}vc3
zM}f~*H0`f`themfZUht}A0+9V3%vVD%o5$s(`FTYpK)<Y4OvWSy~9pLQI82u2t&qu
zI-CP5X$cOo^?fa{20r1}^YD*-Vy<x4Oow=%Ky5?R))V;e-j9ZE5dM2t*Zvr`0*W>R
z?<gJ>y+p&uHs94_mLadNBT-gS1QE8}(=T1Mv2&C_d$*$Qsclw%ftuJdZh`dMH2Z;I
zdixTm^uoo4dlp%Y!ek<^bW)v#efT#jtF*$AcSAUq#69j)17nAv4<&L_^+f@U&w*A2
zU=$z1sHGz*_MhOS^Vrr7$qjpg7{-{1HDv^H2i#tlJGf<Vq*mo20|O`PGh^keS(rGA
z*%7v}v?!*P=+)tC(s&As(9bQbTo4yzvdijl*k=@1s{h4E7g+(h*AZV@-n@Xy5z-V0
zZXFNs^Y_A2RX0cv<E;r#_#|ze6TdGBSkUt65W<qzlGfJ3lDk{|<T6)5lNm-d*c(mo
z8LYfda7x}2F1#;*OVtyphj~{>join#&$>w&ct6;>Vffow<EM<)eC1aXUKy8Rf-}dv
z)dVV2PrJQ$Nh>?LPVfAIeC**-4GL79=FXJmTcHnAhGp)6_Af7Ne|ojeKUvTxfIv52
zKdPZ1%H>b9%EYR?#)Nqo;cRK{O_Xk{4w=i>c8AOFg2GiP#tzt)dt`!&91qmGb?wYD
z49+43DeeT<kG5Q8qXnN#6pv4fGIAo{`X33LM(7|nV0O@#cPhKHnL$G5=zQl25B)_9
zBd>8cc58NPJwzZq&vj$oNdYz`AgE-^2Ik&10XBhCjKz8X{ZkxhF(II=nZ-O}u$CcU
zD*LO@iAzjjxnkp+0;y0^iWA+zk3U|qQp)d0Fl4bPEUT`TknD~VZ0QOuN27?km`WF+
zHrm*@D*e0Z>`9d&9Vy+g4;SDTC`TJDcHZnfrbliOxAYK>;>k`|VUwcJKq-<puI<ef
z=_W6@Qfa19y4m=rrQoM@sO&}x_tgAvkr!Wl*a?QmYFXtxLoqD9XfuVr$v=d-S+cZg
zK14v%@6f;YZ#9w#GQ1A7x{|{4!7}mTHXWi~P&YNSPI`C|I6RS4$TdREhzGBOjfX{=
zB{Z_(vBGVW%^66(Xh1!}1I4;jB0I;d0fcr%L5^gVY2X8U2v|L!+7<={O>={=s?q@*
zW~rYV1Az}*rHU7nh#n{{1m)3~SVa%NG?S}Z%5HZ>`b$%0w)E$-7SX7EYs(%C`FH1L
z^Ss@-pA2C6dey0%mVa-J!l*$B<CTMu-qGgyP{)fvCo-oM1G6Nizz46{O#7d*v7D?=
zg@cV+AaL=aXlVWtOCm`Nt8HRMI!@Q;T3?LvW3HmHOw~CYt-)GBdE`h=K79TOwpopY
z@E%ux1~qUDeHo~_cD3Lh#7#VY1O>~%LEv_UXsX2Hxcj2I`!}w?X9*s9)*gRCZ_92K
z?u6OB?ir*%CpE_L03V8gN5qOOies@Tsb8bUtZ%<qW9WwqSEenkf_tc`uGuO7Bw~%m
z$3p^;@2n5}q@FA#u9;=)rlsD2nfZa3<yRlNOjvIFYlc#32Bnn847<!Y*u9*QPSE~G
zdsl;%6DM|IzqPb-Sb{5h<%DGx>GxmmeCe82_%)deW+i#xJizhndWmUrtZXEd3BFm$
zOO;Xbr{=utt3u~6yO@VSc0wabnqoKp$q=QMB$db}DVzOB6zX5tb5dpM5W70g^vyd*
zyMaSI$Gd^aN~&R13xpT2C^5B=GeN|F%+q1M`h6;z9p7ce9IY9x@5OoV%)m#64}Jg#
zTx|qeJyb7CDUdK2+%|@IJo!;4!IFYFgrg@E^HDnJRBnG(;l4%cC7`(yfpu+-aVi$2
z5PFDM4}(L%xx}9zAF}&sjddxdCrMG44KX>^G|UhY!z#M7j}?;t%uUjj&Bs}lW36n<
zQgEVt%W@9JXJZoPKyoMRoAjf}?+2TlQ)6Y-1@Obf-@sdXG;>?`qj%e*_aQI?v<_52
zLTtvN-I<Xr1BS+FiH0DQG#{p@1XPmJYIb^P$Ky5}(X#-5Ps5RviekmQWP9Fd!x#2L
zd0b|lKJRw?^6^yD0zo|NaSgKu!KtlCe3Y$0Q7fcK2@@(ox>+LXwlMvDbo*#_$S%<H
zcp!Y^D6lF0Jq}%dU{n*@I$EKTYMl49lUk27QPis?R<g1|O&*C{9_d4l_Q;L4xkM<9
zo<=@AO5Gt^{X9zjJX#$~vT`9>JzcW03RfP9&srYIgD(9JL)|`Ww7L0=e?#n^S(Qz%
z2P5@zfSCc|!Sum+^$2NJGlO>K8`Mh5QH=N7-`}J-@7r&QPxSGpOt(_Ojnv&v4k=>M
z!}V>uHLdYI&TgR`Y<Z|ed&c_$k+37(Fn(92_mh`#Mr(+mp~5cf3u;po&#(QWi;MPQ
zGmr|-A!4pgG}#0f<bu3p*#v~SW*lSEF>2gnJuOJH=mISa$D%DdHWy+uN6$a-DK08i
zoPqT?G(?MqUvrw+ilMLuci`1}wbD+K0Qm?;hcl)>1yPR25q2egiX5_~HF8+><H&wL
z-s(~(;#LacYRQr8)QiSr9dz*!cJ+sL4tc*uK&<^HDaxcv&_I)}ol1t2j6C?X;lFP<
zn{C~4UzPtS%LTyA?WzAwbR{Dvy4`;v06`apX~^MD^Je7lO6aLh7EKbLv#<{*Lj{UL
z`+15;%$)a^&8u!Z)%$gv>zUu~mZ(ncJImo-xy*nw%-8BRnK&>N9Oi^kAXsGk{yrqu
zZ6Z!d?!DRftO1zzD*BxdD}@uo@BQ77TdS+;ORKKpo5n?5e?^|vv|+vYF-Kgez~q&F
zsayUw1!I)NF%xw{*H}Lm-Y*<Om~2{32zi!Y50yjQE+Jyb0HFb*a~RGz3s2w87JF8N
zu<wS+c6eQ6`?d3Us-B=l8saxmSy4hOkw;%DDzf1Z{tWd?)RSM?7iB2}IShNcmAqBQ
zkzfv<9{f;tZuRVUum@XcVM^4FfyzANgtd5>1AVa<__?8TcW(>%cmDgP`lOd&$PPj1
ztxb_`)`%z4(DM%m_0*H`SKtl!M`UT&mMu9hj@>N{R#FxUfoVVNdu6ue9lMdBCpOFy
zHo+MVi2${ma0W;DnD*OHGo#Yp65B}EqcD3$&q=QkiEd`$<}Ua(p&S<$z-K<d5Ay~%
zialY08bU>eSwB%Bx>L8T_wtF0Q069-j!EIHU;kRZSwfR$4``!mlRb19J6cyz3@E)e
zF?ucC9h)Cz54155x1W)PNfR=CNu5Oy@t0zFOQ!8G(&OF4GwkC=2efPklhHSfCHLcl
zhPz18WXI9uq90xcPC!bVrrsj2bzw%`>`s`-kxQ9z8bO(MJGj4f+eo&7)PX<P*w%0M
zY%%n;^pJZminm_%5<E8rj9V&HYc~d{4~Pw92kc_RZgJf7RfUJdOv`4kj&}3@RvWdH
zE{1VLQYxnNDAq0Brs5@jN}7nYXb57x-y>`%K2b(6joNl#{SLJY?m{e_mIM7r4<fxv
zK0o@f1HWPH{*=D<It%dD-~9yt4}E2mp|tLoe?`TuvY3$n8q<m*Q2!dJ>I$&`8pitQ
z|7EzD|A6?XCzZnbzZA);)*SzOL|CW)mm)baPIS}hucX=eZ{<ogwkAjg0Ekj8?QpD=
z8Pz}&EE=rrI;`xC>|FKioZ0{+WHnZHR?gicdIcu>>B*TUu33)bBYBo_7ABBl!xW4B
z%7l`l%F&TLBmJ17f+90G{L2?8cL-N>28~#EA|aplzhY7FFPISjE2B=`vE%$lN1cjo
zFY@n1b?sUI#aMfue{sm3|6ly#AoVZGJIMWu84fD{k7WAFK_2#h#iyc<*k3XcQe7Z1
zQ+pi|QoS58N&i!L2nI&+kBa-hOKGqc@_#!M{Tq76k>HD>RO*`}_rE-9)xpAf2r#fH
z7%(uJ{~`Uw(%|nhf1U7CcV$sh{hSd0<;FM>eCbh0B~d3#eOAQ!r~BU+6Uv5-Z-4oy
zs9<26{}BUB?XNTU|MKOW3BD-n{p})8P1OH4?7#frRt*@lzjG*s1_NXJ559%jUuUA!
zU1xHme{S;s83RN4-v%n!=O>007?_fjrWli)vNVg6nWvRA%m4Q-{)3GBA7oLhRFkjN
z|4!w9`~MpM_i_Al1<$`u*7$$d4@&CvSNboV|I@@sr2(M)`?CIBY^fputS`v6|Lw~J
KJ#G6>$o~V=!=GjV

diff --git a/Mage.Server/plugins/mage-player-aiminimax.jar b/Mage.Server/plugins/mage-player-aiminimax.jar
index 6ec2d2a440a02ef92f5f29c9548cef44a13646d9..8e17983a2a4a770d1b9e1faf7da13d8a0e3420be 100644
GIT binary patch
delta 11251
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

delta 11306
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
KB!`&4ng0WVEriMd

diff --git a/Mage.Server/plugins/mage-player-human.jar b/Mage.Server/plugins/mage-player-human.jar
index 09b3ca52c528ee21eaf65be47193ab1d072d7912..69755666c2a76210de46293bc69b59693d53433a 100644
GIT binary patch
delta 8157
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

delta 7963
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

diff --git a/Mage.Server/src/main/java/mage/server/game/GameController.java b/Mage.Server/src/main/java/mage/server/game/GameController.java
index dc3ee1f2bb..2615cfd5ab 100644
--- a/Mage.Server/src/main/java/mage/server/game/GameController.java
+++ b/Mage.Server/src/main/java/mage/server/game/GameController.java
@@ -124,7 +124,7 @@ public class GameController implements GameCallback {
 							ask(event.getPlayerId(), event.getMessage());
 							break;
 						case PICK_TARGET:
-							target(event.getPlayerId(), event.getMessage(), event.getCards(), event.isRequired());
+							target(event.getPlayerId(), event.getMessage(), event.getCards(), event.getTargets(), event.isRequired());
 							break;
 						case PICK_ABILITY:
 							target(event.getPlayerId(), event.getMessage(), event.getAbilities(), event.isRequired());
@@ -317,19 +317,19 @@ public class GameController implements GameCallback {
 		informOthers(playerId);
 	}
 
-	private synchronized void target(UUID playerId, String question, Cards cards, boolean required) {
+	private synchronized void target(UUID playerId, String question, Cards cards, Set<UUID> targets, boolean required) {
 		if (gameSessions.containsKey(playerId)) {
 			if (cards != null)
-				gameSessions.get(playerId).target(question, new CardsView(cards.getCards(game)), required, getGameView(playerId));
+				gameSessions.get(playerId).target(question, new CardsView(cards.getCards(game)), targets, required, getGameView(playerId));
 			else
-				gameSessions.get(playerId).target(question, new CardsView(), required, getGameView(playerId));
+				gameSessions.get(playerId).target(question, new CardsView(), targets, required, getGameView(playerId));
 		}
 		informOthers(playerId);
 	}
 
 	private synchronized void target(UUID playerId, String question, Collection<? extends Ability> abilities, boolean required) {
 		if (gameSessions.containsKey(playerId))
-			gameSessions.get(playerId).target(question, new CardsView(abilities, game.getState()), required, getGameView(playerId));
+			gameSessions.get(playerId).target(question, new CardsView(abilities, game.getState()), null, required, getGameView(playerId));
 		informOthers(playerId);
 	}
 
diff --git a/Mage.Server/src/main/java/mage/server/game/GameSession.java b/Mage.Server/src/main/java/mage/server/game/GameSession.java
index 238a3f1a7a..687176a848 100644
--- a/Mage.Server/src/main/java/mage/server/game/GameSession.java
+++ b/Mage.Server/src/main/java/mage/server/game/GameSession.java
@@ -71,12 +71,12 @@ public class GameSession extends GameWatcher {
 		}
 	}
 
-	public void target(final String question, final CardsView cardView, final boolean required, final GameView gameView) {
+	public void target(final String question, final CardsView cardView, final Set<UUID> targets, final boolean required, final GameView gameView) {
 		if (!killed) {
 			setupTimeout();
 			Session session = SessionManager.getInstance().getSession(sessionId);
 			if (session != null)
-				session.fireCallback(new ClientCallback("gameTarget", new GameClientMessage(gameView, question, cardView, required)));
+				session.fireCallback(new ClientCallback("gameTarget", new GameClientMessage(gameView, question, cardView, targets, required)));
 		}
 	}
 
diff --git a/Mage/src/mage/game/Game.java b/Mage/src/mage/game/Game.java
index 7ecb3b88a2..024188000b 100644
--- a/Mage/src/mage/game/Game.java
+++ b/Mage/src/mage/game/Game.java
@@ -109,7 +109,7 @@ public interface Game extends MageItem, Serializable {
 	public void addPlayerQueryEventListener(Listener<PlayerQueryEvent> listener);
 	public void fireAskPlayerEvent(UUID playerId, String message);
 	public void fireChooseEvent(UUID playerId, Choice choice);
-	public void fireSelectTargetEvent(UUID playerId, String message, boolean required);
+	public void fireSelectTargetEvent(UUID playerId, String message, Set<UUID> targets, boolean required);
 	public void fireSelectTargetEvent(UUID playerId, String message, Cards cards, boolean required);
 	public void fireSelectTargetEvent(UUID playerId, String message, TriggeredAbilities abilities, boolean required);
 	public void fireRevealCardsEvent(String message, Cards cards);
diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java
index 53a6bb7df9..c62965f896 100644
--- a/Mage/src/mage/game/GameImpl.java
+++ b/Mage/src/mage/game/GameImpl.java
@@ -715,8 +715,8 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
 	}
 
 	@Override
-	public void fireSelectTargetEvent(UUID playerId, String message, boolean required) {
-		playerQueryEventSource.target(playerId, message, required);
+	public void fireSelectTargetEvent(UUID playerId, String message, Set<UUID> targets, boolean required) {
+		playerQueryEventSource.target(playerId, message, targets, required);
 	}
 
 	@Override
diff --git a/Mage/src/mage/game/events/PlayerQueryEvent.java b/Mage/src/mage/game/events/PlayerQueryEvent.java
index 6915d497dc..08281e159a 100644
--- a/Mage/src/mage/game/events/PlayerQueryEvent.java
+++ b/Mage/src/mage/game/events/PlayerQueryEvent.java
@@ -51,6 +51,7 @@ public class PlayerQueryEvent extends EventObject implements ExternalEvent, Seri
 	private String message;
 	private Collection<? extends Ability> abilities;
 	private Set<String> choices;
+	private Set<UUID> targets;
 	private Cards cards;
 	private QueryType queryType;
 	private UUID playerId;
@@ -58,13 +59,14 @@ public class PlayerQueryEvent extends EventObject implements ExternalEvent, Seri
 	private int min;
 	private int max;
 
-	private PlayerQueryEvent(UUID playerId, String message, Collection<? extends Ability> abilities, Set<String> choices, Cards cards, QueryType queryType, int min, int max, boolean required) {
+	private PlayerQueryEvent(UUID playerId, String message, Collection<? extends Ability> abilities, Set<String> choices, Set<UUID> targets, Cards cards, QueryType queryType, int min, int max, boolean required) {
 		super(playerId);
 		this.queryType = queryType;
 		this.message = message;
 		this.playerId = playerId;
 		this.abilities = abilities;
 		this.choices = choices;
+		this.targets = targets;
 		this.cards = cards;
 		this.required = required;
 		this.min = min;
@@ -72,46 +74,46 @@ public class PlayerQueryEvent extends EventObject implements ExternalEvent, Seri
 	}
 
 	public static PlayerQueryEvent askEvent(UUID playerId, String message) {
-		return new PlayerQueryEvent(playerId, message, null, null, null, QueryType.ASK, 0, 0, false);
+		return new PlayerQueryEvent(playerId, message, null, null, null, null, QueryType.ASK, 0, 0, false);
 	}
 	
 	public static PlayerQueryEvent chooseAbilityEvent(UUID playerId, String message, Collection<? extends ActivatedAbility> choices) {
-		return new PlayerQueryEvent(playerId, message, choices, null, null, QueryType.CHOOSE_ABILITY, 0, 0, false);
+		return new PlayerQueryEvent(playerId, message, choices, null, null, null, QueryType.CHOOSE_ABILITY, 0, 0, false);
 	}
 	public static PlayerQueryEvent chooseEvent(UUID playerId, String message, Set<String> choices) {
-		return new PlayerQueryEvent(playerId, message, null, choices, null, QueryType.CHOOSE, 0, 0, false);
+		return new PlayerQueryEvent(playerId, message, null, choices, null, null, QueryType.CHOOSE, 0, 0, false);
 	}
 
-	public static PlayerQueryEvent targetEvent(UUID playerId, String message, boolean required) {
-		return new PlayerQueryEvent(playerId, message, null, null, null, QueryType.PICK_TARGET, 0, 0, required);
+	public static PlayerQueryEvent targetEvent(UUID playerId, String message, Set<UUID> targets, boolean required) {
+		return new PlayerQueryEvent(playerId, message, null, null, targets, null, QueryType.PICK_TARGET, 0, 0, required);
 	}
 
 	public static PlayerQueryEvent targetEvent(UUID playerId, String message, Cards cards, boolean required) {
-		return new PlayerQueryEvent(playerId, message, null, null, cards, QueryType.PICK_TARGET, 0, 0, required);
+		return new PlayerQueryEvent(playerId, message, null, null, null, cards, QueryType.PICK_TARGET, 0, 0, required);
 	}
 
 	public static PlayerQueryEvent targetEvent(UUID playerId, String message, TriggeredAbilities abilities, boolean required) {
-		return new PlayerQueryEvent(playerId, message, abilities, null, null, QueryType.PICK_ABILITY, 0, 0, required);
+		return new PlayerQueryEvent(playerId, message, abilities, null, null, null, QueryType.PICK_ABILITY, 0, 0, required);
 	}
 
 	public static PlayerQueryEvent selectEvent(UUID playerId, String message) {
-		return new PlayerQueryEvent(playerId, message, null, null, null, QueryType.SELECT, 0, 0, false);
+		return new PlayerQueryEvent(playerId, message, null, null, null, null, QueryType.SELECT, 0, 0, false);
 	}
 
 	public static PlayerQueryEvent playManaEvent(UUID playerId, String message) {
-		return new PlayerQueryEvent(playerId, message, null, null, null, QueryType.PLAY_MANA, 0, 0, false);
+		return new PlayerQueryEvent(playerId, message, null, null, null, null, QueryType.PLAY_MANA, 0, 0, false);
 	}
 
 	public static PlayerQueryEvent playXManaEvent(UUID playerId, String message) {
-		return new PlayerQueryEvent(playerId, message, null, null, null, QueryType.PLAY_X_MANA, 0, 0, false);
+		return new PlayerQueryEvent(playerId, message, null, null, null, null, QueryType.PLAY_X_MANA, 0, 0, false);
 	}
 
 	public static PlayerQueryEvent amountEvent(UUID playerId, String message, int min , int max) {
-		return new PlayerQueryEvent(playerId, message, null, null, null, QueryType.AMOUNT, min, max, false);
+		return new PlayerQueryEvent(playerId, message, null, null, null, null, QueryType.AMOUNT, min, max, false);
 	}
 
 	public static PlayerQueryEvent lookEvent(UUID playerId, String message, Cards cards) {
-		return new PlayerQueryEvent(playerId, message, null, null, cards, QueryType.LOOK, 0, 0, false);
+		return new PlayerQueryEvent(playerId, message, null, null, cards, null, QueryType.LOOK, 0, 0, false);
 	}
 	
 	public String getMessage() {
@@ -130,6 +132,10 @@ public class PlayerQueryEvent extends EventObject implements ExternalEvent, Seri
 		return choices;
 	}
 
+	public Set<UUID> getTargets() {
+		return targets;
+	}
+
 	public UUID getPlayerId() {
 		return playerId;
 	}
diff --git a/Mage/src/mage/game/events/PlayerQueryEventSource.java b/Mage/src/mage/game/events/PlayerQueryEventSource.java
index d7bb42fd8b..1f939a25dc 100644
--- a/Mage/src/mage/game/events/PlayerQueryEventSource.java
+++ b/Mage/src/mage/game/events/PlayerQueryEventSource.java
@@ -61,8 +61,8 @@ public class PlayerQueryEventSource implements EventSource<PlayerQueryEvent>, Se
 		dispatcher.fireEvent(PlayerQueryEvent.chooseAbilityEvent(playerId, message, choices));
 	}
 
-	public void target(UUID playerId, String message, boolean required) {
-		dispatcher.fireEvent(PlayerQueryEvent.targetEvent(playerId, message, required));
+	public void target(UUID playerId, String message, Set<UUID> targets, boolean required) {
+		dispatcher.fireEvent(PlayerQueryEvent.targetEvent(playerId, message, targets, required));
 	}
 
 	public void target(UUID playerId, String message, Cards cards, boolean required) {
diff --git a/Mage/src/mage/target/Target.java b/Mage/src/mage/target/Target.java
index 3b73f18934..d02e371659 100644
--- a/Mage/src/mage/target/Target.java
+++ b/Mage/src/mage/target/Target.java
@@ -30,6 +30,7 @@ package mage.target;
 
 import java.io.Serializable;
 import java.util.List;
+import java.util.Set;
 import java.util.UUID;
 import mage.Constants.Outcome;
 import mage.Constants.Zone;
@@ -48,7 +49,7 @@ public interface Target extends Serializable {
 	public void clearChosen();
 	public boolean isNotTarget();
 	public boolean canChoose(UUID sourceId, UUID sourceControllerId, Game game);
-	public List<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game);
+	public Set<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game);
 	public boolean choose(Outcome outcome, UUID playerId, Game game);
 	public boolean chooseTarget(Outcome outcome, UUID playerId, Ability source, Game game);
 	public String getMessage();
diff --git a/Mage/src/mage/target/TargetCard.java b/Mage/src/mage/target/TargetCard.java
index e18cc8dfb6..6e5450e84e 100644
--- a/Mage/src/mage/target/TargetCard.java
+++ b/Mage/src/mage/target/TargetCard.java
@@ -28,10 +28,8 @@
 
 package mage.target;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.HashSet;
+import java.util.Set;
 import java.util.UUID;
 import mage.Constants.Zone;
 import mage.cards.Card;
@@ -78,23 +76,6 @@ public class TargetCard<T extends TargetCard<T>> extends TargetObject<TargetCard
 		return this.filter;
 	}
 
-//	public boolean choose(Cards cards, Game game) {
-//		Player player = game.getPlayer(this.source.getControllerId());
-//		while (!isChosen() && !doneChosing()) {
-//			chosen = targets.size() >= minNumberOfTargets;
-//			if (!player.chooseTarget(cards, this, game)) {
-//				return chosen;
-//			}
-//			chosen = targets.size() >= minNumberOfTargets;
-//		}
-//		while (!doneChosing()) {
-//			if (!player.chooseTarget(cards, this, game)) {
-//				break;
-//			}
-//		}
-//		return chosen = true;
-//	}
-
 	@Override
 	public boolean canChoose(UUID sourceId, UUID sourceControllerId, Game game) {
 		for (UUID playerId: game.getPlayer(sourceControllerId).getInRange()) {
@@ -122,30 +103,30 @@ public class TargetCard<T extends TargetCard<T>> extends TargetObject<TargetCard
 	}
 
 	@Override
-	public List<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
-		Map<String, UUID> possibleTargets = new HashMap<String, UUID>();
+	public Set<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
+		Set<UUID> possibleTargets = new HashSet<UUID>();
 		Player player = game.getPlayer(sourceControllerId);
 		if (player != null) {
 			switch (zone) {
 				case HAND:
 					for (Card card: player.getHand().getCards(filter, game)) {
-						possibleTargets.put(card.getName(), card.getId());
+						possibleTargets.add(card.getId());
 					}
 					break;
 				case GRAVEYARD:
 					for (Card card: player.getGraveyard().getCards(filter, game)) {
-						possibleTargets.put(card.getName(), card.getId());
+						possibleTargets.add(card.getId());
 					}
 					break;
 				case LIBRARY:
 					for (Card card: player.getLibrary().getUniqueCards(game)) {
 						if (filter.match(card))
-							possibleTargets.put(card.getName(), card.getId());
+							possibleTargets.add(card.getId());
 					}
 					break;
 			}
 		}
-		return new ArrayList<UUID>(possibleTargets.values());
+		return possibleTargets;
 	}
 
 	public boolean canTarget(UUID id, Cards cards, Game game) {
diff --git a/Mage/src/mage/target/TargetPermanent.java b/Mage/src/mage/target/TargetPermanent.java
index 28bdf6fb9b..ed3a1e7d04 100644
--- a/Mage/src/mage/target/TargetPermanent.java
+++ b/Mage/src/mage/target/TargetPermanent.java
@@ -28,10 +28,8 @@
 
 package mage.target;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.HashSet;
+import java.util.Set;
 import java.util.UUID;
 import mage.Constants.Zone;
 import mage.MageObject;
@@ -111,15 +109,15 @@ public class TargetPermanent<T extends TargetPermanent<T>> extends TargetObject<
 	}
 
 	@Override
-	public List<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
-		Map<Integer, UUID> possibleTargets = new HashMap<Integer, UUID>();
+	public Set<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
+		Set<UUID> possibleTargets = new HashSet<UUID>();
 		MageObject targetSource = game.getObject(sourceId);
 		for (Permanent permanent: game.getBattlefield().getActivePermanents(filter, sourceControllerId, game)) {
 			if (permanent.canBeTargetedBy(targetSource)) {
-				possibleTargets.put(permanent.getValue().hashCode(), permanent.getId());
+				possibleTargets.add(permanent.getId());
 			}
 		}
-		return new ArrayList<UUID>(possibleTargets.values());
+		return possibleTargets;
 	}
 
 	@Override
diff --git a/Mage/src/mage/target/TargetPlayer.java b/Mage/src/mage/target/TargetPlayer.java
index eb0c53047e..d88833a534 100644
--- a/Mage/src/mage/target/TargetPlayer.java
+++ b/Mage/src/mage/target/TargetPlayer.java
@@ -28,8 +28,8 @@
 
 package mage.target;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
 import java.util.UUID;
 import mage.MageObject;
 import mage.abilities.Ability;
@@ -88,8 +88,8 @@ public class TargetPlayer<T extends TargetPlayer<T>> extends TargetImpl<TargetPl
 	}
 
 	@Override
-	public List<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
-		List<UUID> possibleTargets = new ArrayList<UUID>();
+	public Set<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
+		Set<UUID> possibleTargets = new HashSet<UUID>();
 		MageObject targetSource = game.getObject(sourceId);
 		for (UUID playerId: game.getPlayer(sourceControllerId).getInRange()) {
 			Player player = game.getPlayer(playerId);
diff --git a/Mage/src/mage/target/TargetSpell.java b/Mage/src/mage/target/TargetSpell.java
index 7097d57382..42cce3df6e 100644
--- a/Mage/src/mage/target/TargetSpell.java
+++ b/Mage/src/mage/target/TargetSpell.java
@@ -28,8 +28,8 @@
 
 package mage.target;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
 import java.util.UUID;
 import mage.Constants.Zone;
 import mage.abilities.Ability;
@@ -99,8 +99,8 @@ public class TargetSpell extends TargetObject<TargetSpell> {
 	}
 
 	@Override
-	public List<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
-		List<UUID> possibleTargets = new ArrayList<UUID>();
+	public Set<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
+		Set<UUID> possibleTargets = new HashSet<UUID>();
 		for (StackObject stackObject: game.getStack()) {
 			if (stackObject instanceof Spell && game.getPlayer(sourceControllerId).getInRange().contains(stackObject.getControllerId()) && filter.match((Spell)stackObject)) {
 				possibleTargets.add(stackObject.getId());
diff --git a/Mage/src/mage/target/TargetStackObject.java b/Mage/src/mage/target/TargetStackObject.java
index 76f5dedc6e..316d763417 100644
--- a/Mage/src/mage/target/TargetStackObject.java
+++ b/Mage/src/mage/target/TargetStackObject.java
@@ -28,8 +28,8 @@
 
 package mage.target;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
 import java.util.UUID;
 import mage.Constants.Zone;
 import mage.abilities.Ability;
@@ -98,8 +98,8 @@ public class TargetStackObject extends TargetObject<TargetStackObject> {
 	}
 
 	@Override
-	public List<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
-		List<UUID> possibleTargets = new ArrayList<UUID>();
+	public Set<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
+		Set<UUID> possibleTargets = new HashSet<UUID>();
 		for (StackObject stackObject: game.getStack()) {
 			if (game.getPlayer(sourceControllerId).getInRange().contains(stackObject.getControllerId()) && filter.match(stackObject)) {
 				possibleTargets.add(stackObject.getId());
diff --git a/Mage/src/mage/target/common/TargetCreatureOrPlayer.java b/Mage/src/mage/target/common/TargetCreatureOrPlayer.java
index ac539a77ee..3e218d35e9 100644
--- a/Mage/src/mage/target/common/TargetCreatureOrPlayer.java
+++ b/Mage/src/mage/target/common/TargetCreatureOrPlayer.java
@@ -28,10 +28,8 @@
 
 package mage.target.common;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.HashSet;
+import java.util.Set;
 import java.util.UUID;
 import mage.Constants.Zone;
 import mage.MageObject;
@@ -132,21 +130,21 @@ public class TargetCreatureOrPlayer extends TargetImpl<TargetCreatureOrPlayer> {
 	}
 
 	@Override
-	public List<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
-		Map<Integer, UUID> possibleTargets = new HashMap<Integer, UUID>();
+	public Set<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
+		Set<UUID> possibleTargets = new HashSet<UUID>();
 		MageObject targetSource = game.getObject(sourceId);
 		for (UUID playerId: game.getPlayer(sourceControllerId).getInRange()) {
 			Player player = game.getPlayer(playerId);
 			if (player != null && player.canBeTargetedBy(targetSource) && filter.match(player)) {
-				possibleTargets.put(player.hashCode(), playerId);
+				possibleTargets.add(playerId);
 			}
 		}
 		for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), sourceControllerId, game)) {
 			if (permanent.canBeTargetedBy(targetSource) && filter.match(permanent, sourceControllerId, game)) {
-				possibleTargets.put(permanent.getValue().hashCode(), permanent.getId());
+				possibleTargets.add(permanent.getId());
 			}
 		}
-		return new ArrayList<UUID>(possibleTargets.values());
+		return possibleTargets;
 	}
 
 	@Override
diff --git a/Mage/src/mage/target/common/TargetCreatureOrPlayerAmount.java b/Mage/src/mage/target/common/TargetCreatureOrPlayerAmount.java
index ffd0a53683..507fb70c56 100644
--- a/Mage/src/mage/target/common/TargetCreatureOrPlayerAmount.java
+++ b/Mage/src/mage/target/common/TargetCreatureOrPlayerAmount.java
@@ -28,10 +28,8 @@
 
 package mage.target.common;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.HashSet;
+import java.util.Set;
 import java.util.UUID;
 import mage.Constants.Zone;
 import mage.MageObject;
@@ -123,21 +121,21 @@ public class TargetCreatureOrPlayerAmount extends TargetAmount<TargetCreatureOrP
 	}
 
 	@Override
-	public List<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
-		Map<Integer, UUID> possibleTargets = new HashMap<Integer, UUID>();
+	public Set<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
+		Set<UUID> possibleTargets = new HashSet<UUID>();
 		MageObject targetSource = game.getObject(sourceId);
 		for (UUID playerId: game.getPlayer(sourceControllerId).getInRange()) {
 			Player player = game.getPlayer(playerId);
 			if (player != null && player.canBeTargetedBy(targetSource) && filter.match(player)) {
-				possibleTargets.put(player.hashCode(), playerId);
+				possibleTargets.add(playerId);
 			}
 		}
 		for (Permanent permanent: game.getBattlefield().getActivePermanents(FilterCreaturePermanent.getDefault(), sourceControllerId, game)) {
 			if (permanent.canBeTargetedBy(targetSource) && filter.match(permanent, sourceControllerId, game)) {
-				possibleTargets.put(permanent.getValue().hashCode(), permanent.getId());
+				possibleTargets.add(permanent.getId());
 			}
 		}
-		return new ArrayList<UUID>(possibleTargets.values());
+		return possibleTargets;
 	}
 
 	@Override
diff --git a/Mage/src/mage/target/common/TargetDefender.java b/Mage/src/mage/target/common/TargetDefender.java
index f14548ed0e..fbf43277e1 100644
--- a/Mage/src/mage/target/common/TargetDefender.java
+++ b/Mage/src/mage/target/common/TargetDefender.java
@@ -28,11 +28,9 @@
 
 package mage.target.common;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashSet;
 import java.util.Set;
 import java.util.UUID;
-import mage.Constants.CardType;
 import mage.Constants.Zone;
 import mage.MageObject;
 import mage.abilities.Ability;
@@ -104,8 +102,8 @@ public class TargetDefender extends TargetImpl<TargetDefender> {
 	}
 
 	@Override
-	public List<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
-		List<UUID> possibleTargets = new ArrayList<UUID>();
+	public Set<UUID> possibleTargets(UUID sourceId, UUID sourceControllerId, Game game) {
+		Set<UUID> possibleTargets = new HashSet<UUID>();
 		MageObject targetSource = game.getObject(sourceId);
 		for (UUID playerId: game.getPlayer(sourceControllerId).getInRange()) {
 			Player player = game.getPlayer(playerId);