actor G2_Flames
{
	+CLIENTSIDEONLY
	+NONETID

	States
	{
		Spawn:
			TNT1 A 0
			TNT1 A 0 Thing_ChangeTID(0,3500 + ((random(x,x)+10000)/1000) + (((random(y,y)+10000)/1000)*20))
			TNT1 A 0 A_PlaySound("vile/firecrkl")
			TNT1 AAAAA 2 A_SpawnItemEx("G2_BigRedFlame", random(-12, 12), random(-12, 12), random(0, 8), random(-1, 1), random(-1, 1), random(0, 2))
			TNT1 A 5
			stop
	}
}

actor G2_FlamesServerSide
{
	+SERVERSIDEONLY
	+NOGRAVITY
	+NOCLIP
	States
	{
		Spawn:
			TNT1 A 0
			TNT1 A 15 Thing_ChangeTID(0,3500 + ((random(x,x)+10000)/1000) + (((random(y,y)+10000)/1000)*20))
			stop
	}
}

actor G2_RedFlame
{
	renderstyle add
	alpha 0.98
	xscale 0.175
	yscale 0.175
	+NOGRAVITY
	+CLIENTSIDEONLY
	+NOINTERACTION
	-RANDOMIZE
	States
	{
		Spawn:
			FLMA A 0
			FLMA A 0 Thing_ChangeTid(0, 8002)
			FLMA ABCDE 2 bright A_FadeOut(0.04)
			FLMA CDECDECDECDECDEDCB 2 bright A_FadeOut(0.2)
			loop
	}
}

actor G2_BigRedFlame : G2_RedFlame
{
	yscale 0.4
	xscale 0.55
}

actor G2_RedTorchFlame : G2_RedFlame
{
	//To make sure SFX_SETMASTER is working
	+ISMONSTER

	States
	{
		Spawn:
			FLMA A 0
			FLMA A 0 Thing_ChangeTid(0, 8002)
			FLMA A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
		SpawnLoop:
			FLMA ABCDE 2 bright A_FadeOut(0.04, false)
			FLMA CDE 2 bright A_FadeOut(0.05, false)
			FLMA CDECDECD 2 bright A_FadeOut(0.1, false)
			FLMA A 0 A_SetTranslucent(1.0, 1)
			loop
	}
}

actor G2_BlueFlame : G2_RedFlame
{
	States
	{
		Spawn:
			FLMB A 0
			FLMB A 0 Thing_ChangeTid(0, 8002)
			FLMB ABCDE 2 bright A_FadeOut(0.04)
			FLMB CDECDECDECDECDEDCB 2 bright A_FadeOut(0.2)
			loop
	}
}

actor G2_BlueTorchFlame : G2_RedTorchFlame
{
	States
	{
		Spawn:
			FLMB A 0
			FLMB A 0 Thing_ChangeTid(0, 8002)
			FLMB A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
		SpawnLoop:
			FLMB ABCDE 2 bright A_FadeOut(0.04, false)
			FLMB CDE 2 bright A_FadeOut(0.05, false)
			FLMB CDECDECD 2 bright A_FadeOut(0.1, false)
			FLMB A 0 A_SetTranslucent(1.0, 1)
			loop
	}
}

actor G2_WhiteFlame : G2_RedFlame
{
	States
	{
		Spawn:
			FLMC A 0
			FLMC A 0 Thing_ChangeTid(0, 8002)
			FLMC ABCDE 2 bright A_FadeOut(0.04)
			FLMC CDECDECDECDECDEDCB 2 bright A_FadeOut(0.2)
			loop
	}
}

actor G2_WhiteTorchFlame : G2_RedTorchFlame
{
	States
	{
		Spawn:
			FLMC A 0
			FLMC A 0 Thing_ChangeTid(0, 8002)
			FLMC A 0 A_ChangeVelocity(0, 0, 0, CVF_REPLACE)
		SpawnLoop:
			FLMC ABCDE 2 bright A_FadeOut(0.04, false)
			FLMC CDE 2 bright A_FadeOut(0.05, false)
			FLMC CDECDECD 2 bright A_FadeOut(0.1, false)
			FLMC A 0 A_SetTranslucent(1.0, 1)
			loop
	}
}
