From fbba9a6987dadd766cf6aa17023033d5088bbb40 Mon Sep 17 00:00:00 2001 From: JailGamer Date: Sun, 10 May 2026 16:11:32 +0200 Subject: [PATCH] =?UTF-8?q?[FIX]=20Col=C2=B7lisi=C3=B3=20en=20el=20peu=20[?= =?UTF-8?q?FIX]=20Canviada=20dialeg.run=20a=20dialeg.show=20[NEW]=20Afegit?= =?UTF-8?q?=20dialeg.add?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/abad.lua | 2 +- data/dialeg.lua | 21 +++++++-- data/elalien.lua | 1 + data/pattern.lua | 2 +- data/peu.lua | 5 ++- data/premiere.lua | 20 ++++----- data/stage1_ending.lua | 6 +-- data/trigger.lua | 2 +- data/trigger_event.lua | 96 +++++++++++++++++++++--------------------- 9 files changed, 87 insertions(+), 68 deletions(-) diff --git a/data/abad.lua b/data/abad.lua index 5c772d3..095727a 100644 --- a/data/abad.lua +++ b/data/abad.lua @@ -38,7 +38,7 @@ function abad_init() respawning=0, hab=10, vides=3, - energia=6, + energia=3, max_energia=6, falling=0, step=0, diff --git a/data/dialeg.lua b/data/dialeg.lua index f73cfaf..10a2b4e 100644 --- a/data/dialeg.lua +++ b/data/dialeg.lua @@ -47,11 +47,23 @@ function dialeg.draw_globo(x, y, w, h, flip, text) font.current(font_curr) end -function dialeg.run(_x, _y, _w, flip, text, always_visible) - local w = math.floor(4.6*#text) - local h = 20 +function dialeg.add(_actor, _text, _time) + local _w = math.floor(4.6*#_text) + table.insert( + dialeg.list, + { actor= _actor, + text = _text, + time = _time, + w = _w, + h = 20, + } + ) +end + +function dialeg.show(_x, _y, _w, flip, text, always_visible) local x = 0 local y = 0 + y = _y-20 if flip then x = _x-w @@ -63,6 +75,9 @@ function dialeg.run(_x, _y, _w, flip, text, always_visible) if x<0 then x=0 end if y<0 then y=0 end end + + local w = math.floor(4.6*#text) + local h = 20 dialeg.draw_globo(x, y, w, h, flip, text) end diff --git a/data/elalien.lua b/data/elalien.lua index 1e2e3e2..aad700f 100644 --- a/data/elalien.lua +++ b/data/elalien.lua @@ -385,6 +385,7 @@ function elalien.stage1_ending_init() elalien.hab = 9 elalien.x = 0 elalien.y = 3 + elalien.flip=true local world_x, world_y = coords.room_to_world(elalien.hab,elalien.x,elalien.y) elalien.x=world_x elalien.y=world_y diff --git a/data/pattern.lua b/data/pattern.lua index 94b33be..afc60b3 100644 --- a/data/pattern.lua +++ b/data/pattern.lua @@ -49,7 +49,7 @@ function pattern:noop() end function pattern:draw() - -- if true then return end + if true then return end local scr_x = 0 local scr_y = 0 local target = self:target() diff --git a/data/peu.lua b/data/peu.lua index c95e67c..1f0971b 100644 --- a/data/peu.lua +++ b/data/peu.lua @@ -7,7 +7,7 @@ ch = arcade_config.character_height peu_gif_col = 7 peu_gif_row = 2 -peu={name="peu",hab=5,x=6,y=3,w=32,h=32,bb={x=0,y=12,w=32,h=20}} +peu={name="peu",hab=5,x=6,y=3,w=32,h=32,bb={x=4,y=12,w=26,h=20}} function peu.init() -- local habs={{18,8},{16,2},{16,7},{15,5},{27,1},{27,10},{29,2},{38,8},{69,2},{79,3}} @@ -35,6 +35,9 @@ function peu.draw() local y = peu_gif_row*ch local scr_x, scr_y = viewp:screen_coords( peu.x, peu.y ) draw.surf(x,y,peu.w,peu.h,scr_x,scr_y,peu.w,peu.h) + + -- bb debug + draw.rect(scr_x+peu.bb.x,scr_y+peu.bb.y,peu.bb.w,peu.bb.h,3) end function peu.update() diff --git a/data/premiere.lua b/data/premiere.lua index 6421226..c923158 100644 --- a/data/premiere.lua +++ b/data/premiere.lua @@ -256,16 +256,16 @@ function premiere.healer_update() local hab, tx, ty = coords.world_to_tile(premiere.x, premiere.y) if hab == 55 and tx==0 and ty==3 and premiere.health_wait==100 then -- 55 (0,3) - local _text = "Tenne! Io t'achudo. Figo!"; - table.insert( - dialeg.list, - { actor=premiere, - text=_text, - time=200, - w = math.floor(4.6*#_text), - h = 20, - } - ) + dialeg.add(premiere, "Tenne! Io t'achudo. Figo!", 200) + -- table.insert( + -- dialeg.list, + -- { actor=premiere, + -- text=_text, + -- time=200, + -- w = math.floor(4.6*#_text), + -- h = 20, + -- } + -- ) premiere.health_wait = premiere.health_wait - 1 table.insert( actors, health_potion.new( premiere.hab, diff --git a/data/stage1_ending.lua b/data/stage1_ending.lua index 45ada9e..beebdb9 100644 --- a/data/stage1_ending.lua +++ b/data/stage1_ending.lua @@ -7,7 +7,7 @@ stage1_ending ={ } function stage1_ending.update_scene(self) - print("UPDATING "..self.time) + -- print("UPDATING "..self.time) if self.time==0 then start_scene(scenes.stage1_ending, nil, false) @@ -64,12 +64,12 @@ function stage1_ending.update_scene(self) -- dialegs draw if self.time>201 and self.time<300 then -- bocadillo quinta escena (1) - dialeg.run(premiere.x, premiere.y, + dialeg.show(premiere.x, premiere.y, premiere.w, false, "Volare uoh oh...", true) elseif self.time>=300 and self.time<400 then -- bocadillo quinta escena (2) - dialeg.run(premiere.x, premiere.y, + dialeg.show(premiere.x, premiere.y, premiere.w, false, "Cantare uoh oh oh oh...", true) end diff --git a/data/trigger.lua b/data/trigger.lua index 49f0d8e..b92cc1b 100644 --- a/data/trigger.lua +++ b/data/trigger.lua @@ -64,7 +64,7 @@ function trigger:draw() end -- debug rect - draw.rect(scr_x,scr_y,self.bb.w,self.bb.h,3) + -- draw.rect(scr_x,scr_y,self.bb.w,self.bb.h,3) end --function trigger:do_touched() diff --git a/data/trigger_event.lua b/data/trigger_event.lua index 7982581..a5cca9b 100644 --- a/data/trigger_event.lua +++ b/data/trigger_event.lua @@ -76,54 +76,54 @@ function trigger_ev:premiere_healer_init() trigger_event.disable(self.name) end -function trigger_ev:premiere_healer_update() - premiere.wait=premiere.wait+1 - - -- Esperar mentres dona la vida - if premiere.health_wait>0 and premiere.health_wait<100 then - premiere.health_wait = premiere.health_wait - 1 - else - premiere.x = premiere.x+1 - if premiere.wait>=6 then - premiere.wait = 0 - premiere.step=(premiere.step+1)%4 - premiere.frame=premiere.anim[premiere.step+1] - end - end - - -- Lloc de pausa - local hab, tx, ty = coords.world_to_tile(premiere.x, premiere.y) - if hab == 55 and tx==0 and ty==3 and premiere.health_wait==100 then - -- 55 (0,3) - local _text = "Tenne! Io t'achudo. Figo!"; - table.insert( - dialeg.list, - { actor=premiere, - text=_text, - time=200, - w = math.floor(4.6*#_text), - h = 20, - } - ) - premiere.health_wait = premiere.health_wait - 1 - table.insert( actors, health_potion.new( - premiere.hab, - premiere.x+premiere.bb.x+premiere.bb.w, - premiere.y+premiere.bb.y+premiere.bb.h/3, - 1, 24, 3) - ) - -- health_potion.init(premiere.hab, - -- premiere.x+premiere.bb.x+premiere.bb.w, - -- premiere.y+premiere.bb.y+premiere.bb.h/3, - -- 1, 24, 2) - elseif hab >= 56 then - -- Restaurar a Premiere - premiere.hab = premiere.from_hab - premiere.x = premiere.from_x - premiere.y = premiere.from_y - premiere.update = premiere.from_update - end -end +-- function trigger_ev:premiere_healer_update() +-- premiere.wait=premiere.wait+1 +-- +-- -- Esperar mentres dona la vida +-- if premiere.health_wait>0 and premiere.health_wait<100 then +-- premiere.health_wait = premiere.health_wait - 1 +-- else +-- premiere.x = premiere.x+1 +-- if premiere.wait>=6 then +-- premiere.wait = 0 +-- premiere.step=(premiere.step+1)%4 +-- premiere.frame=premiere.anim[premiere.step+1] +-- end +-- end +-- +-- -- Lloc de pausa +-- local hab, tx, ty = coords.world_to_tile(premiere.x, premiere.y) +-- if hab == 55 and tx==0 and ty==3 and premiere.health_wait==100 then +-- -- 55 (0,3) +-- local _text = "Tenne! Io t'achudo. Figo!"; +-- table.insert( +-- dialeg.list, +-- { actor=premiere, +-- text=_text, +-- time=200, +-- w = math.floor(4.6*#_text), +-- h = 20, +-- } +-- ) +-- premiere.health_wait = premiere.health_wait - 1 +-- table.insert( actors, health_potion.new( +-- premiere.hab, +-- premiere.x+premiere.bb.x+premiere.bb.w, +-- premiere.y+premiere.bb.y+premiere.bb.h/3, +-- 1, 24, 3) +-- ) +-- -- health_potion.init(premiere.hab, +-- -- premiere.x+premiere.bb.x+premiere.bb.w, +-- -- premiere.y+premiere.bb.y+premiere.bb.h/3, +-- -- 1, 24, 2) +-- elseif hab >= 56 then +-- -- Restaurar a Premiere +-- premiere.hab = premiere.from_hab +-- premiere.x = premiere.from_x +-- premiere.y = premiere.from_y +-- premiere.update = premiere.from_update +-- end +-- end -- DIALEG GENERAL function trigger_ev:dialeg_trigger ()