require 'const' local self = {} function self.fish(x, y) local fish = { x = x, y = y, size = 0, -- 0 for small, 1 for medium, 2 for big, 3 for king 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