notsanequarium/constructors.lua
2021-01-25 19:42:27 +03:00

78 lines
No EOL
1.4 KiB
Lua

require 'const'
local self = {}
function self.fish(x, y, type)
type = type or 0
local fish = {
x = x,
y = y,
size = 2, -- 0 for small, 1 for medium, 2 for big, 3 for king, 4 for carnivore
eattimer = 0 + math.random() * 2, -- starts out hungry, with a 2s delay
moneytimer = 10 + math.random() * 5, -- min 10s before it can make money
dead = false,
lifetime = 0,
eases = {
},
render = {
x = 0,
y = 0,
prevx = math.random() - 0.5,
prevy = math.random() - 0.5,
turn = math.random(),
swim = 0,
angle = 0,
xspeed = 0,
yspeed = 0,
eattimer = 1,
hungry = 0,
deathanim = 0,
}
}
for i = 1, FISH_SPLINE_QUALITY do
table.insert(fish.eases, { -- we insert a fake ease that ends instantly and just hope the update loop replaces it with a valid, random one
x = x,
y = y,
fromx = x,
fromy = y,
a = 1,
speed = 1
})
end
return fish
end
function self.food(x, y, type)
local food = {
x = x,
y = y,
speed = 0.2,
time = math.random(),
deathtimer = 0,
type = type
}
return food
end
function self.money(x, y, type)
local money = {
x = x,
y = y,
speed = 0.12,
time = math.random(),
deathtimer = 0,
collected = false,
collecttimer = 0,
type = type
}
return money
end
return self