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 596e9c8..63a508b 100644 Binary files a/data/objects.gif and b/data/objects.gif differ diff --git a/data/objects.lua b/data/objects.lua index 421d12b..e5ae342 100644 --- a/data/objects.lua +++ b/data/objects.lua @@ -40,4 +40,5 @@ object={ moneda2={name="ALTRA MONEDA",x=32,y=0}, apuntes={name="APUNTES",x=48,y=0}, rosquilletes={name="ROSQUILLETES",x=64,y=0}, + bocata={name="BOCATA SOBRASADA PATA",x=80,y=0}, } \ No newline at end of file diff --git a/data/scene.lua b/data/scene.lua index fdb5f07..9025448 100644 --- a/data/scene.lua +++ b/data/scene.lua @@ -18,5 +18,10 @@ scene={ return end scene.script[scene.pos]() + end, + + abort=function() + scene.script=nil + scene.pos=0 end } \ No newline at end of file diff --git a/data/sprites.gif b/data/sprites.gif index 17dbf7e..d3f7583 100644 Binary files a/data/sprites.gif and b/data/sprites.gif differ