zombiesurvival-evolved/gamemodes/zombiesurvival/entities/weapons/weapon_zs_burster.lua

55 lines
993 B
Lua
Raw Normal View History

2014-10-02 08:49:54 +08:00
AddCSLuaFile()
SWEP.Base = "weapon_zs_zombie"
SWEP.ChargeTime = 2
function SWEP:PrimaryAttack()
if self:GetChargeStart() == 0 then
self:SetChargeStart(CurTime())
self.Owner:EmitSound("weapons/cguard/charging.wav", 80, 60)
end
end
function SWEP:SecondaryAttack()
end
function SWEP:Reload()
self.BaseClass.SecondaryAttack(self)
end
function SWEP:Think()
if self:GetCharge() >= 1 then
self.Owner:Kill()
end
self:NextThink(CurTime())
return true
end
function SWEP:IsMoaning()
return false
end
function SWEP:Move(mv)
local charge = self:GetCharge()
if charge > 0 then
mv:SetMaxSpeed(mv:GetMaxSpeed() * math.max(0, 1 - charge * 2))
mv:SetMaxClientSpeed(mv:GetMaxSpeed())
end
end
function SWEP:SetChargeStart(time)
self:SetDTFloat(0, time)
end
function SWEP:GetChargeStart()
return self:GetDTFloat(0)
end
function SWEP:GetCharge()
if self:GetChargeStart() == 0 then return 0 end
return math.Clamp((CurTime() - self:GetChargeStart()) / self.ChargeTime, 0, 1)
end