if (SERVER) then
	AddCSLuaFile( "shared.lua" )
	SWEP.Weight				= 5
	SWEP.AutoSwitchTo		= true
	SWEP.AutoSwitchFrom		= true
end
 
if (CLIENT) then
	SWEP.DrawAmmo			= true
	SWEP.DrawCrosshair		= false
	SWEP.ViewModelFOV		= 82
	SWEP.ViewModelFlip		= true
	SWEP.CSMuzzleFlashes	= true
 
	SWEP.ViewModelFlip		= false
 
end
 
if ( CLIENT ) then
	SWEP.Author			= "[JEM]TheReignOfTheDesserted"
	SWEP.Contact			= "[email protected]"
	SWEP.Purpose			= "I will the world mayy cry!"
	SWEP.Instructions		= "Left klick to Throw"
	SWEP.PrintName			= "FusionFrenade"
	SWEP.Slot			= 3
	SWEP.SlotPos			= 2
	SWEP.IconLetter			= "O"
 
	SWEP.ViewModelFlip		= false
 
	killicon.AddFont()
end
 
SWEP.Spawnable			= true
SWEP.AdminSpawnable		= true
 
SWEP.ViewModel			= "models/weapons/v_gravball.mdl"
SWEP.WorldModel			= "models/weapons/w_gravball.mdl"
SWEP.HoldType			= "grenade"
 
SWEP.Primary.Sound		= Sound("Default.PullPin_Grenade")SWEP.Primary.Recoil		= 0
SWEP.Primary.Unrecoil		= 0
SWEP.Primary.Damage		= 50000
SWEP.Primary.NumShots		= 1
SWEP.Primary.Cone		= 0
SWEP.Primary.Delay		= 1
 
SWEP.Primary.ClipSize		= 10
SWEP.Primary.DefaultClip	= 10000
SWEP.Primary.Automatic		= false
SWEP.Primary.Ammo		= "grenade"
 
SWEP.Secondary.ClipSize		= -1
SWEP.Secondary.DefaultClip	= -1
SWEP.Secondary.Automatic	= false
SWEP.Secondary.Ammo		= "none"
 
SWEP.Next = CurTime()
SWEP.Primed = 0
 
function SWEP:Reload()
	return false
end
 
function SWEP:Deploy()
	return true
end
 
function SWEP:Holster()
	self.Next = CurTime()
	self.Primed = 0
	return true
end
 
function SWEP:ShootEffects()
	self.Weapon:SendWeaponAnim( ACT_VM_THROW ) 		// View model animation
	//self.Owner:MuzzleFlash()								// Crappy muzzle light
	self.Owner:SetAnimation( PLAYER_ATTACK1 )				// 3rd Person Animation
end
 
 
function SWEP:PrimaryAttack()
 
