45 lines
1 KiB
Lua
45 lines
1 KiB
Lua
|
include("shared.lua")
|
||
|
|
||
|
SWEP.PrintName = "Spot Lamp"
|
||
|
SWEP.Description = "This lamp is a watchful eye which illuminates an area.\nPress PRIMARY ATTACK to deploy.\nPress SECONDARY ATTACK and RELOAD to rotate."
|
||
|
SWEP.DrawCrosshair = false
|
||
|
|
||
|
SWEP.Slot = 4
|
||
|
SWEP.SlotPos = 0
|
||
|
|
||
|
function SWEP:DrawHUD()
|
||
|
if GetConVarNumber("crosshair") ~= 1 then return end
|
||
|
self:DrawCrosshairDot()
|
||
|
end
|
||
|
|
||
|
function SWEP:PrimaryAttack()
|
||
|
end
|
||
|
|
||
|
function SWEP:DrawWeaponSelection(...)
|
||
|
return self:BaseDrawWeaponSelection(...)
|
||
|
end
|
||
|
|
||
|
function SWEP:Think()
|
||
|
if self.Owner:KeyDown(IN_ATTACK2) then
|
||
|
self:RotateGhost(FrameTime() * 60)
|
||
|
end
|
||
|
if self.Owner:KeyDown(IN_RELOAD) then
|
||
|
self:RotateGhost(FrameTime() * -60)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function SWEP:Deploy()
|
||
|
gamemode.Call("WeaponDeployed", self.Owner, self)
|
||
|
|
||
|
return true
|
||
|
end
|
||
|
|
||
|
local nextclick = 0
|
||
|
function SWEP:RotateGhost(amount)
|
||
|
if nextclick <= RealTime() then
|
||
|
surface.PlaySound("npc/headcrab_poison/ph_step4.wav")
|
||
|
nextclick = RealTime() + 0.3
|
||
|
end
|
||
|
RunConsoleCommand("_zs_ghostrotation", math.NormalizeAngle(GetConVarNumber("_zs_ghostrotation") + amount))
|
||
|
end
|