ENT.Type = "anim" ENT.Base = "durgz_base" ENT.PrintName = "LSD" ENT.Nicknames = {"LSD", "acid", "a tab", "a few tabs", "an entire vial of LSD", "a glass of LSD"} ENT.OverdosePhrase = {"saw God whilst on", "peed in their mouth after taking", "drank"} ENT.Author = "Jenna Huxley" ENT.Spawnable = true ENT.AdminSpawnable = true ENT.Information = "lol high scientists" ENT.Category = "Drugs" ENT.MODEL = "models/jellik/lsd.mdl" ENT.TRANSITION_TIME = 6 ENT.LASTINGEFFECT = 120; --how long the high lasts in seconds if(SERVER) then end --[[ 1.78 cocntrast 2.62 color multi -.1 brightness 4 green pcp_classic (labelled with epilepsy warning) ]] --function for high visuals if(CLIENT)then killicon.Add("durgz_lsd","killicons/durgz_lsd_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.77; --1 is max, 0 is nothing at all local STROBE_PACE = 25 local cdw, cdw2, cdw3;cdw2 = -1 local function DoLSD25() if(!DURGZ_LOST_VIRGINITY)then return; end local pl = LocalPlayer(); local tab = {} tab[ "$pp_colour_addr" ] = 0 tab[ "$pp_colour_addg" ] = 0 tab[ "$pp_colour_addb" ] = 0 //tab[ "$pp_colour_brightness" ] = 0 //tab[ "$pp_colour_contrast" ] = 1 tab[ "$pp_colour_mulr" ] = 0 tab[ "$pp_colour_mulg" ] = 0 tab[ "$pp_colour_mulb" ] = 0 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_lsd_high_start") && pl:GetNWFloat("durgz_lsd_high_end") > CurTime() )then if( pl:GetNWFloat("durgz_lsd_high_start") + TRANSITION_TIME > CurTime() )then local s = pl:GetNWFloat("durgz_lsd_high_start"); local e = s + TRANSITION_TIME; local c = CurTime(); local pf = (c-s) / (e-s); DrawBloom( 0, pf*.74, 3.18, 2.97, 2, 3.14, 1, 1, 1 ) DrawMaterialOverlay( "effects/water_warp01", pf*.09 ) DrawSharpen(pf*-5,20) pl:SetDSP(26,false) elseif( pl:GetNWFloat("durgz_lsd_high_end") - TRANSITION_TIME < CurTime() )then local e = pl:GetNWFloat("durgz_lsd_high_end"); local s = e - TRANSITION_TIME; local c = CurTime(); local pf = 1 - (c-s) / (e-s); DrawBloom( 0, pf*.74, 3.18, 2.97, 2, 3.14, 1, 1, 1 ) DrawMaterialOverlay( "effects/water_warp01", pf*.09 ) DrawSharpen(pf*-5,20) pl:SetDSP(1,false) else DrawBloom( 0, .74, 3.18, 2.97, 2, 3.14, 1, 1, 1 ) DrawMaterialOverlay( "effects/water_warp01", .09 ) DrawSharpen(-5,20) end end end hook.Add("RenderScreenspaceEffects", "durgz_lsd_high", DoLSD25) end