ENT.Type = "anim" ENT.Base = "durgz_base" ENT.PrintName = "Methamphetamine" ENT.Nicknames = {"meth", "ice", "speed", "crystal", "tweak", "gear", "crank", "glass", "Blue Sky", "Desoxyn® Sisa"} ENT.OverdosePhrase = {"overdosed on", "smoked too much", "took too much"} ENT.Author = "Walter White" ENT.Category = "Drugs" ENT.Spawnable = true ENT.AdminSpawnable = true ENT.Information = "" ENT.TRANSITION_TIME = 5 if(CLIENT)then killicon.Add("durgz_meth","killicons/durgz_meth_killicon",Color( 255, 80, 0, 255 )) local TRANSITION_TIME = ENT.TRANSITION_TIME; --transition effect from sober to high, high to sober, in seconds how long it will take etc. local HIGH_INTENSITY = 0.8; --1 is max, 0 is nothing at all local function DoMeth() if(!DURGZ_LOST_VIRGINITY)then return; end local pl = LocalPlayer(); local pf;local glass = {} local cdw, cdw2, cdw3;cdw2 = -1 local STROBE_PACE = 1 if( !cdw || cdw < CurTime() )then cdw = CurTime() + STROBE_PACE;cdw2 = cdw2*-1 end if( cdw2 == -1 )then cdw3 = 2 else cdw3 = 0 end local ich = (cdw2*((cdw - CurTime())*(2/STROBE_PACE)))+cdw3 - 1 if( pl:GetNWFloat("durgz_meth_high_start") && pl:GetNWFloat("durgz_meth_high_end") > CurTime() )then if( pl:GetNWFloat("durgz_meth_high_start") + TRANSITION_TIME > CurTime() )then local s = pl:GetNWFloat("durgz_meth_high_start"); local e = s + TRANSITION_TIME; local c = CurTime(); pf = (c-s) / (e-s); --pf = pf*HIGH_INTENSITY glass["$pp_colour_addr"] = 0 glass["$pp_colour_addg"] = 0 glass["$pp_colour_addb"] = pf*.05 glass["$pp_colour_brightness"] = 0 glass["$pp_colour_contrast"] = 1 glass["$pp_colour_colour"] = 1 + (pf/2) DrawColorModify( glass ) --DrawSharpen(pf*(ich*.1), 20) DrawSharpen(pf*(ich*.1),pf*20) DrawMaterialOverlay("highs/invuln_overlay_blue", pf*0.05) pl:SetDSP(59,false) elseif( pl:GetNWFloat("durgz_meth_high_end") - TRANSITION_TIME < CurTime() )then local e = pl:GetNWFloat("durgz_meth_high_end"); local s = e - TRANSITION_TIME; local c = CurTime(); pf = 1 - (c-s) / (e-s); --pf = pf*HIGH_INTENSITY --glass["$pp_colour_contrast"] = 1 + pf/1 glass["$pp_colour_addb"] = pf*.05 glass["$pp_colour_colour"] = 1 + (pf/2) DrawColorModify( glass ) --DrawSharpen(pf*(ich*.1), 20) DrawSharpen(pf*(ich*.1),pf*20) DrawMotionBlur( 0.01, pf*HIGH_INTENSITY, 0); DrawMaterialOverlay("highs/invuln_overlay_blue", pf*0.05) surface.PlaySound("durgz/meth/eyelander_idle01.mp3") if pf < .01 then pl:SetDSP(1) end else --pf = HIGH_INTENSITY; --DrawMaterialOverlay("highs/invuln_overlay_blue", pf*(ich*0.05)) DrawMaterialOverlay("highs/invuln_overlay_blue", 0.05) DrawSharpen(ich*.1, 20) DrawColorModify( glass ) end end end hook.Add("RenderScreenspaceEffects", "durgz_meth_high", DoMeth) end