[WIP] S1 Ending. Segon troçet fet
This commit is contained in:
@@ -356,4 +356,50 @@ function elalien.update_stairs()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function elalien.backup()
|
||||||
|
-- Guardar l'estat de elalien
|
||||||
|
elalien.from_hab = elalien.hab
|
||||||
|
elalien.from_x = elalien.x
|
||||||
|
elalien.from_y = elalien.y
|
||||||
|
elalien.from_update = elalien.update
|
||||||
|
end
|
||||||
|
|
||||||
|
function elalien.restore()
|
||||||
|
-- Restaurar a elalien
|
||||||
|
elalien.hab = elalien.from_hab
|
||||||
|
elalien.x = elalien.from_x
|
||||||
|
elalien.y = elalien.from_y
|
||||||
|
elalien.update = elalien.from_update
|
||||||
|
end
|
||||||
|
|
||||||
|
function elalien.stage1_ending_init()
|
||||||
|
-- if elalien.update==premiere_update_healer then return true end
|
||||||
|
elalien.backup()
|
||||||
|
-- Moure a elalien al ending
|
||||||
|
elalien.hab = 9
|
||||||
|
elalien.x = 0
|
||||||
|
elalien.y = 3
|
||||||
|
local world_x, world_y = coords.room_to_world(elalien.hab,elalien.x,elalien.y)
|
||||||
|
elalien.x=world_x
|
||||||
|
elalien.y=world_y
|
||||||
|
elalien.update = elalien.stage1_ending_update
|
||||||
|
end
|
||||||
|
|
||||||
|
function elalien.stage1_ending_update()
|
||||||
|
elalien.wait=elalien.wait+1
|
||||||
|
|
||||||
|
-- avançar a 8,1,3
|
||||||
|
local hab, tx, ty = coords.world_to_tile(elalien.x, elalien.y)
|
||||||
|
if hab == 8 and tx==6 and ty==3 then
|
||||||
|
-- premiere.health_wait = premiere.health_wait - 1
|
||||||
|
else
|
||||||
|
elalien.x = elalien.x-1
|
||||||
|
if elalien.wait>=6 then
|
||||||
|
elalien.wait = 0
|
||||||
|
elalien.step=(elalien.step+1)%4
|
||||||
|
elalien.frame=elalien.anim[elalien.step+1]
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
@@ -236,3 +236,94 @@ function premiere.update_falling()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function 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
|
||||||
|
premiere.restore()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function premiere.backup()
|
||||||
|
-- Guardar l'estat de Premiere
|
||||||
|
premiere.from_hab = premiere.hab
|
||||||
|
premiere.from_x = premiere.x
|
||||||
|
premiere.from_y = premiere.y
|
||||||
|
premiere.from_update = premiere.update
|
||||||
|
end
|
||||||
|
|
||||||
|
function premiere.restore()
|
||||||
|
-- Restaurar a Premiere
|
||||||
|
premiere.hab = premiere.from_hab
|
||||||
|
premiere.x = premiere.from_x
|
||||||
|
premiere.y = premiere.from_y
|
||||||
|
premiere.update = premiere.from_update
|
||||||
|
end
|
||||||
|
|
||||||
|
function premiere.stage1_ending_init()
|
||||||
|
-- if premiere.update==premiere_update_healer then return true end
|
||||||
|
premiere.backup()
|
||||||
|
-- Moure a premiere al ending
|
||||||
|
premiere.hab = 7
|
||||||
|
premiere.x = 6
|
||||||
|
premiere.y = 3
|
||||||
|
local world_x, world_y = coords.room_to_world(premiere.hab,premiere.x,premiere.y)
|
||||||
|
premiere.x=world_x
|
||||||
|
premiere.y=world_y
|
||||||
|
premiere.update = premiere.stage1_ending_update
|
||||||
|
end
|
||||||
|
|
||||||
|
function premiere.stage1_ending_update()
|
||||||
|
premiere.wait=premiere.wait+1
|
||||||
|
|
||||||
|
-- avançar a 8,1,3
|
||||||
|
local hab, tx, ty = coords.world_to_tile(premiere.x, premiere.y)
|
||||||
|
if hab == 8 and tx==1 and ty==3 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
|
||||||
|
end
|
||||||
+1
-1
@@ -230,7 +230,7 @@ function stages.stage1_boss()
|
|||||||
trigger_event.new("Premiere Boss 1",
|
trigger_event.new("Premiere Boss 1",
|
||||||
trigger_ev.premiere_boss1_trigger,
|
trigger_ev.premiere_boss1_trigger,
|
||||||
trigger_ev.premiere_healer_init,
|
trigger_ev.premiere_healer_init,
|
||||||
trigger_ev.premiere_healer_update)
|
premiere.healer_update)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+28
-9
@@ -5,20 +5,39 @@ stage1_ending ={
|
|||||||
|
|
||||||
function stage1_ending:update_scene ()
|
function stage1_ending:update_scene ()
|
||||||
print("UPDATING "..self.time)
|
print("UPDATING "..self.time)
|
||||||
batvio.x = batvio.x - self.batvio_vx
|
|
||||||
if self.time>=120 then
|
|
||||||
flow:next()
|
|
||||||
end
|
|
||||||
self.time = self.time + 1
|
|
||||||
if self.time % 6 == 0 then
|
|
||||||
self.batvio_vx= self.batvio_vx+1
|
|
||||||
end
|
|
||||||
batvio.update()
|
|
||||||
|
|
||||||
|
-- primera escena - batman escapa
|
||||||
|
if self.time<120 then
|
||||||
|
batvio.x = batvio.x - self.batvio_vx
|
||||||
|
if self.time % 6 == 0 then
|
||||||
|
self.batvio_vx= self.batvio_vx+1
|
||||||
|
end
|
||||||
|
batvio.update()
|
||||||
|
elseif self.time==120 then
|
||||||
|
batvio.enabled = false
|
||||||
|
premiere.stage1_ending_init()
|
||||||
|
elalien.stage1_ending_init()
|
||||||
|
elseif self.time<250 then
|
||||||
|
premiere.update()
|
||||||
|
elalien.update()
|
||||||
|
-- segona escena - Aparició de elalien i premiere
|
||||||
|
-- elalien 9,0,3 -> 8,6,3
|
||||||
|
-- premiere 7,6,3 -> 8,1,3
|
||||||
|
elseif self.time<300 then
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
surf.target(0)
|
surf.target(0)
|
||||||
surf.cls(16)
|
surf.cls(16)
|
||||||
world_draw()
|
world_draw()
|
||||||
score.draw()
|
score.draw()
|
||||||
|
|
||||||
|
self.time = self.time + 1
|
||||||
|
|
||||||
|
-- Acabar ending
|
||||||
|
if self.time>=250 then
|
||||||
|
flow:next()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function stage1_ending:end_scene()
|
function stage1_ending:end_scene()
|
||||||
|
|||||||
Reference in New Issue
Block a user