// CORE ELEMENTS
#include "Actors/G2_Internal.txt"
#include "Actors/G2_VisualActor.txt"
#include "Actors/G2_PageSpot.txt"
#include "Actors/G2_GhostSpot.txt"
#include "Actors/G2_PathNode.txt"

// EFFECTS
#include "Actors/Gore/G2_Blood.txt"
#include "Actors/Gore/G2_Gibs.txt"
#include "Actors/Gore/G2_GoreBlast.txt"
#include "Actors/G2_SlenderSound.txt"
#include "Actors/G2_FogSpawner.txt"
#include "Actors/G2_Rain.txt"
#include "Actors/G2_Snow.txt"
#include "Actors/G2_Flames.txt"
#include "Actors/G2_BubbleSpawner.txt"

// DECORATIONS
#include "Actors/G2_Trees.txt"
#include "Actors/G2_Sink.txt"
#include "Actors/G2_Props.txt"
#include "Actors/G2_Logo.txt"
#include "Actors/G2_Cables.txt"

// ITEMS
#include "Actors/G2_Page.txt"
#include "Actors/G2_Buck.txt"
#include "Actors/Items/G2_ItemSpawner.txt"
#include "Actors/Items/G2_Health.txt"
#include "Actors/Items/G2_Battery.txt"

// ACTIVE LIGHT SOURCES
#include "Actors/Lights/G2_Lights.txt"
#include "Actors/Lights/G2_Torches.txt"
#include "Actors/Lights/G2_Column.txt"
#include "Actors/Lights/G2_TechLamp.txt"
#include "Actors/Lights/G2_TechLamp2.txt"
#include "Actors/Lights/G2_Candlestick.txt"
#include "Actors/Lights/G2_BurningBarrel.txt"
#include "Actors/Lights/G2_StreetLight.txt"

//MISC
#include "Actors/G2_PlayerBlocker.txt"

// PLAYER
#include "Actors/G2_Player.txt"
#include "Actors/G2_GhostPlayer.txt"

// GHOSTS
#include "Actors/Ghosts/G2_Ghost.txt"
#include "Actors/Ghosts/G2_Slenderman.txt"
#include "Actors/Ghosts/G2_Girl.txt"
#include "Actors/Ghosts/G2_Skeleton.txt"
#include "Actors/Ghosts/G2_Additional.txt"
#include "Actors/Ghosts/G2_Changeling.txt"
#include "Actors/Ghosts/G2_Shadow.txt"

actor G2_Weapon : Weapon {}

//WEAPONS
#include "Actors/Weapons/G2_Flashlight.txt"
#include "Actors/Weapons/G2_Matches.txt"
#include "Actors/Weapons/G2_Lighter.txt"
#include "Actors/Weapons/G2_Glowstick.txt"

#include "Actors/G2_Collectibles.txt"

actor NoTeleportFog replaces TeleportFog {
	+CLIENTSIDEONLY
	+NOTIMEFREEZE
	States {
		Spawn:
		TNT1 A 2
		stop
	}
}

actor G2_ClientsideCamera {
	+CLIENTSIDEONLY
	+NOTIMEFREEZE
	+NOGRAVITY
	+NOCLIP
	+THRUACTORS
	+NODAMAGE

	height 2
	radius 2

	renderstyle none

	States {
		Spawn:
			PUFF A -1
			loop
	}
}

actor G2_VersusLight : G2_ClientsideCamera {}
actor G2_VersusLight2 : G2_ClientsideCamera {}

actor G2_Dummy : G2_VisualActor {
	States {
		Spawn:
			TNT1 A -1
			loop
	}
}

actor Em_ClientSkyViewpoint : SkyViewpoint 31000 {
	+NOINTERACTION
	+NOGRAVITY
	States {
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_ChangeFlag("CLIENTSIDE", true)
			TNT1 A 0 Thing_ChangeTID(0, 32200)
			TNT1 A -1
			loop
	}
}