68 lines
2 KiB
Lua
68 lines
2 KiB
Lua
|
CLASS.Base = "shadow_walker"
|
||
|
|
||
|
CLASS.Name = "Frigid Revenant"
|
||
|
CLASS.TranslationName = "class_frigid_revenant"
|
||
|
CLASS.Description = "description_frigid_revenant"
|
||
|
CLASS.Help = "controls_frigid_revenant"
|
||
|
|
||
|
CLASS.SWEP = "weapon_zs_frigidrevenant"
|
||
|
|
||
|
CLASS.Wave = 4 / 6
|
||
|
|
||
|
CLASS.Health = 300
|
||
|
CLASS.Speed = 180
|
||
|
|
||
|
CLASS.Points = CLASS.Health/GM.HumanoidZombiePointRatio
|
||
|
|
||
|
CLASS.ResistFrost = true
|
||
|
|
||
|
CLASS.Skeletal = true
|
||
|
|
||
|
if not CLIENT then return end
|
||
|
|
||
|
CLASS.Icon = "zombiesurvival/killicons/skeletal_walker"
|
||
|
CLASS.IconColor = Color(50, 90, 135)
|
||
|
|
||
|
local render_SetBlend = render.SetBlend
|
||
|
local render_SetColorModulation = render.SetColorModulation
|
||
|
local render_SetMaterial = render.SetMaterial
|
||
|
local render_DrawSprite = render.DrawSprite
|
||
|
local render_ModelMaterialOverride = render.ModelMaterialOverride
|
||
|
local angle_zero = angle_zero
|
||
|
local LocalToWorld = LocalToWorld
|
||
|
|
||
|
local colGlow = Color(200, 175, 255)
|
||
|
local matGlow = Material("sprites/glow04_noz")
|
||
|
local matBlack = CreateMaterial("shadowlurkersheet", "UnlitGeneric", {["$basetexture"] = "Tools/toolsblack", ["$model"] = 1})
|
||
|
local vecEyeLeft = Vector(5, -3.5, -1)
|
||
|
local vecEyeRight = Vector(5, -3.5, 1)
|
||
|
|
||
|
function CLASS:PrePlayerDraw(pl)
|
||
|
render_SetBlend(0.85)
|
||
|
render_SetColorModulation(0.6, 0.3, 0.8)
|
||
|
end
|
||
|
|
||
|
function CLASS:PostPlayerDraw(pl)
|
||
|
render_SetBlend(1)
|
||
|
render_SetColorModulation(1, 1, 1)
|
||
|
end
|
||
|
|
||
|
function CLASS:PrePlayerDrawOverrideModel(pl)
|
||
|
render_ModelMaterialOverride(matBlack)
|
||
|
end
|
||
|
|
||
|
function CLASS:PostPlayerDrawOverrideModel(pl)
|
||
|
render_ModelMaterialOverride(nil)
|
||
|
|
||
|
if pl == MySelf and not pl:ShouldDrawLocalPlayer() or pl.SpawnProtection then return end
|
||
|
|
||
|
local pos, ang = pl:GetBonePositionMatrixed(6)
|
||
|
if pos then
|
||
|
render_SetMaterial(matGlow)
|
||
|
render_DrawSprite(LocalToWorld(vecEyeLeft, angle_zero, pos, ang), 10, 0.5, colGlow)
|
||
|
render_DrawSprite(LocalToWorld(vecEyeLeft, angle_zero, pos, ang), 4, 4, colGlow)
|
||
|
render_DrawSprite(LocalToWorld(vecEyeRight, angle_zero, pos, ang), 10, 0.5, colGlow)
|
||
|
render_DrawSprite(LocalToWorld(vecEyeRight, angle_zero, pos, ang), 4, 4, colGlow)
|
||
|
end
|
||
|
end
|