From e3c22c98e03ecd7a5314e67b89387fabc6868ac4 Mon Sep 17 00:00:00 2001 From: garbagemule Date: Sat, 3 Mar 2012 10:48:47 +0100 Subject: [PATCH] Fixed disable command. Minor code cleanup. --- MobArena.jar | Bin 317122 -> 317463 bytes src/com/garbagemule/MobArena/ArenaImpl.java | 12 ++-- .../garbagemule/MobArena/ArenaMasterImpl.java | 17 +++-- src/com/garbagemule/MobArena/Msg.java | 4 +- .../MobArena/commands/Commands.java | 68 +++++++++++++++--- .../commands/admin/DisableCommand.java | 2 +- .../MobArena/commands/user/JoinCommand.java | 44 +++--------- .../MobArena/commands/user/SpecCommand.java | 42 +++-------- .../MobArena/framework/ArenaMaster.java | 5 ++ .../garbagemule/MobArena/util/TextUtils.java | 30 ++++++++ 10 files changed, 132 insertions(+), 92 deletions(-) diff --git a/MobArena.jar b/MobArena.jar index e89d8c61baf6ab87df82e999805c213bf29d9b0b..d63c69769e8a78dc41a1551260fbc10f2fedb2eb 100644 GIT binary patch delta 44329 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%0Ai7azGd+wh& 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 delta 43467 zcmZ7db95lj^9GD=Y;A1Ywz;uw+um#@+1R#i+qSi_jg8H_pWpY~bMO29(@$4dS9PC0 zQ)i~D=1HkV?XNQ{XU}q+I_lzZ2}4i`+pz> zBJdwfgRmuZf*}8|EA}5GL(rxm7l0!s$brKCCue}srVy5ZLnTD~PuBh?3zUMxCQSbS z^tq+~^sr$6Hy;B`^Zf^_U_$=^E;#Rhpb5_NKcG#?Z3Tz;f9yM97F_s0 zry)gG>njpPURK`roYCf5VDn;PC%%7ylfGfg{5H?>M0U z9Y=!^q%G(_i-sBKBJlsv9f1ttKg`5g0z(XuG7$=BeAu)B{q_w2PsptzYbYS_2mQZs zL|gcX4bE@hhQbpFAqZ1qqroA7A9jwm3?{ZlE-qcapnO!-9zk}&m6S!s^SWv$AUb5ge_{Js zJ-mJA7ttd_4=g-yvwwC&&A)Wme}eFT?H&=%-;pA;#%K0GTp=9I>^yUa%$^hDnCzp0Jcm z*>arfqDmc|C>}r_UA%`ShbM!dy#E-w&tjNxJ%0{c&aPNB2S(p7*_5POnQzQ)UwOT+ zAI`2?DTgVSze);9QW}PVr0eh5i_XRD%bOjJi~y@r1N~rKwCrYImz|AUx*{c&CDepk z#uXNxz-m~fSsbRq=a|8j1ltt9P|B4R&T9F^Q53;Cqy+^2U0rlXH2TS)bl2%hHuPfe z1Tyy_64NTBD+{eF0<9~p$5_D4Skg?Zh&-5dze^*h``158(RxGhr&5d+Pn?95JnW8^Q)_rS2s<8{&)}Do#jlttnDK z4#nk+AFw@Q&bFqEjenn_i!+ zze`N>(;w?B27Ax!2G;4YBKeZ0=C!+fl-^oG z0NYoZ#DoEueeXp)XYjlzPyvJdH5?+z-Q=;k z))JN+WC?sGwdlMxm{GZUzi<(4d6e5Ey2sJF`au1WIhO(vom%>kNq@R~mCgr&JvRdAPJ6j76#$;!P~&Q^mW7_dFx?N>d0)z}-pF z@9wFRwSSSbSs$LgWVv`CBKN0og4C2A-7Q_WaBK*EUOQb|;{^;pSc3yRLq^?8l(w_N zXR1oBJHC7;d_IY7{)8e8OVL+Z5 zIj#0`^@F5zvNEo(YsjxS=tnqKAa(IUwh9GM`60?wJKs}YD9eB5gMb1s`607i)aH+c zpw^l_|M?CpagF;&q{{!Bh{SxK_;$nG^@HO5vT5zUE~rx3K&%n?Tls@R#e%kISfG+@gj5sxM7~S>YSwG(9ffnsPm6SLzvc&Ap@glyYV;``qm&E z6tFMaou9KPRo&{QVI=EfRE-E##A39{%BZ(cqFfV|#fAggx*=y#0YD7D-{peJ7)72? z`8O>dZMBu6Dk5Yle`e}twFhdYgw+%=AxBe#^-*cSu&SnRo{&O5?f7|DP()>9NV4@c?gnY}tF!?Rnz ze?iEo`1_QADw4kL?r=V>`+yGXkLX(}64FC|Cd#49HO5cJG(+T71 zVc6cs(L6%=ELBa>`s9g|L5O z2!XSeg~#w*>w@l-5ke}-s|xAA_K?DjTi!%#YM*{)@J@eV8`t4OQ0gBEmZ+>s?5b<~rDN2xN-6$m zWmF__^tpyiwB%v!=!v;ULZuC|ob^oPBjh~sfW3oBfwu`0QBOs5AeT;Gu7L)AqUai) z?(w=H)kaj~(v~B_X|%As4WkCqQrt_XR^Nq)u#1Vwq{7fO$51m@N3*q6E5bgaYp(FU zHY*L|k0H5eCoe|4EG!(>)NTXX43^qyWvZc}Kh!UL%YTW{u)vl z12lq{g#PXW!%?M-qJ!a&YGTX1YB9CKEj*wVVpu^qn@I(U1#6b_s`LCrhyD^^ z;Q2>zmY@%z7G_L~J1VnDQIhV+D9TK~_W3)a=mi!ucyKJ#1CY~`;E4#oW$mNYUzGk0 z9fKH$;1STX92ncw(TWNZPn0OhmBneL1{UUmYQ@nJ7}ghT@7yQzO1nm>it)l_xDJG3 zRhbGj_3h-?*N>wr1%wo>WziPtOA+(o)cdl>-74>D?!?vXqT>-C=%tO&J}GQa#}Yp& zGo(Jteuqob%Vvw!TABT>XX~RIVl>@*=gNmb5M~_?Ly3nN(0z2e4XOQ7wh%n+0jABY z_I%~=D#At-@v&b!D5PX)4BEbD!H)C1szwRx>&}b2(bPSu`Ln>pIa7zOc()og)zl^Z z&S%mN^mP|ZeRn7lqYZWM%IYRk!ub_S*>)Ib7y-c{IhDU><65Lv8>OeMgEJS!ptFg? zRD5Qgp^G4q(rQ|R!y%UdHkUQh28eX0g85quH6>!VA>EtR86Q-<2Kngy8dpzL6~cg! z)1aT&GH24(y`Zo=T$>##HBq_2GPMQ2X*(O*smQHs7uuy$URY5%o zwZPR}EN3eWlZlqYh(ubTx{z~SPN*fZ->wK_*-&0zGv*crpVApM63o5Nr(i|SCFULb zMjq8NsBNUuo!7T)eD?SeEI5}bR%xcr6xu-1%;P1-V-kebboUT{PBchRi{3pm)k_X`{3%hUkvdGOI(V_->e_u&nljbezNtEE zt&Z8;px3PnmL>B7q^k{0n^;W7a^|Wc!4ZmQpWo7T<$vS`LmF`L8E>>Y!Jj>*45+;f zf+2`L2Rqey4KMJiv~$OZk}$$rfcB+r$#Lo7>3N?0t~xQDxk=z2Z-k62y5u=GU3YUQ z?vS!ruC;M{gc87AWr4KH=Iq27lCx;3&zNNxw$$4U2Mx#of_diW2jLN=6UVixK8q#R zN_Hj1odhUqI-A{%{?76>t?-$4@D(}VN}S(vh2hZsbk#SR#hiu%C-v$^XbsKd`6BHh zj7y+(br+$sy&CcvlT@ik`T6B zEK;amTrIi)ShDowhtO4Z#~4J_pA|%vKs%)^mg~-y=G!rUon1gSqYw0f$yb~>H{CA; z+PF5S+0Cs+H6FuE`te9xv^4O#x>KTiC^>PWKPfsfc8Dg(xVEWtSk-GCBi*@YZI0N_ zuY!SBagbw0Nq?%E~~WTo5)%)ac zq?Ldh4(H6Tz8Uwj2He84U zkH8L)H-_rw70;K}*Lq3FXSCr*MmfkFPq6;sRA}V-Nb(Z~-ypIy0-w-IpF#ogAOHC_4j-YBn<|U%N6CN&mX5{47d4tC*sPp@N z2$<~6$t{gn6GhG3VUu$MMa#)8k5?CigOJ}lxPVTI&S6q}XPhU_S>+vsiee=kGQ_H`iLA; z8nL=>7EMqds@SfF9uxfSKFP^F0V*#>8gW@&X`(3S9MfvZylDac z+Ee2(G9EdHC~zxEs=t1bBvR2OpW<7^6PyPb?LHCE4;)?Hq+j8e($<*jDOdS}`JK!+xM$ATJQ(zu%R8 zizaGbOw!*i_!tna2=#nPdzKCXk6VNGcm2=Uae~1t4wTm~^Vp_&LRiW0F-Y_ZTO_M7 zLN|gPVZBc>;LibL`vxtrw5oFPRF;`}P=VS09<^OFX2$ad^`>~t7;C+D47xd_tLp)i zvZ%*E)!2sz&bSbop7#@^?5rNZulR8dEm@#Z z)4>v^b19zY{!kd!pu5^m8zNZT;T^Z;S~K*3_Quh8QoS`QTP;xC%_ErQdCt=IZ?*2!l7R;T(Z_OAm9wjm>$1>q{!w;K4}@LzR_d@9^v$FZe{~*J4+Iy4kySm? z{7qYd25HMGMRl)AFFjkJ@)GA1CkT$2jLv~A0Hokf{pZ+^X_a5Mw%8cpf;f6+zKDVv z9)|^6j!{nNC)Fa#Q9)3#iF115)qACjLzH^1%bHu$esbbj2Q20yYkiWPB<< z5YTe)6W^<hYkstMZ;H~G!RnT`Shv`*V3Zw*b9yR@@_Hfd#b*~z!S0s4 zb1P^E**;~Xo@@?AXUtHVIr5dHGz47`ylN;K zl5-}qu_y`P#Z79j05jevbu?FU!>gqL&a#kANydZnZ$O_!rmH8ZSsz6@)ztd@UcrGv z-F{Ox!#woD_gmp+zL!e0AMy5^8l*&9V4&Z-(v}`l!H<~ap-zMS<9sAO-883Iq#e*p zdIw=>4%zlE)$kIxmzt2b0go3(r$>gE&`LNQHT`g);FOO^T%I1JlG$9FhV+8#xA50{ zcq^F|8*Q$mw);0zej;Cz9WQF#<{>UJTbXAGRt|dj>DMnO>;_uwhQk$`Ps+wRCiM^v z*QoJ(t75KNZx1m*o8~XBn!yzNmSU>=_JRnybsku9wOhnTzjkumXUms)p+)1^>#EeU zQ#UA}Mqp{j@sv{TGFubI@NUS9F-$FX=7#ELZXkT0sA)?WV%`^vmdoPgBv zuhqyiXU}$GLThFh6+KHXA|wg8H`3uI!jAT|2>d9UgUj}zCK;OKM0E!HCeHATj1O1N7v%`i{O04b^5Wax=*1vsL8D0Jo z&W9&jAx5I(cFOVoY;i{9Zyz+6)9GqGo!+}7Xu&}d$J4AO)uQak4yxZpqlUiNai%kp z$`;G$CF(cT!Z}VWM7I3Az}SII8uH@%D_iN8xLX_e=3u9(qRq7#1`jI%I~4`dgcZke zCdRQ09Ng_>te)?uC`*S&Q~8OQg0?Bl@U)7k9o>@Alc3uY1)Cf$zMbS3ugM^nuXKlr z2S>c#cuGHoUniu7Wv2zL0Z#mjd>Y6pd`R$G_mkZV!2i= zyOZvK6>#fVS;Z)ZWF6jhDFX28bKLO5e5o3tgPP|`8Q7}95nYrcf}v!y5N?*D2rtEI z#;Fr7kX|remi|)RVlPJBgUHt|R>^^i2o6$-qbIs5)VCyKs^+wb|_YiOef@#+*#ss@zInXYtue2;gfIDurjomt1D!L#s4X z%>mVROG|@BWURSxX-Z+et4f^u_h>49aQpZoM}O|Gn#KcskTjl!zOfq2cJ_EeQ;X%9 zB*eiwnV2dEq0|t{4NH=^Or*m&6MeK3`*P9>+1FhE)2{l$# zL?s1rj8>(J+@j9q?FHJ^3D!*{YacCG%Odr(lbE5RuBENf(pj8u3*x1w1-sdr(J1$o zWrJMf^W;&cL4LygYHMlN-xWGQIss2oISoI2NQiuG2}Cm^+TQp&Yx@?~hBq4+K3_;CLT7h z?_3{_3?O>7y0+tJqr=C7rM^N6ko*x9M{yaSNLfx)pG}IP0I#RQl51CUBaTPZ)_%x{ z2`a0`FY}i2Fb0u)ku^9pz|>0$PG524eWSUL!rFwEleSQcAGP*{pCNHY;n(>X9e#9R z3yg|Xw$+PZ@@D<6vHBzGM4DVyNu%4+NzTXR1-J+opQyl?W@t&LwV9BySgt@W%lBrG zw>;NVYUy-$a&uGW&3ac~TvDT}lu)xox}>2kM-~vF%aD|raC-z>bU(A+$Pa=`nW3&4 zdO(g*KASR+WK~PKEl(GJn4m3JGOnk`D5V!Pb`qzbn(L@8?xgd=PAgyK_=Df&B;RA) z3|x7#u{cdt(KFVl_vpKD^^&0E=;&x8iLO$(b1=ChMuN&OD}!8n{kvWAGn!(S9S>c6 zf9OoqE6z^In4z6KPCB}yx$|mz=?vDZ$j(^Bc<7AQtI6i9tvd4}?SMJ%)>?At>(Q~h zYT4cXdx3b~h46JL>)AuQ`*9ig^z-}H6(Hx?GsCg{@%-fX_e1#oXQ*An77zj;tq-^C z8$hkwcU|@NOb0$muE?taiTuUcF%6W9E|@=+`E!hWG-gWd?gRpW4%DruS_`!g?#Irh zPteb%>*~jk;}6!B^lOAM#Qo0EL3Q z1k}mUbIJl(1mfrhB7Y7Qm3>I%Z{4s6S}NNRTf7_<12p_OTAq9lSFs%TlZao4A2h9OgRGwI`NB5ZcOu6`wI1T}Y-nhC%YevxMUeHdK{Lxr{5C`f6exH%98=?J? zT*jQI0*~#%A8r&Cwhao>r0=I;0E}!awZB(HN2raAl%pCig+T=2GnJttn$IF8n8YIW zoh80j4re)1ama2WF02`O+pfS@5(F;|tQ(nEj@N33FKPW%3|?A&fDm8L>%>1oL&HEn zp4%B>^td-Tsev{|k1rgB_g1e&1a9R79O5WSz-uhXdQ z1RFMN!y%gt%H9dts)eKwM#Y1ja^wOxyIE_k&w;ZjG(-kI zd)=i;ysuDN<0y!<6=vv;?t)luKr*6z!>~7f+o2HnW^Z0Yl6(i>Z4MaM%=KJ_u+MAA zF6mnUkk!_O9f9R>kMYn&ejgC)y3jVrKLfg8thm60_(OlSs-_HY0e@C_ao#G1x0Y6Z zetTQt%_VOvzjf%X^&%{Edq}G|>M0=Vo)KUgM3F`o7DLf(R6(K{BX2J$8-81CcP$8L zV~}`S#DlyW>|4i!0tN**pa_G(cNa6r(gaPT9!vlH-T7DO5iuyxNUYQ(?cW`|Kz%F& zBLTaT6FN|m6caGX0Vs(@L~=q$6GBH-^oVXD)=)$aWF*BPDM{+rQQ~ScQLr;ZN8v(8 zBi@7$Y$U~k$w+SNNlCt3@iJ4mp4~?Jwz+CZ7@g1^c4@Zc+hFBWoaHnVYLTY)mAnVn zL1@3%c`XM=jRX#z!X}aiLP9}b@rpcm!$C(OA`3YC^{yaY0NWISL?S|QAt2C3&PJ5a zTo=ES)Wm-ZtwUB2(4F}$A!*|>&hpH$QtIIeYFXxPeaOtgz(e=vA4%H4h7g04#9Oca7NSSrrJ_(F!o`pOpjgM`5u z>N=;ulx-YD1Ga&UhP{ZICh;bAB)tZ9vhj9Rd>JK9^k*iHy37hKv6+S>rxLR!9zrUh zV#9V+?fZ)NJ0tLtT;zz3jfsw~l3e?EJ15k;_l|+ATOji8(p+hsB>}3Ol%S{QWJ`Pz z7QFD;30$6j`#X4B6T;sbOTU4ahr0(rr3tPCn=?^-1Edvd<6_4oxLF0Srrxk7XWniD zWRI5puYz==o-)dAbTc~z(+^E2D^QskT?c)L2oFpPVZSG0G4reSo-y39o$Yxx)%tVD`2sdU8K3ZVJJ?+?fonrBFzf`iBL zWDm>_0%in=*tW$8^qV3w$E43vL4T+O)&f0SVVDO3vG!tfnO1FaYvJKEgCXd0VwnA> znEZ=KYgz7n2f}h`Y;))76;C_;FliLUJGuPd3kS?eN~Pv`Dp2}GaQR{&W(G!_#q9;6 zV?1_f`9@ z@%+K!yaP4cK1XPFQ_4n`70@oJ3GAzLuI`S(E?y)4APHQWI_?fI4)=Z-_*hc;1HXGg zE7k|<6TgHX2DqdOyELY~Yi01zhK($Bs97GRG-qO8_#C2ym6?5tJ{)S8hGZV*>)i^_ zK&Z&jw~DO`QS+f-G+dN5tt>~5DUHmfpS+m?W|Wx|{ySNc-?j0QW)Zo1?6&1~Mxc2Cw`gZv1Up2R(JQYyVX+KvE`t(!06C!VCWnGUS3AkZL9vu18=>unTOv z053Hx5klw1k2batB3%ccy0GQS$pTBM1zdKW8?SX%gB(#i&)O6TUOMr z2|94P&6j&yN=k{+xQIYQ~h~15)}O+0Dcnd zEgg}h;1L{t=RgLDpB4ycHD$eTY#u%crwyg8c0CHO$Y1AlgdAD}iz?MYd9vPjLO|@s zIPKKB^rP48k$*8;R+;R^X1j0%`?RCS3JtJZS48MSZV1W4v17th7t59>Y*&SWqk2KSJD0yjiX>p=*p*umE>8o0D&-g+zajt^#6ylcMoEhYz{Ah_?PSx?|1Rn^V+(Imx(F!V8viWrzt@jx!TP^J1u_tEJa zCUmpdK$soD)*F%tf|i*`8Q?&OOP^VLWwotyQ;cW0_sch}$EdG*bV&W>u)j3r|_-=nmtk_#31ao`4>w_~XZl^n7(Hr;9bbYIQeW!JzKjr`6!;m>h>zHu7 zF4ZtbGDVTVMz9j9(>_Wj2PxH56yXwLPW&rbQ|Gn*M^1r9ze~8l4DW16V*BnU_K$8% zD!F!uly@fC(0Txb{)U(wg|QqYyupAay(%b1T+ENqAFgI7i1GKF4~*=dj8mUvK0#H8 zvoD+Kjfo+QAV&1wgdH5;n)c4zA5a@7f0@4^PHn-CST!x`%Yi08@({xE z&@nh#7OI^lWmt4SjuIV3V@!R1%blEy{$%-ura6xOqK%rJ^@52LzJ#lqI1)wdm1-oP zd_eZQ>j^M3BNpY>Y)2SDFBU%aOYCDThJwCOQJQjdfpDM4c)=tV0lqUi&C?7!eMPZf zsx?(d;Wy&DNFy93@lU})vtas( zCRXbN#j5xojk zfNW7fIsXsmvB^O0fi-uIYkx_39i7Ix-^{eEiQSvM{W>S@5yhmWGDr_-@C~ifsxAc7 zoeeM>uN(3D=vPGhuuWC7%`c zwML{}{RTq8vUCEcG?5+Sy;#C0E_YD{+amz?mSkO_bZ^6cxgGMEGXAq*JTPZzy1EYh z)_LKBW*GlH)AA{3s^g6Cp}M=0VX*4G9JTvsw)rX`^#uFEjS%+ZgDF_>oA|r%L^Gmr zu+GGfuBt2TO6v#K78Dt9<97;hw^V>j;tFY;oA z1WCcWYY{H)YZa0cYAfg_$6->l4Ib4KMDwUOdVIA?fonpFNwNWF5p}KZ^2b7s|F9{j zG!bS1VP%5q=tWJ9XQzce7=Ldx`i(2L`A|Ho5TPYEo>d>~mgpdzF*A}`;ukPGR_I6e zbqa>n_vMfKjuN>~Sit5BdiP@Ci1)S8jG}Kt+A00Oj1|&-z{7@K*1Vp9#p1p%N>B0s-I^0`agX4`kiqPCwz7U^zCd578@1B0d_k!j56o(*Sv< zVV!8w7^3L+RZmJ8$!5cB`DEgFPc11dI`1_OAT)`JyN);44Rmt=+tmS_e-`EbNAf(+ zz@&*BJ7T)lk-G%S<8vyjy78+)kU13V%ncKs#>!ZItDI{h3$iG&C_E6*4f$lu4A;Jxv4;@D(K{nhEtpsWk#9yOr zOsr^3>=+)@D^u*lPVtktLwIDh{>Pr;zr;#Ie?FI(^Xx(>;jnjEEqz^+2j%$yah%$a z=_p1>FR~MrF+Y0vARCZMhZrF3#Kjhx#=&gUs6K01O@w3td8H2{MVOfTI7H$YF%)|HeH2}?-%<%FB(%UbFxxnfn|v#dADr4Z zJxD#O?Xat$etYbdy2p!mBI<7i&)D}7;o@r%#=3qEIR~5cEhQi%=CchM^>xAgxvpOm z;oKn;BQ|9O(lE3NUe19d_T3^0-8^7wW#ItGpo)x2fo;&X6lw~~8BYjR3q8l-l42WR zngfL(frpBKojNY^fm5$WiEM zNI4J%<>ehTNeL%^Lk*kX_!V8k>Rp7# zcqmC1?NC!aVv(fO4_=93WD(U$A7W91>kv^$tS==LSQ*UJs(HK4@oQ`)z zcH^qd3KB_niEfyxNWiN6jjr6fTpQysX4USEAxb$=n6VKuU?q|Z(i0NGg0uYeIJf5+ z6?PU*stD7l*%Kyxh%i^J6JBSi!m+^m&Zz4ALAHz()TnUG6snZV4SvucH4471s9oRPw^&^K=x0`V^4i(0P>Gr7xIQ07V;kV4E(^}z)Ht6GPt5ydrS7IvI7{S7#j03Oua z`>gBotan?|>}PjlA8Ctl7(_uYMK#Zov%Cj(r1o1_$)5DFN^W?4gCl>Tk?7#(mxXXd z5GQBIvd=@qMybf7&54)CJAO+a?Gr4>`hajA)W;(76`#4|#C?it6ba_78e`yiI2H@! zTIeKi4^X1xZwR3O!SmZ_zzNt-*nmU_nSdWnK_F?kpXDF5fmHhw-(SuV zQoWYY@ag6afBL%N`}Fl8*9hx7RAt}extJF3N?h1JC2uLqFyR3bw=9sI#pT()f3W_1 z6%W<$I@s5M2PHVUj?d63E04!lGXckl4{h4vmNnD;euUUe=Y&~~pVBkXuHez$78i6R zXYHoS+nj)JHr!5LcjnoU9t)R(6*M+9E5qR5=S)4W+-0{9M{mZK=|Mq7YP%bwnX>J^ z*CP31g2;Iv+Z8R}o(E8-czB6kIR)MaHuc7~_42)e+Ew5zk41+WB;{d8kEjJXsu}63 z4L0ZV*@%C{t1mKIiFeS2y-c~5FYjc!6;ocsKVg(_cqLhr;RZpD&FY&C6_Y-2V3#1e z+x~gD^{o~d4Lu@9=CK9y;4~xqSV9y0^ z>{&j7*V-|$EdbQEdA>Ny^(Vw(#6-g~QYqflnt-Z}K6UzkL>F?YhKX2njeayQ^vO64 z(Vz|ZiUSNy#+m@s0|dvi4QsuW9MCk1DT!XG1oH}_3EPT*IShQpmJ`o5@sWgtla-O& z{TU__Z&ow3`5Uc>Xwum5L~cIH?C7IDhI(N>YWgn=Mc|%p$Igv0w^kFynSK7y0fV?| zI;d`X%=9oM(%$;A-&aQWlfO7Q|iM42>5d_`!!`un+Qd zJdzftcd-bPI2A~N55!>?nv^3ju94pt|ET5k|@-=VehKtJq@d}4M2%ilJyJLqZT#liV}M}gmk$!p+$&+ zBg;4e9=2vZv_j1GXG$IeIC$aM-`D_bJL(;`>ozyaIiTPIg)$H80pF^nw$aTr;5gV!@^Q32}CS>saZ7+J8&WCEksY zameeK@lLxzyxo9ZQfR0eHwku`xg}LcObUc)GhSobEvNkBo&4_SP5j(6(KRx)AfnB5 z;_X5c7~_be?254S)|?})0P|hX^y`ow9#=qqQpgK=hku=5oXh%z)!NJ9*r3p9l{;d* z5ln3@@?X^D(R2DNIGk@v7gVBR77yfbX&8sZ1x@dc%36iAT3^w^w>6h_HpbYvMz-&6 z@q#Aj*v6mZR^Mm5D$rso1c_$E0mvt&3=V;_VLMGMo2RK~8*nVBp6RcRtZfu-q)#|t zz=-L5*wB@2OZ8AEv!V<6x;=GVOPfbVV-d0#cjgQ1|4ZNekFRJV#8!9^`UC9SH+-lR zLp+fG5f4+4BEgXx_O(>N{-Z8(=?VWIrSYf1=l{^Sn(qH7i|2Q+OMmdceZ!Rf|1A?8tsRaU9K*4#Wv^h%4HN6{e*)~Fil6ynhZ?)A)}R8 zL`C(Mk0z!S2&-Nsw2({_N&+pQl|8Pq!6|fKmfIbodGOKWa<$QxmS(H4{U&_L|Fq%K zefM`gtNS{JGMg-4>nt{hVAmAnS6atMXUG#UenJxP^fG26XJC6x?t80+lrnzE5+Ha% zxsd)68pHT>hwf99Q?vKM(!MrAn8Zm)dtmdd-R85gqcHl>F4CRtKy`roQY_M)<`6eg z6~vbAkkGb{@L8B6e^?kJNdCloFa?6WNu9b$9+UHUxA~5Z{Y(A2TT&6%G zde1cc^uv3~wdK_u%{dM^7#eVX`JIDwgK2h8zIt;g;v492yWrg|sVGS25;K0t+{VY? zBI&cSzhB@hFg$Yj0z;T{eWUUIuI4*GqA<2q^YUy({MX&9g!xh>@IBhkc{?@w42l7$slKFBALIzX zv}@m^VhmE=aOnDH_@@r}2 z>#$_v1)cb@=djn~@RpPN5E8qKvY_V;nvRb;-qRra%jg=)vrLNNLS?+<7Q8n>GmlT; z@S)5nhs9_7SOp@;wd?jxm6)qgHizc6%qSS=vSg+dML_LB1tbUORE1oCU3$7hPAFNV z+q&@^Z;@hB8FMfWEuSX@COaT+K0IOeJ5QcnwJnc=<!J(8AJzuDfHazZxai=QXvdj{zv&WspkkotWyf zz~C6!!+)sS?C=Olc*wJ4$=uNB5%|7=8P15c_V2S_k!&#;zUiF0xV+E7f@O`QPmBb7 zx^i4hK~UoNT=Z+ym?ziT9Fq2HyDX7aWH1zI+{%{XTfL@*1=Cvg$y8Jn@$T!v7Ato& zs?-bIz?@@!oR#(v5gJhF43}V`Rmo2V6OC>$l>i5Wy!`1A2 zGLInCk9ylM@;NaUG>5Z`@X&78!1!~!rYvnGZmJ=AXi9al!%_F*&hT-3*-tU5Q&}$> zcj(J4{yr(rTH{Vaf++F<-lwVv`%7yi3UMJ)$IIcZ{OZ%IXIsE1M#@yU^lwN_+Bddv zVVfK#qcA%a5W_e#wJ5Cw(MEDXdCg?y={@~fx}Vxv+)p#5w!*btoAm<4thAr##nc#La9{!$7YZ=ZBo7UQK#xBkTr<<0J zap~C7p@T@=$geg&uMEG>0Co(RSkX2!jvWq7Y2X7=+ z)T+J;Vs*5<9Rj6C(Yv^bJYR6G;wJ;b56b}kwwRTbASPmU+k*6T1KbE{x{Cpgs@ayj z-QK(n`T1ZVNO2|NUU9zYl*NSjszq7g+(;!z25Z6?1;)#m^oy)T+C|h%JN<45Ico2A zLkbCIT(AN$-YzI0?s~{DA3F?UJuaOb1hV|}6n41JTY-rnq=(SUz4~M)EHK}5OfHlZ z2JTlex9HdsClB94qnq^6NsY6lY|zr^_+eg_ zFnHcQqy_K7sb~X{#vi|(&7MS74OK;mqWdR&*jN-VTHd=P#_C8ByNs_*?W zS4}4KW_)V|D?#YA730x;9n}2%uKEgrr#qLJq4LKz8cuC?tGCgr27?H_;5>qjEZ-6F z=oc921FH#zqExgOk^CCy-B*dJFq$jY`H>(@zIq1SjL#Lp*hQZ=h4_|`Q>Cs`HJrY& z0lO9;^zwEre<|h*?y2Oc>`esGhd$>Q6vdwf2`gT;h^DPSYqa!WB%aTyFCGaKnUtT0 z;lT1=#-1F2i4K0nG~9UUTA6EI#3x3J^eJGOFR(s!O2;jjhE+1DmsGNxJM#oBI~+&d zAhblmWG;zHDp!^6*1%AB6f`rRL-QCf09D;cF6j@dq!kxe$)BT!b%GN%Lhzk0MN;+P z)$J>B)NRXoRF|u;OEW7h0wFUdyWI2gHQL|@HRO#JG|#0)r#Y7K*jLpam;A7bRLrm~(QsE!s8ucFsIpf>XfaB zQe4of+ABTEwmPgQsZwW)udn2D|N4#mkm1fieEA=fF|w{6$~kp z<}U9{4Bg3T!r}M{rSU9Fl5+0chDI)sw=R=g21b>%ODXx2=GCR0GS`q*HuCQ5JrM)p za?i@o%&PiDwd_k{^3TxjITf{gDm^Hlpz+!@pGxx??4e3GLHc*T)Md6xwNCx_8gi)+ zC6K5#U$xc9igyj$Fqvfvt9o^f{N3;8c8v7w%I65IN6OO9%vHA;!#=p5zu|RO5U4>S zlR!Lum40;lNU@z816BQne_U){nz#Qp;OMA*1~JQ)a}R#bz`!dt?r}vGJG{EVLb)j@ z>s3lMuy-wm{!MuFR9w(;RuV%>81i zcwSm==J8Q9y654w`Q2A9=-a}vkrv9aa>q*$b#HxS+axQ zx3kMvU1#Ax_&xW;{f7bOS)JHDzsXvWPmzT@sEqT9*+o_AvPShJ^-X|)sg&TVH5LV( z%augIp?T%6KWZlia6c9yJC12Fl*4u2a(8boo?dn5VIV zRyU$ELKrqXNd{Vx#CA;7JAEM^&t0T$+?1X_F{0XxKh-g?v`j-ob>?UDymR1KVp;x&eoHgyt^ z2;_Z*lx2MfpOGl#2GzE_c`*d!*EDv8CecFZ)PWLu(78Ut!QO9OHN%5E>hv3+JBH)iX0X9{xUmeTt%-kf4tb2irnFJKsnPOh`-oH#1g*ce`x2@?>!O8rJmxCch$Lp? zZ?l4i^9w_0f0^aZ*3OhNES3Cm&V*fDoB)&x`E}?fw(EOFwS&KSc=+ZUq`)<6II#P7 zaN!U5$^M7^lV9G@Gq+Eel{p}+H{!A>y(92}Np?vKd`*2>Qc7L@RcQzLK`n>q_N6Ep z7y<|9kA;Cp4D`|ZQ4nD~kBsA?H57obDt$EM4&m*j0GKW`$rL@bVvsL;_u|RHPzHkf z!_vyssGfWK1WLt)=!^n)OMy+!RjadNJC$S7{0Ddmb(Cq=OrM&G?Fa?=Fo7y&VEnUJ{5kk9~h@vp|yM_ zr^frC1b}5(bUbs%-Ld8v2?+GeRzP;WjX8HnR~Q!W+(kaZeJX`NhQp;*E;jD3lv6Gx z8PTIc=b=Jha6G4v8N9`lhM6GP!d&Cnr9<}fTmsT*&raY5|65rFUE1StNg zNYFDPJug~+g1o-^vU=>#dv&zJ=Rb^xM8Xi;2%U5k^=3{CIr%3URT{H_@%vlmu^|87D09kC!W=P&DGUbBm zz9niduysaiEC#IYt2c+%u7J$~2o}pVP_F<3lk5Y9L7R9Lc1`Fbl9%k~KgBu?gO{S^0G$S zn{om%nX$Ul4SqaHZ zNu;w#OX<}q10w32(G39MHR$w}xP0gKflfTuGUIC8wD(Z^qKOaIBHbPup7eO`o*)rh z9zs+jdyF6}8p!WapFx(PGQE*$X<>5{{T1uh>M7jo*azaP-gqf|-N+2d7!;p#9X}hW5ztZwArJROQ?GuEtA5NW0lm#T zJ@|6F_019ytoqyOMT9% z5pP@+H!wcpnhka{0io4%ZEeNely@eSzCQcX=sk*#&JcuyG1#(BiTsA03SvPk6CpJT zkM8pC?qbY6FxWV(TqB{|@~Iv~A!lh&O4DKuF$ZkVSJbdm~gPVXAmbQh;BE!5qTu+uDcJ0>sfxa zKaX>rfivJ%->{Q&VDSSGCg)57pB9+TtPttnnqv}|MpG58u&c8y3je12y)SfSi$v4k zNc<<~Ui%K%-R=Suo7&tBe09I?hO!HwVP#90R%Q;(L;-zAsR(cr86Q+ekX*(OekVAVjpxVZ!( z`}3TQ?fI9Vz}tW#0xt{)JUPfbFH|?Ml!YuHDc(YjBqu#8eG|lPcFdo$yE?xQK-H@B zeJqd;^jH!xRzE=pnjOIh9imW(&Zj+Dl!)UE^KxR% z9ZmTRXvKk0WcSJ(ScI?b|AX?dD?VrRejZI9zuF*vWu0U(l}TXZP#cgccebIU+-Ndh zLjL>bvRQwmJHsKZJofHKYUM_e8%E(8Za6;pl3XC~Yt!eVGOBK*6%FPh97Dk}P^sd1 z?j=U4AsM~4)UOuA*c-~?5RZ1tjI}?Gf4S2=QAO1D1h*B3#4NXX9%2R7IX9+$R`cPK05-J~mkVKRV}j{nIT6oCh5LiT z>}0v(%1>JM+Ep#rr)50=ea)l?C@7)(o`BkH?>nu$v9nhJe>Io6zDNJ~bFZ1VqJ7FY zddA_qb=vXk9Cu5gYYqCl`TImx2G-x>bH64o)P=CHeZD&4r}-$e zjV%@3hM~jIx6=CX4QEzgst{de#Oq;uEkwD>DNy9wN|^*8Dg-(^26@~9 zxTLiw5eVeo3+fK4)*JbO6NFRs^+MtMhPZ+a}n zK63M51^@fIC8#2zeJN((rEdLFj~f(LAGnw29Od^mt*0J0^1QHwID%4tKOPD2@u<#r z0I49qu(83npD@Tfy57hV6!pAWxXd&nKQ@Lfjo9R9JHS9=m>Cs-#?c7{%l^^DZ?erP zioSW3@TvFGnLlXN+^N0HJH#f2gh;_{L6oV4xDnf+%r7U)S7Fvm$HZ5ywgOgbf!AeCj(yfOg=yF*67A5Og_P!F zfL$g)Nd~TO7GOvU+wokFz|}S9m|}Y?UNo=5sNbr>V~vR4ijYiMie%9_(ARgk%Od=J zylBi-C{spI*i=4Pa_?au6jL}Z#%93ncgrnO{hc0uH{@L4?8sy966+{t@cp~VavEMf zv&nFpfJ_>{&``q@pZ6zIY6*#{I=h}NPeum#!w*xo$gVvF#^Up>n2-k&o#C{8e?yqo zfDjQsZvA1+xq#lx+Cy7Bj9`}Vh_T_H_uizIH|5tP->h14g+xzHKI0Dph3Y8RQfr<`NP95J<7LiR6m3=f1Mg~`>l9X z3j>7oJbW@aazX#*=QmL;`iQvzW1uJl1*ccbpie>lYy#(P{9|!Zlm|K#EkybshN%nc6ssI7LfoE{#>D91%5*p26D?d|) zXj|bEj}X$L;G6Kfc9kb5uGom&abB6|nBxgLf2X+Cc9)r*740z; zdiz93e<86yOw)&H+&2E{A&+%A{}BD;-$gP1GpjoplPcH#^m?-(gE!mFhb$I-%r`?J zt#(=tm9`3mu#NWY@JB$hXLfB8%*O{or?IV1)a9i5pYy|*M1hM9YH;i3-^#;sRQl#hjMe z^W949y9Eg}@wb$A!V%my-QhY&(tVBOfJJV_u+$yn|Li_5UoJ;I*;Rq=3-x*MtbZ32 z@&XoH1Z2$|c$R1ViH^S2?+pASG4|&F0XTZ{O&JSFnJxJ_2V&oxer;xJuG0($OgFG! zhjBm8y7MQw;eNv1rh67T)2Q3ciq!p+-;*ki>$kJ3%-rz#v6*UBQ}ZC{Dy5bt*243o zD||)3`=di!D{EqK%Ci+`X>9@OXaiW+^GCoIxbo}Q^=n?!ep&Z*jCH`}fh@X81k1Ua zx>$-07<+{YOchF}Moek=5*AN2aFjQUgg!j^lFR1x!c4)dTq$6;jypRoHYP>G&d$Bp ze8;9uaHV6Y)55S$5#wf!0bxILYVF3r0n#hwCBOz{JVS1AnJu$~rd(XT(}(5~4`ro9 zAfDt^PW`)JTbC5B(vCpA(-lB$tDC@wsjEzFqYBg`Uiwodb|n-da2;|HC_T{ zVYGN0dI*0Ww?-0%e2^0+j0T=+ivwxn$+I-mmc;_~>mdAuNUnEYVwDLw&mQINQNILPj`Js`1KXq-nGfjG{*+dsVYkNw5)N zY0Dg~WM@-n4`#QuZq+$`D)woE7;43sDbiG8psH_8^ei$O4{o3I=JpIS9{eE^G?Z@d zv?QcceUultc2?JrHAcF92KvreF%{QsLkhk`kwz2ac83*#r+cSFfVa9OU9NbcKLsqb zzjzrj|NouNP02OC|9O&=>P!Dg-lo8RvbUxDpR{T>gZR($Jk#q7^`Dd-)BL9|o(RGG z@0?~op75`1=?0Yl*WP9U4Y)%252)b*Y9Rjupk#m#NaX+g+dozv`!mqKebb@(_KhTM zo*4u$%|8(g8knO6sb@Mizw3=s|NZ-z%1t}XO)T$Ee7!n7WGTGH&=7KG%Y(JZ?~rE- zQd%gU6wBw%KCYQbT-(ywE&;K!2gA;pIb1!MWv?g0=i3ug-6?a%D!p-pg12`0dZ1Cmd>WDA$8Qd|EeRvAj{w7p$(vS3s2g}n`Pe+*!yUWlR|ElAAg~6$i4-J5GFp6 zLIZWlKD7oFr9LV`5TFHfd43}w9Hiw&jMDE3!T2uRL3QFzEdQ#1RL=E(P7 zmp+3-9H4>4CwXK~Qg5v6e@OnWYtg6j=!oJW^~PIrN=RnP|0457`7=ytz5n1cDNMLA z%8afdXQ7;^Bhjq7Kz|{AX;@^PJ_hHak{pOlYaGXRQLLx!u8`v7 zp`5K%302io4oA15qvq!snDS*5#9*%&-A&Y}upN}V#p#DdVn@VLG<#co>xV=mYA-N5 zMfxS?$TIeOxyKTyvEUDjvgxZ1e}EsD7GW*|fK0hq5pSSGIzP|mh1|%nqQFUwkz%G0!9gOd_8J?E zlId1c+LaCGfcI-gbjbLy;lcY!jN! ztg0BLrdP=CHfFr!3`jA?OQH#9M*Y<7up8B;CgV_^qkVPg-xap&|R z;T(?~)-plxabe|mG+U9}i1A}VkC8N&FHa#tiWG_GAj=6kv7t#tza6yCI@yWNYeiJ7 z$YIg9pFFTO6IdpmCiKY|9Ufe7su0>4<+jkY%R3)-LVfLYhavFEiEbmFd9j>&V_p=ygOh`2aVw|S{=&yyyoIchZ$O30#k?H3}3Nb zRM|09=WpPDqrTc^r^#|P6Vija1gFngp4??)e}*v^?_@G)Mrg;^A3c|`IW>8@uK29x zFcq{KvDP#>uYN^f9V{Sj-qa4V;YKjyzMp&)0Wl=T01+=7mEdlE_8S}tB=Sduu>hY0 zA>6?fuhR*EX<5T0D0F&$@FtBHY*Q*{o&v+vlnF==>WUoAVk{&=*WC&1gx)}=%_~;d ze5se#C+chNB74mIsbx)tL0m)lC-lW8VV*ojx3ot3PaSWdBZcmr&T8>PsDY!O^UlM| zGGAOx71vpch%qm1sPlDphKmik4e%rX7~Cy8F&}#Jr&q&P5A5TPc$7X*aK+-jvllqLp>Kn1b}xGhjo0bj z-H@?75AkvJ*qUsWl5~-$(wnNb%o$xMkK^%)%DW#;);&h!4y!hv7S+0>@AJN01_Hy2 z0E@bK=?XaOd+7Q3lG)Fndk=JGr4Kzj^LjQ5JXhDi{z7^V{?Py&QfoQZzkGC>r$b7{{4g>Z z(xyYedVEWS;E~_)Z+A>t^LxU}B#wo2NIo+Y!+BfctY-yE(rc@D< z%V^W&akbSfWjkCm%-l(G=1kfY)Q*H@*5<%PRdeBDm=(R93hC>V>$zI%VrE=wNHhv= zYVZsEQh=84_0!I%(xOpmIq+Am;#kpe%iTHFc=iMXPuYdt%iknc+S!{zo3fk=+RT}T5>;Tn zl#dbmE!lSPD$>;Q-%x!@&8qhwTGsbDLvT5*2{K)-n;I`3px_VpbmV><&Nyo2~09IdZ=g#+8xvROBGkV zaT{`9`mu1PNS4SKAC)BL$uEHBE;XJ`s1K}DhAw4?lFwZX^Q279U{+zlAF^?zU3gSf zmn}|YU^gasqRc5E)1C6wha#>mw4Rnc&Zxpk-W(Hp;3XH+;DVhQ*!&>XTxcK4Q8>m z2htC>gqE=0liC%9Sq?aV%`!kny%TR09iEIb46h8z#88n9k!yk-sxsv`tBv3h7_C<2 z)}%r{dDOM7K;17a`*(b?N|N&)kv?OCbLLo8Pe%7F^X;e6h#boDra0QJ>ZDzvhE>TP z-ZbqM$6`$%BTPb8S^lSoh@!WJwyX~wh{kl;DOiktF`68jx!O^kN)li$=No~5o>q)P z$&((2tr^T@B2CJ<%M7URd;k7W2BFdfUfzHY;r(I{kB*(M5#cOTGLL2@Q|ap?@g8qD zB626~`6-wxcU0tYRN5|gb^LLZbNs58wmump<^9SY9p`c|D_Yf=Qbpv? z8paAb{vOJv3_lL}Umw8w$9~#vz}eN@#ryS+$bBu7ZOJLWQ%IfP*Ag0fx97~DEO?H^ zXLZYihV`B^;?tuA_EK!cPHB@@6-`$F7e!p6fjJQ38t<{6Iq`xqV4z>G_U#V)pQUeMibe8t6E?Oc#0>H)$o4~q;W2$}R_!Wgd~ z(^UsayWRGUBNDVT`;}^ENMDZk9cuc4+D1csHh7WYNez?E5A1{aBdbhy6cA@iFyTN` zniPGKmzhu@5r|bkK>Cv+e;DZcvYJk9N(L3kqJo+R zr$HQ$o0e&Jd;s0Z4iw)=6R3KJ5br#bI`6;v*GR+7Q{onr&rl)94A)mtph4%!?R}YF zfpK&;?w#w(L8uSk-VzSsB z=GO|Gt48f{c-cLyuU6KIoV!NxaeUcdthXwh(?+*(UahvOobyJ1;~-k`mEXsY4&lUE zU9Ebl9Wsj;&%yE)DU#-%iKN?}xqkckT!<64SNsi2!aAv+WuOm7xBq&uU9z1a9}H=D zSLUWl=r>SyPo<_$5o>CN1KRU7r|^JazqeoECxj3bkUthD`b;{6IH=Fe#GqYC^~dry z|K$x*$~Lb9s`|G5&1T4zLsh%H+OA6DYUE64J6uaqp~kRS(T^x~ljv(t(}5y*tmFI& zapSIb@xZ@<;y&PdqZmbeQR%rOP&(w7EnHFf_71>y(Iqj}!Bu7IMq~ z_E^?yk{O24W>`X=d~3BNSU07vtw8ePbPLEDI?XgZHC}|~b=CCG#ZOs_xB>=iO^;Wj zlhn;@(XtGdtQ7LB6g$+ppU337X|}rXX0k6^;kMs=p!Mw3oWWqNp1R91R*jzNQn4MW zfY^?EeBYuMr2-`Z{Y85)*XG~5NmktZB*%TlQ+`qGd-N0?4N+&=PW~*NX_#E02~qY9 zviNP)uCfVh;|p`GzDrqYzuy6E3l$1G8Ev3xp_YPOgCenQgsv9~fqI8!->R5ZBP6Rn zS@rR5o=W4k_H6o%rN|4-ESRnx(SrH0DthTdr-97AHDemFg`UCg`qJzzo|e zCEF#PEzY(`ce(01HQc4q!o;+W7n&Andy5i!IX9^mb$ePGca~LijY@}QRkAkLj-hIm zp2}Ga-i)o0BL~$=ew#Y_7v_$<2~dj`o^pis1EwU&^eax=C1v+&DFVxf5bY{In|_R7 zxsMFEbOQEb1&j$}ieQVJ&Lae8;CT(n@WT)7xE#QY7A?64(+t0C;Cd;8a-3xg zCDWsrYmCo=irgy8yP0c^PbANTjiUL9^$E|j8^Rtoo#3KgUGB((JDuR>R(|f#gR6Ex zZig~|-Z5tVr^sTJ!SF+rc0j~>t-;TSXS%+rtzv_j2U@Lwk`C>j$YWfsfR+yN9*Le* zOE*&1I#%AL%VpejZ&FrAAWK^%XH^@MD=Moadt1fdjn$Qv^_GcunRmG>-J6pYbBe(| zs?v1S;zXlKwi9K_cL`FfH|rQNv*&`qJ&s;r zI9OonNODTxZy1}hu3z+oZ$|g*R)s*VfJ2lbleb_}9-C){Vud1b{a{fpAZ%hbvupWu z=`@o4%bTLl=tkL4&9HeSE&Y=v$&mTAvaYfYeWH%_9o{w1N65cPDj;gYG3(c|=aMJ) z=PmQ2|Ks-$faHT{D$tBTP0-?smKsJGVd#A8V9uM}^w-*_~3 z*St#TyBqFlbnPNyWOdy}N9BuKNr~EE0TaKW-l%wjzPD8zLbbHsk$TxNM=M!IA&KTOxr%0|Bd5qOYX_51T6>0)YnD-t#8+)2uSf`M2jNhV_V=h@e6GM)r!@>j z61;{HQK;XoZ}@}Cx}V4Z#l1cvyta{D(>9p)5-#Sp{tBHC*Kw;q&6tkttih)$h*eJc&owH0t-JNx%I$h04*M7)tyQk4xy#J5|Zs6 zPXmSn(&b)|79t@k?p~D%>8FaB6ygQ9DinVh=3D9|niQ^Om2gS8nW)`n4Vnn=OV{&hQaEwW=n0m(^>xof>#f z`iuw)ojVK&9RgGcUA<(n?Ew@Y`iN0Q4yt&rz9Y`B3eJQ6B5zwoCjGy$n9p)C172H5 z_5up9T>4^b6+bYzL7Sp0fPnwa<7rzJ0tEh7aI8&79H0vRAE=W7Kmq;(9kPJ9|7wu6 z$!G%%0soAmn6HY){C|^v4j{jMWBR{F(fnjEOyIP-tSgEv+82)y1#wb1^F6kqRWgx< zpD#OeB-1<zo)bQXQ<9`-d&znu7gmNmercH z^7iTaZ-0M~BFUJps@?<#=;q_^*Sj8XVRu-ihwGh|*vAqrHjvkQ z9(Ky@RfAbs-a=IV-nH`h5d@?Eo%yLU&&p&n?Z z%YcYOFhTe=RrxZk-apU?m$gbZyH*tGUb^jU1-G?PZg`>WmGGQ+w7PnH*-z zvoLPO?OJX>$3Ra`8LZrQlOa4J0f6!|ayq}9--9pUp zRXAqp)3NsZz&V&#ZEC{H!<8F7=K5mz+)%5-m>~^~8gCHEpYezhjKVizR2jGcmx(={ zFbp*M6F(QujPonS8EeyODGPu#=8*}>95|7exLb6)Tzb?HdxXDMk?3j6DL!$;7(yoE z>g@RjFS6vx$mD&%J~+#i_=cJAXC8P<&Ojzet!`U+e;C1ubv7g^N3MHd3n!pSJZ~XI z_DMrl5Q3hJ1!0vUC;iL$JCW=; z(Q$Y(+K};yJd3n8^r&9m4CDA*df_U(g=(IdKi$E zAgx;Rn9Z53YfBg~I+PP^_?c75Y4Jt?0YtHH{K8L#j3Gl_#32D>qG{Vk0Aiq(iGn&w zOtjWHAUcwp7Hw3d91SLgDTpiZp2%e!(kK#@_B%8-r8%0}8VU^pPU(KL^xdcpB>5Xp zbu>c(jd8k}F@8gw_We4cg-7>RiSXx0W%P z5!lX(3bZ43R?{jS3deMtGGid@bnM@1Az<2qHDyr<_Aw)=tt>io4fsD^Acpk&ac2|7wY#&X^;c=4U|j8&8iY( zQweV8DYhCXoXpTB*b4KgmqkT(ALb1qZi1u-iq+|gpGCu%414PDfvDyORc#xO|>YR)Y1kj8e1G(mr$V6;gY!Jtq|tf$wPjw=QK%3YCjdq%eqybv{-4Q z#NfMC%y}qG9@|)x6m0^np?NJwniz^Sh;7obO&7+|TJ)BdjiU#kd*V6mvXEu9(%MvN z^CwDtP&L^K_Kf2>_kI<^iqsjQl$m8~I6>6?yCYd+35#|Za7XA84%{H z*pu%jKePwG-P6aurS>8uqD>>O#mS;wuRl+(WR%8(6whDAGh#_*PF@_k;6-7E+PpWc?AzWV)c%=&8`D-6!EdetAvzCpZm zPljhVmHhT)O{|S#XLlKw@cimhCidwCKH3fcTmeC9t+g4pa{el|TIf-w!W$)a0NOF`<}5$x<5CE22qB z%81vIn<3P+GHXnhmJq$fgeG*B?)8^THDj?rHjFe?PT~?DfI@x-RH*N(R2Q zk%mEjI8#o^5;p+zl1uM*o~5+p5|Wq+zOEIoUoJ(mw!I@vkD8tBQ@)r1P-!<#}93OhpEGJ z=5GyF65p!n4>JO5f0bT%8@E6{DUlcKV^(wfpxO@YTdVB~O|z|puDWu^z_-;qk8>VV zFtG53wBT{(!ytdzA4poT^3;c(>fX~CUr;KIK_^SZ!ws@2z`;yy8?RW-_kZHvlNzIr zKamRgXOzW=*FU~##BT6F|pFXXKe7d<2B`wXWw==DXZy|_5kz0MFF3^qs)vT-PyPR`-c z=t6^&Z-x}}bo(nu-(Uz%G4+2lhtM3lJAjif#-;bplr7(uS8>rS3E{JHt>FtT<8~~g zQ$X6VhuFe3E<)Aka1I!ynA_&a{e}6z9NLC%0l5A*p#if4VE*S8Zo_v0%>0|{Tzde# z{sBv0z}Y{b{2j3N5734JeE#(+iv%3}(?rDq-u{8mWWe1&;F$ry|94GlE&%?Yrlb(y z_Fv9(8*V9p=U;LRU*$bPC`1QVpPV6NcR&V<2r zA_K`zSZwTdBo{8qaa>~H6cOX_-_@Drv73VUDVuj-g#X5Df-y0UgA4DR4~jGQ(vAnM z-Q~hj6cH6s5i`}EXYvyd;KoeL+>ytiq|IfmxaHcfz;5x)!muAamBo-$O|z(?UUDp2 zGFqpGn4T9ZYfetl)w9%b+UiYXg-Rz~%8?7_oRiDi>ujmb;$-Fm-MFElS^5T}2m z#8=zutr~gy?9$bjwJp=lU0D-2rW$puG^+moLW>#3|*igI4&4J_ zIWr++tnXY^a@yAbOH0`&DKd5wq_HmEyo#Hz=Z6_MHIjJ0(u413Y82wPbGxS_m*H%= zPRx?a!_4PGD(TWWGc6MGRzmWo5!J=@+LMuTtrr?D{WO}`RC1Txhb&qx&fFYYf=z67 zWzVC+`gP0BtjgmFD?1^Ys7u&j)oazG-{x9m{C;SBm5M_Esp)NU#D`a;+_nZ>NhCVS z9p=r?o!_DbFwcyFv)rc}saT->-HZ0_4%IH58&n4n_$W=4g|TH>*uc@%%$LxXgkj>D z+6_w0v0!k#3O%NXfMlUss6U2>?YPYhXRIt(Ws<1o-x5ADUS}&2(spR)Wqz5V9X9UgOhXyg; zr-aPMw0)EL9gG`KtL8PIigd}<6<6McDK%IsX`6Z@GWG%$#W3x%pH?sUaplYKF)`zQ zZAlktX-ko!$YADrim5Pr#PZh_#*rthDC-sQn}&iPNVCCzIr-NRQBD^Gx6!Sk8^g6O zJgoRiGlROTWm!y?+`(TH#cPmh*H-#vbv1FaRHJ=uKcg#J>zC@0!W)%*2GXIn0_LgOX5fcsg`Xbo$MMaLVROeYtfPafZVWB<)dZz~T>^oFF%-Uf}MHs@;v? z{4{b0;*BO*df~|da`ntUw95*vePohNEbA;v++=C*wR?-v#mCfbvh{uH;cPT|N4aYArT@LgXVCBQL0kwK z_!Y~?rXon*nWRAzvm~-l_<_3M80&>O|9uD#*#9Vo?g{EaDst$~(mJM|dV|~+<@GAz zFyso#PujNE1HYT?c|4bMJMTZv>x23g@F(5zhyld(Yahc5+7y7(RZde+jb~Mm1@mT^ z`Qb=R<>pUYwM96OiQuIR=It1WpA zlq2)4!Z}L1?jTKip8n)eG6n7QFT(#FwoHYV1>Xl#{{CZELVjx#Km^(TH?H8Lg24V` zZ5k|)Yw&-pjV>s6>-v|qWB-@6=}P{wwyr0tI@(uhhg_B%H9a^Ec(h(pt6BbcBi%}3 zFt{U?tPL6EOKF!(xumJ#3}_{>`v850yyJo6<3LF7z+;sQ&?rhmKjlAhQO5$T=Lahy zA56cpn_kz`9@g$@qz?z`c!LR_)#RwKf zJ~Pv&$J5cTRzp`hh|s3M_s6`2caV;z6}rhs{~`?BbR~vys-IL7dnliWnYHVvD0~TL z(O`~)RLE_VHRpVr)tK$v)Bh27$$!Mn^q06X7Hu`zWC!=%=F6+hEikk)RJ->&c-AeVb}B&rf8?!)x6fqONW4Ec7bu6{o2Qt$dMG<1(Fx(8A9RU?iPwX`{F zedOvjBI4ENaU9^WSWQ#CQ5fkVLOQCl3Y~KlS{J^+;t+i@D7?c8`($A~+0#l)&`_Lm z!Pu|@_^e4*bR-CT6iX$HP5I;;I#xcJ=wQE&b?SXA2x=+_uKb|f0Jxr-6SO|nw76Z@ER`!4F?fRF!rz~9;AInNzGTy}) zvSv$wNhluG`eVhC=3TD#+->E!DdO>ftW_IYWXg>nZxaS1-X@oqG07n;ZAqQ&$0c4> z+|S~LacyM`(>C_523g$Bbck$OqCrjO7q15KJ*LQ62EeQ zJXXa9vTnRJYB&`=gPd=?#aXdlkji~SS7WaK(fObm#1e|9Nm>=%Z_zDxn|Cul4p)7T{GBhp6179Cr?}4uyP?1(&Sp66!ScLO1sV)HsQ0vaarfV-^8Rf| zNS!;lv|EI8xDURm$XEUPRIA8%Fy6ql`Rzbu?ju~731Y`_ATDn0z-fmt?JkQC&t9!n zud)|Zq;_41HuFn|fWLoM>ijN1QyPjxR%;XkQ4CIZ8|zHT0P+X79Wl?hjJr$XPoD_d z?`yI|!}Yk7^^lg>DqX4C%SN$X!nJ9^*4@6zyUJ7ixV%GVxR=zQ?QI(ROFql8NhzYz za<5N3RE+f2?T}UTHUBhZuun_%BG+Ns$og1pLHz3m!DIb;J9aBRmW^mM@)IhFXz*W9 z(^_8cDP22iDc?Hqe81oD+2wSG*enf;k;{tewKMIyRj24G`?MYrmEcY**xncHV9Q4X zJ{F4?e@#-6tP#7 zM($YvM1<`_QXeS$`};lB-l5p+7e7<(o2U5~`kUkQErvA-DTHp@EQFL5ou8FZz=D|_iJzAK)20}eZnuS_uOi+@{d`h3Ia zd0Q>P>-^|rD~%tdTiz@e$u0KV``NI_&pFYgKr1IJNZP?e z(yvQ-PGDuJr9pJ^$2F!+y(W7UJnIjhJb2JbZ-mQO&3&C-t@f<-b^Q%ZyN~4TZ98yB zBJ9xJjG1SznMW7)2zSB%gbe+ksx0;xyzWvY93i-4+cj;|;MY$+zX@M4b~0Ez53X{q zS3K8d;AXb6H+7qHUwF9PsWx%Dm) zb$^u+%|+YdeNP0=QL9e8+LB;pyYluqJ^PNAN2E4B+Nx+W)%?b0$6hBTsanT1KIx); z588D_OM3}vdX2eomeDwVw0SDj)uEglAiIKxfUi;Ufc6u^nI*} zUj158F(XT`Nk>6XMp)zO##?f)^kbj!I8|%+z1I<)U-e>@UGK58xg9qieG>68QMz%i z`fsvkPE^D3Qbow1EXRWAqg>BwvN}qgPh5myZ44SLy_@AnqPOxaSQNN_C)OMpQ z4J&v}@2noO)qir>(&=c=o(1)5o-O<=KiT}{fBM5x%X?iP7sfcGc6lB5_Fnu~iyOQX zs-_mY*8}Xyowc0)=j&GQbH}CB9xBRC5gTq%_Y%IuvyM{b@wSmXp^)4@J5S(Lb!hj( zl_}i==GR`;CMmQ!XnZbSnHB8Sw4f>)y?%G4*~ZoAQHqtI&zYmwf(mC$`jT2Apw~UM z?)E#KXCp1#2mHB<#fQqB4wbGR2-|;%*2@``;eYX+|9Kgx(l}b~p>p(0@}c()K5{-9 zwE5q{7M*)}k1BmvX;`j5|EOc?;k7Dn9QWVfHCnLr-L3Qh zaW|_M7ZaBHXAj=2G2S;yxoQPvefH1$7*kU;xa`H=Q!8(<2 zyfJMN=}TINy~a3R5`h8ps6jkry-ca;Wb+j@pSn(75m~r^x=0SugNrEg-DX7w)>H-= zyN_+ChlG=FNBu!0L(8c10%SD5dcIsvlZ(ZYrr`Fs=&RCPttkO0Y)egn+b;tCqK|7S z1EQ+tN?8z94>#&hvfI10nX)G#2zXMf3FPTTwUUCV59KO^!%W^sjS_Nl81;mZ{lh6` z5@t#iwGO}Wz3AIn6dj3WOLvioG+?oGdEv1WT=GR@nbcCkU6xBFlES+@YAz`#UZw0A zrHv=tXPKh;CXxqseL@wOUrdP?UA;y*6L)+?6fY@=6;pns5K&5Hk%Ddo%N&HHUR5_`2ZxdBQ{GDl~L`k8rof;+N!VZdgDXRPlWlXfbKBKajm=;uPeI*b>*Znk4V1}_=hSCn^KLiwCo_`{b?%DVMX^}T+{e@N2yIHys+ZJ3V(s}WijR2g zdq>3+$^L$7FCWg>*CEQ2y!hn~=tYdFFHtU9ER;H)$xuiIWdXV5hMhdLaImxO&ZjHH zMlY@R+thy4twd39wx_4k(;e;Eo_v3wzW+pwe;HrEpR4L)dvc6+TO|ZE<@dsZs(b-i zL(46zu67sYZ)mie^2W6>az~q5YU{q#&nX|0KUlwLeCyd~-{+jpzY=v;eArf}OT{!hVHC0^|@;cAam`<%bYOmf^VB3j*8 zBFJ}s)ye$qZZp%Kqz*@{-dUG_ z5cLva{c0LIHX9To*Lzef z>iB+JA^3l{^2oD|1%#g=mXxO%KuLF0$iZnGiaovE9){X`jpe&`(~Q zjzp`?-*Z^|iR>n0?(9^>s39JgWg(mI#l0#{dRbVdU2&++G($3YK;zB5f76psm}{Nw z%&eABeECp#SLITZ7lTcFx@u8UhRITfb*HYy`+a<@uM-_#YWA;*tzeJT_oq@f#@;%t zt@|FrdrmqiQbGAN*Vzusf)Pr;FUP-Zu}e#bzmRY1)$raWf-lc%4mg}pdbJal8O*Q@ z&^B^ZuNzX!8wmj2%fE=O^l%(3{U66UzG#vF{e?W`FsJ_`Gm@GmEkrnmOXw9uD`pv;N}!p`=>>$m-I-P=lEl^YUxL`h zcMm#*XdUpSw~`61e+L~)KI;?|NT(CY^nJ7-Srl|m(7{A{q{ZRQYA~f}<_+4HM4DPkZzll? zSI{w}kXB8P5<6)%^bF#vsg52ah2}Pv|gGQ0b(@ zNg=O`K1fZ*pVMl)7gKBqc(j&z0&9`(N`CM1nAibO<=J61HgPG3X zf;Tpvs3OHv;L$;P1{4~mrxdmQM+cB-?8j&~qHu*9)Dc^ICxfjRf^P(Y0#43kA>cp) zULy+n31x{S&?J&wvfu-eY?cSw%tLk)--YQj&>Fg)2kwvu(~52>1Ev+n)IccVhG~Hy zQsB}7*GN4I^}t#p5t|KO5XtadkWVDJCg2e%gqnj0Qs7?*Itl0fAK)XAJhujyNI0=e zK^`fX{RyN=VU;szCuCh0phqMd)&WZ*$zBhZkiy3ez=S|E-BBfQjn`}iYNQb615Oeb zGJfcgfs-;b6c|&7t)WLKu)z1{LxCQ?J_`k=_$m_y7UAoLFt7|?uY`dW<5xMTd=MDn zo7)jU4h9?qhWN(u5W2a0keEq01nkFUcKDih2>gkzNGu114g&)=-|aBtHvTYhz{1|c zz!qQi!-38CRSqVG108%*9}XPx6~!V4jUt#B{2~|)6wC5)k{r}K0_L!9!p3ikkARg} zC>jaYuP;K8SfB>GeyA_mzhuD*w3q5eo1nQI z>aQ+i>L0|3fJMM#UBo*78!P52X6eK1Sf*YjvB-&M*lcGL;0f! zFD}Bk9^7^m;E!s;5G+(EJFdtj3yX0X$sXftN)47BzgI5+r^f*?5{rm}s)wm0i`6vy z*Zd6Cjk87JfjGdAt;EJ5D?#1Fa%~)tCKhI9X3yEg%VG&huvqAmpzNQ_5J46UNd&S` z_85@G>PE+q`VC%27%a!d3j>ZZA;(}OTb7N8!>7j>m+vs*q|6{XDqLc4T{YmB|Lyaq zY`3_r9N~s|pifA12XypJQJzi&p~Y~iQ1OaX+sV}U7G}ya4HTYA%Ax- z5n)0R7Z1Ff1XPGSo2JEKL&%-{Z`Cs{_(5kn0ipLU`cT?4?vgWcu{U8zGH@g;vE_H# z`cXE9(0d>)IO@=P8?y|cY6_4g)Yln#V(*Ya2{dLnJBw^JQ-{bDre9o4L3MC#V1zBH zfCtWK=9ID&;2AG3v%VBk|Oake$@Gz2Sm zvSA)L*u^EuhPyC);spb*>7Afxla7!_uNWlt?KncJdP})`&0&=4;omyl`u7a~dpb}j zRM)Jjf&PeEg{Yh@Yck(?oL#Sh$aWth5fIBXr$z3=D=n?AA_eiiGFdZX8nFukTIstLc1d135z=*Bn1f)E3d@%fct?yUw zCetSH(W`&NyKNS-L@P6h{5il6@i=VJK$EC$9;!)NJi^xm*@C+Ch~qs7lB<17|h^VvU{A*YSl%H!Se!8wg| zM5si6oK$sFhMJxO)UosW9OPWuj4c$07fdOBvJ7EZKNrEq78Bs$TqfH|7#UoE5e*o) zfRax*&rFem=Mj)<#Q+*sl-v(sKL%b{Gk}*hCG!L5$G~A*49te+7smI0F*{oHKA^?b z9d%-3c4hGWQ;XGk2-)fmU*v(g@KPQSC3}*}YW+eQwRta!X&y&RC9pe> z*@kOhLYk7^jOKw$K#6FUYn1v=7Gkl&&|ZPFHhr+-60>ohav5pb?8lmF(EjrHM87_j zt`0^1??6770=4pi7_O{EK7wtdIbkxU z(lBy9V za4s{PH4UZG5-o3>jZj(4P^+#nRepx`=aw--tpdiVHNJLMFhbu7N(j2-jL$6zvx{AP zkmaj9zfNM-cQD@y2PJ(S>GRh!`l)pk->-*)U`%Lf#NAOA3N@qdxT+Bi#(US9Om<>8 zzL^b6KXF)2id{e3pV0|N?y6shynTg~OgD6*F*G7XL{yXhgkQV8ba$lhW7O;7N> z3e@eSc;WS&@#c~J+Ii>=YMQsm2Is-Z=jjCgwM z=wbrJ&$Zz~bYLQZ-c(j7;6r0e0?ntK=e?j8Y(D;q8(4vjw7g^sr$FwT%*dC%iIC{m zY=j#MzNW;W*G(p_01Th%n*hu7p(NuyH@4e?VeNk=z=Flh`DaEkLUM;EATx$3;h)WK z{U#v!D@sx&N)qScQ;ZvOl>h~p0BB+OID5Ri{CwQbV$I}elr@tue;y9UyaYMTp2Fw{ zAtP9riiPP@VaP2o6Pks#Z;l+881siSDY(?oL*XY&PUU@CL2 z4Lu!o<2Bl{91;I@U^VJM$5J%6`s&dFKMz;tpA7moqPqH^fyB9Y5irJl@;oA?6a~~^ zitn|cn>kO7~9S^Hz?}4)>bVx(ty0AY@;UBTLQkY(5|Ks$`yO9H>N*E<4FaL|{uL({Rr* zB5;b0peH=V%$PK(LdeH6401P%7J?B~43dnI-m?>szN+!l@&}=Iv3?P>f!oXHE2KLo5u|#3S ztc^k3>d}7Sc{@D`c8|jY7%qA^0XD5;n%S`qSFd9Nl7^WOaO-wrWbI2f0-#m{(}T<#5VGnG zRBS|zGx(MkgpK19Ng76!J}^k}AT2@=QiY7J2CGddBs&xm=W%Dx|1h7d)t-$=U;hif zp9OC=GVYqOaNs)@YQXR@)Rlj@(`!PA1AzHWD3G_@fI*16EGLUWDb$jxs3kdjl?*TD z|ADKB9x2O792Nj9zs);!f6g&17Q!@|k?kA-Xw?i%!}uk*W$E?lI4x58OjqN}Bjy9Oh^td$;c~ z_L?!0u1%1H7G{Gk(}HA9y3nWvXb~SxeMWaLqITMbk|)jK7-z{BEi8bDdY$hPCJcr$Vi=o4PFcZfZd>=(K z(+=N@!7KNf>NjHHGY3Za9SMo=P0lfE5>cFAkWEhC!z%!^a6wII{{V;)u0eFs!66i9 zGV(p0!}r~lgewpETbO)Yd4Qa;*1~%afHsckJHB7!itojtUK_JY+qEHKoEzNQ24-PW zD!QkeHUVhvj#B%h)AVEMhzEe)ThTV>M~5+PN4iSe;L3I|lLVLIp_PN5oJapwk(=8A zoZ*Ko;>|QXv^xNaa LVl^B entry : arenaPlayerMap.entrySet()) { ArenaClass arenaClass = entry.getValue().getArenaClass(); int petAmount = arenaClass.getPetAmount(); @@ -687,8 +688,7 @@ public class ArenaImpl implements Arena } } - private void startSpawner() - { + private void startSpawner() { // Set the spawn flags to enable monster spawning. world.setSpawnFlags(true, true); //world.setDifficulty(Difficulty.NORMAL); diff --git a/src/com/garbagemule/MobArena/ArenaMasterImpl.java b/src/com/garbagemule/MobArena/ArenaMasterImpl.java index 7308f16..9548694 100644 --- a/src/com/garbagemule/MobArena/ArenaMasterImpl.java +++ b/src/com/garbagemule/MobArena/ArenaMasterImpl.java @@ -24,7 +24,6 @@ import com.garbagemule.MobArena.ArenaClass.ArmorType; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.ArenaMaster; import com.garbagemule.MobArena.util.ItemParser; -import com.garbagemule.MobArena.util.TextUtils; import com.garbagemule.MobArena.util.config.Config; import com.garbagemule.MobArena.util.config.ConfigSection; import com.garbagemule.MobArena.util.config.ConfigUtils; @@ -41,6 +40,8 @@ public class ArenaMasterImpl implements ArenaMaster private Map classes; private Set allowedCommands; + + private boolean enabled; /** * Default constructor. @@ -55,6 +56,8 @@ public class ArenaMasterImpl implements ArenaMaster this.classes = new HashMap(); this.allowedCommands = new HashSet(); + + this.enabled = config.getBoolean("global-settings.enabled", true); } /* @@ -68,11 +71,12 @@ public class ArenaMasterImpl implements ArenaMaster } public boolean isEnabled() { - return config.getBoolean("global-settings.enabled", true); + return enabled; } public void setEnabled(boolean value) { - config.set("global-settings.enabled", value); + enabled = value; + config.set("global-settings.enabled", enabled); } public boolean notifyOnUpdates() { @@ -118,9 +122,13 @@ public class ArenaMasterImpl implements ArenaMaster */ public List getEnabledArenas() { + return getEnabledArenas(arenas); + } + + public List getEnabledArenas(List arenas) { List result = new LinkedList(); for (Arena arena : arenas) - if (arena.isEnabled()) + if (arena.isEnabled()) result.add(arena); return result; } @@ -416,7 +424,6 @@ public class ArenaMasterImpl implements ArenaMaster } private boolean addRemoveClassPermission(String classname, String perm, boolean add) { - String lowercase = classname.toLowerCase(); String path = "classes." + classname; if (config.getConfigSection(path) == null) return false; diff --git a/src/com/garbagemule/MobArena/Msg.java b/src/com/garbagemule/MobArena/Msg.java index ede3e66..7ea8ea9 100644 --- a/src/com/garbagemule/MobArena/Msg.java +++ b/src/com/garbagemule/MobArena/Msg.java @@ -17,7 +17,8 @@ public enum Msg JOIN_FEE_PAID("Price to join was: %", "Paid: %", Material.DIAMOND), JOIN_ARENA_IS_RUNNING("This arena is in already progress.", "Already running!", Material.GOLD_RECORD), JOIN_ALREADY_PLAYING("You are already playing!", "Already playing!", Material.GOLD_RECORD), - JOIN_ARG_NEEDED("You must specify an arena. Type /ma arenas for a list."), + JOIN_ARG_NEEDED("You must specify an arena."), + JOIN_NO_PERMISSION("You don't have permission to join any arenas."), JOIN_TOO_FAR("You are too far away from the arena to join/spectate.", "Too far from arena.", Material.COMPASS), JOIN_EMPTY_INV("You must empty your inventory to join the arena.", "Empty your inventory.", Material.CHEST), JOIN_PLAYER_LIMIT_REACHED("The player limit of this arena has been reached.", "No spots left.", Material.MILK_BUCKET), @@ -29,7 +30,6 @@ public enum Msg PLAYER_DIED("% died!", "% died!", Material.BONE), SPEC_PLAYER_SPECTATE("Enjoy the show!", "Enjoy the show!"), SPEC_NOT_RUNNING("This arena isn't running.", "Arena not running.", Material.REDSTONE_TORCH_OFF), - SPEC_ARG_NEEDED("You must specify an arena. Type /ma arenas for a list.", "Arena name required."), SPEC_EMPTY_INV("Empty your inventory first!", "Empty your inventory.", Material.CHEST), SPEC_ALREADY_PLAYING("Can't spectate when in the arena!", "Already playing!"), NOT_READY_PLAYERS("Not ready: %"), diff --git a/src/com/garbagemule/MobArena/commands/Commands.java b/src/com/garbagemule/MobArena/commands/Commands.java index cfbf6a5..93d7f1e 100644 --- a/src/com/garbagemule/MobArena/commands/Commands.java +++ b/src/com/garbagemule/MobArena/commands/Commands.java @@ -9,6 +9,7 @@ import com.garbagemule.MobArena.Messenger; import com.garbagemule.MobArena.Msg; import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.ArenaMaster; +import com.garbagemule.MobArena.util.TextUtils; public class Commands { @@ -16,16 +17,63 @@ public class Commands return (sender instanceof Player); } - public static boolean sanityChecks(Player p, ArenaMaster am, Arena arena, String arg1, List arenas) { - if (arenas.size() > 1 && arg1.isEmpty()) - Messenger.tellPlayer(p, Msg.JOIN_ARG_NEEDED); - else if (arena == null) - Messenger.tellPlayer(p, Msg.ARENA_DOES_NOT_EXIST); - else if (am.getArenaWithPlayer(p) != null && !arena.equals(am.getArenaWithPlayer(p))) - Messenger.tellPlayer(p, Msg.JOIN_IN_OTHER_ARENA); - else - return true; + public static Arena getArenaToJoinOrSpec(ArenaMaster am, Player p, String arg1) { + // Check if MobArena is enabled first. + if (!am.isEnabled()) { + Messenger.tellPlayer(p, Msg.JOIN_NOT_ENABLED); + return null; + } + + // Then check if we have permission at all. + List arenas = am.getPermittedArenas(p); + if (arenas.isEmpty()) { + Messenger.tellPlayer(p, Msg.JOIN_NO_PERMISSION); + return null; + } - return false; + // Then check if we have any enabled arenas. + arenas = am.getEnabledArenas(arenas); + if (arenas.isEmpty()) { + Messenger.tellPlayer(p, Msg.JOIN_NOT_ENABLED); + return null; + } + + // The arena to join. + Arena arena = null; + + // Branch on whether there's an argument or not. + if (arg1 != null) { + arena = am.getArenaWithName(arg1); + if (arena == null) { + Messenger.tellPlayer(p, Msg.ARENA_DOES_NOT_EXIST); + return null; + } + + if (!arenas.contains(arena)) { + Messenger.tellPlayer(p, Msg.JOIN_ARENA_NOT_ENABLED); + return null; + } + } + else { + if (arenas.size() > 1) { + Messenger.tellPlayer(p, Msg.JOIN_ARG_NEEDED); + Messenger.tellPlayer(p, Msg.MISC_LIST_ARENAS.toString(TextUtils.listToString(arenas))); + return null; + } + arena = arenas.get(0); + } + + // If player is in a boat/minecart, eject! + if (p.isInsideVehicle()) { + p.leaveVehicle(); + } + + // If player is in a bed, unbed! + if (p.isSleeping()) { + p.kickPlayer("Banned for life... Nah, just don't join from a bed ;)"); + return null; + } + + return arena; } } diff --git a/src/com/garbagemule/MobArena/commands/admin/DisableCommand.java b/src/com/garbagemule/MobArena/commands/admin/DisableCommand.java index 870a006..42d6bf6 100644 --- a/src/com/garbagemule/MobArena/commands/admin/DisableCommand.java +++ b/src/com/garbagemule/MobArena/commands/admin/DisableCommand.java @@ -40,7 +40,7 @@ public class DisableCommand implements Command return true; } - am.setEnabled(true); + am.setEnabled(false); am.saveConfig(); Messenger.tellPlayer(sender, "MobArena " + ChatColor.RED + "disabled"); diff --git a/src/com/garbagemule/MobArena/commands/user/JoinCommand.java b/src/com/garbagemule/MobArena/commands/user/JoinCommand.java index b587464..4bb74f6 100644 --- a/src/com/garbagemule/MobArena/commands/user/JoinCommand.java +++ b/src/com/garbagemule/MobArena/commands/user/JoinCommand.java @@ -1,7 +1,5 @@ package com.garbagemule.MobArena.commands.user; -import java.util.List; - import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -26,46 +24,22 @@ public class JoinCommand implements Command return false; } - // Grab the argument, if any. - String arg1 = (args.length > 0 ? args[0] : ""); + // Cast the sender, grab the argument, if any. + Player p = (Player) sender; + String arg1 = (args.length > 0 ? args[0] : null); - // Cast the sender. - Player p = (Player) sender; - - List arenas = am.getEnabledArenas(); - if (!am.isEnabled() || arenas.size() < 1) { - Messenger.tellPlayer(p, Msg.JOIN_NOT_ENABLED); - return true; + // Run some rough sanity checks, and grab the arena to join. + Arena arena = Commands.getArenaToJoinOrSpec(am, p, arg1); + if (arena == null) { + return false; } - // Grab the arena to join - Arena arena = arenas.size() == 1 ? arenas.get(0) : am.getArenaWithName(arg1); - - // Run a couple of basic sanity checks - if (!Commands.sanityChecks(p, am, arena, arg1, arenas)) { - return true; - } - - // Run a bunch of per-arena sanity checks + // Per-arena sanity checks if (!arena.canJoin(p)) { return false; } - // If player is in a boat/minecart, eject! - if (p.isInsideVehicle()) - p.leaveVehicle(); - - // If player is in a bed, unbed! - if (p.isSleeping()) { - p.kickPlayer("Banned for life... Nah, just don't join from a bed ;)"); - return false; - } - // Join the arena! - if (!arena.playerJoin(p, p.getLocation())) { - return false; - } - - return true; + return arena.playerJoin(p, p.getLocation()); } } diff --git a/src/com/garbagemule/MobArena/commands/user/SpecCommand.java b/src/com/garbagemule/MobArena/commands/user/SpecCommand.java index 1aeae73..81bb2ac 100644 --- a/src/com/garbagemule/MobArena/commands/user/SpecCommand.java +++ b/src/com/garbagemule/MobArena/commands/user/SpecCommand.java @@ -1,7 +1,5 @@ package com.garbagemule.MobArena.commands.user; -import java.util.List; - import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -26,45 +24,23 @@ public class SpecCommand implements Command return false; } - // Grab the argument, if any. - String arg1 = (args.length > 0 ? args[0] : ""); - - // Cast the sender. - Player p = (Player) sender; + // Cast the sender, grab the argument, if any. + Player p = (Player) sender; + String arg1 = (args.length > 0 ? args[0] : null); - List arenas = am.getEnabledArenas(); - if (!am.isEnabled() || arenas.size() < 1) { - Messenger.tellPlayer(p, Msg.JOIN_NOT_ENABLED); - return true; - } - - // Grab the arena to join - Arena arena = arenas.size() == 1 ? arenas.get(0) : am.getArenaWithName(arg1); - - // Run a couple of basic sanity checks - if (!Commands.sanityChecks(p, am, arena, arg1, arenas)) { + // Run some rough sanity checks, and grab the arena to spec. + Arena arena = Commands.getArenaToJoinOrSpec(am, p, arg1); + if (arena == null) { return false; } - - // Run a bunch of arena-specific sanity-checks + + // Per-arena sanity checks if (!arena.canSpec(p)) { return false; } - // If player is in a boat/minecart, eject! - if (p.isInsideVehicle()) - p.leaveVehicle(); - - // If player is in a bed, unbed! - if (p.isSleeping()) { - p.kickPlayer("Banned for life... Nah, just don't join from a bed ;)"); - return false; - } - - // Spectate the arena! + // Spec the arena! arena.playerSpec(p, p.getLocation()); - - Messenger.tellPlayer(p, Msg.SPEC_PLAYER_SPECTATE); return true; } } diff --git a/src/com/garbagemule/MobArena/framework/ArenaMaster.java b/src/com/garbagemule/MobArena/framework/ArenaMaster.java index f16ffc7..184bf83 100644 --- a/src/com/garbagemule/MobArena/framework/ArenaMaster.java +++ b/src/com/garbagemule/MobArena/framework/ArenaMaster.java @@ -1,5 +1,6 @@ package com.garbagemule.MobArena.framework; +import java.util.Collection; import java.util.List; import java.util.Map; @@ -55,6 +56,8 @@ public interface ArenaMaster public List getEnabledArenas(); + public List getEnabledArenas(List arenas); + public List getPermittedArenas(Player p); public List getEnabledAndPermittedArenas(Player p); @@ -83,6 +86,8 @@ public interface ArenaMaster public Arena getArenaWithName(String configName); + public Arena getArenaWithName(Collection arenas, String configName); + public boolean isAllowed(String command); diff --git a/src/com/garbagemule/MobArena/util/TextUtils.java b/src/com/garbagemule/MobArena/util/TextUtils.java index 9e14f2b..9ae83df 100644 --- a/src/com/garbagemule/MobArena/util/TextUtils.java +++ b/src/com/garbagemule/MobArena/util/TextUtils.java @@ -1,5 +1,11 @@ package com.garbagemule.MobArena.util; +import java.util.Collection; + +import org.bukkit.entity.Player; + +import com.garbagemule.MobArena.Msg; + public class TextUtils { /** @@ -61,4 +67,28 @@ public class TextUtils String firstLetter = s.substring(0,1).toUpperCase(); return firstLetter + s.substring(1).toLowerCase(); } + + public static String playerListToString(Collection list) { + if (list.isEmpty()) { + return Msg.MISC_NONE.toString(); + } + + StringBuffer buffy = new StringBuffer(); + for (Player p : list) { + buffy.append(", " + p.getName()); + } + return buffy.substring(2); + } + + public static String listToString(Collection list) { + if (list.isEmpty()) { + return Msg.MISC_NONE.toString(); + } + + StringBuffer buffy = new StringBuffer(); + for (Object o : list) { + buffy.append(", " + o.toString()); + } + return buffy.substring(2); + } }