/*<><><><><><><><><><><><><><><><><><>*/ /* Server and Client */ /*<><><><><><><><><><><><><><><><><><>*/ if (SERVER) then AddCSLuaFile("shared.lua") SWEP.HoldType = "pistol" end if (CLIENT) then SWEP.PrintName = "Raingun" SWEP.Author = "Vahokif" SWEP.Slot = 4 SWEP.SlotPos = 7 SWEP.ViewModelFOV = 60 SWEP.IconLetter = "x" killicon.AddFont("weapon_ak47", "CSKillIcons", SWEP.IconLetter, Color(255, 80, 0, 255)) end /*<><><><><><><><><><><><><><><><><><>*/ /* Contact Info */ /*<><><><><><><><><><><><><><><><><><>*/ SWEP.Author = "Vahokif" SWEP.Contact = "" SWEP.Purpose = "" SWEP.Instructions = "Spawns rain above target" /*<><><><><><><><><><><><><><><><><><>*/ /* Who can make it? */ /*<><><><><><><><><><><><><><><><><><>*/ SWEP.Spawnable = true SWEP.AdminSpawnable = true /*<><><><><><><><><><><><><><><><><><>*/ /* Weapon Models */ /*<><><><><><><><><><><><><><><><><><>*/ SWEP.ViewModel = "models/weapons/v_hands.mdl" SWEP.WorldModel = "models/weapons/w_pistol.mdl" /*<><><><><><><><><><><><><><><><><><>*/ /* Initialize Function */ /*<><><><><><><><><><><><><><><><><><>*/ function SWEP.Initialize() util.PrecacheModel("models/props_combine/combine_mine01.mdl") util.PrecacheSound("weapons/ar2/ar2-reload-push.wav") util.PrecacheSound("Ion-sounds/rainsound.wav") util.PrecacheSound("weapons/physcannon/physcannon_charge.wav") end /*<><><><><><><><><><><><><><><><><><>*/ /* Reload Function */ /*<><><><><><><><><><><><><><><><><><>*/ function SWEP:Reload() // Does nothing, for now end /*<><><><><><><><><><><><><><><><><><>*/ /* Think Function */ /*<><><><><><><><><><><><><><><><><><>*/ function SWEP:Think() // Does nothing, for now end /*<><><><><><><><><><><><><><><><><><>*/ /* Primary Attack */ /*<><><><><><><><><><><><><><><><><><>*/ function SWEP:PrimaryAttack() local target = self.Owner:GetEyeTrace() if (target.HitWorld && !beacon) then beacon=ents.Create("prop_physics") beacon:SetModel("models/props_combine/combine_mine01.mdl") beacon:SetPos(target.HitPos) beacon:Spawn() beacon:SetMoveType(4) beacon:EmitSound("weapons/ar2/ar2_reload_push.wav",100,100) beacon:EmitSound("Ion-sounds/rainsound.wav",100,100) /* flashy=ents.Create("prop_effect") flashy:SetModel("models/props_combine/portalball.mdl") flashy:SetPos(target.HitPos) flashy:SetAngles(((Vector(180,180,180)):GetNormal()):Angle()) flashy:Spawn()*/ timer.Simple(3,self.Charge,self) end end function SWEP:Charge() timer.Simple(2,self.IonFire,self) beacon:EmitSound("weapons/physcannon/physcannon_charge.wav",100,100) end function SWEP:IonFire() local BeamEnd = ents.Create("info_target") BeamEnd:SetPos(beacon:GetPos()) BeamEndNAME = BeamEnd:SetName("BeamEndName"..BeamEnd:EntIndex()) ENDNAME = BeamEnd:GetName() local BeamStart = ents.Create("info_target") BeamStart:SetPos(beacon:GetPos() + Vector(0,0,2000)) BeamStartNAME = BeamStart:SetName("BeamStartName"..BeamStart:EntIndex()) STARTNAME = BeamStart:GetName() local effectdata = EffectData() effectdata:SetStart(beacon:GetPos()) effectdata:SetOrigin(beacon:GetPos()) effectdata:SetScale(4) local beam = ents.Create("env_beam") beam:SetKeyValue("texture","sprites/bluelaser1") beam:SetKeyValue("rendercolor","210 214 247") beam:SetKeyValue("renderfix","5") //Fades the beam out, can't get it to work beam:SetKeyValue("BoltWidth","50") beam:SetKeyValue("damage","300") beam:SetKeyValue("life","1") beam:SetKeyValue("LightningStart",tostring(STARTNAME)) beam:SetKeyValue("LightningEnd",tostring(ENDNAME)) beam:Spawn() beam:Activate() util.Effect("Explosion", effectdata) timer.Simple(3,beacon:Remove()); beam:Fire("StrikeOnce","",0) beam:Fire("Kill","",1) end /*<><><><><><><><><><><><><><><><><><>*/ /* Secondary Attack */ /*<><><><><><><><><><><><><><><><><><>*/ function SWEP:SecondaryAttack() // Nothing as of now end