-- A squid-like enemy unit import "CoreLibs/object" import "CoreLibs/graphics" import "CoreLibs/sprites" import "CoreLibs/timer" import "entity" import "util" local gfx = playdate.graphics local geom = playdate.geometry class("Ika").extends(Entity) function Ika:init(target) Ika.super.init(self, gfx.image.new("images/ika.png"), 25, 1) self.target = target self:setCollidesWithGroupsMask(0x2) self.type = 'ika' end function Ika:onReady() self.weaponTimer = playdate.timer.new(5000, function() local b = Bullet(10, 20, self:calculateVector(self.target)) b:moveTo(self.x - (self.width/2) - 1, self.y) b:add() end ) self.weaponTimer.repeats = true end function Ika:calculateVector(target) local x1,y1 = self:getPosition() local x2,y2 = target:getPosition() return util.unitPointer(x1,y1,x2,y2) * 5 end function Ika:remove() Ika.super.remove(self) if self.weaponTimer then self.weaponTimer:remove() end end