ACTOR WallCheck
{
	Radius 5
	+MISSILE
	+THRUACTORS
	+NOGRAVITY
	States
	{
	Spawn:
	   TNT1 A 3
	   TNT1 A 1 A_Remove(AAPTR_DEFAULT)
		Stop
	death:
	   TNT1 A 2
	   TNT1 A 1 A_Remove(AAPTR_DEFAULT)
		Stop
	}
}

ACTOR RV_OrangeFlame
{
	+NOINTERACTION
	//RenderStyle translucent
	//alpha 0.6
	states
	{
	Spawn:
		RVRF EDCBCDEEFFGH 2 BRIGHT
		stop
	}
}

ACTOR RV_BurningBarrel : BurningBarrel replaces BurningBarrel
{
  States
  {
  Spawn:
    FCAN AAAABBBBCCCC 1 Bright
		{
			A_SpawnItemEx("RV_OrangeFlame", random(-8, 8), random(-3, 8), random(26, 28), 0, -1, 1);
			A_SpawnItemEx("RV_OrangeFlame", random(-6, 6), random(-5, 10), random(26, 28), 0, -1, 1);
			A_SpawnItemEx("RV_OrangeFlame", random(-3, 3), random(-0, 5), random(27, 29), 0, -1, 1);
		}
    Loop
  }
}

ACTOR RV_BlueFlame
{
	+NOINTERACTION
	//RenderStyle translucent
	//alpha 0.5
	states
	{
	Spawn:
		RVFB ABCDEFFGGHH 2 BRIGHT
		stop
	}
}

ACTOR RV_BlueTorch : BlueTorch replaces BlueTorch
{
	states
	{
	Spawn:
		TSTD AAAABBBBCCCCDDDD 1 //BRIGHT
		{
			A_SpawnItemEx("RV_BlueFlame", random(-5, 5), random(-4, 4), random(52, 55), 0, 0, 1);
			A_SpawnItemEx("RV_BlueFlame", random(-4, 4), random(-5, 5), random(52, 55), 0, 0, 1);
			A_SpawnItemEx("RV_BlueFlame", random(-2, 2), random(-2, 2), random(51, 57), 0, 0, random(1,2));
		}
		loop
	}
}

ACTOR RV_ShortBlueTorch : ShortBlueTorch replaces ShortBlueTorch
{
	states
	{
	Spawn:
		SMNT AAAABBBBCCCCDDDD 1 //BRIGHT
		{
			A_SpawnItemEx("RV_BlueFlame", random(-4, 4), random(-3, 3), random(28, 30), 0, 0, 1);
			A_SpawnItemEx("RV_BlueFlame", random(-3, 3), random(-4, 4), random(28, 30), 0, 0, 1);
			A_SpawnItemEx("RV_BlueFlame", random(-2, 2), random(-2, 2), random(27, 31), 0, 0, random(1,2));
		}
		loop
	}
}

ACTOR RV_GreenFlame
{
	+NOINTERACTION
	//RenderStyle translucent
	//alpha 0.5
	states
	{
	Spawn:
		RVFG ABCDEFFGGHH 2 BRIGHT
		stop
	}
}

ACTOR RV_GreenTorch : GreenTorch replaces GreenTorch
{
	states
	{
	Spawn:
		TSTD AAAABBBBCCCCDDDD 1 //BRIGHT
		{
			A_SpawnItemEx("RV_GreenFlame", random(-5, 5), random(-4, 4), random(52, 55), 0, 0, 1);
			A_SpawnItemEx("RV_GreenFlame", random(-4, 4), random(-5, 5), random(52, 55), 0, 0, 1);
			A_SpawnItemEx("RV_GreenFlame", random(-2, 2), random(-2, 2), random(51, 57), 0, 0, random(1,2));
		}
		loop
	}
}

ACTOR RV_ShortGreenTorch : ShortGreenTorch replaces ShortGreenTorch
{
	states
	{
	Spawn:
		SMNT AAAABBBBCCCCDDDD 1 //BRIGHT
		{
			A_SpawnItemEx("RV_GreenFlame", random(-4, 4), random(-3, 3), random(28, 30), 0, 0, 1);
			A_SpawnItemEx("RV_GreenFlame", random(-3, 3), random(-4, 4), random(28, 30), 0, 0, 1);
			A_SpawnItemEx("RV_GreenFlame", random(-2, 2), random(-2, 2), random(27, 31), 0, 0, random(1,2));
		}
		loop
	}
}

