actor G2_Ghost1 {
	scale 0.45
	height 56
	radius 20
	renderstyle add
	alpha 0.9

	speed 14

	States {
		Spawn:
			TNT1 A 8 A_LookEx(LOF_NOSOUNDCHECK,2000,4096,0,360,"Fadein")
			TNT1 A 0 A_Chase
			loop
		FadeIn:

			GAST A 1 bright
		See:
			GAST AAAAAAAAAAAAAAAAAAA 8 bright A_LookEx(LOF_NOSOUNDCHECK,0,1600,0,360,"Fadeout")
			GAST A 0 A_Jump(32,"Fadeout")
			GAST A 8 bright A_LookEx(LOF_NOSOUNDCHECK,1600,4096,0,360,"See")
			goto Spawn
		Fadeout:
			GAST A 0
			GAST AAAAAAA 0 A_SpawnItemEx("Blood")
			GAST AAA 0 A_SpawnItemEx("Stimpack",random(-8,8),random(-8,8))
		FadeOutLoop:
			GAST A 1 bright A_FadeOut(0.1)
			loop

	}
}

actor G2_Ghost2 {
	height 20
	radius 20

	renderstyle translucent
	alpha 1.0

	speed 10

	scale 0.95

	States {
		Spawn:
			TNT1 BBB 0 A_Chase
			TNT1 B 1 A_LookEx(0, 0, 4096, 384, 360, "See1")
			TNT1 B 0 A_Chase
			TNT1 B 1 A_LookEx(0, 0, 4096, 384, 360, "See1")
			TNT1 B 0 A_Chase
			TNT1 B 1 A_LookEx(0, 0, 4096, 384, 360, "See1")

			TNT1 B 0 A_Jump(1,"Die")
			loop
		See1:
			GAST B 64
			GAST B 0 A_LookEx(0, 0, 128, 128, 360, "See1")
			GAST B 0 A_JumpIf(ACS_ExecuteWithResult(606), "See1")
			goto Spawn
		
		Die:
			TNT1 A 0
			stop

	}
}

actor G2_PeekingGhostSpot 32120 {
	+SERVERSIDEONLY
	scale 0.5
	radius 8
	height 8
	+NOGRAVITY
	renderstyle none
	alpha 1.0
	States {
		Spawn:
			GAST C 0
			TNT1 A -1 Thing_ChangeTID(0, 3492)
			loop
	}
}

actor G2_PeekingGhostSpot2 : G2_PeekingGhostSpot 32121 {
	States {
		Spawn:
			GAST D 0
			TNT1 A -1 Thing_ChangeTID(0, 3493)
			loop
	}
}

actor G2_PeekingGhost {
	+CLIENTSIDEONLY
	scale 0.5
	radius 2
	height 8
	+NOGRAVITY
	+THRUACTORS
	renderstyle translucent
	alpha 1.0
	States {
		Spawn:
			GAST C 0
			GAST C 0 Thing_ChangeTID(0, 3494)
			GAST C 0 ACS_NamedExecuteWithResult("Ghosted_PeekingGhost")
			GAST C -1 bright
			loop
	}
}

actor G2_PeekingGhost2 : G2_PeekingGhost  {
	States {
		Spawn:
			GAST D 0
			GAST D 0 Thing_ChangeTID(0, 3494)
			GAST D 0 ACS_NamedExecuteWithResult("Ghosted_PeekingGhost", 1)
			GAST D -1 bright
			loop
	}
}

actor G2_PlayerShadow
{
	renderstyle subtract
	alpha 0.5
	height 72
	radius 16
	+NOGRAVITY	
	+CLIENTSIDEONLY
	+NOCLIP
	+NOINTERACTION
	yscale 1.3
	xscale 1.22
	States
	{
		Spawn:
		Looping:
			FCLS A 1
			FCLS A 0 A_FadeOut(0.025)
			loop
	}
}

