class CeilingLamp : SquareActor
{
	Default
	{
		+CLIENTSIDEONLY;
		+SPAWNCEILING;
		+NOGRAVITY;
	}
	States
	{
	Spawn:
		LAMP A -1 Bright;
		Stop;
	}
}

class TableLamp : SquareActor
{
	Default
	{
		+CLIENTSIDEONLY;
	}
	States
	{
	Spawn:
		LAMP B -1 Bright;
		Stop;
	}
}

class SquareCandle1 : SwitchableDecoration
{
	Default
	{
		Radius 4;
	}
	States
	{
	Spawn:
	Active:
		CND1 BC 4 Bright;
		Loop;
	Inactive:
		CND1 A -1;
		Stop;
	}
}

class SquareCandle2 : SwitchableDecoration
{
	Default
	{
		Radius 4;
	}
	States
	{
	Spawn:
	Active:
		CND2 BC 4 Bright;
		Loop;
	Inactive:
		CND2 A -1;
		Stop;
	}
}

class SquareCandle3 : SwitchableDecoration
{
	Default
	{
		Radius 4;
	}
	States
	{
	Spawn:
	Active:
		CND3 BC 4 Bright;
		Loop;
	Inactive:
		CND3 A -1;
		Stop;
	}
}

class DeskLamp : SquareActor
{
	Default
	{
		+CLIENTSIDEONLY;
	}
	States
	{
	Spawn:
		LAMP C -1;
		Stop;
	}
}

class SquareTorch : SwitchableDecoration
{
	//args[0] no sound?

	Default
	{
		Radius 16;
		Height 56;
		ProjectilePassHeight -16;
		+SOLID;
		+FORCEYBILLBOARD;
	}
	States
	{
	Spawn:
	Active:
		TNT1 A 0;
		TNT1 A 0 A_JumpIf(args[0] > 0, "TorchLoop");
		TNT1 A 0 A_PlaySound("ambience/fire/light", 5, 0.5, 1);
	TorchLoop:
		TORC ABCD 4 Bright;
		Goto TorchLoop;
	Inactive:
		TNT1 A 0;
		TNT1 A 0 A_StopSound(5);
		TORC E -1;
		Stop;
	}
}

class SquarePurpleTorch : SquareTorch { } // Translation "34:38=34:38"
class SquareRedTorch    : SquareTorch { Default { Translation "34:38=198:202"; } }
class SquareOrangeTorch : SquareTorch { Default { Translation "34:38=146:150"; } }
class SquareYellowTorch : SquareTorch { Default { Translation "34:38=246:250"; } }
class SquareGreenTorch  : SquareTorch { Default { Translation "34:38=116:120"; } }
class SquareBlueTorch   : SquareTorch { Default { Translation "34:38=70:74"; } }

class SquareTechPillar : SquareActor
{
	Default
	{
		Radius 16;
		Height 128;
		ProjectilePassHeight -16;
		+SOLID;
		+FORCEYBILLBOARD;
	}
	States
	{
	Spawn:
		ELEC A -1 Bright;
		Stop;
	}
}

class SquareColumn : SquareActor
{
	Default
	{
		Radius 16;
		Height 48;
		ProjectilePassHeight -16;
		+SOLID;
		+FORCEYBILLBOARD;
	}
	States
	{
	Spawn:
		COLU A -1 Bright;
		Stop;
	}
}

class SquareColumnRed : SquareColumn
{
	States
	{
	Spawn:
		COLU B -1 Bright;
		Stop;
	}
}

class SquareColumnOrange : SquareColumn
{
	States
	{
	Spawn:
		COLU C -1 Bright;
		Stop;
	}
}

class SquareColumnYellow : SquareColumn
{
	States
	{
	Spawn:
		COLU D -1 Bright;
		Stop;
	}
}

class SquareColumnGreen : SquareColumn
{
	States
	{
	Spawn:
		COLU E -1 Bright;
		Stop;
	}
}

