diff options
author | Aki <nthirtyone@gmail.com> | 2017-07-16 22:10:07 +0200 |
---|---|---|
committer | Aki <nthirtyone@gmail.com> | 2017-07-16 22:10:07 +0200 |
commit | 0c70843b512c0e1633f77f5b0355cf5c2f80efe5 (patch) | |
tree | e89db815aef1f6817c136c50f912ae1b8bf6a468 /not/Hero.lua | |
parent | b2c2ef1ae1300a2a2610525bf19db227d6d5e54b (diff) | |
download | roflnauts-0c70843b512c0e1633f77f5b0355cf5c2f80efe5.zip roflnauts-0c70843b512c0e1633f77f5b0355cf5c2f80efe5.tar.gz roflnauts-0c70843b512c0e1633f77f5b0355cf5c2f80efe5.tar.bz2 |
Initial trial effect, it's too fun
Diffstat (limited to 'not/Hero.lua')
-rw-r--r-- | not/Hero.lua | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/not/Hero.lua b/not/Hero.lua index cb205bf..0406e51 100644 --- a/not/Hero.lua +++ b/not/Hero.lua @@ -1,9 +1,7 @@ -require "not.PhysicalBody" - --- `Hero` -- Hero (often referred to as: "naut") entity that exists in a game world. -- Collision category: [2] -Hero = PhysicalBody:extends() +Hero = require "not.PhysicalBody":extends() Hero.name = "empty" Hero.angle = 0 @@ -114,6 +112,12 @@ function Hero:update (dt) self:respawn() end + -- Trail spawner + if self.combo > 100 then + local dx, dy = love.math.random(-4, 4), love.math.random(-4, 4) + self:createEffect("trail", dx, dy) + end + -- # PUNCH -- Cooldown self.punchCooldown = self.punchCooldown - dt @@ -188,14 +192,18 @@ function Hero:goToNextFrame () end -- Spawn `Effect` relative to `Hero` -function Hero:createEffect (name) - if name == "trail" or name == "hit" then - -- 16px effect: -7 -7 - self.world:createEffect(name, self.body:getX()-8, self.body:getY()-8) - elseif name ~= nil then - -- 24px effect: -12 -15 - self.world:createEffect(name, self.body:getX()-12, self.body:getY()-15) +function Hero:createEffect (name, dx, dy) + local x, y = self.body:getX()-8, self.body:getY()-8 -- 16px effect: -7 -7 + if not (name == "trail") and not (name == "hit") then + x, y = x-4, y-7 -- 24px effect: -12 -15 + end + if dx then + x = x + dx + end + if dy then + y = y + dy end + self.world:createEffect(name, x, y) end -- Creates temporary fixture for hero's body that acts as sensor. |