--- @class Effect local effect = {} effect.__index = effect function effect:onBirth() end function effect:onDeath() end function effect:onStartTurn() end function effect:onEndTurn() end --- @param other Effect --- @return Effect|nil function effect:sum(other) end function effect:update(dt) end function effect:draw() end --- @return Effect local function new() return setmetatable({}, effect) end return { new = new }