From 9a59c6599a15d5e6614d956de2111edc572b9486 Mon Sep 17 00:00:00 2001 From: Wolfgang Becker Date: Tue, 12 Feb 2008 19:36:28 +0000 Subject: [PATCH] * Launcher can shoot two new types of snowballs. SVN-Revision: 5323 --- .../creatures/{canon => dispenser}/canon.png | Bin data/images/creatures/dispenser/dispenser.sprite | 5 ++ data/images/creatures/snowball/collision-left.png | Bin 0 -> 1457 bytes data/images/creatures/snowball/cpt-left-0.png | Bin 0 -> 3597 bytes data/images/creatures/snowball/cpt-left-1.png | Bin 0 -> 3576 bytes data/images/creatures/snowball/cpt-left-2.png | Bin 0 -> 3779 bytes data/images/creatures/snowball/cpt-right-0.png | Bin 0 -> 3528 bytes data/images/creatures/snowball/cpt-right-1.png | Bin 0 -> 3585 bytes data/images/creatures/snowball/cpt-right-2.png | Bin 0 -> 3716 bytes data/images/creatures/snowball/cpt-snowball.sprite | 26 ++++++ .../creatures/snowball/cpt-squished-left.png | Bin 0 -> 1435 bytes .../creatures/snowball/cpt-squished-right.png | Bin 0 -> 1432 bytes data/images/creatures/snowball/kamikaze-left.png | Bin 0 -> 3057 bytes .../creatures/snowball/kamikaze-snowball.sprite | 30 +++++++ data/images/creatures/snowball/left-0.png | Bin 2830 -> 2637 bytes data/images/creatures/snowball/left-1.png | Bin 2822 -> 2625 bytes data/images/creatures/snowball/left-2.png | Bin 2983 -> 2885 bytes data/images/creatures/snowball/sport-left-0.png | Bin 2930 -> 2830 bytes data/images/creatures/snowball/sport-left-1.png | Bin 2939 -> 2805 bytes data/images/creatures/snowball/sport-left-2.png | Bin 3107 -> 3015 bytes data/images/creatures/snowball/squished-left.png | Bin 1513 -> 1345 bytes src/badguy/captainsnowball.cpp | 61 +++++++++++++ src/badguy/captainsnowball.hpp | 39 +++++++++ src/badguy/dispenser.cpp | 57 +++++++++---- src/badguy/kamikazesnowball.cpp | 94 +++++++++++++++++++++ src/badguy/kamikazesnowball.hpp | 42 +++++++++ 26 files changed, 337 insertions(+), 17 deletions(-) rename data/images/creatures/{canon => dispenser}/canon.png (100%) create mode 100644 data/images/creatures/snowball/collision-left.png create mode 100644 data/images/creatures/snowball/cpt-left-0.png create mode 100644 data/images/creatures/snowball/cpt-left-1.png create mode 100644 data/images/creatures/snowball/cpt-left-2.png create mode 100644 data/images/creatures/snowball/cpt-right-0.png create mode 100644 data/images/creatures/snowball/cpt-right-1.png create mode 100644 data/images/creatures/snowball/cpt-right-2.png create mode 100644 data/images/creatures/snowball/cpt-snowball.sprite create mode 100644 data/images/creatures/snowball/cpt-squished-left.png create mode 100644 data/images/creatures/snowball/cpt-squished-right.png create mode 100644 data/images/creatures/snowball/kamikaze-left.png create mode 100644 data/images/creatures/snowball/kamikaze-snowball.sprite create mode 100644 src/badguy/captainsnowball.cpp create mode 100644 src/badguy/captainsnowball.hpp create mode 100644 src/badguy/kamikazesnowball.cpp create mode 100644 src/badguy/kamikazesnowball.hpp diff --git a/data/images/creatures/canon/canon.png b/data/images/creatures/dispenser/canon.png similarity index 100% rename from data/images/creatures/canon/canon.png rename to data/images/creatures/dispenser/canon.png diff --git a/data/images/creatures/dispenser/dispenser.sprite b/data/images/creatures/dispenser/dispenser.sprite index cc2f3be84..b7870ab56 100644 --- a/data/images/creatures/dispenser/dispenser.sprite +++ b/data/images/creatures/dispenser/dispenser.sprite @@ -5,6 +5,11 @@ (images "dropper.png")) (action + (name "working") + (hitbox 3 5 32 60) + (images "canon.png")) + + (action (name "working-left") (hitbox 5 12 55 40) (images "working.png")) diff --git a/data/images/creatures/snowball/collision-left.png b/data/images/creatures/snowball/collision-left.png new file mode 100644 index 0000000000000000000000000000000000000000..87e3ddefbfa3f768fd18a8384022e4e809210180 GIT binary patch literal 1457 zcmV;i1y1^jP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iO7& z7YHB2z|xBV00l8gL_t(I%YBtuY?NgbhM#|#y`3pA(n1$(ib2$1>q4to5gb&AD6NQ5 z)C*%!V?+%xCPq!v81=?2E}>D38c|Z(X@O{viqNWs5<>(dwYJb1N-Kq#PCNhn`{Io@ zF5tQOzH{;9eRGoY9)W+={japVs_Mqm0iV3xDv1?E z`1#l0tj&+F_n!}z{`$P|`R;02mO7f2T}O5K9A?FenGugm;rWZIj&|+baV}W=^9`O# zpJ-pQXd%&%A4OG>1c7KcMD@H2oBvmNbt3UhV|wsze{}_?PY#nWsDz>=IG(`FSTtzN zp5Hyt{nhZlVY#KH#a|~$50rOyB41R49glOYzn`DFcQgN*1cEO>X?aBx@a=zWCzHtw ze417j&E?3aQiQ`{@I3BYyM|x(b`lnBX2xRYv@QyQaAiCe6SPbQNs`Db3f(9j zjAo$k9|OzeCht0)SC{mM!lZQ_!!Ssl7^ZAa8M>yC&1R{dTgs8|x{e&|*}o64rj@HM zy14M)y}MfRNg|fxQoD2o z$*=c;&rdD)nChxZWI)j^6wSc)7cpuFFf5CW8#h*lLZMXvV&9=dB$G)H zptZG?zP>*C`;TGT4z}%3&@{670z{(JUvq8Inl)?8hK7bFV4c|3)((PzD9V_o$-;#T z8P!0yENsU?H%tIR#WTiME?;_d^XAQRV`Jk0utfA+=Rirklts%{QGIDGO-)T)b;AlY z-9*uJT*tw4Yzh-+gp!gHYumPM-}LtOmIA|~90 z%koK*0v(JdRtby0K!Rnrkf$=JGeYr4C;`=&orB_(>EXZu8f zNI=50Z4A@GvTd@8O2M#@087`wb=q}Z?;9K(bb%~@SW{WPtB_ZWu-^x+!(>5acs$2w zHqV4=;FvnDQNXoKfI;9PAP*q^GIYZIH9evPWEsnH$SEqByh3r%M=0PUKaoMQ%u@$G zeC@9knGOT-K+DUzW?Dat=cbTFh!=-hFgH$VNfD=iA4k$vWL;}NZ|L_QPj&n}FyxJ8 za+Jm*MEpJmM>C9_%_3SRj%6j!3+D@J=itdxhUhsQOOJ8#Y>vs?1nSw}nb3_byFY#F z+w)$Gkso`sP|fAPO)1J+S@sKKXEJ0br^rp_JWCLt8Tqki=v?q0i8yTY(Cdy)00000 LNkvXXu0mjfZrP`` literal 0 HcmV?d00001 diff --git a/data/images/creatures/snowball/cpt-left-0.png b/data/images/creatures/snowball/cpt-left-0.png new file mode 100644 index 0000000000000000000000000000000000000000..9c43ae87b75251d7a8649683f73137dd4278cda3 GIT binary patch literal 3597 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 literal 0 HcmV?d00001 diff --git a/data/images/creatures/snowball/kamikaze-snowball.sprite b/data/images/creatures/snowball/kamikaze-snowball.sprite new file mode 100644 index 000000000..3aba29b31 --- /dev/null +++ b/data/images/creatures/snowball/kamikaze-snowball.sprite @@ -0,0 +1,30 @@ +(supertux-sprite + (action + (name "left") + (hitbox 2 4 31.8 23.8) + (images "kamikaze-left.png") + ) + (action + (name "right") + (hitbox 13 4 31.8 23.8) + (mirror-action "left") + ) + (action + (name "squished-left") + (hitbox 1 -19 31.8 31.8) + (images "squished-left.png") + ) + (action + (name "squished-right") + (hitbox 1 -19 31.8 31.8) + (mirror-action "squished-left") + ) + (action + (name "collision-left") + (images "collision-left.png") + ) + (action + (name "collision-right") + (mirror-action "collision-left") + ) +) diff --git a/data/images/creatures/snowball/left-0.png b/data/images/creatures/snowball/left-0.png index 5d6e7182687b7bfecabae3895855940e66a3ae7a..fa8dde55e8748658b40c431aa66e8aadb8ad11d0 100644 GIT binary patch literal 2637 zcmV-T3bOTyP)H6erSsX6%+}9N|XxR zLK_hk1zM>hX`v0M{X!F$D!~;IYAL2MsKj=>j?>t&>vh&^@7>*d?z!ijnK?7VhwEK? zex+8=%N9XbCeA%FIb zqyEaZE}eFhcWvLwo^6|GCNV|r@!lfXh=5O);v$)}(74;*+myEkuOA`J=P9tG1ueh3P!1LYXFB4hKQ@{J66~26{5N8Z)$HxeT$KBM3&JTY=2$Cp5 zN`aITZ5`cQkyUz_DGyQ#9ALf218FGPHr61P9_>62-FGh!zV9F(e*CNcZH4^)m%i!m zKQKioJe9Fj#$vt4SVvZADpO;e2k(gki4`{KyrMLYs&-V?Qy7PF!+rY75C@XA z%^18#3PCH9yzAi4^Q(_O=~p%DM?U|QKlIRpBuR`60xXh&u_$XXwWBl+u7kaIgn>i? zG6+bbm<#h=*0dTllZZ5s7+<5U0})W_nj#7a14)7-2tvALO(ZUHWc43}Rf8fBXG9Es9iuY_DCk`ZC<+12bpUt-jVK@uB}p*EIOm9hU|3chMV^z_g1pj5AO`$0 zWEt=;ugWoml)0HqCs ze1O#oDdi1M(^{{BIA?ExE{lC@bP~ztPD&KWq5oW8)~_^Ivw~a?v$K>J^a@2@Dym9> z3=p1hBa8WH1ZgmaEk8LV~mE5m%hAS)G>GGs+b zUR2C)v+XefKdlGqVaL#A@TceEIUK|I^dc?BBnik39aBVH0}K zpwiUV5r>jW8@%%vXUPi%*09(gaHU^?GnCemmlZ}=LuZW}P1@}?X_~G;qO^e!0wDy4 zkDdZxa&i(FHt@2D!$(hX&%p-((8kgmlvw95wZ&SCbC%wqz}AM^)bt8PBaVorMCqEc zw}cD=q^U{)aOmNOX}8-eA|5+(dPVSopufH)9@QUV^?8DnERrB^5dJlF`sSWKUA_*ii4p_`BVIWCENjr^L8r1ailKFmtkOAPC>vkCw zB}P>UZ+Y>FKM^-y6?ZQ7me{&!J>$(L3wecc9w8*7jTCKag6pHd)HPY5@ZK_-M1%qa zp1jgzl|l+ZGY-*pO;!%y4U|C&Ltj-Wt?&#lIL_9<>N{(%KNzf&9@ex+Xr&Rei#g6a zk|@M#LtYM#W^EnLS^@!hk9Cf$&|K{eD70p@k)W+4uQa_%(~M(W6RupH$5~An1eCoc zysJ6(<)H;@BthCP&wTMo&YXOib(5Re`!nxjr%`vn*v9T2-iikG4^0=jp48|NMu){x{%*z`|R3!L1U8(LFc)#eVndmW9gh`jub2 zH`#SyJIz+g(#6YUeMQwDV3H9!y5R2dHgh9uIQ`Q1x%~R8OzhgvAnRe2q6|VesO#+b z*Z=A~@HfCqZ^yf>5WoQb!o@d7pZ)Gj_O5LklAXIYMSJevF2+V<(VNfEON)4CA!)F6 zVuCtqFnetd=N-}_NIGkaBT z-MlW`v}sMacWN7(x2<#Y7iJelS@hDXKmX$k=Sr0=&i>k(NKC4wI5cYJOUF;F$&~&A z@bx=^-bn~R0lW-+^W0D7p1&|Ncd}GwkBGvt@im=r%igWcpIn@iKe#Y6`tRpwMr!A} vcW+qBKTZGmThE<2x4o+Ep8{WaC&>Q-XWqoyWw%2600000NkvXXu0mjf)=dcO literal 2830 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 Y0xG-{>Es;^F8}}l07*qoM6N<$f=(4~i2wiq diff --git a/data/images/creatures/snowball/left-2.png b/data/images/creatures/snowball/left-2.png index ad04a7772c468a077df0f5ed200cf3527561419c..b00204e59403908731e9f20beda33978f0e7ac6e 100644 GIT binary patch literal 2885 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 literal 2983 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 literal 2930 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 diff --git a/data/images/creatures/snowball/sport-left-1.png b/data/images/creatures/snowball/sport-left-1.png index 1abb5db5b0179fe47abceea35e243d21befd266b..271d3017fa2596063fe695e47657b35f18dd94f9 100644 GIT binary patch literal 2805 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 Hu0mjfm=R~2 literal 2939 zcmV->3xxEEP)5000X@NklYOvr|Mx!Une#kn1izzw;py+HdaH#WgxID@A)g}%LxfU%|A{Y&-^J$#`qJaiy`aW! zOk(Idg?x@ev4o);q%$dO%fd2EEM3ECyG-1i!S@4#(Bpf5`-R_1=eJt)^&cKlGxJr7 z`3&n<4>PiAfQ)V7#tNkr0uTb?L?Tc${g@z;BuX(~t#bb2Wo9c?esb_D@2mG-lR04h zpM2vxXF5wIdV2cUI;p;_Oa>LkJ7beD+3({Ovg+(4%J+id_K>$ zvA3D8)+n!9OFCPi*xduBO%lfxGbysRNyCp3Dj{zR?!R{ntA+*v<$e zf|QatiinehY$l7YYuL7puIukO5{s@}*Tr=`&YnHXp_gBwYj72NKJh8YcQWUMfa2v- zZ(t@N|N2)4#9d*wZ{L35(4j+{bNRf8;~3L0Fbsnr2$`Lo0U%!}kV&UWk_4ySMkz%$ zlSR`6rfHH&rBF&Cr6frbeBY=@sF?DNYEOF8rB zgM))(m*2X&1)&iHKIwFtOgc?Io26Q z-48s##tj=tr_)4H#Qb~(P1oosccNPsAMNj>zubXWuPprc5B_uC?Fpoo9u6M4z$Z5J z<3|Z$A^|utUg2vW-?}3E4<5O|w!sc&s|#Gaag*BgBw4?XQ?GI5{5e9W&h{NU`O25S zL~lMJqc2=F|YZT%&xQxgEpTpQ)a*i}xRIL_z(__OTVxr32)>o5$1 zW~)V|S|ycAlgnm!;_FW$?0iZ6>f|q%MQ#^5dSx1bz3cl|fZVz6;E@YtGa1^h%f0Ixb$i$j@GS1!1PrD)d~GQbbXNWm(HGFJGPnVBf}}_k>wm`@Pd| zW9d-N*Z>%sz|aKMmP?dK>Oq2uL?}tU(d2*Myuy_uKVr-J5r%uaF^gq1L%ic~WMpJT zbndiGn>M}Yd{@S#BV{6`#0w&lMAGsjDlM0$7vKjGP1nP5eX2o%k?UmRCqK)CUgqS5 zQO;c*M~iR0@UC6En4Fwk23!2pR=j<)*<3Ndv`tHq0BHLmei#u;i62HNsR*MO$8~AD z9usp_#%F6FBND?RH@Jqeo3l*22^xTv&XCXNNu^TDB4#R$5CTnmr~XV$O|6K=?FkGJ zMhT6!MQOv4RGTPBvK5ri>bqt5Wok8QeYorW~e9ENWj%hd^m6nUpbU-m%t64U#az@j~K65+@Rw zBCo2`qsZqPfd*X4R;mE*fxbsL>Nh8DKUfsnGggKZWt1TF}fyjeVrgqs5u_(AjH;n z94|x&NDyQ#ix9=l=^8Q)5J^O_J({jhlt_f&R*Sj#+>xNeE!it+SAq7)ul4FCF0Ph+4jj63V1<8lt>&uzzbtE0k&z7vrTd- zi&(0~lRW> zRVw65Wy)P;(w2p7>KK|JZJH=0@uHZz<1@9;VzyF6O36a4N~=-F(x5~_l)%FLG_|Sg z{Q9-S|Np(|4ydXA&SLlK;URO?Kp)a|2+b5tFG2|o1r#$j=U#o8(K9DdLL+WF=yn=i z6Ql|yoK~BRCTO=Euxv(8|Kccc4fu->1ar&2wrLYfk!z>o^YTd|(MAPwT zw_VO2dl6j-Ml8wRdxzbmobE45W2D|}0bEnw5 zuD7?@J;i+HGk=66o3 zJo#3l)Z3%8v+3Q%qUpYIe)w0fxhh{SSRky`05-~x0utLybR*T)3@!9pUdL=btOMJD zy})xH1Sa>$!#m`z&1;j$4>ci#b^jv|4Yupf(1o9$o2W(6^!*>(KC*hCTlS9(rG3XU zP)aQRMIwZmvXsz;E@PS13{6J}xAw~G+SwO=@hb4`4;q>0kIz*$yB*oJ3k@gJ_JUzU z*SyK;O7qRBshTV0n#X>0`-Vbaw=v lOvLp@YZkZ+bly$y{{ZhW)&7O`{Cxlb002ovPDHLkV1kyhst^DG diff --git a/data/images/creatures/snowball/sport-left-2.png b/data/images/creatures/snowball/sport-left-2.png index e853efeb908d821015307b775b15ba8095abd051..463fa1c4fa7513b651889eda3c7f7574866f86a7 100644 GIT binary patch literal 3015 zcmV;&3pn(NP)pkRmXq#t^K{oTulk;WQHHUaLJ zetqtF=l|>TPM>qT1^l^R;+7oK* z{3M31Q*iSXiX{x)z{zH?Eep#uv2=}A+hbyCh9C$DBcHGT!M#7X*3a$uz;~WeGxJr7 zZkEk!hS<1zfUIrdB?_e!0uTa{R3cC`f`l-Yq)IVgt#V@Yb!ID7{^Q{1{zuLCa>xUl zf9;E3I@VDt(bLn%_Kj=l%$al*i%6yLqnNrM;YA6c&@~OA={Tl=sS9deh##jY%^(&! zZ=62G(N|CK{XhHN_XIPpWgHk7cxeCr{Wl&xJ+^Q9rRV4x+0H=Ofa!#ZR*PyrhwHk$ zHFl2q>H?js*Wu&}6uW!Cv`LeMVm3q0HmL^*LZ!I2;D#L|tX?&U&~){^FTQ)muG)C? z(MP|$YuBz{zi!<+Lm)78jWCKxk_0E?pzAtHNrVtA*6S=(s{r`E&&$V-Q7o01oS8$q z-R#+WGt#v26Gh%OnDbK{Q|HX&42KUN=E(;?drhz_jk}(D>ZzAjtr{{01_#L4HlFX3 zrYTZNk~k(wQ*zlHx~^f{HoC6A6HF|H^E?mF^Lgc!S9tQ-AJ8?pn%h78QE)q$Yej(K z*`voX(}=J9)`6?QRv50o{`!+oKKbOfyz7c2NiYoq!!QWLh}qd00Ng@>tmBZTDXn%J zr4+er4owr7rb#A~K`Dilk~B>Tf`E40qt$Bi(#tP1QE5=z`aViM{Qx}o{PTS43!hrS zad}Ps#^B)K*z0ec9YJV>VSwW}WE}@Lm!n#(Qms}HLeOlsaNRrrN-BDKde9A>d_GUs z$%=6g4{U)o2 zhIs$YH*(|Ny=>jG1;=rSQQ&F4P*8G3tqFin$2qruelG@5SU7K*sJEQb#Ln2#Sg@Ezb2m!K>l9335HczBpo zr%thL+cpk9bCO%G>q1=ybjb%;;Wyk@V!R&W`yM;{OH?mR05J2`Y0i(G<;dYfeDYWB zVbAVeY}~K`!!T$xn^dY*G8u<_F3bH7Jjgfx@hdk90NX98pC0+IWwFZzpF1-Rz#W_W zR{&kHGbiPzr^qjw@{fn&+k9*=L~h1IB@sftX;o>(Nm)=cp-o=05t8L(u$%8 z%d(c=OPO8;axE}`vaMldGnl%DR0`u_+-49Fr;=8bVwxGcRRAl+s$>GwgTie0OKN)5Q2>xH!f%E-2mQgzbk7}&X`Ck@xz!jl{ABxO4Fm^hXi3v z!}Do*0o5?Y$ak>yBlj?&cXH(9XpIGuDc9$|KmrO#V?8W_b<&XrPKh!ejI-Q4?|=L#y9Y~{ z7mq4I81b{Y_BEU5_Fk8|ACl2E7Mg98l%!HFi7Sa0#`s}`sln`GgL*rnoX^nk112xb z5czF#S%;?|`W*pR9P$o);UTu%{2>5#^ycxx2wl^#4IQZzH?8Sh&e)~3d$2^^3(-+1 znNrA@#7RQ68Iq=woNbb`bkbC#<%f8Y#LZ@~Oq2TbENL1elp>C!<(Mm=#-`^_@Ahk3 zdV9KQv^*q$(8yaljUYk^jh%gkr6O07FqKrB9&r-m+9tNHp;pCqzLI_9^ zj;PJel7s=%r+>!VFTH>x1a|*wx};>UspDiUwys^P41nE*f{LX?D#_Tnb7!QIy`@q~ z3=H&A$~uUwpwejLhfB?{;rTSYfH;*1!NsHR(sem&kueSYSfZIGMaRNxwR!X080QZE z5U*Ls&@~1&Y(qn_Ch&M)(xxMqBbJhxFvPgtbyauCtdCY}vMh#cYmV71PyjQf@aXr}0ut(liQ&f#K*nAL{I&m~+q!okq^)_OmZ`emjh7 z`)<0yExWF6Aw^_oNy3O?seofyl=BYVn!qtll#=*yLZ#txq1L3<@{vl?@&o24CzyQg z7{9%`$ksdWqA<`+Yi5z=)GP~ipXeeGfRV8n?aW{dj;tja>}9l4BRw-tUg*e{$DTL- zx%_OaF}HrhhVq)BRp#me2e+K376i=9FQ9~m0*YB1Av7|U#X`M77=*N&4Hg>>&b|C2 zX5M&>fB4vqbaxlfEuFd7&l5G$BN%&%TbXE~~%0ORehf5sj9QupDOQt5~{55QQi} zO2tCGNs=b4I(LdcxnqQma*p;~4ZqeTZ2DBroJYn9*{&j6_utIWE!+6|cb{i^rpn8w z$KM(Czk1hgs!-0eeoa3Ey`6OA9i~r=G5+Fl%w~W9q*6Tb!2`#W!0*dB`93pW01cD^ zO(@b-k|qgCXdM5SzvqU5RqXFH=*-&04WHJ`0zwn?ZePdReLE>^TEz>8Pw?EK<9zq& zpOk<)T>T5#z2{^58X4Q9t6ZR?=#sGvN?wdJTciyYwqeWO^PL#O&{3F;H@K!PgQvSg=4%qQ{j7uj$akyzX7VbxJyB797F&B002ov JPDHLkV1l7N<}UyM literal 3107 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 xa7{1Ueq}e+g*q2rxyZ!W6fZ92Gm diff --git a/data/images/creatures/snowball/squished-left.png b/data/images/creatures/snowball/squished-left.png index df64fa959b93d270a32132228c8d8610371f75d0..4362c557b08c48c74884f5e38d2ac09379b29111 100644 GIT binary patch literal 1345 zcmV-H1-|-;P)AEzxV90l=8?}y)MVcCZ;y7ZP2I`81@S&B}q(1H#Wq^0uCi5LP(09LI~(a zDY41P5DXH-@nf&&NB;8q(O>MlfBwIQ_`*{^kxGgyOP+V+l67l&$K})1N*=zJ;2c@* zh_aj{v)~*>PvdEcuN4AFGfOv0S?Wdjo+eB)(i|!UO)JV!LU8>2GQU53xZfOGGk5Tw zkDdO9w*vV5lRx&Pb34aIt1o(ub-ZWOB*VU@pd>$h`2?FMYQ&i($t;IYudtz3K`V*L zEHAuriix2jL24P8oXj~)?hrVtMUUo4i47w@y(mHZKC^GT!k=2-ysx?K1ACftSD$#} zH;4YLc0Kvrh$lt3?d`MMS5<|Do95Yg^CuY}F7flDXL)|lrx9~EFg04?&})l4bo+am zy74v|WuI5hwK;g-os_rSh|P0Ko<>T6Ck2&)#sR6dI0RXqlNm$V)12uc?Yt^U&8?TtOym1L8%HZN#wXancQ^NcV;}FoW-Cr=Z0;~NXI-_-Wt%qh z(5`!U;E~7JvU!H0);J*^<-V4}SJ8 zj$a7ylwkd^Pi`&!C?U%%?I7V~tHWQH+bnnboNcvvBcYlR>Pv3X7!Md&n5 zN@-^P8Q`0@UdzLW{>XJR2%4{1h1fbs=4L5qwOI4vecR=ikKWJg3`pP z!8vG@3xr9EwK`f800ofUj6ms4{j6yA6@wFh?KH(<@9og3DUeSh}SODJlMa+V9-KEt&dwb43KO2FY9_*x=`zyXQLXa_MDx&x9l zB^dPS_xsp1LB=6MNTP0=JaKHeA6mG7oK~#|t6nV}ZN{{Dx7T}T+S}ENc7B=BB(*0f3J z%99@!lX@pQuxR`!oa{>AP}4KO8~a$Y6P;JF?TI_leB>m9xzLxswq9KvLV00`!IOrh zlmv(1Qkp>}6G&$dyGSw!bb|Vu%Fs#> zKFsQkTkv*EGhRE^j)gT*xUPdmwPnD;Z?NW`Td|_K1z#Wg6iW!AJW_z3WEMr_Atfl0 zYk)A7hwKE?87XHfrz0d$j1oDH1vQyO&I?Fc3(w7K+^|3#TQ?~*Fq}kPT`f40wZ68T zL2OySn%(D<(~d(Y+DDl5vtb0eFa`mGP!UTwMtQ#|Kx zmfSb2TO2f!&!H+JBQ$*>);usDn?FB|5?Lhq^W=p9OiE~wAM%=xWKM%jO6i7yE2$h)MTCPP zHHXabfN$!|nfEqDM3VcQL2Y;8mtUb!bloT4V|G;uZJ=XDMT9}zGA0I%PFPVSv-L62 z5bKIb@j|vp9l>@7`%)Lry&T?#9f6Yu}0_ zhSRAjHI3Ka*9mB&S0N3?2 z&h;8j?ca3hKS%u8J*_6)cHHr7)2{yBKPD=U`3QYK)&=RSCWOKWMT-$DEkTY9X_G1r zDFMrXscYb=guWldph9sQMm7se%QIC-O&US&px`(cDcO@>e$du^y>HE5Ur?xI3$!_* P00000NkvXXu0mjfT3fEW diff --git a/src/badguy/captainsnowball.cpp b/src/badguy/captainsnowball.cpp new file mode 100644 index 000000000..a6975dab6 --- /dev/null +++ b/src/badguy/captainsnowball.cpp @@ -0,0 +1,61 @@ +// $Id$ +// +// SuperTux +// Copyright (C) 2008 Wolfgang Becker +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +#include + +#include "captainsnowball.hpp" + +namespace{ + static const float WALK_SPEED = 50; + static const float BOARDING_SPEED = 300; +} + + +CaptainSnowball::CaptainSnowball(const lisp::Lisp& reader) + : WalkingBadguy(reader, "images/creatures/snowball/cpt-snowball.sprite", "left", "right") +{ + walk_speed = WALK_SPEED; // peg leg + max_drop_height = -1;// eye patch +} + +CaptainSnowball::CaptainSnowball(const Vector& pos, Direction d) + : WalkingBadguy(pos, d, "images/creatures/snowball/cpt-snowball.sprite", "left", "right") +{ + // Created during game eg. by dispencer. Board the enemy! + walk_speed = BOARDING_SPEED; + physic.set_velocity_y(-500); +} + +void +CaptainSnowball::collision_solid(const CollisionHit& hit) +{ + WalkingBadguy::collision_solid(hit); + walk_speed = WALK_SPEED; + physic.set_velocity_x(dir == LEFT ? -walk_speed : walk_speed); +} + +bool +CaptainSnowball::collision_squished(GameObject& object) +{ + sprite->set_action(dir == LEFT ? "squished-left" : "squished-right"); + kill_squished(object); + return true; +} + +IMPLEMENT_FACTORY(CaptainSnowball, "captainsnowball") diff --git a/src/badguy/captainsnowball.hpp b/src/badguy/captainsnowball.hpp new file mode 100644 index 000000000..b1043a0e1 --- /dev/null +++ b/src/badguy/captainsnowball.hpp @@ -0,0 +1,39 @@ +// $Id$ +// +// SuperTux +// Copyright (C) 2008 Wolfgang Becker +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +#ifndef __CAPTAINSNOWBALL_H__ +#define __CAPTAINSNOWBALL_H__ + +#include "walking_badguy.hpp" + +class CaptainSnowball : public WalkingBadguy +{ +public: + CaptainSnowball(const lisp::Lisp& reader); + CaptainSnowball(const Vector& pos, Direction d); + + virtual CaptainSnowball* clone() const { return new CaptainSnowball(*this); } + void collision_solid(const CollisionHit& hit); + +protected: + bool collision_squished(GameObject& object); + +}; + +#endif diff --git a/src/badguy/dispenser.cpp b/src/badguy/dispenser.cpp index c603946e3..73a931b6a 100644 --- a/src/badguy/dispenser.cpp +++ b/src/badguy/dispenser.cpp @@ -28,6 +28,8 @@ #include "badguy/poisonivy.hpp" #include "badguy/snail.hpp" #include "badguy/skullyhop.hpp" +#include "badguy/captainsnowball.hpp" +#include "badguy/kamikazesnowball.hpp" #include "random_generator.hpp" Dispenser::Dispenser(const lisp::Lisp& reader) @@ -42,8 +44,11 @@ Dispenser::Dispenser(const lisp::Lisp& reader) if( start_dir == AUTO ){ autotarget = true; } + } else if ( badguy == "kamikazesnowball" || badguy == "captainsnowball" ) { + sprite->set_action("working"); + } else { + sprite->set_action("dropper"); } - else {sprite->set_action("dropper");} bbox.set_size(sprite->get_current_hitbox_width(), sprite->get_current_hitbox_height()); countMe = false; } @@ -64,6 +69,13 @@ Dispenser::write(lisp::Writer& writer) void Dispenser::activate() { + if( autotarget && !swivel ){ // auto canon sprite might be wrong + Player* player = this->get_nearest_player(); + if( player ){ + dir = (player->get_pos().x > get_pos().x) ? RIGHT : LEFT; + sprite->set_action(dir == LEFT ? "working-left" : "working-right"); + } + } dispense_timer.start(cycle, true); launch_badguy(); } @@ -121,33 +133,44 @@ Dispenser::launch_badguy() { //FIXME: Does is_offscreen() work right here? if (!is_offscreen()) { + Direction launchdir = dir; + if( !autotarget && start_dir == AUTO ){ + Player* player = this->get_nearest_player(); + if( player ){ + launchdir = (player->get_pos().x > get_pos().x) ? RIGHT : LEFT; + } + } if (badguy == "snowball") - Sector::current()->add_object(new SnowBall(Vector(get_pos().x, get_pos().y+32), dir)); + Sector::current()->add_object(new SnowBall(Vector(get_pos().x, get_pos().y+32), launchdir)); else if (badguy == "bouncingsnowball") - Sector::current()->add_object(new BouncingSnowball(Vector(get_pos().x, get_pos().y+32), dir)); + Sector::current()->add_object(new BouncingSnowball(Vector(get_pos().x, get_pos().y+32), launchdir)); else if (badguy == "mrbomb") - Sector::current()->add_object(new MrBomb(Vector(get_pos().x, get_pos().y+32), dir)); + Sector::current()->add_object(new MrBomb(Vector(get_pos().x, get_pos().y+32), launchdir)); else if (badguy == "mriceblock") - Sector::current()->add_object(new MrIceBlock(Vector(get_pos().x, get_pos().y+32), dir)); + Sector::current()->add_object(new MrIceBlock(Vector(get_pos().x, get_pos().y+32), launchdir)); else if (badguy == "snail") - Sector::current()->add_object(new Snail(Vector(get_pos().x, get_pos().y+32), dir)); - else if (badguy == "mrrocket") { - Sector::current()->add_object(new MrRocket(Vector(get_pos().x+(dir == LEFT ? -32 : 32), get_pos().y), dir));} + Sector::current()->add_object(new Snail(Vector(get_pos().x, get_pos().y+32), launchdir)); + else if (badguy == "mrrocket") + Sector::current()->add_object(new MrRocket(Vector(get_pos().x+(launchdir == LEFT ? -32 : 32), get_pos().y), launchdir)); + else if (badguy == "captainsnowball") + Sector::current()->add_object(new CaptainSnowball(Vector(get_pos().x+(launchdir == LEFT ? -32 : 32), get_pos().y), launchdir)); + else if (badguy == "kamikazesnowball") + Sector::current()->add_object(new KamikazeSnowball(Vector(get_pos().x+(launchdir == LEFT ? -32 : 32), get_pos().y), launchdir)); else if (badguy == "poisonivy") - Sector::current()->add_object(new PoisonIvy(Vector(get_pos().x, get_pos().y+32), dir)); + Sector::current()->add_object(new PoisonIvy(Vector(get_pos().x, get_pos().y+32), launchdir)); else if (badguy == "skullyhop") - Sector::current()->add_object(new SkullyHop(Vector(get_pos().x, get_pos().y+44), dir)); + Sector::current()->add_object(new SkullyHop(Vector(get_pos().x, get_pos().y+44), launchdir)); else if (badguy == "random") { switch (systemRandom.rand(7)) { - case 0: Sector::current()->add_object(new SnowBall(Vector(get_pos().x, get_pos().y+32), dir)); break; - case 1: Sector::current()->add_object(new BouncingSnowball(Vector(get_pos().x, get_pos().y+32), dir)); break; - case 2: Sector::current()->add_object(new MrBomb(Vector(get_pos().x, get_pos().y+32), dir)); break; - case 3: Sector::current()->add_object(new MrIceBlock(Vector(get_pos().x, get_pos().y+32), dir)); break; - case 4: Sector::current()->add_object(new PoisonIvy(Vector(get_pos().x, get_pos().y+32), dir)); break; - case 5: Sector::current()->add_object(new Snail(Vector(get_pos().x, get_pos().y+32), dir)); break; - case 6: Sector::current()->add_object(new SkullyHop(Vector(get_pos().x, get_pos().y+44), dir)); break; + case 0: Sector::current()->add_object(new SnowBall(Vector(get_pos().x, get_pos().y+32), launchdir)); break; + case 1: Sector::current()->add_object(new BouncingSnowball(Vector(get_pos().x, get_pos().y+32), launchdir)); break; + case 2: Sector::current()->add_object(new MrBomb(Vector(get_pos().x, get_pos().y+32), launchdir)); break; + case 3: Sector::current()->add_object(new MrIceBlock(Vector(get_pos().x, get_pos().y+32), launchdir)); break; + case 4: Sector::current()->add_object(new PoisonIvy(Vector(get_pos().x, get_pos().y+32), launchdir)); break; + case 5: Sector::current()->add_object(new Snail(Vector(get_pos().x, get_pos().y+32), launchdir)); break; + case 6: Sector::current()->add_object(new SkullyHop(Vector(get_pos().x, get_pos().y+44), launchdir)); break; } } } diff --git a/src/badguy/kamikazesnowball.cpp b/src/badguy/kamikazesnowball.cpp new file mode 100644 index 000000000..ebfdc3613 --- /dev/null +++ b/src/badguy/kamikazesnowball.cpp @@ -0,0 +1,94 @@ +// $Id$ +// +// SuperTux +// Copyright (C) 2008 Wolfgang Becker +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +#include + +#include "kamikazesnowball.hpp" + +/* + * Kamikaze Snowball will fly in one direction until he hits something. + * On impact he is destroyed, trying to kill what he hit or hit him. + */ +namespace{ + static const float SPEED = 200; + const std::string SPLAT_SOUND = "sounds/splat.wav"; +} + +KamikazeSnowball::KamikazeSnowball(const lisp::Lisp& reader) + : BadGuy(reader, "images/creatures/snowball/kamikaze-snowball.sprite") +{ + sound_manager->preload(SPLAT_SOUND); +} + +KamikazeSnowball::KamikazeSnowball(const Vector& pos, Direction d) + : BadGuy(pos, d, "images/creatures/snowball/kamikaze-snowball.sprite") +{ + sound_manager->preload(SPLAT_SOUND); +} + +void +KamikazeSnowball::initialize() +{ + physic.set_velocity_x(dir == LEFT ? -SPEED : SPEED); + physic.enable_gravity(false); + sprite->set_action(dir == LEFT ? "left" : "right"); +} + +bool +KamikazeSnowball::collision_squished(GameObject& object) +{ + sprite->set_action(dir == LEFT ? "squished-left" : "squished-right"); + kill_squished(object); + return true; +} + +void +KamikazeSnowball::collision_solid(const CollisionHit& hit) +{ + if(hit.top || hit.bottom) { + physic.set_velocity_y(0); + } else if(hit.left || hit.right) { + kill_collision(); + } +} + +void +KamikazeSnowball::kill_collision() +{ + sprite->set_action(dir == LEFT ? "collision-left" : "collision-right"); + sound_manager->play(SPLAT_SOUND, get_pos()); + physic.set_velocity_x(0); + physic.set_velocity_y(0); + physic.enable_gravity(true); + set_state(STATE_FALLING); +} + +HitResponse +KamikazeSnowball::collision_player(Player& player, const CollisionHit& hit) +{ + HitResponse response = BadGuy::collision_player(player, hit); + if(response == FORCE_MOVE){ + kill_collision(); + response = ABORT_MOVE; + } + return response; +} + + +IMPLEMENT_FACTORY(KamikazeSnowball, "kamikazesnowball") diff --git a/src/badguy/kamikazesnowball.hpp b/src/badguy/kamikazesnowball.hpp new file mode 100644 index 000000000..04854b8d4 --- /dev/null +++ b/src/badguy/kamikazesnowball.hpp @@ -0,0 +1,42 @@ +// $Id$ +// +// SuperTux +// Copyright (C) 2008 Wolfgang Becker +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +#ifndef __KAMIKAZESNOWBALL_H__ +#define __KAMIKAZESNOWBALL_H__ + +#include "badguy.hpp" + +class KamikazeSnowball : public BadGuy +{ +public: + KamikazeSnowball(const lisp::Lisp& reader); + KamikazeSnowball(const Vector& pos, Direction d); + + void initialize(); + void collision_solid(const CollisionHit& hit); + + virtual KamikazeSnowball* clone() const { return new KamikazeSnowball(*this); } + +protected: + bool collision_squished(GameObject& object); + HitResponse collision_player(Player& player, const CollisionHit& hit); + void kill_collision(); +}; + +#endif -- 2.11.0