From ce31c1afee4c8d6c64ea97834838d4bb167ab480 Mon Sep 17 00:00:00 2001 From: "theo@manjaro" Date: Tue, 16 Nov 2021 23:36:56 +0100 Subject: [PATCH] Added robot --- gamedata/assets/robot/0.png | Bin 0 -> 12353 bytes gamedata/assets/robot/1.png | Bin 0 -> 859 bytes gamedata/assets/robot/2.png | Bin 0 -> 909 bytes gamedata/assets/robot/3.png | Bin 0 -> 12569 bytes gamedata/assets/robot/4.png | Bin 0 -> 859 bytes gamedata/assets/robot/5.png | Bin 0 -> 909 bytes gamedata/assets/robot/death.png | Bin 0 -> 12615 bytes gamedata/maps/TulipFields/map.json | 359 ++++++++++++---------- gamedata/objects/combat/ennemies/robot.py | 60 ++++ gamedata/objects/combat/player.py | 7 +- gamedata/objects/combat/tileset.py | 19 ++ 11 files changed, 276 insertions(+), 169 deletions(-) create mode 100644 gamedata/assets/robot/0.png create mode 100644 gamedata/assets/robot/1.png create mode 100644 gamedata/assets/robot/2.png create mode 100644 gamedata/assets/robot/3.png create mode 100644 gamedata/assets/robot/4.png create mode 100644 gamedata/assets/robot/5.png create mode 100644 gamedata/assets/robot/death.png create mode 100644 gamedata/objects/combat/ennemies/robot.py diff --git a/gamedata/assets/robot/0.png b/gamedata/assets/robot/0.png new file mode 100644 index 0000000000000000000000000000000000000000..24b7601e41d48f3f795175b6ae192a3e8e483474 GIT binary patch literal 12353 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 WDPmROsJQPF6jenng&Mi1A^!(Q4bMUV literal 0 HcmV?d00001 diff --git a/gamedata/assets/robot/1.png b/gamedata/assets/robot/1.png new file mode 100644 index 0000000000000000000000000000000000000000..5a347cb5f4e684b09ddf1c88faebf01c8439df99 GIT binary patch literal 859 zcmV-h1ElEX>4Tx04R}tkv&MmKpe$iQ$^7h1&gRSWT;LSL`5963Pq?8YK2xEOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4RLxj8AiNQwVz3N2zhIPS;0dyl(!fKV+m&1xG5G~G56 zv8b3zuZkV7=teL4F^HhdEMrcR;_w___we!cF2b|C&;2=qYQ|!KPb8jYhG`RT5KnK~ z2Iqa^5X;Ld@j3CBNf#u3?RNSu2)Vh+z>+kRU=q83hz!BSNcAiiHI2M?L&Qb-zR|g&*+=dK;JFUwdVHL*vIJukfg5SH^9Lm zFq)(6b&q#eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00A>eL_t(I%VS^|aext@i}cd9b%p7;Vo zoC#e3W*9QKc7GmLHa5V7O;AIq3Wcwwn1q#0RHTp=hA$ZKh9NBGc28u$8q4TmMpP^# zD}*Heb0U`^ zGmZxy`wu@oVPt`suBDjtAC}He-$KMB44A4_LdB}!;u=DTWQ5m+u!M~($-n?M7h(;= z+{Q@^3=9l##kc@+B1dr{uEdQkufigXm?Q)@?CaZI|G&Q7^}nZo9ZC|B=ac#0)4vWb lk1hEy5|jSW6FR=!0szu3x*-Q8Zk+%C002ovPDHLkV1lH@br}Ev literal 0 HcmV?d00001 diff --git a/gamedata/assets/robot/2.png b/gamedata/assets/robot/2.png new file mode 100644 index 0000000000000000000000000000000000000000..003023a9e5d04686631f12da7e727e7aaec6342a GIT binary patch literal 909 zcmV;819JR{P)EX>4Tx04R}tkv&MmKpe$iQ$^7h1&gRSWT;LSL`5963Pq?8YK2xEOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4RLxj8AiNQwVz3N2zhIPS;0dyl(!fKV+m&1xG5G~G56 zv8b3zuZkV7=teL4F^HhdEMrcR;_w___we!cF2b|C&;2=qYQ|!KPb8jYhG`RT5KnK~ z2Iqa^5X;Ld@j3CBNf#u3?RNSu2)Vh+z>+kRU=q83hz!BSNcAiiHI2M?L&Qb-zR|g&*+=dK;JFUwdVHL*vIJukfg5SH^9Lm zFq)(6b&q#eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00Cu5L_t(I%gt0VYr;?vz85lThE5KF(4nQc_a{if-ykix zb-HMhCZm#o1A)`5&RsAp|nG*df;Wbtw0^yxfcF)|*}~clW-#@4E-^-%W5% z&v9j)1hp9zNNE>-QUo zf^9o2%GRyH0=p0S$4<-wEerzbB(mWFuy@hHFTg7(u zGsYkgM5z!CCJO)nCFsrWR6rEG{A$yG9kCKyj)#!unGoFmV!I~EpwTTtQf%GfIj+Q8 z?{6Cyo`-&kb>nN(@muV!Vh5arjH^f6MO{*TUK&LS-TAne=i^?^=37Z;>p8BR&9~}5 jr&Uqsan(1cYW;oyTq@WnYqHlT00000NkvXXu0mjfzpawC literal 0 HcmV?d00001 diff --git a/gamedata/assets/robot/3.png b/gamedata/assets/robot/3.png new file mode 100644 index 0000000000000000000000000000000000000000..c5c12064c0d2850891576444bd4fcc1c832717a9 GIT binary patch literal 12569 zcmeHtXH*p1()N&Z&KZU*aR>tpVaPd44&ux(7QJ z>%_&ry(Y#p5di?K#(_p=-i9zgR+Oi^oudnq)jI%%WJUTr+5rImv*phnpE5R%*xp>+ z3B=2eT}R2h_WL;a&ACwR&a0H8osb2?bfC!i16}g)cETv=?#<=5t4pElw6t*wxZs;2 z+fxds;)?G@nHR6~!piYBmoAk2!|cPZFVD`Szp#&%wn9x#LR(I=PkvrCwn$Xx?Lsj^ z7T$apygpTN{ zYuz4;zMLXS4=W(C|3Xw`i%)3vt*t4ma`>`E0{U}{By;nVL@i||;}--sHRd|!fmdHQ!J*jammOgXy&a437pP4XR~}8>+ik{b(jrR(g=0}eOsT?k79>iU!SY_9-9g0x(f1F zWnIs+1-^r353(o)2|j9G{9F^zf>EV14-uhT{-=4P2{I72Kj70*fneG z+2Ts|Zoi1~h$G$~_IoRv@qTN+_eBW_3G7*L4>*dy2cK;fDn%Jwtiq!72-MA}RaVWJ zM;XAo&f)Jivzd(0mD)U9duI8aGtJDf|5ciWh0hemQZ@PO+DQw`FGYz@7?#|uK3e!K zoP0#+$)1ewPRzB1sM2~AK2f9ddAD7Zhk2?kIx4d3GAL-}7)@nr5s+?dI@d7!Q+lsq zVq{dXY5ym(cDn55^uoq$xW&Y)*YLe?n0ca}*EJywi`xL)2^TaY%&n%U?yN?N-gUv% zeVRJlr>3mptt~PjIWYh?6XxGtt+S~M5;$r2dDH8rC)n$@e>3IzSo=gs;6$(KYQ*WT zIh^s~g79P!z24FH3*%>eI@`yOD@ViLFE6!RPh%Ws7CFAOxL;M1$lhymK|hKak=P%a zN17eY>X?@Ntf7tObDPe1(N8QqjP~KpBUO+l&1u0Bw(hv2?-o6?-9<}!5ah*uw@)_ zrWX$HDc83+K3^J~Js%QX9hlfnUwiJC)fgc%wl8U!Gj%khI&<%?7$--^)liZ!LN^-s z5CnBiIa~GAt~aCO9+Gm^OOB`>?8~~z8N{YZc4!R!*{)pf5LFWs;W~nHJ#H7uWg40pG0<8$AD3_bAgt4Tyn>v#QJ8mifvrjkmV7YC#Rc59#`5Ywd1FHTmIa+%U<_UyZM zLVHgm3Vy)nrvYPM8b2s)@1!EK-CQL;mGqm^!p#jnE|^PEu#Go?_bmY%Yh#pqi7++q znm!$t@Ej|U?~rTkds*#w`?$vK1!mZYDm*lYQxehxT03VuzZX>+g1#He7SG>wjU0;H z>%7y`VRUJYpaO%0EDtbzo3&ZMHfFo=IbG`E0V%Gi0ku816MbX*0dy+Exi{9(8WaM& zzucz1N50Qyqh)rr{W-%!6>0nF0~dw4t;sZGwOLQcAg$#c zcn?roc{=XCdRHRfCe7e@lXBmEA{?EBSCM23G|k{1XXyr_?EZHBj#}g<%`zE4TRlgn zb_4IpxL&cylLt2mh1j-3iLw%Liw|)sQHLfeU!yYVy7qt6S29L5OI*%>n@=q3SfF;0 zfA3Pqf!d1jvir)9!sS_ZfuTnc*h<>SGZIkSKhM(PP>B-NU!tkUAw|4RUW>OoP%%pC z9cw8+YqdW7QPFs5R*hwin}}ZK-$oFc>Dwudp6e1JOejGU{#B=L_<0f%I9nHnD9so1i8F=aOD&*WTfpE_r1<2}le@Jc*Xp7abg1#5uAG9&w? zGGX2lNG0Vutw3)d5HLVi>>Qh!ygLnEfw-A-zud=UN0X7#DCQo3w)sI&gS$tA*^c{%R%q!@A@$@ zfVU@olp7;V>DZ5_#I4oCDdqiLbKTyB!DVH?@aweiV`u1&n?A@wpXPY8GNMf?dBN2^ zvp$GhlgYj2(m9QPud(l)JTtEt5sMc0t5-Xpnaw(^m^^qSRL7zUJz+`xhugTn$( z=q{6fu6B}Vi#V?0qY%i0qe=v1|AFA$%M=xYzWT=bUPFMS*=bRNslQWPFt50eQd%4(|i^K(QP#x<P7(d@V|rq}SZ^-*8%Mp#DV-^)-3{&_8x{M`6cYH*!nyB#z5?YonBCWo zLent(%w*Cq)cc|A=_L67($ERoeM1~0)y9bAuBnsd z)-eyNx3kpSlJEOsSRnffG{<3Ez=g|L!SUhIay;gmcHCuu&d(7y;4hm{oih^Amh-Q@ zE<~9*U9Be9$3Z8S=qt4M)*aTwpx$57r&1D0AI5%9(O>PWm%P!CX>q_&lyJQZ`@v7- z(xIq(fM-)lE>3iYpT9OEt-cjY!@qr_u87swEoEvF&^BYLxrV<`NgS00LNUH7ppjtHKTlg)DT9_wD!j3s|L zc*yY~U+5EGBfS1N?*$@nDgTL&!l62qnqG`NawsPLsV_g8Hb?#)$rvGx)#Sy)iTh9j z5au&IDv}S}d1q@`gfx_7Z@m?IUTrtmIoni^J+}M=-c8@tY?JQkaD8bPMmq* zLYUY{*$PFtV$%bwWN>qWM+^=8eaJ+IWOOxC+*bu%v=Wc*qoYiXd$a?3{8}UMw5RXl zJgA@S1KXN~-N?(yLrDkNODJ8*Y@GEtd#fJt2!^gQ39pPlFoC-SLv-;Fdf#kDWwa{3|L9K|JCG8xe(FYwlZ zrFlHM$$1pr68e1p0R>BWlGmXVo4wW-5dw9ccKY_rlM2!bduc$tO%S)#2s`tu0!w)_ z@-20DlJ`*Ha#Xia1u)4sJKD!3o4f}r<_j8%4|g=j|4n-g#NM^42xoh_5Kth*N7)?h zW2WT20#0WL2h%av1T7E#(A;>lnx-zAH-x>OH6<5?s$9kJm}cyVuidgfb=R7GtSP1~ zEAm$3MPJGzb^UY=TS>Rxs$y2sq0oy4uFiV6uj_$;r8)f!Zd0I+m~;Lo_U~hB;Rw{~ zh=}lz6jRf}`%c>>DsBAE6y+WEk^!!MH=P4GGU79U>@6DpTj~%q_NF?w}{rp}`miJR^pfujZoB8QHaT z0!5tKr|z7<4&(d@mK?pN;~PU}svdq_k!2hB`Vrm#EJjRm4#rhl3&O7;fZlmcsY@AA zqR(zNb71!HxhczirfO|VU#gesRM+n_DmP&8++MU+gi#i z3IP*h6uIVonVPfhbMAKcxnztR4_1ko%8!DS19uc@YV1h+j#K69{jdEaHNA^$`?gK8 z9}c-s$pD_Jc5qP16PyoVR!-x6V!6BuV7i`M34=0byFo~S+LGK)^Y#cX=-Nnd9Dj;G z8J`oaQG(Y-%o2ZoKLt@*pKF)!()uBHWAzNjyc+*rjHVqor5};MZdxs zWpF(vb&Z`Hn>QL<8Wn@9MI0@o9vO$&V42}Q&76On1KGwCXigPATRo@|`FLE|3G?zxu^p`vnm%kUW)SW)0 zQ==may)4-?B;w(D*t`M=xC}+d_uf#rjLRFr3Sb8pCG{e^jS_rD!yn1hHX7kzAMD_Z zp=Swa=&uApRLRmSl`P^uNI^h*dL{2p!i7Gl#nu~@X{&O5B-0Vizko5X&8P=CfJ*`V zcl$~CQ%ISUM2p29mz9!W_)GfT;lQ`WckU3+?@g)BtX0m5O%lkF#r%07P8Fb3a!qAh z3jUU>lf-Gosmf^Ns{TGXF1%SkBZM3;b+n{O!Fa!8&14L2NC zE7)BKIK((KdHYwY%o?$%*L`$bnAi3E3^Pcu-hR?=Hrd6IIVewhRVAK!Uz;`(prym= zfKo5}=ENS=x*HxH96;dF(|malC%~A|F!k~Q5AIsZ<;%{YDl+99CaN>QSpQe$qyBd` zQ}LDTbD_k6SWbx5!vpcx3G;6#hhEju0|b=RhTdzZsjF469C4qoz337xEL}Gi?${zq ze?dWPmb+8s078%TLm^+6Shx8+mzVD0?%<#pk8p@uYiE3jU)t2HNrq$W@ji;d9Ie*l z)Xmu7rLBA>)2cLC2Ql$+P8y1DnianKUWSt9@Mtn=qi+#pIeo%8o|-&@ z>`ol*9w*i$TmwP-9%Jspn*^Rl@3yA+nUYL%==P6K-|Wl=*;Q+>D;+lk?^*`XI{YxS zCdt6bRlkRl@MR_{&sN1$d_Y8aV&JM@fBi`$1(KIDnV6j5{*X|UcBhD|uV|!W77)P7 z9ByK%A)vQdGBjJ)=cA61# zaj+Kswo~YLFJv|?Wz&4K)`=31COCydQzL}jnYFT95u!&+`~nTH+PlsaZE@h$8@3nw z=Hr{f_FK)2YDuR-3N)r1dBlhD7{{t_h=Z3I8r|Mwv|%CB|QY*GOjVV_9SypXM zB(6Hn@~VXJ0)4LByUpX?ed$+8DEz7$eupDqUr8Q4G0&oEBY-$hy_BGhpL#p zY&Jkfy)7&4217_5J^Paqi?4)t01PeoXYdv@_xn$jWl+y%aF;jSph@?s^8DWgVmvXu zzs&WjU7+11)idU0={`{%=4T#uDW5U*8ph4I@ycaxgJ9`kgUl)jC0IS1uTb{Z+~{k?>$!x9lfb+0vAD$y zY|qhl2s!ukJK_yFkr%b$A_Ni~C7F*c*u0wqqol~}=RClB|XJW)n2(WbCb)aSrtH*&G79ont5kTpdObKDHM zYj{6R--(s><9j<4+a#92(vt|y5gL*4GPO(H%Jb5tDFKD z+lZ-%7X_{>~w0+n)l5tFm2);ofBcya=d zyKvny$d}{75iW9ae@?r`#74sMDZZIbR>q^CRb^=M?zC~VIxeXmGlxT0TO0P|Llu^o z)D{|vk8JZP@sG^}AP9Xl*is99Z5i)Er+rv-qCd{{&hOp#*A#qq8tuQ8h z@w5b->-FwYCu-9o>l*X~t?u+wfGNeL*m4>C;|hU$NH@0ox&Oe7gF8K4D|=hQjgz2Vd5bh(S_@ zloNHfEgt2Plt{p?L7qYXN5|yG&)GSjWNE9tlRo+-=V!37%&c^IIN)8OY7d?sR5n8N(kpB9#OFFB%S^P?$=vjQ_hN3*L}kLx z4=;_W>oF18H?G?;*r!f-KknogKsZ79`ITrR{Uk3f-jRrK$%8aX?u@k);ZVjl2So?c zNy=PqZI>y6{)f&%h zwLi_$)saR9Qc4$W!;;Z^6h&Z0Ka7m>+&QOuF25NBa(_UV&{zC9BJkii@|h9>i{{+4 zrtM_*(o2_Y-qAw2beSXC%DT|B>70J5KJeKZK5C}knfrBttq2|9vj){iLyc1dI44@C zpNKlw70}!OGMo^wKe!&_SQ~o-&6;+6>ilv+>}fL}d-w z_~+Gv<*R!_9{#fvF@P^)5rTVi(ctmzH#S;K+)zl>X#B_R;7iC&m|k*H#OMrhg_mO2 zq`N-f8A?c>hB!)F;+~FNTTacSr85uo8*8#oQ>ORckF7!jVox}}2jhSxlJr6;_tcBE zVxZ)_E@O(0-;E$o<0BVUSS>yH`H;#Ylr7t5{7GW&TYWExw*@!8LfX&V!mFCyEwzcU zi54HuH(rjF5nW5u3GTeX&^b$Z}trG>SIdQPEyL|4=S0w`BL?R2QycgC)8wT&Q7NNc?t{5 z&ac`irpVgx4i(XaErWw;;`{SkZ0%G8w?cAdE-c?IfDuwQidL&f#~OT3G*mFPPk8An zQ^Qu5C-;&gN@nn?DJ0@W^Ajwg>v=)p`@@!}$)X6dPyMek<+cG*TrNzB;fu;#xl`i;1-E@!qkz*w0J-Dwek> z;KE)~O3z%=3f6ucidm~zILL15Azl*SxOZ2Z!KpJ<(;snkh8yi`s~=--A|_$^g5Gg= z4TS;VoZKmXJu>gCL0I~X)Ev$4a|&f~!Aj&a2<_aeH1T(Oy(j&=?y46bo>T69XcSWK z*A+jUpH<1)Z{*D|-idQ6wZ~woR9t`Nu~@QUeMk_rqwaQqmN8jB5QF*JFeNFC%!|Lg zv|H>`J>yq{p0UobaeX_WL)(n5(LF+Z8}n0N=cu{0$>0FE@fV4i$Cnhwf_0C0&nDt+&#v{u9%akbFD^>}(SkNYIc)yT$L>FZh* zT+MMw&9)oJmDFn6fx@HRPs~_SJvU>Gbs;zHKw+%Q0R{9U?N%d3p+2!j3+2TW|uupShwCOlH_1oL@)M4zO z2tM$ey)vO5=VK$E98CAAsO-i5*+9l*6hT`unBy`7VJ)z;%yZRg$W;34Nc<{JSE^* z?{l`pE6j4?<6u5H;i+9e%jwU9hrPseORW~Kyz{@g1iR@;lRUjjQ^{iS`?hMFL8|+C zWTpD2tNhaOk$Qzz#7LzLo=1g$m{2YEJ+O~5pn9ODaDG6mGpXW1RQgp))pM200&QhX z3)y1nXqJ~X1){M!y6wBx>RQ9$s&1d%8wH5%UBB!f9$HAl7gF_d#txkP$YW9c^DpJ0YFCJ1K1J#acy#9Qa*j z9igp$9I{Igo5}aH-VLwWrw+?ad#=Z4Y^N}E!jpE&a+MBxfYXnu$D?wt9#h*t;Kn>W zYn5tPu}`6MVg~@wq8*i#^fi=}{M*} z&mJY*;Wu;*V+Zf3&D&P`r?QFu&UhN%oeRFf)`?@4rdmRd}<@0>`lp$Z{b|(nEFtiM&f zon?V$I{K_i?w&|iF+njwVF49?M_&=396qazr>z~tP+9d)h}$Pwpo6zJ3L+%r=jSKr zCo1UfX)gqll9Cb<77-E=5xCV5@CtDAhWQJ)d9nY3_ya>3>4orgM0q>9yRrVlgu&f? zyk&vF+jiD}#pjCB(fJGB&FfDVZut=MhoOW(g2Fw9f|3lN;(eB@5{YPxST7IYV_dssV|HAzb?SJL|TlrQ?M+c(pj_~;vo`$k4 z@RxsxtvkZe7V`Vn&Q1g*EN&+%ASNz(dl5#!1*8xlQ30d`QUn1L1A!0{pua(BxOsWQ z+z`lLP`BWMj<+}>qM~rP7)V^e*3J$tAO?p?3BYV&AOR_1m;~HbTnr2YBmV}W=jnJ` zl`xmTNA(NJ_7)0+5Rrt5h{6RVB@ng(Vzw}G0hpAylz<3GN<>^zL_`EBDe@c276DOp z_jHBbcBi8&%pNI(aXWkuYy}Pa}7C7g^x1kXV0N{w{A;nLj#3-O=k-Bj8uX|5@{Qksg0M{qYL8IR0*8 zW&K^Y5E$YQCtfgLr0s71!`_F>~?s$9j%1^8m|82>=%vyhsU3N@qg&y7WyA2{}sRg(De^p{}luOmGVE;^$%VD6$Ag3 z@;}w}|BWvEe=m5DZnv`_zuV=E02W=v?NSIEuBE07I0k$Ly#GNLB6=&qL#dm40RRLP zzfLs3vuxU1A&$3(jtb5?0Vx%Qgd1Nc-K~huTgA*<$=&tWyczI&I)}7n^>g%gVEr|n zGmRjoxm^`IYA7ohNe&|J)9!_nSov&VSgmDsH7KSJxomCT* zgpYydz9P*>(h|iLXI?HCl7fo2FnWamyBUW2uyKKcuBt~QFq4dGun!;BkF%laA{hBb zf!e;qj-cWl&nWi~7A_nus_FevC4mcg2~}H6-zz$J@Lj#bi=H9ER#2MgVD=$!`|ES>$cL}@9O5XlM(44H8o`MLlP a0PwDVpkhCR>*sCH05nu|l`9nQNB$4xp7-wn literal 0 HcmV?d00001 diff --git a/gamedata/assets/robot/4.png b/gamedata/assets/robot/4.png new file mode 100644 index 0000000000000000000000000000000000000000..5a347cb5f4e684b09ddf1c88faebf01c8439df99 GIT binary patch literal 859 zcmV-h1ElEX>4Tx04R}tkv&MmKpe$iQ$^7h1&gRSWT;LSL`5963Pq?8YK2xEOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4RLxj8AiNQwVz3N2zhIPS;0dyl(!fKV+m&1xG5G~G56 zv8b3zuZkV7=teL4F^HhdEMrcR;_w___we!cF2b|C&;2=qYQ|!KPb8jYhG`RT5KnK~ z2Iqa^5X;Ld@j3CBNf#u3?RNSu2)Vh+z>+kRU=q83hz!BSNcAiiHI2M?L&Qb-zR|g&*+=dK;JFUwdVHL*vIJukfg5SH^9Lm zFq)(6b&q#eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00A>eL_t(I%VS^|aext@i}cd9b%p7;Vo zoC#e3W*9QKc7GmLHa5V7O;AIq3Wcwwn1q#0RHTp=hA$ZKh9NBGc28u$8q4TmMpP^# zD}*Heb0U`^ zGmZxy`wu@oVPt`suBDjtAC}He-$KMB44A4_LdB}!;u=DTWQ5m+u!M~($-n?M7h(;= z+{Q@^3=9l##kc@+B1dr{uEdQkufigXm?Q)@?CaZI|G&Q7^}nZo9ZC|B=ac#0)4vWb lk1hEy5|jSW6FR=!0szu3x*-Q8Zk+%C002ovPDHLkV1lH@br}Ev literal 0 HcmV?d00001 diff --git a/gamedata/assets/robot/5.png b/gamedata/assets/robot/5.png new file mode 100644 index 0000000000000000000000000000000000000000..003023a9e5d04686631f12da7e727e7aaec6342a GIT binary patch literal 909 zcmV;819JR{P)EX>4Tx04R}tkv&MmKpe$iQ$^7h1&gRSWT;LSL`5963Pq?8YK2xEOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4RLxj8AiNQwVz3N2zhIPS;0dyl(!fKV+m&1xG5G~G56 zv8b3zuZkV7=teL4F^HhdEMrcR;_w___we!cF2b|C&;2=qYQ|!KPb8jYhG`RT5KnK~ z2Iqa^5X;Ld@j3CBNf#u3?RNSu2)Vh+z>+kRU=q83hz!BSNcAiiHI2M?L&Qb-zR|g&*+=dK;JFUwdVHL*vIJukfg5SH^9Lm zFq)(6b&q#eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00Cu5L_t(I%gt0VYr;?vz85lThE5KF(4nQc_a{if-ykix zb-HMhCZm#o1A)`5&RsAp|nG*df;Wbtw0^yxfcF)|*}~clW-#@4E-^-%W5% z&v9j)1hp9zNNE>-QUo zf^9o2%GRyH0=p0S$4<-wEerzbB(mWFuy@hHFTg7(u zGsYkgM5z!CCJO)nCFsrWR6rEG{A$yG9kCKyj)#!unGoFmV!I~EpwTTtQf%GfIj+Q8 z?{6Cyo`-&kb>nN(@muV!Vh5arjH^f6MO{*TUK&LS-TAne=i^?^=37Z;>p8BR&9~}5 jr&Uqsan(1cYW;oyTq@WnYqHlT00000NkvXXu0mjfzpawC literal 0 HcmV?d00001 diff --git a/gamedata/assets/robot/death.png b/gamedata/assets/robot/death.png new file mode 100644 index 0000000000000000000000000000000000000000..e826f04e4af78a65e577e59de56bd0746991f7f9 GIT binary patch literal 12615 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 z zS-3cPVJ!T-?0hU-P~?{0xSCi6(F(eFBa1o$I=%mpIhU}EHC>!4w4Yb^x&4FUY^ z`KP>rf`4_2tcByFh5PS{|GVbZP3-@A`fCV0ZvB6&fWSXx3o(NJ6~xiV#RT>z&_7jB zb0ZrwlgIJ>cR~Hb#o~YIEPfa-l#j!RlZ6+?$<6Y+e_4$AICxn2O^r>txOt#P#$10f z{7-a8TT>@jBL@>Pv&T#yvw19_KiL3Z{GpQZ-`nD9Zt|NaFb6ve`{SEOgM$OY&JW=R zzXY>Gz+e#D-wCt*9@YQISdi`i;zaO|!M{uckA8p29;cVb*^2F-)79Uc{buU_OV@wt`i~g+kBt9YUH_%)KVslNGX8IM{Xe4%<9{|hCN__&AlJw3 z%+#LV_TyFv#aLcO5^xDP0(?3r@#cJ#pxepnIsyPs@qS-V0IBK3k3v)@IYlYdt*1By zcpQ{syorw@5+^AgCkb2l?{zca&vMQL26VM>G6()%&T0E&5k2mTo#iCOH28)pG}^7Y zMDg#HI4n_$u>8k!KudRcuR7bQ>sDvQj`WD^tKYrN3)Ih!`^v6zClWADjl|)^E-`%r zsXJ-fK6|&G=HPnMc75!n4##gvlyTv0K>+A1NzZq?9Bp#oq?}A4self.water.rect[1]: + self.gravityway = -1 + else: + self.gravityway = 1 + + # Flipping horizontally + if self.endpoints: + if self.rect.center[0]>self.endpoints[1]: + self.walkingway = -1 + if self.rect.center[0]self.water.rect.y: # Reverse gravity underwater + if self.water and self.rect.y>self.water.rect.y: # Reverse gravity underwater if self.gravityway == 1: self.gravityway = -1 # Décellerer @@ -67,7 +70,7 @@ class Player(Movable): self.canfastfall = False self.verspd *= 0.9 - if self.water.rect.y-self.leapmargin<=self.rect.y<=self.water.rect.y+self.leapmargin: + if self.water and self.water.rect.y-self.leapmargin<=self.rect.y<=self.water.rect.y+self.leapmargin: self.leaptimer-=self.game.dt # Inside the margin else: self.leaptimer = self.leapmaxtimer # Outside, reset the timer diff --git a/gamedata/objects/combat/tileset.py b/gamedata/objects/combat/tileset.py index be57223..d56d0be 100644 --- a/gamedata/objects/combat/tileset.py +++ b/gamedata/objects/combat/tileset.py @@ -1,4 +1,5 @@ from gamedata.objects.base import BaseObject +from gamedata.objects.combat.ennemies.robot import Robot class TilesetRenderer(BaseObject): @@ -16,6 +17,13 @@ class TilesetRenderer(BaseObject): if self.level["background"]: self.bg = self.level["background"] + def step(self): + # Spawning ennemies + while len(self.queue)>0: + props = self.queue.pop() + e = props[0](props[1],props[2],self.game,nodes=props[3]) + self.game.gameloop.summon(e) + def draw(self): self.game.window.blit(self.game.pygame.transform.scale(self.bg,(self.game.globals["cameraw"],self.game.globals["camerah"])),[0,0]) for layer in self.layers: @@ -29,6 +37,8 @@ class TilesetRenderer(BaseObject): self.layers = [] self.spawns = [] spawnlists = {"Spawns":self.spawns} + ennemies = {"Robot":Robot} + self.queue = [] # For spawning ennemies after beeing initialized if "layers" in json.keys() and type(json["layers"]).__name__=="list": solidlayer = False for layer in json["layers"]: @@ -46,6 +56,15 @@ class TilesetRenderer(BaseObject): h = entity["height"] spawnlists[entity["name"]].append(self.game.pygame.Rect((x,y,w,h))) + elif layer["name"] == "Ennemies" and "entities" in layer.keys(): + for entity in layer["entities"]: + x,y = entity["x"],entity["y"] + nodes = [] + if "nodes" in entity.keys(): + nodes = entity["nodes"] + self.queue.append((ennemies[entity["name"]],x,y,nodes)) + + else: # J'ajoute un layer de tiles tileset = level["tilesets"][layer["tileset"]] tilew,tileh = layer["gridCellWidth"],layer["gridCellHeight"]