From 940a0f2cad511f637681ec39a14f11ea3f021ac6 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Mon, 12 Apr 2010 01:34:42 +0000 Subject: [PATCH] Initial --- Mage.Player.AI/build.xml | 74 ++ .../classes/mage/player/ai/Attackers.class | Bin 0 -> 1305 bytes .../mage/player/ai/ComputerPlayer$1.class | Bin 0 -> 1547 bytes .../mage/player/ai/ComputerPlayer$2.class | Bin 0 -> 984 bytes .../mage/player/ai/ComputerPlayer.class | Bin 0 -> 28207 bytes .../mage/player/ai/PermanentComparator.class | Bin 0 -> 1157 bytes .../mage/player/ai/PermanentEvaluator.class | Bin 0 -> 2646 bytes .../ai/simulators/CombatGroupSimulator.class | Bin 0 -> 4112 bytes .../ai/simulators/CombatSimulator.class | Bin 0 -> 4101 bytes .../ai/simulators/CreatureSimulator.class | Bin 0 -> 1700 bytes Mage.Player.AI/dist/Mage.Player.AI.jar | Bin 0 -> 47937 bytes Mage.Player.AI/dist/README.TXT | 33 + Mage.Player.AI/dist/lib/Mage.jar | Bin 0 -> 696863 bytes Mage.Player.AI/manifest.mf | 3 + Mage.Player.AI/nbproject/build-impl.xml | 704 ++++++++++++++++ Mage.Player.AI/nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 3 + Mage.Player.AI/nbproject/private/private.xml | 4 + Mage.Player.AI/nbproject/project.properties | 70 ++ Mage.Player.AI/nbproject/project.xml | 25 + .../src/mage/player/ai/Attackers.java | 52 ++ .../src/mage/player/ai/ComputerPlayer.java | 764 ++++++++++++++++++ .../mage/player/ai/PermanentComparator.java | 52 ++ .../mage/player/ai/PermanentEvaluator.java | 71 ++ .../ai/simulators/CombatGroupSimulator.java | 175 ++++ .../player/ai/simulators/CombatSimulator.java | 116 +++ .../ai/simulators/CreatureSimulator.java | 68 ++ 27 files changed, 2222 insertions(+) create mode 100644 Mage.Player.AI/build.xml create mode 100644 Mage.Player.AI/build/classes/mage/player/ai/Attackers.class create mode 100644 Mage.Player.AI/build/classes/mage/player/ai/ComputerPlayer$1.class create mode 100644 Mage.Player.AI/build/classes/mage/player/ai/ComputerPlayer$2.class create mode 100644 Mage.Player.AI/build/classes/mage/player/ai/ComputerPlayer.class create mode 100644 Mage.Player.AI/build/classes/mage/player/ai/PermanentComparator.class create mode 100644 Mage.Player.AI/build/classes/mage/player/ai/PermanentEvaluator.class create mode 100644 Mage.Player.AI/build/classes/mage/player/ai/simulators/CombatGroupSimulator.class create mode 100644 Mage.Player.AI/build/classes/mage/player/ai/simulators/CombatSimulator.class create mode 100644 Mage.Player.AI/build/classes/mage/player/ai/simulators/CreatureSimulator.class create mode 100644 Mage.Player.AI/dist/Mage.Player.AI.jar create mode 100644 Mage.Player.AI/dist/README.TXT create mode 100644 Mage.Player.AI/dist/lib/Mage.jar create mode 100644 Mage.Player.AI/manifest.mf create mode 100644 Mage.Player.AI/nbproject/build-impl.xml create mode 100644 Mage.Player.AI/nbproject/genfiles.properties create mode 100644 Mage.Player.AI/nbproject/private/private.properties create mode 100644 Mage.Player.AI/nbproject/private/private.xml create mode 100644 Mage.Player.AI/nbproject/project.properties create mode 100644 Mage.Player.AI/nbproject/project.xml create mode 100644 Mage.Player.AI/src/mage/player/ai/Attackers.java create mode 100644 Mage.Player.AI/src/mage/player/ai/ComputerPlayer.java create mode 100644 Mage.Player.AI/src/mage/player/ai/PermanentComparator.java create mode 100644 Mage.Player.AI/src/mage/player/ai/PermanentEvaluator.java create mode 100644 Mage.Player.AI/src/mage/player/ai/simulators/CombatGroupSimulator.java create mode 100644 Mage.Player.AI/src/mage/player/ai/simulators/CombatSimulator.java create mode 100644 Mage.Player.AI/src/mage/player/ai/simulators/CreatureSimulator.java diff --git a/Mage.Player.AI/build.xml b/Mage.Player.AI/build.xml new file mode 100644 index 0000000000..78f55aa6f7 --- /dev/null +++ b/Mage.Player.AI/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project Mage.Player.AI. + + + diff --git a/Mage.Player.AI/build/classes/mage/player/ai/Attackers.class b/Mage.Player.AI/build/classes/mage/player/ai/Attackers.class new file mode 100644 index 0000000000000000000000000000000000000000..a1fad27a0abb213c8775ba889131eb3a62a27416 GIT binary patch literal 1305 zcma)6TTc@~6#iy=+0rieid@7Bg7yNefY(yFq=^a1f<_1i-i9(Mi`#9p-4gjJ{sLb0 zMN&6`wZcnX`AjMLm-*jVhHBTdxD|cFm173EA0wrlkZxj z=`+d&Zf$YLl;@^0=RMd6;Gi6@yd4)`J0 zYp!YOhFNt9(@_yliQB?<84?Y$A})!j#}2&@ z+dIU4yw{EAy9X4D&;h=;$8as#)~Ti~wSzHwm7VljK~I!!4BfQ$&`GDA(H=^lfW7z3 zy|jisWfFZPYYhPU5vLPHzyOg*=U=pkY2W+=W%~pHBmDuvIzkLiF#Y@!8kRJK_yO<}!c~tr_`$V3K~5JZA6` zvtDkC6hDs+T*n}xrZJ8o43pm^(ip)F1PHb4=@gk~vxW!^jFOe%rpK=|@d?5=Yzea6 jA{%j?qEE$`it$qnH-sM;`$?7GCcA=(b7>NHJk8xdM36jz literal 0 HcmV?d00001 diff --git a/Mage.Player.AI/build/classes/mage/player/ai/ComputerPlayer$1.class b/Mage.Player.AI/build/classes/mage/player/ai/ComputerPlayer$1.class new file mode 100644 index 0000000000000000000000000000000000000000..58f7d6ae4a8925eddcf908e0441fe73c4bc9319c GIT binary patch literal 1547 zcmb_cTTc@~6#iygy0mPiRH%4CE>`IUSU|kCk|@EXu_y_I_n}OdCEML*cWdYm@gJD@ z;)@Sr^uh4#k20RwZs{ToCd4-FoIU5vcfRw@nf>+q$4>yOSWjXYr4*7Vk05~s6^kjv zv7}--MUfR1t12FmI^&WC0~oZLZ3}n9;+`kS zGkbZd{0b3M8$^}6ggvxr`)-F}u~0wa@44RgO-tY6t$g6G40IN242rYDFflMJgR2a= z^Q=3q9`o9uUDYmYgEvW0;WoJ~Y+v8*Ss@XN+lF4VePIZn*Pk6Uf( zclNKDsuUyI)=keRfno)Ddxs6-hnvO=Vb=LGOoo?k*P+W1or&H+%MnQTS<}&BhF(5N zy5lLZOh&3nZ>t#n(zr(6QL@&c&=*LR%3r}s-=KV~78ga??XHI4#`7$+-BIm5KdPXan_B$9ssoh^rz literal 0 HcmV?d00001 diff --git a/Mage.Player.AI/build/classes/mage/player/ai/ComputerPlayer$2.class b/Mage.Player.AI/build/classes/mage/player/ai/ComputerPlayer$2.class new file mode 100644 index 0000000000000000000000000000000000000000..69df3a0c18ec0c39fde9ac11bceb98b8c8ab4d32 GIT binary patch literal 984 zcmaJ=?M@R>5Iwgo-L@{Jf=c-kkgCNGiU??;F_vXX8d|#P7Wlyra=X2ui_31ayG4B> zf2#>G#_#|>jZa{lyU|t>Alb~EGnsp4?#$hvzrUXYSi#E-rZAmG1~X|wcO{)wFek~p zH20)gkfxyEzJemdLcx4*hgPS?yM+^eBnq161|fIDpkQ=(Ak0v78Da+&hSY1zv0XcS z!w@en?lB}ZuPqoxsm1k zl$(dOa%G3+Zq&`@g-G^dJGnV}i#OYtFlPGy!4fr= zSiz3QHHsY)#bmWi^6N57F3+V|as_{+a)9!&F}YIKa9=HBRTq%X9~DRP z_i_BuzylijqbVwm;_Yb6=UcLwXRXSS$IBCPi6)8x4f@VpqEC4b2u=X2Y9hH(LZT*$q@%8?hz ziy7J_{BbFF{F>oj#=E^dCa;iJGTBx!MpyAxuVyHtqH=9iu8WF#UiKPGUdyco{Bd1W zG+FX`UJ&fOf%|W?8a#sJJRuJ|J5yxrx6wN5wTU*(QI- zALUVTBZJ+-9}hBw!(;RuxQ7qOQJH)wR}7R7bMGTL^r76!ACFq{u^hTvK5oe;a_C<9 zB)|Ng$2=7kck%brF${Z#pPpr5_yZ4k&XUi^Xp4LyDu7j6Oui^b@dqgIQdB&|i@nTb zd?hL#kBX<5tt+D9Sxf#gM$a%Ao{_Iw@=uIe0n_}?4E{BK{fi}E=kLp+;uVJQ27mlD zCf}5AF-zX&kH5v_-{m{}0Zmvf-;K%lKjaUHJr?*!jNakZ-jT0H#cNUV zh9&>WyD5lFg)!j&#pJ)_N6e6qV|0W3Bq~4U@6TfLbNTNWHu?n*|1v5*wB%PY`bz$X z5&fDQzu~8Ex$QekejlUnu@G9e@vI;Cb$blt+`$8Ovi>jPr*;fc6r)i}U|&i?QZx2d8H@PI#sJkNrn-XmsvGn{ zbyuggx3|Ys4=v6r&r&^Os+Y22Dqr=sR3A(AwNzXX39{$Z)g>FI*CZMnlZ}ERHR^eHa7UDuS2d+pC7P1e zX3}bnX=MLYU8-rap#0%xeoX@Os%&Zi*(Q!yBq%gJU9IVps!LWh*Dg&qEHo6$o13mm z)GSIgr1;%w3^lDt0hfV>DvV{ap)`>you00(Z*EF9%-1d0d8jT?3$S?|7ZudCYDGHT zn4H&KQ6PM5>|COxUt%yrs)d>B`e z!oN9yX@&x~ocd%#ZK5v8lHrg`Pw|>d=eq+yE}1G2)GNT@IUr`DDcyiREA8Uh*N~zk znotk3Fay!#%0wB;kgl&!Gd6RoGbQ!VL+8xEBBKLqv+z2Sx=WNNPvr1G?I9>y-;hc- zq?%TD%120;WkeMHdl}q*L}bBrRt`Zu%+P?Q@Jf)bxnMn07mwxUd9Wkd+9GJhGjjtR z0u~+C26GZx#a(s5+T126*UZ=Ik4OLkj-UzIi*%;SovqttS*os@)q=GMauG?_H>J`L z`Y^0ms)pIC8_>0D6c08-z^ASbF`X6=r7m5^bYPLw5P2QM00^-V6oJFVaHWCN2D20oFhMqmR&gKbvA^e3z5`vYe04pNOBvC7f~kUiX3m1ajVWH+#E z#Q11)U8BYZSn8>e+35kWFik(DVP-Te-SW~obxle5J{WXM4G^^Af3vNhLVz7zF7IO6 z>P3l~X6$~ipc1eb9TC`)oX)2F6t$r!IdM1P`yAIaWH?hE z-RW{+J&|J`gCIlIAtM_E$8~pvgwV7xS(B`4DsSSLMH{y8@`iLX6l0Wu#J~>%BvHs|;IqsIr+LGpRSiim^47%ae2dPgAfgH+z%Dg`fZ(VO>aD?P z=`xfE5=uwJP9QjQ*)k9vA$m}SJC7a^*F_u5cr3Yp=S%w9m(-9OOBW=utEyxz45FE= zmp?drJxASlZ@%G2KzV>$Z^$*m>4gm`PLRCtU(lisej;lO@`{dX|HY%XVYSTD#$z24-B0YJONAO~Sad2PCxqxxaP=Qz92PI_174IEOnDFl3Qb|(mm zGXyslW2+p9SN3)o7T|9HDNQDX5kEO-cN|E55Dian1r>J!JxfEq(IBiq0Gm^vZi0-b z5_q-~+K$Xh)gXTXG{ePZ`n41aS(~maHJ#HP<(`#pFaTMuT)WVSVhjwU(ct+$_%T83 zI?JRwNDZjpE4WqP2<2+?_46>Du8k`&?FpC%I~kP^66j?KUk7{w0~~%<{_IJ+!{4s3 zlk6&zhPZ-`cSz@3TAz>ENCnmOLcRMzZN)gVVC;!@yUjnHQJ;?L^cV!diQtr(^UK4Zo7-i0WBYb zPUwK@k5Dauim{HqTbr%xBR`7+xz0++JK?~b3V}|S7d9l56(|5fq{|J+jAn;syTxd> zvupp0J?;j7{wpH%OjK8ERyeY0h=IJ-SJ?omGsw`2;HoXdNzC0VDAR#+5-`S}UC=)TR9&|>O%&`=n>XOGBil3Fe!0zr?BfL8p z{4_w+s^AQ!!A|*trMIr7HG{Osm$Q87kC*`LlZ{_x^HM=|j$UOz`+1D|c}sISWiiZo z#-5_b>lQ{RtRIm<>2KFSTTLt2t3%o|qTGNF$;f}Wili%~L9uYmTb5EH0yjp8L%soq zio1X%Xna7W-8$;-@UcE9P5(X8yR&2zCm5(zH$hosBj_48s0RYdY0a=QsQuvh7UX6k zEMV>8U@KxW4X?iJ$KY-X;^ZAD|GMsVPBo5dK%(GQS(iGChqKKsRJ%(OD>nmQ2kGIC zV0s2Xw|C?x!mx0o*{73?XU#xALk1n9Zl&7G+YRR%OXur67&WlI7`1;@jdQXQtJKK= zB00?Ni4ZMt5;2nH$QGl;7+VYxL!qm_V6pE*35a_yv&Aqm9JBr2@`eT!n?V^{6p3P6 zjO33}e5iq9s4WJI0!t0D)n0(C_7>M$YOt*e)DRTOG}$@}dAUr>)dO1%Rl@}J(TjCt zwRb?WP#-&#VU^)(gsloy5d!WqOBLHPDi$EYwpEE5X{%B-3UhqaS#(ix(0F7ji6)?} zMk^paR*kdOcr`)Lpx{U+NH=TGNHua%!xl-g7^O#B?W6WZT&~CKYKN|GSZY68l_?nO zyd#Wi`h62^wZEEVtI2ALrKW=Z!GfIDF+u%<>zjo=(_qVpv}{$brs1%`R?`{t8EPhs zfS$A~J8r94yy|RqfUV~6oCDQCmYQp;d3X^=ip937PzT#;zBY zY-w}%VQPt`4!6}2>PTC57r%g(=@oq?%RXtP z7`9rajy=y1(R)i`6Bzx>WtzR+p*E zEp>&hu4GxgN;TW+YIPQ*DC1zHY!DLUl9CczJSCp~k-a+S5scJY6d$r!(#e?toYCGt zJ<1j*iIWA5*!9Ti=^C5>RJ(OlTdh+_XNK>3!U3z7Hl)1q$c1-3bY8kHojv?VP??>? z!Fa05MJ2ed91URkt!(tqq&HUQL1ZQ#d{`vTY1) z$Mf8R(LC%%OWkCv_3GvfJLwhCZFP&9X{q1X>Q-@?rCMxtn>rHbPuW(^R=*WvEOooB z?ob;zRKdTWx~Ki`y9L9vZ4PJFt|fvKR#8TS?Y6l*BP$dR{s{WE%k-1zGRnd0Q*QXZvK4?OMPXj z|Jdql^$o%fO%yZKjj86;*4IF*JLz#nc~_tdpvvE3>w0R3;~${zTOKzQM-=Hd!hAqV z^=vO9L@cVp&;?jwmWrm@RuKkR_j4>hJv!~h&tA^40UpP9}FG7w}Z zWOWp7maa{5UuUP8kwkrck{2j(0_H%t=8g|ExxqRXY)YGgFpTeTC#?+(M647rj0Z10 zR-Z-KfvO_=tzeL@W2H{=V}&_t5d)C3=TzhDbQ<`B3^)XFflCSVZ|Lp>&%axUFKo->BKl8ZUkibP{Y@&v9> z*6FWI?s|mhnt%=vlk;`Z%@{_K$Kj9+l*zb@4s`l zk71zr^u={C{att+eKEipBiFGDClt&W|EM)nYS>3&b}rP!jqZ^5UQZ=?)AEE*p`+d570oDq&}qJ0Bp=;YMpmOzU%p}CImefT3g+y1s`v=c}q4J zaVl`o^^JAMasl?K`Q+YhMBLR8H-oo1Uo?{FQ|xfub%TnUuiRp5cH~pTd|7gvrs9acHv5*UF8eqrq%#6BZvYO?$ zZw50mQ9xKFXy0Ho;27{g<<2$f9h=Y#va4}h{foi+HZiLgQ`I3oZs7W%mKI#T;$!jI+z1qU+*BW zBR^Evpd#4(K}l@Oq+Y(x2gKWzO_xa6Z(|a~NP%U>+GJiQGDSxfhh<~c z$z=#?lMNh{bgNEQ)g&66b7DTA!u8Os1vo=|(~8SXT9*hnyn@-@wyg7phBZi;js79%=h=Ls9q z)WA`#rempNGcwrcL+&JUAL^i|wd%)A21o5CWHCYEd_D$;S8^q09twxhIbd&V#yIb0 z@FG)HXX`L?RiY8`cfgDFMl0^0G?~CW(2-qzLKuyco@(6P;4>kd;jc`Z(NH3G8s?V^ zeAlkT#mZ;Zt|tTKT-VQOh0L%+M!4Y%v(?lEI3wMR%g$NojNCN>os0(tLp0GkqPwsm zfwb7)=ZIYc&KwGurW&s~J1@}$|E_R%0iJyLj2R&=3SF2pxaRV zsCy)|i@b)1I4TeEV4E}}(FE@vg;YCNBYyt19tZ{Qjn_l^T;HLQ>P)BEkwsxirkmsX zK8~Jd)R44SU^&)<8j{F*ykK}23T?Jhp?{*H!yorY8lEBdV+=Qb2is=Aqc)^hdximQ zb1%g)6q9O$nO@SB;WjwAFwQ5lna!^@^nr|wEi=+XK3e2htGuShTNLoSY0hf_oz6e8 zf{WL@HIb|NS(UNI=C@U-!UoNiBcMU6mRX=-9nb(hD$rh{zu1$67)TN7#|LQmiJRn8 zIsJ|EH}s9r&xL5mp_}(!f_I$1WxV4k&U+t4L-CA5K75V^gbPWL#P|M%MVm+zss~6G zZXvZ~6NMh2Fdid#v>u?S|Cr-H#&|;Ry&98o_}rVK_*_Y0s>ZM5l9W%&Xb>%@B3eNc zsD>s|tr(9Hz0I0pg4hRdSY7NZ_QMa^geVge9n2mFW(s`=-A8s_msaXpxRJWGQFrht zvYx_f1HW&f9>6cJje1I&SKLOuU^s4~KIX}r5U#$3!l4an1Hgp@Bf2M9_&g5iHUODM z>Pt;Df|_YIt)e+}yhd`6S>8kPAhExg1SCh$-eNLHD#aAQu)P*0{ZzEz$H;xR(@0B{ z^MtY+yhe?I}sM z(LhOCX;4|H_)*$xEltLxz1Py7#XO{>jRq@POC#L30!5(>?u+i~S{x5ynCW>BE--s*dR>}h>dicXrm2U zK$k((ZlS}(EX)dvWu(Lb5X&&e?u8%N9Y~fqjmpG9VlG7hW4h^O0dz$gPxC|t1en_n z#+tAMcw#YEG)bH)4iO8WFf8WKSZ9SwtYDz=6ASz>%H2-OEU^$`Um$*k zvX%B<3o8UGHR(Qxe;ZBVwyCXDKJs?pAok-A{0rmX-uPFDf2H_03IDFu`iSC7wx(^2Nek!4jGzN64rp=V1HrVei zFqscQo*$t#(3(r=QM!{JL+j)8EImPgq$lYOdXD}^&(p{B0)0y_ieB`R7(y?@*SrE- z|7S6sUK7XAUql_fE{>-+#7XplIGsM!^1J{m-w9)Mm{ExuBc9lW@jeS#JP&rfPbc2ydKw4n&&R(**24g6?uKrp-i5`k%^m@!Em+*r{z_pn z%o#XI$Qz_kG0sI>anBwNsm3EEE3#@(be;IJ^ami`WqV zLegR=&L3LZuWe~R1qA*7h*U_U)k;VI1X4vFQw`pDJ%-Wt7H!6Xa|hDqOBrCZ;P1Gie(b|7lSK*CW-4|*i@I*7K2WF~)ZY?I^+S;*s_-xl9svK> zD%bTVMmWK3HAEKIsfn2z|2oF)#n^RJ;CAY_-gpZe$c;RsNdZ9n87=KgTXy~c9mmZnjDY`L zl}(#mk2d3t6+nir_5B1_-~F)aO)spP#Uy%^j#x)e#w~`7HMHk!WilWmW%5S7XP>+< z5<$xJ&!9{!Kwblq2#fPxPk# zq7Oo+zBFF25${K{#2!>F22efHz%#`l1cQ6g9Y_P8hBJL1Y2atLgh{X%-9(|-QhsCSzif%oCI4UZPx17SrV6_}e4ZVuoBL z=E#%9T-kJQb50lY9j(Um) zq!eL^Z{9K2&U1_pt)U@r5P%V?TrmqqfcOv=SgkcC<3qv(SiEN*<+iv1o}758CKFHox5p<54VxI3FbiM00HIeg?c>{*U3E z|38Lz!B4?!*?D^)4{o46AUsDxc#fuSi0u1AWk-l=DiTS!*X48w)aw*+EUghM>DQu$ zt`)T~6bsHp z8cVcLq^12&E$z3)L-9zywV5thyx(wx^%V`v98gpUl zPY_qpx#DU%U#z9e#C5b@T#wqw4O${j#Jm$IUvoc~mO5EsjONk|&5s;ZAdk`hifGf1kD$@{6&4mHEbKe-&1vAVS~fp2r4nBLDm#P^XuSjhl7Vsg#=Kz zuhQ!~!{KicSvxr_h9fysI|3NKI)wcQlfh*${m??g$M2|z6Z@V8X5vD!!_qv6410je zEp+LUqBf`!ZKBKO6>p)-mlSTID>l=WPN|l?!BxSymIis=;Oerl_6BP?*VD05`4xx~SiC@A2qnJaL9^ER% z`JfCc+cZ;L0BT7TWky4TK{rjULX0;segzmj^L%lJH~u1TJZR~=i$YC75E1Tos6(fV z;V>?Nxag`9lv(M@?n-tW>)2DWPtbDjCAM?j#CE*#6&;MXpXToADaa9J5tFUDcK_{` z_Isf(*MzvJZ0aYvsEi6-RJ4L7$o0i$NL(8w#e)c)9@4Zs0O(bct)(=A;?xjF=7zz( zu!9XzPg}`@~~6>zM+k71S0;z zT`_^g3t0Fi8X#T{EI!a%e4w}ZK(SV=(~A%E7QaSZ>n#2tV6lo#;l*#_JwkNW>*O&j z8=?W8MvW*77qg6TIlPr_cFq`#IP_-07JmkEuOq5`0}TEvN?LDeBsr!kg$i+5D@<|3 z{v5;d-luqoPZ8I_yfI6rpg4PjMtq7vTr)qHi&rS{Kp6&O4>!7rvdjfYRCwq!-pMVz z6VAOd4-)2a2>Ba?O!&IBEaVsufcI*Qx6d%G-{R0g6Cz7j= zP$Kx4juoH5`hQNRihrZh{slcOzNWXtH}olPvvc5EPq}m>BAT1TdL%;U!xoxEsF~)7 zn_(j(^cKYUH(Y6_r(lqD8p3q|!hYx)F=*05ka0Ks4(XoV{;uaXIv;S6lu%-RwHDS@x-r}=sC=07V_#@h>tHixCsi;6= z>oQCU8KG0~e3s17Ea4Jyg5q#Q_kidJK|T!8htZMd7zE^BP0?ylvLVn`(-S0T>ArxxI8HY!7_#aTY9E!P}25a>jjROx5dZU1Oz98vQ`24K1zkEAH9vW<0ft z-{F(jtaaAx$7?>!THi{KT#vj6>C)D%^yobxnd_-IoFLf?IP|7&vJdr@eFM1k^Kj{h z)1U`6F8v%_rZNmdr9!}=J?w1v5`beTUcgH~hNWQ)T&*6|MvqJC5BtzYPlQaZ)DS`& zZ#e)+45YzwkVasff#V@iARa-O#>6Pl$5-q*3dB~Z5|g(;BW1!bjz0!0 z9~VzJ1Ud!;Vk|XNo&=WteMe%LQUF|r2Ji?n}6tWtzrqGFh_wkx5Z7GKohV^?C~FDNcIbLKtH1ms{FzDfWYF z9pcGC?6Ziv%VOF`mf(*tkED88N~`54I#Z6*`{yvF3VOzM=LpSn^el|Si34=F9D>U^ zTI(L~zoW)=rzRcj`NC^j-0Z(Ug?F&>a4ffjoY-ZgiCrA#Jp*#$7jK4nf<=sd+7&Ef zPit~MgRJJ+d2rHyFz$^5+AZ`PTAyb-1|p;Hg-+@Lbcjbh)B_OKK~r9wVC7pl%qh{y zNh`gym0spl=qc)BnjH2mDMNwpmBlEcA|Em#^c{f^x(op?$$dfJ{XpL`oZU~Pp>ls3 zBPY=zsA(N8r_j-ID%Hwz%$`Q)$mw*6oJp6-S(@%gVw1HrSUd+45T(Q6-=5cL${~mW z?$&9_L>&0C&0|Tv!qby0v;^X61f4BjK%Gn?)l55%W(-w{mohA!S)mdum_9cREn-VI z(YJIjyYA&sqMdZ0$yv(3qZ~dh3-NE~9Pa!A!p_0VI_AzF!5xkhUgZKb?rDG*f8tW_ zpC@zu7twYb&H(X&c;Xnp=`Yz$o9XpddZUg0%0(9o6`qjthHs`fTj?#gFPzo)b}RkO z?Q`e(QFeZIhT6Ld0)v56>&ovhhpGL;2n^=hXBD5RY<>V6271Y8@+ZGjdk5c}q(he1A!qfJlQd&-S!wYLRR`7UF^A=}kWqc#N3{YW<$FMo^#_6iO+|y&RNqDE z=vm^_OCAGE6NEoxPs3!D#?*L;LJ!kI9b7R>3LTboM*_<@D>!at!YmzJv6nC{Eb|8E z*YSj((HflP{m_bTh(`u7&L6NS>o|A|eF!4|qb!0lNiX^*8xY9vxtr;uizY-v6LRu% z@}ukN^l=%=BCYg^GiE*Q;okQ76bA#`#rJ#4VlC}|b;IslHNnoey$M6(v3$Fg zKI=aEM(P#MjfeAX9e5dvt+5e5z3L)l^Z5mb$z9@IoLbBje$tWH__D5X8-d#vx_e1U z=ph=kM8&)6sJU`8eeSHz^_PFU#_XZOxD5}2Sdam>(ii#GE%4`E5QX#G1ZzzWR__&$ z_&((qD4md84ouF8Yp6)p;%~m!(f%?`2g!P>mJP6bjZm&8R8pI1EuL?X z$J1@{1bRxYrf=m*LgFOCmZymB@>J1B)`|i0OwDmF_thhddK1>rMzCF?y--(NR+y!& zVHet;{)*gcKPY!C-7emSz00NBU;{Z&w}nJu=x=!HLL+e|!53!WOvE5pg7CyaIV1>A z9F%inJV;9w{2QJ)R}CRw%M*V`Z%lw#U4m{1-uJtBJ!GKBy_+o_8s-XFGuayjN4j!1I{^)PY%Hk$bz z4MdA0$R9wE@f&PM`ECZntb9XQkiXQ*_tg^IK=@BtsE}`iwbIuR?Qc+iYo%|q_3j*S z^L&`c3&6<>VI?jK=-m*PYA9YXby@F*xKzWF$?NlQV(?G#FQDWW$IK|Ef$96m)4-4M zgdZgv#F3DNz+4&nY(s~(M zPfb3kd>pcx942mo2HV$iG{D`hv;&K=?sBH%jY6igh3;Jvw>HsEqa<7Ct0nOm6Ee4$ z>zwUKW8=9@PuA^kw1QmF(!R{ka3-@wk(c2=GIBZSc?In&ucUH$6|~}NS|QicD!GoX zlGo6Bc`dZzI{fzruBTS?KPYdaN91}762&epcN9h> z;Yjbd5CZ(<+>zcl0EVkElN=+(5goJKJFce!j&mI=hl*Wst3bG6>-wgN%l;CG%ZxYq z4W#;3#A7W~DsRK--yNE=T#FfsQ&=tohY>*)X^OFno#at$lGp~y@*XFNA23d0=i|k8 zv>9J$F0}F}riAHpOPAe9?V#=^)*a^WcL(;1AJIEP&j|>p3k#r=EcEQnzrZa|WO!No z9_{V>tFmxmJlrZImq;*tz%A4R?}7QaP7?_Jb)qfr1`+O|E~o>Jl=smDIJ_xxBOM?g zpm}l=&6k@sQ8)pZ08>ud$c@A`5*Cy&j)u(@6eiCCk30*ss`JJV)Min_(9YCm(I=0A z@sYMkJpLm@MNd&}oQr|041U!dvoCH#kWUZG0-MN+Pxu?&rb<2C0iz|E7FMf_Kpv^p&k2g@AL zgL{qR=ti?;1d0`ctWDM@3w~Y9^l@EG_sN)JV!E)3L5AQp4=r>I3d*2T;_nlg6a|NX zCKkmBioSY1uehf`D%W>0LgsF5aOc#9+gSefx4~{MJ_2{Hp>iUZbC|w8h0T*%+TVa% zg^uz)Z8r2Kyw*qQ@-;}%Ul6pujuO@zkeoMZfiz`bHlkx;YPjqhf?*t?O%12e!IKlF z1MAX3vWx5r{!T?dzPY|9yJ3ghaO+q~{Gla>_ZK77;M};)*hsIOaEH4ETpPzO;nLWG z`jT*-Ckf6aKIhIUwl!}pEoYaCmR8ZFRdfwpcB*hoxT2drEW~v+x=-|I6?yBZCyorw zdr!QtC0()AKzgZGk-t^+Mrp{ouC7|z?`mmpYH45KdrEzTBL9wP{~d_byHp|Hqel5Y z^5YL^v;0(x73au}=rZWGG0ekPtkXSK5D>gHT!~itLUetG{D3> zkBO*dw6uRTz|V9IG5<|r`2`J5D8Lzr0mDmiv}T(=`Z(yFJmdqV?7)xEIGj30^9~YjmkZ}lPHvh8UhGkyC13Msl8{6+l&-Q|6 zmrjhB-*G%A*cDjHPs0@sNwwcSBGqEU@$6UqPSf_^%BD+8s?lvp_fYzd(uc-q@X`4s zkiC|9zuW0aU*$(?y%lN%+neO>U8XrsxHgg6RmX+8fYz-Dtli+K+^Pb(eB)T2NXwO8 z+j`wRwp&4M))JzgK2^2OcoXQ9e6a(k?a83;vxxev*TB*b9M>9GzH>v4yKGJTpxgIb z_H#$IdS!HRW011S$UqWhfsJqs{&mj=Ze!7afrJ4ItY~#SIal=4z&)%8Y+i>uPJ=@@ z-5P=A&@@%GKqRjQYGF8`tgHGTw;s-Sp^gncg*XIm@o8wPAU+^XRmU|#dlGjjQ`Fv3 z*SMz53kdTEv=0}EoFQr!&oK8j3|pd1Axc@IGzqeeWt8~?cL%{pbEm#^NG1r*-V7<; zGb+NfjQI`GBE{S}=GDG5+#h}6sRqR}&lsQ*Vy_RPM%WqLMaRR`DnVPGF5Y)w6X%Y3$=>xNiLg*#Z&# literal 0 HcmV?d00001 diff --git a/Mage.Player.AI/build/classes/mage/player/ai/PermanentEvaluator.class b/Mage.Player.AI/build/classes/mage/player/ai/PermanentEvaluator.class new file mode 100644 index 0000000000000000000000000000000000000000..13c61712a56d39595c32b9c12f958ad380bf6310 GIT binary patch literal 2646 zcma)8TXz#x6#h;UI!!V_xl^Pfa%;*ZSW&=~+B-y2K$;e*qMRl}Iy9ZBlS!fAUA*J{ z3Xi_%gDNM-J)X%9GI`|@Ug?g$-YFH&r2&8Pg<^#Gn_;x zAsRYN%XB*hf~~O;fl#lVCD_W8X&EPqlVgUHmScHJR;TQY%#TRNRQ#MUdz4p*H7w)l*zVjmVarQ!%Q`3yZ&f#pN4%uKMD-iEx2XEo3^GGrH>j4@!Uy>D2! zpM9zoI(DH|U{$Rx$7ErgXgaoGyN0Ze3&?30*J0wKjtS&7SUR4DqoJU~Rl*{sbzH(_ z4Kq5f;Hr*ia9PK*cuvFfI$l6t$BRn*lJb68$2Gj7@LtvMnqpqp@P_(-Q^Q+2-o`sR z-o<-5-dD>9_)y13_*lm$__UI#e+G1XhN}Ww|FeNCpSMlV`Q+F|BjXCRcy3E|QD8+) zuL{l{<_tHPgSWqsMV1*6o_VQ%ax{8IBv`ctZVg6a5;fQY?M}n?3GS7Ju}4s z^MO-l!A)qm!4`U%^x9Uzm6luBUh`_X{+aM`xiw z=XymgZ55AxmApBp8EJL9YQ_ZC_=nz`Kb3wX(?4ZjG8`6|Me))c zHt>!s&w)zvf2}^su$hC>RGHQVXZ>dLSG;hteW4! zx>>BR=$6&#Hq2sUMK|B?7Me@g6sQaCN$;vkYx`}vgUuzh1aYP&E8*?{e#Dkp-18MH z7KEy551P2%kJUJUwRnKtd60EH$OqUV_T(_1QxD-B5|}~#6Q8{$b$}59i~t-*_%F1JKQJQxAsf=Fv0FzWhrP2hq5@1r3u)CW1n484)uI7IM9CNJ_ literal 0 HcmV?d00001 diff --git a/Mage.Player.AI/build/classes/mage/player/ai/simulators/CombatGroupSimulator.class b/Mage.Player.AI/build/classes/mage/player/ai/simulators/CombatGroupSimulator.class new file mode 100644 index 0000000000000000000000000000000000000000..1a0768e0c5a0483e659d1f6ef459e5c8240b7153 GIT binary patch literal 4112 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 P@F{=xJNbWkxH|e@QwtYf literal 0 HcmV?d00001 diff --git a/Mage.Player.AI/build/classes/mage/player/ai/simulators/CreatureSimulator.class b/Mage.Player.AI/build/classes/mage/player/ai/simulators/CreatureSimulator.class new file mode 100644 index 0000000000000000000000000000000000000000..082f6cacb990c8d7328a894e7e971fa4cd2fa484 GIT binary patch literal 1700 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 NbPhPpBdz@Oe*pS2r!W8j literal 0 HcmV?d00001 diff --git a/Mage.Player.AI/dist/README.TXT b/Mage.Player.AI/dist/README.TXT new file mode 100644 index 0000000000..2b36151552 --- /dev/null +++ b/Mage.Player.AI/dist/README.TXT @@ -0,0 +1,33 @@ +======================== +BUILD OUTPUT DESCRIPTION +======================== + +When you build an Java application project that has a main class, the IDE +automatically copies all of the JAR +files on the projects classpath to your projects dist/lib folder. The IDE +also adds each of the JAR files to the Class-Path element in the application +JAR files manifest file (MANIFEST.MF). + +To run the project from the command line, go to the dist folder and +type the following: + +java -jar "Mage.Player.AI.jar" + +To distribute this project, zip up the dist folder (including the lib folder) +and distribute the ZIP file. + +Notes: + +* If two JAR files on the project classpath have the same name, only the first +JAR file is copied to the lib folder. +* Only JAR files are copied to the lib folder. +If the classpath contains other types of files or folders, none of the +classpath elements are copied to the lib folder. In such a case, +you need to copy the classpath elements to the lib folder manually after the build. +* If a library on the projects classpath also has a Class-Path element +specified in the manifest,the content of the Class-Path element has to be on +the projects runtime path. +* To set a main class in a standard Java project, right-click the project node +in the Projects window and choose Properties. Then click Run and enter the +class name in the Main Class field. Alternatively, you can manually type the +class name in the manifest Main-Class element. diff --git a/Mage.Player.AI/dist/lib/Mage.jar b/Mage.Player.AI/dist/lib/Mage.jar new file mode 100644 index 0000000000000000000000000000000000000000..595bedaed3d37034518184f1098146db0467d53f GIT binary patch literal 696863 zcmeFa33wgVc{l#fy;qv6tI=Y~vLvtaiY?ie_kELO*~pe;Bgq)E*|L0X3uMVivcW8Y zKnMv5gpd_NNJ5kFCD4?ZU_xjT(`GBp*Y->ICT-d@>6SL_*FA)U|L^ynnYnZ4&Xr_i z8ouZGOV6D%XXeb=&%2-Z?A;wtq=bKo>)y3VZ`@0fB&4IYr)f!B=Z?l-yezWUPZ~$k zznC+*^C*(?HyJ-aX-89M+m6=mo~0c-I(i5DkETaPmt2`19_b$%+)%fC>9Uek(_r99 z)5+exkEI*)Cn@ui^d9aX=pXG*kBpIcN^au5p%W*D z2FLiOD(ah&(Xon|p6`=!3!9qn%M-nWy<=3eI`_Nu(WB|UF{?Q<|3~9iG@`&8(`RlT z8a^^cEji6}I5T54PP>Y|FZz0ikBrsj{>YkyhkHl*`v!Uk$NXkecIHRYeK(F(M2VmL z_)ve}nDeaEPdapJa1?82j81X9v`6~~kaUccm7$d54ie#l_V=;g6JxC*zaumqvOU~8 zIz~ORlc!Io2gjUd{-|s2C)2|ib9^#J0sbloeK9(8V|uKmTAtP3koQb)>Vk|hOAHvlg>(kROiX&yr5EU{aT1KbSbL%Vfg z`C8xYkD|6 zYDsyxt(H_qv<`L8PKZA5J#xg7s)d1e?>T$}(80z*`LDB?8CPCZ`yT|ccgIJ$@m_f=zDp4g--Y`-gfK6@8Rt}T>w|| zcE2u!t9W|=3nD33^Y)sgEKbU`yuHqr>oL$xT|I3(np%2r>s2ymzSoB5yO$EvH`&tF z+SIeJtJRX?*3Op8n>u?sT04=Q-PYONgBa#rdsF9jWV#n&Yxn-9_T8;roOFA-T3Wjf zV1o8^wKX@jBjITJ7Ry3Ilj=OP-;vdF*pcy1+25sSgfnG*cYP1d&P%5BTBIA;Tdq_)+vLqrgwBQ!+o zHAJ&DM3Xf{Gc`o}G(^jgLyWx);5wB^0`USVlI6gpmaIfbwXAW|uSR}^)y0*PsQ;oAoRw!3ch5H8?`~aW0T@S1}!F=QK2oe)vaJ7 zLRPS#{tIGvdQC-e^go_kRe2P%^BilXNw^{f6|*#6SDySb z%8s9v;_d^9vr^i9px~@b>ON3-Rwj2Ju+K_$_krYDnc97z9FJxoz_YsUXT@S4nt@w@ zArsjT)OwZ7lmqCktI=22$Zok7ch|`ca=qM&f%ST@Sz3@jCfj8mLZY_>MrrQ0+HCap zpU%}+-UHOe-vT5IFYuv(q2crqFzUVCXHFa*8VKRJ4kDcODa?b7w#>3+a|(EP3ol#w zW*aX}yfpLD!pnAET9Y!F*l$NtYLZf$l&MLXX3I{D^L|SvwS-g>Q;qdZ!W6K>8tT^-b~KpSq>IUn=QL6sT*%eI9Or3 ziLlxo0a@vQ`mAp}HEP?i!*s8lpi8Rg`=N z`ax$QUI^G!2h?T(_2frCb2TO5_&lVa2e@z2=S4rk4+xt)^mCaK;xTro#I(r#=!bb2 z^s@-ntOxpOP&ntIpL%T&^JbIccuSzU7*!)WG8K$KKbfjEYIYv_G1(OIh0)lIk>bba1BLMy!KH0KHQYN20doj@DQmSc zg?`&?%K}@rrm$GI@nUe6qNNt%DGzDQOv(=8uboMm#qe@SEf}^XDY)3h+uh3Bwez;a zmQGNmdj`|{MnHEay=vrOvm8FmO9>=a)H--%&(WRAZB*<(4r#)k!RFr4(Sh{Q{`3I& zaL0Y9(9%oa19_8D*!Z?ZC2kW%f4N*(pfWzzi{iop=_Y{eCd7pWvV2qHxE$0pE*Ivv zYk5X;A0)#IIEu1+9*gQ5_o&x_rH zA1pya54$a8;iv>TyO$FIR^On;L9k0hxIc+z+ypQ`4BRpTcIkxQ7wdpB*(V!- z|2_P&MW%)E%N5=KHUIlS+x+?J17D;&ubo2s5OTSK7{Eg=3l+IcC32Z6P2hEiR18n# zVv_AHCIM$On_q%6n!^y7W-dcunt2R?Y34KB1(6}c-L^o$R?;$b@=U8y$sJq{QHRzj z2hU6ib4{8INTvpD866%Ppp^L-WYS(%D=}N(3epc{-oh_dTQajr zRj6m0jvPS=UFj1;rvoLe0eIQl6aH*1ng+QKde^NHn$&e_AU)zoGvdSQ9KOwKosYF@ zBX~70(F9Od{Y3aPFTb(yRiq%)S83#t9}$78-XbVCH0qB4`UzGsQv7G?H$K(@$g^dk zBOTId%N|J0LVS?sL#fSP2XJMjdzmIPiAr#(<7GB4b9kA{%RFA@^Rhr@{?d?!3gWnm zDTqUbg&Ys+tRbqcA!@E6Dz72xuOXVCAzGm!8lt#@7=mhsB7p3AKu0nX`EbQzyfe7s zZlpJi2Gi%o6~PZ0kdZGVuWfsc;+2ROoBZxCHxaiMqAOX}Jr80{(;0D&J zNRZk5CtAY4FDWp#Kx9^;P`^x}KE!7bnN=E*8BhR4W)P#5<6&(E6|m*? zU>hLdk`j3vfbYG)?o1k1}33&q+HJMZAockc(2Qpygg|YPxmE7Ig@uJ zMMZb-Od18${Ylxw^zTZFYN6hp6vbZ;Bt=zG4<@CX@86RYWttvJ%09;5n-o<_J)D&N zjK41_s+oF!QVuZw0arcsL0diqPH1~Cfe6I>ZqMW(sG2Z>auWhYm2U^#Iy`h{uczS$ zYG@uB8X5Jp3ec(U8$6u-Bn4#Sq8;#GJA3;F+hK7;Ch3;Z;auNmoRc^I8I5X4XKGvKTfi*M9CV)2=2a%Gm zHwodBOpX_iIjbWIYP&j*&MmP}-xT(b?9`qCDn;J}P^rPK_2UT{y^4>IQm^B3zuu7# z%Okct3Q{S$3mm9PKH|u6dCY-;|61O`9AJwyIglFR(!$GjURrtC!OKowF6X6s zQ4P_l8lqn{MAvGF-qjEttRebXLv*u-=xMYl#(`J50&@m&@}N+{g0ARAEFWEQ81D>S z@m-|vgQm@-&r4SXKS<+akFGc>#}JEg;^E37!#wB=U%|&b3=jHK6#fc$(4PtO@+7P` zXoHwHn-rHDHRl0T?Su@v70lv6pVkDKs{KN<^LS8`T@q~FN%L{+1;c~J)+=?9jDuJy zdR9^zD^8f0kz1A&fOf$tIOTAH5#ogcN2Sh zz#@})y1t!JPJ#)A&eZ6v@?sOM)9CDS$3*97bZ&Wxsna}-&Mz-D(FGd4th~%b7ix4- zdAa$vUZV}=lT386MwgUVnCMcCHkMbK=rWBiFQ06(TA|UE!8oTuY){;%9Co&DTZdNF*F-> zpG9Y7Is&MzXCf%33iLp^b5`acC^;+h5R{&k1qjN{%0dL?XQdv&q_eUZLB&~FilFkW zEJHB)tgJv#byij(m~vLuAgDeo>k!nOl?@1L&&s9@smKX8sMbN>!+id8&~twQ(((I{ zJpUy?>|X&u{s2qruOUPDp}bXoBoE2o$j9Vw<#Y0P@@4sZ`L_Ind{=&q>p#j*<)5si z{KTr3f3_CLzgVl~|61GSU#)KWH|wzcyLFTNhjkZHd#m9l2a~8Kex%$(=wt8k-jQ_oX!>MG5^*;vu>&ap@oQ|^Zp(Ekh?cJBKqaQ&NU`JCc;mNg3tsDbTn{InCRfld?4_xA681)b>f22)5;R5;&bbO?yGm z_$|vJ7^j8_Mn5S?#=?Djcel18gT(f(Cg_z*_ja|m?CEH3>N(ia)CSSK)7-kVt@EIH z2Epg{)|U3BuGWK1Jv~h=FlK^LQn~l6xqXlOsB%YJS9g#5)xqse9Zfr1L8G}jd+}6j z=XO8mvb}q{d$Nj7@-@t>Pz$@Iy|t-xAL}_GJE>_oL|ay)JwvG(5oB91;RFb`r4jU0 zjtV!J=UAkhFW-36m`W`kkF?7)ZG7Ucg-dI@BX`JKY`GI6wS23SB-&l1$=>P!H8y*6 zyh>UeFz}F}74AEEV>*43W>ttK$W1ul&2e7}PQVD>>pH-3II@;co#r&8c6BYP=y3qD z@NCldG|X&=v2|jUYIIoX(iRIZz(|=F%>zU3^9_7nxubs=ngNqZonbX-pMzHrFVbk+ zf4GScQ&3F#MQ-Mkvb|u(vTC=5kCRMDUdw?_5^=j_Al*B73eDTb=$le?ungd}3}hvS zLnt1?Kxl|T&=B3OA-Y;a^sI*HNe$6$8ltB(ME_`r4$%-Dp&@zzCB--ql-$ECLY(AY zE3l5G>f(Il-sMPX$i1&3eH(~=lRhuG7yMv1KK97HcGX75DC$F1sG$y%dl`E!=3&Ua z-$UX52jt#&z-VO1y*=6>=FKL>!E3O2SD7Lo;$%;9uqL{1kdF4eF^EK{KYpIHb8egRE>&uHP8Z_<^ zXimjajW?E;M5s8%w+~Zc*IW=XAe=}QfpA)c0E83CArMZD8R~}py8#0yavnO7mq0%J z1_Y1437yE-(BEGNZSV~U!M+I-vTs2g_FM9(yeyxU-JQ|VYM2lMYe-W9 zL#bRVE5ek@FW&QqCI0~tB7c;igi73;hm2$pdWVB+ zdjXleisaB0IU0E{CCG|ocY1Vh&%w2apRNRzp-+k%_U+qE6yMtg{|O`U|qodN5#URII9Uf_$n$jCEF|PJ#wM26+WP zx1q#9-Gy>{8aXFngtY{Ke-7eLp(prvn}X9zrjzjX%j0Ppd~;k@-RPI!1Es=47>4(v z)ei&ly$?w5{Xn7*0$!RX82juP=m;9l8F;x`ri9_;H$QT0&c8yp%pWc4Lhw=zAYtD# z8rCJKaNe`Oou~G2BNJ+PtT!Yr961JK8$ix-W0tK2auU zdJYqmRi+O^XGU;ASt%y~MH?r=24!VB794%^@j*+*D$#)amX&l0G~Ht&2XJ#b?PKK>H)d)7VZ@$M~C)>mcYOphsg}KyE^`O5k#zT!UxcntxY^k1|-%sc1R&#De^O1k?0UO#6?3{C*7N_lNuzXUtu>P0^r> zO)@o%E}X?zG`t_!kiYpzn6tvTGuYKe4&+!SZ6}1BU10f?m*H+eqsBr3Zy+hX za(q}G>V@$kdJShut#0MB1x=eZ&U_;n-lR5%?q!lpc0j%2g1xy8NTJEUGytpwbvf2d z0pKj^rSKG0(@=K~<2fp*a1{+lN)piAH;lcfh~<;Ukj+)NYE43VlHMkLUbq_kpbj5< za8-dipdW#HOpA;pprb#x0T0M7&~TMN8C!^PH8nYjmhi9VVhCt^40{|O%&|^t#cx$W zvNs7}&D4WfhV^OCUD^h$HA+PotWEv=e{C&69r=r*g8NSZpVRy=BsW-1u(TkBhQeg6 z(w6!ZIQa z_yMgSJ$N(CB_`27SfVU465d3A4mlm`4w~A~qp(^A31@1u3oYTF(LhHs>;)mH;zJU{ zEyu9?wN$2BC4eM#$jLR$M>rp3lt&;flF~3FdG|BxH~tlPY5pQKrBp_!ZYKmt-f(uh zNEMEq%JLTZwa9@wIa*CWDS%Fn7PHXPU*>8V@yU~58Z z#bBOeL9I6*J3X#iG1Ij1VO^M;4yzUYymFZ7B2@}f)*WP_a}Xl&xo=AD z`DuXtUj;<}9GKT%1NZz4xaX%Xlzaa7Cw7jU2QSVa>H82jb2XfVgz!R|WaI7>j483D z6S}EADU9A;Uerpu3wv}(WvYpE4;=U~`96@|46lUi9)|SW!|*CN?O_P#J)lmNFufXL zZa#t&pGJn)CS@7J>tLC~@cN{zV0h4$LxARR#Y3RZdgfq`sxZ6FR6rUyEb8c04bDTc4KQus&$Ls;!-p*mzTWJCg6&*F#|~^;`J< z;NCXc!9b$c)p})XlO`;L2cQFdRur(DNoFi&GSu;u94_9ippRc_A~<(9%>+=(qKSxV z-R#D~Dwmo=FE~M0X|M`e7&$<+JWkxI13HG+gUiO_?X_X!;}q4ef-LTp!?r+gSsAec z$n68#!wC!B>0tM%-p%FRWxOopWf3p+ykJ*7u?#LtdBLuD2SPktmh-Yg7W{GvZo*m+ ziQuWhkRn7AG(;;jL_;)0TQpQB0Z50IYaA`p5RKDNcm3l%ny7KKQbROU33=|xH)b5h z&CXiH@)7du@XiqOaiA3X)UjaIGloDm_yJu9c!WH*u_G4aNa4yXA_@8E&!H=4-J!r@ z7R{&wO;JouuEP_M;!<7T@F|&8e^%^INvZ+Cr==kAbesmeaTp!BB3=u;8LS_xtRff> zd4?g?Zua!H){25GShtYViB$rSz~qDlqQ+J|p5f0jCb~&uXzJPWsvWIo%9~}$s}awT zS0kPsuSR?`UX9r*|Cqv!N3hEcY&=4&R^Lr6$JSKDrfF&&v!JJeA;04E8^i z1smx~r_2lUMBi=x@}J&`-sO)XqU=Q8nEF5D9tBeGZlA^!Wwyd!Qdo#xq z|Ei=oAYQR$y^FYP*+9%&A zJ6W)~Wg*E;INYde)6g!;uh68RTQQ~_L9+~;RWFZp@JRd_Z~{3m^g56KN1rh<`$+O4 zuV^%6wtAL_umx%o*q}0&he>X+ybSmz;{>eCR&8kn$=rJ4wJc9n6EH_`zWa0D=75zE0`Nw7j1qIL*vyq|%JI1TO(5i#4Qi6p0}-gqJMTY&r*p{;cB)Bx$MN7>XM4NF9B zcvFfJSW=B!QXfjhJ66vZ@REiKbx>P!ZHF;&_$0)r}cJqiG%!wNG^ z3u?&|q|9Q9>~(2FmCkw_=uqHhXhE~(^~)BwUkbH1GQFVi1@u_~sJu+e3;ik;`YoUC z=XD6xHbmorFGynAA$Bir9+PB!9QVvTu2rkh)xQzly9ph)8JTVg6jJRMQVj_{yO;9Z zIKBJ=2LXWOHe20Y2Aka+(QLTcP>P(>VS&~F*LEFxc?|p^2bs43pFG_ zsAX`?Jr{OAP(Z?25okL!u2Y>><#AkFOcMo{It%wf4$%cq6aiu`N9wU8s|SrwZmn%* zFTPilam|ggVFx-2a?g?l5g%uOj|*hTR6F_=Jj|Q#7&Uv#aVmuRB{qnp*FP!3e@n8B z&80g+<9}9bXZlf}A_Y5yJHT78i2@ccsFfzlWY>omBaLux-wV)c(v7$|?;X0C0J7Zs zsKa1Mx6(aBr;Z(m?_AU}g+khg&h!q9o-t!Yk%3LWgswcP+RGx-b*{L?2D;&Gejx@> zU)HoOV>R5#VkT~xHYxKsa_WX>cO-^@mUk@5D@vr1L)W^?fe@Mmh=T=Dz@>nYR2gY9 zE{hVxO9SyT#LGi*;ud~aNsxxH3Sf(2H824~HQ7a|Cc6mL?Fd3bFqSb}uX7ZWR3J`e zb}}Ea8pWtdJ=rfDVb>*ME#FC`s$mC_$ zBm&%=9t+&K=ITCwnCo}cEk=QjJ>o%{2{MjFBd2^IQ{*py%$;x-1mTOjb+F*1fdsik z?PvxF*aIE}P?@7GH~Y&!pZxezFtcvn*%K8YYD_$MDe%buBk1AcfcP7SSlIOj;9p9l zP?)c&-lhDga^8psc&&DhK&#-u*%iq3~*R6c=kCRbUg)Ov`Vuf z$OXy{mFKS~LQwUcn8V6!5ICDxcUPv6vevZbC)p3Ho3S3DmTUvO*v@{SWOGBZ#_nvXHCn5paN1f(F6JO?!9@P+? zsv&w2AxVDB4qP`O_A=683dpGPQxt?$Kt`N+4!+?@yn}Lo4h+VNQiR(SG^LqaCv#hZ z+fpPbdrr!6JLv$jsCZ5)1NV~y_f>F;Kjk^8HvAA}>?;&cuSZ>$039v`mTpA*m*M$x zFfc2yeR36cEUuPAmYIYYZUVNZHQTr-%{?)b_LnC>SyqPKJY!xV{72! z0{>$ppAUar6aIL6(>wkB1{a?#BGg{kS0f@y(GR?}Lw^+>dL+AKxDN@qX+bH6LfB4GqspZDw^DX~SDV zi{Gs|m`wtO?!@P!AY>pTdq5Y;)hhEO)w~c+)fRzjUW;&Dm}>4{`@n(k;RF6?<)*+t z1D;1h{A`d@4@&>H2jHy1JMO6<3S1#M zPDw*0gB%FVQxJFm{=q$Dw1H z`e2w&c*0LJJw|{q$zoF4LZEM$OtP3kun)1mSpn1r7=e>H^23wXrBoOnQ_KUN6nK$i zTb9ik{^Zt;KV6HhBmDUX&{0?rn%v(>VFf){1b**5ygbCqdwF@7m-q4VeqKIc%LmC7 zeu$S3^YREUkMi;nULND+qr5zB%g0jSg5fIg;|xEMlqZt%D@pleQa+WGPp2Rs`(H`< z4Bvg0A3Vs*Q@lLQ%dhhCIbME^muGnSJTGT?c{U|qkmq) zIO`4VLkn=D4MKx)%l4Ru+8lGMtpUx9_kLsWh72&b;G+}!jAp_pFmNDKx))-r@lUz3 z`T=W34x5gt4M1Qco@+kUKX4>Hj6Tm+d0Jt zdgJPd$hNuNNj;9&vv_KHmeMx2kMYdwV?6Y3HKoo-e(&`>o(6i}!J9yom1*LPWo7gR zlUbY9GZgLz=$9-!O!mPsG&%#5J&VI|F(1`Xv0Jd4A}GFb-{IrT*VhRII+{u#SFEC)yTwJaAw5wTkQXtr3%x-TI-qbj({u@!t-NgGrHPkjURr2cP~@)< zx=ieLK&>Bi$|`E6QXeH-^k3^OeHU)<+9dc2NzZ8Qub>#Qt z|2T3dA79U^-7WXfF(h`=ZkJX%hQ!?t-tFYwPTpP4yUTgk#=AD&?c&`oX^o^XjPNxy zGQf(8{z9XHiPd}ZB+d=UcgCK6l-p|<#fhu?Fi|tvboBBd%y{o%%ug;XOvgAj31Qs= z!Yyh8=A}gy-MeoD$|S?%nMj!slS0ub=7ols8X97DXov}du!#MsA$n6o^reRANe$7D z8lo2w@~i;Ek#rz7jB?4cE>xBkx~~`&U~$!g@lwD`Aul#Bs&|TkF`!g>4?aNGo{(nIaHdd88>^qr$pn9#iTWy)gH#o8 zI#m^NK2=d1V(3babhGNh_l`56uE5mlf+V9GQ>zC{W*@%05j8NB1-qM~sR!LAa&beg(ZRgQZIfHCv+fCQh-P)A_aU?h)5YCg^bvUlp|s@l0;+@B7t6+qpi6H z0ODFOLf2tQT@U%qLDcmSTHFi2rH4^VPv3v7-|B18E3K%vg`T1K!7Mfs`mnEIS+N8P zie9i2@9vndES>Lz3}9GT5E(b*I-8?`+O*5(wlIUSkJwb9ww%*GDa<_xmAH8L9@ zS9hdx=h%_p977~C#}G+yKy{8Gl9^+OWabzmnK_0?&K$b~bL=gcV|QYX-Gw>!R?M-x zF~{z~9DAGA*T_1e<`^)%Tk{SVq0EInMGU|AAsSZjQou_gFE%g9L&g9k1LW@ubjn?|Zl6)|_JoyP|OH$Dt*_7ODn!;p?Y z3iSLDNP!;(+GGAMD-H;>JAN=VT7=ACrRk(~INhWG-S(Acd2YVjfbI z1X7gbq?nHsWq}lBIVlz(MQI>KX-d+73XPrrp}_p*E%F8Y2|zKv4;H*)=5#M>h0< z6ZwI|58QzceNYnlK?y%_$365xS>y+0{J@l0Q0WiH8py01VrCGsa2@jt~Z{xk3% z-^J|x9>~K#2T%2V%-X*M-SStMu|L2J`ytTok8q~S-@p~x-vTuKJwU`iU~c~y^Y_WK1PQo2_rTnKgQ~t|ZB>!!#lAl^zvNDmle0}gZbLSR)O`1RcL+EvaP4Aq;<|Jvc7DktZ!Mx*6&)5^=DRz zu7H!6{g(kF4eJWH%D;Q3fA=N-?#JF8N-fqe5~$zx-s-Ww=dB*xxvR(eW3zg!L4+r< zj^etGri$|_k3}9@hQFW5(O2n3WoQ!ru#zBTFzYEx^%n~vY-^G>z>@(RNN-Uv;C`IZ zp^z5{(Lq*~6j)ONFuKsIJScCn!lYdx=!mF@Zt5|VnX-pgZDd6toQSGOm{_%DpdvH# zRD=uzD*|ClL`4*!1}icD+QXS0VuKINVqmedSH4t<*&dL5W3+W@Aar8plNC~MGiNB zjDH-PJv6``JH!(vj=;oYCXT?w3rrk=iN{SGfr*2*by!7>yLF}DuLHtTAfWP6S5wXT)xt?T5FbuiFBhy6Akb~$2Fpg3l@ zyo`V4za;k*=`lf|LV0(F#OwTt|Wi{w6>)&+?&aEr$y??;?}4T&$x zl4oTpg2rcM8G_}{$_fN4pOsYzRzE9i5UhPx))78hO2HdvY>l9~mqDzy9Q5=GSaGZb ztFj99yC3OdAhzDE;RD$^wtHfi|3P6nmIr>m9@)sTRn{I-wLyP2Uv5ZYjA18vqnw~` zC>Tr5q_HGUrsU-&UWQY+jPQc9!Dh-SUQY9JGcPzKY$gv0n<=;QavLwV^8(Axnd)(# zyu%Gixr^ajlX7>Ghk@Z7uzUI7?Y7*gih4>oWw;x+%xga8W6v(?Jy{s$vMt5!J92_m2dWGx!`Gk;EAu?q{X_BORv( z;If)(L28@q{t-|4gUsFA%qdo3y%CbTTA_e~sGxr&TOEZ|xoW8K6>_nW!!T+NC~~sY zAfS5ggfbv~)2ZHpe3~OPHd1K>Lsr_qvm=h1eN+kF;z^b&Dz``3dl`jOmVUoH(Dkl% z2q*ku6dgz>b~<3E-WRg!qYWSI`_}T(Lq*a)DoMI{*UdYK>UcC3?yltBe%|fj-Co{x z@D3V)u@ptteh0pSKY-~6--lK+eqH#XGB~EiGa?97o2NQ#q4DApZn4Luk(Xt>ESDu? zsBUs}G=aUGX3#KF1L?tI)T9*l!C86}x}VCFmW$TsKzuP1P!D@6KtoRj?d_eO9Fuwo zOV9{_k6N}vLo`K0v_?ZT2%$OFlA$pSjEOM}<#UFb%~ zu^d#drz$A`CTB7Hc#He-kB})@wBKWYJ&cf95yl}lWe7W9qOudC zayjH5Z5Z!esQPZLxFLboxYgyjUXCWv(*T9q1+QX_=RB^xMhZu&Pj#gfjBw_$L|5ruorrdE5N#Tp-SDDjMQp)^87`9?=3>_ z(b>4CykqgS&m@^q0@A7SQLz(GO2Q?cGSg~*U|N;9*|ALp5-Z-u?*R{RWqvJa4D+jH zXS18{!ljTGo0sHWh91h~eN7y}?*d;#2&RcX}e?0ABawES}iq z0Qt31c$~zr@GNj|{0sf@F9Z#^5_#~blBkNf9AKs*BasyWeu%1w%K>I8avBx6IZs6h z@mLX{9yhOGkGLFQrXpt|D*}`iRS}m1%v9udROF646(PuFMS$fZDq@Fc>z$Dm0d|b4 zh@DxgW@zq4MefN{5yE^{#OTPll!85y3|Hjd$cg}AM^(h-05d)E4piiwc`8Dr!-@b+ zyLo*bOOPO{`$egOsBTI-77JEjs-Xh9h?@O~VZk8=U4zE3$Pj~;L1S25h(Xh!F)T8~ zfNyF7DhF1~n4CWVVD=#NEAIh(eF!!H?}fX7hhYuyKD>WFP{s$a_&x~e`yoJx4+k1R zG(u#DV}POLybcv7d~yhLr{GA^68zzrIbo80`!{G%9N|^<4eH~i0Vl>hO5oCPUS@VI zHn1!4F_qLCI8)$72vrKb2my)hMUsdlHKI$};EiTgNz*;|;{YTd0|NXwo_qp4%M$?B zzXBVFPon0Z!f1aQ0Q5<;>3^Ypp8koA2u9e9-hN5F2Bks_ZNYrBUPJTE zeay1Oj`{lypwn*#dS{P6<}@!L0_WU@ z_`&A1F2UU~tPInfw9XRHLNCh90~OWJ%dBSwCvoDwR_|x){Zzfjk(_uwP498U6Yi($ z{X8Q@;G#6%0p?>NEdX_K85ZM0kmQR{*l~`A^k+*B7Qeh?^Ru8I`SZP!X0|)|+mAvL z1bD50U*ko(TbgZI3_ieY0CU;~ zaTayUKrejApyHT4VhMRs-0sLgyi>PZ7XzoW2wNa^fG1S0>OPJk@Lp1 z-1JYDJfzg`6P1Q|PLv{wjub2y15AIu+LS+B$cB6L7Qka^0^kL3A5sPdmNw!^fKo4R zw%upqX4`!xJ_+e70^e66J~{Ax72*WYUVhbx*979Vh;y4Gx93j>EyZxA8)6ry#&xSB zo|~`{r7Y4uf{1I_{~8=6SA= z30nqJK!iiZ)V}lLZmGBBR57Y@x)}V!ExbE}O{feZ7TzGY+Y}0y$q8O~7O5?F+45Ff z?zZI~Ti#~Ny-fRdULX{nE$=8sKk8*D1+w>kzIay(!teWSl?$T-H^Cf!6mHibq{Qk- zT#SFCnb8XYh=%RQau^S_*{18T0&AkP;+l%}&%-PT0Ms@d{MS1=#JvFp!v=8%oe;Qa zb4vSAAB5h$5Pie&oE`%7$Rl{;3S?#0SdM&{u0g`v4&I{@;-Jy{guRU9L&gukeq`)= z7|plGzw}mk_sHOXOWd@hn6mKa3S7%o%b zohCqnjX~MDkmL+0!Hb~s4hDv&X?VEzOytBd1Q}soG;RZ$oY)Si3X_wIR$XNm$QMv( z87{-GhXcvc`&AG20r{WrnNKIXtQ?1P>Q(LhNdrq6*)=wl89LZ9#yVv34dhEDdUhq-&}i7_cxb4*nx z`!HYz%^j+9Hn`1o5RwHCbL$@lCUD&uD!^NcIb0DajXX)SRxK5e2ONljaQPMaq%EIv zAQwY_VsEW2pUJJU>3w%L13dx2N zw=;bUcqF6fP7G=!+c})e*B~{xDT+BzV=u$NwlQR9Hmzo9_1%xjD;4#Rv<{Mz!;+nd z7n=!qXI~KXui_PDmbTW+uX771*lP zQ2VZd#&x~cgT~2qV8W;pj>8gZIo>v+1_Cjssaq04(PenfqaaPa%@a!DSK&#S#D6X& zw$Lf{l2`C4+=%144zJfkGH4q0U4#(2NtfHG4mPS2Rn|sr#*JyzhD2@R1u14r=hr4) z66X<_!6zk_K)qP{h?Fg^O`I3UYv%dIw3H1ta|@ce6=SmvvdAVV9=B^VSE2OTXe66S z*Q71lOme|pZZmmD$L-{Scj4>hsBxyjeA0v`;RbKbG?IsHaW z_n7^5Ir^#XB4)okO{y^ep?589SaMz_d(F$8{Rhyzt1;8B!Cbx;1AXuUWmJ3b=uxclnwdNMkD!@pjN(y@;xUZk4Hq?vQL~?$p2nE{bizYL!0TJ? zQ=%I@C4Ym5(BPA3@J(p&FdBU7k~Mhm*bSy4v+MOu+iG{(R(s9Mowm24dADKO-i~Q| z2d3>^uXEaVk3DValW5=TYgCQfsG9tZx)+UlI~sK#8ubn|>Rqq1QFMkBo|*wnL_1Yb zZMYIJzYW96jZky5&}wx6tv0+MwJ~|}wZAbILd2kE*VRK1U%nUU{(XLZ>0aGn&H@N7 zJ9qKo1p9MCL2ZGH(^v4$Me2oyHmNOC z66KuCd_;;8YZ6aNNmW9%+E2dr@{_MUl`z&!>~N!P|0po^;~+3T1|sR>=;%+tUg-%` z|5vadBRoXD^mF15+m~Wl(n2&54&@V z+v_qU+pJ7Cp&w=`B~z#B+b3W93s)1%HXA?OpTm&;8fNMn@$Qq22 zw-7F@esPyx=`Dv*?#0s6%5fNE7MaUo8ui&2L6VMf24;oVI+J_pbI)rOjK)usWkpMy}_ zo=&^vMykdqAnY=wg!0oqs6hQf&n>}WW1;bn&VW5b$J?z(kEZ)Lcyn^cBW>O_x@kCo zDAL6ELAa#s^x79J!W=}7B7B#vqk2Mnqx%B+mLl1X{^1cfttrU7=4Ym$tgrmsTaFL) z_t5|VhqRe=edbA{`^K%di7{DJD$UMg%k})8Xe$H130M*%+xRIfWT6W)a+Xl$0|*6|<=1vF#G>H>lXBbmq}`_VI#E?jpz6@0Uv9e}Wq zoHaria%z}Ve=~4R4rp48=R6yP?@Ixr8J5Fni6IX=M(Z@)WW;k_rcc#$dOk7UV-KOm zd9*seuLIf5kjLgQr11?yJ!~9d126;Q#0w0GwHQ*Ez);=JB3uQL1mkPma4lp9tUI00 z(sK}T4DrEykctb!_~7ZLxpNP~mWRJOBn-g=ceHXfyw+7I@POa3<@c%S{evP<6n|*T zAHfRRME=;8Kj9Hv-{G4-wdK#~{!f#A*Ou?mBfCca+?KzfM|O>TpK1Rxh0VA>;N4&I z@L>%(uyIp z;z(m9cvn!2-McnF`6)iJlD1XE98pxvN-1`it?Gmeot@#hzs>M5NDs!8b zl54H$wl%}HX5tp3WX-azI@_9!$qr|75I$q}8YmGENE7x2P6=C_lOPArdTX2-h1$i1q@!<16(r-BhmEH!(7ZtHq@q){pTzrxlq`jgeMw4mu7t z%T>6KtF$t?hET2{M+|NP7IGEYS-6U%kL_Y5z(>=NTr6d~_!D3x+}3Q&%KVI%d~0q# z4SYU@`dCLB*lABdO+A%wVBulR5X!q~tBah04nQQdY)oo&Jd{^xdJ1}wvAa-b_dFn= z!0Zla1`o+nPj;3 z(Nhm79z;bpbv|LFk1sP+d^QPiAvFC(lh^-KWb%bmx%|Q<9>*jrJ$f-f*@o5#);;nX zQ)>hlqUQY=I~U<&LNmG$@{tZvTXZsw%OOpRo^AXZ>*QkDpn1``X7fu}2CtWkxnQ1z zAB@ji6dDjt5TQUI3!$(dupuYvgr2m0Nizz z@^{JaPVC4F_#Cz7JJ>*VL#~$Hz$(rjHKTL5%{-r~e^B7i)zJD`9X#Sdd<~Ljvi5y; zr{UcQ&+rLr_d`h1f#CZz9i-lATMHcPGI@u?O$78_dYfY{wC3B^BFCy{GoYz!Ba!0Mp~8I zwyoukeAQavSSzhnj!OXPe}MwzWC84yN-%c*U`{;2X%p zjyl#>YnyE~IoRFXGS*h$s(mBrx&YZ!$BgS7YrECzKnV9a$J!yEv#~eWy4-4`msmK% z8Os>Mf#)22wA)$*D;OB@$2QdACPgo{ci2|DV|7@awzY@hUS6)?rHhwt+v;J6Ey)$R zE75_sDGaRotNpeGp@uoHHA6+ZlRUy&1Ex5kK?y7fq|aDYj?J!G`@Jcg4gFEyT$2U# zQjXljEmma^IZF1dLs5!+8}Qu92bLY63KIG)zc5>fv8^Bq;7xY`hBu|!b-ug-ENxD+ z@=bAVXO>9 zuMI7+%q;Z`X2vE@Feq~(v&f<&CM=#scKHl+#+PT}<2fM<6AhlgT*msOmXv5y!DC)!5$0 zz3(*$?RwQr;*RDdQxR4ooJKWe4EuHk@-ayGV0Vy!j;kETDAU#Yr4<`ycR>HO6MOe| zK}FsH8B8a{DtoY(aW6XL3N*P3q(e7!qu!?MJLO)eX!&<1NeDF9g1VL-fY|Wh&fh7< zq=m&Bla~FO4Y!GK1HQ?|;Pz;vSpjlhQ688io)Nz0!VMoo5J z>Szx1lFY`Y`02F?C?e;?qQ-$e|BLCdagDv;~?kv(>#&0y4FA@aXs;DupWft=^3tz7L_oF?{u2^g#@|Js!fE z_&KClw!H6EZU=n-E0QuQHW+WZt@}DMVpeqjS`OcSk7KNG2jis$s_8@oP7^MBTa!tC z1gbG_!mtj*kY`kzZ8qp0@|$?bZ6fLlyHl@;1ro1bfOeAba+~y9h*4vH9cr6;0e-1e z1FR#p8>&qxG|x+8=MvO-*(0*10jZY1AS<}5cIAt*3UhyT#hP=ncF8$ehv1y7$3SjK zV4PD+8qoNSPe1wESyv5u4~j8+I&Z;RJA+}m71Q%Jtp2xX8>niWfx(0+D|$JFcN{vd z!R!2XUFWuo0|veQtMtP9zMn~l8L5v%PU7X^NqkS_Bz_ELvt|WkTpVDHF3+q$N>2qv zaQk{@H5K}mD^x(m)%18|MK*;i@?c~|J{Db(P2q~X4;6WTo{A7svLYXsPq>W=E^9kn zkq<{!$3F6P*hjtJFD>Va;1{=)n>)*(%Ia)^Eb)LRMK{ z#~R90R*#lNI%8i>St*oNjItb*Rhp-)Z(>@+_Hjb!95nzUlLIE5zU3EJ%}mX zkFUbSA|*HjV{8bY$-D#Jzw*57e?hLYb8or70I2hK~wv3QW7xomGh77*A);k#VS5}sCh zMSGixRDznj|0bL)Qm&LoW>rY=$GH+`55pWFW8OehM4IKZ=Zmtpc>n#PPyEw&szmtX zMv4&k9IjBV9e{i@1#^5HqrON6iZDpnv^}4@zUK?}V(YH&VHu$x>QQX^=40LTjnma{ zVdP9PCcv!^44gq9sC!d zwYTLXHjg&#x|r(bscj3DbX3KUrNqP1w50nImudzJzGWw3y^+_M!Nr?(*z(bA>z0$3 zx`AVxm9Wz>Uomm0b8DO zz})|;13Bp)2aF|l`+@^?aEQz`ww!g~EDle;z{qnBxWDHeux&5EKt*9}rt2MYSosx? z4n&i`4zYP%uS=zk)ERVkrtawQ(1|*SOp^o2p1tNG5OcnoVh z4Z0)Lf!&(j*4f?D)Y)SU8w|lPK^yOjH4wQlwd91hXiwbcB}ac*3U-3Zy6z!(*cyfw zFxsb9A(K%_Xq%}vhRI*RE;7o(fvUIO!4_BZ8M3Jis36T=>v0{IQ!DA|sdJej|HS2E z>1=iC&G4Z|NSnPq!G*QPXyj7p9`kIOH_)L2T$oq&jFo(rhM0D4J-TZkeZ*Knj{1SwWV13Ag16ty`9I-a=N)#WJ)Hh%cdi`06`9~P8z+>gJVG>+`#18DPjUR9Q zz}RE+Q(1$(Ib_S0K$>T=y&aj7L4$58lkMVfNU|QsA|;GaiuoHM{yI1R_0UFbfP!L^ zmSYqVQ~YwKxaIJx^+*>}r`#0+7n)UcpUr(cHdGp90+;9xZ8q>DNS8o3E3zg_SS1KD z3o=zQs-dlJmA0WuO~}6mY}aU><6CY8H_lTb$YUiFekE;a z-oUA{qAhNh{V6J1h`hIkD!LFoR%rIS+thm1aG!gU%9NrF1@*NB=+7r#`(Z>wjKb$~ zw;^q4$SzEP-5AAARFVgP?$yR@L9vVRW1kkFZ)c&Qt=eZ>{RVFJ8@Lq;Bkt5jMFS0- zF7ekmm|g=fM+0q4E?9xjG|k-QHgjU*kqVDTx7&;!G-DsSazDo7DvZa03mT8z`NyN( z8xL+^=EV7DcRZRx<6)*S`nw+L$6{f=yNnvQ%lmvD$aGxNB6W6*;xeiUa z9!)ufru1S39Y%kq{SjG<5!r^(qCbMnh&1^l(&UdwlRxE}NQa<_dr^uJweiUnZlh;% zjIt+Tmq3UK$x$1I33^=$PPnyq3A)&<<4ZFs1EXoW;JDib{pf-lF!^r8q#Q&uj7E|x z?Db4aZ{U$DhWqp20%A6|?&`OpCYZgy1>83n6hfOSA&Y53@wC@+V1iV3Hj6C&^)dk{tGz z?ctnB!YAG&!MR(nL0}nN$X(iJbNa-^HOj{dyAA_N$G=ch7gx^2@&mQ*PU%PRiU?sPN}c=-Rl84yI2=9{Q21h2weMprwSIAhdIq6>6jS(dSekqc{q%86^iKdgJb^*^l-8RR zMjI#z9*mj*FfbFGJ;x)SvF}Uoj7Rh&e2E{0e%y?3slkF+s>l?H?q zy)S~LuJy)ESF==P81~9SeGpwKl2CgzP$mHjX&<98?zH4WaBf6FxAVUKBB|+3R@~|XplU~G0MJpXQXq( z;>hfFvo4TZWc6QlZW5Id*fPZdrk(0w!A!Gc_PCAAbk-QGMnxY4386LXrs5$ z7B@Hb^t89`XlrfX?wiJEe~PwVyp%haIpCx)Q-aicA$Eou^~qXH7b@e5zzlrr{V2oOI?X;EbpTp5Yp^Ydx}2t9=2Y_RvD9%&x1uNESF4*?Kq{ z3w4LR^&pi>{2Htcd}*W8?lyn zcoqcKZ;0w)EHPJ>HqP$e)78@2b->qFWR`rkBF?Du-YEHc2s(i4;Qny_QQ6A9x7;C4 ze2lZI5Y`YjG|){OPFsjS4`bG|Qh?*L$n6*~U}Oi2LEYg;N41FR>65*0Ia>8RRn?M^gjRT)#IJR#q&wk$KKycGczopx4!Ok8CJjN2vV+KR=S$7h- zjMO=BD}=2-y99T7uwZyYR;WS~g?}9v2LBS5H+8-tM8sHIrE_&n7b{S{xZNbtdpS6f zy-rtJ6a@E0OK)?OT!F15dBnN7fYk$jB(e z?e=2GO?U8aXNq9JmR*GRyOYw+u!Grk@@@~)?4?CK|(*EL(*-7UBsg6>~7og{uH_^>1|UMiU91 zHxkwgx_(ls6~JUj_e}C+<~E~Gt~E<8H$9eHX=d}J*=d=5pmJu@p{umy9?c0VYA0xz zG^SGg0+hYuYk2=B5%C1P%|!03CoN3K0Il>$dJr0Ff?d}_U}E-oxl1boenV+qq~+}G zrHi3lvO&*20xF}-hQ75dU|1Yx30z1yaV5zHh-xSzj@MTtaGbFr9fAXN;Vy34J0ksW1-GnAKgOq8(U~Sg|jY@8oTcB|p9s`ke4GN&3 zdKGj&SA+T7itvUoK~wgVTMNE}f##1x7ba)|$Kjm`Q8eH>6H=SPI8L=ybmo&5HaAj6 zOCv8{&Uk4~oywB6k_h3UNBPB~7a(TK<~FrQX4=HxSt!3Es{)GiaSSWjy4f;kT+whC zg1WLy%Bvxs%!fh40_ALhUuNTU25qQ?Gi6v8?C>Q7UlOx1Js^(7A7^|4H~>n0%(>p= zBg#}Y>X~rFIODM|1y=)G7U7e6d}LS?3X05PE`vmvf*<<-C*Q-xRHj@{OxY9&e_kUj zfX2Y)F0CneA5&(A!WpW|N#YlR8n?qM;@7`*?CA#}is3IpYY{r+0|M00vS>{K7S^Y* zRE_9`@)!8*Z7fDpme~}&;3Q8*Ab)}Wj#22D*7%FZqZBV{zUL@5a;u9;Uwj+~vkatL zPeX@fNn=pAl;*P$b$qF>a}`UN6`7;hW`}9~Pf0a`OtWv(9iK>F9 zjFv0MHJGdo`RO{+4EwRwIU81TPKgZF8^elz3K@z;Sjc8lpdbt`R!qPLV9?8*f96h( zA#bSYi1Qk&LrFO4NUzbgW~l?~sP(pZvZqY~Pc`AAZ$jTgEVV_da+Ot~WGIHBt8G9! z4scG31BBB8Ad?{^{YK?6gS_-+hfd$|bl;6`MMGnq-?%P7`%cirj|a>EBxCmzU=&q*=V z^na{pqQn7|J-N?j0NgF;%&n;PHpo|+{kqRaub8@*07_EI#JX?v>%I{*$y`({2}n5) zJ!xb?-jOf!fnFDKU%fffga>j`;2x7j*?Q=EPv2b*L8tIH9|=M^uIYs z-y9w?JTF`;hf7BRuX877h>i@C2-)N(+-qZ@go$VL@(~Qtg|E2$ltKnoE1rlz<`Y|N z8Mml~)XmT{mFoc3L<4@PihN5QEWZHl;y(@;@Pt-zZPaMFNWV^&Iso-)hxSU86wY#J z!sme9T?dOLbrq;0K?gor1|66`uFDY$p3c>vXO9bg_uV>{u&_>U!%U~^I(00k-v1z9 z$lgPOvxgmdtK5k-vXzoU97cSP1G76w4mZk%TmeQ@t1obONH_~@d(FofjUgqxNXEw} zO;IFWUuGZC4pKDN{34u21@5`NW+OKZT%1BHAlIZvS>K2Zwz>HTWo=jVw7nopk+9k_ zd(J^tHDRxGwm@P$LC18jb8p4Ceq{}Vov)8jP4u$aNfFTNMXMDrrHi-_FYaOU40v{3 z_kl^LlYKx0{1Pezq=~Bq7&8x7l1#hsoTOP2YCl+IxJ2&)JTaDAji8j5DZ6a=bJ`UX zwbS~YXA6Sz!W~`l(-Z>$%+2>+#3>$_Off*r69dHSXSga#bM%Xmeyv2ER)N@E4ZOVu z#Nb*juikv`mp9ojZ?an+a@RJ+L4Hyesgi*N>I;6&rYRBWb6V1xrXEL?*wiXY`U-I5 zU;Sd(pU^1@M3jacXS8wE#as?;SL} zHl;ENL~w9D@HDTW+C6^4oFHgKsxd#?n47IdIO^u{19SyDa~J}|#3OQj14#EIX!MwL z&=eQ`cOXseq`cLE1B{aMQu>0FS#ZJue11+b|t=p^J87O0~-&c;Pt=t>g`G2zC;ZWlB{zY!%p10Cp9v zodHQKPd{Y85BqH#cH78dE0oyJ&mKM7#G zqa~_uh?&_%37;ai&8u181iJTsj{U$-GremXOolm+k~=j51iu}c5_?+Qfswb6-#I+2&F95uEC^rUOhj;hk5= zBnF)ad()}EkCx){#!`QmErL*B_?;%BZ6c90d`m}=7&nrY1Ky_KZWg;O_mQj)UGf1G z3GTP_I2&K^yw3 zbjpM=pR@VR>91Bp8P?FoTC`F@z+;nTKln<^^C8tDmQB{vM-;J%-WNj|SO=CJQGaLo zE?P00e$X~R(W;56!WJmX)bXUriilRBP71o+B!o;;TWq(EN0}XVI~yLyxr@$*@Ggg_ zNRLF9y69|$>h)TF5JaA+UTxg+7lVw`mTz zHq^=sDknlo0#u!eP*Nr@W(5f}Y=s-D+h%Wfih~Ies#QsqM8F3WAF-fv`!5vZO9EA( z7rJB>VD;rSkvM6jY?+Kaf-|qH_@r1OLuj-IL)PW7eF)687J_|oI&&y%4tubFkPj$_ zXaQ)tG@WTO$Izx+f3|P1`F>HBmpAvg-aAk-;K$~H0hW3MYAq$2bX=>pkcuSNwWA^> z^UD`!zA6i@xdg?Sv-n!kGHDlcZ_+sr)pg5m=gwOLQdIP*mheuNb&H+DG48{glnA1( zJ%_rF-nO@U&*844-Fw5bIb%FaANeILi>fikZ=M-jnKxcl{fkLFZOJ?EtcaK^dndP4 zCCU~N%gM#2op1+h{Z1n%22yn=a)LwUj$-8?xFSUQosct2Eu^rXXDNpxooe|m+EvSo zkzk3F%{*%6NR~w$ta-v@AB2EO2&{d=)H!)pJv#EdmiE^{a5q>2;(A>i_PW@2zm=FL zqMWuu7^9N$h@Ht%-Ny)74ii#+6XdG_YKDsov~03-n^B*RkZrMj1%%9vFtX@KYLl4P zim12~F|QNS(w!t|zjNfXjei1Z)@LOT6h{qvs3Ey$==>n%LVY_%f|f0*gVUA6fRq|D zWSO5?Yi4ETygw&KncPyD5anqrL3s*6W9N)dGMHJ|hL5A?d3tY{!4uOG@S8sMi#_ks zBRM+j$(W<_ecFryFWbu zM$l&yHzpQB@T!LUdPe(>552T+EcFM$kkn0NJ*Z&iIK02gW?QqQB+@aD3XWA4nj(q? z#GqAjmYleI`npnEvGgpkC&#dsRa>a>tSD;ji4TdU