class SquareColumnBlue : SquareColumn
{
	States
	{
	Spawn:
		COLU F -1 Bright;
		Stop;
	}
}

class SquareColumnPurple : SquareColumn
{
	States
	{
	Spawn:
		COLU G -1 Bright;
		Stop;
	}
}

class SquareTechPillarRed : SquareTechPillar
{
	States
	{
	Spawn:
		ELEC B -1 Bright;
		Stop;
	}
}

class SquareTechPillarOrange : SquareTechPillar
{
	States
	{
	Spawn:
		ELEC C -1 Bright;
		Stop;
	}
}

class SquareTechPillarYellow : SquareTechPillar
{
	States
	{
	Spawn:
		ELEC D -1 Bright;
		Stop;
	}
}

class SquareTechPillarGreen : SquareTechPillar
{
	States
	{
	Spawn:
		ELEC E -1 Bright;
		Stop;
	}
}

class SquareTechPillarBlue : SquareTechPillar
{
	States
	{
	Spawn:
		ELEC F -1 Bright;
		Stop;
	}
}

class SquareTechPillarPurple : SquareTechPillar
{
	States
	{
	Spawn:
		ELEC G -1 Bright;
		Stop;
	}
}

class CityLamp : SquareActor
{
	Default
	{
		Radius 16;
		Height 128;
		+SOLID;
		+FORCEYBILLBOARD;
	}
	States
	{
	Spawn:
		CLMP A -1 Bright;
		Stop;
	}
}

class SurveyLight : SquareActor
{
	Default
	{
		+SOLID;
		+DONTBLAST;
		Height 48;
		Radius 12;
	}
	States
	{
	Spawn:
		SRVL A -1 Bright;
		Stop;
	}
}

class BeaconRed : SquareActor
{
	Default
	{
		+SOLID;
		+DONTBLAST;
		+RANDOMIZE;
		Height 64;
		Radius 5;
	}
	States
	{
	Spawn:
		BEAC ABCB 4 Bright;
		Loop;
	}
}

class BeaconOrange : BeaconRed { Default { Translation "192:207=144:159"; } }
class BeaconYellow : BeaconRed { Default { Translation "192:207=240:254"; } }
class BeaconGreen  : BeaconRed { Default { Translation "192:207=112:127"; } }
class BeaconBlue   : BeaconRed { Default { Translation "192:207=65:79"; } }
class BeaconViolet : BeaconRed { Default { Translation "192:207=32:47"; } }

class SquareBrazier : SwitchableDecoration
{
	Default
	{
		Radius 16;
		Height 24;
		ProjectilePassHeight -16;
		+FORCEYBILLBOARD;
	}
	States
	{
	Spawn:
	Active:
		TNT1 A 0;
		TNT1 A 0 A_JumpIf(args[0] > 0, "TorchLoop");
		TNT1 A 0 A_PlaySound("ambience/fire/light", 5, 0.25, 1);
	TorchLoop:
		BRAZ ABCD 4 Bright;
		Goto TorchLoop;
	Inactive:
		TNT1 A 0;
		TNT1 A 0 A_StopSound(5);
		BRAZ E -1;
		Stop;
	}
}

class SquarePurpleBrazier : SquareBrazier { } // Translation "34:38=34:38"
class SquareRedBrazier    : SquareBrazier { Default { Translation "34:38=198:202"; } }
class SquareOrangeBrazier : SquareBrazier { Default { Translation "34:38=146:150"; } }
class SquareYellowBrazier : SquareBrazier { Default { Translation "34:38=246:250"; } }
class SquareGreenBrazier  : SquareBrazier { Default { Translation "34:38=116:120"; } }
class SquareBlueBrazier   : SquareBrazier { Default { Translation "34:38=70:74"; } }

class SimpleBulb : SquareActor
{
	Default
	{
		+CLIENTSIDEONLY;
		+SPAWNCEILING;
		+NOGRAVITY;
	}
	States
	{
	Spawn:
		LAMP D -1 Bright;
		Stop;
	}
}
