zombiesurvival-evolved/gamemodes/zombiesurvival/entities/weapons/weapon_zs_zeus/cl_init.lua

98 lines
7.7 KiB
Lua
Raw Normal View History

INC_CLIENT()
DEFINE_BASECLASS("weapon_zs_base")
SWEP.VElements = {
["bolt+"] = { type = "Model", model = "models/crossbow_bolt.mdl", bone = "ValveBiped.bolt", rel = "bolt", pos = Vector(0, 0, 0), angle = Angle(0, 0, 79.724), size = Vector(1.016, 1.062, 1.062), color = Color(0, 255, 255, 255), surpresslightning = false, material = "models/props_combine/tpballglow", skin = 1, bodygroup = {} },
["energy_stuff+"] = { type = "Model", model = "models/props_lab/teleportring.mdl", bone = "ValveBiped.Bip01_Spine4", rel = "BASE", pos = Vector(8.802, -2.152, 6.893), angle = Angle(127.42, -180, -88.65), size = Vector(0.075, 0.23, 0.35), color = Color(115, 155, 255, 255), surpresslightning = false, material = "", skin = 0, bodygroup = {} },
["electric_shit2+"] = { type = "Model", model = "models/props_lab/teleportring.mdl", bone = "ValveBiped.Bip01_Spine4", rel = "BASE", pos = Vector(0, -0.872, 11.138), angle = Angle(0, 90, 0), size = Vector(0.072, 0.04, 0.469), color = Color(255, 255, 255, 255), surpresslightning = false, material = "", skin = 0, bodygroup = {} },
["energy_stuff"] = { type = "Model", model = "models/props_lab/teleportring.mdl", bone = "ValveBiped.Bip01_Spine4", rel = "BASE", pos = Vector(-8.903, -2.073, 6.71), angle = Angle(127.42, 0, 89.919), size = Vector(0.075, 0.23, 0.35), color = Color(115, 155, 255, 255), surpresslightning = false, material = "", skin = 0, bodygroup = {} },
["BASE"] = { type = "Model", model = "models/props_debris/wood_board06a.mdl", bone = "ValveBiped.Crossbow_base", rel = "", pos = Vector(-0.073, 0.164, 7.967), angle = Angle(0, 0, 0), size = Vector(0.975, 0.093, 0.319), color = Color(255, 255, 255, 255), surpresslightning = false, material = "models/props_combine/masterinterface_alert", skin = 0, bodygroup = {} },
["element_name+"] = { type = "Sprite", sprite = "sprites/physcannon_blueglow", bone = "ValveBiped.bolt", rel = "BASE", pos = Vector(0, 2.153, -3.922), size = { x = 2.85, y = 2.85 }, color = Color(0, 255, 255, 255), nocull = true, additive = true, vertexalpha = true, vertexcolor = true, ignorez = false},
["electric_shit2++"] = { type = "Model", model = "models/props_combine/breenlight.mdl", bone = "ValveBiped.Bip01_Spine4", rel = "BASE", pos = Vector(0, 2.167, 3.907), angle = Angle(0, -90, 0), size = Vector(0.522, 0.672, 0.754), color = Color(255, 255, 255, 255), surpresslightning = false, material = "", skin = 0, bodygroup = {} },
["bolt"] = { type = "Model", model = "models/crossbow_bolt.mdl", bone = "ValveBiped.bolt", rel = "", pos = Vector(-0.12, -0.046, 17.42), angle = Angle(-90, 0, 0), size = Vector(1.016, 1.062, 1.062), color = Color(0, 255, 255, 255), surpresslightning = false, material = "models/props_combine/tpballglow", skin = 1, bodygroup = {} }
}
SWEP.WElements = {
["bolt"] = { type = "Model", model = "models/crossbow_bolt.mdl", bone = "ValveBiped.Bip01_R_Hand", rel = "", pos = Vector(27.947, -2.761, -3.977), angle = Angle(0.462, -170.174, -177.191), size = Vector(1.016, 1.062, 1.062), color = Color(0, 255, 255, 255), surpresslightning = false, material = "models/props_combine/tpballglow", skin = 1, bodygroup = {} },
["electric_shit2++"] = { type = "Model", model = "models/props_combine/breenlight.mdl", bone = "ValveBiped.Bip01_R_Hand", rel = "BASE", pos = Vector(0.035, 2.154, 2.749), angle = Angle(0, -90, 0), size = Vector(0.522, 0.672, 0.754), color = Color(255, 255, 255, 255), surpresslightning = false, material = "", skin = 0, bodygroup = {} },
["electric_shit2+"] = { type = "Model", model = "models/props_lab/teleportring.mdl", bone = "ValveBiped.Bip01_R_Hand", rel = "BASE", pos = Vector(0, -0.872, 8.756), angle = Angle(0, 90, 0), size = Vector(0.072, 0.028, 0.224), color = Color(255, 255, 255, 255), surpresslightning = false, material = "", skin = 0, bodygroup = {} },
["energy_stuff"] = { type = "Model", model = "models/props_lab/teleportring.mdl", bone = "ValveBiped.Bip01_R_Hand", rel = "BASE", pos = Vector(-9.058, -1.675, 6.152), angle = Angle(125.438, 0.897, 89.919), size = Vector(0.075, 0.23, 0.35), color = Color(115, 155, 255, 255), surpresslightning = false, material = "", skin = 0, bodygroup = {} },
["bolt+"] = { type = "Model", model = "models/crossbow_bolt.mdl", bone = "ValveBiped.Bip01_R_Hand", rel = "bolt", pos = Vector(0, 0, 0), angle = Angle(0, 0, 79.724), size = Vector(1.016, 1.062, 1.062), color = Color(0, 255, 255, 255), surpresslightning = false, material = "models/props_combine/tpballglow", skin = 1, bodygroup = {} },
["element_name+"] = { type = "Sprite", sprite = "sprites/physcannon_blueglow", bone = "ValveBiped.Bip01_R_Hand", rel = "BASE", pos = Vector(0, 2.153, -3.922), size = { x = 2.85, y = 2.85 }, color = Color(0, 255, 255, 255), nocull = true, additive = true, vertexalpha = true, vertexcolor = true, ignorez = false},
["energy_stuff+"] = { type = "Model", model = "models/props_lab/teleportring.mdl", bone = "ValveBiped.Bip01_R_Hand", rel = "BASE", pos = Vector(9.121, -2.024, 6.177), angle = Angle(125.616, -180, -88.65), size = Vector(0.075, 0.23, 0.35), color = Color(115, 155, 255, 255), surpresslightning = false, material = "", skin = 0, bodygroup = {} },
["BASE"] = { type = "Model", model = "models/props_debris/wood_board06a.mdl", bone = "ValveBiped.Bip01_R_Hand", rel = "", pos = Vector(13.421, -0.245, -2.487), angle = Angle(180, 99.782, 90), size = Vector(0.975, 0.093, 0.319), color = Color(255, 255, 255, 255), surpresslightning = false, material = "models/props_combine/masterinterface_alert", skin = 0, bodygroup = {} }
}
SWEP.ViewModelBoneMods = {
["ValveBiped.bowr1"] = { scale = Vector(0.009, 0.009, 0.009), pos = Vector(0, 0, 0), angle = Angle(0, 0, 0) },
["ValveBiped.pull"] = { scale = Vector(0.009, 0.009, 0.009), pos = Vector(0, 0, 0), angle = Angle(0, 0, 0) },
["ValveBiped.bowr2"] = { scale = Vector(0.009, 0.009, 0.009), pos = Vector(0, 0, 0), angle = Angle(0, 0, 0) },
["ValveBiped.bowl1"] = { scale = Vector(0.009, 0.009, 0.009), pos = Vector(0, 0, 0), angle = Angle(0, 0, 0) },
["ValveBiped.bowl2"] = { scale = Vector(0.009, 0.009, 0.009), pos = Vector(0, 0, 0), angle = Angle(0, 0, 0) }
}
SWEP.HUD3DBone = "ValveBiped.Crossbow_base"
SWEP.HUD3DPos = Vector(1.5, 0.5, 11)
SWEP.HUD3DScale = 0.025
SWEP.ViewModelFOV = 65
SWEP.ViewModelFlip = false
SWEP.Slot = 3
SWEP.SlotPos = 0
function SWEP:GetViewModelPosition(pos, ang)
if GAMEMODE.DisableScopes then return end
if self:IsScoped() then
return pos + ang:Up() * 256, ang
end
return BaseClass.GetViewModelPosition(self, pos, ang)
end
function SWEP:DrawHUDBackground()
if GAMEMODE.DisableScopes then return end
if not self:IsScoped() then return end
self:DrawFuturisticScope()
end
local matBeam = Material("trails/electric")
function SWEP:PostDrawViewModel(vm, pl, wep)
if self:IsScoped() then return end
if self.HUD3DPos and GAMEMODE:ShouldDraw3DWeaponHUD() then
local pos, ang = self:GetHUD3DPos(vm)
if pos then
self:Draw3DHUD(vm, pos, ang)
end
end
local veles = self.VElements
local col1, col2 = Color(0, 0, 0, 0), Color(0, 155, 255, 255)
veles["bolt"].color = col1
veles["bolt+"].color = col1
if self:Clip1() < 1 or self:GetNextPrimaryFire() > CurTime() then return end
veles["bolt"].color = col2
veles["bolt+"].color = col2
local attachposlocal = vm:WorldToLocal(vm:GetAttachment(1).Pos)
local attachpos = vm:LocalToWorld(attachposlocal + Vector(6, 1, 0)) + VectorRand() * 2
local offvec = Vector(40, 9, -13)
local vecrand = VectorRand() * 0.4
local part = veles.energy_stuff
local partonepos = vm:LocalToWorld(part.pos + offvec) + vecrand
offvec.y = -20
local parttwopos = vm:LocalToWorld(part.pos + offvec) + vecrand
render.SetMaterial(matBeam)
render.DrawBeam(attachpos, partonepos, 1, math.random(2, 3), 1 + math.random(5, 8), Color(110, 255, 195))
render.DrawBeam(attachpos, parttwopos, 1, math.random(2, 3), 1 + math.random(5, 8), Color(110, 255, 195))
end