L|XW19M23cmJY=QWgri){4#c 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%0ArP^XISlhM zQ^{ecY;?1-l(ml66k4Rw&_Np6TrdZhg zEXcO`kiH8n>&mLfxk!IvFF__-wG!W~UtG&;1+?ERhxS|Sldg*s(l=`*-?E@&Y2|nW zzYf4Kh?kifMk$1~#4<~P`s#G3cdXtfo^eF}QXnmd-B^Q&ejUVoV16*wlJVkq8Z+ZcOUW=>nUL-g#-mmAVAZ^?Yw@h@tZSRJ)%(yOKs#=fbg2-^qi zGK#OuX0&4+qPpyeftwW8Wv69_1TNkX7lALNPW5@cV$+Dz0bEI z2#q+AE`S{-0gTwlFUH;8V+cJRgErCk#sQjxZSDBYlD8ZT$8XTjV;o@E_SB$tRwq5M zS@$8ExIYGYOxVwd;H(|CF&efU^eMo#ylD>M5im|35-qQo@wU#K!0EqiCc@(@{N4tY z3yVBi5rJMbQz|_?RngPrv=Th5&ZxC*b{5Fzk)vE-fTjPDKR{F3&?$V#T?X`no8>aC}1=9AC8eHmago-!@bJ8%Ej=S*#0L&P=E2Gc-@ z-fZ5F>h1%q9*@y~k26O+A}-f@;^bH7!v>!>xAUADeBL*>nZP)A zB4VhuP2XY~-Xi9Lx%*_nbiU1Fd9)V=(^W8NgYPEzm+8!nJ5u>x9qzRNJmav2q~7`b zDl!9Yp6NnEwnGSJ+a`u|Y}*{T6GjTP1%EDZ^)2yFbfH{bbmx>8M!m zq4R2yEzXiUkj^s*zJhtT#I`SITV=gKF?zbs%VzF3y*!;>jPmLA(rSrov@HCDwv^e~oKTS+lNq%O(kW(qHGu?dpMWi*)B0BtXthD*Q85)hi z#)X<*4T{q+RdF)bcLV8Z8~!3saFR-ee3e4JhDpZru|lRL3sLmX2Mo^mWr%T3^RY$c z8!;#WVseZ*Jnrqw(OQW~a7%ivyv)Mzl7&#dR-QMKG}bVEwKG3x%{p+~VbgflEXSPV z1mCyu{b6J{-$*O0|J%RY{0D!9Dqf!%0I)Q-V-S})(!$YRDV6o5Cd7|hWz4ZnmK-@Knr?n z5bWEE(s38e9R+h|s9p|qLRY0fp6bZFj0U3ayStKPsG1hLy4HD01r@S2ol2{Ur&dxG zTQjO*RKiznPZtvhWXL}%O9()gm>Nm%l8hQubIsr>%$c0Hpqv}#fu#6`v7$vXk@bE~ z8Ht`QM%;iE+tl};x)0tu)Zy-p@&s5ta)Qwxn;6xO)yJ5=#6(|QGF{^APwN2XOADpr zDQR)8%-fe(QtvI8o{~%}Xhw;J@@z>XQ@_NHash&(t;DqD*F)xF zN(KBdVVkn7f&x8jhHh5OdcnLm;Ho2b+nG{jYFVB7H^N&5*=D9Bba=t*@FtIC4EU9C zNh8sEmPr%D4+dx~A8c7ECnVUcnvVHe$Rb7}JqZaR=wEr%)n@pf9!{L)_a%RzPt(P|gs)lcz&-3jl zMBP59_Z`o$1TvK%1pIdUU<3M;HhxKA<9Jm;lZsW)b^}ccsRk)6GoY;i+DZ$}5xH?_ zj@u33ih5vy@Nh3sM-jG;YlXL|m8LQ;O=aEUmU{G+QN0~`y_)B*g9%sz6R;K@cpa#_ z-j?jB&8cBKrb4la&z8SR2WP^@RNFQYOitsgw!tSu6A<;^hwtAD9ZcX56pT_VmP9Tt z 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 literal 0 HcmV?d00001 diff --git a/Mage.Player.AI/manifest.mf b/Mage.Player.AI/manifest.mf new file mode 100644 index 0000000000..1574df4a2d --- /dev/null +++ b/Mage.Player.AI/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Mage.Player.AI/nbproject/build-impl.xml b/Mage.Player.AI/nbproject/build-impl.xml new file mode 100644 index 0000000000..36dc8b1c15 --- /dev/null +++ b/Mage.Player.AI/nbproject/build-impl.xml @@ -0,0 +1,704 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.src.dir + Must set test.test.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + diff --git a/Mage.Player.AI/nbproject/genfiles.properties b/Mage.Player.AI/nbproject/genfiles.properties new file mode 100644 index 0000000000..f63fcf5a31 --- /dev/null +++ b/Mage.Player.AI/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=3dcf0fdd +build.xml.script.CRC32=b5a10489 +build.xml.stylesheet.CRC32=958a1d3e@1.26.2.45 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=3dcf0fdd +nbproject/build-impl.xml.script.CRC32=8d227e35 +nbproject/build-impl.xml.stylesheet.CRC32=5c621a33@1.26.2.45 diff --git a/Mage.Player.AI/nbproject/private/private.properties b/Mage.Player.AI/nbproject/private/private.properties new file mode 100644 index 0000000000..54759a32a5 --- /dev/null +++ b/Mage.Player.AI/nbproject/private/private.properties @@ -0,0 +1,3 @@ +file.reference.Mage.AI-test=C:\\Projects\\Mage\\Mage.Player.AI\\test +jaxws.endorsed.dir=C:\\Program Files (x86)\\NetBeans 6.7.1\\java2\\modules\\ext\\jaxws21\\api:C:\\Program Files (x86)\\NetBeans 6.7.1\\ide11\\modules\\ext\\jaxb\\api +user.properties.file=C:\\Users\\Bill\\.netbeans\\6.7\\build.properties diff --git a/Mage.Player.AI/nbproject/private/private.xml b/Mage.Player.AI/nbproject/private/private.xml new file mode 100644 index 0000000000..cc2c0e57c4 --- /dev/null +++ b/Mage.Player.AI/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/Mage.Player.AI/nbproject/project.properties b/Mage.Player.AI/nbproject/project.properties new file mode 100644 index 0000000000..09fa0e1aca --- /dev/null +++ b/Mage.Player.AI/nbproject/project.properties @@ -0,0 +1,70 @@ +application.title=Mage.Player.AI +application.vendor=BetaSteward_at_googlemail.com +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Mage.Player.AI.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +file.reference.Mage.AI-src=src +file.reference.Mage.AI-test=test +includes=** +jar.compress=false +javac.classpath=\ + ${reference.Mage.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.source=1.6 +javac.target=1.6 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath}:\ + ${libs.junit_4.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +platform.active=default_platform +project.license=bsd +project.Mage=../Mage +reference.Mage.jar=${project.Mage}/dist/Mage.jar +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value +# or test-sys-prop.name=value to set system properties for unit tests): +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.src.dir=src +test.test.dir=test diff --git a/Mage.Player.AI/nbproject/project.xml b/Mage.Player.AI/nbproject/project.xml new file mode 100644 index 0000000000..7800336c1b --- /dev/null +++ b/Mage.Player.AI/nbproject/project.xml @@ -0,0 +1,25 @@ + + + org.netbeans.modules.java.j2seproject + + + Mage.Player.AI + + + + + + + + + + Mage + jar + + jar + clean + jar + + + + diff --git a/Mage.Player.AI/src/mage/player/ai/Attackers.java b/Mage.Player.AI/src/mage/player/ai/Attackers.java new file mode 100644 index 0000000000..51da223cc9 --- /dev/null +++ b/Mage.Player.AI/src/mage/player/ai/Attackers.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.player.ai; + +import java.util.ArrayList; +import java.util.List; +import java.util.TreeMap; +import mage.game.permanent.Permanent; + +/** + * + * @author BetaSteward_at_googlemail.com + */ +public class Attackers extends TreeMap> { + + public List getAttackers() { + List attackers = new ArrayList(); + for (List l: this.values()) { + for (Permanent permanent: l) { + attackers.add(permanent); + } + } + return attackers; + } + +} diff --git a/Mage.Player.AI/src/mage/player/ai/ComputerPlayer.java b/Mage.Player.AI/src/mage/player/ai/ComputerPlayer.java new file mode 100644 index 0000000000..cfc8dcdced --- /dev/null +++ b/Mage.Player.AI/src/mage/player/ai/ComputerPlayer.java @@ -0,0 +1,764 @@ +/* +* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, are +* permitted provided that the following conditions are met: +* +* 1. Redistributions of source code must retain the above copyright notice, this list of +* conditions and the following disclaimer. +* +* 2. Redistributions in binary form must reproduce the above copyright notice, this list +* of conditions and the following disclaimer in the documentation and/or other materials +* provided with the distribution. +* +* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED +* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR +* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* The views and conclusions contained in the software and documentation are those of the +* authors and should not be interpreted as representing official policies, either expressed +* or implied, of BetaSteward_at_googlemail.com. +*/ + +package mage.player.ai; + + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.TreeMap; +import java.util.UUID; +import java.util.logging.Logger; +import mage.Constants.CardType; +import mage.Constants.Outcome; +import mage.Constants.Zone; +import mage.Mana; +import mage.abilities.ActivatedAbility; +import mage.abilities.TriggeredAbilities; +import mage.abilities.TriggeredAbility; +import mage.abilities.costs.mana.ColoredManaCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.costs.mana.HybridManaCost; +import mage.abilities.costs.mana.ManaCost; +import mage.abilities.costs.mana.ManaCosts; +import mage.abilities.costs.mana.MonoHybridManaCost; +import mage.abilities.costs.mana.VariableManaCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.ReplacementEffect; +import mage.abilities.keyword.DoubleStrikeAbility; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.abilities.mana.ManaAbility; +import mage.abilities.mana.ManaOptions; +import mage.player.ai.simulators.CombatGroupSimulator; +import mage.player.ai.simulators.CombatSimulator; +import mage.player.ai.simulators.CreatureSimulator; +import mage.cards.Card; +import mage.cards.Cards; +import mage.choices.Choice; +import mage.filter.common.FilterCreatureForAttack; +import mage.filter.common.FilterCreatureForCombat; +import mage.filter.common.FilterLandCard; +import mage.filter.common.FilterNonlandCard; +import mage.game.Game; +import mage.game.GameState; +import mage.game.combat.CombatGroup; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.players.PlayerImpl; +import mage.target.Target; +import mage.target.TargetCard; +import mage.target.TargetPermanent; +import mage.target.TargetPlayer; +import mage.target.common.TargetDiscard; +import mage.util.Copier; +import mage.util.Logging; +import mage.util.TreeNode; + +/** + * + * only suitable for two player games + * + * @author BetaSteward_at_googlemail.com + */ +public class ComputerPlayer extends PlayerImpl implements Player { + + private final static Logger logger = Logging.getLogger(ComputerPlayer.class.getName()); + private boolean abort = false; + private Map unplayable = new TreeMap(); + private List playableNonInstant = new ArrayList(); + private List playableInstant = new ArrayList(); + private List playableAbilities = new ArrayList(); + + public ComputerPlayer(String name) { + super(name); + human = false; + } + + @Override + public boolean chooseMulligan(Game game) { + logger.fine("chooseMulligan"); + if (hand.size() < 6) + return false; + List lands = hand.getCards(new FilterLandCard()); + if (lands.size() < 2 || lands.size() > hand.size() - 2) + return true; + return false; + } + + @Override + public boolean chooseTarget(Outcome outcome, Target target, Game game) { + logger.fine("chooseTarget: " + outcome.toString() + ":" + target.toString()); + UUID opponentId = game.getOpponents(playerId).get(0); + if (target instanceof TargetPlayer) { + if (outcome.isGood()) { + if (target.canTarget(playerId, game)) { + target.addTarget(playerId, game); + return true; + } + } + else { + if (target.canTarget(playerId, game)) { + target.addTarget(opponentId, game); + return true; + } + } + } + if (target instanceof TargetDiscard) { + findPlayables(game); + if (unplayable.size() > 0) { + for (int i = unplayable.size() - 1; i >= 0; i--) { + if (target.canTarget(unplayable.values().toArray(new Card[0])[i].getId(), game)) { + target.addTarget(unplayable.values().toArray(new Card[0])[i].getId(), game); + return true; + } + } + } + if (hand.size() > 0) { + if (target.canTarget(hand.keySet().toArray(new UUID[0])[0], game)) { + target.addTarget(hand.keySet().toArray(new UUID[0])[0], game); + return true; + } + } + } + if (target instanceof TargetPermanent) { + List targets; + if (outcome.isGood()) { + targets = threats(playerId, (TargetPermanent) target, game); + } + else { + targets = threats(opponentId, (TargetPermanent) target, game); + } + for (Permanent permanent: targets) { + if (target.canTarget(permanent.getId(), game)) { + target.addTarget(permanent.getId(), game); + return true; + } + } + } + return false; + } + + @Override + public void priority(Game game) { + logger.fine("priority"); + if (game.getActivePlayerId().equals(playerId)) { + if (game.isMainPhase() && game.getStack().isEmpty()) { + playLand(game); + } + switch (game.getTurn().getStep()) { + case UPKEEP: + findPlayables(game); + break; + case DRAW: + logState(game); + case DECLARE_BLOCKERS: + playRemoval(game.getCombat().getAttackers(), game); + case PRECOMBAT_MAIN: + findPlayables(game); + if (playableAbilities.size() > 0) { + for (ActivatedAbility ability: playableAbilities) { + if (ability.canActivate(playerId, game)) { + if (ability.getEffects().hasOutcome(Outcome.PutLandInPlay)) { + if (this.activateAbility(ability, game)) + return; + } + } + } + } + break; + case POSTCOMBAT_MAIN: + findPlayables(game); + if (game.getStack().isEmpty()) { + if (playableNonInstant.size() > 0) { + for (Card card: playableNonInstant) { + if (card.getSpellAbility().canActivate(playerId, game)) { + if (this.activateAbility(card.getSpellAbility(), game)) + return; + } + } + } + if (playableAbilities.size() > 0) { + for (ActivatedAbility ability: playableAbilities) { + if (ability.canActivate(playerId, game)) { + if (this.activateAbility(ability, game)) + return; + } + } + } + } + break; + } + } + else { + //respond to opponent events + } + this.passed = true; + } + + private void playLand(Game game) { + logger.fine("playLand"); + List lands = hand.getCards(new FilterLandCard()); + while (lands.size() > 0 && this.landsPlayed < this.landsPerTurn) { + if (lands.size() == 1) + this.playLand(lands.get(0), game); + else { + playALand(lands, game); + } + } + } + + private void playALand(List lands, Game game) { + logger.fine("playALand"); + //play a land that will allow us to play an unplayable + for (Mana mana: unplayable.keySet()) { + for (Card card: lands) { + for (ManaAbility ability: card.getAbilities().getManaAbilities(Zone.BATTLEFIELD)) { + if (ability.getNetMana().enough(mana)) { + this.playLand(card, game); + lands.remove(card); + return; + } + } + } + } + //play a land that will get us closer to playing an unplayable + for (Mana mana: unplayable.keySet()) { + for (Card card: lands) { + for (ManaAbility ability: card.getAbilities().getManaAbilities(Zone.BATTLEFIELD)) { + if (mana.contains(ability.getNetMana())) { + this.playLand(card, game); + lands.remove(card); + return; + } + } + } + } + //play first available land + this.playLand(lands.get(0), game); + lands.remove(0); + } + + private void findPlayables(Game game) { + playableInstant.clear(); + playableNonInstant.clear(); + unplayable.clear(); + playableAbilities.clear(); + List nonLands = hand.getCards(new FilterNonlandCard()); + ManaOptions available = getManaAvailable(game); + available.addMana(manaPool.getMana()); + + for (Card card: nonLands) { + ManaOptions options = card.getManaCost().getOptions(); + if (card.getManaCost().getVariableCosts().size() > 0) { + //don't use variable mana costs unless there is at least 3 extra mana for X + for (Mana option: options) { + option.add(Mana.ColorlessMana(3)); + } + } + for (Mana mana: options) { + for (Mana avail: available) { + if (mana.enough(avail)) { + if (card.getCardType().contains(CardType.INSTANT)) + playableInstant.add(card); + else + playableNonInstant.add(card); + } + else { + if (!playableInstant.contains(card) && !playableNonInstant.contains(card)) + unplayable.put(mana.needed(avail), card); + } + } + } + } + for (Permanent permanent: game.getBattlefield().getActivePermanents(playerId)) { + for (ActivatedAbility ability: permanent.getAbilities().getActivatedAbilities(Zone.BATTLEFIELD)) { + if (!(ability instanceof ManaAbility) && ability.canActivate(playerId, game)) { + ManaOptions abilityOptions = ability.getManaCosts().getOptions(); + if (ability.getManaCosts().getVariableCosts().size() > 0) { + //don't use variable mana costs unless there is at least 3 extra mana for X + for (Mana option: abilityOptions) { + option.add(Mana.ColorlessMana(3)); + } + } + if (abilityOptions.size() == 0) { + playableAbilities.add(ability); + } + else { + for (Mana mana: abilityOptions) { + for (Mana avail: available) { + if (mana.enough(avail)) { + playableAbilities.add(ability); + } + } + } + } + } + } + } + logger.fine("findPlayables: " + playableInstant.toString() + "---" + playableNonInstant.toString() + "---" + playableAbilities.toString() ); + } + + protected ManaOptions getManaAvailable(Game game) { + logger.fine("getManaAvailable"); + List manaPerms = this.getAvailableManaProducers(game); + + ManaOptions available = new ManaOptions(); + for (Permanent perm: manaPerms) { + available.addMana(perm.getAbilities().getManaAbilities(Zone.BATTLEFIELD)); + } + return available; + } + + @Override + public boolean playMana(ManaCost unpaid, Game game) { + logger.fine("playMana"); + ManaCost cost; + List producers; + if (unpaid instanceof ManaCosts) { + cost = ((ManaCosts)unpaid).get(0); + producers = getSortedProducers((ManaCosts)unpaid, game); + } + else { + cost = unpaid; + producers = this.getAvailableManaProducers(game); + } + for (Permanent perm: producers) { + // pay all colored costs first + for (ManaAbility ability: perm.getAbilities().getManaAbilities(Zone.BATTLEFIELD)) { + if (cost instanceof ColoredManaCost) { + if (cost.testPay(ability.getNetMana())) { + if (activateAbility(ability, game)) + return true; + } + } + } + // then pay hybrid + for (ManaAbility ability: perm.getAbilities().getManaAbilities(Zone.BATTLEFIELD)) { + if (cost instanceof HybridManaCost) { + if (cost.testPay(ability.getNetMana())) { + if (activateAbility(ability, game)) + return true; + } + } + } + // then pay mono hybrid + for (ManaAbility ability: perm.getAbilities().getManaAbilities(Zone.BATTLEFIELD)) { + if (cost instanceof MonoHybridManaCost) { + if (cost.testPay(ability.getNetMana())) { + if (activateAbility(ability, game)) + return true; + } + } + } + // finally pay generic + for (ManaAbility ability: perm.getAbilities().getManaAbilities(Zone.BATTLEFIELD)) { + if (cost instanceof GenericManaCost) { + if (cost.testPay(ability.getNetMana())) { + if (activateAbility(ability, game)) + return true; + } + } + } + } + return false; + } + + private List getSortedProducers(ManaCosts unpaid, Game game) { + List unsorted = this.getAvailableManaProducers(game); + Map scored = new HashMap(); + for (Permanent permanent: unsorted) { + int score = 0; + for (ManaCost cost: unpaid) { + for (ManaAbility ability: permanent.getAbilities().getManaAbilities(Zone.BATTLEFIELD)) { + if (cost.testPay(ability.getNetMana())) { + score++; + break; + } + } + } + scored.put(permanent, score); + } + return sortByValue(scored); + } + + private List sortByValue(Map map) { + List> list = new LinkedList>(map.entrySet()); + Collections.sort(list, new Comparator>() { + @Override + public int compare(Entry o1, Entry o2) { + return (o1.getValue().compareTo(o2.getValue())); + } + }); + List result = new ArrayList(); + for (Iterator it = list.iterator(); it.hasNext();) { + Entry entry = (Entry)it.next(); + result.add(entry.getKey()); + } + return result; + } + + @Override + public boolean playXMana(VariableManaCost cost, Game game) { + logger.fine("playXMana"); + //put everything into X + for (Permanent perm: this.getAvailableManaProducers(game)) { + for (ManaAbility ability: perm.getAbilities().getManaAbilities(Zone.BATTLEFIELD)) { + if (activateAbility(ability, game)) + return true; + } + } + cost.setPaid(); + return true; + } + + @Override + public void abort() { + abort = true; + } + + @Override + public boolean chooseUse(Outcome outcome, String message, Game game) { + logger.fine("chooseUse"); + //TODO: improve this + return outcome.isGood(); + } + + @Override + public boolean choose(Outcome outcome, Choice choice, Game game) { + logger.fine("choose"); + //TODO: improve this + choice.setChoice(choice.getChoices().get(0)); + return true; + } + + @Override + public boolean searchCards(Cards cards, TargetCard target, Game game) { + logger.fine("searchCards"); + //TODO: improve ths + //return first match + for (Card card: cards.getCards(target.getFilter())) { + target.addTarget(card.getId(), game); + return true; + } + return false; + } + + @Override + public void selectAttackers(Game game) { + logger.fine("selectAttackers"); + UUID opponentId = game.getOpponents(playerId).get(0); + Attackers attackers = getAvailableAttackers(game); + List blockers = getOpponentBlockers(opponentId, game); + List actualAttackers = new ArrayList(); + if (blockers.isEmpty()) { + actualAttackers = attackers.getAttackers(); + } + else if (attackers.size() - blockers.size() >= game.getPlayer(opponentId).getLife()) { + actualAttackers = attackers.getAttackers(); + } + else { + CombatSimulator combat = simulateAttack(attackers, blockers, opponentId, game); + if (combat.rating > 2) { + for (CombatGroupSimulator group: combat.groups) { + this.declareAttacker(group.attackers.get(0).id, group.defenderId, game); + } + } + } + for (Permanent attacker: actualAttackers) { + this.declareAttacker(attacker.getId(), opponentId, game); + } + return; + } + + @Override + public void selectBlockers(Game game) { + logger.fine("selectBlockers"); + + List blockers = getAvailableBlockers(game); + + CombatSimulator sim = simulateBlock(CombatSimulator.load(game), blockers, game); + + List groups = game.getCombat().getGroups(); + for (int i = 0; i< groups.size(); i++) { + for (CreatureSimulator creature: sim.groups.get(i).blockers) { + groups.get(i).addBlocker(creature.id, playerId, game); + } + } + } + + @Override + public int chooseEffect(List rEffects, Game game) { + logger.fine("chooseEffect"); + //TODO: implement this + return 0; + } + + @Override + public TriggeredAbility chooseTriggeredAbility(TriggeredAbilities abilities, Game game) { + logger.fine("chooseTriggeredAbility"); + //TODO: improve this + if (abilities.size() > 0) + return abilities.get(0); + return null; + } + + @Override + public void assignDamage(int damage, List targets, UUID sourceId, Game game) { + logger.fine("assignDamage"); + //TODO: improve this + game.getPermanent(targets.get(0)).damage(damage, sourceId, game); + } + + @Override + public int getAmount(int min, int max, String message, Game game) { + logger.fine("getAmount"); + //TODO: improve this + return min; + } + + protected List getAvailableManaProducers(Game game) { + logger.fine("getAvailableManaProducers"); + List result = new ArrayList(); + for (Permanent permanent: game.getBattlefield().getActivePermanents(playerId)) { + for (ManaAbility ability: permanent.getAbilities().getManaAbilities(Zone.BATTLEFIELD)) { + if (ability.canActivate(playerId, game)) { + result.add(permanent); + break; + } + } + } + return result; + } + + protected Attackers getAvailableAttackers(Game game) { + logger.fine("getAvailableAttackers"); + FilterCreatureForAttack attackFilter = new FilterCreatureForAttack(); + attackFilter.getControllerId().add(playerId); + Attackers attackers = new Attackers(); + List creatures = game.getBattlefield().getActivePermanents(attackFilter); + for (Permanent creature: creatures) { + int potential = combatPotential(creature, game); + if (potential > 0) { + List l = attackers.get(potential); + if (l == null) + attackers.put(potential, l = new ArrayList()); + l.add(creature); + } + } + return attackers; + } + + protected int combatPotential(Permanent creature, Game game) { + logger.fine("combatPotential"); + if (!creature.canAttack(game)) + return 0; + int potential = creature.getPower().getValue(); + potential += creature.getAbilities().getEvasionAbilities().size(); + potential += creature.getAbilities().getProtectionAbilities().size(); + potential += creature.getAbilities().containsKey(FirstStrikeAbility.getInstance().getId())?1:0; + potential += creature.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId())?2:0; + potential += creature.getAbilities().containsKey(TrampleAbility.getInstance().getId())?1:0; + return potential; + } + + protected List getAvailableBlockers(Game game) { + logger.fine("getAvailableBlockers"); + FilterCreatureForCombat blockFilter = new FilterCreatureForCombat(); + blockFilter.getControllerId().add(playerId); + List blockers = game.getBattlefield().getActivePermanents(blockFilter); + return blockers; + } + + protected List getOpponentBlockers(UUID opponentId, Game game) { + logger.fine("getOpponentBlockers"); + FilterCreatureForCombat blockFilter = new FilterCreatureForCombat(); + blockFilter.getControllerId().add(opponentId); + List blockers = game.getBattlefield().getActivePermanents(blockFilter); + return blockers; + } + + protected CombatSimulator simulateAttack(Attackers attackers, List blockers, UUID opponentId, Game game) { + logger.fine("simulateAttack"); + List attackersList = attackers.getAttackers(); + CombatSimulator best = new CombatSimulator(); + int bestResult = 0; + //use binary digits to calculate powerset of attackers + int powerElements = (int) Math.pow(2, attackersList.size()); + for (int i = 1; i < powerElements; i++) { + String binary = Integer.toBinaryString(i); + while(binary.length() < attackersList.size()) { + binary = "0" + binary; + } + List trialAttackers = new ArrayList(); + for (int j = 0; j < attackersList.size(); j++) { + if (binary.charAt(j) == '1') + trialAttackers.add(attackersList.get(j)); + } + CombatSimulator combat = new CombatSimulator(); + for (Permanent permanent: trialAttackers) { + combat.groups.add(new CombatGroupSimulator(opponentId, Arrays.asList(permanent.getId()), new ArrayList(), game)); + } + CombatSimulator test = simulateBlock(combat, blockers, game); + if (test.evaluate() > bestResult) { + best = test; + bestResult = test.evaluate(); + } + } + + return best; + } + + protected CombatSimulator simulateBlock(CombatSimulator combat, List blockers, Game game) { + logger.fine("simulateBlock"); + + TreeNode simulations; + + simulations = new TreeNode(combat); + addBlockSimulations(blockers, simulations, game); + combat.simulate(); + + return getWorstSimulation(simulations); + + } + + protected void addBlockSimulations(List blockers, TreeNode node, Game game) { + int numGroups = node.getData().groups.size(); + Copier copier = new Copier(); + for (Permanent blocker: blockers) { + List subList = remove(blockers, blocker); + for (int i = 0; i < numGroups; i++) { + if (node.getData().groups.get(i).canBlock(blocker, game)) { + CombatSimulator combat = copier.copy(node.getData()); + combat.groups.get(i).blockers.add(new CreatureSimulator(blocker)); + TreeNode child = new TreeNode(combat); + node.addChild(child); + addBlockSimulations(subList, child, game); + combat.simulate(); + } + } + } + } + + protected List remove(List source, Permanent element) { + List newList = new ArrayList(); + for (Permanent permanent: source) { + if (!permanent.equals(element)) { + newList.add(permanent); + } + } + return newList; + } + + protected CombatSimulator getBestSimulation(TreeNode simulations) { + CombatSimulator best = simulations.getData(); + int bestResult = best.evaluate(); + for (TreeNode node: simulations.getChildren()) { + CombatSimulator bestSub = getBestSimulation(node); + if (bestSub.evaluate() > bestResult) { + best = node.getData(); + bestResult = best.evaluate(); + } + } + return best; + } + + protected CombatSimulator getWorstSimulation(TreeNode simulations) { + CombatSimulator worst = simulations.getData(); + int worstResult = worst.evaluate(); + for (TreeNode node: simulations.getChildren()) { + CombatSimulator worstSub = getWorstSimulation(node); + if (worstSub.evaluate() < worstResult) { + worst = node.getData(); + worstResult = worst.evaluate(); + } + } + return worst; + } + + protected List threats(UUID playerId, TargetPermanent target, Game game) { + List threats = game.getBattlefield().getActivePermanents(target.getFilter()); + Iterator it = threats.iterator(); + while(it.hasNext()) { + Permanent permanent = it.next(); + if (!permanent.getControllerId().equals(playerId)) { + it.remove(); + } + } + + Collections.sort(threats, new PermanentComparator(game)); + return threats; + } + + private void logState(Game game) { + StringBuilder sb = new StringBuilder(); + sb.append("computer player hand: "); + for (Card card: hand.values()) { + sb.append(card.getName()).append(","); + } + logger.fine(sb.toString()); + } + + private void playRemoval(List attackers, Game game) { + for (UUID attackerId: attackers) { + for (Card card: this.playableInstant) { + if (card.getSpellAbility().canActivate(playerId, game)) { + for (Effect effect: card.getSpellAbility().getEffects()) { + if (effect.getOutcome().equals(Outcome.DestroyPermanent) || effect.getOutcome().equals(Outcome.Damage)) { + if (card.getSpellAbility().getTargets().get(0).canTarget(attackerId, game)) { + + } + } + } + } + } + } + } + + protected int evaluateState(GameState state, Game game) { + int value = life; + Player opponent = game.getPlayer(game.getOpponents(playerId).get(0)); + if (opponent.getLife() <= 0) + return Integer.MAX_VALUE; + value -= opponent.getLife(); + for (Permanent permanent: state.getBattlefield().getAllPermanents()) { + + } + return value; + } + +} + diff --git a/Mage.Player.AI/src/mage/player/ai/PermanentComparator.java b/Mage.Player.AI/src/mage/player/ai/PermanentComparator.java new file mode 100644 index 0000000000..f052f0f54d --- /dev/null +++ b/Mage.Player.AI/src/mage/player/ai/PermanentComparator.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.player.ai; + +import java.util.Comparator; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author BetaSteward_at_googlemail.com + */ +public class PermanentComparator implements Comparator { + + private Game game; + private PermanentEvaluator evaluator = new PermanentEvaluator(); + + public PermanentComparator(Game game) { + this.game = game; + } + + public int compare(Permanent o1, Permanent o2) { + return evaluator.evaluate(o1, game) - evaluator.evaluate(o2, game); + } + +} diff --git a/Mage.Player.AI/src/mage/player/ai/PermanentEvaluator.java b/Mage.Player.AI/src/mage/player/ai/PermanentEvaluator.java new file mode 100644 index 0000000000..13065110d4 --- /dev/null +++ b/Mage.Player.AI/src/mage/player/ai/PermanentEvaluator.java @@ -0,0 +1,71 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.player.ai; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Zone; +import mage.abilities.keyword.DoubleStrikeAbility; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author BetaSteward_at_googlemail.com + */ +public class PermanentEvaluator { + + private Map values = new HashMap(); + + public int evaluate(Permanent permanent, Game game) { + if (!values.containsKey(permanent.getId())) { + int value = 0; + if (permanent.getCardType().contains(CardType.CREATURE)) { + if (permanent.canAttack(game)) + value += 2; + value += permanent.getPower().getValue(); + value += permanent.getToughness().getValue(); + value += permanent.getAbilities().getEvasionAbilities().size(); + value += permanent.getAbilities().getProtectionAbilities().size(); + value += permanent.getAbilities().containsKey(FirstStrikeAbility.getInstance().getId())?1:0; + value += permanent.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId())?2:0; + value += permanent.getAbilities().containsKey(TrampleAbility.getInstance().getId())?1:0; + } + value += permanent.getAbilities().getManaAbilities(Zone.BATTLEFIELD).size(); + value += permanent.getAbilities().getActivatedAbilities(Zone.BATTLEFIELD).size(); + values.put(permanent.getId(), value); + } + return values.get(permanent.getId()); + } + +} diff --git a/Mage.Player.AI/src/mage/player/ai/simulators/CombatGroupSimulator.java b/Mage.Player.AI/src/mage/player/ai/simulators/CombatGroupSimulator.java new file mode 100644 index 0000000000..fbba88fab3 --- /dev/null +++ b/Mage.Player.AI/src/mage/player/ai/simulators/CombatGroupSimulator.java @@ -0,0 +1,175 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.player.ai.simulators; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author BetaSteward_at_googlemail.com + */ +public class CombatGroupSimulator implements Serializable { + public List attackers = new ArrayList(); + public List blockers = new ArrayList(); + public UUID defenderId; + public boolean defenderIsPlaneswalker; + public int unblockedDamage; + private CreatureSimulator attacker; + + public CombatGroupSimulator(UUID defenderId, List attackers, List blockers, Game game) { + this.defenderId = defenderId; + for (UUID attackerId: attackers) { + Permanent permanent = game.getPermanent(attackerId); + this.attackers.add(new CreatureSimulator(permanent)); + } + for (UUID blockerId: blockers) { + Permanent permanent = game.getPermanent(blockerId); + this.blockers.add(new CreatureSimulator(permanent)); + } + //NOTE: assumes no banding + attacker = this.attackers.get(0); + } + + private boolean hasFirstOrDoubleStrike() { + for (CreatureSimulator creature: attackers) { + if (creature.hasDoubleStrike || creature.hasFirstStrike) + return true; + } + for (CreatureSimulator creature: blockers) { + if (creature.hasDoubleStrike || creature.hasFirstStrike) + return true; + } + return false; + } + + public boolean canBlock(Permanent blocker, Game game) { + return blocker.canBlock(attacker.id, game); + } + + public void simulateCombat() { + unblockedDamage = 0; + + if (hasFirstOrDoubleStrike()) + assignDamage(true); + assignDamage(false); + } + + private void assignDamage(boolean first) { + if (blockers.size() == 0) { + if (canDamage(attacker, first)) + unblockedDamage += attacker.power; + } + else if (blockers.size() == 1) { + CreatureSimulator blocker = blockers.get(0); + if (canDamage(attacker, first)) { + if (attacker.hasTrample) { + int lethalDamage = blocker.getLethalDamage(); + if (attacker.power > lethalDamage) { + blocker.damage += lethalDamage; + unblockedDamage += attacker.power - lethalDamage; + } + else { + blocker.damage += attacker.power; + } + } + } + if (canDamage(blocker, first)) { + attacker.damage += blocker.power; + } + } + else { + int damage = attacker.power; + for (CreatureSimulator blocker: blockers) { + if (damage > 0 && canDamage(attacker, first)) { + int lethalDamage = blocker.getLethalDamage(); + if (damage > lethalDamage) { + blocker.damage += lethalDamage; + damage -= lethalDamage; + } + else { + blocker.damage += damage; + damage = 0; + } + } + if (canDamage(blocker, first)) { + attacker.damage += blocker.power; + } + } + if (damage > 0) { + if (attacker.hasTrample) { + unblockedDamage += damage; + } + else { + blockers.get(0).damage += damage; + } + } + } + } + + private boolean canDamage(CreatureSimulator creature, boolean first) { + if (first && (creature.hasFirstStrike || creature.hasDoubleStrike)) + return true; + if (!first && (!creature.hasFirstStrike || creature.hasDoubleStrike)) + return true; + return false; + } + + /** + * returns 3 attacker survives blockers destroyed + * returns 2 both destroyed + * returns 1 both survive + * returns 0 attacker destroyed blockers survive + * + * @return int + */ + public int evaluateCombat() { + int survivingBlockers = 0; + for (CreatureSimulator blocker: blockers) { + if (blocker.damage < blocker.toughness) + survivingBlockers++; + } + if (attacker.isDead()) { + if (survivingBlockers > 0) { + return 0; + } + return 2; + } + else { + if (survivingBlockers > 0) { + return 1; + } + return 3; + } + } +} diff --git a/Mage.Player.AI/src/mage/player/ai/simulators/CombatSimulator.java b/Mage.Player.AI/src/mage/player/ai/simulators/CombatSimulator.java new file mode 100644 index 0000000000..5dc07676f6 --- /dev/null +++ b/Mage.Player.AI/src/mage/player/ai/simulators/CombatSimulator.java @@ -0,0 +1,116 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.player.ai.simulators; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.UUID; +import mage.game.Game; +import mage.game.combat.CombatGroup; +import mage.game.permanent.Permanent; +import mage.players.Player; + +/** + * + * @author BetaSteward_at_googlemail.com + */ +public class CombatSimulator implements Serializable { + + public List groups = new ArrayList(); + public List defenders = new ArrayList(); + public Map playersLife = new HashMap(); + public Map planeswalkerLoyalty = new HashMap(); + public UUID attackerId; + public int rating = 0; + + public static CombatSimulator load(Game game) { + CombatSimulator simCombat = new CombatSimulator(); + for (CombatGroup group: game.getCombat().getGroups()) { + simCombat.groups.add(new CombatGroupSimulator(group.getDefenderId(), group.getAttackers(), group.getBlockers(), game)); + } + for (UUID defenderId: game.getCombat().getDefenders()) { + simCombat.defenders.add(defenderId); + Player player = game.getPlayer(defenderId); + if (player != null) { + simCombat.playersLife.put(defenderId, player.getLife()); + } + else { + Permanent permanent = game.getPermanent(defenderId); + simCombat.planeswalkerLoyalty.put(defenderId, permanent.getLoyalty().getValue()); + } + } + return simCombat; + } + + public CombatSimulator() {} + + public void clear() { + groups.clear(); + defenders.clear(); + attackerId = null; + } + + public void simulate() { + for (CombatGroupSimulator group: groups) { + group.simulateCombat(); + } + } + + public int evaluate() { + Map damage = new HashMap(); + int result = 0; + for (CombatGroupSimulator group: groups) { + if (!damage.containsKey(group.defenderId)) { + damage.put(group.defenderId, group.unblockedDamage); + } + else { + damage.put(group.defenderId, damage.get(group.defenderId) + group.unblockedDamage); + } + } + //check for lethal damage to player + for (Entry entry: playersLife.entrySet()) { + if (damage.containsKey(entry.getKey()) && entry.getValue() <= damage.get(entry.getKey())) { + //TODO: check for protection + //NOTE: not applicable for mulitplayer games + return Integer.MAX_VALUE; + } + } + + for (CombatGroupSimulator group: groups) { + result += group.evaluateCombat(); + } + + rating = result; + return result; + } +} diff --git a/Mage.Player.AI/src/mage/player/ai/simulators/CreatureSimulator.java b/Mage.Player.AI/src/mage/player/ai/simulators/CreatureSimulator.java new file mode 100644 index 0000000000..7e5944aaa6 --- /dev/null +++ b/Mage.Player.AI/src/mage/player/ai/simulators/CreatureSimulator.java @@ -0,0 +1,68 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.player.ai.simulators; + +import java.io.Serializable; +import java.util.UUID; +import mage.abilities.keyword.DoubleStrikeAbility; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.game.permanent.Permanent; + +/** + * + * @author BetaSteward_at_googlemail.com + */ +public class CreatureSimulator implements Serializable { + public UUID id; + public int damage; + public int power; + public int toughness; + public boolean hasFirstStrike; + public boolean hasDoubleStrike; + public boolean hasTrample; + + public CreatureSimulator(Permanent permanent) { + this.id = permanent.getId(); + this.damage = permanent.getDamage(); + this.power = permanent.getPower().getValue(); + this.toughness = permanent.getToughness().getValue(); + this.hasDoubleStrike = permanent.getAbilities().containsKey(DoubleStrikeAbility.getInstance().getId()); + this.hasFirstStrike = permanent.getAbilities().containsKey(FirstStrikeAbility.getInstance().getId()); + this.hasTrample = permanent.getAbilities().containsKey(TrampleAbility.getInstance().getId()); + } + + public boolean isDead() { + return damage >= toughness; + } + + public int getLethalDamage() { + return toughness - damage; + } +}