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#* 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 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 zcmY*<1yCGKv^8$QJ-8(}1b24}?gV!Y?kw)UNN~3$xCQrM!54RTXM@9^<g5SHds8)Y zZl6B4Z}(Jp)lAj-oegu74TGkl01Jl#_4kU33Q9twfsOnFoGGw>TVoXe;GFg^012TP z{$hg^^ft`DfB|k02JH_cB=V?73Iz)Vl>j_rr)i)-#DPWrOP9Z2?y&|6qHq8-2O)2K z9IUOZtUS;#&}4Qxp^0$8_O>vx6wo23&{&dNNrIblvZjW8`+9g)Pcv<SPnjU_2YD#x zUeFJ4+l50Di$j%O6`mbDP4`8H??!Su!RFoDiwNi4L=GQ^>;5m@F01{ebPVBFT&%bm z<%b^_-Hunp!fMZ!M3C(krU1Z-4E@BAz_k}o+{Vsb$!%APaN-Q&%!LH~iz*r5dOG3R z>itfU+v~SCssv@GR}EWXg@efl>X<i%i%F)}tU<tC!6d=;eZ=i6drtRu&Fl}>H+A`q z`+NP@^n~smz`Kz<_F+T%7m9?p;e&+h`<g)!x$!Qy<DXCdeu03r$q>M`HDp>=D$UfJ zQL(U5P|z@STfJhmK4n2>=U!<F)W|t?AKKpORqpoC$QCpz8udn#!0Hc{u+Rem6Xfre zYK~)Dj$te{)0Evc*LFEpD%%tm$gZbnE1%ijSqqNN)crM#9!?K5U&1~PRU!<7VM|;R z1rf%;GTw8THAKfn7668YvT!k5hDo&tcIhBxG;L}oP3wxJnVUm5J&^Q+brexf_0RIU zYrfC&L&cS576e^tLvmk|l<_LBX1s$HIi@S))9+|%7_c%&jvAGeu0U!9%)rcw>u>w& zwB;`JN(Af5jbK!T@!M%>t}z*6uzk{Awi}oBc!+d)G$)r4GaxY>$ka4d`8jQyN`bi< zOfTFdnZuAUyITjYOdBbOuF*T!Os!7@apGw(nyYL1%rVrUc+VXfHtB`xoN3yHE)ms$ zARzt%VF@iY){<I5q7IPix?QJjj!Jb47=e7Pg4<^<!_XZcS0X14?^?J*P)2@Z%x3~` z`KIHTz|g%5Q0p4xXLP8U)p1N!)24&}Hs<CYHT<TAHDz)A!+=a%^kOdc=$OI1Nw7L; z(oSl?tmKxF{zXr^W1_5Do97-JXWJmytaJR4TnN!$0y3V~HYme-nU&TyC&OBh+^yN7 zd+b5pNtNn(f2irbaa6Rh=bxUio^rP)?4!SacYpW=;9et`$pj%L_oqm`dpJzE?%I$6 zq}{;^KkBUO``<=&08WY~%^!*9LJI3JMs`dTgtm)Vi(8jujIOi#T1_6OIbS~uSynjM zfTSGmrdw<y8qZQDhxT04{e&si{AbjZM}}slFE$aujtW9MMK8ymRJB$mW3E&i2c5PF znCQuXI-|s6g1xI`H*a0C?({9gq+CGaQ02^HrgkR_YUkD-ZRoyd{mP`z1HE@QeayFy z4cXNCzte63`eYZw2kqk5xyqe2rT1XOV~M=SqDNrKt9?bnx5yEenhNB3<qGuB{@zdO zw(e)6sl7g>h8&+UzN6uCbBBW7m9S_u)PD^J*f3gNgXiY8IMAYsD!x}$*nh9VnCHYz ztHRLY<_6De!<{UIGlb;dRU?0AMVsgPZo2Jq;Hu@2`pXKQfmpnWi_SfP*j~Ea(!JJJ znr=04!UnG(l`AOx=Oe}JaIxf$)pz9YsQ3tJ5g-Y)0^=XG11a3N%95Uylq%iqi-GU? z0WC-NKgqtSa0#FL_6A?8S%r>jHt8Tr6J}?3@I!5BaDpYIOC@YA&NBCc5I%PIFOK$P z8W*T*^A2{1nzwI*%D<<kdLP@_O&4{~7FF}tQtB8HBH?L;&U0!ZN=j3)z4!Ag{|Npx ztp@0g-Z$CbJjL7NVgwO~aHSGjSvvaW0<zf{VIi7ZeIVn#<F6+4xsDKA*=|aeSxmBQ zUY)C2V9x@s;usit27SWTpg~YaM5MNZh)b8lmJxQ27XDb``b^7*NGpt@EPFuHc+Ncz zt@n|y)H0=91uc}SsBs71p^rvA0sY=mzJfq21A)W?Suw-~V<?ts)+NOXR(&!akP;;q zhQQ$-GaKX*iyc@R6D?q?WjLob8H*hyO^7GnYZ5|VR7k1P>SLKdA&YL@qn2m9m)hjM zX<~d{+pjRCuT2iB;t}*5k5g~7@#58QnTh=2YDx?YpX;q9>hERfNBHH!hE$iAT4>*! z9I1Nz)f&xfu+I{Hfrocau1uc^;7g9m17&Bt$)%#Y=rv+qDt9)Jmp}daCR&9HUz>NX zg9@9Km6aU9vtR*X(_W21I}B7Q=^QIw$}jZIhujqE7UZ(}Sw6qbQ4^{&9g+C*c$X-T zT4|}Vac?sqS`j)H0fwoSim<%KK(pCYN~Ks6zx%LOwrXmag?*t`vJ*KI5Wm%TZz72o zd>;5BaE$rk%=7SlK@+6+s{=$Y((HC?z#vyq!jG%h{R7sZa=(muoeb%gDbsDn-f2Y9 zn<;r|<&7@yMu+GU&x4*NtH>AWdT<#6cu)VB14%?ha}TunJe5h|QD$^b>7lFDXKZ49 z{gp-n%*~xrRTIi!toVroaH<mYj^?V7&zTI=fiOGIGtUKAxh*G%7IbNQB`qhDvrJcK zCoCKNVYKNgllYh_*L8J^KS6m@g6c{VX~ItBNF341RKcvi0esMNEX!rQY$8J(>{=*n zHj(t+Qqct6sk{PuLCn07t%l~RCx=02PbHEE=gC!LgrK}S-Y35U;6d5auY&=$tLUcM z2xc*h<b$!v7g)LiM!YNHh*qvfLu7`3&}kqh#>@|41K`EbJF3$}^Xue)jrMNAN#+$d zCR$k0Z%Q)p_29Hk=?)EoryzXYZ}(`T;1MSIoMh#Utqu&|jyF$<UBTtZm)!Q~msxTY zfgK>IcKDty_4(ciz%ic&U2_^6N>Dm-2BTm~ClotDREBSjIl27<l9CE(igS1PVna;B zt+ZT6Vx;+1s<w3WXz$(pcen?l@><F8<K^M6SX10qniM3scJXm20#)>!5JF~kCKHEG z_=bX8a|Qegl%pbH9Z)PRB;Uh#7@c*)p8cEL-J7@w^@llf0Q(~ozpVE#X&mRVKTGzi zW*u5P!^jC}&m)>Ru{k3TTelFOB?V)wn_3LSeh`-&6&7PiN`Q{&XC$nU(a+?SI875^ znrLaof({b$j=1J>pW9~rsjWp!f$EpYxDqf^z()w+73He?0sGqzPkMUms&;1$yDbj$ zrvus8P$9FfBY?`GW>GN3H7Lsz?gIo8g!b82m|#&b_#G1@Y&_(FE-PZ#?E7QHcu_HD zaze9r{Ns$4QAG_jjsrv)5?9r=m!2Oq!n~&Srnb@hUL3eggvm*X^|hZDota2iyrSxL z9IyE?w~ShA#kS_LSL;nxWcj%Jm{#GeVJ-mDP=dY;0%!uO-rLQid@u|(^us38yHRNV zjWqj$lYwuRWR1CHSaztPuYXLe;Omf6>d&3mr(pj|Dq?ry76AWsJ23!?#BODOTJYyS z2^rME{!bAm9$L(}_~wbJjNuu6RD15c{)6Q<91mH~`7ic4AAGsAJe%BkAf#^ms%b!C zXo^89AAqU2XV+H0>p-DPpeb>PRP)6An!}pJU1Q_Me5a(|QX7wfLj2|dohJEd$9d%w zTU_K0sTnj${vw@`JEXU%VEJcldvW%tW{^r;)zb-yKE@O*vk;Pf3>fjGhyoTi$Q2H% z$jS^&x|T}=?P=Nr!7F-Hvlm42qkk(>3k~xC576;zUZNnFUmK&rJ=b1r@-hEj@Mw42 zpTk2Hoo2afM9~oL=e2uKNra3?E%j|o#~Bi4d6mqexI#iBWV%qh69bwp<B<eKam8TV z&R$49p&3Fbg#QUVzhi9iNLazAMQ(LOMMy~#BU4v0wBi$-Ykjf<q0vu|^m-aVX0!Lg z1?bAxv&*Il>5iF<MK3>+$k>!PMzb`zXPi1O{Fq=V9a6LsJ%DJimDoJODWtFXwE1Pz zF^yxsoB#-aA?><b&yx8ymft9P|El+<z^K2q*Ponrbr4EOsOS9U(Pc<6ih<z^#_F}Z zFZOaDwZVkTgGJG21=GTokW=1<>+^G70-A5B^qGM|df%1nAlTC*w<@ty^JO3>^paIR z>DG+!#uB83Y8xF35-CkQB&B6!vbq-q?~D@V28bG(9n#@mkE26-n>_j^0T(>uka@lo z(#AJd9V-&il5f7*EQ@XO3DOiR6cLJ`()s-?i<1x?l9c@Q{f+Ao#UkvF9E$~0fPA31 z7dc;+-Q*3IA2XHuFEWcDmu;HI7I9kVSL7)Y>O;*l0zJ(SAK-@WTlWtWtCR`O4A5#| zb3l#@s;87zn8iu>SN%HAL`wriY=v;P3rbDSbV=$7<)OYGY+`(}^uAafaTpuRnYLG* zSZx3KK9mHvT$83bHbV3&bjvs#0A1->#XgMN6^2eHXg<`Rva2S+R=SV&`guiIq!a2Q zGN!VqNG#?0q^R?n#{CX2@BD?urC`Kt{Ec%sVFf>!4nO9HtXuYF5sTWKyt@s<(mxNJ zdS9sx6E%BYI2V8%2Ml49;6e|Z^;Mxt=p8*4_5XyTMhXfVsi4xCqdd+_0VK@?Y7ke5 z3UDtyQq@gKc8%JCENdbU7@dFeHEo5%VST_dBc`&-A5iL1#G={gDuIpCLWJdtJD)IQ zdJ++Ro0(59C#Rxh7V9bec1|ONlUiI#xf$<P(e-OS{e*E@k<j4X0wK3bhhlVE*UY^3 ziJhd^!t$f`<3e*6dfuatKOm&a37qB7DYXH%%y5{2*5CN<R0pa0Xh6zfQ44V(y4>;b zkEpsxK|W7DoP)3aW#8m1RR1Sg-^k>|H+0v~oAYR6@ln{nyNY~@XUV5B_FDh_o|wPV zGnAuz7&IBSzORlfKXr<!Ny1{Au88f)&@HzYZm!)CzJgN=1if<>Fq5$2lO9kg^lV2w zk52wuTK91zGTFn=2lW^D^*cdgn?o8L==Tx}cYDzjko%i~T43bwCIOPbozH1TeM-&x zhU3vwqdM{nCPW{j)HrM8eVDh<q!yNhJaw)c9N!u6A`7Uo@;y{J3uEH-=sP}{PZU2S ziihER?R1~+_%Rl(0`R|88KrCGGyFXK7<MKW!Z;sB#GpNn3P!{KjW{%5QM~=FlD~xH z*#vf9!oXS1N-=asg#;PNp)!bkcaZ>gq?g20W3|VhiuyxFGq35goNm4C2^P~H67dW} z`dEV~FB2_HL7a=38UboGH;?VyoXho5sra<|5?kvTx+`{l37|NF;i%v;`0J<B+;a@s zDHKW$U)7IC;SDS6`ReGIjKJa{7H4&1Qemh$3IqG1)1^(12;{vH?&$_94IITOth;5I z%ucLN(7NxbM<<w-eYg|x@eswG1Y6W8e&$2tTlRoA-^T^nwl1K8=b*3I(3H8|+ZlKg zaC|=znGDQmWdI7<?JE_hZOcyNk|&~mr;ytwa~>Th`w-hwdwZ{hBppJ&mA9ODEjw$R zuFmuBpYx`pPpGaEPmz&w@-=_@&_=H7kS(@rtF@V332h^OzV2HZX0|8XO6o(rRFEPM zr@^Nz?nztmZfFhQo<cUdWZo^IF4^)KHQ$I>to6v~OD&*nxsjkHsx7K&YOrmY|3DrI zVO@ol!7^K0KjVkCKUIV*>LFeR_Y$<NkEVmt*HO@N?ULP&_b)ME>}o|dHwk)%ujbu# zTXCln*@W~C62mW2Md>V*fo^lPsP@z-xKfYR7-%g`DJ|XApmyHi8!KmI_c#+8LW$(C zIP=nrm{GvO+BWY?Oz2y|8MQ28gs-VWLoD;sCFUG);pk2bdPG9*h>~n$t$w|aeVKE7 z5@RF_;dh!X$wgZ3ZS!tL91LGM|8Gw<L9HVf38iqL%DvzbOf=!-JUh{kV(MmshO6km z?7mk-q0iYU8Nc|Mk5n=S6Uv`sJbHNX*XDl={h$ZHvrxC3WT;AvnUqMzSD4BQAj~WV zCF#9~vXvl&?6Ra$5PE|70C?DMpv7^G-S(;&ciX|pq64JGauuBv_uqQc-^t`uNR8Wm z@iqBrWjyZ|!A6^MB#Vk3^wlUkMx^vTUG^_Zm?Fs~99Pn%<DsNiRp2}uN8}i9NfThe zOv?f41hS~x))cnyeVaU|oITIaFDRJqtY8&)1in@KUlf-Y`0oArHL=CfRIml@3&@a~ zY765Ou96=VXBMe1=mDvMxn*wae4snGA}dgub5t3xCR2hLiKw<Z&){>8Xx8<Ei=sRo zAy|QBK$0Q65tJ1(@Gw{MUf*=F=)6>Jlqg^xKBrd}M&Pj4({}%kbz2kdu&FPJ&v*Z0 z&P*+NeEo%!%-&ZgKY`P!FQ;G?|3!mRxzDGuc>r_6WzANWt>406#ui(d4n-Z!^qG2k z4*C65X66i$Zu8M7iyMaBbjOGuNQl71PsFUUEc$^|-=-`xo5AOLK81r{jKI8Kq$7a9 zZ(geBNvdS{cr;6=oN{fe=9O;+`)uGZIgpgeOng?ZC3Vk8(3|pibOBu2OLK@Ao%9|S zdzTKCkEZ4-yj}g%gh%}N&w9&tf;yAdMf*u}DiHQ2+jwV2>bbMJ2guep*fOB(raR1e zF_=laL>|Yp=S9`xAaYbGmu<xXLJQCuq&LyBmoX!?=g4+NM4xZpZ8oCcPH#^JQD3_z zN0?%mwk%>7n;LcL=>K9@*wGn<dq58QddkC?q3JL|^udpo-Gn6mnFZAQ{Jq}FQEih} zlITAAXpzSGH&T*ynNH5b3lqM{zRT@M)M31jBzl0fTejcFw*rT52`cV~Icb2>*ER6e zqj4(im;G-Wd+0HiSrKnGj+XidGO*<Yca)_LyG6_{-twWDL4rt52?okpcbIoVDXvl8 zgrm_nmpPO0(-&L!WLS4!A}^Bs8jpBJ&qOkZhVS#=j}2{mlXN*!V7y|H0@IB?`3X3$ zv#7;11J|X=aMe{5*QB++AC3d;N;zv|v>&<a$=QH-TT2N{g4)}yDfQOxAtg|IGYkyH zm~ln3t%OzH6B>fKw3rz)lEP$T=`%Delos+pZxow;^NN0&jcBK%R$5kofCWkJ;PcQh zt>AV}YaIL4abpDgUW58O_jTzUmFq^8^bB|b`WPFI2i3#T#;msSQ3=58CH|=4BKVPS z_<IgGhhBbBKzvaGscK80qKqmr07cCSu{eMd@>5pIa(URE%DvAOtwhu^hq7TkaS0Pt zfTi&+V{RIbKjd@152*N)EzyySo`Sx$kV6^TtzeFgIe$Wjwek*oE(-m4!K+}Lav%+B znH$T&QTd7}>}uOtxc~qQd%?}K5nV0re26SJ2>V8{L0gOQqc;9z-&-VlqQ%vzKllQw zBt!gjV<4HUS9PUIk;TR3=M||={5^-VbqpCznmNvFyTxWwsy_$F+h7a*lIPP0`<#sQ z4RQZ#%JwdSio8P0<GgO5%Qro1(RXMh&LY;Ile+E|hBlnfH;Mrg&&(;^9r#3G$(QR` zbkudK#~E>%5i?nwTcoNwQX-S^E=++&WM6lz9L4l0>^9sdcjnti?ZwKITAl?nBko!0 zwk4*j_Wl43kkz%H;if!SoZ9c%k%|m_T)lwut?CCM?cM_<b>IALtaU&11}UFlbuKpy zG-vr%Y2Ap6QWJo&pc5sS(WsGSkfWdivL>8`L%@!LP1_dNHgyIDo`(|rh(VA*LpdUo zJu}QyRML>|F0gSU&yl^GwO=OUS`r`in5!g++Y9rn*WJuMggF>s{uH9tUQC9`Q~bM^ zz-yP5{+#Mg44QL2>)KrT##5!2n{5=Is4J}RnvBgA5f9K8FT=tB6{cL?JUhK&t-%pD zK{P9FHqDLB9iaG*H0Gyj!nCtMMdXnd5%3`3BuC@Bu`BiT*gbMtz_Ujt#d+UDCK5&> zT}H&E-?z4DY8^9<?1dsXP7^_|eKk4*ctxuZXMyx*q3nVtG(fXmXMWb7%Ti=nh1ZL? zv<bM|FNc8bq&)DC_3v0zczk};tEUC5%Pf1a57`-RLJo)0{CPt$DSFm3_{SS2L#6Ws z6un<GV3w37GH1j~J{7aG6<08GGM~U{;0j9b(X~vuVYy}{@u*iY4hU)Bp3#vymI*Fp z;N;{S>CER=5xo_{uofx`=7r~+h7b87976=kR~i7EdAUV%jS-H;1eXx1mt4a_k=e0Z zczL6l%3H2ZEIdD_6lE!1oL&G9-ZPJL@P%Y9tcLZK&EV5fw*MtI*@IM213U;7gw($; zJk|DIz^0VR20z<Jm4QIFJj=nrJ89v<J?8<U#=h=nuBz8eE3k(?n$k4cyPRe1&oMse zat3J68TBr$XP?Z|np#l*0G`Ts76#b5)x?kfwkTVb!>RY*QG2$r9DQJ&iu3~zp)fb* zM<E3Fx$-~|!f2&UhUoOPcZn^any>YJ6=ek`ocP2(I+kYt$T5nH!#7-YnE1RzwBS|G z>0=s~yBO{u`IXiOv1{jx&af|M+Ird5Ei`~>N8&z4WZJ-fmg*5H{)$yYDUU+bU;bdm z$_?88Gr_FUk^KEF^J1UCA){AT&6de4vi=i7^DU{6*qb!n6WK}!LD5@a?weToLz12i z`IAle(k1_?CKoq76v<BiDZ#aiy+0A8OkWZ6X7sak3RH=FV?Dj5vx){>3Ep9)k`3U4 zJej&)m>P=vmK!>yN~s#p@9U#OyZ7)!qU#~xjqSN9%7Io`PTVj@L~EEg$(P?r*9YPy zAn&-7wQ4-P{&pyVrt&a+8E4TvBy?Vj`AaM75lhjawZ`48(s||kt@6kQR0YY-_Z2vd zqdO_(PiIQp3tyQR?+Tf*o8A@b89@OK3=V8Nl^&tId#k@9y-sZUXz!iWfl+^{#>+Z` z4xen=ZETW;F1*9j9QIQLyRCSb?FvLyqeUz*UN-Mei}w^&$uC>Uqt$g&j+NKshGm+k z^j|d!k~okfaCfRNjg^D?Vwk2S8y*phcPUD#dPRrxqGyU_WRKJE9<HB-Gq?b2dGS{- zhTY1X&u)OsEwyDW)|ALi<&&L>kVF-8VuzM54lVlSdZ+5b+nhdVoIZ$ikujB0(|P;o zwZLOsGOI{Tc~S=_+nlFJ9Y>+j0E|UcGrA6<U-d*`E@xkNXfF+D^G*nUQVqLEYHV|k znv<_e^XI3c5oU?u@Bu$>eue@-<s8ABi)%aMul0O6B0HBJ&sLgr_54vsc8hhl>v(!V zw)(ClU>NrC=9Az%Zz%E@`%O49^OP-d`%QSaxF}v5H@s~{LgEY9aFHxxOsyFcxdv}$ z&c#v=n}#5OA&M!BD$%>IHxh<JCk02ahce|F)EeTiIK7d3DKgAutBWxJ_7Bb#M0Skf znGS*SQJKAIdTg}|f&H_K+j01LHdng%d1z}umA7H#k9)iklkP=^7>bO)RqJE8nU<x9 z36Rr7Tm^Et8Zsurqq2+2^D`#az={V=Q>^&hsx`Xx)C9&dD4S_4l5w6|INp{*rrYP3 zMA8RYo^1IU9SMknHv?1vevBXs0*WjmF$pgcGzsaHA!-|3mqN3vFTaYc1=okn27&j4 z)EiO8Y#59}34kEJpJuT)_kJlKGiKmFTBl2nR}Xj*6c=zNv+gSO{2*xkF<;S2$i<;# zx@!a9usnR6j&CHMxKQHC++`m<m>!c@9Xaqp2)3PO-M(g^q!3IBaAUiUB)uKOZ<7pl zuE5EDdYo3PZMvue_oE4Vs)iHpTYOB%8XeoAAJSDaIG5ytCH*=0egrQVfl7%DE|EOO zKwI9Eyp3~Kli3YosYkT%k|_%wZsW!_s1FEJGopXi`_94@zEm^Tww`eoUao&-xwa@t zubWkr_U%B~p@2CHVAJTv8E{<69E|-W|1z!w);}f<fvfQAAz|BPo`!fv8S#vt8LzdF zO}EiAvTo$*O)XTkI%MO~hVwZWt+B+k#2a6|YUl=FW286?ZabhE2p6P`?rc5M_9T4{ zB_mf3Nuo+P7}1D^^CnB5w&~eDxaRZ<J&Fvaol%zE$ah@@L|OF$nRa{q*j?T}Of9N= z^G{96MdqJi3b1ZbY(#$Z<SAV9>{vd0m9{>&|HaBSFFxR*Kq#cvMz@Ue68jk2shU^E zL*#HLU39i?-MDrly`teEs>iS)tFW46mC4Dy1BDh&eUv0rhbP<TV(^YBT=zMKrchhY zPm^)qcA+!}z#UWbd;j*3?F!1CP#2%+gs5x2j%l*4)`4clwyUnf@XP@us>skyfe?E^ zM;9p(ZaL;Ln<Iq}i?0XYuYXuw*vRWn7pWf6uJj|STx(uvABSPnzNrzZ?e@X{bK-7^ zn#%-v^vt_#3Y#YfTF79>>uru(4JQWh+d}d5V9Krtz^6HG*-1>jEeq!N-AcgWwvz#K z`y?ehW9vp#NwbL1ikWruEUeUf=gQ$Y{lR&i=jW>L6hh4~v3C^Iz~5G=lfQe6)#}yZ zw=FZ-iWVD;JS;tqa~eMhxEg>&iiWc;CL?=R=&j{jvwjxQmnh-<Dq7}Ra2r9cY)LZS zh}b?M11w7$X3Pw3Vi5mW6L^oH?7;68v(X;mBVAVyjn1NFJ?0>&79e@b$Au8CzLVtQ zDnRHUo}+U<7AX|^Eqm0e$K@o5t{+U`%$=}6W%xa0uX;$@K3_^@`Q|~fEo8FqHCu`G zn(vlKe9tOU&=<>94@;!&`r~F`%#Re-@Go!J+yFo1&Ha+dhxFcP)&mYK9+vQMqmhN} zjhcI(SFVkp3s<moLZdvFv$a<Q_a6gNo%TH+@L!>-@~+OF@iw4|JBZT&7;h05ds>ca zM}B$7gLjo|&w>2m<QlFIlskBi#h-f^0i55cLX^YGuwusHCM^)c7Ik_Re+l6&?y&20 zZURvAbaV$q@^>E*Q}zWi*yXqB8|kaQKEuj0#sLzOy`nW3RKL^}o@_eFYg&D`L8aPJ z^a>)zoSQAI`*YH<xT*<`d=o)T>-Nw6_=xY`6is5Bf{S=XOUgw=fqdO|=~}z&M_9`B zY}<;f@hs7*uYRYe<4NG0b5F4@nyHUSLVz|PS&YC9F<I~9iX}8%bL5xbq9*OQ?5c~D zVYr=56%fde=TYdl1n5;K36E)*-yV{^Z=#2js9o?g$C5=wo86qz;_^FchOn;!K@f51 zH>U1dkB3)i>XL2JVUD2`sXpm8*X?#!My~(^hS6&(t8dBpKNyK9KO7J?(3SM$)dPSY z(B&CqSy<^x7_Gho$%b?KJNT)z(LKt2sJX%K1>-DE5hwz}OWEuF1JXY4A7E}6<(E9G z;rb~R3;WT+d_mcp(P_}Z@}Ov2gxVPN%!2KP${W5TRD~l6w1rEQqnDj(6NizJfQcR4 z7*nc7LO0dmD=<v6LU)ftVwZ#qm;`wEnA(ZG6KWmIcH^b(N=A_4)|7Wd0qSikOJSJP z&GaS(;-&W3$<bUg&|DHp`;lUM!D4#>ORw}fV>U{|p3%iOpOALQiI90QJ6nRzDiV7L zse^F0_!xpLo{76AWsTow_q<5Mj2U06qw#*RG~bFEE_{MMhS806vv6i~atBykv1*g1 z4UF_@MwA)IDaOlDm7+eVS{$0BK#N@-nY(yVN0A7Jlf1$x-NP|H<9^!b$n49Tb$eyh zyxhn~d&?jEs)VIPs2o5YfeZDds;Z=eo!XyVPLd|MS6iI(arju~N97x{$l>?(N5oxJ zx=nBGgqxmt&oN6Y-+Z*>ZD9Z~0se($V_@DgRIS3cz-kTF>a^H(lSwAr^-?=Z#98WY z>jL>%?#YTGDHPLgYxdF;;rJsj&RO9Brg*MXfsm44K=CoWMyEB%HV5|n%Pls@(6L}c zM%J+RjvRF)7HOoi+=n@S*WIt%L^fOsv@SWPUkdUqK6cRPGy}O69|P8;J_X(t$9Hj! zttnkJPd#N-$i#}v(7j?-JVC+wTZ70FzTV1cywJxNiR?U4OSnjc?wV=5e2Cx0@dMb( z5>aX96&$;&<9!9K3O(3$^^)jY`*g*4$!GTuAI|RX0bqxNe43{=s9ghspx>}~4$|*m zQE)b&>~3S+o)7RLUVz(xf{d=#^r5|rLMH;Q+3s)enrA%)jy9sNvyPr%L<c(sju55v z!9HTK=<INx9umwxePm`sxM8J#AM#K)Jn9*kv(PznUlZ7nx69ktRL<E;{e)dhsgz*a z|1v>20v*wZk7-F4pPVcp9lmk$X?OCn40+;VNkXaWf~$%9sS_~nrec{U(g4LYlrP5m z>&KkBCIup6SMhy~ok8LDorzAUJeY})#dwsUb+JB+7Z*rT>FeE0EjI5!Gn~tdEIvA6 zoxM#$Dit=Ap}GaZ+(J$z*GW{TT=3)5iXP6X8rWH0C>m-K!7pib;XzcW_L_xfA|4%4 za~XV>)Lcsp%>j6R&mv_+-)e6T!w<Xr=+B%z4}Nr3KiLT|;&@7qo;!$~bBZ#U6-c!6 zQLH{nH19B&rFLPq=D%0Mv1ofd&g@&DV)x}J;Zn`C$}Y2ctBdy^h%dS1c{k~F1tBfD z>8{`aByhU0avvgs_Q{W!URh^`{N3=9OY9!3+JG2p9DtS??)$NW)I!gc(mPEQ{{pom z#=VjkhB$N>1`joEs|v*l)f}(b<GvDxn6e7T4i$?V`MDfrZ6WWX>zk6m6zy_hznJ5( zmde+_RK5;<w9N#t=&Ll^c8G1{abY-!B(+ky(gdWjSD}|$GhYGY-b7TLIfn#kX3%)k zC~8zI0=V;VNhfHUxknL|S%J*l!Wd@8H0vBSb|6x=!Rw&-g?2E_i>GE`w<b{N3mA9O zTJxA*b5<}0jGSw$dEP3nbZ4(c>vOKkA&3F;&dssyI`D4lxhdpdy76sVyaDkK-o)#f zZcjm9SGLsMU{Io4l$VwF3{dKG&DK4C5)nTF99w3dh#EG<uX6=1R#unNw!RmdapU2i zfU?R1l_WroBz#n0E+kh<(3rG79Wl!vyS<e%Wp#f~#>bnS<j|Qns`RDp75|Be`blu^ z-0SG^;x^?yt5Ubv1)t2O4<qTP8@)%L36K4Jw@Jr!1knttX%=h&RrbW`l;)xc_76cv zfXv1N=D<nd7t||GG+`(RpXeI%dTZXkr3D(vx70cJz>eRu6^PbsF!qc}9?rMY2el-0 zKD5Wo0fK7qOfMX0wO$0#BC5hvE{x1&;DOIjZ$0}6wFG=G=rgs$pBi?g3C*R;-7sL5 zKie6%Ut5ggK)*#DLUt+xF=0yg`*GV{0O7#jp34&IJ0vRE0=e{6%-J@pLHXVX5itEl zT|K~qJKUZJH(T2mK@a>@g}_ujX&VO7oH-XF5W^9irWBrSi7JR~6MDrWWi*8Kpv`br zrF;Q6VX4CDTlnC7C=3Koa{f#jQwC!+DND^GXnuuS+p~1YDY6q7ViNDj9m%x=td-1k zW%!tGz^MDuGP^`QwrPhy6@C5`{*1DdWRxpXLLse)NaYzPL=nfLR0a5<;;Me~B|)-b zJIJN9LQCS~9N4I;zyuWjvyUzq6wh7Ymth+T(@kM~ZH90^Uh2$pIfhv4zno2nR<zea z{E#PmbX}gp;#q<_f=mjsTD@5S*k3;@J`5k_4~6`~!2kIgx+Qe|=Cm1I(~?DO?;<{^ zc!wL=K!t4R_Et&t)Lk_UBrgcI*Ab`j1U{yGaXX-D8TD_qLS5n0?;{q)_hgklJXLns zBK!I~>z!%3c>L-__zG`&c;!vG;!7~Y+=E+NTi}E`!3?~uI;S&Tk!b)rz}pn%S0SrN zLI+=JIIP}<SWd*VTU(`-+<C?H6UhO-K&e&0(Ee}La#!R@vCREN70Pn>*V5gluag7h z9@!*!{qeX~*s~9VZwd$LudF#nuYgn3r)Qz=Z4WXVy~sBA5<}+GjowbOlIdL1)hAVc zeYfm!9pNHi4BG_#qR;`4xDG({n)YJhhsa2kB*R@8Ab-M;tW0>{?Bl}&cZXBnZdsfq z!uADt=(vZb+qS?7q6vI{gZ=-`NTk2c$c7zudf0!iM+|Ny(tm-GIvf1I0H}lb?q85& zrt_aO^4_8i2K}!E63@{z6&nW%DvS{*hJpvg2tsUFwPwKir$+YMf%_L+1ZMq91IC5? zb65h~LOA|)T!u8mApISt1rrJzSRF14Q1?(CS74TBl2cNZ1!-I=F)57i?5Uw6x_nUs z;-RAAp^jIf#(hT}$1@0#z>P&kMe}MMRf~z{xVf=MyN&g3or$?tcqgcCe-kqUalx5Y z_in|Gk!PR91}X#wcZou;1!fP7f~mg9C~y4g__aEKV#oreq5utp3;Ul%^zW>IUJ;ys zO`^b>2$6s7tB6nkkS3Dn9~wsT|HG_Exqo;NsrnBEqE!EvEi^Uizuv7VVwhQWAT%O5 zkTe>P;_qrZKe_UwlR`mJi$g)t{IjP1_b3i}<N7BQ;zk5|MWg-`4@~J8KEXjjB_TsW z5&s{tvict}4zMK}|6lp3XkzFP;Au2B`QI8I>)<Oq7$~UUe{8FC|0gXDC>HbILVRP0 zVGb>TuYrWX+8CmLgN*;7O054;tJdg1%vjWaG<hsB%!BVAni!}Z`(L@Qf2fVXKNKy{ zJ_ZH;pS>1n82KLd?ad#!5li+rFFB4F1{4B(3n60q-*5Tv{QlRJpjiH=feH2Yw)r=K s9he$N2h9ZRij(}eoWC2y^^eT`&n@^raww?cpbQ{oyfT7i#9#9N0X=i1!vFvP 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);