From 42b4638567ce324a7f11058f1cd46208d8e252eb Mon Sep 17 00:00:00 2001 From: JailGamer Date: Sat, 4 Apr 2026 11:41:54 +0200 Subject: [PATCH] =?UTF-8?q?[NEW]=20Llibre=20de=20t=C3=A8cniques=20[NEW]=20?= =?UTF-8?q?Escena=20llibre=20[NEW]=20El=20abad=20dispara=20en=20l'aire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/abad.lua | 19 ++++++++++++++++++- data/game.lua | 8 ++++---- data/llibre.lua | 40 ++++++++++++++++++++++++++++++++++++++++ data/main.lua | 2 +- data/scenes.lua | 5 +++++ data/tiles.gif | Bin 11842 -> 11831 bytes 6 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 data/llibre.lua diff --git a/data/abad.lua b/data/abad.lua index 501d946..f66b7cd 100644 --- a/data/abad.lua +++ b/data/abad.lua @@ -46,6 +46,7 @@ function abad_init() draw=abad.draw, hurting=0, update=nil, + save_update=nil, jumpfwd=false, step_length=1, vmove_space=1, @@ -156,6 +157,7 @@ end function abad_shot_cacau () if cacau:available(abad.cacau_num_shots, abad.cacau_type_shot) then sound.play(audio_abad_shot) + abad.save_update=abad.update abad.update=abad_state_fire abad.wait=0 -- cacau.init(abad.hab,abad.x+8,abad.y+8,abad.flip) @@ -346,8 +348,15 @@ function abad_state_fire() if abad.wait==6 then abad.wait=0 - abad.update=abad_state_normal + if abad.save_update==nil then + abad.update=abad_state_normal + else + abad.update=abad.save_update + abad.save_update=nil + end end + + if abad.save_update~=nil then abad_advance() end end function abad_state_walking() @@ -419,6 +428,10 @@ function abad_state_jumping() abad.step=abad.step+1 if abad.jumpfwd then abad_advance() end + + if abad.objects.llibre and controller:check("shoot") then + abad_shot_cacau() + end end @@ -456,6 +469,10 @@ function abad_state_falling() abad.jump_height = abad.jump_height-1 abad.falling=abad.falling+1 if abad.jumpfwd then abad_advance() end + + if abad.objects.llibre and controller:check("shoot") then + abad_shot_cacau() + end end function abad_state_stairs() diff --git a/data/game.lua b/data/game.lua index 800354f..5dc1f9a 100644 --- a/data/game.lua +++ b/data/game.lua @@ -1,7 +1,7 @@ viewport= require("viewport") require "abad" require "cacau" -require "gps" +require "llibre" require "gorro" require "peu" require "premiere" @@ -98,8 +98,8 @@ function game_init(menu) abad_init() table.insert(actors,abad) - gps.init() - table.insert(actors,gps) + llibre.init() + table.insert(actors,llibre) gorro.init() table.insert(actors,gorro) @@ -222,7 +222,7 @@ function update_game() local scr_ax, scr_ay = viewp:screen_coords(abad_x, abad_y) end if key.press(key.N0) then - local abad_x, abad_y = coords.room_to_world ( 53, 3, 3 ) + local abad_x, abad_y = coords.room_to_world ( 41, 3, 3 ) print(abad_x..", "..abad_y) abad:move(abad_x, abad_y) local scr_ax, scr_ay = viewp:screen_coords(abad_x, abad_y) diff --git a/data/llibre.lua b/data/llibre.lua new file mode 100644 index 0000000..19f66e3 --- /dev/null +++ b/data/llibre.lua @@ -0,0 +1,40 @@ +-- posició en el gif (tiles de 32) +llibre_gif_col = 7 +llibre_gif_row = 3 + +llibre={name="llibre",hab=5,x=6,y=3,w=32,h=32,bb={x=0,y=0,w=32,h=32}} + +function llibre.init() + -- local habs={{33,8},{13,4},{51,9},{50,4},{42,7}} + -- local r=1+math.random(0,#habs-1) + -- llibre.hab=habs[r][1] + -- llibre.x=habs[r][2]*8 + -- llibre.x=habs[r][2] + llibre.hab = 41 + llibre.x = 10 + llibre.y = 2 + + local world_x, world_y = coords.room_to_world(llibre.hab,llibre.x,llibre.y) + llibre.x=world_x-4 + llibre.y=world_y-3 + + llibre.update=llibre.update + llibre.draw=llibre.draw +end + +function llibre.draw() + local x = llibre_gif_col*llibre.w + local y = llibre_gif_row*llibre.h + local scr_x, scr_y = viewp:screen_coords( llibre.x, llibre.y ) + draw.surf(x,y,llibre.w,llibre.h,scr_x,scr_y,llibre.w,llibre.h) +end + +function llibre.update() + if llibre.hab==abad.hab then + if collision(abad,llibre) then + abad.objects.llibre=true + remove_actor(llibre) + start_scene(scenes.llibre_trobat) + end + end +end diff --git a/data/main.lua b/data/main.lua index 6e5993f..93b6037 100644 --- a/data/main.lua +++ b/data/main.lua @@ -86,7 +86,7 @@ function mini.init() surf.target(0) surf.cls(16) - flow:executar("logo") + flow:executar("game") end function mini.update() diff --git a/data/scenes.lua b/data/scenes.lua index 7a89086..f9b2ac5 100644 --- a/data/scenes.lua +++ b/data/scenes.lua @@ -28,6 +28,11 @@ scenes={ {x=avatar_imp_x, y=avatar_imp_y,flip=true,audio="abad",text={"","GROOOOAAAARRR",""},die=20}, {x=avatar_abad_x,y=avatar_abad_y,flip=false,audio="abad",text={"MERDA!!","S'HA ENFADAT!!!","CACAUS A MI!!!!"},die=20}, }, + llibre_trobat={ + {x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Este llibre...","Es el de les tècniques","especials ..."}}, + {x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"...","TÈCNICA 'CACAU AERI'","salt i dispar"}}, + {x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Ja se"," 'CACAU AERI'",""}}, + }, intro_01= { {x=avatar_abad_x,y=avatar_abad_y,flip=false,audio="abad",text={"Ah!, què bo!","Nit de Netflix amb","un bon bol de cacaus!"},die=20}, }, diff --git a/data/tiles.gif b/data/tiles.gif index 716b94dff032c57d312873172b285e40b4ddbfe8..df748db935f203b6ce67d713efec6ba25fe44bc6 100644 GIT binary patch delta 6721 zcmV-H8ouSiT(?{dM@dFFH(>w)00HL@u?#d6f3`+0oy#%os8M_X9v#h84a8RM%UPYn zTYc1Yj6X*Miczi81whsw*EMJ@hb9eygUq+9D#KLG)v7AjU){rY-PH{+*I>QHLcG+h zSJpZm*ic0`gw570?be2z*W7y5UY)d#&Dg>k+2efC&y;|IP11+G!~}@Whz-?rjjxmq zf7g&5+KoLol|9iyG`XC8)~(yxtQ~qc<1Vy~IRa$b3BlKRJ=Lv>5W4-=d)?ay@!Pvi z#|e0&v|}2-+o~)vT)8O#$C=ZP~9vf8W~e(ctFS?PTBebJonAQBK|5_tQA*UANH} z;M|N5kKNT?h1L1};0q@Le}$gm82!aUoyUxh-VcF1`V)CABtl4b>4KB#{QXy) zj@`poXr~e5n?&BDZsbm`({E1W#+>6F@+|+K_)^2S;fBifvF3J_f zOy0iCtxiZ*=Rm-Og045>>Hg(q-RFSJSBw3^iDYZ$l+bc(&~fze;BPM~yB- zzcViEtxO%iE|xyqUvB>JpfkrA@#h|lPM<_r5MNCxKVv9v;fe0on1s{pz4D>+D>m5h zR+FMny*zsUC1 zRA2SEl<5B(7)@WrPtSuGzquJylLlPCfgkuU zL6HPu`U7EpAz^-;f8loj_``hwk#F~tUo0M#Y!xpypuqzN3>ctTQR7CA94{IK5K`nwk|ZHuM37P?gpdg@e*?946XbOK z!CJO$-8Mj&Hsi;M7wz7~d$A(jv3*;9L@+ThO8_tpPqe8pfz6u_dGhQDH0V&t9hDyC z=#;6{r<%21{srxoZ0NG0Ne}Ql@-)MQ3)Q}by*94vxftu_#jV$(?bKsW0uG##@ZrM% zXwqIxvoKD`e>;gvem?Z_#_1IeYTk^Uu-Ve0KXWe_c68|8-@~7sO@4N}O60bK5(Q8dV z!_u2bJ`Z6Mkuds3I>{iqFv`zEl4?3JMj2-;=`{Mfe-jVK2{p8kEA~cw3B=lfOmH`l zXiU+z{aVzoBp7LgGD^R6yb;IGz^bxG*5o2mNcWT^vP38iDgc5qKMHU}v7VH&%{Dj8 zvNZFsivIJwEnUMY&xg1y(I`JXnr}uk%QW*yCgB^4O*a>nF~ST}gL6C!7@#NjL{$i4TNc9=?e5XWRG70>bdAdE_q;85l(m_hasjoW|t+VIcCQuy7;P$Pab(9 zl!N~A`DdXI)R?jZhvrz^nRBXH;)$8Qx#@|YPFQNIcWT%m?kZ(AwV)?EI^~UdE*fmJ ze~lK}WVF=|J7lE~daUV+A$pp%xS5kVVyyRux^Lzr?2gV8HD>$lve6dXY@XXj8Nsz5 zcRO4G?}nNosvoBO@|Wqpx^Jqr-Vn>d3ul|~pT8~~X~f$mef6K-=3DQIHFw%`xo!5_ zcD^a68!WDorLXA4O+Gwi(^*%&WauDQe>`$>X|G-PsCVx?_J{MP{$|im<7(%jg?Alj z=2JgA@za?f>TMvacP@MBt;Zbu_hEAMDwX{*7k#3U=RbU+7atq?3{@;WO$~0AOkm@fN*l1;~n2d$f(sh4t)JPVFfj4Hl+zsg&~7qa}szpyWwzwd)winhIlg6 zLGFh~B%jfWXv8d*Om25uS^>j|yM#sYUWhAQ@y7PGU%iDINVO=?!NJ+EY?pR)PNQf9=J-{dBBewoX0e+ILhzT71+ zYk8e#GDw;3d}chK!p`i}Q=U$7i8b}P&ufCSI^LuXER!-&j&SOf1Z`zPFJsV+oKu&) zM5jt5s*;MVlb)R6%rTbC={Vb;gmr$vQTYu zb3q8DDL9SdP@V!nq6U#@e?^5kQjgA4JIj;`QHd$fj1twU$u#LgPHN4S^3$6+Z6!q* zN}a2|G@Ls1Cr-Vpk)A?Smn#uWN`!h*k!m!fC1oo~?j5kZq}}3kwzj>jF(<;*>drH&z3uI9sd>=RigrO=HEv8hLa*kgv$a3f z7Dc6-0PS+Lvfiz3e`bry6!ircxZxGALdeV2(gwD`$2BN>73*BI26evmhbj7lWNCdsIktr=7|+u3Yk zHLhRh>RPj!+ShKOWT-9cUF&)?Vu1in?zgINGe+Ef5%#F;GVD82Z+`FF-wn_=!22!meH&=o(vFMlDIW10aBj3t-%gDz~{0 zHkNd=+W-X+_PRm-ad?a5$@8waQwJV!map99|8DucH+JxYD_q+gWB5HIPH~<;<<}aY z$+$!QagrB(-6U_f$?X~v38S3p7!3)*rLOO&!yGm-2YA$39_!&*@_a8;K!X&69h309 z=NHE~f6&MM8+8+XSbFoo0~Z zl$}q!;%Hx)xz{d$bcdYXm$!?>M`BO9Z@#T~&kpDVKzFE&{^Z|PH@(XRFYwj(o$n$6 zJJ4 zq~EBw{@?Sh_3Z|@Wu+0WjM$!7fUdGB+RR0{HgJGc6S{_eXB8zb@eJo_)a z`H|9{`PBcm)absoD2b^fK=1Q6@O!^a5)02zzlxhU-;0o58z8UQIQ(IZ!^psR>x||@ zf02$Ny{Q1e(i1?|L%@g|IM+MC!DGM}ali*OJKsBifjA0q`>E0Cjo<@1$%{AIKb2kyzFbi6M4bmOFqYw!PSa5;fSwBLjIB++(DK3zaN~w{3{h89E!@WZ|(OpPY=ji7T0a3ioK(U##bf3lU}BrN2?u>eCF$wMQ2Jt-kWG%OD_T*I1( zLZc9l!U&9(c&#{0#5%M?{A<82jFLSZ!#<3XKLkX-5X3=*!~jVpmZ-ui43OYhK>X1` zjjO;+R7D0%zw$`FPV_|6szF7hLwIS#HnA}6SjAmLLmwQSHl)D)s6b$Bzf#P>fA!!+ zH_>`K4bO0T5Iy_82(0T)j4HEdauldQ?BWXV75$O61Zu~3K;Q4EK4lBGOH zokTab^vkad%x}?1M)?TM{FebrNqD5l#~g|N#&pb=B#FtC%*b4mgDlP7=*!LIOmNIY zv3wDJ97=sGO9lvu&@72Le?)+iz=*!I$;&)V)=W*{3`3}FP1iKb>0|(DS`*6zkgNiaWO>4AJncPtx#Yg^pk%*+tAstX7r4ccu zmmPFQ^jy-$TEyaHe^E5e&UwMf92JQwEx;3u&MehZE}hZ5d{ZGU&;q?p6XnyvY)%Ay zQq82og9*ihVbc~3(nmc*v7plmy;57kQy$e*NR`qN1ysKj)SUFru{2Z`RnkPYxJ9+N zMpe>KMMrLwQ}e9P`P|Svb8mwDin-ECDOOV#@=j9 z>P*%<)g>+6(ps%X#N1T~9a3Ixlh6EB26Zi%AXcC<)}EY~msC+@bxt|OPiU=9X&uyR zWzTEH)-hGb<46unflY3GF6eqKRsIdu50y|G&Coe@&gaC$bcNPT{a1I5(RfwHd7TM` zkO_O$r3i(ufB0%JeudW)UB|J+(Mp|FOl8-0m62R!*cib=g>aaAE!7v5sBj$?5N+0y zm{f$M%a7g91h`qsoX{FA50XW_Qe)VYO@Nf0STtqXmTgm?olvKI)fFY!fHhdNREV4P z(HSLE3FZHQI|!F^sK9nw8Xnf3;HYtJzDXTAW?iszt|gyjG}; z4F;G`dFaTWm9655yDm5)r4A0HCO)XL|7ZM+U9NxS&Uav)7 zYgJyPB+2ky%jZR0(+yb}vEKBh)VnRhJJKHW`ybQ_G`QNys}%`r^4@?PN$@qwyND6k zoJ;`LrG~WBOod(!#nLuOU+T?T_I*9*agGhLf2mwtruubP{1pkbWZvfW-`6Z)4aL#| z24KoG;PRc$4~~)ru3jsB3*x<{s_B~&dJgis3<#q!jU7klP0|jgk7?3T>jYvE24QC{ z-4j0F6H(#oWns2(;TPuqoSGS#45}%DDk;0`Rr?iE9v)d8?%|LP;sFNZA-+!&mf9nx ze~%4W183qe0<}%g*R4xx>`D7RsPz-#zGsf5uv+Rp@E%V3NfYhkgL2MrMgllZ%LILM}|IX5x;} z&qD6#3Hj;u1b~nhY54?es1$3^T;xfnWvq4P0Cirq))TgFYnOg&n9g9knCp!WmReb3 z2GC@z?&n|jY5uMTYOfY-rVeW}9&4hm?4Et)3~ucTeQdUd=vdPTpE!VIf39qUSc|Xf zWnIRLZ3b>dPHfQL>I3X*V#db7KET3W6rSGBWggON<<6{)?Z}qwRl~>IR)E`nYJKBv zfk9KW4DM{^VpsIEPZAf^PF_Dr?87o^9H$2;0W({J4mY=<@#3Ru*yQ zZRZ4cZpNPO6puZ- z?t7E*SIqw8(X#R3MryG2hdqeuy_&^G*hyLAUZjhjXvM z^E|JTj<)hCVe}iRkqLp=mc|Kb@>@t9P+5X(ht^(50S{LR_3xmHo<{T?i4`@^5>Q|C z@lXvt*NQnu^)#n-e>AUjiACA4g~-1Y3kMK@rT%qKhmwnt71PKHIX911Pj+Qr7G`gD zNI`%yN0uB}7AntjW1sX=*HEI(b%~wZP2HuLXdqu_>*8hgQ8)EbABbpg^JJg%SFaEa ziFSGZclOa>_el>6MSpfuNA-N4axU+7J;8Kc|8`zKXUQh_e+Mx4bVv6?kN5FNiFUVl zmEdxLpm=0g4Zrq_i2r4dzjJjr_8hr(e{c3j3HVG=48JvaO&y7ZU-&o&57622?WuBz zk9cOc_?yS`oWFS<(fGdTc~Jj(^I&&HH~M2ojieX(lD`m{_)ka>@|>*Om`c$Y zebEPg5;gtPPy5w3i^QLJi$8wE$M|ghQwpVeVaM{zzkT~j^ID#8>~~PyN1UeHh*IBgWuAcim`o`C`c#Yj60H=ziYseC`K`0ssaQ zBpBdef5CwV7b--UaG^tn4a z1Z4scK+~p72Lc}OY~b@}gO);v78EJ6sL_o?2^MI&l&RCF0GbLU3h`=ymRKQb-AC#W zK*q3Q$C5QkR;<*tOK;Asi4%a%ojm9ERBQLHD^#j!_2!Lgb?Z>CfdLadYxuC)!xix| XW;;+OP5}-kQ?5KYDC5j&0|Ed$foEOi delta 6732 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