Starbound/assets/devel/items/active/weapons/melee/smashhammer/smashhammer.lua
2025-03-21 22:23:30 +11:00

26 lines
892 B
Lua

function init()
self.rotation = 0
self.rotationRate = 20.0
self.rotationRange = {-0.4, math.pi + 0.2}
end
function update(dt, fireMode, shiftHeld)
self.rotation = self.rotation + self.rotationRate * dt
if self.rotation < self.rotationRange[1] or self.rotation > self.rotationRange[2] then
self.rotationRate = -self.rotationRate
self.rotation = self.rotation + self.rotationRate * dt * 2
end
local damageArea = animator.partPoly("hammer", "damageArea")
if damageArea then
activeItem.setDamageSources({{
poly = damageArea,
damage = 50,
sourceEntity = activeItem.ownerEntityId(),
team = activeItem.ownerTeam(),
knockback = 50,
rayCheck = true
}})
end
activeItem.setArmAngle(self.rotation)
activeItem.setFacingDirection(table.pack(activeItem.aimAngleAndDirection(-1, activeItem.ownerAimPosition()))[2])
end