[NEW] Afegit sistema de mood per a l'abad
This commit is contained in:
@@ -62,7 +62,8 @@ function abad_init()
|
|||||||
anim={0,1,0,2},
|
anim={0,1,0,2},
|
||||||
bb={x=8,y=0,w=16,h=32},
|
bb={x=8,y=0,w=16,h=32},
|
||||||
safe={hab=10,x=40,y=24},
|
safe={hab=10,x=40,y=24},
|
||||||
move=abad.move }
|
move=abad.move,
|
||||||
|
mood="normal"}
|
||||||
abad.update=abad_state_normal
|
abad.update=abad_state_normal
|
||||||
abad.objects={}
|
abad.objects={}
|
||||||
end
|
end
|
||||||
@@ -74,6 +75,25 @@ function abad:move( x, y )
|
|||||||
self.hab = hab
|
self.hab = hab
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function abad_add_mood(abad_x, spr_off_x, abad_y, spr_off_y, flip, mood)
|
||||||
|
flip = flip or false
|
||||||
|
mood = mood or "normal"
|
||||||
|
|
||||||
|
if flip then
|
||||||
|
abad_x = abad_x-15+4
|
||||||
|
end
|
||||||
|
|
||||||
|
if mood~="normal" then
|
||||||
|
if mood=="sorpresa" then
|
||||||
|
draw.surf(240,0,11,4,abad_x+16-spr_off_x,abad_y+5-spr_off_y,11,4,flip)
|
||||||
|
elseif mood=="enfadat" then
|
||||||
|
draw.surf(240,4,11,4,abad_x+16-spr_off_x,abad_y+5-spr_off_y,11,4,flip)
|
||||||
|
elseif mood=="interessant" then
|
||||||
|
draw.surf(240,8,11,4,abad_x+16-spr_off_x,abad_y+5-spr_off_y,11,4,flip)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function abad:draw()
|
function abad:draw()
|
||||||
local flip = abad.flip
|
local flip = abad.flip
|
||||||
local x, y = viewp:screen_coords(self.x, self.y)
|
local x, y = viewp:screen_coords(self.x, self.y)
|
||||||
@@ -87,6 +107,10 @@ function abad:draw()
|
|||||||
end
|
end
|
||||||
if (abad.respawning==0) or (math.floor(abad.respawning/15)%2==0) then
|
if (abad.respawning==0) or (math.floor(abad.respawning/15)%2==0) then
|
||||||
draw.surf(abad.frame*abad.w,0,abad.w,abad.h,x,y,abad.w,abad.h,flip)
|
draw.surf(abad.frame*abad.w,0,abad.w,abad.h,x,y,abad.w,abad.h,flip)
|
||||||
|
-- caminant, parat, disparant o saltant
|
||||||
|
if abad.frame<=3 or abad.frame==6 then
|
||||||
|
abad_add_mood(x,0,y,0,flip,abad.mood)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if abad.respawning > 0 then
|
if abad.respawning > 0 then
|
||||||
|
|||||||
@@ -19,9 +19,11 @@ function draw_escenari ()
|
|||||||
draw_item_intro("pas porta")
|
draw_item_intro("pas porta")
|
||||||
end
|
end
|
||||||
|
|
||||||
function draw_item_intro( name, flip )
|
function draw_item_intro( name, flip, mood )
|
||||||
if ( name == "abad" ) then
|
if ( name == "abad" ) then
|
||||||
|
-- abad.mood = mood or "normal"
|
||||||
draw.surf(abad.x, abad.y, abad.w, abad.h, abad.dx, abad.dy, abad.dw, abad.dh, flip)
|
draw.surf(abad.x, abad.y, abad.w, abad.h, abad.dx, abad.dy, abad.dw, abad.dh, flip)
|
||||||
|
abad_add_mood(abad.dx,0,abad.dy,0,flip,mood)
|
||||||
elseif (name == "batman" ) then
|
elseif (name == "batman" ) then
|
||||||
draw.surf(batman.x, batman.y, batman.w, batman.h, batman.dx, batman.dy, batman.dw, batman.dh, flip)
|
draw.surf(batman.x, batman.y, batman.w, batman.h, batman.dx, batman.dy, batman.dw, batman.dh, flip)
|
||||||
elseif (name == "cacaus" ) then
|
elseif (name == "cacaus" ) then
|
||||||
@@ -73,7 +75,7 @@ function intro_update()
|
|||||||
-- STEP 0
|
-- STEP 0
|
||||||
if intro_step==0 then
|
if intro_step==0 then
|
||||||
draw_escenari()
|
draw_escenari()
|
||||||
draw_item_intro("abad", true)
|
draw_item_intro("abad", false)
|
||||||
view.origin(0,0)
|
view.origin(0,0)
|
||||||
intro_step=intro_step+1
|
intro_step=intro_step+1
|
||||||
-- STEP 1
|
-- STEP 1
|
||||||
@@ -85,7 +87,7 @@ function intro_update()
|
|||||||
-- STEP 2
|
-- STEP 2
|
||||||
elseif intro_step==2 then
|
elseif intro_step==2 then
|
||||||
draw_escenari()
|
draw_escenari()
|
||||||
draw_item_intro("abad", true)
|
draw_item_intro("abad", true, "sorpresa")
|
||||||
draw_item_intro("cacaus trans", false)
|
draw_item_intro("cacaus trans", false)
|
||||||
view.origin(0,0)
|
view.origin(0,0)
|
||||||
intro_step=intro_step+1
|
intro_step=intro_step+1
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ function mini.init()
|
|||||||
surf.target(0)
|
surf.target(0)
|
||||||
surf.cls(16)
|
surf.cls(16)
|
||||||
|
|
||||||
flow:executar("game")
|
flow:executar("intro")
|
||||||
end
|
end
|
||||||
|
|
||||||
function mini.update()
|
function mini.update()
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
o2aX = arcade_config.org2arc_escala
|
o2aX = arcade_config.org2arc_escala
|
||||||
|
|
||||||
avatar_abad_x = 6
|
avatar_abad_x = 6
|
||||||
avatar_abad2_x = 8
|
avatar_abad2_x = 6
|
||||||
avatar_abad_y = 0
|
avatar_abad_y = 0
|
||||||
avatar_batman_x = 8
|
avatar_batman_x = 8
|
||||||
avatar_batman_y = 96
|
avatar_batman_y = 96
|
||||||
@@ -12,11 +12,14 @@ avatar_premiere_x = 138
|
|||||||
avatar_premiere_y = 40
|
avatar_premiere_y = 40
|
||||||
avatar_elalien_x = 6
|
avatar_elalien_x = 6
|
||||||
avatar_elalien_y = 32
|
avatar_elalien_y = 32
|
||||||
avatar_w = 20
|
avatar_w = 22
|
||||||
avatar_h = 20
|
avatar_h = 21
|
||||||
|
avatar_photo_w = avatar_w*2
|
||||||
|
avatar_photo_h = avatar_h*2
|
||||||
avatar_imp_x = 134
|
avatar_imp_x = 134
|
||||||
avatar_imp_y = 96
|
avatar_imp_y = 96
|
||||||
|
|
||||||
|
avatar_sf=surf.new(avatar_w, avatar_h)
|
||||||
|
|
||||||
scenes={
|
scenes={
|
||||||
lluita_imp= {
|
lluita_imp= {
|
||||||
@@ -29,7 +32,7 @@ scenes={
|
|||||||
{x=avatar_abad_x,y=avatar_abad_y,flip=false,audio="abad",text={"A saber que li he dit!","TRANQUIL! TRANQUIL!!!"," CACAUS A MI!!!!"},die=20},
|
{x=avatar_abad_x,y=avatar_abad_y,flip=false,audio="abad",text={"A saber que li he dit!","TRANQUIL! TRANQUIL!!!"," CACAUS A MI!!!!"},die=20},
|
||||||
},
|
},
|
||||||
llibre_trobat={
|
llibre_trobat={
|
||||||
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Este llibre...","Es el de les tècniques","especials dels abad..."}},
|
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Este llibre...","Es el de les tècniques","especials dels abad..."},mood="interessant"},
|
||||||
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"...","TÈCNICA 'CACAU AERI'","salt i dispar"}},
|
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"...","TÈCNICA 'CACAU AERI'","salt i dispar"}},
|
||||||
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Ja se"," 'CACAU AERI'",""}},
|
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Ja se"," 'CACAU AERI'",""}},
|
||||||
},
|
},
|
||||||
@@ -37,7 +40,7 @@ scenes={
|
|||||||
{x=avatar_abad_x,y=avatar_abad_y,flip=false,audio="abad",text={"Ah!, què bo!","Nit de Netflix amb","un bon bol de cacaus!"},die=20},
|
{x=avatar_abad_x,y=avatar_abad_y,flip=false,audio="abad",text={"Ah!, què bo!","Nit de Netflix amb","un bon bol de cacaus!"},die=20},
|
||||||
},
|
},
|
||||||
intro_02= {
|
intro_02= {
|
||||||
{x=avatar_abad_x,y=avatar_abad_y,flip=false,audio="abad",text={"Eh! On està el","bol de cacaus???",""},die=20},
|
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Eh! On està el","bol de cacaus???",""},die=20, mood="sorpresa"},
|
||||||
},
|
},
|
||||||
intro_03= {
|
intro_03= {
|
||||||
{x=avatar_batman_x,y=avatar_batman_y,flip=true,audio="batman",musica=audio_song_batman,text={"ME L'HE ENDUT JO!!!", "S'HAN ACABAT ELS","CACAUS PA TU!"},die=20},
|
{x=avatar_batman_x,y=avatar_batman_y,flip=true,audio="batman",musica=audio_song_batman,text={"ME L'HE ENDUT JO!!!", "S'HAN ACABAT ELS","CACAUS PA TU!"},die=20},
|
||||||
@@ -56,9 +59,9 @@ scenes={
|
|||||||
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Vaig a parlar en Premiere","que està al pis de dalt", "a vore si me pot ajudar"}},
|
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Vaig a parlar en Premiere","que està al pis de dalt", "a vore si me pot ajudar"}},
|
||||||
},
|
},
|
||||||
abad_corfes={
|
abad_corfes={
|
||||||
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Osti, està ple de","monstruacos.",""}},
|
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Osti, està ple de","monstruacos.",""}, mood="sorpresa"},
|
||||||
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Pos al que s'acoste","s'endurà una corfa","de cacau al cap!"}},
|
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Els enviaré a altra","dimensió d'una cacauà!",""}},
|
||||||
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"I si van altets","igual val la pena","ajupir-se..."}}
|
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Si van altets","igual val la pena","ajupir-se..."}}
|
||||||
},
|
},
|
||||||
abad_portes={
|
abad_portes={
|
||||||
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Qui ha tancat totes","les portes?",""}},
|
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Qui ha tancat totes","les portes?",""}},
|
||||||
@@ -208,12 +211,40 @@ end
|
|||||||
|
|
||||||
function play_music()
|
function play_music()
|
||||||
if scenes.current_scene[scenes.dnum].musica then
|
if scenes.current_scene[scenes.dnum].musica then
|
||||||
print("PLAY MUSIC "..scenes.dnum)
|
-- print("PLAY MUSIC "..scenes.dnum)
|
||||||
music.stop()
|
music.stop()
|
||||||
music.play(scenes.current_scene[scenes.dnum].musica)
|
music.play(scenes.current_scene[scenes.dnum].musica)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function draw_abad_with_mood(mood, dx, dy, dw, dh)
|
||||||
|
local ox, oy =view.origin()
|
||||||
|
view.origin(0,0)
|
||||||
|
-- -- composicio
|
||||||
|
local curr_sf = surf.target()
|
||||||
|
surf.target(avatar_sf)
|
||||||
|
surf.cls(16)
|
||||||
|
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,0,0,avatar_w,avatar_h)
|
||||||
|
abad_add_mood(0,scenes.current_scene[scenes.dnum].x,0,scenes.current_scene[scenes.dnum].y,false,mood)
|
||||||
|
-- if mood=="sorpresa" then
|
||||||
|
-- draw.surf(240,0,11,4,16-scenes.current_scene[scenes.dnum].x,5-scenes.current_scene[scenes.dnum].y,11,4)
|
||||||
|
-- elseif mood=="enfadat" then
|
||||||
|
-- draw.surf(240,4,11,4,16-scenes.current_scene[scenes.dnum].x,5-scenes.current_scene[scenes.dnum].y,11,4)
|
||||||
|
-- elseif mood=="interessant" then
|
||||||
|
-- draw.surf(240,8,11,4,16-scenes.current_scene[scenes.dnum].x,5-scenes.current_scene[scenes.dnum].y,11,4)
|
||||||
|
-- else
|
||||||
|
-- abad.mood="normal"
|
||||||
|
-- end
|
||||||
|
-- Dibuixar
|
||||||
|
view.origin(ox, oy)
|
||||||
|
surf.target(curr_sf)
|
||||||
|
curr_sf = surf.source()
|
||||||
|
surf.source(avatar_sf)
|
||||||
|
draw.surf(0,0,avatar_w,avatar_h, dx, dy, dw, dh)
|
||||||
|
surf.source(curr_sf)
|
||||||
|
-- draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h, dx, dy, dw, dh)
|
||||||
|
end
|
||||||
|
|
||||||
function draw_scene()
|
function draw_scene()
|
||||||
local txt_x = not scenes.current_scene[scenes.dnum].flip and 38 or 8
|
local txt_x = not scenes.current_scene[scenes.dnum].flip and 38 or 8
|
||||||
|
|
||||||
@@ -235,19 +266,33 @@ function draw_scene()
|
|||||||
-- 3, 4 -> Desplegar el avatar
|
-- 3, 4 -> Desplegar el avatar
|
||||||
elseif scenes.step==3 then
|
elseif scenes.step==3 then
|
||||||
if not scenes.current_scene[scenes.dnum].flip then
|
if not scenes.current_scene[scenes.dnum].flip then
|
||||||
draw.rectf(8*o2aX,12*o2aX,24*o2aX,12*o2aX,16)
|
draw.rectf(8*o2aX,12*o2aX,avatar_photo_w+8, (avatar_photo_h+8)/2,16)
|
||||||
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,13*o2aX,20*o2aX,10*o2aX)
|
-- Només està disponible per a l'abad
|
||||||
|
if scenes.current_scene[scenes.dnum].mood then
|
||||||
|
draw_abad_with_mood(scenes.current_scene[scenes.dnum].mood, 18, 26, avatar_photo_w, avatar_photo_h/2)
|
||||||
|
-- draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,13*o2aX,20*o2aX,10*o2aX)
|
||||||
else
|
else
|
||||||
draw.rectf(97*o2aX,12*o2aX,24*o2aX,12*o2aX,16)
|
abad.mood="normal"
|
||||||
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,98*o2aX,13*o2aX,20*o2aX,10*o2aX,true)
|
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,13*o2aX,avatar_photo_w, avatar_photo_h/2)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
draw.rectf(97*o2aX,12*o2aX,avatar_photo_w+8, (avatar_photo_h+8)/2,16)
|
||||||
|
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,98*o2aX,13*o2aX,avatar_photo_w, avatar_photo_h/2,true)
|
||||||
end
|
end
|
||||||
elseif scenes.step==4 then
|
elseif scenes.step==4 then
|
||||||
if not scenes.current_scene[scenes.dnum].flip then
|
if not scenes.current_scene[scenes.dnum].flip then
|
||||||
draw.rectf(8*o2aX,7*o2aX,24*o2aX,22*o2aX,16)
|
draw.rectf(8*o2aX,7*o2aX,avatar_photo_w+8,avatar_photo_h+4,16)
|
||||||
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,8*o2aX,20*o2aX,20*o2aX)
|
-- Només està disponible per a l'abad
|
||||||
|
if scenes.current_scene[scenes.dnum].mood then
|
||||||
|
draw_abad_with_mood(scenes.current_scene[scenes.dnum].mood, 18, 16, avatar_photo_w, avatar_photo_h)
|
||||||
|
-- draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,8*o2aX,20*o2aX,20*o2aX)
|
||||||
else
|
else
|
||||||
draw.rectf(97*o2aX,7*o2aX,24*o2aX,22*o2aX,16)
|
abad.mood="normal"
|
||||||
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,98*o2aX,8*o2aX,20*o2aX,20*o2aX,true)
|
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,8*o2aX,avatar_photo_w, avatar_photo_h)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
draw.rectf(97*o2aX,7*o2aX,avatar_photo_w+8,avatar_photo_h+4,16)
|
||||||
|
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,98*o2aX,8*o2aX,avatar_photo_w, avatar_photo_h,true)
|
||||||
end
|
end
|
||||||
-- 5, 6, 7 -> Escriure les 3 frases de diàleg
|
-- 5, 6, 7 -> Escriure les 3 frases de diàleg
|
||||||
elseif scenes.step==5 then
|
elseif scenes.step==5 then
|
||||||
@@ -283,11 +328,17 @@ function draw_scene()
|
|||||||
draw.line(0,0,128*o2aX,0,16)
|
draw.line(0,0,128*o2aX,0,16)
|
||||||
draw.line(0,34*o2aX+1,128*o2aX,34*o2aX+1,16)
|
draw.line(0,34*o2aX+1,128*o2aX,34*o2aX+1,16)
|
||||||
if not scenes.current_scene[scenes.dnum].flip then
|
if not scenes.current_scene[scenes.dnum].flip then
|
||||||
draw.rectf(8*o2aX,7*o2aX,24*o2aX,22*o2aX,16)
|
draw.rectf(8*o2aX,7*o2aX,avatar_photo_w+8,avatar_photo_h+4,16)
|
||||||
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,8*o2aX,20*o2aX,20*o2aX)
|
if scenes.current_scene[scenes.dnum].mood then
|
||||||
|
draw_abad_with_mood(scenes.current_scene[scenes.dnum].mood, 18, 16, avatar_photo_w, avatar_photo_h)
|
||||||
|
-- draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,13*o2aX,20*o2aX,10*o2aX)
|
||||||
else
|
else
|
||||||
draw.rectf(97*o2aX,7*o2aX,24*o2aX,22*o2aX,16)
|
abad.mood="normal"
|
||||||
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,98*o2aX,8*o2aX,20*o2aX,20*o2aX,true)
|
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,9*o2aX,8*o2aX,avatar_photo_w, avatar_photo_h)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
draw.rectf(97*o2aX,7*o2aX,avatar_photo_w+8,avatar_photo_h+4,16)
|
||||||
|
draw.surf(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,avatar_w,avatar_h,98*o2aX,8*o2aX,avatar_photo_w, avatar_photo_h,true)
|
||||||
end
|
end
|
||||||
arc_textB(scenes.current_scene[scenes.dnum].text[1],txt_x*o2aX,7*o2aX,2)
|
arc_textB(scenes.current_scene[scenes.dnum].text[1],txt_x*o2aX,7*o2aX,2)
|
||||||
arc_textB(scenes.current_scene[scenes.dnum].text[2],txt_x*o2aX,15*o2aX,2)
|
arc_textB(scenes.current_scene[scenes.dnum].text[2],txt_x*o2aX,15*o2aX,2)
|
||||||
|
|||||||
BIN
data/tiles.gif
BIN
data/tiles.gif
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Reference in New Issue
Block a user