ACTOR RV_RedFlame
{
	+NOINTERACTION
	//RenderStyle translucent
	//alpha 0.5
	states
	{
	Spawn:
		RVFR ABCDEFFGGHH 2 BRIGHT
		stop
	}
}

ACTOR RV_RedTorch : RedTorch replaces RedTorch
{
	states
	{
	Spawn:
		TSTD AAAABBBBCCCCDDDD 1 //BRIGHT
		{
			A_SpawnItemEx("RV_RedFlame", random(-5, 5), random(-4, 4), random(52, 55), 0, 0, 1);
			A_SpawnItemEx("RV_RedFlame", random(-4, 4), random(-5, 5), random(52, 55), 0, 0, 1);
			A_SpawnItemEx("RV_RedFlame", random(-2, 2), random(-2, 2), random(51, 57), 0, 0, random(1,2));
		}
		loop
	}
}

ACTOR RV_ShortRedTorch : ShortRedTorch replaces ShortRedTorch
{
	states
	{
	Spawn:
		SMNT AAAABBBBCCCCDDDD 1 //BRIGHT
		{
			A_SpawnItemEx("RV_RedFlame", random(-4, 4), random(-3, 3), random(28, 30), 0, 0, 1);
			A_SpawnItemEx("RV_RedFlame", random(-3, 3), random(-4, 4), random(28, 30), 0, 0, 1);
			A_SpawnItemEx("RV_RedFlame", random(-2, 2), random(-2, 2), random(27, 31), 0, 0, random(1,2));
		}
		loop
	}
}

ACTOR RV_CandleFlame1
{
	+NOINTERACTION
	//RenderStyle add
	//alpha 0.7
	states
	{
	Spawn:
		RVRF E 2 BRIGHT
		RVRF F 2 BRIGHT
		stop
	}
}
ACTOR RV_CandleFlame2
{
	+NOINTERACTION
	RenderStyle add
	alpha 0.7
	states
	{
	Spawn:
		RVRF F 2 BRIGHT
		RVRF H 1 BRIGHT
		stop
	}
}

ACTOR RV_Candlestick : Candlestick replaces Candlestick
{
	states
	{
	Spawn:
		CAND A 1 BRIGHT A_SpawnItemEx("RV_CandleFlame1", random(0, 1), random(0, -1), random(14, 13), 0, 0, 1)
		CAND A 1 BRIGHT A_SpawnItemEx("RV_CandleFlame2", random(0, 1), random(0, -1), random(14, 15), 0, 0, random(0, 1))
		loop
	}
}
ACTOR RV_Candelabra : Candelabra replaces Candelabra
{
	states
	{
	Spawn:
		Spawn:
		CBRA A 0 NoDelay A_JumpIf(GetCVAR("sv_wallcheck") == 0, "Idle")
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,0,20,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",16)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,0,-20,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",16)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,20,0,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",16)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,-20,0,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",16)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,0,20,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",24)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,0,-20,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",24)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,20,0,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",24)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,-20,0,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",24)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,0,20,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",40)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,0,-20,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",40)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,20,0,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",40)
		CBRA A 2 A_SpawnItemEX("WallCheck",0,0,32,-20,0,0,0,SXF_ISTARGET|SXF_ABSOLUTEVELOCITY)
		CBRA A 0 A_CheckProximity("Turning","WallCheck",40)
		CBRA A 0 A_SetAngle(270)
		Goto Idle
	Turning:
		CBRA A 1 A_FaceTarget
		CBRA A 1 A_SetAngle(180+Angle)
		Goto Idle
	Idle:
		CBRA A 1 BRIGHT
			{
				A_SpawnItemEx("RV_CandleFlame1", random(0, 1), random(0, 1), random(62, 61), 0, 0, 1);
				A_SpawnItemEx("RV_CandleFlame1", random(0, 1), random(-10, -9), random(58, 57), 0, 0, 1);
				A_SpawnItemEx("RV_CandleFlame1", random(0, 1), random(11, 10), random(58, 57), 0, 0, 1);
			}
		CBRA A 1 BRIGHT
			{
				A_SpawnItemEx("RV_CandleFlame2", random(0, 1), random(0, 1), random(63, 64), 0, 0, random(0, 1));
				A_SpawnItemEx("RV_CandleFlame2", random(0, 1), random(-10, -9), random(58, 59), 0, 0, random(0, 1));
				A_SpawnItemEx("RV_CandleFlame2", random(0, 1), random(11, 10), random(58, 59), 0, 0, random(0, 1));
			}
		loop
	}
}