AddCSLuaFile()



ENT.Type = "anim"



if not CLIENT then return end



ENT.RenderGroup = RENDERGROUP_TRANSLUCENT



ENT.ColorModulation = Color(1, 0.5, 1)

ENT.Seed = 0



function ENT:Initialize()

	self.Seed = math.Rand(0, 10)

end



local matWireframe = Material("models/wireframe")

local matWhite = Material("models/debug/debugwhite")

function ENT:DrawTranslucent()

	if not MySelf:IsValid() or MySelf:Team() ~= TEAM_HUMAN then

		self:DrawModel()

		return

	end



	local time = (CurTime() * 1.5 + self.Seed) % 2



	self:DrawModel()



	if time <= 1 and EyePos():Distance(self:GetPos()) <= 1024 then

		self.NoDrawSubModels = true



		local oldscale = self:GetModelScale()

		local normal = self:GetUp()

		local rnormal = normal * -1

		local mins = self:OBBMins()

		local dist = self:OBBMaxs().z - mins.z

		mins.x = 0

		mins.y = 0

		local pos = self:LocalToWorld(mins)



		self:SetModelScale(oldscale * 1.01, 0)



		if render.SupportsVertexShaders_2_0() then

			render.EnableClipping(true)

			render.PushCustomClipPlane(normal, normal:Dot(pos + dist * time * normal))

			render.PushCustomClipPlane(rnormal, rnormal:Dot(pos + dist * time * 1.25 * normal))

		end



		render.SetColorModulation(self.ColorModulation.r, self.ColorModulation.g, self.ColorModulation.b)

		render.SuppressEngineLighting(true)



		render.SetBlend(0.15)

		render.ModelMaterialOverride(matWhite)

		self:DrawModel()



		render.SetBlend(0.4)

		render.ModelMaterialOverride(matWireframe)

		self:DrawModel()



		render.ModelMaterialOverride(0)

		render.SuppressEngineLighting(false)

		render.SetBlend(1)

		render.SetColorModulation(1, 1, 1)



		if render.SupportsVertexShaders_2_0() then

			render.PopCustomClipPlane()

			render.PopCustomClipPlane()

			render.EnableClipping(false)

		end

		self:SetModelScale(oldscale, 0)



		self.NoDrawSubModels = false

	end

end