if ( !self:CanPrimaryAttack() ) then return end
 
			self:TakePrimaryAmmo( 1 )
 
			self.Weapon:SendWeaponAnim( ACT_VM_PRIMARYATTACK )
 
			self.Owner:SetAnimation( PLAYER_ATTACK1 )
 
			self.Weapon:SetNextPrimaryFire( CurTime() + self.Primary.Delay )
 
			self.Weapon:EmitSound( self.Primary.Sound, 100, 100 )
 
		self.Owner:ViewPunch(Vector(math.Rand(-1,1),math.Rand(-1,1),math.Rand(-9,-4))) --soft viewpunch
 
				if (!CLIENT) then
 
					local Ang = self.Owner:EyeAngles()
 
					Ang.pitch = Ang.pitch - 5
 
					self.Owner:SetEyeAngles( Ang ) --rough viewpunch
 
				end
 
		local trace={}		trace.start=self.Owner:GetShootPos()
		trace.endpos=self.Owner:GetShootPos()+self.Owner:GetForward()*2000000000
		trace.filter=self.Owner
		local tracer = util.TraceLine( trace )
 
		if tracer.Hit then
			local effect = EffectData()
			effect:SetEntity( self.Owner )
			effect:SetStart( self.Owner:GetShootPos() + self.Owner:GetRight())
			effect:SetAttachment( 1 )
			effect:SetOrigin( tracer.HitPos )
			effect:SetScale( 1.0 )
			effect:SetMagnitude( 3000 )
			util.Effect( "FBG-Beam", effect )
         end                                                                                                                                                                
 
     end         local damage = ents.Create("point_hurt")		damage:SetKeyValue("DamageRadius", 3000)		damage:SetKeyValue("Damage" , 1000)		damage:SetKeyValue("DamageDelay", 3)		damage:SetKeyValue("DamageType" ,"67108864")		damage:SetPos(tracer.HitPos)
		damage:Fire("TurnOn" , "", 0)		damage:Fire("TurnOff" , "", 2)		damage:Fire("kill","", 2) 
		local fx = EffectData()
		fx:SetOrigin(tracer.HitPos)
		fx:SetScale(0.5)
		util.Effect( "HelicopterMegaBomb", fx )
		local fx2 = EffectData()
		fx2:SetOrigin(tracer.HitPos)
		fx2:SetScale(0.1)
		util.Effect( "FBG-Explosion", fx2 )
 
		util.BlastDamage(self.Owner,self.Owner,tracer.HitPos,128,self.Primary.Damage)
		local trace2={}		trace2.start=tracer.HitPos + self.Owner:GetAimVector()*32
		trace2.endpos=tracer.HitPos + self.Owner:GetAimVector()*2000000000
		trace2.filter=trace.Entity
		local tracer2 = util.TraceLine( trace2 )
		util.BlastDamage(self.Owner,self.Owner,tracer2.HitPos,64,self.Primary.Damage)
		if tracer2.Hit then
		local fx3 = EffectData()
		fx3:SetOrigin(tracer2.HitPos)
		fx3:SetScale(0.5)
		util.Effect( "HelicopterMegaBomb", fx3 )
		local fx4 = EffectData()
		fx4:SetOrigin(tracer2.HitPos)
		fx4:SetScale(0.1)
		util.Effect( "FBG-Explosion", fx4 )
 
		local trace3={}		trace3.start=tracer2.HitPos + self.Owner:GetAimVector()*32
		trace3.endpos=tracer2.HitPos + self.Owner:GetAimVector()*2000000000
		trace3.filter=tracer2.Entity
		local tracer3 = util.TraceLine( trace3 )
		util.BlastDamage(self.Owner,self.Owner,tracer3.HitPos,64,self.Primary.Damage)
		if tracer3.Hit then
		local fx6 = EffectData()
		fx6:SetOrigin(tracer3.HitPos)
		fx6:SetScale(0.5)
		util.Effect( "HelicopterMegaBomb", fx6 )
		local fx7 = EffectData()
		fx7:SetOrigin(tracer3.HitPos)
		fx7:SetScale(0.1)
		util.Effect( "FBG-Explosion", fx7 )
 
		local trace4={}		trace4.start=tracer3.HitPos + self.Owner:GetAimVector()*32
		trace4.endpos=tracer3.HitPos + self.Owner:GetAimVector()*2000000000
		trace4.filter=tracer3.Entity
		local tracer4 = util.TraceLine( trace4 )
		if tracer4.Hit then
		util.BlastDamage(self.Owner,self.Owner,tracer4.HitPos,64,self.Primary.Damage)
 
		local fx8 = EffectData()
		fx8:SetOrigin(tracer4.HitPos)
		fx8:SetScale(0.5)
		util.Effect( "HelicopterMegaBomb", fx8 )
		local fx9 = EffectData()
		fx9:SetOrigin(tracer4.HitPos)
		fx9:SetScale(0.1)
		util.Effect( "FBG-Explosion", fx9 )
 
		local trace5={}		trace5.start=tracer4.HitPos + self.Owner:GetAimVector()*32
		trace5.endpos=tracer4.HitPos + self.Owner:GetAimVector()*2000000000
		trace5.filter=tracer4.Entity
		local tracer5 = util.TraceLine( trace5 )
		if tracer5.Hit then
		util.BlastDamage(self.Owner,self.Owner,tracer5.HitPos,64,self.Primary.Damage)
 
		local fx10 = EffectData()
		fx10:SetOrigin(tracer5.HitPos)
		fx10:SetScale(0.5)
		util.Effect( "HelicopterMegaBomb", fx10 )
		local fx11 = EffectData()
		fx11:SetOrigin(tracer5.HitPos)
		fx11:SetScale(0.1)
		util.Effect( "FBG-Explosion", fx11 )
 
					end
				end
			end
		end