actor G2_PlayerShadow2
{
	renderstyle subtract
	alpha 0.85
	height 72
	radius 16
	+NOGRAVITY	
	+CLIENTSIDEONLY
	+NOCLIP
	+NOINTERACTION
	yscale 1.3
	xscale 1.22
	States
	{
		Spawn:
			FCLS A 0
			FCLS A 0 A_PlaySound("PlayerFaker/Scream")
		Looping:
			FCLS AAA 2 A_Recoil(-1)
			FCLS A 0 A_FadeOut(0.1)
			
			FCLS BBB 2 A_Recoil(-1)
			FCLS B 0 A_FadeOut(0.1)
			
			FCLS CCC 2 A_Recoil(-1)
			FCLS C 0 A_FadeOut(0.125)
			
			FCLS DDD 2 A_Recoil(-1)
			FCLS D 0 A_SetAngle(angle + 10)
			FCLS D 0 A_FadeOut(0.15)
			
			loop
	}
}

actor G2_PlayerShadow3 : G2_PlayerShadow2
{
	States
	{
		Spawn:
			FCLS AAA 2 A_Recoil(-0.1)
			FCLS A 0 A_FadeOut(0.05)
			
			FCLS BBB 2 A_Recoil(-0.1)
			FCLS B 0 A_FadeOut(0.05)
			
			FCLS CCC 2 A_Recoil(-0.1)
			FCLS C 0 A_FadeOut(0.25)
			
			FCLS DDD 2 A_Recoil(-0.1)
			FCLS D 0 A_SetAngle(angle + 10)
			FCLS D 0 A_FadeOut(0.1)
			
			loop
	}
}

actor G2_PlayerDeath
{
	renderstyle translucent
	alpha 1.0
	height 72
	radius 16
	+NOGRAVITY	
	+CLIENTSIDEONLY
	+NOCLIP
	+NOINTERACTION
	yscale 1.3
	xscale 1.22
	States
	{
		Spawn:
			PLAY HHHHHH 1 A_SpawnItemEx("G2_BloodParticle",random(-8,8),random(-8,8),random(15,45) ,random(-10,10),random(-3,3),random(2,10))
			PLAY I 0 A_PlaySound("PlayerFaker/Death")
			PLAY IIIIIIIIII 1 A_SpawnItemEx("G2_BloodParticle2",random(-8,8),random(-8,8),random(15,45) ,random(-10,10),random(-3,3),random(2,10))
			PLAY J 0 A_NoBlocking
			PLAY JJJJJJJJJJ 1 A_SpawnItemEx("G2_BloodParticle",random(-8,8),random(-8,8),random(15,45) ,random(-10,10),random(-3,3),random(2,10))
			PLAY KKKKKKKKKKLLLLLLLLLLMMMMMMMMMM 1 A_SpawnItemEx("G2_BloodParticle",random(-8,8),random(-8,8),random(15,45) ,random(-10,10),random(-3,3),random(2,10))
			PLAY N 1000
		Looping:
			PLAY N 1
			PLAY N 0 A_FadeOut(0.1)
			loop
	}
}

actor G2_Faceless {
	+CLIENTSIDEONLY
	+NOCLIP
	+NOTARGET

	height 62
	radius 16

	yscale 1.3
	xscale 1.22

	States {
		Spawn:
			FCLS A 1
			loop
		Turn:
			FCLS AAAAAAAAAAA 1 A_FaceTarget(25)
			FLCS A 0 A_PlaySoundEx("Faceless/Idle", "SoundSlot7", true)
			goto See
		See:
			FCLS A 0 A_FaceTarget
			FCLS A 0 A_JumpIfCloser(90, "Stand")
			FCLS AB 4 A_Recoil(-3)
			FCLS A 0 A_FaceTarget
			FCLS A 0 A_JumpIfCloser(90, "Stand")
			FCLS CD 4 A_Recoil(-3)
			loop
		Stand:
			FCLS A 0 A_JumpIfCloser(40, "Backup")
			FCLS A 1 A_Stop
			goto See
		Backup:
			FCLS A 0 A_FaceTarget
			FCLS ABCD 4 A_Recoil(1)
			goto Stand

	}
}

