From 462c932f2603aa366715276a951d2b853031c768 Mon Sep 17 00:00:00 2001 From: Raimon Zamora Date: Tue, 23 Dec 2025 21:03:33 +0100 Subject: [PATCH] =?UTF-8?q?-=20[NEW]=20logica=20de=20game.restart()=20i=20?= =?UTF-8?q?game.startfromeditor()=20concretada=20-=20[NEW]=20game.startfro?= =?UTF-8?q?meditor()=20ara=20tamb=C3=A9=20especifica=20la=20orientaci?= =?UTF-8?q?=C3=B3=20-=20[FIX]=20Previndre=20acces=20al=20menu=20durant=20e?= =?UTF-8?q?ls=20fades=20-=20[FIX]=20Al=20carregar=20partida,=20abortar=20s?= =?UTF-8?q?equencia=20si=20hi=20havia=20una=20en=20execuci=C3=B3=20-=20[FI?= =?UTF-8?q?X]=20Els=20flags=20es=20carregaven=20com=20a=20strings=20en=20c?= =?UTF-8?q?ompte=20de=20n=C3=BAmeros=20-=20[FIX]=20Al=20carregar=20partida?= =?UTF-8?q?=20no=20se=20movia=20al=20heroi=20al=20nivell=20que=20tocaba=20?= =?UTF-8?q?-=20[NEW]=20Acabada=20seq=C3=BC=C3=A8ncia=20del=20bocata=20de?= =?UTF-8?q?=20sobrasada=20pata=20-=20[NEW]=20Gr=C3=A0fics=20i=20objecte=20?= =?UTF-8?q?del=20bocata=20de=20sobrasada=20pata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/editor.lua | 2 +- data/game.lua | 24 +++++++++++------------- data/m_vella.lua | 28 +++++++++++++++++++++++----- data/objects.gif | Bin 979 -> 1034 bytes data/objects.lua | 1 + data/scene.lua | 5 +++++ data/sprites.gif | Bin 5725 -> 5749 bytes 7 files changed, 41 insertions(+), 19 deletions(-) diff --git a/data/editor.lua b/data/editor.lua index a034f69..110321e 100644 --- a/data/editor.lua +++ b/data/editor.lua @@ -40,7 +40,7 @@ editor={ end, playfromhere=function() - game.startfromeditor(string.sub(mapa.name,1,-5), editor.cx, editor.cy) + game.startfromeditor(string.sub(mapa.name,1,-5), editor.cx, editor.cy, "d") end, reload_textures=function() diff --git a/data/game.lua b/data/game.lua index cc38267..1fe1efb 100644 --- a/data/game.lua +++ b/data/game.lua @@ -22,26 +22,23 @@ game={ cam={x=0,y=0}, restart=function() - flags={} - objects.list={} - --actors.main={name="jailer",x=43,y=25,o="u",gfx={x=32,y=0},level="vella"} - --game.init("vella") - actors.main={name="jailer",x=12,y=12,o="r",jailmoji="AHDJONAAAAFAACFBBO",level="arq"} - game.init("arq") + --flags={} + --objects.list={} + --actors.main={name="jailer",x=12,y=12,o="r",jailmoji="AHDJONAAAAFAACFBBO",level="arq"} + --game.init("arq") + game.startfromeditor("arq",12,12,"r") end, - startfromeditor=function(s_level, s_x, s_y) + startfromeditor=function(s_level, s_x, s_y, s_o) print("Playing level: "..s_level.." at pos "..s_x..","..s_y) flags={} objects.list={} - actors.main={name="jailer",x=s_x,y=s_y,o="d",jailmoji="AHDJONAAAAFAACFBBO",level=s_level} + actors.main={name="jailer",x=s_x,y=s_y,o=s_o,jailmoji="AHDJONAAAAFAACFBBO",level=s_level} game.init(s_level) - --actors.main={name="jailer",x=8,y=12,o="l",gfx={x=32,y=0},level="arq"} - --game.init("arq") end, init=function(levelname,f,objs) - + scene.abort() if f then flags=f end if objs then objects.list=objs end @@ -125,7 +122,7 @@ game={ local line = io.read() while line ~= "[OBJECTS]" do local k,v=getkeyval(line) - new_flags[k]=v + new_flags[k]=tonumber(v) line = io.read() end line = io.read() @@ -134,6 +131,7 @@ game={ line = io.read() end io.close(file) + actors.main.level=level_name end fade.fadeout() --game.resume() @@ -210,7 +208,7 @@ game={ actors.interact(hero.x,hero.y,hero.o) end end - if key.press(key.ESCAPE) then + if key.press(key.ESCAPE) and update==game.update then game.show_menu() elseif key.press(key.TAB) then game.show_debug_menu() diff --git a/data/m_vella.lua b/data/m_vella.lua index c054df8..1f49617 100644 --- a/data/m_vella.lua +++ b/data/m_vella.lua @@ -36,7 +36,10 @@ levels["vella"]={ actors.add({name="alumne_cua2",x=26,y=26,o="d",gfx={x=0,y=80}}) actors.add({name="alumne_cua3",x=26,y=27,o="d",gfx={x=0,y=64}}) - actors.add({name="imbesil",x=27,y=23,o="r",jailmoji="AEFJNJAAAAEBFFIAAB"}) + if flags.caixer_visitat~=2 then + actors.add({name="imbesil",x=27,y=23,o="r",jailmoji="AEFJNJAAAAEBFFIAAB"}) + actors.add({name="bocata",x=29,y=23,o="d",gfx={x=160,y=80},action=levels.vella.bocata_action}) + end @@ -61,7 +64,7 @@ levels["vella"]={ switches.add({x=28,y=24,w=1,h=1,action= function() local hero = actors.search(actors.main.name) - --if flags.caixer_visitat==1 then + if flags.caixer_visitat==1 then flags.caixer_visitat=2 scene.start({ function() balloon.show("EH!!!",3,"imbesil",false,{x=5,w=8,h=1}) end, @@ -79,9 +82,9 @@ levels["vella"]={ function() balloon.show("IMBÈSIL...",3,"jailer",false,{x=5,w=8,h=1}) end, }) return true - --else - -- return false - --end + else + return false + end end }) @@ -111,4 +114,19 @@ levels["vella"]={ function() balloon.show("NO VAN ELS COMPS\nESTAN TOTS ACTUALITZANT",2,"jailer",true,{x=1,w=15,h=2}) end }) end, + + bocata_action=function() + --local hero = actors.search(actors.main.name) + --if hero.o~="u" and hero.o~="r" then return end + if flags.caixer_visitat==2 then + scene.start({ + function() actors.remove("bocata") scene.cont() end, + function() objects.collect("bocata") end, + }) + else + scene.start({ + function() balloon.show("NO TE ACERQUES A\nMI BOCATA, MONGOLO",3,"imbesil",false,{x=5,w=12,h=2}) end, + }) + end + end, } \ No newline at end of file diff --git a/data/objects.gif b/data/objects.gif index 596e9c82f762dff5be474c6e79533dd2dd024c7a..63a508bb033422fdc92a66a621b439e4525ee71b 100644 GIT binary patch delta 463 zcmV;=0Wkj42Z{)=?*V_!lC7`Og0Zul*0F-R2fUo!+l0cy#D>Sb$;yQS0uBn#?#;xp z@YAo=w42zJ+Pl4*-?|8mb1*8JpkwGPsawYofU|hSpcSk4=w7XCx%&AEC}@}{f(0i6 zK$uWn0EQ^n5mEqB;y#KM=gFMMZ=21VgN6|VNsf>?UIh>UO*emN-N}gr~su)L%M{@Na_It2LCL*ja&7=)vQ~28vGfw zZ_uztk&Zoyc4f;+x7aFj3l}R~y6~*l>V$V-S7TQJqa1t|5mU7f6&GUsxG{pdcMs&W z91=6o*MEzqG}?dJ^Jh{RMUSpD_wgmvQ?qL2DygT>%(7>%D}2bQTHS_ZIX2MS5`@S> zC!15fI`30+LSYjHpqwG|=9Df&Upjp{WPYg&c{hbTdCK!q(?6iM9)Q%Tz$GMHN39`J zpJoFjh~Hu__2=M&5Jo8BgcMe2;e{AxsNsejcIe@UAcm7{12h3=lc57FJ?5Km#wq8V zbk=F-op|P{=bn7_>F1w-1}f;FgcfS(p@=4`=%S1^>gc18Mk?u~lvZl#rI==_X^?>c F06WTC<6{5- delta 408 zcmV;J0cZY-2-63!?*V_W&yBIOoYS#_x(B?R+Sr7`!^DQiyvfRi0s;;S&FawZi_)~4 z)s)w}y_?*+gy0UNt(wYRI)|XSVq3{_&@g`%!x0+Cs{n$U90j5K_z~m)k|Zf@M38?{*HDQ7z>#{15r9U4 zgbD_j>apripbCW^Fkrya)~-bl96jK&A5&vD$=M_qb!X41AOEjneW#Txg0EoLJw#Be z6H=uy0XiMp79?B&a_73M%eAqkuw%=jjc!Dmbg3knl{aP% ziI_882zR;SwFG}5w9UTb$V%?lbnx2CHdlvC?AjIM*mfb0*1a2bYN*1|5ibs_(njS1 zNl(0(h_Io81HweTUr1RK*^R|$(VcuF|5ai!NVK8>CCos%7PUd@}kRh3}8V5B};!&l_sYiO(F%!oQ6=A zEZB@|GHG<}42dUK3?v6{v6>4H@XZ8zr5B5>*${K0Mw5otZz;6SN~fRYY|xGLk$++fm^TBma$5jhg=VOk)HMT|r*&63f=B3f5j}>`P*j?ywimIA#MS}< zC{ZF@0@-8*Mq7WJAvOayh%i8scWLO;JpFo5%5^7ApvbwLM7z1VF?|OBF(~(Z^2eHK zJ9_`chSM7ZpSYK0bp_P($w;D;)v~ZqU|rOthn}Wo7YMDO2{Y9~?J>-kes}v7?CaGB z$}`|cd>0*jcTLtjs*2W(Hsp(Tda$7Vsn#9lvQvg6DOkNP57Iwd z#UMaEp=o~+-Q2kCr_|ks(k*s#T;1p$i8MRj}tVyqF=?NK4)GHLyx?a=dgQkq*mq{)NNu^Z72d&0F zi?iAj$G%jIfmELd?aDrUYtrn=;#aFdFphs231qxJ+)h!qQebt*)g-{gGA#pwSAf$s zfZ@$o$X>d1)#=-cS~5QELcXo^&M@4*?S7@yUm=_dJlx<{f5QbEzP_JwZSYmy(XQv6 zNp99aB5NA!=0a4kg1mPw5P;|)@WYAMp`M>sO4nlW*4!8Jg9@ST2Y)M{*ak|WFYkYS z5o*4NO{M}!*t~9kialJ}XJ(VFevd8LeEq-rOJ9!To(0TaM$f-RKRlWq+p>+N@&t_X zr(N|$9l;eG+E8!7R^Ro5KBZFb+gohHUSIYt9Nk>WW6&*PX5aR&I>la-_J0|uXYKZO zzol@gG|6tf3HZorI>;V;_kwSpsXTvc#*Qwu$le7`YlGkTNqP&z=4Aob_W>8nqYT@Q zpZP~h=23~xXWsb+_xS_8keXlmDQ00$-E{K&&IujFrvLhzPta$`>7PFPR1f>O|DxwN z(+LlD#13}7pZmh!UpGDBR#5H-DAk0A{KMb;!V4S5?|H%hXYM|GTb=XHpZzGGmewM_ mgCws6Ca?YCzgY$?4l@QHg_R#!1SpNu3rN-YZu z71jSXEobOyT6VF|3YsuPJ<}e;eCc<$U%|dleV{x8e#D2+!H3pWZJw&=%xFWtXr~7Y z+MioJ19J^s6m@|2C)6A&0|@BX$H&(*kf3dyVggJ$`%8a;_4R=jZNQ~qq>UZfk6nR| zec09Pqa^IW4XoKQ$l39mh9r1iH;SYOT%2`l(OF!l>({xeEz5IyVQMnXK2~6F+=ZnZ z+fXfrT#VWvJclb>y#EQ@tF2f+x%)0?j3&cT}`pn4xCsO2h9?rETeTuQxg6~j(lizdTDf;!DPY2 ze%#5YD&n`g9m9p`LhJ&lg|G9hv7ty@Q{yvV zK9csTl33!A^vuo54bV15li29yvqzIQ?G+Pc0NeD0cb?}kx92&AO)kLaIH)dPA?Qm& zl-+;BmwwuU`kY=d_vaVQ-7x;DqEVVu^NJ&_8|Q-QmJU&b8K%54YBDg5rF@! zNv~27fYUXA(#==8Ub=Mk=-b-mdsOT+zOClY zFwWlWezm!}A)E?4&EQvm!v!0#zMo@_??&y=uIHUQe$_xCYhaGAER?c>ymwsgC-gp? zX+7!rX{BW?24Ky75IZ+= zgI(4CtH1Q+IPO`%>~-_}YxBdy=%PK^SW3VdkJ&~q-4win7A)C8fAmg|(cdlR+UP=f zbDT;~fA!QX++4|H!7XA~|Mi4A#a^@Ze;KG)4fbfCq;RP;yKcM*_{eHH$R3>bbPuPe zJZrc<^|BcE5N_Ia|Mz=n<6ahUZy$efuN=yu4fu-RUs3+fz?|h#>CKRD&kMQumakeC z2GmW5&iy=->3sR1uUfSB+KwLS{#^8-pZZV=@E5c1U}x)K=lZHY`+AJh1a1Y_et<(w zc)3sez7INIar>Sp`+o-Rv&Ymb|NFn+85DopZLnZ{C_R;EN}fWAMz0XKK