#include "actors/asylumcorpses.txt"

// Strip club lamp
Actor StripClubLamp 31600
{
//$Category ZT2 - Strip Club
//$Title Ceiling Lamp
//$Sprite SLAMA0
Radius 16
Height 50
+SOLID
+SPAWNCEILING
+NOGRAVITY
	States
	{
		Spawn:
			SLAM A -1 Bright
			Stop
	}
}

// Strip club spotlight
Actor StripClubSpotlight90 31601
{
//$Category ZT2 - Strip Club
//$Title Spotlight (90)
//$Sprite SLAMB0
Radius 16
Height 1
+SOLID
+SPAWNCEILING
+NOGRAVITY
	States
	{
		Spawn:
			SLAM B 0
			SLAM B 0 A_JumpIf(Args[0] == 3,"LightCyan")
			SLAM B 0 A_JumpIf(Args[0] == 2,"LightGreen")
			SLAM B 0 A_JumpIf(Args[0] == 1,"LightRed")
			Goto LightWhite
		LightWhite:
			SLAM B 0 A_SpawnItemEx("Volumetric90",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLens",0,0,-30)
			SLAM B 2 Bright
			Loop
		LightCyan:
			SLAM B 0 A_SpawnItemEx("Volumetric90Cyan",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensCyan",0,0,-30)
			SLAM B 2 Bright
			Loop
		LightGreen:
			SLAM B 0 A_SpawnItemEx("Volumetric90Green",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensGreen",0,0,-30)
			SLAM B 2 Bright
			Loop
		LightRed:
			SLAM B 0 A_SpawnItemEx("Volumetric90Red",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensRed",0,0,-30)
			SLAM B 2 Bright
			Loop
		LightOff:
			SLAM B 1
			Loop
	}
}

Actor StripClubSpotlight45 : StripClubSpotlight90 31602
{
//$Title Spotlight (45)
	States
	{
		Spawn:
			SLAM B 0
			SLAM B 0 A_JumpIf(Args[0] == 3,"LightCyan")
			SLAM B 0 A_JumpIf(Args[0] == 2,"LightGreen")
			SLAM B 0 A_JumpIf(Args[0] == 1,"LightRed")
			Goto LightWhite
		LightWhite:
			SLAM B 0 A_SpawnItemEx("Volumetric45",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLens",11,0,-26)
			SLAM B 2 Bright
			Loop
		LightCyan:
			SLAM B 0 A_SpawnItemEx("Volumetric45Cyan",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensCyan",11,0,-26)
			SLAM B 2 Bright
			Loop
		LightGreen:
			SLAM B 0 A_SpawnItemEx("Volumetric45Green",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensGreen",11,0,-26)
			SLAM B 2 Bright
			Loop
		LightRed:
			SLAM B 0 A_SpawnItemEx("Volumetric45Red",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensRed",11,0,-26)
			SLAM B 2 Bright
			Loop
	}
}

Actor StripClubSpotlight20 : StripClubSpotlight90 31603
{
//$Title Spotlight (20)
	States
	{
		Spawn:
			SLAM B 0
			SLAM B 0 A_JumpIf(Args[0] == 3,"LightCyan")
			SLAM B 0 A_JumpIf(Args[0] == 2,"LightGreen")
			SLAM B 0 A_JumpIf(Args[0] == 1,"LightRed")
			Goto LightWhite
		LightWhite:
			SLAM B 0 A_SpawnItemEx("Volumetric20",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLens",13,0,-20)
			SLAM B 2 Bright
			Loop
		LightCyan:
			SLAM B 0 A_SpawnItemEx("Volumetric20Cyan",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensCyan",13,0,-20)
			SLAM B 2 Bright
			Loop
		LightGreen:
			SLAM B 0 A_SpawnItemEx("Volumetric20Green",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensGreen",13,0,-20)
			SLAM B 2 Bright
			Loop
		LightRed:
			SLAM B 0 A_SpawnItemEx("Volumetric20Red",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensRed",13,0,-20)
			SLAM B 2 Bright
			Loop
	}
}

Actor StripClubSpotlight0 : StripClubSpotlight90 31604
{
//$Title Spotlight (0)
	States
	{
		Spawn:
			SLAM B 0
			SLAM B 0 A_JumpIf(Args[0] == 3,"LightCyan")
			SLAM B 0 A_JumpIf(Args[0] == 2,"LightGreen")
			SLAM B 0 A_JumpIf(Args[0] == 1,"LightRed")
			Goto LightWhite
		LightWhite:
			SLAM B 0 A_SpawnItemEx("Volumetric0",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLens",16,0,-19)
			SLAM B 2 Bright
			Loop
		LightCyan:
			SLAM B 0 A_SpawnItemEx("Volumetric0Cyan",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensCyan",16,0,-19)
			SLAM B 2 Bright
			Loop
		LightGreen:
			SLAM B 0 A_SpawnItemEx("Volumetric0Green",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensGreen",16,0,-19)
			SLAM B 2 Bright
			Loop
		LightRed:
			SLAM B 0 A_SpawnItemEx("Volumetric0Red",0,0,0)
			SLAM B 0 A_SpawnItemEx("StripLensRed",16,0,-19)
			SLAM B 2 Bright
			Loop
	}
}

// -- VOLUMETRIC SPOTLIGHT CONES --
ACTOR Volumetric0
{
	+NOINTERACTION
	+CLIENTSIDEONLY
	+NOBLOCKMAP
	Renderstyle Add
	Alpha 0.1
	States
	{
		Spawn:
		SLAM B 3 bright
		Stop
	}
}

ACTOR Volumetric0Cyan : Volumetric0 { }
ACTOR Volumetric0Green : Volumetric0 { }
ACTOR Volumetric0Red : Volumetric0 { }

ACTOR Volumetric20 : Volumetric0 { }
ACTOR Volumetric20Cyan : Volumetric0 { }
ACTOR Volumetric20Green : Volumetric0 { }
ACTOR Volumetric20Red : Volumetric0 { }

ACTOR Volumetric45 : Volumetric0 { }
ACTOR Volumetric45Cyan : Volumetric0 { }
ACTOR Volumetric45Green : Volumetric0 { }
ACTOR Volumetric45Red : Volumetric0 { }

ACTOR Volumetric90 : Volumetric0 { }
ACTOR Volumetric90Cyan : Volumetric0 { }
ACTOR Volumetric90Green : Volumetric0 { }
ACTOR Volumetric90Red : Volumetric0 { }

// -- LIGHT FLARES --
ACTOR StripLens : Volumetric0
{
	Scale 0.2
	+FORCEXYBILLBOARD
	Alpha 0.25
	
	States
	{
		Spawn:
		LFLR A 3 bright
		Stop
	}
}

ACTOR StripLensRed : StripLens
{
	States
	{
		Spawn:
		LFLR B 3 bright
		Stop
	}
}

ACTOR StripLensGreen : StripLens
{
	States
	{
		Spawn:
		LFLR C 3 bright
		Stop
	}
}

ACTOR StripLensCyan : StripLens
{
	States
	{
		Spawn:
		LFLR D 3 bright
		Stop
	}
}

// -- OTHER DECOR --
ACTOR StripClubStool 31605
{
  Radius 12
  Height 34
  //$Category ZT2 - Strip Club
  //$Title Barstool
  //$Sprite STOLA0
  +SOLID
  States
  {
  Spawn:
    STOL A -1
    Stop
  }
}

ACTOR StripperMoney 31606
{
	//$Category ZT2 - Strip Club
    //$Title Stage Money
    //$Sprite STMOA0
	Scale 0.25
	+FLOORCLIP
	+MOVEWITHSECTOR
	+NOINTERACTION
	+CLIENTSIDEONLY
	
	States
	{
		Spawn:
		STMO A -1
		Stop
	}
}

ACTOR StripClubTrash 31607
{
  Radius 16
  Height 40
  //$Category ZT2 - Strip Club
  //$Title Trash Can
  //$Sprite TRSHA0
  Scale 0.9
  +SOLID
  States
  {
  Spawn:
    TRSH A -1
    Stop
  }
}

ACTOR StripClubStool2 31608
{
  Radius 8
  Height 21
  //$Category ZT2 - Strip Club
  //$Title Barstool Small
  //$Sprite STOLB0
  +SOLID
  States
  {
  Spawn:
    STOL B -1
    Stop
  }
}

ACTOR WetFloor 31609
{
  Radius 11
  Height 48
  //$Category ZT2 - Strip Club
  //$Title Wet Floor
  //$Sprite WFLRA0
  +SOLID
  Scale 0.75
  States
  {
  Spawn:
    WFLR A -1
    Stop
  }
}

ACTOR Broom 31610
{
  Radius 3
  Height 60
  //$Category ZT2 - Strip Club
  //$Title Broom
  //$Sprite WFLRB0
  Scale 0.75
  +SOLID
  States
  {
  Spawn:
    WFLR B -1
    Stop
  }
}

ACTOR Mop 31611
{
  Radius 15
  Height 60
  //$Category ZT2 - Strip Club
  //$Title Mop
  //$Sprite WFLRC0
  Scale 0.75
  +SOLID
  States
  {
  Spawn:
    WFLR C -1
    Stop
  }
}

ACTOR PurpleAccent 31612
{
	//$Category ZT2 - Strip Club
    //$Title Table Accent
    //$Sprite ACNTA0
	+FLOORCLIP
	+MOVEWITHSECTOR
	+NOINTERACTION
	+CLIENTSIDEONLY
	Scale 0.5
	
	States
	{
		Spawn:
		ACNT A -1 bright
		Stop
	}
}

ACTOR StripToilet 31613
{
  Radius 15
  Height 52
  //$Category ZT2 - Strip Club
  //$Title Toilet
  //$Sprite TOLTA0
  +SOLID
  States
  {
  Spawn:
    TOLT A -1
    Stop
  }
}

ACTOR StripToiletShit : StripToilet 31614
{
  //$Title Toilet (Shit)
  //$Sprite TOLTB0
  States
  {
  Spawn:
    TOLT B -1
    Stop
  }
}


ACTOR StripToiletHead : StripToilet 31615
{
  //$Title Toilet (Head)
  //$Sprite TOLTC0
  States
  {
  Spawn:
    TOLT C -1
    Stop
  }
}

ACTOR Turd 31616
{
	//$Category ZT2 - Strip Club
    //$Title Turd
    //$Sprite TURDA0
	+FLOORCLIP
	+MOVEWITHSECTOR
	+NOINTERACTION
	+CLIENTSIDEONLY

	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(255,"Turd1","Turd2","Turd3")
		Goto Turd1
	    Turd1:
		TURD A -1
		Stop
		Turd2:
		TURD B -1
		Stop
		Turd3:
		TURD C -1
		Stop
	}
}

ACTOR Lipstick 31617
{
	//$Category ZT2 - Strip Club
    //$Title Lipstick
    //$Sprite LPSTA0
	+FLOORCLIP
	+MOVEWITHSECTOR
	+NOINTERACTION
	+CLIENTSIDEONLY
	Radius 4
	Height 4
	Scale 0.4

	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(255,"LS1","LS2","LS3","LS4","LS5")
		Goto LS1
		
	    LS1:
		LPST A -1
		Stop
		
		LS2:
		LPST B -1
		Stop
		
		LS3:
		LPST C -1
		Stop
		
		LS4:
		LPST D -1
		Stop
		
		LS5:
		LPST E -1
		Stop
	}
}

ACTOR Tampon : Lipstick 31618
{
	//$Category ZT2 - Strip Club
    //$Title Tampon
    //$Sprite TMPNA0

	Scale 0.4

	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(255,"LS1","LS2","LS3","LS4")
		Goto LS1
		
	    LS1:
		TMPN A -1
		Stop
		
		LS2:
		TMPN B -1
		Stop
		
		LS3:
		TMPN C -1
		Stop
		
		LS4:
		TMPN D -1
		Stop
	}
}

ACTOR LightBuzzer 31619
{
	+NOGRAVITY
	+NOBLOCKMAP
	+CLIENTSIDEONLY
	Radius 4
	Height 8
	//$Category ZT2 - Strip Club
    //$Title Light Hum
    //$Sprite TNT1A0
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySoundEx("spotlight/hum","Body",true)
		TNT1 A -1
		Stop
	}
}

ACTOR PurpleAccentCeiling 31620
{
	//$Category ZT2 - Strip Club
    //$Title Ceiling Accent
    //$Sprite PLITA0
	+NOINTERACTION
	+SPAWNCEILING
	+CLIENTSIDEONLY
	Height 16
	
	States
	{
		Spawn:
		PLIT A -1 bright
		Stop
		
		Off:
		PLIT B -1
		Stop
	}
}

ACTOR WallHead 31621
{
	//$Category ZT2 - Strip Club
    //$Title Wall Head 1
    //$Sprite WHEDA0
	
	+NOGRAVITY
	+NOINTERACTION
	+CLIENTSIDEONLY

	States
	{
		Spawn:
		WHED A -1
		Stop
	}
}

ACTOR WallHead2 : WallHead 31622
{
    //$Title Wall Head 2
    //$Sprite WHEDB0
	
	States
	{
		Spawn:
		WHED B -1
		Stop
	}
}

ACTOR WallHead3 : WallHead 31623
{
    //$Title Wall Head 3
    //$Sprite WHEDB0
	
	States
	{
		Spawn:
		WHED C -1
		Stop
	}
}

ACTOR DeadTrader 31624
{
  Radius 16
  Height 72
  //$Category ZT2 - Strip Club
  //$Title Dead Trader
  //$Sprite DTRAA0
  +SOLID
  +NOGRAVITY
  +SPAWNCEILING
  States
  {
  Spawn:
    DTRA A -1
    Stop
  }
}

ACTOR AdminChair 31625
{
  Radius 20
  Height 44
  //$Category ZT2 - Strip Club
  //$Title Admin Chair
  //$Sprite OCHRA0
  +SOLID
  States
  {
  Spawn:
    OCHR A -1
    Stop
  }
}

ACTOR GlassPlant 31626
{
  Radius 20
  Height 44
  //$Category ZT2 - Strip Club
  //$Title Glass Plant
  //$Sprite PLNTA0
  Scale 0.75
  +SOLID
  States
  {
  Spawn:
    PLNT A -1
    Stop
  }
}

ACTOR CeilingGuts 31627
{
	+CLIENTSIDEONLY
	+NOGRAVITY
	+SPAWNCEILING
	
	//$Category ZT2 - Strip Club
  //$Title Ceiling Dripper
  //$Sprite FGUTE0
  
	Radius 16
	Height 4
	
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(255,"Ceiling1","Ceiling2","Ceiling3")
		Goto Ceiling1
		
		Ceiling1:
		FGUT E 24 A_SpawnItemEx("ZTBloodDrop",0,0,0)
		Loop
		
		Ceiling2:
		FGUT F 30 A_SpawnItemEx("ZTBloodDrop",0,0,0)
		Loop
		
		Ceiling3:
		FGUT G 35 A_SpawnItemEx("ZTBloodDrop",0,0,0)
		Loop
	}
}

ACTOR ShardSpawn
{
	+NOGRAVITY
	+NOBLOCKMAP
	+CLIENTSIDEONLY
	States
	{
		Spawn:
		TNT1 A 0 
		TNT1 AAAAAAAA 0 A_SpawnItemEx("StripperShard",0,random(-32,32),random(32,64),random(5,10),0,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("StripperShard",0,random(-32,32),random(-64,-32),random(5,10),0,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("StripperShard",0,random(-32,32),random(-32,32),random(5,10),0,0)
		TNT1 A 1
		Stop
	}
}

ACTOR StripperShard
{
	+CLIENTSIDEONLY
	+NOCLIP
	+NOBLOCKMAP
	Gravity 0.5
	Renderstyle Translucent
	Alpha 0.5
	Scale 0.5
	States
	{
		Spawn:
		SSHR A 128
		SSHR AAAAAAAAAA 1 A_FadeOut(0.1)
		stop
	}
}