actor G2_HelloGhost 31234 {
	height 62
	radius 16

	yscale 1.3
	xscale 1.22

	+LOOKALLAROUND
	+SOLID
	-COUNTKILL
	States {
		Spawn:
			FCLS A 8 A_Look
			loop
		See:
			FCLS A 0 A_JumpIfCloser(64, "Sorry")
			FCLS A 0 A_JumpIfCloser(1024, "Hello")
			FCLS A 1 A_FaceTarget(2)
			FCLS A 0 A_JumpIfCloser(2048, "See")
			FCLS A 35 A_ClearTarget
			goto Spawn
		Hello:
			FCLS A 0 A_PlaySound("Global/Hello")
			FCLS AADDBBBBBB 5
			goto Waiting
		Sorry:
			FCLS A 0 A_PlaySound("Global/Sorry")
			FCLS ABBAACCBB 5
			goto Waiting
		Waiting:
			FCLS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FaceTarget(2)
			FCLS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FaceTarget(2)
			FCLS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FaceTarget(2)
			FCLS AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FaceTarget(2)
			goto See
	}
}

actor G2_HelloGhost2 : G2_HelloGhost {
	Speed 8
	States {
		Spawn:
			FCLS A 2 A_Look
			loop
		See:
			FCLS A 0 A_JumpIfCloser(64, "Sorry")
			FCLS A 0 A_JumpIfCloser(1024, "Hello")
			FCLS A 1 A_FaceTarget(2)
			FCLS A 0 A_ClearTarget
			FCLS ABCD 6 A_Wander
			FCLS A 0 A_look
			loop
		Hello:
			FCLS A 0 A_FaceTarget
			FCLS A 0 A_PlaySound("Global/Hello")
			FCLS AADDBBBBBB 5 A_FaceTarget(2)
			goto Waiting
		Sorry:
			FCLS A 0 A_FaceTarget
			FCLS A 0 A_PlaySound("Global/Sorry")
			FCLS ABBAACCBB 5 A_Recoil(1)
			goto Waiting
		Waiting:
			FCLS ABCDABCD 6 A_Wander
			goto See
	}
}

actor DancePlayer : G2_Ghost {
	yscale 1.25
	xscale 1.15
	States {
		Spawn:
			PDNC DCBAEFGHFEABC 4
			loop
	}
}

actor G2_ShadowFigureSprite
{
	renderstyle subtract
	alpha 0.5
	height 72
	radius 16
	+NOGRAVITY
	+CLIENTSIDEONLY
	+NOCLIP
	+NOINTERACTION
	+ISMONSTER
	yscale 1.3
	xscale 1.22
	States
	{
		Spawn:
			FCLS A 0
			FCLS A 0 ACS_NamedExecuteWithResult("insanity_shadowFigureScript")
		Looping:
			FCLS A -1 bright
			loop
	}
}

actor G2_ShadowFigure
{
	+NOGRAVITY
	+CLIENTSIDEONLY
	+NOCLIP
	+NOINTERACTION
	+ISMONSTER
	States
	{
		Spawn:
			FCLS A 0
			FCLS A 0 A_SpawnItemEx("G2_ShadowFigureSprite", 0, 0, 0,  0, 0, 0,  0,  SXF_SETMASTER | SXF_NOCHECKPOSITION | SXF_CLIENTSIDE)
		Looping:
			TNT1 A -1
			loop
	}
}

actor G2_CreepyFigure
{
	Renderstyle translucent
	Alpha 1.0
	Scale 0.07
	States
	{
		Spawn:
			GOS2 A -1
			loop
	}
}


actor G2_CreepyFigure2 : G2_CreepyFigure
{
	Renderstyle add
}

actor G2_CreepyFigure3 : G2_CreepyFigure
{
	Renderstyle subtract
}

actor G2_CreepyFigure4 : G2_CreepyFigure {
	Speed 2
	Radius 32
	Height 64
	renderstyle subtract
	States
	{
		Spawn:
			GOS2 AAAAAAAAAAAA 1 A_Wander
			GOS2 A 0 A_PlaySound("Man/Sees")
			loop
	}
}

actor G2_CreepyShadow
{
	Speed 4
	Radius 20
	Height 56
	yscale 1.3
	xscale 1.22
	renderstyle subtract
	alpha 0.1
	States
	{
		Spawn:
			PLAY AAAABBBB 1 A_Wander
			//PLAY C 0 ACS_ExecuteAlways(603,0,0,0,0)
			PLAY CCCCDDDD 1 A_Wander
			loop
	}
}