ACTOR G2_HeartColumn
{
	Radius 16
	Height 40
	ProjectilePassHeight -16
	+SOLID
	-RANDOMIZE
	States
	{
		Spawn:
			COL5 A 0 A_PlaySound("Player/Heartbeat")
			COL5 AAA 6 A_LookEx(LOF_NOSOUNDCHECK, 0, 50, 0, 360, "Taken")
			COL5 BBB 6 A_LookEx(LOF_NOSOUNDCHECK, 0, 50, 0, 360, "Taken")
			Loop
		Taken:
			COL5 C 0 A_GiveToTarget("G2_Souls", 1)
			COL5 C 0 A_SpawnItemEx("Blood", 0, 0, 40)
			COL5 C 0 ACS_NamedExecuteWithResult("G2_GiveCollectible", 4)
			COL5 C 35
		FadingOut:
			COL5 CCC 1 A_SpawnItemEx("G2_PlayerShadow2", 30, 0, 0, 0, 0, 0, random(0, 360), SXF_NOCHECKPOSITION | SXF_CLIENTSIDE)
			COL5 C 0 A_FadeOut(0.075)
			Loop
	}
}

actor G2_HeartSpot 32102
{
	//$Sprite INFOC0
	//$Category Ghosted 2 - Ending
	scale 0.5
	+INVISIBLE
	+SERVERSIDEONLY
	States
	{
		Spawn:
			INFO CC 4
			INFO C 0 ACS_NamedExecuteAlways("Ending_Register", 0)
		Looping:
			INFO C -1
			stop
	}
}

ACTOR G2_CoreEnding
{
	Radius 16
	Height 40
	ProjectilePassHeight -16
	Scale 0.275
	+SOLID
	-RANDOMIZE
	States
	{
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("Global/Core", CHAN_7, 1.0, 1)
		Looping:
			PMSG Z 1 A_SpawnItemEx("G2_PlayerShadow3", -200, 0, 0, 0, 0, 0, random(0, 360), SXF_NOCHECKPOSITION | SXF_CLIENTSIDE)
			PMSG Z 0 A_LookEx(LOF_NOSOUNDCHECK, 0, 90, 0, 360, "Taken")
			Loop
		Taken:
			TNT1 A 0 ACS_NamedExecuteWithResult("G2_GiveCollectible", 1)
			TNT1 A 0 A_StopSound(CHAN_7)
			TNT1 AAAAAAAAAA 0 A_SpawnItemEx("Blood", random(32, 256), 0, 200, 0, 0, 0, random(0, 360), SXF_NOCHECKPOSITION | SXF_CLIENTSIDE)
		FadingOut:
			//TNT1 AAA 1 A_SpawnItemEx("G2_PlayerShadow2", 200, 0, 0, 0, 0, 0, random(0, 360), SXF_NOCHECKPOSITION | SXF_CLIENTSIDE)
			TNT1 A 1 A_FadeOut(0.075)
			Loop
	}
}

actor G2_CoreSpot 32105
{
	//$Sprite INFOC0
	//$Category Ghosted 2 - Ending
	scale 0.5
	+INVISIBLE
	+SERVERSIDEONLY
	States
	{
		Spawn:
			INFO CC 4
			INFO C 0 ACS_NamedExecuteAlways("Ending_Register", 0)
		Looping:
			INFO C -1
			stop
	}
}

actor G2_GenericEndSpot 32106
{
	//$Sprite INFOC0
	//$Category Ghosted 2 - Ending
	scale 0.5
	+INVISIBLE
	+SERVERSIDEONLY
	States
	{
		Spawn:
			INFO CC 4
			INFO C 0 ACS_NamedExecuteAlways("Ending_Register", 0)
		Looping:
			INFO C -1
			stop
	}
}

actor G2_GenericEnding {
	+NOGRAVITY
	States {
		Spawn:
			TNT1 A -1
			loop
	}
}


actor G2_Souls : Inventory
{
	Inventory.MaxAmount 5
}

actor RaveStick {
	+CLIENTSIDEONLY
	height 8
	radius 8
	+THRUACTORS

	renderstyle add
	alpha 1.0

	scale 0.3

	States {
		Spawn:
			GSTC ABC 4
			loop
	}
}

actor G2_CollectiblePage : Inventory // Cursed page
{
	Inventory.MaxAmount 1
}

actor G2_CollectiblePhoto : Inventory // Final moment
{
	Inventory.MaxAmount 1
}

actor G2_CollectibleSubwayTicket : Inventory // Subway ticket
{
	Inventory.MaxAmount 1
}

actor G2_CollectibleHeart : Inventory // Wicked heart
{
	Inventory.MaxAmount 1
}

actor G2_CollectibleGift : Inventory // A gift
{
	Inventory.MaxAmount 1
}

actor G2_CollectibleLighter : Inventory // Shimmering light
{
	Inventory.MaxAmount 1
}
