44 lines
1.1 KiB
Lua
44 lines
1.1 KiB
Lua
include("shared.lua")
|
|
|
|
SWEP.PrintName = "Force Field Emitter"
|
|
SWEP.Description = "Blocks bullets and other projectiles but will not stop humans, zombies, or other creatures from passing.\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:Deploy()
|
|
gamemode.Call("WeaponDeployed", self.Owner, self)
|
|
|
|
return true
|
|
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
|
|
|
|
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
|