- Reestructuració completa
This commit is contained in:
152
data/modules/templates.lua
Normal file
152
data/modules/templates.lua
Normal file
@@ -0,0 +1,152 @@
|
||||
ia = {}
|
||||
|
||||
require "ia.*"
|
||||
|
||||
templates = {
|
||||
ALIVE = 0,
|
||||
DYING = 1,
|
||||
DEAD = 2,
|
||||
RESURRECTING = 3,
|
||||
} local me = templates
|
||||
|
||||
function me.create(type, options)
|
||||
local sprite
|
||||
local key, value = type:match("^(%S+)%s*(.*)$")
|
||||
|
||||
if key == "mummy" then
|
||||
sprite = {
|
||||
type = key,
|
||||
pos = options.pos,--{ x=100, y=4*12*8+71 },
|
||||
size = { w=16,h=16 },
|
||||
bbo = { left=3, top=2, right=3, bottom=0 },
|
||||
current_frame = 1,
|
||||
current_wait = 1,
|
||||
flipped = options.flipped,
|
||||
surf = surf.load("gfx/mummy.gif"),
|
||||
animation = "mummy_walk",
|
||||
state = me.ALIVE,
|
||||
enemy = true,
|
||||
room = options.room,
|
||||
ia = ia.update_mummy
|
||||
}
|
||||
elseif key == "bullet" then
|
||||
sprite = {
|
||||
type = key,
|
||||
pos = options.pos,--{ x=100, y=4*12*8+71 },
|
||||
size = { w=4,h=3 },
|
||||
bbo = { left=0, top=0, right=0, bottom=0 },
|
||||
current_frame = 1,
|
||||
current_wait = 1,
|
||||
flipped = options.flipped,
|
||||
surf = surf.load("gfx/morcus.gif"),
|
||||
animation = "bullet",
|
||||
ia = ia.update_bullet
|
||||
}
|
||||
elseif key == "coin" then
|
||||
sprite = {
|
||||
type = key,
|
||||
pos = options.pos,--{ x=100, y=4*12*8+71 },
|
||||
size = { w=8,h=8 },
|
||||
bbo = { left=0, top=0, right=0, bottom=0 },
|
||||
current_frame = 1,
|
||||
current_wait = 1,
|
||||
flipped = options.flipped,
|
||||
surf = surf.load("gfx/misc.gif"),
|
||||
animation = "coin",
|
||||
state = me.ALIVE,
|
||||
timer = 0,
|
||||
light = 15,
|
||||
light_ox = 4,
|
||||
light_oy = 4,
|
||||
ia = ia.update_coin
|
||||
}
|
||||
elseif key == "brick" then
|
||||
sprite = {
|
||||
type = key,
|
||||
pos = options.pos,--{ x=100, y=4*12*8+71 },
|
||||
size = { w=8,h=8 },
|
||||
bbo = { left=0, top=0, right=0, bottom=0 },
|
||||
current_frame = 1,
|
||||
current_wait = 1,
|
||||
flipped = options.flipped,
|
||||
surf = surf.load("gfx/misc.gif"),
|
||||
animation = "brick",
|
||||
state = me.ALIVE,
|
||||
timeout = 10,
|
||||
ia = ia.update_brick
|
||||
}
|
||||
elseif key == "torxa" then
|
||||
sprite = {
|
||||
type = key,
|
||||
pos = options.pos,--{ x=100, y=4*12*8+71 },
|
||||
size = { w=8,h=16 },
|
||||
bbo = { left=0, top=0, right=0, bottom=0 },
|
||||
current_frame = 1,
|
||||
current_wait = 1,
|
||||
flipped = options.flipped,
|
||||
surf = surf.load("gfx/torxa.gif"),
|
||||
animation = "torxa",
|
||||
state = me.ALIVE,
|
||||
light = 30,
|
||||
light_ox = 4,
|
||||
light_oy = 4,
|
||||
no_shadow = true,
|
||||
ia = ia.update_torxa
|
||||
}
|
||||
elseif key == "clau" then
|
||||
sprite = {
|
||||
type = key,
|
||||
color = value,
|
||||
pos = options.pos,--{ x=100, y=4*12*8+71 },
|
||||
size = { w=16,h=8 },
|
||||
bbo = { left=0, top=0, right=0, bottom=0 },
|
||||
current_frame = 1,
|
||||
current_wait = 1,
|
||||
flipped = options.flipped,
|
||||
surf = surf.load("gfx/"..value..".gif"),
|
||||
animation = "clau",
|
||||
state = me.ALIVE,
|
||||
light = 15,
|
||||
light_ox = 7,
|
||||
light_oy = 4,
|
||||
ia = ia.update_clau
|
||||
}
|
||||
elseif key == "porta" then
|
||||
sprite = {
|
||||
type = key,
|
||||
color = value,
|
||||
pos = options.pos,--{ x=100, y=4*12*8+71 },
|
||||
size = { w=8,h=16 },
|
||||
bbo = { left=0, top=0, right=0, bottom=0 },
|
||||
current_frame = 1,
|
||||
current_wait = 1,
|
||||
flipped = options.flipped,
|
||||
surf = surf.load("gfx/"..value..".gif"),
|
||||
animation = "porta",
|
||||
state = me.ALIVE,
|
||||
ia = ia.update_porta
|
||||
}
|
||||
elseif key == "sucubo" then
|
||||
sprite = {
|
||||
type = key,
|
||||
pos = options.pos,--{ x=100, y=4*12*8+71 },
|
||||
size = { w=16,h=16 },
|
||||
bbo = { left=3, top=2, right=3, bottom=0 },
|
||||
current_frame = 1,
|
||||
current_wait = 1,
|
||||
flipped = options.flipped,
|
||||
surf = surf.load("gfx/sucubo.gif"),
|
||||
animation = "sucubo_stand",
|
||||
state = me.ALIVE,
|
||||
timer = 0,
|
||||
enemy = true,
|
||||
room = options.room,
|
||||
ia = ia.update_sucubo
|
||||
}
|
||||
else
|
||||
error("Template not recognized")
|
||||
end
|
||||
--sprite.room = rooms.current()
|
||||
print("creat sprite de tipus "..type)
|
||||
return sprite
|
||||
end
|
||||
Reference in New Issue
Block a user