26 lines
892 B
Lua
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
|