From 00423dfd734d83e5fdf849a08a0fdbe2213646bd Mon Sep 17 00:00:00 2001 From: Raimon Zamora Date: Wed, 14 Feb 2024 14:34:28 +0100 Subject: [PATCH] - Moltes coses! --- data/actors.lua | 2 + data/game.lua | 5 +- data/m_arq.lua | 124 ++++++++++++++++++++++++++++++++++++++++++++--- data/m_jail1.lua | 35 +++++++++---- data/m_prac1.lua | 2 +- data/m_prac2.lua | 9 ++-- data/m_prac3.lua | 65 ++++++++++++++++++------- data/objects.gif | Bin 700 -> 788 bytes data/objects.lua | 12 ++++- data/sprites.gif | Bin 5370 -> 5451 bytes 10 files changed, 211 insertions(+), 43 deletions(-) diff --git a/data/actors.lua b/data/actors.lua index f4fe5dd..13b6c0f 100644 --- a/data/actors.lua +++ b/data/actors.lua @@ -48,6 +48,7 @@ actors={ draw=function() actors.under_cursor="" for i,v in ipairs(actors.list) do + if v.o=='' then goto continue end local frame=((v.dx+v.dy)%2)*16 local x,y = v.x, v.y if v.ox then x = x + v.ox end @@ -71,6 +72,7 @@ actors={ end if not btn(KEY_LSHIFT) then subpal() end + ::continue:: end end, diff --git a/data/game.lua b/data/game.lua index b60c4c0..a81655d 100644 --- a/data/game.lua +++ b/data/game.lua @@ -20,8 +20,8 @@ game={ restart=function() flags={} objects.list={} - actors.main={name="jailer",x=8,y=5,o="u",gfx={x=32,y=0},level="prac2"} - game.init("prac2") + actors.main={name="jailer",x=14,y=11,o="l",gfx={x=32,y=0},level="arq"} + game.init("arq") end, init=function(levelname,f,objs) @@ -140,6 +140,7 @@ game={ end setmap(mapa.surface) camera(0,0) + for i=0,15 do rectfill(20+i*4,0,20+i*4+4,4,i) end end, update=function() diff --git a/data/m_arq.lua b/data/m_arq.lua index 2ea1ee8..f24501a 100644 --- a/data/m_arq.lua +++ b/data/m_arq.lua @@ -2,8 +2,37 @@ levels["arq"]={ load=function() mapa.load("test.map") + actors.add({name="prohibit1",x=6,y=10,o="d",gfx={x=192,y=48},action=levels.arq.prohibit_action}) + actors.add({name="prohibit2",x=12,y=10,o="d",gfx={x=192,y=48},action=levels.arq.prohibit_action}) + + actors.add({name="tallat1",x=0,y=11,o="d",gfx={x=208,y=48},action=levels.arq.tallat_action}) + actors.add({name="tallat2",x=0,y=12,o="d",gfx={x=208,y=48},action=levels.arq.tallat_action}) + actors.add({name="tallat3",x=0,y=13,o="d",gfx={x=208,y=48},action=levels.arq.tallat_action}) + actors.add({name="estudiant1",x=18,y=11,o="r",gfx={x=0,y=48},action=levels.arq.estudiant1_action}) - actors.add({name="estudiant2",x=16,y=12,o="l",gfx={x=128,y=0}}) + actors.add({name="estudiant2",x=16,y=12,o="l",gfx={x=128,y=0},action=levels.arq.estudiant2_action}) + + actors.add({name="cartel_jail1_a",x=8,y=10,o="",action=levels.arq.cartel_jail1_action}) + actors.add({name="cartel_jail1_b",x=14,y=10,o="",action=levels.arq.cartel_jail1_action}) + actors.add({name="cartel_jail2",x=24,y=10,o="",action=levels.arq.cartel_jail2_action}) + actors.add({name="cartel_docjail",x=36,y=10,o="",action=levels.arq.cartel_docjail_action}) + + actors.add({name="cartel_aula3",x=10,y=24,o="",action=levels.arq.cartel_aula3_action}) + actors.add({name="cartel_aula2",x=22,y=24,o="",action=levels.arq.cartel_aula2_action}) + actors.add({name="cartel_aula1",x=34,y=24,o="",action=levels.arq.cartel_aula1_action}) + actors.add({name="cartel_repro",x=58,y=24,o="",action=levels.arq.cartel_repro_action}) + + actors.add({name="tablo_aula2",x=24,y=24,o="",action=levels.arq.tablo_aula2_action}) + + if not flags.prac3 or not flags.prac2 or not flags.prac1 or flags.prac1~=2 then + actors.add({name="alutablo1",x=3,y=25,o="d",gfx={x=32,y=64}}) + actors.add({name="alutablo2",x=5,y=25,o="d",gfx={x=16,y=96},action=levels.arq.alutablo_action}) + actors.add({name="alutablo3",x=4,y=26,o="d",gfx={x=48,y=96}}) + actors.add({name="alutablo4",x=6,y=26,o="d",gfx={x=64,y=80},action=levels.arq.alutablo_action}) + actors.add({name="alutablo5",x=5,y=27,o="d",gfx={x=96,y=80},action=levels.arq.alutablo_action}) + actors.add({name="alutablo6",x=2,y=26,o="r",gfx={x=128,y=48}}) + actors.add({name="alutablo7",x=3,y=27,o="d",gfx={x=0,y=96}}) + end switches.add({x=32,y=25,w=1,h=1,action= function() @@ -97,12 +126,95 @@ levels["arq"]={ end, - estudiant1_action=function() - local hero = actors.search(actors.main.name) - --if hero.o~="d" then return end + prohibit_action=function() + if not flags.jail_tancada_llegit then + flags.jail_tancada_llegit=1 + scene.start({ + function() balloon.show("PERO QUÉ...",2,"jailer",false,{x=4,w=8,h=1}) end, + function() balloon.show("'JAIL CERRADA POR\nACTUALIZACIONES\n¡TU MISMO!'",2,"jailer",false,{x=2,w=10,h=3}) end, + function() balloon.show("AÇÒ ES COSA D'USUFONDO!\nSERÀ MAMÓ!",2,"jailer",false,{x=2,w=14,h=2}) end, + function() balloon.show("HE DE TROBAR LA\nFORMA D'ACONSEGUIR\nEL MEU DISKITO...",2,"jailer",false,{x=2,w=11,h=3}) end, + }) + else + scene.start({ + function() balloon.show("LA JAIL 1\nCONTINUA TANCADA...",2,"jailer",false,{x=4,w=12,h=2}) end, + }) + end + end, + + tallat_action=function() scene.start({ - --function() actors.face("estudiant1", "jailer") scene.cont() end, - function() balloon.show("ME MOLA MIRAR LA\nBARRA DE PROGRÉS...",12,"estudiant1",false,{x=1,w=12,h=2}) end + function() balloon.show("NO ES POT PASSAR.\nACABEN DE FREGAR\nEL PISO",2,"jailer",false,{x=1,w=10,h=3}) end + }) + end, + + estudiant1_action=function() + scene.start({ + function() balloon.show("SI VOLS ENTRAR A LA JAIL 1\nTINDRÀS QUE TROBAR LA FORMA\nDE TRAURE A USUFONDO DE AHÍ",12,"estudiant1",false,{x=2,w=16,h=3}) end, + function() balloon.show("ELL ÉS EL TÈCNIC, NO?\nPOTSER SI ALGUNA COSA\nS'ESTROPEARA...",12,"estudiant1",false,{x=4,w=12,h=3}) end, + }) + end, + + estudiant2_action=function() + scene.start({ + function() actors.face("estudiant2", "jailer") scene.cont() end, + function() balloon.show("VAJA MERDA!\nARA TINDRÉ QUE ANAR A\nLES PRÀCTIQUES DE CMC",12,"estudiant2",false,{x=2,w=13,h=3}) end, + function() balloon.show("SI NO SÉ NI EN\nQUINA AULA SON!",12,"estudiant2",false,{x=5,w=10,h=2}) end, + }) + end, + + alutablo_action=function() + scene.start({ + function() balloon.show("OSTI, ESTÀ PETAT!",2,"jailer",false,{x=2,w=11,h=1}) end, + function() balloon.show("MILLOR ESPERE\nUN RATO A QUE\nSE BUIDE...",2,"jailer",false,{x=3,w=9,h=3}) end, + }) + end, + + cartel_jail1_action=function() + scene.start({ + function() balloon.show("-----------\n JAIL 1\n-----------",2,"jailer",false,{x=6,w=8,h=3}) end, + }) + end, + + cartel_jail2_action=function() + scene.start({ + function() balloon.show("-----------\n JAIL 2\n-----------",2,"jailer",false,{x=6,w=8,h=3}) end, + }) + end, + + cartel_docjail_action=function() + scene.start({ + function() balloon.show("-----------\n DOC JAIL\n-----------",2,"jailer",false,{x=6,w=8,h=3}) end, + }) + end, + + cartel_aula3_action=function() + scene.start({ + function() balloon.show(" AULA 3\n-----------\nPRÀCTIQUES",2,"jailer",false,{x=6,w=8,h=3}) end, + }) + end, + + cartel_aula2_action=function() + scene.start({ + function() balloon.show(" AULA 2\n-----------\nPRÀCTIQUES",2,"jailer",false,{x=6,w=8,h=3}) end, + }) + end, + + cartel_aula1_action=function() + scene.start({ + function() balloon.show(" AULA 1\n-----------\nPRÀCTIQUES",2,"jailer",false,{x=6,w=8,h=3}) end, + }) + end, + + cartel_repro_action=function() + scene.start({ + function() balloon.show("-----------\nREPROGRAFIA\n-----------",2,"jailer",false,{x=6,w=8,h=3}) end, + }) + end, + + tablo_aula2_action=function() + scene.start({ + function() balloon.show("'...BUSCO COMPAÑERO DE PISO\nPREFERIBLEMENTE GATO...'",2,"jailer",false,{x=1,w=16,h=2}) end, }) end, diff --git a/data/m_jail1.lua b/data/m_jail1.lua index 4c1297b..b9efb91 100644 --- a/data/m_jail1.lua +++ b/data/m_jail1.lua @@ -125,20 +125,35 @@ levels["jail1"]={ local hero = actors.search(actors.main.name) --if hero.o~="d" then return end scene.start({ - function() balloon.show("ME MOLA MIRAR LA\nBARRA DE PROGRÉS...",12,"estudiant",true,{x=1,w=12,h=2}) end + function() balloon.show("EIXE COMP NO ESTÀ\nACTUALITZANT-SE?",2,"jailer",true,{x=4,w=11,h=2}) end, + function() balloon.show("SI...\nPERO...",12,"estudiant",true,{x=7,w=6,h=2}) end, + function() balloon.show("ME MOLA MIRAR LA\nBARRA DE PROGRÉS...",12,"estudiant",true,{x=4,w=12,h=2}) end }) end, knunk_action=function() - local hero = actors.search(actors.main.name) - --if hero.o~="d" then return end - scene.start({ - function() balloon.show("EI KNUNK!",2,"jailer",true,{x=10,w=7,h=1}) end, - function() balloon.show("EIXE COMP NO\nESTÀ ACTUALITZANT-SE?",2,"jailer",true,{x=4,w=13,h=2}) end, - function() balloon.show("JO PASSE...",12,"knunk",true,{x=10,w=8,h=1}) end, - function() balloon.show("A TRAVÉS D'UN BUG EN LA BARRA\nDE PROGRÉS HE OBERT UN TUNEL\nSSH A UN SERVIDOR DE KAZAJSTÀN",12,"knunk",true,{x=1,w=17,h=3}) end, - function() balloon.show(" ...",2,"jailer",true,{x=10,w=7,h=1}) end, - }) + --local hero = actors.search(actors.main.name) + if not objects.collected("diskito_knunk") then + scene.start({ + function() balloon.show("EI KNUNK!",2,"jailer",true,{x=10,w=7,h=1}) end, + function() balloon.show("EIXE COMP NO ESTÀ\nACTUALITZANT-SE?",2,"jailer",true,{x=6,w=11,h=2}) end, + function() balloon.show("JO PASSE...",12,"knunk",true,{x=10,w=8,h=1}) end, + function() balloon.show("A TRAVÉS D'UN BUG EN LA BARRA\nDE PROGRÉS HE OBERT UN TUNEL\nSSH A UN SERVIDOR DE KAZAJSTÀN",12,"knunk",true,{x=1,w=17,h=3}) end, + function() balloon.show(" ...",2,"jailer",true,{x=10,w=7,h=1}) end, + function() balloon.show("OSTI, QUÉ ÉS AIXÓ?",2,"jailer",true,{x=8,w=11,h=1}) end, + function() balloon.show("HE FET UN DISQUET\nQUE PETA QUALSEVOL COMP",12,"knunk",true,{x=4,w=14,h=2}) end, + function() balloon.show("¿VOLS TESTECHARLO?",12,"knunk",true,{x=7,w=12,h=1}) end, + function() balloon.show("CLAR!",2,"jailer",true,{x=12,w=5,h=1}) end, + function() objects.collect("diskito_knunk") end + }) + else + scene.start({ + function() balloon.show("EI KNUNK!",2,"jailer",true,{x=10,w=7,h=1}) end, + function() balloon.show("EN QUÉ ESTAS ARA?",2,"jailer",true,{x=8,w=11,h=1}) end, + function() balloon.show("HE FET UN CONTADOR DE VISITES\nQUE NUKETJA EL COMP DEL QUE\nENTRA EN LA PACHINA WEB",12,"knunk",true,{x=1,w=17,h=3}) end, + function() balloon.show("QUE MEN...",2,"jailer",true,{x=10,w=7,h=1}) end, + }) + end end, comp_usufondo_action=function() diff --git a/data/m_prac1.lua b/data/m_prac1.lua index 751c2e1..e74e973 100644 --- a/data/m_prac1.lua +++ b/data/m_prac1.lua @@ -52,7 +52,7 @@ levels["prac1"]={ switches.add({x=4,y=14,w=10,h=1,action= function() - flags.prac1=1 + --flags.prac1=1 if not flags.prac1 then flags.prac1=1 scene.start({ diff --git a/data/m_prac2.lua b/data/m_prac2.lua index 888ea40..8b70bc0 100644 --- a/data/m_prac2.lua +++ b/data/m_prac2.lua @@ -68,13 +68,14 @@ levels["prac2"]={ end, profe_action=function() - local hero = actors.search(actors.main.name) + flags.prac2=1 scene.start({ function() actors.face("profe","jailer") scene.cont() end, - function() balloon.show("¿QUÉ NECESITA,\nCABALLERETE?",2,"profe",true,{x=6,w=9,h=2}) end, - function() balloon.show("TENGO MUCHO TRABAJO...\n¡ESTOS EXMANEMS\nNO SE CORRIGEN SÓLOS!",2,"profe",true,{x=2,w=15,h=3}) end, + function() balloon.show("¿QUÉ NECESITA,\nCABALLERETE?",12,"profe",true,{x=6,w=9,h=2}) end, + function() balloon.show("PUES YO...",2,"jailer",true,{x=5,w=7,h=1}) end, + function() balloon.show("TENGO MUCHO TRABAJO...\n¡ESTOS EXMANEMS\nNO SE CORRIGEN SÓLOS!",12,"profe",true,{x=2,w=15,h=3}) end, function() actors.search("profe").o="d" scene.cont() end, - function() balloon.show("NO PUEDO LEVANTARME\nNI PARA IR AL BAÑO...",2,"profe",true,{x=3,w=14,h=2}) end, + function() balloon.show("NO PUEDO LEVANTARME\nNI PARA IR AL BAÑO...",12,"profe",true,{x=3,w=14,h=2}) end, }) end, diff --git a/data/m_prac3.lua b/data/m_prac3.lua index cd6d0b2..4f90da1 100644 --- a/data/m_prac3.lua +++ b/data/m_prac3.lua @@ -2,7 +2,7 @@ levels["prac3"]={ load=function() mapa.load("prac3.map") - actors.add({name="profe",x=11,y=5,o="u",gfx={x=224,y=0}}) + actors.add({name="profe",x=11,y=5,o="u",gfx={x=224,y=0},action=levels.prac3.profe_action}) actors.add({name="comp_1_1",x=4,y=9,o="d",gfx={x=160,y=0},action=levels.prac3.comp_updating_action}) actors.add({name="comp_2_1",x=6,y=9,o="d",gfx={x=176,y=0},action=levels.prac3.comp_updating_action}) @@ -21,11 +21,11 @@ levels["prac3"]={ actors.add({name="comp_profe",x=6,y=6,o="d",gfx={x=96,y=0},action=levels.prac3.comp_profe_action}) actors.add({name="taula_profe",x=8,y=6,o="d",gfx={x=160,y=16}}) - actors.add({name="alumne1",x=12,y=14,o="d",gfx={x=32,y=64}}) - actors.add({name="alumne2",x=6,y=10,o="d",gfx={x=16,y=96}}) - actors.add({name="alumne3",x=4,y=12,o="d",gfx={x=96,y=64}}) - actors.add({name="alumne4",x=4,y=10,o="d",gfx={x=96,y=64}}) - actors.add({name="alumne5",x=14,y=12,o="d",gfx={x=64,y=64}}) + actors.add({name="alumne1",x=12,y=14,o="d",gfx={x=32,y=64},action=levels.prac3.alumne1_action}) + actors.add({name="alumne2",x=6,y=10,o="d",gfx={x=16,y=96},action=levels.prac3.alumne2_action}) + actors.add({name="alumne3",x=4,y=12,o="d",gfx={x=96,y=64},action=levels.prac3.alumne3_action}) + actors.add({name="alumne4",x=4,y=10,o="d",gfx={x=96,y=64},action=levels.prac3.alumne4_action}) + actors.add({name="alumne5",x=14,y=12,o="d",gfx={x=64,y=64},action=levels.prac3.alumne5_action}) --actors.add({name="taza_usufondo",x=14,y=15,o="d",gfx={x=112,y=32},action=levels.jail1.taza_usufondo_action}) --if not objects.search("diskito_usufondo") then actors.add({name="disquito_usufondo",x=15,y=10,o="d",gfx={x=96,y=32},action=levels.jail1.disquito_usufondo_action}) end @@ -54,7 +54,7 @@ levels["prac3"]={ local hero = actors.search(actors.main.name) if hero.o=="u" then scene.start({ - function() balloon.show("...COMO IBA DICIENDO...",12,"profe",true,{x=4,w=13,h=1}) end, + function() balloon.show("...COMO IBA DICIENDO...",12,"profe",true,{x=3,w=14,h=1}) end, function() balloon.show("...BLAH BLAH BLAH...",12,"profe",true,{x=4,w=13,h=1}) end }) return true @@ -68,9 +68,23 @@ levels["prac3"]={ comp_updating_action=function() local hero = actors.search(actors.main.name) - if hero.o~="d" then return end + if hero.o~="u" then return end scene.start({ - function() balloon.show("NO VAN ELS COMPS\nESTAN TOTS ACTUALITZANT",2,"jailer",true,{x=1,w=15,h=2}) end + function() balloon.show("SON COMPS DE PRÀCTIQUES\nESTAN MEGA CAPATS",2,"jailer",false,{x=1,w=15,h=2}) end + }) + end, + + profe_action=function() + local hero = actors.search(actors.main.name) + flags.prac3=1 + scene.start({ + function() actors.face("profe","jailer") scene.cont() end, + function() balloon.show("EI PERDONA...\nNO TE FUNCIONA\nEL COMP...",2,"jailer",true,{x=5,w=9,h=3}) end, + function() balloon.show("NO DEURIES AVISAR\nA USUFONDO?",2,"jailer",true,{x=4,w=11,h=2}) end, + function() balloon.show("NO PASA NADA,\nNO ME HACE FALTA.",12,"profe",true,{x=6,w=11,h=2}) end, + function() balloon.show("ESTA PRÁCTICA ES\nBASTANTE TEÓRICA.",12,"profe",true,{x=6,w=11,h=2}) end, + function() actors.search("profe").o="u" scene.cont() end, + function() balloon.show("MECACHIS...",2,"jailer",true,{x=5,w=8,h=1}) end, }) end, @@ -78,25 +92,40 @@ levels["prac3"]={ local hero = actors.search(actors.main.name) if hero.o~="d" then return end scene.start({ - function() balloon.show("PAREIX QUE NO FUNCIONA...",2,"jailer",true,{x=1,w=13,h=1}) end + function() balloon.show("PAREIX QUE NO\nFUNCIONA...",2,"jailer",true,{x=3,w=9,h=2}) end }) end, - taza_usufondo_action=function() + alumne1_action=function() local hero = actors.search(actors.main.name) - if hero.o~="d" then return end scene.start({ - function() balloon.show("EL CAFÉ DE USUFONDO.\nESTÀ GELAT COM EL COR DEL DIMONI!",2,"jailer",true,{x=1,w=15,h=2}) end + function() balloon.show("ESTIC FENT UNA\nPÀGINA WEB!",12,"alumne1",false,{x=6,w=9,h=2}) end, + function() balloon.show("WWW.GEOCITIES.COM/PAQUITO",12,"alumne1",false,{x=3,w=15,h=1}) end, + function() balloon.show("VAIG A FICAR ESTE\nCONTADOR DE VISITES QUE\nM'HA PROGRAMAT KNUNK...",12,"alumne1",false,{x=3,w=15,h=3}) end, + function() balloon.show("...",2,"jailer",false,{x=8,w=4,h=1}) end, }) end, - disquito_usufondo_action=function() + alumne2_action=function() local hero = actors.search(actors.main.name) - --if hero.o~="d" then return end scene.start({ - function() balloon.show("NO ÉS EL MEU DISQUITO,\nPERÒ ME'L QUEDE!\nIGUAL ES IMPORTANT",2,"jailer",true,{x=1,w=15,h=3}) end, - function() actors.remove("disquito_usufondo") scene.cont() end, - function() objects.collect("diskito_usufondo") scene.cont() end, + function() balloon.show("ALFIL A C4...",12,"alumne2",true,{x=6,w=9,h=1}) end, + function() balloon.show("APERTURA DE ALFIL...\nINTERESANTE...",15,"alumne4",false,{x=3,w=12,h=2}) end, + }) + end, + + alumne3_action=function() + local hero = actors.search(actors.main.name) + scene.start({ + function() balloon.show("SSHHH!!",12,"alumne3",false,{x=1,w=6,h=1}) end, + function() balloon.show("ESTOY ATENDIENDO...",12,"alumne3",false,{x=1,w=12,h=1}) end, + }) + end, + + alumne5_action=function() + local hero = actors.search(actors.main.name) + scene.start({ + function() balloon.show("ZZZ...",12,"alumne5",false,{x=11,w=5,h=1}) end, }) end, diff --git a/data/objects.gif b/data/objects.gif index 77a8c6925f7db910757447ca1ad165312608f0b1..7046e615d7a895db353435d696f1f15b5926ad18 100644 GIT binary patch delta 318 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