dagger.lua 761 B

12345678910111213141516171819202122232425262728
  1. local Dagger = extend(app.logic.spell)
  2. Dagger.code = 'dagger'
  3. Dagger.radius = 18
  4. Dagger.distance = 45
  5. function Dagger:activate(visions)
  6. self:mirrorOwner()
  7. self:move(self.distance)
  8. local backstabbed = false
  9. self:damageInRadius(function(enemy)
  10. local backstab = math.abs(math.anglediff(enemy.angle, math.direction(enemy.x, enemy.y, self.x, self.y))) > math.pi / 2
  11. local damage = data.weapon.dagger.damage
  12. if backstab then
  13. if visions[enemy.id] == 3 then damage = enemy.health
  14. else damage = damage * 2 end
  15. end
  16. if backstab and ctx.view then ctx.view:screenshake(25) end
  17. backstabbed = backstabbed or backstab
  18. return damage
  19. end)
  20. self:playSound(backstabbed and 'backstab' or 'slash')
  21. self:die()
  22. end
  23. return Dagger