[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},
|
||||
bb={x=8,y=0,w=16,h=32},
|
||||
safe={hab=10,x=40,y=24},
|
||||
move=abad.move }
|
||||
move=abad.move,
|
||||
mood="normal"}
|
||||
abad.update=abad_state_normal
|
||||
abad.objects={}
|
||||
end
|
||||
@@ -74,6 +75,25 @@ function abad:move( x, y )
|
||||
self.hab = hab
|
||||
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()
|
||||
local flip = abad.flip
|
||||
local x, y = viewp:screen_coords(self.x, self.y)
|
||||
@@ -87,6 +107,10 @@ function abad:draw()
|
||||
end
|
||||
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)
|
||||
-- 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
|
||||
|
||||
if abad.respawning > 0 then
|
||||
|
||||
@@ -19,9 +19,11 @@ function draw_escenari ()
|
||||
draw_item_intro("pas porta")
|
||||
end
|
||||
|
||||
function draw_item_intro( name, flip )
|
||||
function draw_item_intro( name, flip, mood )
|
||||
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)
|
||||
abad_add_mood(abad.dx,0,abad.dy,0,flip,mood)
|
||||
elseif (name == "batman" ) then
|
||||
draw.surf(batman.x, batman.y, batman.w, batman.h, batman.dx, batman.dy, batman.dw, batman.dh, flip)
|
||||
elseif (name == "cacaus" ) then
|
||||
@@ -73,7 +75,7 @@ function intro_update()
|
||||
-- STEP 0
|
||||
if intro_step==0 then
|
||||
draw_escenari()
|
||||
draw_item_intro("abad", true)
|
||||
draw_item_intro("abad", false)
|
||||
view.origin(0,0)
|
||||
intro_step=intro_step+1
|
||||
-- STEP 1
|
||||
@@ -85,7 +87,7 @@ function intro_update()
|
||||
-- STEP 2
|
||||
elseif intro_step==2 then
|
||||
draw_escenari()
|
||||
draw_item_intro("abad", true)
|
||||
draw_item_intro("abad", true, "sorpresa")
|
||||
draw_item_intro("cacaus trans", false)
|
||||
view.origin(0,0)
|
||||
intro_step=intro_step+1
|
||||
|
||||
@@ -87,7 +87,7 @@ function mini.init()
|
||||
surf.target(0)
|
||||
surf.cls(16)
|
||||
|
||||
flow:executar("game")
|
||||
flow:executar("intro")
|
||||
end
|
||||
|
||||
function mini.update()
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
o2aX = arcade_config.org2arc_escala
|
||||
|
||||
avatar_abad_x = 6
|
||||
avatar_abad2_x = 8
|
||||
avatar_abad2_x = 6
|
||||
avatar_abad_y = 0
|
||||
avatar_batman_x = 8
|
||||
avatar_batman_y = 96
|
||||
@@ -12,11 +12,14 @@ avatar_premiere_x = 138
|
||||
avatar_premiere_y = 40
|
||||
avatar_elalien_x = 6
|
||||
avatar_elalien_y = 32
|
||||
avatar_w = 20
|
||||
avatar_h = 20
|
||||
avatar_w = 22
|
||||
avatar_h = 21
|
||||
avatar_photo_w = avatar_w*2
|
||||
avatar_photo_h = avatar_h*2
|
||||
avatar_imp_x = 134
|
||||
avatar_imp_y = 96
|
||||
|
||||
avatar_sf=surf.new(avatar_w, avatar_h)
|
||||
|
||||
scenes={
|
||||
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},
|
||||
},
|
||||
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={"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},
|
||||
},
|
||||
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= {
|
||||
{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"}},
|
||||
},
|
||||
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={"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={"I si van altets","igual val la pena","ajupir-se..."}}
|
||||
{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={"Els enviaré a altra","dimensió d'una cacauà!",""}},
|
||||
{x=avatar_abad2_x,y=avatar_abad_y,flip=false,audio="abad",text={"Si van altets","igual val la pena","ajupir-se..."}}
|
||||
},
|
||||
abad_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()
|
||||
if scenes.current_scene[scenes.dnum].musica then
|
||||
print("PLAY MUSIC "..scenes.dnum)
|
||||
-- print("PLAY MUSIC "..scenes.dnum)
|
||||
music.stop()
|
||||
music.play(scenes.current_scene[scenes.dnum].musica)
|
||||
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()
|
||||
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
|
||||
elseif scenes.step==3 then
|
||||
if not scenes.current_scene[scenes.dnum].flip then
|
||||
draw.rectf(8*o2aX,12*o2aX,24*o2aX,12*o2aX,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)
|
||||
draw.rectf(8*o2aX,12*o2aX,avatar_photo_w+8, (avatar_photo_h+8)/2,16)
|
||||
-- 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
|
||||
draw.rectf(97*o2aX,12*o2aX,24*o2aX,12*o2aX,16)
|
||||
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)
|
||||
abad.mood="normal"
|
||||
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
|
||||
elseif scenes.step==4 then
|
||||
if not scenes.current_scene[scenes.dnum].flip then
|
||||
draw.rectf(8*o2aX,7*o2aX,24*o2aX,22*o2aX,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)
|
||||
draw.rectf(8*o2aX,7*o2aX,avatar_photo_w+8,avatar_photo_h+4,16)
|
||||
-- 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
|
||||
draw.rectf(97*o2aX,7*o2aX,24*o2aX,22*o2aX,16)
|
||||
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)
|
||||
abad.mood="normal"
|
||||
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
|
||||
-- 5, 6, 7 -> Escriure les 3 frases de diàleg
|
||||
elseif scenes.step==5 then
|
||||
@@ -283,11 +328,17 @@ function draw_scene()
|
||||
draw.line(0,0,128*o2aX,0,16)
|
||||
draw.line(0,34*o2aX+1,128*o2aX,34*o2aX+1,16)
|
||||
if not scenes.current_scene[scenes.dnum].flip then
|
||||
draw.rectf(8*o2aX,7*o2aX,24*o2aX,22*o2aX,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)
|
||||
draw.rectf(8*o2aX,7*o2aX,avatar_photo_w+8,avatar_photo_h+4,16)
|
||||
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
|
||||
draw.rectf(97*o2aX,7*o2aX,24*o2aX,22*o2aX,16)
|
||||
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)
|
||||
abad.mood="normal"
|
||||
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
|
||||
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)
|
||||
|
||||
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