Public feed #532174

Something

public text v1 · immutable
Raw Edit
·published 2007-06-03 02:38 UTC
rendered paste body
SWEP.ScaleStartTime = 0
SWEP.SpriteScale = 0
SWEP.DoSpriteScale = false

function SWEP:Think() -- Called every frame
if !self.Nova:IsValid() then return end
if self.DoSpriteScale == false then return end
if self.SpriteScale < 4 then
	self.SpriteScale = 1.1^(CurTime() - self.ScaleStartTime) - 1
	self.Nova:SetKeyValue("scale", tostring(self.SpriteScale))
end
end

function SWEP:Initialize()
util.PrecacheSound("ambient/wind/wind_snippet4.wav")
	if ( SERVER ) then
		self:SetWeaponHoldType( self.HoldType )
	end
self.SpriteScale = 0
self.Nova = ents.Create("env_sprite")
end

function SWEP:PrimaryAttack()
	local MuzzlePos = self.Owner:GetRight() * 7 + self.Owner:GetShootPos() + self.Owner:GetUp() --+ self.Owner:GetForward() )
	if CLIENT then return end
	if self.Weapon:Clip1() == 0 then return end
	self.Weapon:SetNextPrimaryFire(CurTime() + .15)
	self.Weapon:SendWeaponAnim(ACT_VM_PRIMARYATTACK)
	self.Owner:SetAnimation( PLAYER_ATTACK1 )
	self.Owner:MuzzleFlash()
	self:TakePrimaryAmmo(1)
	self.Weapon:EmitSound("ambient/wind/wind_snippet4.wav")
	local shot = ents.Create("red_whisp")
	shot:SetPos(MuzzlePos)
	shot:SetAngles(self.Owner:EyeAngles())
	shot:SetOwner(self.Owner)
	shot.damage = 35
	shot:Spawn()
	local phys = shot:GetPhysicsObject()
	phys:SetMass(1)
	phys:ApplyForceCenter(self.Owner:GetAimVector() * 99999)
end

function SWEP:SecondaryAttack()
	self.Weapon:SetNextSecondaryFire(CurTime() + 1)
	self.Weapon:SendWeaponAnim(ACT_VM_PRIMARYATTACK)
	self.Owner:SetAnimation( PLAYER_ATTACK1 )
	local trace = self.Owner:GetEyeTrace()
	self.ScaleStartTime = CurTime()
	self.DoSpriteScale = true
	if SERVER then
		self.Nova:SetPos( self.Owner:GetPos() )
		self.Nova:SetKeyValue( "renderfx", "15" )
		self.Nova:SetKeyValue( "model", "sprite/glow1.vmt")
		self.Nova:SetKeyValue( "scale", "1" )
		self.Nova:SetKeyValue( "spawnflags", "1")
		self.Nova:SetKeyValue( "angles", "0 0 0")
		self.Nova:SetKeyValue( "rendermode", "9")
		self.Nova:SetKeyValue( "renderamt", "255")
		self.Nova:SetKeyValue( "rendercolor", "255 0 0" )

		self.Nova:Spawn()
		self.Nova:Activate()
		self.Nova:SetParent( self.Owner )
		self.Nova:Fire("kill", "", 5)
	end
end