From 89ed7d8112e9f186d10c5f2772537019a8058ecc Mon Sep 17 00:00:00 2001 From: KitsuShadow Date: Sun, 21 Feb 2016 12:33:02 -0500 Subject: [PATCH] begin_wiki --- Wiki Photos/FormTable Crafting/pickaxe1.png | Bin 6238 -> 0 bytes Wiki Photos/FormTable Crafting/spade.png | Bin 6274 -> 0 bytes bin/assets/kitsumedievalcraft/lang/en_US.lang | 2 + bin/assets/kitsumedievalcraft/sounds.json | 1 + .../kitsumedievalcraft/sounds/sounds.json | 1 + bin/com/kitsu/medievalcraft/Main.class | Bin 7034 -> 7202 bytes .../kitsu/medievalcraft/compat/ModDict.class | Bin 1656 -> 1715 bytes .../crafting/FormTableCraftManager.class | Bin 7875 -> 7875 bytes .../medievalcraft/crafting/ModCrafting.class | Bin 50248 -> 50833 bytes .../kitsu/medievalcraft/item/ModItems.class | Bin 31517 -> 31753 bytes .../forgeHammerParticles/MsgHandleLocX.class | Bin 1487 -> 1487 bytes .../forgeHammerParticles/MsgPacketLocX.class | Bin 912 -> 912 bytes bin/mcmod.info | 2 +- .../java/com/kitsu/medievalcraft/Main.java | 10 +- .../medievalcraft/block/cannon/Cannon_28.java | 385 ++++++++++-------- .../kitsu/medievalcraft/compat/ModDict.java | 1 + .../crafting/FormTableCraftManager.java | 100 ----- .../medievalcraft/crafting/ModCrafting.java | 29 +- .../entity/EntityCannonBall.java | 36 +- .../kitsu/medievalcraft/item/ModItems.java | 9 + .../packethandle/cannon/MsgHandleCannon.java | 16 + .../packethandle/cannon/MsgPacketCannon.java | 26 ++ .../forgeHammerParticles/MsgHandleLocX.java | 7 +- .../forgeHammerParticles/MsgPacketLocX.java | 1 - .../blocks/cannons/Render_Cannon_28.java | 123 ++---- .../itemrenderer/cannons/IR_Cannon_28.java | 21 +- .../tileents/cannon/TileCannon_28.java | 8 +- .../kitsu/medievalcraft/util/CannonUtil.java | 28 +- .../assets/kitsumedievalcraft/lang/en_US.lang | 2 + .../kitsumedievalcraft/models/Cannon.mtl | 11 +- .../kitsumedievalcraft/models/Cannon.obj | 258 ++++++------ .../models/cannon_mount.mtl | 11 + .../models/cannon_mount.obj | 223 ++++++++++ .../models/cannon_mount.png | Bin 0 -> 1162 bytes .../assets/kitsumedievalcraft/sounds.json | 1 + .../kitsumedievalcraft/sounds/cannon1.ogg | Bin 0 -> 54501 bytes .../kitsumedievalcraft/sounds/sounds.json | 1 + .../textures/items/cannonBarrel.png | Bin 0 -> 239 bytes .../textures/items/cannonBreach.png | Bin 0 -> 293 bytes src/main/resources/mcmod.info | 2 +- 40 files changed, 767 insertions(+), 548 deletions(-) delete mode 100644 Wiki Photos/FormTable Crafting/pickaxe1.png delete mode 100644 Wiki Photos/FormTable Crafting/spade.png create mode 100644 src/main/java/com/kitsu/medievalcraft/packethandle/cannon/MsgHandleCannon.java create mode 100644 src/main/java/com/kitsu/medievalcraft/packethandle/cannon/MsgPacketCannon.java create mode 100644 src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.mtl create mode 100644 src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.obj create mode 100644 src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.png create mode 100644 src/main/resources/assets/kitsumedievalcraft/sounds/cannon1.ogg create mode 100644 src/main/resources/assets/kitsumedievalcraft/textures/items/cannonBarrel.png create mode 100644 src/main/resources/assets/kitsumedievalcraft/textures/items/cannonBreach.png diff --git a/Wiki Photos/FormTable Crafting/pickaxe1.png b/Wiki Photos/FormTable Crafting/pickaxe1.png deleted file mode 100644 index 6b848197edd2a3501549768bd05b12611c4b4bcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6238 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 diff --git a/Wiki Photos/FormTable Crafting/spade.png b/Wiki Photos/FormTable Crafting/spade.png deleted file mode 100644 index 9a69c5b8de6d1f40d977fd10367223c9b6b79ed2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6274 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 delta 1733 zcmY*Z2~<>N6#gzV@Md|ly;%_=NLd60#qwCnIc~>u=!l*KGb@)7-l5T9z?lKJ6s;^x zQ|Y%Xvs@@k(}>A%6s2sjGPA5~-z?iKHOm&wwEus=89eWt`~G|HcbE6w`~EFME)2FG zy0o_gKr!``kVHsl0}Z~WycL!~h1V1Gk#TC2P{Kyo+^jG;xAkH#lfi@r%#|>QZ88_6 z&qD^mT&7k9)CPaB!au`=1z0HIPC~9o#V(s2?nMHm4}=0y6BY~a5<<4-Es$=!g3k+V+GqMA91Xau?VY7co1tPFhZZE11{ELaiu&& z$jj@iwb^2^n}-U>IvJ1PQFh)kME@9}NUK+7O*O9MGG0fVQ#>PBTRE%39|{FRMo!`zGTy{Kf*jRMBkL$qQiCJH;o3P8z9I}18T)I-(hALN zz&8Y+fR=`9LluF#I<=~2(6@XA2D(r1?leqAd7bJHOZcIa=xioC4X&RECgH76BT8hDQ2>K?%Q!v5HOXaJtNA#O(jTpAydT*?ZYJr&sqE z{$^I!aN~KghZhI~G<2zJ5T*QAS6cNdkB(~TdR;vS|_5?LlrH0k8aO!1B7EX7! zvy`{k4TuPYB$GiPtlfz6+WJsc#6%{NB{FL(-{F*oay~`}Dx)%41X`ZZRcw4%jTp&B z4vFl%2W?w|{!n#M`8?iBjZ6wT*X{?`TuRgo$XSw82 zD3>|B1^RqKrkLs!lG$``Yw{?VFot=2#dHHJ^%WQgBN<8jX6RrGea($=)W1LafY^W=o~rSf%3LOZT}CndD+l^+cW?Pukvy$AFc<&-^v zZO0k@9cSbCJ&u18WRHWBGg1v{3p#X<3c96hpr@f+lsEOo@{*Mph@e z+Q^e=CxcHNSjOdYSonSI#0sSHai#NtWn*=ZdFF_DifMA&N=oPTbaWNhk|+Z%{&s`t kYHrJnptq5-B9Q5t2yE1w`xK7qLphX}W2C3_$v)jo!^-u~PXcv1WR&OKf`FH+ zd74<5!9|KoIAOqwBv=lsBqq3Gpc^GYTJ}rMg@pxNqqvUq28hQ-tZ=J>;70wY)!VsA zv7|mf;zvnTgxp)>tPFWhV9QQNFpm$?RCdhZ7R7BnX*RRk7>$SB?@ zsZ*4Bl+=4>VQrx!?-B;;#rD$l$xoP_zPyiPn;&r1ocM^v`dxeAYrNjz4ULtz)qs}@ zXv1v)KQO`uygo2S4M@jeSB`F>E1x!w)(f38=T6~0X0eYsd_xaEaT>ockAFCeL)ulV I=K8Jp4?jYjr~m)} delta 563 zcmX|;-AWuW7>3_*XEn2pNL7kbt0D!L7Ay#@t)f-iD*m9A-K}-4KbfChr<X_^+@KFT>%LZsIU}5OF zbKDP-Dk~JLdF|1PMoVc-u$Ej&IJI}29at!!)P|zG&GbM0q-QZ5g$X_@%i+y>m|A6g zX~U+09%-0eQwy;oK3Gi#HDpsu zE)U43j%zgF#EXkYZu5u=9^vxKO)cp-OqDIVg|%%D8smH4&Z!-zx~l_ACwVe2=! zKTZx4FmND7VC)bGQVfcQmoBS|ojg?R z7#@VmL{VvqAnFc76#GMk5mZDebkIChM1)1Xj^FQl@5|@=D(Omk_Q}zk4{xCF0DHWS)$9{Vb4WiAyY#V}(3rZn4O1R=LL-_gS~J4ZC`3&NEZb z+2jQ~ykw78{9;p8ypfkx`FN{vBkvXAgIf5gG+XLpTj%+#tofJO(RFq;%$L$N-?BQs z;^7+y`OYDJP{&UKmUxnVV*Dn-AKLj#M$ju4{c(&bOg8R z@EC1PCu(umC4tK2}NZtRH G&i(@|@nO*b diff --git a/bin/com/kitsu/medievalcraft/crafting/ModCrafting.class b/bin/com/kitsu/medievalcraft/crafting/ModCrafting.class index b5883baf96cfd5cc0ca5535077a7c728cab68554..f313c5c3da40358fe15b28f2c3a5e0aa948ed3d1 100644 GIT binary patch literal 50833 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 literal 50248 zcmdUY2VB#~`~S@(z_A6vi5o;fQCzqHMG>5!h{^~MAQFZQR~@a@T5E?|?Y4FgTic3O zt#)dcU0S>Bvb(jl!`f-p_W#@^pHBiNw)p)uef@oz+>^WKp3nQ9arb=gJ|Qptx#vlQ zP$HXWL0#P-U&Q*fCifEL8~^@RmFRB(l01c|qU$T63wzarFRO zV^y)G&b&aYFbylQS*xuLBQT=TG1H+}T1~0Nh=MSRZ_UuV_wz-8C`6!8f zc7wU3(g($(zDAUQQA7(i=&l^0UZ8#`5uDOmS5sYBQBzlMDKytr)zo1W>Ct(7Q7jrD zEtv$@kM_tGGu?y+f!oZPGslF60AaJ)ObF1^`Sa)dqTy(y5rJEUI^!X&!dz!AX|U7@ zGzz6)WQ1sHv`i`k{LyJKF8-}ECd(nF2{c*`!dDFf;;g2@2c@HNMl=?q9-dUIf&qe4 z#sjD!LrM_yYvx(1vn=L@3QL_2%0v^4C<|2KMtiBYnvzQBHxW$&d(5w?v0>D{g)WLE zPlDo1_C-@rwh>LmD5j)#enJ(*UP4)wEdk(F)l?_cS<0>T4Rs3>#+s`vQym`!%0bg0 z^v$KEQ!ORdTJWU-9`&s(o;=G%OZMp{IcB<4Qm#NVrDud(x|8?6DkK{ z!Gb8sX%%RWMKmBMs-^tkDO@)gE=KHpz=o zkSn8Rvp~1W>+t%9nrcw)Ds+cHcgmUo{mQ9zu;xh*xLcrmWM@B!A#lve(jF#sA4rRm zev^r|2=oAYP-iHtx0#CpX$#xCs302{U}DHb4+-?JysCX-P#hA>Hi4RCwO^g34Cd<6 z4Dd%ej2!|!Dv|J7bFB>jbhJyL-AaoR+vG-@^7uUh?Nxy5&9&h4<(ex$A<&buJ`m#A zT3c%=&9=A8OFk{oGxCzcW~~CJ1FcLo&o`m{7?B0wp6Td0fu5J0{dI=XjrCx(c=Vz` z2hdB>xnPa10}pIDa^35*6$7~aD^ht2RnWaA&_M-C##gDi9I}E`8?5(IJ+BLNSc3AA zZH2`kTq1c>ptocXwIs~9m}_gQ$C<0at!3jo0v(Z!0T2asB{gPSy442rwF$ikmt3@H zkp%pKKp#pTgVckJ@_6)-Kp)F0Cc8*~`&9bdXKp-MA53xvxSPD>7Xp1L`wHj_%aeA& zV{(j()EK`J=(ysL8CYYL#_^qkq&R*M=!E3(mG-u`OVK9<`bk#%mDSXhTgI8Is^n09 zfqunSs|o!kFJV;zP6_mfb6zDI7qTW{1&|oResgW}w#=v1- zXf|OA#KI^UFPIB#kgO0N5CleS!l-w%B}U;%sHubTlr$t{SAaj3PO5`-K`sJtG3+a_ zpF(b}wwV{&k^5qQ9B9M=7zI0*)KplQEaqxhP%)%z;n6c)mr+L}#L6lhB5!%W1)BCbtU?EOs~oRxcchQMB8>dU~8;AC!IC!tDj_Ajf4a zv({NsYv!A9Cs2AxO&z$d1=bwUsl*i}-DjFqL|1{k$qqjAYw9YMXPa;jjPL>z?ga&? zI~~Ue+*=8iex7Zf55AB42plJeYk>K`x>7nmP7t`SWD}CD-aOwCC+Rp*;Qq3~R0iSR zpajI@B!LIYO0FuU1_ui~M2hrP)=R0LXSK=dWPyjND1+)MmCc*5%%)39N=$eZ5XHsC z5>cwaX_7BMQ%#{_mQ7;>PM1x7#d6Xt)Fv`KPT&k#&(#%8I1{8TFvHL%NTMFxG80b{ zc(Ua2RkMx~AgiYeoGm9+d$pQVCD>^KPnX%g$o2Ol&XO{3!Ake6~eYu$~FsJtk~zn3}2_QufnAQTV%bOhSc;gtx+y; zg%lDZT`ju`)~Qr;U7f|2Wi2(~IWRu!0$5hlu}xr=Km=5nZDrZbE?6UQtr83~r>!i# zrV-}!cw8rNy)v9*9PzkO;CZsf&ptp^Z^8?}6fk|&G^9$Ur$Lw*@gj`k{w`2$miqc; zvAS5`B~pA~oq2v5+`pCT`DHv_Ch*0w&FGj{OnABUGgxi1&9(+#yb#Oj2d@Eo%h6Qnmz06+&iVv8B}2)j;YUi?5b}eGNt(-3Dg{ z@F&aF9MATOmwg-AKo`34FWcwZ|WePY{FXs;AoJB z9~Sr#yiNMGrNMEBEvHnMjN3kNyXv-s$`+a>{znDgDe(t3R>P9mSY4iFABPNz-2y)* zeKgooRok#IyQZumt*)`e3ipX7ycfKD;lhO``~(C?3EY|2N-vZWpAz_KDN*LCY8eKr zmrb_VY!*lvGVwlv_v2?_aszwJvp~wwrNua1k|pQ~EO2`gi=UTH@dBu}rBk@DJC@~D z_<+DKN#KDc4!qL3;P)mhvk!A|i5%T)0w0u2p=xw#H8pUDpp8!geO=(g_zlPl>LJ58 zH?wiMZZ7A*;8M(P78cSHv2%XGH>Aoa|zhyPZ&d#Im$#}+XRecHW4Cg zO5`j^tsPytv4{NrFtN;Vh;F{uW7iVn9E7F($g@g>4Y{NNV5c_><{!7Hm9sw~wF z31ghJApQh$6Q9azxG64%NQ9fA7H;XGr*uvdBuFp`0qwypmWx!3Vq1EvCn<75BW+-~ z^$X;BPr?OhD@Ud74jf~G>PSJ_$!cRcp( zAe|*&s7e=L>!hKX`bif-y2^GxHTC6W*FyGgBHh895E|*Ery#v#vwgOcjrQ4�a9Y zl_0ya8z6zx^6z-kN02zZSE1ZCgsnO$E_O(ZM6w{mWTg@Vb((jK5M-pR4}hexp+?Q}lL45# zLW&@%vZ;-|$v%z@K%p^=7G#WM2y*t#*71!MWSndaZ`s?)GG35O$r9@9pQX0mQtWD( zAjm}79@$bvGp@;kOp#pvPATJRlv=X|$&oE;%oR2In5PSpE9(QDJ>-!3$)Ly+WTx`; zdaJE6r>3!_LaJi6Ao*^3B+4Fzf)vRfzKzwzbry4_eeop4f~c*P78e;H#aRR?b0e<5 z6jvdLRf)5dm03%y5D#+EAeDmHWS3wam$Zat#cDxnRI3vMOp~QkYt#%dSCBf{DwIgs z&(Y8zNTcfJRD|6+edQ(R3$nm%YocsjB*;Z>Tl>k@C4ww<+uC2YUMz^(atUcRm~839 zviVX$R>;l{$CH3{iz{T839`x)gSx6*Q0`-LtEjiX9py-g66o}Cj)I%3InrywdY-i5#lwO;;-NiB#zvDM+huGR;g+ePQEpD9lSc(n`I#Hc17-Ve zK_2rUbC7J`E6C#>+6T+_Ck1)RL;Dcf{)`~|WV?&AYC7$wob_2jp7X?@wEBV|FM487 zYJEwNmpw5ky}l~QYn~XCVh;)Ox+jJtIf^#~dD9bvQsdi#yyJ;M>G54b-t)wu6#0Q5 zYG=uvqLd~-5=8AYxnW3Dn*3Cd&pccrQEBoELDX)OI|)jY#{~J>lLV#7&|hkjA^{s( z?wz*3)Fh>XGEWRrlhh!n(G!EzB=r&0*As)(Bo%`Cdt#89q=AA4d18>7q#=TadSZ~8 zq+x=Fdt#89q!EHfdSZ~8r0oUm;DKR)(qtz=RU+xeic#@zrIZ)6+o*0xShX^{< z14EM1pdty+U94Y81PYj8$Y|>Og)97eKawvnB3tAyL+$vQqjdYHnm7ZCYR;vW9 z_RONxS}W*W&n!x>^@28dW>JcrC+K|7EK0Kr1zqHsMX7eNplZ9&{h*a@mkFwN4c)US zri_-3cf~t(zJ&V%r!-A@$*gcEVZj+$fJr26R((a>zsx;ZX z6s6tWf~ri}J&V%rUO`o|?4Ctw_enujzU-bwY4;gHRm$v^#lEaQE2v7E-Loj|z96Vd zo87Z0?Y<zG6?pc&}-w;%#&+b{2cHb6MCD86!ly=`0 zRHe}FS(J7^5L6}6?pc&}KN3`>(QaAnOYNtEszlm7i_-2Ff~r*7J&V%rF+o)_?YO6e z?Q_`0Y<9CQ*Vf~Ls*Jj`ef72PB6;BbUQm@>x3%-;!fwhr@_rOl<<|j@dq91kBcA>& zsLHI3rB*XMmLvB*=x>6mWLjgF^6a}G^bbK*8XZ_`--(m^^XYKRC%c^$RAta%C2HHd z1qYmvG9(ygu>a}@TbkKb7MpxT5ToRl`-Xr`AMEY$A*_{e}BOOWSe7DZa9Jj3s$`yTZFE?Lj`N&(%TJ3 zxL|E1N3g!1?b<(5uy(T5f!-}o2f;c@o{)NdPu5jLXThRmbA&?yZkf6Y)=e@6*q@ki z?cYPNp0cTpz5lrk(SpTDhM;=6soP*xhc*tUV6lSrk&WS+`p;#F7c4>bmpkwkEzH+X zutb;s?pOv0mSn%aJVI-6{Xv2acIjX5hGnQ=$&w|w*xb+n2S^JnuEQTL*a+F`uz*{h zQG%sN9wAQwT|1`*hk;8IbAT7We36Gd$D{-#kFsSV2%V^g_Ap$EWuQQtqzjY zDjKWh9yFUIm`bWeMNNYhLRW8?DwxWpeM=e}^i!2gHcc@55xC>=9w}pnU@Bz}s4rOqR@#}=(1$h8$D`Pln{Kj@bS8X6o} z-~)7WegJ{k3a<=!!Fhe4<5&hBi<)n3D5-$mb~XA5=32*NvcB1HLSG^u&w(oh!4a|c z*mS(y#RNPVaK2p!K2cw9sfWi_;r0w3#AYZ`K0pkgjPQvd6MTlJft!7XM|+!nhUau$ zK2zu;kU!J}fP_4dA^*kfMS*#{Q1EutW-kf{Dq=f|+>6=+)p0xOv=>DI)pa}SwhfpG z>H+WJ00g17@Fa0})CQh<>V$@&XfzJ>R2&E{01rPqE|UNyhI-z67wY8{A#ouTrn(3_ z1Bi%$x=7Sp>%4ItTp|>q`Yn4=Y+e(J+lBfE`8eyryxTU8k3zDWDJ^b|7>bPE;!Z!X+sCwFZN?gq&X7jWUO zbaKygas#7V*)H4*o!knEk_~U}WiNJet5Kexdl_(R)?F^4tdPK!@LWwPU`|tz)ox9& zZh^9{U1dRFT^F5QwhOIs*u#^~u6Al+ooN@^5M;F5?|OOh8|B4;G6XHuE`GDTxZ`4Q z@mrnUZ@+-<>zv*1a_Z?`-3CCpX!U+4_tw83*&|Nw?M~UA^sv*({g{(mAyF1)Q`cu*&`U1~#RynKF>#GT%vwgFoZ!t4BQ~M;l{{?BYr;NUc^un~1xV8dprQbP zaOs532*bh6o#Tz{>|MCcZrpY+$Wp$6+ev&5FIFP~KXZ;m0@J-X6nBK~ogLkqaF^y# z>_S3ucQwkMu3}KLU;v>S47md0XeR`>y>YAyh$bAbD;M{3_6+$O@J)Dtv)>?yaZPn9 zu9WIPiB8p_N1Cf{tF!k|XYWuvT#a_5vMIb9f=V3DgHxmcyDLFp;?Yh4W2FFlScl^A zN~ z=eXKA7)O6O|DV4<3{D?S4)k}dxoVb|y<1pnZmYN(6t^CLe=9!}&)36lp(AQ90;Sla zuL&{{KvrV}euAZ*s=8HXCe`pzPO$K)6EA26jg>HQ~)p5O+Y&%-(zP-Fdt4 zy^rGidhfvZh2jV4PW(`BZIn$gO2=vm%Ge=&$R1*lW$Ux7U5C4L!z=%HL_sLtBRe_r zr%?R3W*Y_mNeSMuE`XalT;DaW?XsVthF$nM*9cPesKrW+UzE=4Z_hF01Q&{BlF?$4 zhnc}81HdrXx-K4A#+HvZ5&1UZH{r9NW10#Q?yvjK|NV94P0Zh3_r3r7>*5caUAGB8 z>GYV7<>mZb)%%$T^*ZNa`&8wa*TDh5Q0jF|U7%j)+K-R@ABaEhR=i3DzIUwKq4-DT z8b8S}u>&=P;$LK#*kJ<7-?SB1_54F$ea@<$e?iYsf?cBl0?T#zA{1~KHLrmg`VCE> z^m}3ezt4(oB0g*<36#l2tZNj6l2EBu6$bV8v}q_DLt1A_iQXj;^puxJz%A_!E^P11su*CxQUGVp9KOuSAl7* z7YMdF55n~SSzrr<8LbxxmOKx_tp8bH3xtzeFL0_SgeoMbfvXN>k*tZ#P&1UOoFyxH zBzIIwqQKcIce92XA`Q*Dl*&qDq*3bvM7cKQMKaH*wH$-Y`TL1PyTOX&t(RA&v|x{f zAd`J!(&ZUiEf37%I_tNPXKb}RQtL^cGDyADt|`*gOyzPfZ>UeCPqRw7WjE9}(pR$s z5H6;ZTXaMHBK@>hAe>e*{R7m?T45#M*2_Dum3&$)@BCKsYqh+;vC?v>T@fjo8Dyob z^pEs!R(ZLs42TTS>;Qy|mDb4Cz{o(Y6$q!5#6LiNbt|kC(0Y02wUU3U<(=P3fvuM3 z(Moh+(7heU(SgDDb{r5EbQ8KbEchmLkv)l8Cv_eY8KM~i*3`(5zrQqU6Be|aY}iR) z1KDLy14V`fYt=5vp>vwJx5L8{!6jkAhTAjJS-0A5S+=$zd1XEEm07fx#TNe z#?aeRD1t@0clYvs&x{3_x=D%y&*O zGXM0RnF2#JFiy>!(7`B$cn?g#O11nq)67pg80ReGmDR`pcMXhFGr#I!oSN|tm`b$_ zHPg(gbHUhmR{rf*>qlK1tra%L1eoHVA=uWqZ`mfON zdvr8<=104^LE{y-;SqK;5a}=pIwHNN8#J29yyHLY5*-%AmIGGIe-4Yn{jbB5oI%#d z2}=ty@Ax&H4QN0;u0fWdgHeX^-rP(M+QBpnvc&%kO^S}jxwa=c(RkNTc)O0qxl#=N z&(QSH(KsidWG5Oe(hIyY0io;dXx6H`@+<7A#t1iPG+17_Jzo)w!-AVo9g z2*P1OO{k6fwEaA%s#JbW>OxLc;Veo!KK&n0Rp~fyLpbMDm1a62w91DrR14>xs?v$x zhH&nwDxKnG3~o+UDLhlIIb^GLh%eL>=boz4TpdE|a)%3r;O117&h$2hb52!hz7v91 zg2K(IDuwT3T+qqxg_es>crrc$aHh6 zN^Rc8aL%bJtI zUeQD7xu>dhsS|@&BJSF>>V-~#ZckO6PhvaKcx7#Hd#dVu zCfm!gU`E)8OnQL+@7jBpZfMT8h59v&IiEN zUaI$WIx`q;Xqt=k2jsuZ(1mKD z-AwhkyeTaBMii(>SB=mXkMaLw-?>mYkuRT%p~cht|2~GX8V21gu6k(IZt;ccA!5IJ zR^KH)sPlURDzN``HAIZkzNiS#(>c7;86e)l(DrflV7}&^@RSdDC%oI?xT?e}!O}KP z!SR7d3^&VYvEzZKea=;nSMY>yQg}S+#4DZ}9;sn)s|T-O2-~Q>7~noyTDRz3XuyWS zmuui@LD$KXIHSco7}{K|9=!LU2CsNz8$Sg>j}W^`;QgEkQFqn<`Xm;5k-`IJaf`t# z-Wl?n<9mbpLyE*@mDh4J?@Xv6unn%h+o?aI=;Eapct?1lArt(O0}GhO@!dFQ#OPSO z6FR}!YRzx&ud_GE72B7kQc!W(ZJ|tatFpcW(s^z`wFA}Q0spe zOM#s=FuG=3f=MaFdu9q)ua;qO;PY$7E2}^N*T9@#GhPAXzd-xepgYazX7bKWr#P;G z(H8@kELI2Ooy9;DXkhet=D%}bzt^>I4Z1axbd}ccI$h`t>^E9VW4KE6K|c^#x|Uo` z=3QXE4`^D_!MK{t%V6O6M}AYU+1HAkx2d`}>ub4p+}dZA9hQf=P>1CmG$#1tDlNax z=xQ?W=6^27fajlpyfQVrI|g*C8}FcT^W{ocG+JZOb=&Bmc ziM@ly-7%nB-FU@q+#LhDMWZRnJO1PD7|^51yqBlCI|g)xr3IOHJju(x%ywGIT-7%o6Zgeynp%#yS zd+W{h81VCO$CoR+$z#CJiT(SZ@^25F_wVMzpWWB~kh}Wf1^utzSGB4q{Yn43`BeT@ zpYvT){?%Uh*Ob3V*NUFU|6pUm;wP5)|QR8=s8Ug2Y}5PF6E_YYWzUJ+*J zh|nwA+bcTh63m4*c9DT`1=1r z4*aH`<|}N<{~!mi(B+`V)vurZ-LP;Mcf)f2b`#6}AH>Ym(U54vKT$G{c7p~ve}?a$ zis^TLF>L1lFsNL8P`Fb465QXa*c}?zUvT<|V%+J*E@m4-@N1>;BcTzC44r_^LKD#h zbPK${geIZi(PZ2cO~E;6DqfDV@gpb)A4StiACyaGq8a2ylt+%Bnbd&t=>Swfi%}t6 zi;Cd4*3I-sRLnXc3;ZZ?8Hb8hI?5#}na|g68u{XaO%o3wa~dFF=d= zafDZd9Tkhjh~@=j3=P(Cv>mzEV|Fc;1!1MH;qE~n$pk~(**Q@DFfokZJx5Zd7rgdX+jh_?Aep`AXx(Jr5U@JdCy zeI}#FeDa~L2<`EigZBE&h1YWQxX)VjgwH0ZyA3_*vjsin^9a12LQng=44+>^&-ffc z`+SbV>pQgH=M;QCgP!&EMbG&L!K*WR-ZvIL_d_rHPD8KwE<%TWpF?l>1)(?n#-n%r zrlI%ziqQLhmFNS%jp$>)SJ5Y;Bl=YILZ69vc#S}xi!Ahon2o*^HuRNPjE;%*(7q9U zEjFWX#69rZiH?hB(YNAF^qu$|eJ_4SKluBiul@bekN$1ZN&impibp^B4?{ouXQ5yG zXQN;JZRj`uh0wkj{qBDmI^};Ayf&df{2xH4{a;3B{EtBW`{=Cy7wAv_Z{c+Y{T1K~ zKfl`>=0va$6cn%u_4q;Qk5$qEfhW!Ggun3ICfr0&TP~Zq09GHPa0x!X# zfroM1Ab}%-(s5+a#kgJ29^5|YXWSt;9(M{}hC2rz!ciezaF>ue+%;rB?iShx_XxG% zUZHbwbm$`7JM=Of8+r}y6M6%V54{T~gl@(CLLbA4q5E+E(3f#ioA!8Mn@T*W&0ah> z%nuI@Ym1Y^qVVvrK6pe}5*`(nf>XlA5>0xv6xUgq%MtCqDA8y8( z;oIf6 zWFeFmToYM==SJ4!y2xd?KJs$h5P3CjjQkYJV|ZTVal9b%SG=$t!He4Y;fvY@ky2u@6Zn4&>;%n z*r5T+Mfj!;OYkinF2|cXY{0j6*n~HCxD(&j;WsGH;@dkSd`Cxt@9Y?X@9NkE-`%kn zzNh0wP+o%X?YIKp-*GM8((xAjK*ziBgB>5hTRZ-RAMC{OL!C_c;ZAMvBb}n~woWm) zsZ#>p-sw^(SK}R>uEaY#-GFy>x(n~_v=u+rX*=H2*@z$O?2q?$4#H1#?tq`{9F3pq z+z&t9c@Tc4^BO4E;eDMq;AcB;#?N(r06*V(2Y#XR9{gfd0Dd8=4L%Un7QYIO-n!Mil&dTGU?rR@5{2?Ji;XtuF2HJ6$^ABVBsq zce@P4?{yi8-|sR8f6(PdC^zE|yWD|~c6kVY)MXF;xXXV0NtXlo)2rqHAG*GQPjr13|JW@K zpXk;fpX@de|I{r7|J-c?{-xV={A;&D{988*{=M5{P(FoEb=!wecY76|>Gm!@+wD{Q zXSd_{uWmmQ)O`&8t9vHF-6s;-eI{Yu%LwmYLk!&)5M%eH#MJ#Tlt+k9_xFi!_pgXw z_n(O9eunt>;3S}j9|`PH2&IJt^{5~rJsL=8kBdp09;-=MkM$(H#|@-yk8hzoNg{gu zLfZAjqDaR~>D03a>D+T6l*>p|&*h|R&#Otdo;Q*1J?|tvdOk>c_G}`( zdKpO1UV=pT3M9RIwI{K?dXYZ8`jWU_Lr8qDktCtlwNTzj`u4hoB=)+G^zXHU4CwU) zN$T}H8QAL;GAKHV42y zk{10M86Eu&858|6Nss=LjExye(ql%EaWQEmBW4mAA2W+&#*~t*m?|&5- z$)uP=WJ=5jWNOSYk{$CS$%*-cOzVxv^xip8&Lp|L^GRNBE1B85k<9A7l+5nEisbjc ziWKzz1j?^SVefB9QSV=gIhK&(SU*w{+lG|Jwj-9S?qjL5xas|W7m>7u{V;+ z*gJ?V_C8V-dxqHh5K`TTliEJPWNx31q^?g-Qr{?&knMv&lBXLKF^cIeO@6;;-bjnxSnKbTnt$jH;`N$mr5>)%OuO=a>%7|Gs%j$ zhoIa+R>tijtKyy|m&Y93Cqdt32Vq53G2w6312{YoZOZ0J-H|0G`Y90k=)leh}_>dl5FYQnLN<99?FH} z!M=;hLw#41hx=|MkMzBjZ0mb3Y3ln3+1__2+0oCJZ0{FD9_<%OcJ_-RyZZGZyZa@P z$NG&Rd-{zfd;3iwkN3MB%6rKZ{kD*&`t2f5_uEgN>GulR*Y7Q|zu)`h*~A30KQW0s zmpGWbkT{yWm^hgnNX#QIB^HyH6D!CoiH}3MkGz`r9C!5h#z65Bh&XKJ5QJIokgZ z^3ecFJ{};*Cj&yrrvu8Mw2{vS)Q~R*EGAzLxSV`7U>!L&;3o3*fZND71Ad0`4|06K zS@K&q^;ys(suGk(qrUI(tdI_ z=^*(t=?M8N=_o}56Uko#2U9#SnUaC&ln$Iq*}z$p4>VK5z(=9nON|4cq&@==P~U-X zQNMvlsTlY<^&d2tia{f2z@QWwG$@M(51K(k2AOH-pmN$~&|WB?p<#obrELctq7j2W zppk>VpzQ`7r|k!ir0oWep&bT~qn!um(5S&hw98;C?K-%Ib{o7O$^*3f;8$qR!SB#s zgFmCugTJLQgHO`lL(*x?kSrQIWD<=VGKzFF|>TCJuRn4j6Kj zCJp(94jl3m9W>+=9Xxab9W*qX4jDR~4jo!dlZRH*VMFKB;X{|u5kp^x@*O&I=zBC} z=$ABg=t-J3^fVovjOm!B$9jZ1NmBE_oi!NM1(AC$FTL$?rn>5zR{eluk_k zo=!^sgH9es>6BqUbn38tC`)MeurfMrSRI`{Y$?qhwu;Ueb`{MV_6d|<(V4@(p|gkm zLi2}XS}@#~77h=hMZ-&>oI}mSt7ysag|u||N@^K?H7y&yftC+H2Icp(V)&1A&hRs| za)gQ6Mg-HU5p8Mph)O8u(wY$sw06YBbnb{NY2Ap8w0^|Rv|+>#Q2s(2NBmCbjbwEG z$RN64WF%cUvNK&YvL4EX^rDfA>5`F`)1@Of&}Abx(ThjkNiP}s820aebaQGvy*;%by(4uvy)!j~-jzC)-kmy&-jiyk_ohAyXUR!>Pz&2 z)VJw_sUOj;smJI;so&Fw(^Ba}Y2)Z4X_>SsEthUjE1^5mZ1mBzM!GZYBDyQ>Ae3*> z-DyYYp0v;D-n0|+@w8L)iP3~UIod>@8a*4zV*2!G3*9$*F5N$R34M0-W%Rkx*U;xj zZ=^4b{u;_3=!>II(w9d6Nnal0OJ5liN?#q*fxb4TD?K=79+Zpep)t$o;W2CI8)L4g zZ;rW*zBT54`u3QI={pc+Z>RgvBk6*^mmWdiPw!4YNROi*rVpe?(}&TI($_+H9sM}{ zM*2zm-SpG+ZS=GBJ@oVR{q&3U1N6(W9qAWiyV0-4_M~5rO{Cw99YK$e9ZSC*JDGkr zb~^oj>=q~=p+Ah>PJbNx6g@fiW%|?DH|ft~Kcv5m{fz!PZV>%t+;IBaxKZ@?aar`# zxEb`1ab|jY+#GslTrE92?pY{bqJNHim7#I(F+A=|M#lZX=(yh*8}}#U8B-a{n86Gg zvzRHPocUzbGvAEG%r9dl6B%omf5t~pe!&7Vj%vV^StSALrzeZq!jeZ`U|B(tFt zQrNHwquGcFQ`pD}`E1mLGL|x-hNVtuWN8x)KzWdjo^Y6@Pxy$9op79uoA5Ksm~fVj zpJ-s269vnfSOjGmn=sMJCQh8kCQV$t@JJe*l4r?WYevsmTi+n~IM*(Tr5sweMcHIw(T+Q~1oxs%^y zb(7y?^;6REtZCX*ju?jvbS@8WADt!WN*)y!j8F}2OvFykG_ap$&V;gv{XDaT{W`On{WfzE`+er6?9|NF z?2nlrLirgxJ@ZR;X6B#l>?~jQ=d4in*Q`j6W>rC1&+)8zoX%R#*{rKMpLIPq%-Y0_ zvwno~H*T8s2lt!JxtJZy{b#r10kgaDz}Yc8X!a5)FXh3rFXJJz*YVKVn|Pbq_wcaU z5A*QZkMg$pK0G`>kVoW)@OJqfdHehr-XTAccg#=bo$^z7=lqRO-pr%&Z{=O{xA1QH zJ9+o~r+AP27kSV8*LbgjuDoYKG>>wr#z|P7#~jUWd}v`lPcAIu!wPHo@WMtu zqVNEe2l>dt!#t(%C{Hc?hNl(MsN;bV#jPcNDdng}DIUnnim!ljEiW&=mRA&S z=GNi|_?+S$yt4QSZY$o;t4i8(TS-S=T@uA>OZxD+C4+fgNeZto8P6L^CiBLUyP({{ z=ap>b3re2j3rk+-i%Q<(7nOX*7ngj^my{0Yi%Zk^($aLktaK{BxU_&@Qd-WJm)7!2 zOXu+wr7uBwh_5VtgRd(6m|tG{Eni*w3%{cDPrk-tA-A1Z&CKU}_-KT`fI-&X!AZz_L-Z?EXZn=0b?j*7l~XT>nSt707A zT``3}Rxy+BsVL%mD|SG+hd*BN1b?F9CH`c^+x)4DkNDFS$M`c9-}8OeRQ`;09N%xv z=^buIHauZscE9-p;?O+{%wt?&M!rKE=POe2yQ74X1Bx zo%y%6uKYV&0{`BY%zvZ=1e$sX?lw0{vwnz9cwkP3F8{Nti2qe(HK3{*1FqT+_%{o}2B7kg*MV)NfkF zG?vc_5DGX{`W`C;3I|4&UcrihB7yx&=QA@I)MXmg-dCrt(x?u>I<-NgI!5T!EgID+N~iA9sLs(k^?*i2CFoR>Ms*peQ+qV3 z>j<5C2G!Ze(QSfGy{l2(%XI1|jp}i+M)ma9shc#aS1+B~p;6H(I`x`H#mv&FV;a@F zQKMpsPOa6bJ{@)H0d$cab6l!c7k5ab;tO=@xJD%`)Tq8jo!Y2L>DNc6_G_()lXdE- zM)kMp)E^o(;Bt*h3fH70J)-$b(oW4^k`8JbA2?N~-qNT+Gj!?$jT&5}Q=e(nkaC^+ zMx%yS>(oh&N}i`ve`wUOr5ZIH>(ok(8e!6@D>Z6lkWT5|IjXHT-cfgIR7!$QJ+4uy z89Md0Mx~YL)Cr9my+otN`0CX48kOE%r?zR-*bzGQvPO-Yp;KRKR7Sl8=^l-mJV2-RY19y3f8(qjF+(N{{4edL&QVr?pNWqf-YoDp&Wg++$kZ44Y1!(5Sq6 zo%&6qW-ijGS^69{>uRlTcCa?e*_$*fKSrl^YE(g*PU*2)sB5?I8?CiyzDAjuPOa0Z z;!ZmCfJT)J)~VMusxm2qw(=nHA*6PaRbZW0gRgBXq-HWZITAlTzCV9?k zjjD{&S}V6|lr34O4ro+Wu10r Jql~hb{|~$tl~4cx diff --git a/bin/com/kitsu/medievalcraft/item/ModItems.class b/bin/com/kitsu/medievalcraft/item/ModItems.class index eac0fe9697d31eb0ed6d84505ca56a3d9bd025ca..e63ce2b558c23269da092e45612fdf1b663e0d4f 100644 GIT binary patch literal 31753 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 z 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 MUr0|5R1azMf89wPssI20 diff --git a/bin/com/kitsu/medievalcraft/packethandle/forgeHammerParticles/MsgHandleLocX.class b/bin/com/kitsu/medievalcraft/packethandle/forgeHammerParticles/MsgHandleLocX.class index 5a17f64c4724b600cb38d58c0a11c86a13bf9e53..1d7c2305bd36e4899a6943c3c55dddc7e8bd2b51 100644 GIT binary patch delta 13 UcmX@leV%(m94n*Xz>% delta 13 UcmX@leV%(m94n*P 10.0F) + { + world.playSoundAtEntity(test, (Main.MODID + ":cannon1"), (float) (200-(vecPlayer.distanceTo(vecTest)))/400, 1.0F); + } + } + if(tile.getStackInSlot(1)!=null){ if(tile.getStackInSlot(1).getItem()==ball){ tile.decrStackSize(1, 1); - cannonball = new EntityCannonBall(world, (double)x+(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))), (double)y, (double)z+(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))), null); + cannonball = new EntityCannonBall(world, (double)x+(2*(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])))), (double)y+0.5, (double)z+(2*(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])))), null); //System.out.println(angles[world.getBlockMetadata(x, y, z)]); //System.out.println(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))); //System.out.println(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))); - cannonball.setVelocity( - ((tile.getStackInSlot(0).stackSize*(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4)), - 0.25, - ((tile.getStackInSlot(0).stackSize*(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4))); - /* - * (((tile.getStackInSlot(0).stackSize-world.rand.nextFloat())*((Math.sin(Math.PI)/180) * angles[world.getBlockMetadata(x, y, z)]))), - 0.25, - (((tile.getStackInSlot(0).stackSize-world.rand.nextFloat())*((Math.cos(Math.PI)/180) * angles[world.getBlockMetadata(x, y, z)])))); - */ + //cannonball.setVelocity(((tile.getStackInSlot(0).stackSize*(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4)),0.25, ((tile.getStackInSlot(0).stackSize*(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4))); + cannonball.motionX = ((tile.getStackInSlot(0).stackSize*(Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4)); + cannonball.motionY = 0.25; + cannonball.motionZ = ((tile.getStackInSlot(0).stackSize*(Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))))-(world.rand.nextFloat()/4)); tile.setInventorySlotContents(0, null); tile.markForUpdate(); tile.markDirty(); } } - //} + } } - - tile.markForUpdate(); tile.markDirty(); return cannonball; } - + @Override public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int q, float a, float b, float c) { + if(!world.isRemote){ TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z); if(tileEnt.isOn==false){ if(player.inventory.getCurrentItem()!=null){ if(player.inventory.getCurrentItem().getItem()==Items.flint_and_steel){ world.spawnEntityInWorld(shootCannon(world,x,y,z)); + tileEnt.smoke=true; tileEnt.markForUpdate(); tileEnt.markDirty(); return true; @@ -144,162 +144,170 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{ } @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block block){ - if (world.isBlockIndirectlyGettingPowered(x, y, z)) - { - TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z); - if(tileEnt.isOn==false){ - world.spawnEntityInWorld(shootCannon(world, x, y, z)); - tileEnt.markForUpdate(); - tileEnt.markDirty(); + if(!world.isRemote){ + if (world.isBlockIndirectlyGettingPowered(x, y, z)) + { + TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z); + if(tileEnt.isOn==false){ + world.spawnEntityInWorld(shootCannon(world, x, y, z)); + tileEnt.smoke = true; + tileEnt.markForUpdate(); + tileEnt.markDirty(); + } } } } - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess iBlock, int x, int y, int z) - { - int l = iBlock.getBlockMetadata(x, y, z) & 7; + /** + * Updates the blocks bounds based on its current state. Args: world, x, y, z + */ + @Override + public void setBlockBoundsBasedOnState(IBlockAccess iBlock, int x, int y, int z) + { + int l = iBlock.getBlockMetadata(x, y, z) & 7; - switch (l) - { - case 1: - default: - this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); - break; - case 2: - this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); - break; - case 3: - this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); - break; - case 4: - this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); - break; - case 5: - this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); - } - } + switch (l) + { + case 1: + default: + this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); + break; + case 2: + this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); + break; + case 3: + this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); + break; + case 4: + this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); + break; + case 5: + this.setBlockBounds(0F, 0.0F, 0F, 1F, 1F, 1F); + } + } - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) - { - this.setBlockBoundsBasedOnState(world, x, y, z); - return super.getCollisionBoundingBoxFromPool(world, x, y, z); - } + /** + * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been + * cleared to be reused) + */ + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) + { + this.setBlockBoundsBasedOnState(world, x, y, z); + return super.getCollisionBoundingBoxFromPool(world, x, y, z); + } + /** + * Called when the block is placed in the world. + */ + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack) + { + //22.5 + //11.25 + if(!world.isRemote){ + double a = living.rotationYaw; + if (a<0){ + a=360+a; + } + //a = a; + System.out.println(living.rotationYaw); + System.out.println(a); + if(a >= 180-11.25 && a <= 180+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 0, 2); + System.out.println("0"); + } + if(a >= 202.5-11.25 && a <= 202.5+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 1, 2); + System.out.println("1"); + } + if(a >= 225-11.25 && a <= 225+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + System.out.println("2"); + } + if(a >= 247.5-11.25 && a <= 247.5+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + System.out.println("3"); + } + if(a >= 270-11.25 && a <= 270+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + System.out.println("4"); + } + if(a >= 292.5-11.25 && a <= 292.5+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + System.out.println("5"); + } + if(a >= 315-11.25 && a <= 315+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 6, 2); + System.out.println("6"); + } + if(a >= 337.5-11.25 && a <= 337.5+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 7, 2); + System.out.println("7"); + } + if(a <= 0+11.25 && a >=0){ + world.setBlockMetadataWithNotify(x, y, z, 8, 2); + System.out.println("8"); + } + if(a >= 360-11.25 && a <= 360){ + world.setBlockMetadataWithNotify(x, y, z, 8, 2); + System.out.println("8"); + } + if(a >= 22.5-11.25 && a <= 22.5+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 9, 2); + System.out.println("9"); + } + if(a >= 45-11.25 && a <= 45+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 10, 2); + System.out.println("10"); + } + if(a >= 67.5-11.25 && a <= 67.5+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 11, 2); + System.out.println("11"); + } + if(a >= 90-11.25 && a <= 90+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 12, 2); + System.out.println("12"); + } + if(a >= 112.5-11.25 && a <= 112.5+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 13, 2); + System.out.println("13"); + } + if(a >= 135-11.25 && a <= 135+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 14, 2); + System.out.println("14"); + } + if(a >= 157.5-11.25 && a <= 157.5+11.25){ + world.setBlockMetadataWithNotify(x, y, z, 15, 2); + System.out.println("15"); + } + } + } - /** - * Called when the block is placed in the world. - */ - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack) - { - //22.5 - //11.25 - if(!world.isRemote){ - double a = living.rotationYaw*(-1); - //System.out.println(a); - if(a >= 180-11.25 && a <= 180+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 0, 2); - //System.out.println("0"); - } - if(a >= 202.5-11.25 && a <= 202.5+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 1, 2); - //System.out.println("1"); - } - if(a >= 225-11.25 && a <= 225+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - //System.out.println("2"); - } - if(a >= 247.5-11.25 && a <= 247.5+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - //System.out.println("3"); - } - if(a >= 270-11.25 && a <= 270+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - //System.out.println("4"); - } - if(a >= 292.5-11.25 && a <= 292.5+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - //System.out.println("5"); - } - if(a >= 315-11.25 && a <= 315+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 6, 2); - //System.out.println("6"); - } - if(a >= 337.5-11.25 && a <= 337.5+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 7, 2); - //System.out.println("7"); - } - if(a >= 360-11.25 || a <= 0+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 8, 2); - //System.out.println("8"); - } - if(a >= 22.5-11.25 && a <= 22.5+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 9, 2); - //System.out.println("9"); - } - if(a >= 45-11.25 && a <= 45+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 10, 2); - //System.out.println("10"); - } - if(a >= 67.5-11.25 && a <= 67.5+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 11, 2); - //System.out.println("11"); - } - if(a >= 90-11.25 && a <= 90+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 12, 2); - //System.out.println("12"); - } - if(a >= 112.5-11.25 && a <= 112.5+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 13, 2); - //System.out.println("13"); - } - if(a >= 135-11.25 && a <= 135+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 14, 2); - //System.out.println("14"); - } - if(a >= 157.5-11.25 && a <= 157.5+11.25){ - world.setBlockMetadataWithNotify(x, y, z, 15, 2); - //System.out.println("15"); - } - /*int l = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3; - world.setBlockMetadataWithNotify(x, y, z, l, 2);*/ - //System.out.println((a)); - } - //System.out.println(l); - } - - public void onBlockClicked(World world, int x, int y, int z, EntityPlayer player) { - if(!world.isRemote){ - if(player.isSneaking()==true){ - if(world.getBlockMetadata(x, y, z)==15){ - world.setBlockMetadataWithNotify(x, y, z, 0, 2); - //System.out.println(world.getBlockMetadata(x,y,z)); - } - if(world.getBlockMetadata(x, y, z)<15){ - world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z)+1, 2); - //System.out.println(world.getBlockMetadata(x,y,z)); - } - } - if(!player.isSneaking()==true){ - if(world.getBlockMetadata(x, y, z)>0){ - world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z)-1, 2); - //System.out.println(world.getBlockMetadata(x,y,z)); - } - if(world.getBlockMetadata(x, y, z)==0){ - world.setBlockMetadataWithNotify(x, y, z, 15, 2); - //System.out.println(world.getBlockMetadata(x,y,z)); - } - } - } - } + public void onBlockClicked(World world, int x, int y, int z, EntityPlayer player) { + if(!world.isRemote){ + int last = world.getBlockMetadata(x, y, z); + if(player.isSneaking()==true){ + if(world.getBlockMetadata(x, y, z)==15){ + world.setBlockMetadataWithNotify(x, y, z, 0, 2); + System.out.println("A: " + world.getBlockMetadata(x,y,z)); + } + if(world.getBlockMetadata(x, y, z)<15 && last !=15){ + world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z)+1, 2); + System.out.println("B: " + world.getBlockMetadata(x,y,z)); + } + } + if(!player.isSneaking()==true){ + if(world.getBlockMetadata(x, y, z)>0){ + world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z)-1, 2); + System.out.println("C: " + world.getBlockMetadata(x,y,z)); + } + if(world.getBlockMetadata(x, y, z)==0 && last != 1){ + world.setBlockMetadataWithNotify(x, y, z, 15, 2); + System.out.println("D: " + world.getBlockMetadata(x,y,z)); + } + } + } + } public void breakBlock(World world, int x, int y, int z, Block block, int meta) { TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z); @@ -356,5 +364,24 @@ public class Cannon_28 extends BlockContainer implements CannonUtil{ public boolean isOpaqueCube() { return false; } + @SideOnly(Side.CLIENT) + @Override + public void randomDisplayTick(World world, int x, int y, int z, Random rand) + { + super.randomDisplayTick(world, x, y, z, random); + } } +/* +if(world.isRemote){ + TileCannon_28 tileEnt = (TileCannon_28) world.getTileEntity(x, y, z); + if(tileEnt.smoke==true){ + System.out.println("make smoke"); + for(int f = 0; f < 10; f++){ + world.spawnParticle("cloud", x + (Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])))+world.rand.nextFloat()/10, y+world.rand.nextFloat()/10, z + (Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)]))+world.rand.nextFloat()/10), + (Math.sin(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])))/5, 0.2D, (Math.cos(Math.toRadians(angles[world.getBlockMetadata(x, y, z)])))/5); + } + tileEnt.smoke=false; + } +} + */ diff --git a/src/main/java/com/kitsu/medievalcraft/compat/ModDict.java b/src/main/java/com/kitsu/medievalcraft/compat/ModDict.java index cfc07d02..48b08364 100644 --- a/src/main/java/com/kitsu/medievalcraft/compat/ModDict.java +++ b/src/main/java/com/kitsu/medievalcraft/compat/ModDict.java @@ -17,6 +17,7 @@ public class ModDict { OreDictionary.registerOre("strapLeather", new ItemStack(ModItems.leatherStrap, 1, 0)); OreDictionary.registerOre("ringIron", new ItemStack(ModItems.ironRing, 1, 0)); OreDictionary.registerOre("ingotIron", new ItemStack(ModBlocks.refinedIron, 1, 0)); + OreDictionary.registerOre("nuggetIron", new ItemStack(ModItems.ironChunk, 1, 0)); OreDictionary.registerOre("ingotSteel", new ItemStack(ModBlocks.damascus, 1, 0)); OreDictionary.registerOre("materialHardenedLeather", new ItemStack(ModItems.finishedLeather, 1, 0)); OreDictionary.registerOre("bladeTool", new ItemStack(ModItems.workBlade, 1, 0)); diff --git a/src/main/java/com/kitsu/medievalcraft/crafting/FormTableCraftManager.java b/src/main/java/com/kitsu/medievalcraft/crafting/FormTableCraftManager.java index 4aefcbf9..61354acd 100644 --- a/src/main/java/com/kitsu/medievalcraft/crafting/FormTableCraftManager.java +++ b/src/main/java/com/kitsu/medievalcraft/crafting/FormTableCraftManager.java @@ -60,107 +60,7 @@ public class FormTableCraftManager implements IRecipe{ Collections.sort(this.recipes, new FormTableRecipeSorter(this)); } - -/* public ShapedOreRecipe(Block result, Object... recipe){ this(new ItemStack(result), recipe); } - public ShapedOreRecipe(Item result, Object... recipe){ this(new ItemStack(result), recipe); } - public ShapedOreRecipe(ItemStack result, Object... recipe) - { - output = result.copy(); - String shape = ""; - int idx = 0; - - if (recipe[idx] instanceof Boolean) - { - mirrored = (Boolean)recipe[idx]; - if (recipe[idx+1] instanceof Object[]) - { - recipe = (Object[])recipe[idx+1]; - } - else - { - idx = 1; - } - } - - if (recipe[idx] instanceof String[]) - { - String[] parts = ((String[])recipe[idx++]); - - for (String s : parts) - { - width = s.length(); - shape += s; - } - - height = parts.length; - } - else - { - while (recipe[idx] instanceof String) - { - String s = (String)recipe[idx++]; - shape += s; - width = s.length(); - height++; - } - } - - if (width * height != shape.length()) - { - String ret = "Invalid shaped ore recipe: "; - for (Object tmp : recipe) - { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - - HashMap itemMap = new HashMap(); - - for (; idx < recipe.length; idx += 2) - { - Character chr = (Character)recipe[idx]; - Object in = recipe[idx + 1]; - - if (in instanceof ItemStack) - { - itemMap.put(chr, ((ItemStack)in).copy()); - } - else if (in instanceof Item) - { - itemMap.put(chr, new ItemStack((Item)in)); - } - else if (in instanceof Block) - { - itemMap.put(chr, new ItemStack((Block)in, 1, OreDictionary.WILDCARD_VALUE)); - } - else if (in instanceof String) - { - itemMap.put(chr, OreDictionary.getOres((String)in)); - } - else - { - String ret = "Invalid shaped ore recipe: "; - for (Object tmp : recipe) - { - ret += tmp + ", "; - } - ret += output; - throw new RuntimeException(ret); - } - } - - input = new Object[width * height]; - int x = 0; - for (char chr : shape.toCharArray()) - { - input[x++] = itemMap.get(chr); - } - } - - */ public FormTableShapedRecipes addRecipe(ItemStack p_92103_1_, Object ... p_92103_2_) { String s = ""; diff --git a/src/main/java/com/kitsu/medievalcraft/crafting/ModCrafting.java b/src/main/java/com/kitsu/medievalcraft/crafting/ModCrafting.java index f1e235c3..1e430d3b 100644 --- a/src/main/java/com/kitsu/medievalcraft/crafting/ModCrafting.java +++ b/src/main/java/com/kitsu/medievalcraft/crafting/ModCrafting.java @@ -230,13 +230,13 @@ public final class ModCrafting { 'a', Blocks.sand, 'b', Blocks.iron_ore, 'c', new ItemStack(Items.coal,0,1)}); - GameRegistry.addRecipe(new ItemStack(ModBlocks.crucibleIronIngot), + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.crucibleIronIngot), new Object[]{" x ", "abc"," y ", 'x', Blocks.stone_slab, 'y', ModBlocks.emptyCookedCrucible, 'a', Blocks.sand, - 'b', Items.iron_ingot, - 'c', new ItemStack(Items.coal,0,1)}); + 'b', "ingotIron", + 'c', new ItemStack(Items.coal,0,1)})); GameRegistry.addRecipe(new ItemStack(ModBlocks.crucibleWootz), new Object[]{" x ", "abc", " y ", @@ -274,6 +274,23 @@ public final class ModCrafting { GameRegistry.addRecipe(new ShapedOreRecipe(gladius0, new Object[]{"x", "y", Character.valueOf('y'), "strapLeather", 'x', ModItems.ironshortswordBlade})); GameRegistry.addRecipe(new ShapedOreRecipe((ModItems.itemITSpear), new Object[]{"a", "c", "b", 'a', ModItems.ironspearTip, 'b', ModItems.woodentoolHandle, Character.valueOf('c'), "strapLeather"})); + //-----------------------CANNONS-----------------------// + GameRegistry.addRecipe(new ItemStack(ModItems.cannonBarrel), + new Object[]{" xx", " ", " xx", + 'x', ModBlocks.ironPlate}); + GameRegistry.addRecipe(new ItemStack(ModItems.cannonBreach), + new Object[]{" x ", " x", " x ", + 'x', ModBlocks.ironPlate}); + GameRegistry.addRecipe(new ItemStack(ModBlocks.cannon_28), + new Object[]{" x ","cyc", "ccc", + 'y', ModItems.cannonBreach, + 'c', ModItems.splitBoard, + 'x', ModItems.cannonBarrel}); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.cannonBall_28,4), + new Object[]{" x ", "xyx", " x ", + 'x', "nuggetIron", + 'y', Blocks.stone})); + //-----------------------PICKAXE COMBOS-----------------------// //BASE PICK GameRegistry.addRecipe(new ItemStack(Items.iron_pickaxe), new Object[]{"a", "b", 'a',ModItems.ironpickaxeHead, 'b', ModItems.woodentoolHandle}); @@ -1643,9 +1660,9 @@ public final class ModCrafting { //-----------------------FORGE HAMMER CRAFTING-----------------------// //IRON CHUNK - //GameRegistry.addRecipe(new ItemStack(ModItems.ironChunk, 18, 0), new Object[]{"x", "y", - // Character.valueOf('y'), ModItems.hotIronIngot, - // Character.valueOf('x'), new ItemStack(ModItems.forgeHammer, 1, OreDictionary.WILDCARD_VALUE) }); + GameRegistry.addRecipe(new ShapedOreRecipe (new ItemStack(ModItems.ironChunk, 18, 0), new Object[]{"x", "y", + Character.valueOf('y'), "ingotIron", + Character.valueOf('x'), new ItemStack(ModItems.forgeHammer, 1, OreDictionary.WILDCARD_VALUE) })); /* //IRON PICKAXE HEAD FROM CLAY FORM GameRegistry.addRecipe(new ItemStack(ModItems.ironpickaxeHead, 1, 0), new Object []{"x", "y", "z", diff --git a/src/main/java/com/kitsu/medievalcraft/entity/EntityCannonBall.java b/src/main/java/com/kitsu/medievalcraft/entity/EntityCannonBall.java index eae08400..eea946dc 100644 --- a/src/main/java/com/kitsu/medievalcraft/entity/EntityCannonBall.java +++ b/src/main/java/com/kitsu/medievalcraft/entity/EntityCannonBall.java @@ -3,6 +3,7 @@ package com.kitsu.medievalcraft.entity; import java.util.List; import com.kitsu.medievalcraft.block.ModBlocks; +import com.kitsu.medievalcraft.util.CannonUtil; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -23,7 +24,7 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class EntityCannonBall extends Entity{ +public class EntityCannonBall extends Entity implements CannonUtil{ private EntityLivingBase tntPlacedBy; public int damage = 100; @@ -31,6 +32,7 @@ public class EntityCannonBall extends Entity{ private int field_145792_e = -1; private int field_145789_f = -1; public Entity shootingEntity; + private boolean smoke = true; public EntityCannonBall(World p_i1582_1_) { super(p_i1582_1_); @@ -54,11 +56,30 @@ public class EntityCannonBall extends Entity{ this.prevPosZ = z; this.tntPlacedBy = entLiving; this.renderDistanceWeight = 100; + this.smoke = true; } public void onUpdate() { - + if(this.smoke==true){ + for(int g = 0; g < 20; g++){ + this.worldObj.spawnParticle("explode", this.posX + worldObj.rand.nextFloat()*2 - 1, this.posY + worldObj.rand.nextFloat()*2 - 1, this.posZ + worldObj.rand.nextFloat()*2 - 1,0.0, 0.0, 0.0); + } + this.smoke=false; + } + /*double x = this.posX; + double y = this.posY; + double z = this.posZ; + + if(worldObj.isRemote){ + if(this.smoke==true){ + for(int g = 0; g < 10; g++){ + worldObj.spawnParticle("largesmoke", x +worldObj.rand.nextFloat()/10, y+worldObj.rand.nextFloat()/10, z +worldObj.rand.nextFloat()/10, + 1.0, 1.0D, 1.0); + } + this.smoke=false; + } + }*/ this.prevPosX = this.posX; this.prevPosY = this.posY; this.prevPosZ = this.posZ; @@ -67,7 +88,7 @@ public class EntityCannonBall extends Entity{ this.motionX *= 0.9800000190734863D; this.motionY *= 0.9800000190734863D; this.motionZ *= 0.9800000190734863D; - + Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition mop = this.worldObj.func_147447_a(vec31, vec3, false, true, false); @@ -79,14 +100,9 @@ public class EntityCannonBall extends Entity{ vec3 = Vec3.createVectorHelper(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); //System.out.println(mop.entityHit); } - + if(!worldObj.isRemote){ - - if (this.onGround) - { - this.explode(); - this.setDead(); - } + if(this.motionX==0||this.motionY==0||this.motionZ==0){ this.explode(); this.setDead(); diff --git a/src/main/java/com/kitsu/medievalcraft/item/ModItems.java b/src/main/java/com/kitsu/medievalcraft/item/ModItems.java index d11b9d58..a57c5d33 100644 --- a/src/main/java/com/kitsu/medievalcraft/item/ModItems.java +++ b/src/main/java/com/kitsu/medievalcraft/item/ModItems.java @@ -422,6 +422,10 @@ public final class ModItems { public static Item fortuneIronRod; public static Item efficIronRod; + //-----------------------TEMP CANNON PARTS-----------------------// + public static Item cannonBreach; + public static Item cannonBarrel; + //EnumHelper.addToolMaterial(name, harvestLevel, maxUses, efficiency, damage, enchantability) //Max stats a tool / weapon can have //public static ToolMaterial TUTORIAL = EnumHelper.addToolMaterial("TUTORIAL", 3, 1000, 15.0F, 4.0F, 30); @@ -483,6 +487,11 @@ public final class ModItems { //itemSmallBarrelLid = new Item().setUnlocalizedName("itemSmallBarrelLid").setCreativeTab(CustomTab.MedievalCraftTab).setTextureName(Main.MODID + ":itemSmallBarrelLid"); //GameRegistry.registerItem(itemSmallBarrelLid, "itemSmallBarrelLid"); + cannonBreach = new Item().setUnlocalizedName("cannonBreach").setCreativeTab(CustomTab.MedievalCraftTab).setTextureName(Main.MODID + ":cannonBreach"); + GameRegistry.registerItem(cannonBreach, "cannonBreach"); + + cannonBarrel = new Item().setUnlocalizedName("cannonBarrel").setCreativeTab(CustomTab.MedievalCraftTab).setTextureName(Main.MODID + ":cannonBarrel"); + GameRegistry.registerItem(cannonBarrel, "cannonBarrel"); woodPulp = new Item().setUnlocalizedName("woodPulp").setCreativeTab(CustomTab.MedievalCraftTab).setTextureName(Main.MODID + ":woodPulp"); GameRegistry.registerItem(woodPulp, "woodPulp"); diff --git a/src/main/java/com/kitsu/medievalcraft/packethandle/cannon/MsgHandleCannon.java b/src/main/java/com/kitsu/medievalcraft/packethandle/cannon/MsgHandleCannon.java new file mode 100644 index 00000000..e72cdd15 --- /dev/null +++ b/src/main/java/com/kitsu/medievalcraft/packethandle/cannon/MsgHandleCannon.java @@ -0,0 +1,16 @@ +package com.kitsu.medievalcraft.packethandle.cannon; + +import com.kitsu.medievalcraft.tileents.cannon.TileCannon_28; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; + +public class MsgHandleCannon implements IMessageHandler{ + + @Override + public IMessage onMessage(MsgPacketCannon message, MessageContext ctx) { + TileCannon_28.smoke = message.fired; + return null; + } +} diff --git a/src/main/java/com/kitsu/medievalcraft/packethandle/cannon/MsgPacketCannon.java b/src/main/java/com/kitsu/medievalcraft/packethandle/cannon/MsgPacketCannon.java new file mode 100644 index 00000000..41591c47 --- /dev/null +++ b/src/main/java/com/kitsu/medievalcraft/packethandle/cannon/MsgPacketCannon.java @@ -0,0 +1,26 @@ +package com.kitsu.medievalcraft.packethandle.cannon; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import io.netty.buffer.ByteBuf; + +public class MsgPacketCannon implements IMessage { + + public boolean fired; + + public MsgPacketCannon() {} + + public MsgPacketCannon(boolean x){ + this.fired = x; + } + + @Override + public void fromBytes(ByteBuf buf) { + this.fired = buf.readBoolean(); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeBoolean(this.fired); + } + +} diff --git a/src/main/java/com/kitsu/medievalcraft/packethandle/forgeHammerParticles/MsgHandleLocX.java b/src/main/java/com/kitsu/medievalcraft/packethandle/forgeHammerParticles/MsgHandleLocX.java index 6d6c1150..7dd8cf97 100644 --- a/src/main/java/com/kitsu/medievalcraft/packethandle/forgeHammerParticles/MsgHandleLocX.java +++ b/src/main/java/com/kitsu/medievalcraft/packethandle/forgeHammerParticles/MsgHandleLocX.java @@ -13,12 +13,7 @@ public class MsgHandleLocX implements IMessageHandler{ public IMessage onMessage(MsgPacketLocX message, MessageContext ctx) { IngotBase.locX = message.locx; - //Forge.locX = message.locx; - //ItemRendererLongbow.tick = message.lTick; - - //System.out.println(message.lTick); - //ctx.getClientHandler().addToSendQueue(new MsgPacket(message.useme)); - + return null; } } diff --git a/src/main/java/com/kitsu/medievalcraft/packethandle/forgeHammerParticles/MsgPacketLocX.java b/src/main/java/com/kitsu/medievalcraft/packethandle/forgeHammerParticles/MsgPacketLocX.java index a618312c..6a182cd7 100644 --- a/src/main/java/com/kitsu/medievalcraft/packethandle/forgeHammerParticles/MsgPacketLocX.java +++ b/src/main/java/com/kitsu/medievalcraft/packethandle/forgeHammerParticles/MsgPacketLocX.java @@ -13,7 +13,6 @@ public class MsgPacketLocX implements IMessage { this.locx = x; } - @Override public void fromBytes(ByteBuf buf) { diff --git a/src/main/java/com/kitsu/medievalcraft/renderer/blocks/cannons/Render_Cannon_28.java b/src/main/java/com/kitsu/medievalcraft/renderer/blocks/cannons/Render_Cannon_28.java index 1da2372b..b40c6983 100644 --- a/src/main/java/com/kitsu/medievalcraft/renderer/blocks/cannons/Render_Cannon_28.java +++ b/src/main/java/com/kitsu/medievalcraft/renderer/blocks/cannons/Render_Cannon_28.java @@ -24,9 +24,12 @@ public class Render_Cannon_28 extends TileEntitySpecialRenderer { EntityItem entItem = null; private static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/Cannon.obj"); + private static final ResourceLocation MODEL_MOUNT = new ResourceLocation("kitsumedievalcraft:models/cannon_mount.obj"); //private static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/cannonTest.obj"); private static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/Cannon.png"); + private static final ResourceLocation TEXTURE_MOUNT = new ResourceLocation("kitsumedievalcraft:models/cannon_mount.png"); private IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE); + private IModelCustom modelMount = AdvancedModelLoader.loadModel(MODEL_MOUNT); @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float scale) { @@ -34,23 +37,6 @@ public class Render_Cannon_28 extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glTranslatef((float) x, (float) y, (float) z); - /*if(tileEntity.getStackInSlot(0)==null){ - entItem=null; - } - - if(tileEntity.getStackInSlot(0)!=null){ - entItem = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(0)); - GL11.glPushMatrix(); - this.entItem.hoverStart = 0.0F; - RenderItem.renderInFrame = true; - GL11.glRotatef(90, 1, 0, 0); - RenderManager.instance.renderEntityWithPosYaw(this.entItem, 0.48D, 0.25D, -1.0D, 0.0F, 0.0F); - RenderItem.renderInFrame = false; - GL11.glPopMatrix(); - tileEntity.markForUpdate(); - tileEntity.markDirty(); - }*/ - renderBlock(tileEntity, tile.getWorldObj(), tile.xCoord,tile.yCoord, tile.zCoord, ModBlocks.cannon_28); tileEntity.markForUpdate(); tileEntity.markDirty(); @@ -60,105 +46,46 @@ public class Render_Cannon_28 extends TileEntitySpecialRenderer { public void renderBlock(TileCannon_28 tl, World world, int i, int j,int k, Block block) { Tessellator tessellator = Tessellator.instance; - // This will make your block brightness dependent from surroundings - // lighting. + float f = block.getLightOpacity(world, i, j, k); int l = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int l1 = l % 65536; int l2 = l / 65536; tessellator.setNormal(0.0F, 1.0F, 0.0F); - //OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit,(float) l1, (float) l2); - - /* - * This will rotate your model corresponding to player direction that - * was when you placed the block. If you want this to work, add these - * lines to onBlockPlacedBy method in your block class. int dir = - * MathHelper.floor_double((double)((player.rotationYaw * 4F) / 360F) + - * 0.5D) & 3; world.setBlockMetadataWithNotify(x, y, z, dir, 0); - */ int dir = world.getBlockMetadata(i, j, k); - + float a = -22.5F; GL11.glPushMatrix(); //GL11.glRotatef(15F, 0F, 1F, 0F); float scale = 1.05f; GL11.glScalef(scale, scale, scale); + + GL11.glTranslatef(0.5F, 0.41F, 0.5F); + GL11.glRotatef(a*dir, 0.0F, 1.0F, 0.0F); - /*if(dir >= 0 && dir <= 15){ - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - GL11.glTranslatef(0.48F, 0.5F, -0.5F); - }*/ - - if(dir == 0){ - GL11.glTranslatef(0.45F, 0.5F, 0.66F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 1){ - GL11.glTranslatef(0.52F, 0.5F, 0.64F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 2){ - GL11.glTranslatef(0.60F, 0.5F, 0.60F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 3){ - GL11.glTranslatef(0.64F, 0.5F, 0.530F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 4){ - GL11.glTranslatef(0.655F, 0.5F, 0.44F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 5){ - GL11.glTranslatef(0.645F, 0.5F, 0.368F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 6){ - GL11.glTranslatef(0.60F, 0.5F, 0.3F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 7){ - GL11.glTranslatef(0.52F, 0.5F, 0.25F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 8){ - GL11.glTranslatef(0.45F, 0.5F, 0.232F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 9){ - GL11.glTranslatef(0.375F, 0.5F, 0.25F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 10){ - GL11.glTranslatef(0.3F, 0.5F, 0.31F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 11){ - GL11.glTranslatef(0.25F, 0.5F, 0.3675F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 12){ - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - GL11.glTranslatef(0.45F, 0.5F, -0.235F); - } - if(dir == 13){ - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - GL11.glTranslatef(0.58F, 0.5F, -0.022F); - } - if(dir == 14){ - GL11.glTranslatef(0.3F, 0.5F, 0.6F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } - if(dir == 15){ - GL11.glTranslatef(0.36F, 0.5F, 0.64F); - GL11.glRotated(22.5F*dir, 0.0, 1.0F, 0.0F); - } // FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE); /* * Place your rendering code here. */ this.model.renderAll(); + + GL11.glPopMatrix(); + GL11.glPushMatrix(); + //GL11.glRotatef(15F, 0F, 1F, 0F); + float scale1 = 1.05f; + GL11.glScalef(scale1, scale1, scale1); + + GL11.glTranslatef(0.5F, 0.41F, 0.5F); + GL11.glRotatef(a*dir, 0.0F, 1.0F, 0.0F); + + // + FMLClientHandler.instance().getClient().renderEngine.bindTexture(TEXTURE_MOUNT); + /* + * Place your rendering code here. + */ + this.modelMount.renderAll(); + GL11.glPopMatrix(); } diff --git a/src/main/java/com/kitsu/medievalcraft/renderer/itemrenderer/cannons/IR_Cannon_28.java b/src/main/java/com/kitsu/medievalcraft/renderer/itemrenderer/cannons/IR_Cannon_28.java index 8a25dc22..aad0d046 100644 --- a/src/main/java/com/kitsu/medievalcraft/renderer/itemrenderer/cannons/IR_Cannon_28.java +++ b/src/main/java/com/kitsu/medievalcraft/renderer/itemrenderer/cannons/IR_Cannon_28.java @@ -16,7 +16,10 @@ public class IR_Cannon_28 implements IItemRenderer { public static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/Cannon.obj"); public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/Cannon.png"); + private static final ResourceLocation MODEL_MOUNT = new ResourceLocation("kitsumedievalcraft:models/cannon_mount.obj"); + private static final ResourceLocation TEXTURE_MOUNT = new ResourceLocation("kitsumedievalcraft:models/cannon_mount.png"); public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE); + private IModelCustom modelMount = AdvancedModelLoader.loadModel(MODEL_MOUNT); @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { @@ -82,6 +85,8 @@ public class IR_Cannon_28 implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); model.renderAll(); + Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT); + modelMount.renderAll(); GL11.glPopMatrix(); } break; @@ -100,7 +105,8 @@ public class IR_Cannon_28 implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); model.renderAll(); - + Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT); + modelMount.renderAll(); GL11.glPopMatrix(); } break; @@ -109,24 +115,26 @@ public class IR_Cannon_28 implements IItemRenderer { GL11.glPushMatrix(); GL11.glEnable(GL11.GL_TEXTURE_2D); - float scale = 0.8F; + float scale = 0.75F; GL11.glScalef(scale, scale, scale); //GL11.glRotatef(90, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.1F, 0.35F); + GL11.glTranslatef(0.3F, 0.2F, 0.35F); Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); model.renderAll(); - + Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT); + modelMount.renderAll(); GL11.glPopMatrix(); } break; case ENTITY: { GL11.glPushMatrix(); - //GL11.glScalef(1.75F, 1.75F, 1.75F); + float scale = 3; + GL11.glScalef(scale, scale, scale); @@ -135,7 +143,8 @@ public class IR_Cannon_28 implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE); model.renderAll(); - + Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_MOUNT); + modelMount.renderAll(); GL11.glPopMatrix(); } break; diff --git a/src/main/java/com/kitsu/medievalcraft/tileents/cannon/TileCannon_28.java b/src/main/java/com/kitsu/medievalcraft/tileents/cannon/TileCannon_28.java index e5fe3eee..55202e47 100644 --- a/src/main/java/com/kitsu/medievalcraft/tileents/cannon/TileCannon_28.java +++ b/src/main/java/com/kitsu/medievalcraft/tileents/cannon/TileCannon_28.java @@ -1,6 +1,7 @@ package com.kitsu.medievalcraft.tileents.cannon; import com.kitsu.medievalcraft.block.ModBlocks; +import com.kitsu.medievalcraft.util.CannonUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -16,13 +17,15 @@ import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class TileCannon_28 extends TileEntity implements IInventory, ISidedInventory{ +public class TileCannon_28 extends TileEntity implements IInventory, ISidedInventory, CannonUtil{ private String tileCannon_28; private ItemStack[] inv; private NBTTagCompound tag = new NBTTagCompound(); private int ticks; public boolean isOn; + public static boolean smoke; + public static int xSmoke, ySmoke, zSmoke; private static final int[] slots_all = new int[] {0,1}; private static final int[] slots_top = new int[] {0}; //private static final int[] slots_bottom = new int[] {2, 1}; @@ -216,6 +219,9 @@ public class TileCannon_28 extends TileEntity implements IInventory, ISidedInven this.isOn=false; ticks=0; } + } + if(world.isRemote){ + } if (worldObj.isRemote) return; } diff --git a/src/main/java/com/kitsu/medievalcraft/util/CannonUtil.java b/src/main/java/com/kitsu/medievalcraft/util/CannonUtil.java index 6c5ee4dc..423041e5 100644 --- a/src/main/java/com/kitsu/medievalcraft/util/CannonUtil.java +++ b/src/main/java/com/kitsu/medievalcraft/util/CannonUtil.java @@ -10,7 +10,29 @@ import net.minecraft.item.ItemStack; public interface CannonUtil { /*public static float[] angles = new float[] {90, (float)247.5, 270, (float)292.5, 315, (float)337.5, 0, (float)22.5, 45, (float)67.5, 90, (float) 112.5, - 135, (float) 157.5, 180, (float)202.5};*/ - public float[] angles = new float[] {180, (float)202.5, 225, (float)247.5, 270, (float)292.5, 315, (float)337.5, 0, (float)22.5, 45, (float)67.5, 90, (float) 112.5, - 135, (float) 157.5,}; + 135, (float) 157.5, 180, (float)202.5}; + /*public float[] angles = new float[] {180, (float)202.5, 225, (float)247.5, 270, (float)292.5, 315, (float)337.5, 0, (float)22.5, 45, (float)67.5, 90, (float) 112.5, + 135, (float) 157.5,};*/ + /* + * 0 | 180 + * 1 | 157.5 + * 2 | 135 + * 3 | 112.5 + * 4 | 90 + * 5 | 67.5 + * 6 | 45 + * 7 | 22.5 + * 8 | 0 + * 9 | 337.5 + * 10 | 315 + * 11 | 292.5 + * 12 | 270 + * 13 | 247.5 + * 14 | 225 + * 15 | 202.5 + */ + public static float[] angles = new float[] {180F, 157.5F, 135F, 112.5F, 90F, 67.5F, 45F, 22.5F, 0F, 337.5F, 315F, 292.5F, 270F, 247.5F, 225F, 202.5F}; + + + } \ No newline at end of file diff --git a/src/main/resources/assets/kitsumedievalcraft/lang/en_US.lang b/src/main/resources/assets/kitsumedievalcraft/lang/en_US.lang index ce9d88a5..51a5af7b 100644 --- a/src/main/resources/assets/kitsumedievalcraft/lang/en_US.lang +++ b/src/main/resources/assets/kitsumedievalcraft/lang/en_US.lang @@ -303,6 +303,8 @@ item.woodPulp.name=Wood Pulp item.charcoalFilter.name=Charcoal Filter item.slottedTongs.name=Stone Tongs item.flintKnapped.name=Knapped Flint +item.cannonBreach.name=CannonBreach +item.cannonBarrel.name=CannonBarrel tile.shitBlock.name=Shit Block tile.formTable.name=Form Table diff --git a/src/main/resources/assets/kitsumedievalcraft/models/Cannon.mtl b/src/main/resources/assets/kitsumedievalcraft/models/Cannon.mtl index 717bff27..f650320b 100644 --- a/src/main/resources/assets/kitsumedievalcraft/models/Cannon.mtl +++ b/src/main/resources/assets/kitsumedievalcraft/models/Cannon.mtl @@ -1,11 +1,12 @@ -# Blender MTL File: 'cannon.blend' +# Blender MTL File: 'None' # Material Count: 1 newmtl None -Ns 0 +Ns 0.000000 Ka 0.000000 0.000000 0.000000 -Kd 0.8 0.8 0.8 -Ks 0.8 0.8 0.8 -d 1 +Kd 0.640000 0.640000 0.640000 +Ks 0.800000 0.800000 0.800000 +Ni 1.000000 +d 1.000000 illum 2 map_Kd /home/kitsudesktop/Development/Blends/Cannon.png diff --git a/src/main/resources/assets/kitsumedievalcraft/models/Cannon.obj b/src/main/resources/assets/kitsumedievalcraft/models/Cannon.obj index 9a6d4922..69ea8cd4 100644 --- a/src/main/resources/assets/kitsumedievalcraft/models/Cannon.obj +++ b/src/main/resources/assets/kitsumedievalcraft/models/Cannon.obj @@ -1,55 +1,55 @@ -# Blender v2.71 (sub 0) OBJ File: 'cannon.blend' +# Blender v2.71 (sub 0) OBJ File: '' # www.blender.org mtllib Cannon.mtl o Cube_Cube.001 -v -0.125000 -0.125000 -1.375000 -v 0.125000 -0.125000 -1.375000 -v -0.125000 0.125000 -1.375000 -v -0.250000 -0.250000 0.650000 -v -0.225000 -0.225000 -1.225000 -v 0.225000 -0.225000 -1.225000 -v 0.250000 -0.250000 0.650000 -v -0.250000 0.250000 0.650000 -v -0.225000 0.225000 -1.225000 -v 0.225000 0.225000 -1.225000 -v 0.250000 0.250000 0.650000 -v -0.250000 -0.250000 -1.225000 -v -0.250000 -0.250000 -1.375000 -v 0.250000 -0.250000 -1.375000 -v 0.250000 -0.250000 -1.225000 -v -0.250000 0.250000 -1.225000 -v -0.250000 0.250000 -1.375000 -v 0.250000 0.250000 -1.375000 -v 0.250000 0.250000 -1.225000 -v 0.125000 0.125000 -1.375000 -v -0.125000 0.125000 0.425000 -v -0.125000 -0.125000 0.425000 -v 0.125000 -0.125000 0.425000 -v 0.125000 0.125000 0.425000 -v -0.100940 -0.100940 0.650000 -v 0.100940 -0.100940 0.650000 -v -0.100940 0.100940 0.650000 -v 0.100940 0.100940 0.650000 -v -0.100940 -0.100940 0.725000 -v 0.100940 -0.100940 0.725000 -v -0.100940 0.100940 0.725000 -v 0.100940 0.100940 0.725000 -v 0.505154 -0.054574 -0.256972 -v 0.505154 -0.054574 -0.150739 -v 0.505154 0.051659 -0.256972 -v 0.505154 0.051659 -0.150739 -v 0.228100 0.051659 -0.256972 -v 0.228100 0.051659 -0.150739 -v 0.228100 -0.054574 -0.256972 -v 0.228100 -0.054574 -0.150739 -v -0.233931 -0.054574 -0.256972 -v -0.233931 -0.054574 -0.150739 -v -0.233931 0.051659 -0.256972 -v -0.233931 0.051659 -0.150739 -v -0.510986 0.051659 -0.256972 -v -0.510986 0.051659 -0.150739 -v -0.510986 -0.054574 -0.256972 -v -0.510986 -0.054574 -0.150739 +v -0.227758 0.230880 -1.021209 +v -0.227758 -0.219120 -1.021209 +v -0.252758 -0.244120 0.853791 +v -0.252758 0.255880 -1.171209 +v -0.252758 -0.244120 -1.171209 +v -0.252758 -0.244120 -1.021209 +v 0.247242 0.255880 0.853791 +v 0.247242 -0.244120 0.853791 +v 0.222242 -0.219120 -1.021209 +v 0.222242 0.230880 -1.021209 +v -0.252758 0.255880 0.853791 +v 0.247242 0.255880 -1.021209 +v 0.247242 -0.244120 -1.021209 +v 0.247242 -0.244120 -1.171209 +v 0.247242 0.255880 -1.171209 +v -0.252758 0.255880 -1.021209 +v 0.122241 0.130880 -1.171209 +v -0.127758 0.130880 0.628791 +v 0.122241 0.130880 0.628791 +v 0.122241 -0.119120 0.628791 +v -0.103698 0.106819 0.853791 +v -0.103698 0.106819 0.928791 +v 0.098181 0.106819 0.928791 +v -0.103698 -0.095060 0.853791 +v 0.098181 -0.095060 0.853791 +v 0.098181 0.106819 0.853791 +v 0.098181 -0.095060 0.928791 +v -0.103698 -0.095060 0.928791 +v 0.402396 0.057539 0.053052 +v 0.402396 -0.048694 0.053052 +v 0.402396 -0.048694 -0.053180 +v -0.127758 -0.119120 0.628791 +v -0.413744 -0.048694 0.053052 +v -0.413744 0.057539 0.053052 +v -0.413744 0.057539 -0.053180 +v 0.402396 0.057539 -0.053180 +v -0.413744 -0.048694 -0.053180 +v -0.127758 0.130880 -1.171209 +v -0.127758 -0.119120 -1.171209 +v 0.122242 -0.119120 -1.171209 +v 0.225342 0.057539 -0.053180 +v 0.225342 0.057539 0.053052 +v 0.225342 -0.048694 -0.053180 +v 0.225342 -0.048694 0.053052 +v -0.236690 0.057539 -0.053180 +v -0.236690 -0.048694 -0.053180 +v -0.236690 -0.048694 0.053052 +v -0.236690 0.057539 0.053052 vt 0.425000 0.440784 vt 0.237500 0.440784 vt 0.227083 0.005226 @@ -188,83 +188,83 @@ vt 0.738014 0.697585 vt 0.388013 0.635900 usemtl None s off -f 9/1 5/2 4/3 -f 17/4 13/5 12/6 -f 11/7 7/8 6/9 -f 5/10 6/11 7/12 -f 10/13 9/14 8/15 -f 19/16 15/17 14/18 -f 15/19 19/20 10/21 -f 13/22 14/23 15/24 -f 18/25 17/26 16/27 -f 20/28 18/29 14/30 -f 5/31 12/32 15/19 -f 21/33 20/34 24/35 -f 20/36 23/37 24/38 -f 10/21 19/20 16/39 -f 16/39 12/32 5/31 -f 27/40 31/41 32/42 -f 25/43 27/44 8/45 -f 26/46 25/43 4/47 -f 28/48 26/46 7/49 -f 27/44 28/48 11/50 -f 30/51 32/52 31/53 -f 26/54 28/55 32/56 -f 26/57 30/58 29/59 -f 25/60 29/61 31/62 -f 36/63 34/64 33/65 -f 22/66 24/67 23/68 -f 48/69 46/70 45/71 -f 8/72 9/1 4/3 -f 16/73 17/4 12/6 -f 10/74 11/7 6/9 -f 4/75 5/10 7/12 -f 11/76 10/13 8/15 -f 18/77 19/16 14/18 -f 6/78 15/19 10/21 -f 12/79 13/22 15/24 -f 19/80 18/25 16/27 -f 6/78 5/31 15/19 -f 9/81 10/21 16/39 -f 9/81 16/39 5/31 -f 28/82 27/40 32/42 -f 4/47 25/43 8/45 -f 7/49 26/46 4/47 -f 11/50 28/48 7/49 -f 8/45 27/44 11/50 -f 29/83 30/51 31/53 -f 30/84 26/54 32/56 -f 25/85 26/57 29/59 -f 27/86 25/60 31/62 -f 35/87 36/63 33/65 -f 21/88 24/67 22/66 -f 47/89 48/69 45/71 -f 3/90 17/91 18/29 -f 17/91 3/90 1/92 -f 23/93 1/94 22/95 -f 2/96 14/30 13/97 -f 35/98 37/99 38/100 -f 39/101 33/102 34/103 -f 38/104 40/105 34/106 -f 35/107 33/108 39/109 -f 22/110 3/111 21/112 -f 43/113 45/114 46/115 -f 47/116 41/117 42/118 -f 46/119 48/120 42/121 -f 43/122 41/123 47/124 -f 20/28 3/90 18/29 -f 2/96 20/28 14/30 -f 13/97 17/91 1/92 -f 3/125 20/34 21/33 -f 2/126 23/37 20/36 -f 2/127 1/94 23/93 -f 1/92 2/96 13/97 -f 36/128 35/98 38/100 -f 40/129 39/101 34/103 -f 36/130 38/104 34/106 -f 37/131 35/107 39/109 -f 1/132 3/111 22/110 -f 44/133 43/113 46/115 -f 48/134 47/116 42/118 -f 44/135 46/119 42/121 -f 45/136 43/122 47/124 +f 1/1 2/2 3/3 +f 4/4 5/5 6/6 +f 7/7 8/8 9/9 +f 2/10 9/11 8/12 +f 10/13 1/14 11/15 +f 12/16 13/17 14/18 +f 13/19 12/20 10/21 +f 5/22 14/23 13/24 +f 15/25 4/26 16/27 +f 17/28 15/29 14/30 +f 2/31 6/32 13/19 +f 18/33 17/34 19/35 +f 17/36 20/37 19/38 +f 10/21 12/20 16/39 +f 16/39 6/32 2/31 +f 21/40 22/41 23/42 +f 24/43 21/44 11/45 +f 25/46 24/43 3/47 +f 26/48 25/46 8/49 +f 21/44 26/48 7/50 +f 27/51 23/52 22/53 +f 25/54 26/55 23/56 +f 25/57 27/58 28/59 +f 24/60 28/61 22/62 +f 29/63 30/64 31/65 +f 32/66 19/67 20/68 +f 33/69 34/70 35/71 +f 11/72 1/1 3/3 +f 16/73 4/4 6/6 +f 10/74 7/7 9/9 +f 3/75 2/10 8/12 +f 7/76 10/13 11/15 +f 15/77 12/16 14/18 +f 9/78 13/19 10/21 +f 6/79 5/22 13/24 +f 12/80 15/25 16/27 +f 9/78 2/31 13/19 +f 1/81 10/21 16/39 +f 1/81 16/39 2/31 +f 26/82 21/40 23/42 +f 3/47 24/43 11/45 +f 8/49 25/46 3/47 +f 7/50 26/48 8/49 +f 11/45 21/44 7/50 +f 28/83 27/51 22/53 +f 27/84 25/54 23/56 +f 24/85 25/57 28/59 +f 21/86 24/60 22/62 +f 36/87 29/63 31/65 +f 18/88 19/67 32/66 +f 37/89 33/69 35/71 +f 38/90 4/91 15/29 +f 4/91 38/90 39/92 +f 20/93 39/94 32/95 +f 40/96 14/30 5/97 +f 36/98 41/99 42/100 +f 43/101 31/102 30/103 +f 42/104 44/105 30/106 +f 36/107 31/108 43/109 +f 32/110 38/111 18/112 +f 45/113 35/114 34/115 +f 37/116 46/117 47/118 +f 34/119 33/120 47/121 +f 45/122 46/123 37/124 +f 17/28 38/90 15/29 +f 40/96 17/28 14/30 +f 5/97 4/91 39/92 +f 38/125 17/34 18/33 +f 40/126 20/37 17/36 +f 40/127 39/94 20/93 +f 39/92 40/96 5/97 +f 29/128 36/98 42/100 +f 44/129 43/101 30/103 +f 29/130 42/104 30/106 +f 41/131 36/107 43/109 +f 39/132 38/111 32/110 +f 48/133 45/113 34/115 +f 33/134 37/116 47/118 +f 48/135 34/119 47/121 +f 35/136 45/122 37/124 diff --git a/src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.mtl b/src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.mtl new file mode 100644 index 00000000..dc9a5f44 --- /dev/null +++ b/src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.mtl @@ -0,0 +1,11 @@ +# Blender MTL File: 'cannon_mount.blend' +# Material Count: 1 + +newmtl None +Ns 0 +Ka 0.000000 0.000000 0.000000 +Kd 0.8 0.8 0.8 +Ks 0.8 0.8 0.8 +d 1 +illum 2 +map_Kd cannon_mount.png diff --git a/src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.obj b/src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.obj new file mode 100644 index 00000000..69f9e1dc --- /dev/null +++ b/src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.obj @@ -0,0 +1,223 @@ +# Blender v2.71 (sub 0) OBJ File: 'cannon_mount.blend' +# www.blender.org +mtllib cannon_mount.mtl +o Cube +v -0.413288 -0.407050 0.966262 +v -0.413288 -0.407050 -0.666261 +v 0.400811 -0.407050 0.966262 +v -0.413288 -0.342950 0.966262 +v 0.400811 -0.342950 0.966262 +v -0.291173 -0.342950 -0.666261 +v -0.291173 -0.342950 0.966262 +v -0.413288 -0.066373 0.966262 +v -0.413288 -0.066373 -0.666261 +v -0.291173 -0.066373 -0.666261 +v -0.291173 -0.066373 0.966262 +v -0.413288 -0.066373 -0.055968 +v -0.291173 -0.066373 0.074468 +v -0.291173 -0.066373 -0.055968 +v -0.413288 0.058627 -0.666261 +v -0.291173 0.058627 -0.666261 +v -0.413288 0.058627 -0.055968 +v -0.291173 0.058627 -0.055968 +v -0.413288 -0.066373 0.074468 +v -0.291173 -0.066373 0.074468 +v -0.413288 -0.066373 0.074468 +v -0.291173 0.058627 0.074468 +v -0.413288 0.058627 0.074468 +v 0.278889 -0.342950 0.966262 +v 0.278889 -0.342950 -0.666261 +v 0.401004 -0.407050 -0.666261 +v 0.401004 -0.342950 0.966262 +v 0.278889 -0.066373 0.966262 +v 0.278889 -0.066373 -0.666261 +v 0.401004 -0.066373 -0.666261 +v 0.401004 -0.066373 0.966262 +v 0.278889 -0.066373 -0.055968 +v 0.401004 -0.066373 0.074468 +v 0.401004 -0.066373 -0.055968 +v 0.278889 0.058627 -0.666261 +v 0.401004 0.058627 -0.666261 +v 0.278889 0.058627 -0.055968 +v 0.401004 0.058627 -0.055968 +v 0.278889 -0.066373 0.074468 +v 0.401004 -0.066373 0.074468 +v 0.278889 -0.066373 0.074468 +v 0.401004 0.058627 0.074468 +v 0.278889 0.058627 0.074468 +vt 0.817621 0.467140 +vt 0.967030 0.467140 +vt 0.967030 0.895146 +vt 0.821572 0.468675 +vt 0.970981 0.468675 +vt 0.970981 0.896681 +vt 0.614905 0.807919 +vt 0.586794 0.807919 +vt 0.586794 0.458565 +vt 0.444074 0.458565 +vt 0.565371 0.458565 +vt 0.444074 0.692370 +vt 0.010711 0.438487 +vt 0.010711 0.010481 +vt 0.367832 0.010481 +vt 0.389254 0.010481 +vt 0.639263 0.010481 +vt 0.639263 0.437603 +vt 0.444074 0.886571 +vt 0.389254 0.886571 +vt 0.389254 0.726568 +vt 0.988024 0.010481 +vt 0.988024 0.247249 +vt 0.934468 0.247249 +vt 0.064266 0.989519 +vt 0.010711 0.989519 +vt 0.010711 0.829846 +vt 0.389254 0.961173 +vt 0.389254 0.907532 +vt 0.442809 0.907532 +vt 0.817644 0.627188 +vt 0.762823 0.627188 +vt 0.762823 0.467184 +vt 0.236363 0.772693 +vt 0.236363 0.720290 +vt 0.271240 0.720290 +vt 0.000000 0.000000 +vt 0.464231 0.961173 +vt 0.464231 0.907532 +vt 0.517787 0.907532 +vt 0.817629 0.895203 +vt 0.764197 0.883209 +vt 0.817629 0.655323 +vt 0.389254 0.692370 +vt 0.214222 0.948533 +vt 0.160666 0.948533 +vt 0.160666 0.829846 +vt 0.766767 0.736671 +vt 0.821588 0.736671 +vt 0.821588 0.896674 +vt 0.364773 0.714215 +vt 0.364773 0.950984 +vt 0.311218 0.950984 +vt 0.715506 0.010481 +vt 0.836803 0.010481 +vt 0.715506 0.170484 +vt 0.139244 0.989519 +vt 0.085689 0.989519 +vt 0.085689 0.829846 +vt 0.539209 0.961173 +vt 0.539209 0.907532 +vt 0.592764 0.907532 +vt 0.660686 0.170484 +vt 0.660686 0.010481 +vt 0.586794 0.881283 +vt 0.586794 0.828880 +vt 0.621670 0.828880 +vt 0.660686 0.962057 +vt 0.660686 0.908416 +vt 0.714241 0.908416 +vt 0.366038 0.693254 +vt 0.311218 0.693254 +vt 0.311218 0.459448 +vt 0.821588 0.481904 +vt 0.821588 0.715709 +vt 0.766767 0.715709 +vt 0.235644 0.829846 +vt 0.289199 0.829846 +vt 0.289199 0.948533 +vt 0.214941 0.756482 +vt 0.214941 0.808885 +vt 0.010711 0.808885 +vt 0.038823 0.756482 +vt 0.010711 0.459448 +vt 0.214941 0.511851 +vt 0.038823 0.511851 +vt 0.817621 0.895146 +vt 0.614905 0.458565 +vt 0.444074 0.726568 +vt 0.565371 0.886571 +vt 0.367747 0.438487 +vt 0.389254 0.437603 +vt 0.934468 0.010481 +vt 0.064266 0.829846 +vt 0.442809 0.961173 +vt 0.817644 0.467184 +vt 0.271240 0.772693 +vt 0.517787 0.961173 +vt 0.214222 0.829846 +vt 0.766767 0.896674 +vt 0.311218 0.714215 +vt 0.836803 0.438487 +vt 0.715506 0.204681 +vt 0.715506 0.438487 +vt 0.139244 0.829846 +vt 0.592764 0.961173 +vt 0.621670 0.881283 +vt 0.714241 0.962057 +vt 0.235644 0.948533 +vt 0.214941 0.459448 +usemtl None +s 1 +f 9/1 2/2 1/3 +f 31/4 3/5 26/6 +f 3/7 5/8 4/9 +f 11/10 7/11 13/12 +f 1/13 2/14 26/15 +f 25/16 6/17 7/18 +f 10/19 16/20 18/21 +f 23/22 8/23 11/24 +f 17/25 18/26 16/27 +f 14/28 18/29 17/30 +f 12/31 17/32 15/33 +f 14/34 12/35 19/36 +f 19/37 21/37 20/37 +f 21/38 23/39 22/40 +f 23/41 21/42 8/43 +f 11/10 13/12 22/44 +f 11/45 8/46 4/47 +f 30/48 36/49 38/50 +f 43/51 28/52 31/53 +f 29/54 25/55 32/56 +f 37/57 38/58 36/59 +f 34/60 38/61 37/62 +f 32/56 37/63 35/64 +f 34/65 32/66 39/67 +f 39/37 41/37 40/37 +f 41/68 43/69 42/70 +f 43/71 41/72 28/73 +f 31/74 33/75 42/76 +f 31/77 28/78 24/79 +f 35/80 36/81 26/82 +f 25/83 26/82 2/84 +f 16/85 6/86 2/84 +f 8/87 9/1 1/3 +f 30/50 31/4 26/6 +f 1/88 3/7 4/9 +f 14/89 13/12 6/90 +f 6/90 10/19 14/89 +f 3/91 1/13 26/15 +f 24/92 25/16 7/18 +f 13/12 7/11 6/90 +f 14/89 10/19 18/21 +f 22/93 23/22 11/24 +f 15/94 17/25 16/27 +f 12/95 14/28 17/30 +f 9/96 12/31 15/33 +f 13/97 14/34 19/36 +f 13/37 19/37 20/37 +f 20/98 21/38 22/40 +f 7/99 11/45 4/47 +f 34/100 30/48 38/50 +f 42/101 43/51 31/53 +f 24/102 39/103 25/55 +f 24/102 28/104 39/103 +f 35/105 37/57 36/59 +f 25/55 39/103 32/56 +f 32/106 34/60 37/62 +f 29/54 32/56 35/64 +f 33/107 34/65 39/67 +f 33/37 39/37 40/37 +f 40/108 41/68 42/70 +f 27/109 31/77 24/79 +f 25/83 35/80 26/82 +f 6/86 25/83 2/84 +f 15/110 16/85 2/84 diff --git a/src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.png b/src/main/resources/assets/kitsumedievalcraft/models/cannon_mount.png new file mode 100644 index 0000000000000000000000000000000000000000..4852ab55927ad439a7a75d69e352244c6fb4bb71 GIT binary patch literal 1162 zcmV;51a9}1Hq*|sd8oPmYNi?kmA3;e*_R$00BsV0Qg&fBm%78@}Iz73HpiV3n8$!LEzVZ z3OFPo5#i0bc$U$DL_mH?CE7{)83dr7*KTGcG6RBylz)@J5$JQ|B7f;5wo z>QhOXWEaiBS#?r$g)(@)@KCvcUMx-y;$$MaO5P}90y@Zb;5?`hDqLSR@j(R@1nh0K zKmeHk3ynS3sfm1n2q^JDxcDMK35-guo~vJ15Fdk?_*RfrBJ@+3h#62WPX*6}T@43s zf~tZFv8xK=s5WJ8T|Q8ayUgmsP~y@D%x)TQb_F|9;%f+p;ZFc(6ATy?Oh5-yo*;v3 zQs!c90+Zykp5@ALtrdXh$wQqXV4l2qL!?}$#KmmQF;f+SodV}-D}ls+uSb~&`w zV!LQ3!=VS4!D}RX+Ct6kVmOvPSA$YxTd8nyWO=^{jAhf$es9x7IAsji3XsA{q~obu z+%lonHOEJa{_Xzd3PX=FJWWN8=ri0Ht&<%*lW|gILRvj%Nwx({_V0<1rYn}4LVyCN z%|)dyj>o?y0(L;v5o7|kHL&FjH?KVta6w?>$C-MrHV6T?P85r|S^ltGBi!4mF7^II zdqC;lL?%H2SHkHNQa&}?>j6%O3qW_ITCN$aQfC4Y-w71l*_3(ga`g=7nGW&cP4T8DftykB9 z?G5(>+%hLHA%NHfd1A`<8bV@CKLQw>PTOA3SJPpYQo_B&HO~@%;u1;1B3U@gF6Vv- zfRR-y)prjh7aXry6pX|;dXNER^8OcaqDHdDaJpCcWkD`7)%3K6Q{m;D-JiONRhOkL zp7;oOKFV&m$rJr|j#ad=6t1bJWx$&FYPUoa?_RZSgEl#Npb6qIGT=k4B(|nqk*d-j z3B)xb&^DaJE!JOcqt1;f^>oDpspS%FpK5$(SaAZ|H8u8JmMI_!hqqn7rYff-3J28- z+&W{~W*bN~WXn`*T)Udz@9q_{xp^uQ)K;zP7ZT0`;4$H14I8i9iGWY#vN&)>+{<@R z?fb%-c(;1&4+Lf03yL*859)ohQeAXFcSxocgLy(~wNFck za9_GJ_i0^7eofBYce+tW-z~H*o)FGOKv%DknyvtiW8ZpvR31$0#taG967xp)lHEzI chC4F-0XTmu^_}0Jnu^$4Dnxyj`T$^N zPOWnXPX4=|I{-k-lyFrxxGFE)hop2UHlZF2V2Bzcb|a@{aa}J*`-LTHrNe*YKcame zn&o$OB8ISeZ;x8CBqOx|<55>b}wv_)+Le2MP3q>z^cV_mSi|I#+lwiZX zjKZ{bB1PKZonC0vOr-R??;(qfE_uP1P5n;xNA}o@uUuwp`nvOqW=DwB&C$J=#jyV_ z^1Iw`kcsovfF-24Y>GhVKX`HL(z~+C>}j6wN>Q-J6(jcNcD?X9Do}ykJ4i#Je*gyq z8c?2iI8y(=64xZ21m>U#k;i4RhN87K6{#|l;;mD^6P3gIR$5hR>0y|bSi>;V!e4&b z#`jqHLt$K-m7Q-xJJL|3DhEmV8$WI$_6RZ-_YCvPmR*xX9v25uiq`xCC-TA>>OZ0*`R^$*0DwvspGX$3NY*>0bbbR3 zuQ5?TgY0re;@%3Uzf;QMH^>t3&hosMS5r{9S5PWS_+12mT^6|vxazyO+Pk=#yXm`0 zSzZNsHMNCe6V-=3jR*gyNcG#m`2iq=UoVJX56Q2CBoe>T#ZX_O%RVH{uM;FbIWPCm z9Otg65dpOh`DfGkmjVEQdb|lfImd3oAh3j#Kv_sEA$684Q2(c3vLI)2g$OJKkO2ZR zU=|V*qlFYH{I2spb!BeU$iu2;eNoT$&I##w=5{C6#2j;2WG%lNPIF2EKPw{GuxyEl zhvW0zL>ZB^NTTxM0azjEbs)P&i#Rd2M_{VUIJLLz>XMD7L2zw-Z^ zhsL~|#+U2F_^(EY9eun`|52O%UwQEtByw{k*UgE$$NxI~-}`DJ_N7ffd;LH9B6f6r z?*EN>{jUf6|2Odebp&9%318Tcu(Ak!rJd88(B)dO;%EVSlA znYWb5zp>ya3N#nEaex6)Fe{hD`)^SeQBdX$)4|}00x#D8UPHtZFXVV|Fr9qCep!=~QQw<`{hFDnma&%3a7OrogI}&+PP@XZ5T;`;XOds-O%RnbK`|2jmDiWB z$5ju%1>zIxApimlu;W~93wQ373gN123;$_FXHL$<0%ed@eXo@0EO{4J6I#SgzFfb2 zMOmUy@&95I2>Zm2Zo-MBQA?q3E?Xe>NZ9ZB-RXj*2`bc)8&~aJNFWdzskCpxiETQr zgvNYGuJ9%h>Utz$CYQ~HI@*$5j*xILA)|pJw&ZA?2fD0s(9=R~hFT%Y^U%O$PJEJx zIxRcVS57Ut5i4YaYMFPNT3<>cUZ{{^-2yoK@7%AP$m$oS{9_}`yEJTmQ zNq;ELHk95Wx28;B6Oqc}|E(?I!fHW-e-uC%|1UgqiE6xro*=ryNc0O# zP$@QJ6vvf2NHA2M9VI>s3mKP)5+jzL%0stQ&ku0C9aD9FnpJ?)_&C8b#)v|^sF(Fcz zso&XuC&)|bzq9|3C<&r-_S-}IkAxKXj#2`?-B@i>88n!)aVBaMgdv)HKXVmxFf~G? z$`VS{K!~MXN;4u!`U5|H(avuqct%s0CwJLZyfl~=AtEwj10<~TNnT$Zrm`U zkq~W$Xcc&5sxr|kXc5qIOCs+##gmhIX+6KsKS)C&?>Ci!-2WE^GZZPgtZ{in5~+&& zErl5hSK;CRIx*Gab1o?)f;d~EqJEbXz!N>(OCGeGs60cFcw)7x9O9Hksu&C@1h5Q9 z5s@mmA(V$GB=Rf`Dax@7MB}`~p4fn)2vNK2N<`}$d8?T5%tpG5!De>2njmWAbS-j*dxt+SNgA7zZ7H(@M^Gd7*+Y#*$Ru)^5u?ob z)gYttU|Qm?s0m;&82~^6A(aLCUjuJ~VIg3M9vgt+*7iu!9zq1(HKTyhTYxlNV-b>o zrHupL(Lv)ONOJdWBMA?L2dXJfTZVzK7Y7bqxqWw##&lLhG?bgzE&$K~ABh8W0O;xG zrd-^;`~pMnMq#i?sTsr#k{DQkDB{UgKto$wE|{5xm5rT)lZ%^&mye&gjsJ55=f(gK z$Uh#{m8aLF{)UMx9RaI60b^Ph%_~_^PUuWkh#Ik4SA76j_{MYWcuNT0t zvkUUS|GpskbwPGPYHV&dF$=Gf7dUOOXQY=S>XrJHha%gf>Wi?x@FzpIQyv9%p7MTA z`+_F!JytrmQn1TinR|FwS^!9WB~^+Zz0Hg+U_<*;Kuk0lydq^xQ0w=@&z^KHy^qf= zxASgm?3}CiwsyQ`ZMBg6XumVPm+^zBb+QUojwi`@=?Ch9O2up9Jc3u@cNbD|wuiqe zy6vLxwcDIjH&i=zsIAj-@7G#IJj}h0r&+If4uA2iS_w$?d$bI^F_3*PCAG7&v#FF~?%lZ4ZFs8^k(4t`WzxF1VU@L? zm!e~V5Zf7BxshFtTENAD5lxuZS+HU-fip!rkk{rxep8p`~lTEU10OSzxb zdJFc%l5+b7B<3$e=mOB@bSXO&_M@^&pRqkws2(e@d!B+AZ&X6 zmV^q3%E?s`wN0+cL#AgI^koX{9l`@UM6BuwKCKv#ZyM|3YBO{7-fL%i`V{YVUXvH0 zoe@@wTh&%i@NZgP=UDoYL+$eBz%30hsF4AjEU4ZL$jCKiX*X-P$`_{TR?xMo(y=Qq z7M#xdB&yH!jvKC7MOqCOlg7l@j1>x7k}elgrHCxKR40P~Y)}jp))G|``$h34s%o+$ zGP1XikO>`1{aYr>hhSkMPniAO4wf0$iEx{yO}@VGqG-wOx#Y)CWV*Y4L=OKh+Vf@G z@*V0)pS;7gxqNf2v%$lUYD_c{;SJJr``WriP!#j)P`41`GUa(x~o!1 z6r8gss$Prk!97{D@3b?}&e5ZUP`Rq@Ep$_ov9D^Ty1uC)vu{ z_;nxo5~X#X#!zg)U#c(wdqjO#a43xIdUoea8N>1SG2k@DX5HP|k|nFqb&q>0g{A^a zPYfqf>q=k47t%WBj@rx#IRSGIZ&2@&eK!gtM#guG5|r^eN$=Vz&!-O|>Q6RK)2tcON- z!%Bu}QfK_2q}$FL6p4lN$m*ExSvkrij#ijlIJekJj0890`Gd z{rNAjV8md>F#%(0e0)A21o?M4tt?HtFnSFHHu}@bNUDtVr=-43J($(h^ zS$TLE)j9i7hRjbpwB^QCy2q_2EBuUZ;q-zXI-eIiR+!J)-~O3mLZ+h7-!TR#RD;x` zOSAJOWWm2MdtZu&5A*3ik{8cqSDWSVSYHQEpc-`twcR)bS<{*st~}D0(}a+xKgp3w zq7fJHox8PmEjO&&t1!U3=s0y>zs442vhlvcuoK3O$%QTWfMNp2pd0it{j3}1Mr77l z3lAtYC`M$rUU;WjU(V|NNhW)&iWHfYGg4QI5^aEXOO0|rM+g58@hv!|Y1?ybo{K~Dg$VC+G=d_$R`R_Icv%Sg6 zXO7#vVC{)4OBGEJEMVdZ-!ImCcgA9l2vbuz>!W*K*IwCtt+U6%Z4B%OFioXPSiLvv zzX`zpoBBuv%<{Q1j~5Rtrgph9iCHls;EVSiq=s7Gtk-?#LArNdeWtzsNU&Tti9C5;M@4_`_!?$5c%r;V+J2XzoP#0u8*r_a zO;D37UC{GS}0$aj%B+@9_(TC(pw8Rf!2Z-OZM{lPC6?8C~gh_kiwB~r^X zWTMle7{K1a?dxeXDP1vZax#|w)6cqnd|#p;L9{IZ(lW9P_kAHp-3He;9j?OhtSp6I z>@D@x{-R55)2QI3Hj`#NU<-;m5x!5a5+(E{WtL6@E{Xx0O@VK8kvCY?RA~8{n<~S= zyVUa&t637;g+g2V<&V?p7>r4xZi`Kq1U~J|-7!_-0;IAa05_1!(7&nhFq2m$eJM#G z%cxLlXOrOwWwc?gYQpG8j=g>3>rKJpk4K5WhOl1%Y6CC?sv!Vac*|L|C-sX%uC#mi zM9)jsWhqEph?%Da=v~OSFPMnReIZZvr`w`e?NAHUJ0#a{g~m)kzQ=@!#7GlYL4&Hl zPK*{<)!W`gD8(pusrty!w_vb2J%wjI7rVYW=M~aE0!lsM+l7QhacPp*adB^p!!R-o z(1j4(Y%QV0^pD0Bdi+pEoygCEz89~=kp4r%0^ZpHo^%t!WOVLF+q1i!XF*5%=t+&dosQmx_K=~_17C82}C>DXVa{R=zCwUFgF<&!3YpFiCu zdUKt#N9Y}SJ_~7CH4w`P?in15yZr$-Hxu0FA>f)GAp0O>q1th}RkznqY`uEJ4Sl*x z*<{cqDeQhC5VCsM2jR@%a;}DB?7&cq;ID*b1GhJXhci@2|In+ZS?}BYJN;i}p9|J5 zE}a^Fu=~|kM6#tH3dMTUor?XaIyyz)!g%cA`&%HUC#rclyfrTzo|Kw@CM0$&%*)WK zgh*7kyhF^-xAi3_t4KOYH;2;DJR$tiy~!DMQu!_YBwFTM;xAw!9c=cn|MfMJhLB_% zl@}!hL#I`-10U(C+tG~#(W;&sCBK;F^m`2!mnKg$EeYDieX`)3lRMw|-2UQBydm?l zN1i@LFc+*rZtdKSC_a#XIK4_}=MYX>sP%3cE>!9XEgh}3mT()AxBu$Je&7zy zVJ?lEGJo5!m_`k2%g#&zmyH^>h`OrC*^SJ~MLUEZM3)-!Jm<~Iqa~rJq=<#M!qgbM zqT**hfkQrU|K%}sT9W~4SrtLF%R~$*0%vE}?2b`enO&)vq`Y(7B`j_3dw-G?jQO_^(P(Lo{AGKU%R|PGB z7C_J@(Um8DV@Z{bhHL1EQwF9@wn%Fb>Ssi&Mam~es=3I1LR%-tAa_0;>_(G%#QSqI zF!#vy%VwY&U~UhPavPQH3C!c63>S8K*rC>I z1-ViQ@w;vR#eMaxL!OR067XOm?gB3$BI*PU6Z$M25w8`K4J~=rjYdxEl-;>Vo%XG^ zEkQ8O1a_;hh(N|7NsT?wk6xr+N&a4Q&sVexUQv||f=Rf=exDQk+3W`onLxhgo{`dr z5-icGDh8hD=i0H5Or;Ad+r-1j#5=~GZow>%TbsL6xqwG1q-9~?Fx!W<_H!(S3Wb)P z2V_qP-UnaBAKY;kC<&?a=WRx|O+Z}aG{d)^-WLJ8drn8K2BJSO|JC$HtiulZW+MOPKVl(IGcZ`ngJZKkSyiiwQ8nWX}|aN zqeAf~nUI6iz=~o2K9*vyw!R?WIl&@dEkL5h*Z6^B?DrK16M8gcpMqL z2&xQhR^=+GLz$x@>elzIHul4MM4C9XH!G5X2*0pMinnxf7d#bA52x+ozLAXFkflF$ zbhm6pj{BH*7Piw1$;Qdz;N&*x@H*ZM@d0x^_UFmf@~RGUNNEL^cFm}Y;pMlYUV$}k zZXB98Howd_aW3*jnj;X1%c)d-DF)5r%0up@1Lc_v5(Z#~EG!vf49+&15Fah!-llSu zfh%v(n3%kHs4i$XehfSbABEP#u!x(?tj4MS-SKT-OLK;dp>56C@LJ~AnLm@n#Zy50 z)?2eb-jC>gQuw-p;S56YlZtMMdVg}`=(CTA79i-jIPRT5fn*Vq*V7>>g5s4_n2xTx zPA{LyfOPM*lB4d!g^W~Ia-aqDvYzwt{OcF^yFA|tmlkpizk0*TU-kJ5t|@1E%vx@D z1)&(h{cS8WuJO+P@K&2tP6NRq%ZyYRahIj$z06t0I4K^Nc$gT&u+`k2iJl(6FS!kq zatx>r%fr+ETA;{B+OXthP=(#n>d!2)MG%J;c7)eg1KKOgB-7nUK|`spi=nrUIBIpa ze0FpT?PU>stgER=k5$8rHKAc!hpcr>^o{45W{2yNc8NdGKd%cFNb$DKmoEJ1o!cvo zz8h*Idwi=D;YmP38*JiLcJ*;vpVFmU(pq0O%#SSZFn|#IovA8`eEfP_|Q} z4wg)&c>7LQ4(9C=|J7YCN$F`OE`7mnMW<5ed5vLJn-mY&W((cl>}8F?44YCjzV`5I z66Mu)9jWqAerI_*jKylC3n~HR=YUDG$XL!@GX`U|-G*@xO+0fyE?01PdEbh~M9b5` znXvBhaxe*&0b==Dpw4RpPyqSUGl@+HiNk`uI>iZvtOuH|^lG~wakt@feX<0FwnjjP z4c2D5ZCX@?b>5`CQ zEztI8abT~(b;F1s5F`}pR0IV_TM0Goi>|#!pBJL%c~RDub)k_S%5{%*>C)ut>Kdz5 z9;O)1&D0&F7;a=N8r%@QUH!mY(@__O9NkNGiKQg7*-{NAA3#jj_73%rmv!M-g5Cj1 z4Z`n=i9$?;W>pinbuFusZu{0gUc!W+TWG-}C4;X`9T@h2Xv>*4(KGO~(8amQK@>R5 zAQ<9j+PgYgG+7~c(BkkMhPnNH;{&@~LF?t65KtMc=}4fU$hOmN%;F@k!~Y`6%+AO) z!i(eDRO#v|T8QVmNXY=z_Mjslu4i9#g^)WrD(X4SVZ9kgJ}&XTZ(z!qBI zR^S%l{4>=_kKZQ8%Sr9>O`9xvNP8aNeRdsJ7G(zV(Ugv3uR zGAsyd=0UKmw$ScWl1U{~TZJ*L$^^1$+|;_(T{Na^kPG8sgT3y%q4u3ge3zj;jdHND`f4%z%nuEv7f;@+&6$i~*Hu?? z4L2-NaG%Uf5_@Rno56)MDGdw~eyoFgWu%GYtMN5iWygg* zCxNu{*&8V@$0?sipXy51S~Wg*O|JRjGahGi=9w?8iX*16yZ+87HapvCm92vtgf z++8pWY}m-9s<=TIywO43zwKq_CQibDi9%E4-#vES)m0S~3x3?EUYhr532Kf&=TchB z37DTbrlqfDC<2V9I6#oYWP^ADQ5?)MrMSPJNHwk zeUU+3vj=k4{?AMnTA!cJOI+30_Pfr6Vo+*g(5m@Vp}ObsSS-9=xITeW(0{5%#9YZN zSLrz+t+|~#AVL(}E$u;y2{4q_5ZaO(F2wB_^LM{ztgH1g=E-r)vdI!BrS2B3PX;N@ zJ%2h~Y?b_&d$JjBs6fU8!DR@1CD^!IFh>>#wcdIE(z1_wi>mV-bEwK2#$`%psSbq8 zENDQpb;!gWuE=#$Xh_NqH#y@Tj5Ql`e+R%p_x(yAD=X9CNXB>W*~Q-QdT#R3osF5y z^aVXS%u2Fuf*t|I=o$*3rrYGZn7Br26>YN24@?X5cbnZFRExGXDcFhZxfkB#f5=?G z-VM&%4$*I?9Ji}}(pjkErXV2MGM@*MkOQgl$%qKGh}Q_%sAf)X7e6qf5~6*FODHfz z@h6I_X*{Fu=8TOhSe(V1i}%kYo4iGA0y>sC4D;q6MhQt%A}u)A4}LQRlOrIv5FYHf zBs~rN&KT^e@0XR9ev)RtUr+TSuk3#gkVXVW)$`63H2eI#DFc87^~C0~$HiJ?hYnua zq*(J+qY;i!bxd#>hJ^FbkEv@-7?r zn1-qm@@1?uKAb71Za{HWd*Ka9m6h=dmbLEj3=%%5MU#|C&LnKmgb65!esxSPH-WdU z-<>Dh%7u5(W)KhrS0>Hsm!8R(>d!Ok@C{nUOi(g33qrLg^jyu2Gk=Lq<$j*WVQhxS zWHuY*auvFKx@v}&CyR9rz~k%Y>(bn|kfZyahSs7j(SO(^`|z|e?gk3+Q7ONksW$08 z$gb3X^zf&X6XU^0CU6b>TbLK;lg;!Z?Yo^RdMgrITV8zDBnll`DQtn)-(#1teQOwi zlls`-*cCtUM&~7*s z1glj^e6xQjHUGVuKWU57o@%mZo!bm9roa$$W!^D`rdiB+LYFgV%@E`(KsbY`c*^cC zcI=DBsl2iA$!fRzti4uf7CXjz4GRa8c%cmmcrQsGR32K}Kgv+u;Loh&`WOb52Knsl z7pXA;DwYG>l{^WosRAwrO$lxg&HE=Lb1g8=bnn7Go1eOL%-W{CHw{AZwfM9kzV-2b zxgDS;gJ$N05)xl|T)IJXAlb&2I|9re8;^p>Jbd*{DLg2J)siE?f<8Pj8I-JJro{ClugyiWFgtf>L>uIY@g1k;c>9(cR znW1_FF&6n&qlKKDO#VbEQfAiCx}sUm#BB7ENZg$VAJuksl%o{RM44&Xmm+^41mOI_dIa7lj zeXG9rQwgOFq`(-=S~b*ZsrNoxy*ocw# zFK(?I3kTbXhoy*lSN-JITe0nMjpQ73M&UZXGQ^{ohP((waIjiOU1HOl!7qL(6tcE1 z`glB+Sv_lR&k`g9)q(tGalVYmhJAlSiaHL z8<>p2?I{#yKh>9V+2U=}u9cvlE_%7jQ9jqA5m;cA)WDX=QP}$+K2l(F>#Zd&T!E%@ z=Djd1_(9}VDRK<(i%Jsx07mzb?$2khEYG^-Cg-Eq@-gBJWVYd zWXntg;+ZTfrILj;F4bZ6V_us^v|@wG(kb?NWu7|SvFuM8AuJ@WjMXeFSztc7BnUSM zig)%~K$w+^HSJ`?T5NE#iN3qHId*^<$Z~g&bGNMn79J{nY!jeZ)EsS?l>ez?9NzXV z_?cv5nBnv>m52bi>V4K1JVEJ{?Vc)q4D{>yXJs}K__J6x-Zw9p2SAeGYA<>)CGcyq zp^E%x%pF|CHiZHYG}P8WmyXII!~Z8Z5}j7OVYNbXY~N2h%pvXmZ(q&|Mf z`gLB8{#$^c^EtlNoj#Z;7{!AHU?wzmON-iCzSVJSp%!Z*LeQ+j1h(B;%Q{$Qc4Ztd zyNm;8{hEj8O?1~p&6Ik{T>X)0(GV6{QO+AlTq%i66g*IBL)G*gowG)8NCyu#lVN#JFZfRp*<=nv5G$POWV@v$5gNrzq9YFv~J6{f}o3^^(%bw@k z2Z_O|MHQ-u7-~5hTnzA3obz05H%@_6Jmo_)tqNkV-~S;+uMh{CxwdN@l@34vDIMz2 zrXPh}1}4%*l{@Rser8V+bA1JtN%CX7MuxEhl3NzZN@3gIYonEnwvBu71`h}?yWs=; z@x`?4wiMh#$s>hg^j>c#U{Z1nw-LyBskjXmgzFnqpdv{MS;?j)UX%=?G{?|mGs;+e zlSB--hZp%foZZ;^VeZ(Vo#ZR*>rZJT(w%YP6Zv=>8=xgy_}lh!-qHNuLrl0M4m~=(Mkyx}UkCo^2u@mT|p)M)8Uz zex}CLrP&oFi3jpUYox>zYt6I>)S88)gxELBGUt0 z`*ODK4cLm>?B*HLBff!EQ8LyRX;8LQCDJ?mqUml%@}wfXtS)2TRtBwI z|L6B7lF6m|5_l{03L1j5GJ#Spf^*|-ui61j3Uv_^CXr=Vlh76wi?1eS2{{b$QCV9a zNk2EIth``iYKf|@ORQW54dKJNZ&Ue2nUs} z$JV5*PDAj@z&L$RRNEHt^1$EUz=Knh=iB|h21(6yGw9Qzl3$HmvV1DCHg_0n5iqdE z5i&5VdORdQOV^iml*O`QX)B?9F(blgr^)d7?h(_niqje{Qm2-UVA_CH0sLkjS%~ zKHg9{WnadU(p~w_yc8SEVy@an4Q5T(7W#*;OxAskWz7(v?|Ei<)r!WM!hhiB6}2x3 zOAjX_3}SWw{x1ehZ3kza-hC6>InhtUM0(w$yU(s*q{Ua-^s(x|{X>rD@_CbH41Yd< zdB?%+y_+!Y)7DlYd0EQt{8nDZSQtQ0dP<)#Y{~NI<$RV8vL3F)Sv9E5H-23y=y*I! zrX45GkWgW7E2p;MQzimS)tRg?%c)so=DU(tutm`>ppVfhmmuC(iO`N4g;4I@frB+8 z$~{K(^ZpcYvGY2xn+2{IrdAcN!kudEnq&@HG}gzaF{GgGtXYYEBPNMXqjW4CUKm0Z zpVePHwrOW#fzU!E`bb5inV$UkUbxm2*ZD)=SN#s@PkIwAvVQSSkE@lPkE}SlcjsEHy5ilz5v;?2I{(53F-rkdZV9 za|Tjj#`wE3n_~<&0W@cI}vlUn*^~m71cl~t|$k9GU$hk*3%A^S477WO}2XxIM zB_T#G^ja+~wjeOvkrm4_KS#Nz+g+lQ(;;D$6c%ce7Kr)j9OFK6g^6}v;wjV`ZqHR2 z*8G)`(4(#H_RG}hFUnhiV6Faw@jrhE4|F;*t3b?!DQ@T$XM#(H0m+)9Yf`5~ou#}h<+TmEOQ1Ngei6e`kBWfRhJ|SJMgs~E6LS==%aY58HLmQNAI2ljN)ZFj%ce% z+)NZXTi+@ePnDTH(QM1LW4rAuB30l5>hRP5#myrgl=o%@nf6Y&z7*WTt2c@d$0;jP z2o678rqGJ0+iHJ!6zRh8bxC2aaQna@{Ph0G_@-8`(UvY4*21V|7D=I9h0PV-SnzRC zan|xs^y*dcROhTcw=d0pzVo&OtsbV=h9-HUIY=YCfdoiOdnJwvH#z&QU81@-R&S4Q zgQ6G*Bf~2BOA5*vK=n9Fz?J=>zG#fLOe3`wty}n6-m#bQAkHPoxeXtYGATVU?$2%6 z=*0CluVXK41x3+bq+WYyfvR0}7$GFGrIYIqP`WgWX9}NqO9nqqt<_1c$X-feS~dmU zky4;8d)syg4KU6crf7$7!F$HQP$ppI+T`%DBXENz+QmN^LMrZEaB ztpL`3ow0*Qa|1jT8Z`&k1cbAZ#K|Df0onv#)H1fk*5bLCvmAj2}w6kY3ea$e!M{ z_7J!iN+Kx|+j6yM0oMKJ4|(N2)t{3Un~lej52Wp;qGilY{cIfL77`#{rTeK@&o?1p z{?{3uB4?@L6u1u00mm$>E!7<*{ zzOrFc<0jl?6L;R)1`5*tpjoTn4l&xwR-cLCH(UQW<*<0W^+#@A*L^>i#%Gb*Q?U0T z=hIRo^y>cRnxsyVr+f4~dZRc+v&hg-oFaOxf5xz_uBPF$Gu1{Wa>ejaB^8A=rbR~T zPbRuZCyqu=6&s!)sYY*KcO9BO$?G;&5?Zd;!cV=nyd7$*3AajK_IXvu-(SDVKG$i( z+$gki=JbVsUYl$v?h2P-1lluMG_%b4YK-(sP9 zT}Cvt;6t&IqX|dqR`;k;;go|ljjda1O~tbEaQ<6@ZEvP{zq1iU2K-!x%VX=tLu?Z0@7Z^hrYnZ9|2;pbel2q|~#3d(FRx=vQttK>(OMVS4v2WzzY zDm)hc%TW7lKfIco&4(X zA^o6~y9AP;4Q>N!T@D4z*&7bO?mK9ElF+_mSAD$qNBya(k#okI^CwS)bR-6xZh3?* zZF=ulTW)Fa4s{_?yxg}X#H>F0Uoj5Xg%;5;boD+rsaQsDsX64OgHc}s=6uVpfHk^k zlpvrAwqHg53$g{*i6`q{9tYnH1?gyBzE&4v;ggkRCUN_ z1%B=lrrO=;4EY}RB_3|85C0j~`~ywkFR<-J8M-Tql8|+>KQB4<)}Ih%<{rL@Z1o?t`(z~Hx-@?`6zy(K%<1VMTJj*}#rdcxO; z>j7y_>AHz@aa~zf-cc+O#81!uBL%Ix9|$3;Vi6s!&z9Y(Lu*?(*iyBMDp+AUsk*Ke zA~7wn(x!xJG~ni%u+V#MBj?$??QSds2gH?sSa8UG9*7!NX3;uf01T}&~s{Y#;l0g|kD3tX?6Bt1W8h9RbFLs2d-c20vHRzmL4T z?J;5)Qa_J%(C+eFjAf^`+;Vwf^8L-%K?=hp-k)_vb<;YnBkJ^ao+R!hAmC|{$rn8` zX_1d4$6I~{w^(fK61hH>q$uFY_>4T@^$DWZ`VftMv_(&dti%YN(K7d2ZGFE7;iQsR z*sc_iBgH%k&?hgnmJ86`EPW-DZTTpN<#k->(U#@(>3;2AZnenU>|5m)d3m=xWq!z7 zOusyx=a_V!w9pr8rW&7?GNG2zkeh|0di!o!9RwLn)8MVaAO=}RCbyuPHv2yLX6now zHQ_=MCn`YS!!L_^d53*8llu!NKVl8AlhAWy?6amm>IgIPrMc42xwJuV%Vv}b%}B#2 zJ*O6?-Ov~>5Pi|Je%`{9Js-5z!$#X2yJEMgz1J5t-?G%>CvHM{RrAv?1j5&HM)^_*V8voSf9E zj#quOgHI#qvNa`E9>?g1ON9C~)^g6aE%v+zYpPH#yP_(JwaYN9ZAUnJ<$S~3K7Z+m zaCcZ1<0Sf_7pq8-<+BXMJxs7EJ_RDskV6m`r939(IV8Eop2r`xhgWJ?RF;Y6L8;-;wx26Dk~{F-wBi$^sxrHbb*h1*K^?my|C>AByf)ZM zOZK->M@yez0f}O{HdK&|!{`Xp}PUzZ4OU0${aeqSQE zyhzFW>I`!80`~KQ`~vd#1?2_Fj|{(P99x)9f4t$t`bd*KV@tQ|#a@B= zq7kz*O21wd%*dO|%b0_)`6F!mE3TRRX3gW9{#BE!!aiY9GDmYyBZ7}sOVi&4L|q_4 zhKqKU+U3YMsLXFgqn|g~_C1-tJ}RYlZB4U~8)j%UNMoY;iD?GpNGlR}t)Raq{ z2zTN9OE(KRQ5QDz&6gM!m!{ff+gXlQF7kVYc`~#G2bUiOA}^=JMzkb?p{Om ztnY1vvudTP84|)Z6ql?bysyLMRGOPofS_M?VQjXq+cF`4Qqur0ag5tScjMmE99!3m zJ#lyCeMi3epj`vAkX3#D1Jr~oN4h(QOEXg|mDX`Qf5OiY5-|MI-kdsR!59{uQUePAEzp-o1AIs5ZQrvQYlTq4{&@jZWERXevbrxqo zh?Bp;037BqA9B`62#SY;U0YW<5HhDF2J7#0ZYquAIvZ5NJbD&ugsDy51yV-HDAWY1 zG<@%RIUYTwP<_~JW+w4GW;07w&r)EohOwsJZfyV4YY(P)Z`2~Q_H3glzfH`HQ-rIU z*V;RVJBmRoN7b2}6Sg^3NBSgoaDXHObic^|r)mLIaPxKD^zv60 zv24)ok6Tn>H}ixe1)1DXj0|Az9jnGn4xi;smiE6y`|9c&w@7g`?eFkUn%Z;{JGkc~@_4>+S>)s3 zH}@+j4e!o7rhf$^-27KG5H)9I%37_3@6|`wpL@vq8RiduapkN2)T5!m(fxQgT`+yB zpKQWdK4WP!{MD6Qv=MjR_h-LQ=OJ@=F1Lfq15euI55U_y2MPMCuTir#o-Ya48aBp8 zyP$Fml^1idg`!;J+17YLNm1UALH%Xc01EJK)?C>^fiAFCG2x zAkA%VTzdLAT3%+35@4UD=jZKwqR()uF3){4b6tmdyeu`bJ5*q+vJ@LUkTh&;t`w}4 z{<*3|oAKuDogBNZ*`l+GRXwVp>3u>xOc-g*3&At7rQ^jn3QV!b z=YKjr6Z=b3^j&%Bt99ER8X9%Sq=;90x~_Y=kT{YYGBS36<)vNdwvZQzLf5T^r@#2G zreP~%f9O*6QRPidO{Hd;O`#Z(z%av@RjZt$%@Nzcr|H92=RQK&TAphQe}xtOz15K) z&SiURZl}Xl4&^y@I&JiDBkIKyxrcLiL_Tl3AYu80eSE!sMZwbEv8h+9u2#PTIM7X=Qu zXRWb+C--KM93#BN82@ zlUMz{=<`yKAiKUMYBv~xh5B1kr6O%ahW+Wo%0o@v{Dh9&6jPN99K+B!?PNH6y$|Lu zq9lrGht3-BuEItREEVh608nSY zC~;*}Y_lQ+STIl+v=1FS^Yr^*2?>B0B!gHi0Ql}U>W8fSK(5AzR^=WnJk2qePymDe zDp)qz3{Xs-Q8oLE`Zpl=NPYKn1cd!Coj0I>I{rFs=`$J2fMEc!)LuU`Flpp45$5dP zOQDkvRaLH#A}}P#qv5b>tKKcL9bZ#|3d_=WUTd*ca!;E^Moy;<Zs_@H)=apPo;~nNuv{LiA=8`vA;R zWAE{~p4WSRpO*vU%5KuQS*%{;Vw|zaHfNP)Oz#h1mL#i4go;T3N++X%3%Y)}o2eWK z%N`A6-L2~_Y}rD>$Os$!!ux2O^2ojVqK6izo!X*UiMLHE2fT-WA7{?Q_52iD{nZ+j zc08}(o+w`F{6^$3I;%n26q?)U?!k#!{ofvguV$~QX28?Pu)#@FVS#lg!rl@AY z**!zGbnecy$K@VNw%X&2q3Jgem8G!5q*CpQG565S%H4>hP_DB}w~mJXg1|goA34{lT%OK_@#7yMrU%u2FqRxqTU47adqJdXTDLC|o`oiPV#= z9;Scv=DJiryLV9^5YW$nor7>n|ZG^%l2Bt$9X2@W(=PIs_X+$Hz$qEr=xL1sgKPVX zVpUuVn%dmJhU{zr3?M#R?fpBMND6H5i>=o36QfBXJK#IJXJODu6DlF3ssa!f3DTq0 zwuBX3vHF#P`cEw&q<&iTCO9=+#wtn6Js zyqZ^YFJI7Q)C^5rsMBM`=>%$^QM2wT9IXT0TFR&^77GbiTV~w$jO-a^cn z*3`K%nT>zjfr+=Ciq^bwf;^{(r6m^&hD9+4LVd+IZ{O+tl-4Ns={EHpOj8| zt$d&BSRExc^~oY`sZ7c9$gq07;;93-v|p;fNV59rwYho3aswZ2VW(pj~OuIYOOMq|)^H4DzGszD#mgu|WdErb9l ztMvhA=(>ym0So~EUMe-^SCVLu#sPP#G>*TMQ(&0jdUh{#(sU#yR8_19fuXA|t&dMaxv!WaX(|BpToZe<4PN<7^EhPxTT^q0E8UV z!h)Q&B;Mz%4(hZ(!Qf7Vp5l7jcGafo-o#lv1MX(faA1c0qK!(f3(Hkpxas7o-i=30 ztXk+pipVw?K!DE6_`)!@^-YRi@Rj5 zbZeAAQw}q-LD0agDUyQjUOF2nz)dP*8qwf+vN5VXfE6m&PJv(=(X1vx7Apu@qi0H| zP(#uUXccJCL+`|CZ-?b$so=ykGESbctHz|gb7c4g3nG-ULFD{*@3+h2zFzrVL7r5C z5)TJ!Ao27V+H@%h%T+_M0HL&j5a4_jRtB%nsJh!G+pIG#;J_VA)mQ;w*Co&gPyh!G z8~|PlE%GDi0w%bgK8ycMrV}ug;1-f_M$*}%NX3||szRWaynweFxI=z<-LN&!POFrz zt$R1|>D|ZMg?rpM$-`QNbyaC$z^?Qo^B6QJY4YfF#;%dRN5LKkJ9e>KGf_ zY+a0Vn4ua_(=?od6?is*gxGUBp|cwPqmPV1hIOI#&U1VFOO8T_8#MJ)e^vOd(vj%? z5Q$ep5FuIx`l*h<8GsgDMk!QBoe2uZ1i4@n5D_nfyY5$YI=X?=O-DCiZ(suf0suZ* zjqWQ_i-L9pz&Bb===SVNTBX>- zZDNQQSZ<;TGhk9w8}+cDtee{Doy{$8duC_$DDL<~apexj)MPPWN3l93SPGmyv#9BY zCyJLg(^f7gp~yp$FUlys7d&f;g)Vn6;`exK`Gv(G83O*?k> zm@1jfiAl#`)yjm~rv_r1nOtbCF`Mojbq#R`J!Zs$s%oitC@ndXnu4*gi79z$FH;#v zab+opovH>c1?m0AXdZnJQA+%dof&IUHBD#j5*b%TRb;HBSh8=D0)qkeU}r$1i1aJ+ zWwFXKHAV&pRusx&U3X$aWaOWQp1=ikLqSN_y@o)`6uWZTx7_8!LLEj}6Ux}tXhbt& z>=4d(Qr$p+-02WtD*ypr+KlNH`UMPN)S2QV)CI-{&gq#+&8&nXm8*)NSSMGc+SX82 zKIM@sk8IV`Ry#Fx9x^emkZR}UZRhspkyDy3O8t?OA1nXG<$N%$r?S1T^1F6)HoxsL z`=_bZ<6iUJHVl=sY;rn-R2Jjv1#05k^4g&21*q$}9!NRv3(}h|UkooE6x%W!@UUiU z0(x;ym{ty{r1+0*IZ#oA%nMb_?jA@=etWvw&6M_3U8H-OQpRn7q@s-xfWVX@?0$1kM+9Q{FkPeQ849yhV=@hXDP(%UQ01hi)tE2cQuSIu8vH%Nm0l z95jJOwE+%rI8dCB0bUAC<&_i{C;a?k72TZ`y!yRY7y&(mvCt>QpEQlU(w|CDd1rrvq~v@hAUe|x%Jy;uD( zcDwj_=4G-?w=FCs)2k?T+?p|onTgeoIMfVmYmi&b%k+)3I+L~N&ZmQBXpKn*LNib> z4a2I6;)6l=>tR6l;Tp!IlY+E&$ZN`(vGk z)>r}z79Dsp4U!*eyQtd7|mN8);VoZE$H%K_TD8OP4+ z;D8Rhdb=nD03QGaemZUCnWPJ}H*VKcXlwTjI>9V&oR9YccF&U3C7-AX{ z*^^U0aNu_4{_lm+AZ>c`RbN--U`XuEW8?EzlF98`OOf@~dTTu%Tz&ZTPrdurykCBL ze|)HYW*#$F#~H@r!ax`$8?t7W7F&%gnz&VppfQRR~7neE5C{vS6 zcV@+E6lA=(dV=YC9A=tKwC#B=$CYh53+b&+cnJ}- zJd+WTs*2Z6s!|6)?n#Rw1LxS}t{C+*1kTM@E;9A%I~mAD^drjR>;ifSpIN~tD}srz z%{jiEI6w`iL4;-iUMfxTGxP;)a5|M1{|+_Ta0BP`C=1P?9ax1_Aw^(FH4{@0Gtsb3 z^;IW2Z*K1XFg>ib$6hD7JoDe_M;~te%W9H)y3Gv5PS(k@stHZK4OgXkXKUnK|MOR7F9rBtPY z*X3I&D3}cZ5}}nH1Nb(CmgOe5h}}$=&~aQ&*~@^o^&v7)2V@NmGS0hg0q}%y1_Ts9 z$pC&D9qTK(Hc&RWOQ*fOGH3(o2H%~@@bALNPNgzNFjpb2Dg=PDy?H1H(~z!vYc2U= zg!82A+Teon2%Q!Hl?>*<%8 zx!;^|&h8EEEaa85znYwfd9=HCX6(T|!!%XuYPjCrv%8m$J4%7+l#>)IF0staFujUQ zM(!XXB-P>i7t8F>hd&4Tq4yL1p48By2cWilbDNeC#D%IzRh}+|La9Vk@5Qn#0AsY) zk?j-KDf{k|RugaNj3tLSP0GrsFu#evySJgT|KY0Gt@dE^b z03I4G`e#B5ND~;97V|530tUG6fEGJ5Goz@fs;VLgfTo60)e?;CEZ5Owcq)F(ZLo*6 z=+@!!)O7z1$vi#%Q*G&NsuW2@qe;^;xeQHIz*J%kiFXv*^XLL)c6yy+($&c_q%2#8>8i3ILC{nT z%3i2SDv=-uV-y!2)}ABJ$@JMQ!}hd&fHSSVl!TCpB)z%hNhRc{62>`k_p4*Q9j@hW z|KrhfZ=`=azkgc0V`*7D)vd2$bs$V0_0R7<%E`8Hmp|E8XeO4$Zrv~zq;Yfr0lOY@ zYXBKO>TK>S#DZuT!RWL2Ux5WQ;M@o(nbe3%i?Li)MGB(!Udp!r9o5qK*6eO$BMJLJ zy(PjBpJF_$Mb1vA%64r^OU>&lAFPuPA8w!Rsu*lisk4F98MnI~Rd9Wxq6`(?$Gq>S zx750Z3A%vp1Ul_uefyMsP!9rWX)tDH-p-zXJF1q`npmZ`DZWVW$aZf+_MP<^jmKu7 z#U0*SWw7tU_RuD}c~t&l)&^FFsicrzz#zinIyE2ak+BK61?9LzNz*MIIz-1Y+V+cF zU$9*du4sa`EB3XN0z{kmHN8D~b_D9JeD6Zu=MQdMf#lp(fQCrM1B@6#1IR!Co*JFX zSBy6WWrFi6bSj@g8<-PZ&n}sn)MT!Ps;Y`W{BSWzVm+)UQ&l~T1l!>rFHZ`mk?R|7 z4=g)R{_NIooTz^JIahmo>sEN@?X;ioU+i0)<`4R(xwDFB=H%lshnwmr*(jM=AW5C&JoxO)Vai#8cNTsi)Rj5OUYe5AtFhbJ7qL0-BXo{ zm09Itbh2US<+O5N8a791by%~-CJ#!_??MvsK;9 zj0qHD0R~Xbp&r{Ez{_IosDOb5$UdXVAp^DM9mHh**yMyeYWrN*5jy;rY2=J+3qS@i z5Cr~7js7R}0BrDfPNVq=%>fhK&wv>ChU1AcGon(%R5_$_g#fU`!p7K7JB$Dg>__7~ zoVq*x&Hrbe-H!ZQdi0T{{)-=;$1m@?*{YvyF1Dv-$*tPA9;7=t8d)3~`KcPxizlZY zjeKdCCdp}c(wLZ;e4q8cxKO*_-L=u&c%< z&h{j?i=oXByzE5V=3?IsmjB7p%;)@-MEY7j9i)`J0m(vvrB%ltNx>os8H6xISjG@a z7DxO7W9ccSvn%WhWFxkyEe*A3i6&8S@Da=iB)obU;5|(X{6hBy4x$bR#H0nmLWHv*XE^hMt*=J)g zlNIG00Jtjl|$VnJ4bb2^=wbY`$zRgnlGPz}cnNrus;;#Q%ys>If-PMwns#L%{%Q)jjC z&Iv#I*Rqt_+WO{p7~`*#FMeFqAJJFqGpW9r9?v|-`Bd|j?MM}-G*Q;A zW#D%1j8^j<>j`M!I%fuUW+`+Og;?dPSP=vg^={6(T)*xfm%q5WUr#(3k}Jp5O}s*T`4FtOxc9ll|XZ8D%(N2n~YB~Zts&xW2h7j;5=%~HZJq<;_r>Q~x z^vqVPI-7NPZ%%@Lv>2ee8|G=7qh7=k5Xcy?wRY@<*n^C$VrcS5TTGaP9iL0W#rzhu zxz?zqK}pXr15n_wh`pl?2OVM>fg?2r46%?$5^k}@5DDNjJ76mS8&F>ohVmim1w}swx1$ur7qu3>u3N64G&T zQV~s6y_x4eLy68@o36QLz~bi6RnuKXI&+T$w(jQyj`dOSZmPAsk*Wp4Lp(AXo?O)|Q(&m@yuAc!1be{H`IG=SU}u*HpEQNCI^^R7V=;K%mzk05C8?%Za^!P*T^VQ!kWn}%g=Tmu|r+*&y+uNV@v>(UG)8aO{-#!(4n2tQBhVXbyb#=CW z<7us+HsHnk45e7{Of*#ILeQ0qR$tRa%^2M?88O+`)w-IwYdhxKuC$6*TJc(DEW}r7 zI@JJ4v3NS=lsQgvww3mihUo#S9mBP$Vii5CGo!9OYLMjRZ>2>8$26tOX3< zoXl*{)F>pla!8So3W91TtE}KTW)32id$8WI7&zKnDY&b?dm^=MJLRQ*LHabX@}ZXg zsdc`2(aYeS=RSQr>N;q>-KCSjWj<%Rdt+BpRUN6iPtjG?*UM>`m0A21Cy+xEamujdZgTcad+nMin~b|2 zssy=JR>^sJt0S&yF z)2hE>doW;_@!kR0*$3T-(ts+Ks}KZ$+Phj9GE6b|zxtEt_jk2wu2c_>`u%(CJ@fwd z_BdwecP<}GOC7Cs*M|yOf3HvT^V93+o7(5)$4pe$YPu^Y*CyZE)V=|^$+5T8nP2aF z@8fj#T)gDW?C#ROmkb!SALqF}K4jFJALGA=DSCCN);)goR3FIq#>v&IM9G*RRmzDMgc?aI}i*t9M@f(0cf82tol350NJqM z-h5W`8BPHvINyQA>6vs!S&FK1RfIrEwMsI)r9|$3`Rb6AuAbkDzqh`5(bofy z4vb&*$A_f_>tJr9cP^&4%frq1Y_s(UAL&28XMf6goUdb>=W^fs3-YwjFsDb2fTC&s zyzDMbHdGhu%*@Vy%UQ$WtMRgR_4_$VHDBx69aOVMud^>vcQa%{!I@1iJu3Bd&Qhmu zXLbE{^8PyjGG{Q`+5M4I;%LK^IL$NAF>V0>vMq3U*^(tU6_O8127>JUdf$cdx^ybl+YCC{7rK-O^R_Vd}{+)awtNK zW&qF(03NxF^fR;tG~jYs+*k760KkpVLBuYZnVA)xf8Cu2|1wXV(v-25gX*^IBQ%WF<9^cl|=huLS%TwEj0TO#{v56=M9nZ1zg z8FNl$+|(w?(aZvw(P0yFC#;2NnZ&6BTyW>1L#OK0jX;vTKHO#;r4YC2r7Afkf zS1NQ?*Joe*i;F{)Le^e$x!JW&M1n+XU8>~xPdi3pzQDn+uHz>IAR8yVHSmKtFwSp5 zLdF4Sn0?sv0)`@hVj2w`D1K>e@;f#ha08jvZoWfzzyaPDNSTlh_B?lwWo9NPlq**u z2mo+uy3Kp-mpL-e+&}5=%&_&xooOFi<-e9`U{0OgdHLL4O;7$X*XJ7-56iBrHhfr-n~^2IAB}NpI$+(Ece(QRYZl2NKU{3Br~2~bC!58wJHZc!ynOh`W@%op_W5@I zpesus=3M;eo%wp`VckWvy?4TSpRRprRPuglr;4e~d)L{Wwb6zLGV&SVxSk;Sn0QZh z@*Z1N=RXxx%TCo28EIIObOQxYHE@k-vKsQXwW;~E*tbQ$?hkRW@4%gL0~D3%k}-{Q z-oO1L2YyF`foRW++TgA zynkOE`{A71M;2f1e?Auo-dUXnXf9 z&s3d<6U@1FYZMO6YHOmcu`8i!4&ZHEaq<`d)CLC%&;b7V9L-NsOF#oYorilR>jjv= ztqttV!pJB?ta4RVfrFbmmdJ`EILDLA`r0_U2`UF$-=XFj_&d$ffo2t4Qbb%&;sp@>E(O4r&mYX!aD*IF? z(+0H!rEYTSBD1UD0xa1Uga$+q+Q^Qg&D+Dvka2&pN6(gU{$|fN8jLw@;gErYpoL6A zq%;ELq73B!fv5panHMYGrj83Jer%MnZWj!u5yUA5&<_ZJI0b+JPiJRS002M_0ssI2 z005)rMIHnI002e<{#Qu<2>%fO0sj#H1OEX34gUrD{|)~J{|NsO{`da}{Qdt5{{#L1 z3H$#C{|5gC{|EZ>{{a64`Tqd_2LA#71M}_w4*vk|_xtGHxg6tH^4S1D=W_9%vAqBV zSK%A1xD}5$qO&A5iYiu_q^gRLtx8I&OlOO0jql4OTHDd#5O10#&}-N4zg}`s>X#>$ zmgd^7i!YC+{$<>hENh<2R!hE2>odbCJZb*3Kc>IMFqzgGm-}=k!??oWV9g6$AP$QlVi{G`em&ONwHxOXPf!nF&uKhZ|<#2ZkHV|~Xj^WJ7duPHrBTHs7s-bdKMGydUrh}m(AtBkvWYF$d>PtcT`r|#L*Z-NX>sLP91=H`Lg6y&S3t|C5!f0WbOOkmFa#)?fa?OF{kQL(tShE#)tZ#&U;tIsyQrV<*Pb5gQmCpbmh;C7rp4{U!@rk6G6n$P ze8*J+1jmjXq5)cKy5);7AuAx^FuXj3tXAF{#=PSnCFZ4(#hAo(wKV|UA&?jV*!~%v z;yd|FHqkcW+8JH^E2$?FHn^UXnI)n|9Lu??Dgq#=s$vC|a7Zv%>EvMyBu5l?a%8lU zV{bga{N%wEU%98kZ&R#z_#D-pzph@I-}|Arcv+)U)nW1QC=lj&&3;jJ){rlJynvm+D z`{}j~I_~J@)AollG$s#cyVOChB0&X1H@j0M%Tk;b)MK6`=?lJ$JwRP053B*#_yGXw zyZ;6NFsdmIYXK4H&?ki8ZHZ($u6SLseB3g4|f68E`ggI__syHlWP~r zY%<7UAF{tRMC+7Aue*1BdPmd5WnZ~ny0Q=XzjfPpQZ}{RJ$x#wwcNdLoP?H^?lF7+ zno6*{wKci|YO2^|uRvGNXq2lOmGzjMwyaPF#PrG+xMxjh#i~kFcwLo;%Nklj1`rT{ zTycc(SMlG4KqNz2ek4I0o1ysg$jEk3aNnFCrMDI;T{tpEu4SeVnXSBv<_{wqiza>8 zErUP?-U%JuchU+#0rw_!HlL9z00rFVWXX)848E4z>w|(kk&&lCB>D2KdUE1GC%j*DxhpHE-rluLFM;9sJ-0;9#ma zFvDTaz5p9%+(|+M5C!Dthyn62gllq!?F^uV-7i4S;HqCFwU2tbC00-mXy z+-K5k&;evBXZaOo0RZQW%uG6Bv7D=_Dij|Z6XWWG8omwPgd2T{8*&*Au3vxuYGfdO ze_(&S*s7iU+QIWbugi~D=H$(%(^By0(!q_~GyWkjNp3&S$~a@cp4)BwJNIWl>vd}9 z*mImSmxs#QrLDytpvkXh)z`jFw?Ef5{^ASxO>d^%99?3RU6Z`Js(^wVO#nqWL6$N{ z69J;3L8z##2)akj*;qbboHQ(zLI77{Ig9KZIOrV-(l4&8m|$-#9QKYcwH!5-%)pKo zedi)Exo7&PH3Vs32iK{F?Xn04*GwWSrVAYSjt(E`2H41L|2Y3xDtXm6{i3q z=YX&!1D?6;?kB@+0AO>u#?R!l0e~A?I9W0?sVpJqs;Wpxn%rdZ-Wu;1w2r%tx7)Sz z*e9g+e1Cq!BJEj(<<(o;pR9jyTLcG-yd6o;g(H;@2XqDb0S*_@tt+3cE1?H~um0+3 zvSy0q{CoP$zjMqV+2?$EI`-?iwJxsvPLedd`F0#e31k3d!Xc|(Jh>VwMO~S*LZTx_ zhec6I$B4jYPnx@LF|3a}&nqIuuq97&sA#I|X00I~oy)|-aZHRvEjK*a2w z3BU&d$ezjU<|}D6nt(%wOy;aV!fB8I?jCkInVFdpfw3x56++0-W?)b=a_ArSy}0eJ zs)E6B>SA41-}?IN_RIV4zve;m@m{8!7Z+!dB)1;UFXqibkkhu4`KUgTrg|<}m5^cf zpUIb-TO0D@N{3jNz=87svK-O=1DZqb|*t8xwE2?$~(7LHbr$z zK@#N&4#1EwKp#efIwa}h>R~(vSg5WVDyedH$|cpnFt=`}o$)Y8{L zxzGgw;PSQu*$Z+4G+Kb!5dcifphJT%>vI6pGJtVF7(@V$4gn%Sz+_4~0vG@unXL3H zX*LZ2k;x`LVormG32vBe*_pj$h6RfiQdNb_2GhkzhmPM{A+K)(*TJ<+a)#;J&rVPF9xl6hJzw3w ztK9rM_rfo?@}24ToPIUW9{t)U#~o;5wk zQ=Liwn+;$$%2GXRm6>3BDxn+TbQg>v@D!L>Nd)FJ5R;7rp)DMdN>p#6z=kP(g&S$r z1IERQe$W8Z;retj0QtBL!Y2r})lUMF!#1s-fuXY2F$~*bWZN__paRY`2T;g_Mi^SV zu>l3X$z1$bvQ?xWR3J0Cn|HF6Kn91W1q148~N`#ujVSI(zlZ-1^2UyhD;c>QSJRrB@L(WUe!<6u3=$(7-Zq1Z`t z^CZb(7|P|E@4NcPI#qSJv@hR0o#+1Azt0D+Z}u;jZAJI_S9=v?^+|fX2VmD+tP>oz zl6TH|oB7e%M{dB(X!Hql`k*#fbzCX!sLN$fUP)2F6p2U6KsStFvv+M$u9~tWvs-*L zN-zKjdieEP9U;KUr%4zQh<#eOIe(9X#S8PjQ4B*na_|KS=fCkLr!s&Fkvs!5Yr0F+1hkT|7~h ztNQANne3u4uee)N+w2opJA0gS>dlUNdS|R2(`ui0hlWu0M35?XQ1)zX8nc#|YD*3t-r^9DaX0=nszN-D39e8DzVF@NqyXU>s2B z8Umnz3D5#wnHj7pD~#h7zdg%CoCCPOBW_TQiDhnHSVFG+7>y`8b&&KAS1 zqaS3=eE;&?DtwO)VpIfS#>bd8r3kl-#X88J=w5H2FPX) zlU%dB{Gaz@zP-~)MOaib;2c|VKWCn&xs!Q2aY9>f{Ex z1vUYP6f)ofy$vXy!5PH`AOPOET>V$FRX_oBE_e5tY!xO2aCR&U9VNAiRaI3*PB2gp zB}eL&hgMx-=BUOxWI*&{5T6ByLP4zMFFKdrELR6Ad?Zp2A>T| z1_ewp0H3e{3<^L4Uis|$ckD76Byd+g7x$HHC7=LL4_FCB7mAPcB=1GBh=^l&WCQ?S znH=>;>}g;WpfWj&S2zm*oZZOmQHGtXsz_Bx@eYb3F+nvGgxl%o)%z3M(8%hXx-os= z>_3Fzz()_gG4|WX2=v$5`03$_*FXLnedU(R_nW`}{8GDby!~6Zb3UIt(eA&@=p7kK z1@|z@|IVdgrAr%_%Kg?&C-cBv>=R#i#W(ryYyq6R@i>g7eq~qIG9;W?T(43!Zdy95MGTXqfKyMa#b5!JqQ4u zrR&*hXX8fz+HvT%RT~5#>xJ{gt?ix3?cke6VQ8E{Xboj=U?Gqwu$$ns13R*VszCz* z0REV)^ebjB0H89th*y{m6u>!|NjDl1$Fi!bD&*<|fjy{1hF)7~3S;+BHn(DrtMBZ? zHiOe#+J_Z?NA2x-G&Qd6-+s0956iaZ&0!n&hrc)Wyv0oQE^;3i%sWHo zQPPVcC+@DOnTR2C*N1v@TBw|j;B+Z0n2yc?jGX?o%{-tpEvE3W?Cjgs?NXO9#)0aT z%J$R_OjWgav(#5E7I4jy04q#VWhe9z5|EXSP}WZmiO}xNBmDKM2(zIn&Dn-t5C=r)<37oF7&3=q0Hs%9174{d^+z}j zjAnsMsz!D(BHOcuBO80J{Pe~S){6n7DYjacjVWJl zZr%6nvE*mZZ{$}N6@FP5UEIpG)^nNO*YH2gm&8!)tNPBR&R0Wru4t~Ftt094zKoIa z@VAH0`SVOS{~&0+XkN!{_Dn+4S>4rBb^4|?7jxdnm~YQ>-s5qdY+x&E02MHO!7`Ma z8FQ=-*kd?!(u@!p(}{2z2!U2}fJ{}2s(e%xd3(?}U8q~StRduYmVPyrBklK(-?nT6 zxUw@J++@H(UiV4u$Q+J=qBG~N&RTbFxJDh&*I%B zCYiH-C)*1!fcesclbK0J5yvW5RS^R1pf->5rZKQ$soL9iFLubVXprNpj7uNR>*TQ7 zW--3?$nPHg<>JPEW3t~`^FvVX?%dkcFV}^({yOn-=i3Q8DrVDi;s3I;YFd3~Lw^eX zOwXS3hOV>go?W_{eclS{H1yLw`BdO-3g9;p#Xv*F<3iwj!M)5HY32S+MsGrjnQXL9 ziLr-XJK}J!#e0oNf>qy0kt+=Kym}R&dfJq;r4<06wW)+-JMl9RLoQ z%ENsnEvErE+ymN9mXeuNOv+WHLW)4sq#;!?Xb36})%xj^Z#{B%y>D{5^x)Oe|Fd{L zznch4d-wMryYcOyUo1ZEQ#+qu++Noi+xyIouSf^7`H3ns`KjJ>s;{BQMPk!)>in0P zBYR&ykG(i0s0Vk~gXqfpWB+!3%r`b;Z<@~PZ1)5GZel4bu#*`2>Y5edt{w(RFaTm% zM28*2N~xO%r8#RUu;5O(;MnX$WW-=vp~bqkemUauK<3@T+LUqnIMlus$i3OHLqlm zAkKo!-C~euq3I~<5v#IXRY(Psrex6?4WvOV$y4F&|8 zT@kBmxUW71eMkjbJK+nMBxlde;GX2%DH7DxJ+B49#tHxd(C?>|IWFyG&)uH&dNr?_ zS{K2zS|HG90nycEpduwiTfQ&uv9 z)hHRLQ_~*#gYn?f`UBScaAN{{Ces43GYWmjHYyDO1K_gR00zDZJ=|x8+c7Y~brX8T zuMD>V2Dm;8Z8Gt2c4j8E5ppb+tEvb9H3Uo}=4`bLX>sqT_g1FN)%-gt_rvQ`-<>t^ zw%t#$H_r}M@7Kp~`;W1>|MlyCKi=Ah-T&UxhZIcF{pad*SGmyLdWdfEgAz4!TK}Z_ z+U=yn>0hI)@o~ehn9|$;*FHT;4tWwtRuu1K9OiiL64?Hk-c+NvRY7lW-mOKgtNIoz zM~Qic$#7B54k!QsV1vQ^@t>5jE`0D6QOJf6$oO;KxLYpVT%aV0nF|ERYdjF{{SYRe zjRp;27cMMXkZR6tuP8uGp|xb70K;G~0l?2}0Dg(w(?^CofQ0FIx!mJt#ygRKnR6*R zROuNqlcpPyq?oI!3W1O8*M7g6)-?9hE$uO$p)Y1ocI|H`Q?pm#9#{XT zi-Gbe*^8dx^LXOfzfBj%Z&Me-A(aysjr{hAhAI;bbl*3@b zIVCfSGGeiqtEwt;RRhuDp*ZgT%jS_)-1$u8>OiDE-amRUWW9Rn?YpTfCm#Lp8}GXO zqtorpRnKjG@W|ui#s2wRHaV@WC<}>RaGSFS~9k#>G(q05Y}(_{)+4RVtr@z(mL`lng3p#o&I{d`Q<-d zJ-s>5Qu4e%lk~pRsA>Pf{zWf)+g0m3jq;GX$$g5qZbZ^@`#;xzvk&?4dMh6N-1Bi; zm}cUH?Ej0AFPep2Oi~SWZKid}IF3TwA}d)7YpwmpMtSMVI^*_dKPPprpRfbT0#c5# zKotpW02;t0fn2iu6Iz3z^F}OVgAAa~4JH~oCbBxx;*LJ!8G$AmjUoqG&^S7pt?bB% zoPjyQMhdM8YiQL>kZ}I3l8vxC&f%0Ud<25PCIhGg9Nw55-ABe#AWW7}A~8A2cky*2JF^(OzuxVJju3Z$y2RSM!O+&odc`t#r0($;=t z$2#uh@!-pO`o)dwKVL2Wt@}Ur?U-joePvV~O|b3Y5?l}Nnh@OGU4pwif#9woxI=Jv zcXxMpm*7r<2FQVTzI)$Vcg>IaJw4r3wX1jSeQlw(crV&i#T6%SJM>ZDj)#Xl}fBKy9bM zKxzDifi6Nfo&ogKj;b*1>?sSCS3qxYDDy+AH%ZIyj1p##cnvz1oUC1@!6Z!BtzWz# zzAm54zMq}Poc6>t*Z|Ia_5%1;amhq5suNER*Q=p z9u5Xm%$|RfM_U6nl^d3PoK_Y~n|c|a)pOU4CJ*oFU$aBEM70{@KD+4I9&yzPNHNIZa1crMtltLJ20=D&dsCEL-Mjws>@C5LB2U#a~m4 z(|xx7?)pfN(F`Ee8iapxM|rh zr-~ZYcr|g$DJ2sn=hDmyN?6rsyB~*mF7^c6WqOG09sEZ!rFCDvkqJCH{xcEi&^&+p z_xHeMBp|ovX3`>7_>CZAy=|w;KpjhwYFSg2;vvv!~xJT_ThfEx>sQ?U0 zieo9XQ96MwCpXPpOC%zNc}#Y0WztX+7+Ym!S{wi^|4Tc`5t>p((~8*Ue9hOXDcYdz zVsy|VcOVuD1uzZ33Z-vN^FQKX>_LLxGFkmcQ8}4N9=bDy4ryX>eGLtY%5ZfJ0zC`I zWc95kgQwb&hI9FzKQsNQrTBWn#eX_GV_yczlq4pz-o4}fAF~8da$ijaH@m8RX{M=9M%V=ALjmCd{H}d4Q%;{X zRQdWoA)bf!#Ws3RM~kUO+F7yh71U+p@TSAzBc+l)G^ zAb?jKKm^_p1*f!li5L4|3G<`gC)z&Fq5aPBB9x$IcsWatj;5^9tQUifi)>;(?6j=) ztUh=cb_oz&|4r7nfBkzH*VQ2?`4SuT-sQQe(}~EudG%*~@kMdsSs*vA#aZ$JEaWEV zUv&A*;j&xpJcyGMVYoq!&?1m-Ul{a~?x1!ngzjRCf|-fU-Z-A0=Nsl)+*Vug*=*(L zevy9w_NHOeR-gbYFu$S?Ieddt$D|At{oBD*-M+s{g?d~>k-QHt;+k$_w0q`)ydc6J22XD&>Z_`{XgxX`*~nkn9sjc6%Aaih)L0 z7T*Ca`??WrAw&q!i~S2hm|{WDS*4FH!Gd`c>iEyxT-zOGQ(__%A^?*CNli}bYT~mT zb!E)Y65BG6YOjKb3`0K)PBE+m)JNJts5~f;I)I7gW+2bPv{1y-0tMA~M58}qteLA9 zA-|vDR>aC0CX-Ua>8G`3R4IoxKBdhj?wdonlliCP0puCYw;=^(<^DC82cn@dF7QyP z(1=107jEvb&7P?tLe$4A$X*zoRN9%P zhURr!h5XeVlwavYa!}*a%IL3!HoIH8y-No7Pph6ExIfta1Fv2=2^bj8HZT%WHYmZ4cV`(Gourv%C3LC{4=kc+ zNW2rmx2@d^k_>-69fh|YlPs;hR?>oQ?yR=Kst;Ac{gnq7BRl;0r`cHoG!O`-qK;+h zri_~mt0IbxuS2S(!B~MVL;hoHB`(r)6OdY}3r8}aOxZg<$H7rJ2)vaEO!J#DOTe3x zCYSosV8FrcsQ+Uy;X6NmZ>F)%h zaK%|Ytw*%W)fYS8-_@DT>J!)=C;qNQ{9fMPKj*2{tXAXxIa|VH9c*S_hfd8;o6~ps z0Xdh4eB%A;Xm_xO2PdfESKbwLosQ9!_A$i}KPnsik#19g2kJn)xuoU7=CAc^P)*+H zBL*zpx{+$=d%1Kstj-ak zuK`zyM|3RFL?Rd`8_e)Nwr+s%@~f&#;o+dEPg5SPF8~0DflT7QYn)8;B5;>J)gE1%^g)_4he>o9Ien(P| z;pbqh^Z0#D(aBLyi6SRuV2u!~64K3zR)kAL3&ShU0zkSTTNxgg$ngs5wCP%Ra$GRf zsBJ#RS2^hfAt1;Z5bI-fuLO}&+1?7xV=1zdewjD+d`_rqtd=Dm`!o#}1K1hbf*^U-Xj z2pIy*Zrna>MN#LrgfKr%K;PZGML~w*-y0z&GBE%UT7f5`ZS2MJg@~9A*p5g`heY%V3CeCorfRgMTPtf`29NWC76!@Qi+o6|X+& zJaMKgG+E86`Y_!zdUU!c+m^phzL*BM3uLWN2hx&Y`EU)oP9cgl`P7Cew1)=CS^uD7 zYr%IuEFR@jCx@tN@*}?3eu=57`eM1qmW^siPR!t(#vvkp5ZF`+cUVFTG~8BlHH~-v znj|H(spka75wzF8=GDV<3Fgl?9o33hSED1F>y}UvjK^A9>%kG~K(PQsJ!t|*?9U9; z^{mv3X&3gJib6_J7aVfYDc+8ptwo+8wsLGTSNf0m)ZNy1=hkxjM8GO;c9hrb8vXsbe)Q@pYtoD4 zxZMm=zcnU$Ik)o;?i_f5)=@e4^j(S*^Y|Oj&)ddBuZ3N27?g0k!>inR#bnK01|lqm zxll#a+pE>1Y^&^ylx?%7@babImFCCecZg=1%LOsoVp*`XM*<6)e$J(7$s?L+qr|Tf zn3bsNJ;aFrbO^(h_i9VY#|<0_eea2iXNujjiY9|)AO2JwKR!DnBNv6umWv>B!8h!EYXny%35+D7cy7jbL`2Bo$v+*hJkJ+x^W%r8)A$@7` zbZ7eIA6PXN#P0_oa^!C6vwYKHiz)Gjk)J?xk~7OkOZ#j9{TVd1G>z{~vZklh0zFI3 zEs6*X2d%iODAo`f5HuDlh9wi!Ntr&42=NS5oe(8ymcy2$4~n^brPE?CK;x)w=Yww` zQu5#;pS#C|E^dayj?Bc^?!VNPU_B?Ejt3D;$DoA&73))(#ezck2f!Mw1u{aAjldB5 z8Kj<0(?67MNHPu#bP*O5wX|HKf;7Gvq1A|7F5`GgyY<^)8u*>WXcVCthf&<@FJG5) zxHYOZp1<^@D>M798hC6oUWug+gS`k}IYjtM%QJPIZ{H~^wB=CF$DwI`0?;0SIX7HV zT08RU^o*jg52IC_LohfBYzTGqOq#LT`3+}q%!ZxI6N!$GfXF0l^3E4*dx?a6im>GY z`XOiwDye1wxV_hF&XwA`>>j9~3#<##oGG9F&GFd5g6;To&`ah{D)25R(<}|0c;0~S z)a0ZA4psr}hk}FGSTrIJK(IhOHx>_iOA|QwxGoz{sOPC*c*uW7Jw|>6FX+B79?q9M zWD2?88^dg5tJbW#iz3l|S+xs(0$A|5}FvhJ?-_$ znSEjn$hhbbx1)KgUaSt-*Yoc*$x=R<$Fi)9_wRkmZ|nkN-kF9=e_{<_a~IY zYJA~~$4w`&8rza$rpKzL#ie`!o}?-htt&E7Hc;Upf}s1lt2qelAVhT6iDDd$1@}Y| zo*aD9E;$Tdms#`cB&+Xv`DFvTK7`xm0BO$UY34G#E!7LJ5=3W(ivc%=n*AGT=Z>vm7qWdar0y_5pn&t18Y~GW2u6 zN}yvF4-Ao9AdrWzU9TOCC|d|;y@kUQ+1$1__&r)Z83+XbHbf&aWq@Y1&_Ugp0~IRi zeWZHTCgogh9!#&p`-)HTTr`!q8Xq%AeU;sbV_sqd?9b=p7~_+RJ1_#Kuqu6l(Cfh4 zSXaArC}|*+09)-#LO$GgRa&JjzaqB-S10t{#_R$wvXYul8&RciC3 zfChU>Sn7*fw{(i8oRNRAyAJ=$<-%!iS3|CQ>C^O}Z_e)8P4_pDQTn&lZux)g&v$+Zq=`(gUxi0eh2iUiN9lwuhKDZu z3IHNmM-yxC(Xs&7XDL2eEM#kx%1t_vMl(0;ldM2Y8tXbJ^*mGx)mo~WW&5?xk3V`! zI$WX{Hd^0^14Q5WVn+1B8C1CxrSe9m4 z(~ZxzB`F4z=1?b?JeArs&TG&*5EL7B9NJt;$Q0CGcy93jFiu47hQ{O;^16#ZknDqz$3&pV#M z%r}3T<=B~8k3r$-?zqPVrFS#`m$&ELCeB&Y9p}o7c7kaFtLz~OF3l2xvaf3SW!bj4c| zW5Fs{rzU`laVn*7qG^Q=+68O+XGqM8uop{EFUurOmzV@t`rSO+MZn!ugR|AmP|xOg zsDA9P$dB8xYPOWn=*pUe85$JO2mLUg(sMTGjU)Pfwrn|Zl zaXsD#G4jG$m8_m3WcY~88b#gV1W^VCJL8G zrd|}Wol{T8pxCP?h$XF7G|b%74?X=1yDG*`lrg+jd}KSx6rS{jQ_dPLXdxShyv!_^ zbRKB359ELbP~XzJG9h6S1zN^S!SI3Kot7R-HpnMv9Rh&q2Yx^*08EVfiU@5~_H1QZ zq1I%NL5l}(rEMXeU0)BkzwLjz4hO;08*y)53mq@~uOX|8@7|=N7cE`8OGggZ35pZn z+`hNqv5}39oAzwDO_>{5RnV2D=jyXKuJ&JXkp#RLi6-*G00s(!7=*P@Ni5LhYIS)- zgd)JQO81BKKw1tik&tZi@Gqh;(8f>$*yr7E+gvE@V&+|hU+e1cw97;vZY$g>`ge1f zIDRl)2S%8u$xm;LrihL7MUO*&9VQ4wiTnWss&SF7`*uj*mgN16 zSmSK)Ql9;q5xm63=0Q~TdizOa7SiNnh0McKgan#s400$Gu$0q{nA)V?Pgw81RVV3J zu)nL;YMh4+zjZW&O;W43{w|sdeX=in5TzA=^<9}5EadrflTEQ4pYUuT&gVlO8k9|J zy^w9^{>i-FJko|eMMilqR%aT%EF)2VuRlRs0v{3hPAO=U2jsCRVmmCW%W{M0iK6vw zs)}Zck#t(E^^95Gw<*wY5Eu+!`o}Ev0|tX$jeS7*D(LB8hx8Uwg{0 zwUx<)?!QfX%JNq*bJ=q{TV^-SPz;V>K!h^I;UQH|SBF(7E+ArhYnwCf4V~va7~AE! z&pb9&lr*8E0m%qs4!DEgw^`fk4VgV(b-O*+%>ZV?$^7R? zeT8ibp12wyqBeDvfr&VE(k*o3Sn%odgMb4@<9P9WKxKn43MBlgm5E@ zi2aq;tVRM%41^9&PgiYEpK`O$K48xz_|@?4v~NO7Qm5UAQkkF6U~c=8_*PwrTVYuc z!R+__$?uFU49cH z^#bi`tl$Q;lwwAV880DYPvd@+2+sClJ2F?2?*+^KePp?LIX)A8k<1(cKU(Gp(A@Rj zTocd>>`dLMv=#`b*vgY1;u0GM&^bg7FpFEz(vX{$42(!Or$%{=0E*atQGe!fsel;! zFk>0OSXKb9yRPX6%1^6}YN_HvYqxYnz}*Vyhar~31RCAwh3BP;?7y$uYt*jbvA4I- z-p9574%t4yBIzVz5eu#+I{i6AM5l*#!oooTg9S~n&-S~&J5w?g=$Js=wZpYr7wF8;E(e8ZI>O%3P$sqPxjgV`b zvGMa9NNu^MQfn0^v$~tf4xEc7q&L%g{C?J({U-2jx4MYCDO=F!NVDWzr?|?x^}v$O zVX$POYV zOdb(y>iP_@gch()0!4LBH_wx=kVxp0=6T@N-}71 zq(nZf%)EVC5QgY<5ne15PnU=Ma63>zWULJj%D=5^%<9%zR}IA#ma+9#$o`{D$41-Pr<`+dY^)(4a;Nt_aL{OTbL`};qYh$6# zmn42522m44vy@lsM!zvSJT0Wtfv5%tHvO`uoM6(r#y99Pwp$zL7O|A)TyK^d{jlL; z@$fIiU{-YlxbryK2>3)`NFlkJ|B)x;`@@j&?NZ#@bzZT#EbfR^!X9@V;i%L6IF*K&Pg`0|3k)X-Q&}%dsf`kDrsFOSFiP znK@yxuXmc}99M>=%!wVj84kVy4;=0|BHxm<`0VsO;KaKz_9W)62! zA@@?xq{h(qG#<|r$2=e`$Ir1LszFm?F$FT8@+%mB^vxB$KPBnjh&?|jAA2KGhW;ft zDVn(WC|aG7S$PumC$iJ1^Ns!DDnGMy_uu=glhF2c>T8ujT!oVwvl(rEDJ{bAq^pI6 zZPV(KzSZJfdS1om;^MNDB-uIR$L+?6<;o@h&9n$KN_Ur1$C;~$cG46$@jjNp)AKsh z9*Sk`=v3pY1R{z)8J89W%YKWB{t5~xb6zeQcaBFye2>T3Dg5-Ep4xF{+s{xaGN564 zjnjF-OQngWN_l6)FeECXbtm+NiDqnJCFQ&L4Hb#~EQ?c3$$ZQ*G1>(}J6&-cN5Ih9 z_tdAs4B!zWru}xE?2A6f2GfRZdYMzK=JSK|5V<@OmI3cmD2J(wtBfOYS9iF*i`5_F zGwb#D*Tv&b$FJUpne6^gRhuWRXTk!O?|;C(Z%3mSM^}XbGk%Aj22VHXR;PYN?IukX z1PNzLO_78>3IYCrLdqD<^s#=@-dy*FN>u6snU5)mC6@6-pKk%V3?RT5m}+rGNnwpo z<>l>|o=2OSgzsZ%A+fa#-;jqk4~9niYy5`3e8N$*i4ah%aNdww&%7YQrg^$)%(JhV z3nkGvE5vyho7Gd$X3X~ zOk>fsiL7ah*sb@+6}<1A+E^dQgirUbQQyzrn1FCL0DGxjbzj zRl)nW$D2lPFRjb(fBum<_~yag)Hs1#zD2d(2#>UByrx9qgUU$ryk}j=j18T0A~os8 zIVSw`$6m`b(g}y|iHA4``JI})Ia8mKT5=d#N# z`6%&|Pbs{e5e$NbMw=5U`%b*Z0h6`w2vKc;B=Q_<-(ertOL#&aA!^!he{f$3>Fc$L zJ9CnBkU6Ppw8b=VgNCrJ!kw9fEM=H9$G05prIq-EyV(5Og*tQtUNzpcdQaTF_-}Xk zxWkrT2I~h?uU5qF&L|(cbky>)3-!m(Nu7UIcT_#`ynZvnQPYCSv@AV8EbuvHlrq=s z?Xj4Bbvn1HtfzzK;B;W`SDh=L6ewhR8tV&+DX6YlnlpS7&qFaI1PCSYEfHmGG5gjm zohQ{36N~!CX!vzSiahB`vObH`70tX2I(kO|_w%_1JW>5=1IEz+6+j+~Yi-rKPbwo` z)Ys4Ot0Dx?ln4p20A7V6fxz@v6@bVS2#{KLrTVzkqrk?a2aRNUnRlTAXtTfv&--e| zpRwk&iqhrU8j_LZ#`VTjU#c~#OWN*;1TVm2*8?(5FY}?bwtxAQg=^lnR?w%H{K|?7 zo0v|f28VNJ&k+(d!!v$42vhouM<*rG2@_gIdU~6t`F}WpqQU-EPnuWho^&-oWWSOw zGF1qjOvj{xw=mkwShbdLpg!KLPKK_@L|9UfILKxaU1rEAAE>aMLAm8TK;7iVTHFHy zqJ!ETKYw28{q)JRm&$#%+2BbsoVmC({NcOoZH2&AxhM&QB|pO+w6$*Kr4 zZ%qOFshT3xMt8VwGlPb0)b!PdPv-AUNf`H_oCa$9pTWhC@*c^)35)Rl^jcEO^86p9 zC)q8&Sc9(+k^~XFZPW z*Hv(^ayy5%HLC5-h~U1;Ql*xH)lm?w*AYYZ-mmN~VE}+t5YybPcx$UP$O_ zwMq9$o?w2ws|P}T-4#QpTL18)NpPmTIk>0!WpPWuMT6KU$alb<)B5_6s`D>RyE1$u zCbDQWA6MDHaVX53qmZ?4haNj**q;Z5_U1Ux3oC!k3YjIRRRPjGBSm+s%v!`wKe2(-PP$+eF z+8!iTQ1r-s#(VwWhvETqkEinmOOx1R$;NNaz(IrE@?k8)rfX|rKeT7BT~ZFc5GDqP z{k{#|OLR^RDBw!@Ym=q*?Y*L*k?R7h)7wT{jTGybrEEP?w3RQGCp?cdjY6H2C5`O- zdI&H?(R_%eD$s$@IaXVd(xC?ZfOJ^*VY$&b84MM?UDwS9F!3YnM#^&G3#6Z^ff)4V zOB8PKagv462%WUGNsaru&ed@1dBClp+IVj}_~pjs?QuW!%I~dScx-Sp4$O7ZwH?6g z6VP)bJ=H$z=D#*SP{t@em0mBUwfJ53PDTBiHluPQ`vR+Fny)y`QDq*0iPlt>WFt`~ zZWyt#K&PMF(*(w3owq0?Yl^lqg5;trTGrNk1xeM2W$wAAhv3)Y^_y`6R?6-V2bawa zyP0*J^r9a24*Ymx_t)iJ;CtKD3W z2_lx)7UDvDL?gs6ardrCU=ghh^Z!hHG|e(^fA3VJm7sJ}|LG0&G0rsRxPKv;;)gax z3R9b{g19e!;|FnKF%biHXjB};oHXBM=}^HwG$={o1i!`rCE9GI%CEsYpYSerQqoY;!g)7~ zGM#Yfu+%b2DjOa`cxU6YQM;)MTp#Co9JgR~jA1y{Ve%&o&{1fN3E9<1Wpr{@%Zt~R zD(R?>s}sf@l44BYV4#PDT3sk8vlvJ86&QHbJVO1;jIuB`LP-pkvZ65YkaE8Taf>ga zqt^uH@tC0X`SOp#Z-oMV@IuyI$_0o0Pj+7e1Nj(VbNi=R8~{VssVea{{D_di6FBqoEJ8{*8iUTdnWCIawV6<84G% zHMkmiC0%^y`X-KAUAp+K`|hhWjCese+lyKNLmX7WgpuG%@^GKQ|Y|@031Aj^9b@XCb{j znwr?Vx-tcWiyVqzLU?;@F_5265u}raDCnf-H@d(zAE$Q=O-@^^93i~}oW8(8&vf_= z5Ig|87T*uNrFNzJEO4-hv&FljDj0&P&Op|@I&AS5>t7zlo>Yz?g|JwliL<#e3m0ob zWTeeU(~p|9Ek&uXEH{dpn+fm5S_po?CPpn^WZ;znBzu(V{ z`{T@G%T71xLdq#-Z*OB`;TZMXNYe7`d1q17R%r+3wJso=TJ01>K5=URpkJyFS4^?l zlu(3esz60i0XQtIYjxtbQ`|hz0DwlDNQBam2%ZqN&SqgEssAs6Y%R&Ng38jZqWj_m zrC`4?DI!lO00VC){wedkC%iY*!A`s68}bG*m^My)((%>qz}vBtTg_E!G-hFT*PeP* ze-V`+4{FECcfzirBo9}H_$6A|Z(17}-jOHOEQX3oo{del3WDyTPHGc&Zq9R!&P>s} zJF-HZoYG|eiE!wYpU)-hroHG3<%;LNU!Ue|CS1K0O#NCBeE)ls_4F^x%a2ot_rw7O z{Y2q}tL2aQ&aT|2>@Qr1gXFC>N<;TnSQQBHQolT})jddN)?fe;bc_(GGz{A*b0SoH zceBl}Xg<2taHWT;lPu{f@W>#9B^IzJeO`sqD;ZY!8=DrbR;I>-|2aSHC*{vl!IezE ztN3CK4UfHhJx9wQ6lJzzF&FO#er5TYS%^CfUqhiTTVH1!XP?35qGE`_2Sc?w5vY9s z0t=V(-yUexLC!EA=}v{TGH(lwfv(x0sh_gCY>cv2L&NzMkrEhb#uNn1^ItxyUPS~o zO5O;UfG2BvGmjN_>z|f<-F-BSdI#nk+}NHq-+fkgv2WP@*Ke4)yEV0DWJ_LB0~zR= zw`g^X^HuE%OpBko!B+wC5zMv|?q{|F%V)Fc3G7oa@%L~v%LR@xa)DXRloDVJ+^gD> zK9N{B63rzUN}oUqraZM3F*n^~XkgIf6Fw$vxNnHWy6pm$_9{B(qO%YdYHI*Pe2hiZ zTAJ%cL+hi-aFy#YwIsveB?FcjwK$i0(y6JhlFG-Xj+^!$1}4PyEUlqzn!2Ir0S*Xx zBSm1nn;tswXX~^y9#P#uBz^AJ9 z;2N%7NS;3LeO+3o8K*R{U{DbawbvvpMet#%l9T+>9GQ+M4*MwGRQDjt?(u<>xV)gu z(20u!SZ0buxno%9MK@YmCYQLRaq_#+$k2ZF{6j0;4Su?B%C|c?)Yyl+NY{P_S%2KP zN{kjLy}{M)>?);_WMy?B!Q;Bg;XfHQ)AI_8r}{WV2w^Lg#RmZ(Hb?~ccfYC61*6)Z zaA9<7ay?%9okGWP7i!=vM!~l9zhVFuYOq2xza$1#vACS|DHcyRcR9SMUe)hyxbVf& zrvL6=YwDfA+p!><)lO;8&G2a`%Negml3+kYrdjmtXm@FTV^egLpwWeoM$TxA3qhxy zE{V`$n90=?R`*ZBQ7sG}Vq^dY2-Jd0@Bvt%;(u~a&Y3z8YPh0ePr_35eV& z*Sn?3p$Qal&S}~U9baAXuLi`Fy<3Q5*H?`)-{6`wnZmMT{j*4C#9xyd)*@uTes)lU z<+q77H(686;uR}xEbwXzPODa#CA8wrwtv+82@jE@O6}^nXj&&}5}0yK?Hbn$J;)n| z+7eAv8c$qO;vD)<-Q4&mydzVvQv~Cp*H{a`Hh7*0fh&saqIvh-zBrW|-NSICmrO|K zHi`fB-m2|m7`bqlQE^)vK|tr(VNbB4S0uly=2P-Xy0m_GBo zAHrIcV%&j;>sgBpE&$L6v-U7H;xs18|NSI39sc@i!F-YPB=}5fn6P9AS)+Fc3Ck9F zxs4{wJws@eL@6?iC_y_UW&CMNe_mBUJa258sSkb)=t=GB^a-`uD}p_wA-mqu=YXT5 zA>Q%;>ZMbZq$8G9G;qbpBg->lV^Q&xlP^hH`;E`@TER<&y#i0%bay7JAN%)L-f43o zewHmpRl`{UhEtof+hjhgsa`~{-6J}gqdA$p*P~f5cQ$bYhO@?HwU=*SiZpbtKO3*9 zcVY)t=Hl8guDjudHGYfaW1D`^8R02GPBS-7e*}H9W+CB+>u$bxjy~@<%rN&E6rMGu}=c9pX!nG%ll6Q3Fhbxn*jJd|TGt@!YXcS=-EUj(+C7dw$ zl?^4TCG>aazB^=##6eqR7UaWZ{VheGoefFX0l8y z7!|j08fnel)2YyD5`-wI(C=ms28V7uW@ndHm!W^{y;Yf7alCZJ!oSLYrbidw(k!h0 zbh<1lm|O0I1N!@+Mn02i@j!4eP1hbjq+PoDdwrx4iw|M}`4>lko(FO+e8=?C-8flr zv-B?#J-p<(a5<3la{*&PIelV5ibj0CLKR3&^gWP5la*?*pHXu=n+?78_`)U)xfWju zyJqC<;pO_#xaWED*HzW@fvo+4@A(@?K$UOBDEh%Dn32zI)@x(EGqWV^k9&gK8#Wte zziXtq4A^@ttE^m!Z8YuJ(e~joJ3Coh;pUSJM9COd?98~MVlZvm9^~FEKUr(Z$*CYZ zRu_31!FXDMq2Yv85}05(2K$ghnyQ1^c=L{pRfib})s={6BcG~vs~;zM>&jtO9N@|E zc*@My+ODbZ+$2@S5B_FtQ_seoI9S?x##%U9X^x5NqN+Bf_?>|C`S!xgk5sy#G=@!1 zD$hg&K!B{tsa+_<)SyrQ_SoU54u=D(>%?3=k?_kfBu*fSXyl6zqgT^lji?F|d}WlZ zVY*)T9{30z_Oy=k_c$3gGhz}_+kjZbSk0@8fXskQJrX8}TsV@fv*Qw98sb5MUm5%; za1}@LI`2!C_^~wN%XIU@TV$u#(}Z_pKxR+(rpz}Uhm^rezXow3erQm|ykc*?6n>z# zcwiv35M&?7hpMv35A<)RY;|0GUBo38hnnHWaB8m|d{HS#bXEN?QUKvG)Qm9&oIYHU zqzV(RhAgqi%-&aT)s>x_GDt{CVfMQ2?Vg88Psq1^mdCU0cD+J^gt5Elp9AOJTC&fC z*hiPMRFqeck#rQknM?c0Z>Xs&$`vBVxm4GGozZvLtau7&oS?FaPjh{nea{D#cZ0m9rN7}3R zknYdk|(BUnKZ6DJ3Rx8_Nsn*iI=C<(djdp9|I( zOQWN&ST|qJ$x6&LPr5X6pE#@(5Y4yG*0~{j8?RM7f93s^2DL7;qezLmMji+Q*#Q~y zq28%qf<6mhs44zKPJo(X(nLk__7*SoRuwkRQ?&onT}MxX(ah0^@q6eU-K4t zV1^YgH^LuN{2!v@aq(nPu?PRUIAF=^OvfU3*bZnj{}vijg&Ezsf0tdo+CU#MhNVs0 z!PPrC_zCqY2cmZP@YU_Z`slSUFRp*$I?1^-_Bf15qoq|ca&RVfon-70uLR2?UBTJv z)G}89meMeSiWxu*Kvv~NzB3&;6sYkS_t>yp#N`wper+ux!}+rC``8k*keNtwa*VMlk|8mVvF;4Yf? zZtT!4UcWROzD9DYXPu63$%z}wThFGCqMte8OW@U;F>JCmV(H30cXS%(VO8v+nH?~= zMRtXrWe<+Kr_7++B|8Wlb8Vd`mKFDp{{xr(b8=qxul_yr8YG_3m-&m}eShqJIQ^l$ z$3Rrqb>E!gRP17G;-V;tFxI#~!VA}~bR{bGJ4{xu+Hfx@d7}u z4RI|NegL!ozsT^9OP;-n<@`JR6pfK{W>sZSzP978U_4s3t0j&J<^N<%o)1Vo{L)Ac zHcRDajkWMnt3r&0-(J98ZA5s&|B^?&hrL&>Y|6!Wdly?ubJVP!M z@AB2C4@0=?+r146Dy~UMcypSN+{gSI)=g2{* zeQo!ro1xkcXiC(h8SZ{&lBx48tcTqO$=;*Fy+?_6 zD7^T!Y2t`l94zeg{NnJiJtZ^&=I{xh z62UJw%#3`z&pv3+m6S6i_tp2tf5#$WSol3FzT;#8nKMQYD&tg zd30?leQ|@Qf(TEV`j6GlD+n67ZG^_iNzWnkdv)OJbwbc9_*=Y=wJi?BJSGxgv8N56 zKG*)@JpBpb;v2picf#c{+u2Bnu>tS&GdJ_i?nH93(cAR;;}`G@$3v#g@WY#{!K-+` zYq^yRm(NQcpu1;jKYk}R&qHt;TM}4qFH_9jC!()>An=2I#D(>wiuWotm$1Q%@xzC# zBlXcdQ^ogZj8-k1h6a8%$H@M?rj3wLZB8{f4)qdGnSWr5RarG>`TaM&xp*Qu+eU|Jmsx!Yt+|$@F{#Im_Z5e z!{@d!q|&#uA8Wklv*neoljrMMt*QzS;zUUgd_8{4n%7Ti$SSGwd>I@CgSIB_w285E z{_UJRR8T-qif>2Z){pPyL3Wvc@>>ZyzGLa|lU?KO`5$V~dnb;|*#0DhtOjhJEt^6V zMM>HR)k-awh}F&6UU+UzvoxY*hm((^hw>`{T@aZ6@70Qb03qP~q)6@~%}I=Rb*H0o z>PT)0Yd$*LY%CYd{&AnmMw6QzAH$K4`Faz$b-cYuiS8z!pX zcap4u{urC@Ykf#?@U|N^^$R!X{4nwkZXfU}#Y*X()@dvk7CJ6uAKiy{fMNP3y^1@D znng7NBGduC05Cf#zUl1ZYI8VwOkSL+MHa?HIX^m;*{+FH5;4F0HwDWG-Phj_UxHfo z=WEQ6fpzRdq8-tViJSgS>o)QtM?9IVltXqeSroXtF>3nxaqy|da^jFR>Tcf<-DO9@ z6_0xnY5e730teZutbBsj=9Hl0JdqzA9{<@{)hO4Oa&(2zFNXT%3`P*=dw@ znY2ANJ=Vq+b$e;c#?s=&YJo?zkovxYb+>g8ur)nn z?hLaA_^0@$v76C@A_-;^nHw#mV2~Z%r8pF0DE|Z26c|wZi{DvT2km*&PmdjAQ z-`|dHdQK+aj#~W%UVr8IK8c*qFUZdK{2TBk_GsRy?CHf7^s0yMc-cU4OJme%F*IUB z|42BbUNhp|i*>izB3Ae7;MtJRL&rpMZ6069M0UG#8z zFsm-VZeZ8xvtzBR{>vNy_pe`1?+^5;?VDW8T43T4Eyq0>u~p~czd__)FH5d8wGxl* zcQjzV8l0KY**M|1F5h><8@eYjWSmL#7Ldog6mZ1f3uY`|PR|rso44)7bom6m~PnkZ7RXw9d#}l$>S+M@A<7ghH>X-QYURA=X~C|8ZDX# zhyCSj=~<6_>hPC`B8DL<>dnWB$|x7DiaM= zupz>XvbpY*F%$a4%%q;^ZW7YVK}TgH#hiyC5H95jrC_LW)VKs}ZUK_P7ZI*HDAJU! z2tggSISxlu`JHuAxqg*CFEr$s%taVJ`SIwV5G)ScXXN;_<=CmV`)nBXFk)xvGH`rA zzu05f`PkiVMWLcV&1G^alGl$c>NtqL>94E3<>`}T`+9K4C27~r7cf@}_4CzXbtpOf z$Facr5Y96m$MwecJb+VGTJdtQ<KOg1r#0XFRcqd0irwMW&UR-;XtYvLVl!S^EX^ z!{Idmerh&!tf;rrp`fd@g(0<8%j+L8gW}^Qm#<9QClo=>+XIdU<=_NR0Kp_@8}SFi z;P}Sil%Oei(iGnd8Y*b|Jv8~A`wUEo$$)+vay+J@TKWIhm{%{e_AZN0v$tMPt%Bj< z%Jd;Y*v$*UKL#1Al$=`WQP5OI z?7UE1=k5X0Kw*PgV&f~*kk1SK?}4T2me)8a?d+o&1SyGMe_dNh2zit%Eh<>)!Md$# z4XYnV#dQZZC9oSnkCt(En&iZ?UAU-Ahox(3~9Rn8A<67ZFBzHUK z7Ws{;tpx3^mLP6!X3aLkJyOn5rB8XnO>Kll9n)ft=O}Dgf7!EBgthy2_FO{|1A|c^ zA0K70nHLEEm4?iDJP?|Y1tGWclGH*%tz53`KRd=HcwdcszV@qk!(~gPeANYYtL08~ zRF7e}=$g0S;q9=&YVWSg%CqE`18|w}*7d>N;Q2-M{|j;pjr89Rnd@=eKB=esyzM#W z>*$4aBT7+xL8iB+C~h}@I?#z`WHz&bJbm{deW)}zHQk{; z*tRNNMFaF(N!^|AmsIUHx%xd{L${bso;1wRBJd))`_#U0ex$8x$$N4gjkI(@kYg z)<<_bt|+XCth#>YfA22N!bYMx`XhJ!f7DQ|erg0=_OKM0UUDdN`}`ZnUYbg%MIp>HJ&vnPPT!)?1cRTxNiGZ>FflrN-=AV7~M%Ecs zP=E~z9+vzx^BNIA1J|(RXI%CR1dzZzhwAuwm!@z_j&w#z%~Zvzst^EE#?P;8>;7@B z|1<2o@^n@IH*%vwR}d zW9=>EpI2=(QmECOyAukC#noPFxA^lE=V?fD2?gV=sEN@(q!;1~=Yobn zTicDv-ERhPPyhlRmi&n8zD1A_B;yWCzTLb=6b%L34;JtjaC-g&#kp}QA-2fn?|$QwIXC`ZayKsjS6h#4c}VQgl}2=U?e1Fr_TW=3+pqh1eIDB*dgXL_J#_`fsWD-0QWg>>DR zq(6S2pBMG-ZJd2(nSK<#^nDaKh@{ApUe%^rR3{q#C??nXwByyaQL)(luv1Np)AYYG~cS4ArR^&I!KVl)C88 z+etdPd6*WmWvqis4MX0Q^!~!+_kb*1T-R}KM0?usd?h9}S@m<(9~ktr(s7+`^^uV_ zWEi`M+orWH-E1M-Kf)Sc3ohM6f@v`-M%keOfB_U9mVBq>2jYMPzOUq??GlcmIB3AU zz{A<=^3w%%$%q48 zY=2()`Pc2QhtJiob9QAdzI#&zNotusZu53~Jlk;F^|N`DXUU1W{bo0*on76Wc(du| zC37Kbld0`B&HGYS|GfW>c~1_fV)0cT8aG+okf%NsO4^%ZvvZEKsbpGxE*EFlIAPXG z&M5N$x8`K>4o3y=%3cc7>Ghi7J-mKAiM74EThM_qwMM#EpL785F<(2%tWe{2XTqGdI8i!jiAHe-Y|{37pHk z4Oz+3GowgNRTY8&0N?);wS~9F@$71@);nJU0HEAiAHF|w@So~G9ZTxxhohs9UmpLL ze>~DVek`2(=U?a1JZ^ELDmtr^U2UpocGKO_G+*8iJ(P34&-x=8K*>eET;WypJ%r~iBU^sGZ44U|KL z%#L(>qaVq6b*$w8VOS|B_GG} z%|a2d)k1uSaP!&vHRK$1NOLQyPs#*g8n(Fkfmn!`=JULO3yxTX0J8$^tCw@p3&O&)H(EzRa43=oW;AB z&Ndr94`~u;!0nnTT$4BBtno%*oqy%@=2K0Q8icNKW;XPu{oCF@V=KQ>`BoZ+*~#9u z-+kR1wPWX}3&h=1Il5v`QSA=v_tvTA>d2HkQV!g#lkC@t<P-M!L{1veOs!vF{yfDQhYe9ikC!~_!vOTLc%lc|Dc196Uy5BE@9j=I7t zlg@}5sf4Nu001EC&#yl=Q-msvHXr~c;t>B;zjsg=Ab zddml@d2mW_G_kkg1wfHQt_->M&$*b5XQn-l&d^%1{oHtGelXGu4hL)4 zAw!@+CPS>jz6uFs05;G7K9>Bx&L3_CY+x+;vz@+l1#EzFL?h|U2ogX500@Er00000 zmZePdd21czrLivG&L8GKU-<9);`a1)@sBwdt3Uphvd_5R=DtlDzCJvwz}fHV_h06p zBYfAF%rO@IGq;EP;}`c!K0Ve`ndA1=t*PvS{{P+{YK!Tln*18gX^wTI%;8Aos46Kk zFIek4XR0MI`5P_ne*YaDQDmVhrR)|D+-B7? z*1lwSH-qOrb9W_fuG3dwm=LsSYGUY8h69_!8f>Il5@ggr?`|%8SeO@(B`Y!ai`oT- z#fJ?9{v25Dpn3Qp``sf2jQ+>hOMbcc-AQEPQr@U+J%QwyQwdxx8@_NI|5(si%~376 fLhJu`{XGoZA6t1OG)ANXoyOql>gTe~DWM4f9raSB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/kitsumedievalcraft/textures/items/cannonBreach.png b/src/main/resources/assets/kitsumedievalcraft/textures/items/cannonBreach.png new file mode 100644 index 0000000000000000000000000000000000000000..10920cb2abcae534231719618fb8f91ef9123395 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4o0s3c^s2NdBf@Q5sC zVBi)8VMc~ob0mO*M?GB}Lo808o$Q!*SV6$`e*XfspdAhR4}ZsZ^p>k~-`Qvqd*R5s zDA&GC8R_i5KL1N+@V$IQyY$h~U)2r_62}YoKj;5)OW#XV_QOV<1;W2xUGsg#cWJNr zu?K0(Y_%D-q%yW_`D)P@Ab#qgYxacCM_+H{y3ZVSyQj|o_u8U!cIP+0YbcGKFBNl6 z{7jCwfRn`>g{8&}hHhupFb8?Hrxg^hzrJe9IqL%kGJ9Fi_+-9l+q$p(z-_Y-bp8MU literal 0 HcmV?d00001 diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 27acb1e1..f521f3fd 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "kitsumedievalcraft", "name": "ForgeCraft", "description": "ForgeCraft", - "version": "{2.3.9}", + "version": "{2.4.0}", "mcversion": "{1.7.10}", "url": "http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/2296334-wip-kitsus-forgecraft-blacksmith-style-forging", "updateUrl": "https://bitbucket.org/kitsushadow/kitsus-forgecraft/downloads",