--[[
| This file was obtained through the combined efforts
| of Madbluntz & Plymouth Antiquarian Society.
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
| 	Maloy, DrPepper10 @ RIP, Atle!
|
| Visit for more: https://plymouth.thetwilightzone.ru/
--]]

local ix = ix
local CAMI = CAMI
local LocalPlayer = LocalPlayer

local PLUGIN = PLUGIN

PLUGIN.name = "Better Observer"
PLUGIN.author = "Chessnut & Gr4Ss"
PLUGIN.description = "Adds on to the no-clip mode to prevent intrusion. Edited for WN by Gr4Ss."

ix.plugin.SetUnloaded("observer", true)

CAMI.RegisterPrivilege({
	Name = "Helix - Observer",
	MinAccess = "admin"
})

CAMI.RegisterPrivilege({
	Name = "Helix - Observer Extra ESP",
	MinAccess = "superadmin"
})

ix.option.Add("observerTeleportBack", ix.type.bool, true, {
	bNetworked = true,
	category = "Observateur",
	hidden = function()
		return !CAMI.PlayerHasAccess(LocalPlayer(), "Helix - Observer", nil)
	end
})
ix.option.Add("observerESP", ix.type.bool, true, {
	category = "Observateur",
	hidden = function()
		return !CAMI.PlayerHasAccess(LocalPlayer(), "Helix - Observer", nil)
	end
})
ix.option.Add("steamESP", ix.type.bool, true, {
	category = "Observateur",
	hidden = function()
		return !CAMI.PlayerHasAccess(LocalPlayer(), "Helix - Observer", nil)
	end
})
ix.option.Add("mapscenesESP", ix.type.bool, false, {
	category = "Observateur",
	hidden = function()
		return !CAMI.PlayerHasAccess(LocalPlayer(), "Helix - Observer", nil)
	end
})
ix.option.Add("alwaysObserverLight", ix.type.bool, true, {
    category = "Observateur",
    hidden = function()
        return !CAMI.PlayerHasAccess(LocalPlayer(), "Helix - Observer")
    end,
	bNetworked = true
})
ix.option.Add("observerFullBright", ix.type.bool, false, {
    category = "Observateur",
    hidden = function()
        return !CAMI.PlayerHasAccess(LocalPlayer(), "Helix - Observer")
    end,
	bNetworked = true
})

ix.util.Include("cl_hooks.lua")
ix.util.Include("cl_plugin.lua")
ix.util.Include("sv_plugin.lua")

ix.lang.AddTable("english", {
	optSteamESP = "Afficher les informations supplémentaires de l'ESP admin",
	optdSteamESP = "Voir le SteamID d'un joueur et sa santé/armure sur l'ESP admin",
	optMapscenesESP = "Afficher les scènes de la carte ESP",
	optdMapscenesESP = "Montre les emplacements des scènes de carte dans l'ESP d'administration",
	optAlwaysObserverLight = "Toujours allumer la lumière de l'observateur",
    optdAlwaysObserverLight = "Allumez automatiquement votre lampe d'observateur lorsque vous entrez dans l'observateur. Sinon, elle suivra votre lampe de poche. Peut toujours être éteint manuellement",
	optObserverFullBright = "Lumière de l'observateur complète",
    optdObserverFullBright = "Eclairez toute la carte lorsque vous activez la lumière de l'observateur"
})

ix.lang.AddTable("french", {
	optSteamESP = "Afficher les informations supplémentaires de l'ESP admin",
	optdSteamESP = "Voir le SteamID d'un joueur et sa santé/armure sur l'ESP admin",
	optMapscenesESP = "Afficher les scènes de la carte ESP",
	optdMapscenesESP = "Montre les emplacements des scènes de carte dans l'ESP d'administration",
	optAlwaysObserverLight = "Toujours allumer la lumière de l'observateur",
    optdAlwaysObserverLight = "Allumez automatiquement votre lampe d'observateur lorsque vous entrez dans l'observateur. Sinon, elle suivra votre lampe de poche. Peut toujours être éteint manuellement",
	optObserverFullBright = "Lumière de l'observateur Full Bright",
    optdObserverFullBright = "Eclairez toute la carte lorsque vous activez la lumière de l'observateur"
})

ix.lang.AddTable("spanish", {
	optdSteamESP = "Muestra el SteamID de un jugador, su salud/armadura en el admin ESP",
	optdAlwaysObserverLight = "Enciende la luz del observer automáticamente al entrar en él. De lo contrario seguirá tu linterna. Se puede apagar manualmente.",
	optAlwaysObserverLight = "Encender siempre la luz del observer",
	optSteamESP = "Muestra la información extra del Admin ESP",
	optdMapscenesESP = "Mostrar las localizaciones de Escenarios del Mapa en el Admin-ESP.",
	optMapscenesESP = "Mostrar el ESP del Escenario"
})