48 lines
1.1 KiB
Lua
48 lines
1.1 KiB
Lua
|
|
||
|
function SWEP:Spread()
|
||
|
local spread = math.Clamp( math.TimeFraction( self.SpreadBurstStart, self.SpreadBurstEnd, self:GetBurstCount() ), 0, 1 )
|
||
|
spread = Lerp( spread, self.SpreadStart, self.SpreadEnd )
|
||
|
return spread
|
||
|
end
|
||
|
|
||
|
function SWEP:PrimaryAttack( mine )
|
||
|
if self:GetDelay() > CurTime() then
|
||
|
return false
|
||
|
end
|
||
|
if self:Clip1() == 0 then
|
||
|
self:EmitSound( "weapons/clipempty_rifle.wav", 90, 100, 1, CHAN_STATIC )
|
||
|
self:SetDelay( CurTime() + self.Delay )
|
||
|
return false
|
||
|
end
|
||
|
|
||
|
if self:GetBurstCount() >= self.MaxBurst then
|
||
|
return false
|
||
|
end
|
||
|
|
||
|
self:SetDelay( CurTime() + self.Delay )
|
||
|
self:SetBurstCount( self:GetBurstCount() + 1 )
|
||
|
self:SendWeaponAnim( ACT_VM_PRIMARYATTACK )
|
||
|
self:SetClip1( self:Clip1() - 1 )
|
||
|
|
||
|
self:EmitSound( self.Sound_Shoot, 90, 100, 1, CHAN_WEAPON )
|
||
|
|
||
|
local spread = math.rad( self:Spread() )
|
||
|
self:FireBullets( {
|
||
|
Attacker = self:GetOwner(),
|
||
|
Tracer = 1,
|
||
|
Damage = 25,
|
||
|
Force = 1,
|
||
|
Num = 1,
|
||
|
Dir = self:GetOwner():EyeAngles():Forward(),
|
||
|
Spread = Vector( spread, spread, 0 ),
|
||
|
Src = self:GetOwner():EyePos(),
|
||
|
Callback = function( attacker, tr, dmginfo )
|
||
|
end
|
||
|
})
|
||
|
|
||
|
return true
|
||
|
end
|
||
|
|
||
|
function SWEP:SecondaryAttack()
|
||
|
return true
|
||
|
end
|