e9da54c2f9
Too many changes to list.
97 lines
7.7 KiB
Lua
97 lines
7.7 KiB
Lua
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
|