ACTOR TurretRocket
{
	radius 8
	height 8
	mass 99999
	speed 0
	health 99999
	MONSTER
	+FRIENDLY
	+FLOORCLIP
	+NODAMAGETHRUST
	//+SOLID
	-ISMONSTER //Makes it spawnable everywhere
	
	states
	{
		Spawn:
			TBAS A 0
			TBAS A 0 A_SpawnItemEx("TurretRocket2_Count", 0, 0, 64)
			TBAS A 0 A_SpawnItemEx("TurretRocket_BuildC1", 32, 32)
			TBAS A 0 A_SpawnItemEx("TurretRocket_BuildC2", -32, 32)
			TBAS A 0 A_SpawnItemEx("TurretRocket_BuildC3", -32, -32)
			TBAS A 0 A_SpawnItemEx("TurretRocket_BuildC4", 32, -32)
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD AB 5 bright
			TBLD A 2 bright
			NULL A 1 A_SpawnItemEx("TurretRocket_Head", 0, 0, 0, 0, 0, 0, 0, SXF_SETMASTER)
			NULL A 1 A_NoBlocking
		Active:
			NULL A 5
			goto Active
	}
}

ACTOR TurretRocket_Baser
{
	radius 8
	height 8
	mass 99999
	speed 0
	health 999999
	-SOLID
	States
	{
		Spawn:
			TBAS D 100
		Fade:
			TBAS D 1 A_FadeOut(0.1)
			goto Fade
	}
}

ACTOR TurretRocket2_Count
{
	radius 3
	height 3
	scale 0.5
	+NOGRAVITY
	
	renderstyle add
	
	States
	{
		Spawn:
			CONT ABCDEFGHIJKL 29 bright
			stop
	}
}

// build column
ACTOR TurretRocket_BuildC1
{
	radius 8
	height 56
	mass 10000
	speed 0
	+FLOORCLIP
	+DONTOVERLAP
	+NODAMAGETHRUST
	+SOLID
	
	states
	{
		Spawn:
			BLDC A 0
			BLDC A 1 A_PlaySound("plats/pt1_strt", CHAN_AUTO)
			BLDC ABCDEFGHI 1
			BLDC I 5
			BLDC J 1
			BLDC K 1
			BLDC L 1
			BLDC M 1
			BLDC N 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC O 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC P 1
			BLDC O 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC N 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC M 1
			BLDC L 1
			BLDC K 1
			BLDC J 1
			BLDC K 1
			BLDC L 1
			BLDC M 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC N 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC O 1
			BLDC P 1
			BLDC O 1
			BLDC N 1
			BLDC M 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC L 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC K 1
			BLDC J 1
			BLDC K 1
			BLDC L 1
			BLDC M 1
			BLDC N 1
			BLDC O 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC P 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC O 1
			BLDC N 1
			BLDC M 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC L 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC K 1
			BLDC IHGFECBA 1
			stop
	}
}
ACTOR TurretRocket_BuildC2
{
	radius 8
	height 56
	mass 10000
	speed 0
	+FLOORCLIP
	+DONTOVERLAP
	+NODAMAGETHRUST
	+SOLID
	
	states
	{
		Spawn:
			BLDC A 0
			BLDC A 1 A_PlaySound("plats/pt1_strt", CHAN_AUTO)
			BLDC ABCDEFGHI 1
			BLDC I 5
			BLDC J 1
			BLDC K 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC L 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC M 1
			BLDC N 1
			BLDC O 1
			BLDC P 1
			BLDC O 1
			BLDC N 1
			BLDC M 1
			BLDC L 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC K 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC J 1
			BLDC K 1
			BLDC L 1
			BLDC M 1
			BLDC N 1
			BLDC O 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC P 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC O 1
			BLDC N 1
			BLDC M 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC L 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC K 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC J 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC K 1
			BLDC L 1
			BLDC M 1
			BLDC N 1
			BLDC O 1
			BLDC P 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC O 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC N 1
			BLDC M 1
			BLDC L 1
			BLDC K 1
			BLDC IHGFECBA 1
			stop
	}
}
ACTOR TurretRocket_BuildC3
{
	radius 8
	height 56
	mass 10000
	speed 0
	+FLOORCLIP
	+DONTOVERLAP
	+NODAMAGETHRUST
	+SOLID
	
	states
	{
		Spawn:
			BLDC A 0
			BLDC A 1 A_PlaySound("plats/pt1_strt", CHAN_AUTO)
			BLDC ABCDEFGHI 1
			BLDC I 5
			BLDC J 1
			BLDC K 1
			BLDC L 1
			BLDC M 1
			BLDC N 1
			BLDC O 1
			BLDC P 1
			BLDC O 1
			BLDC N 1
			BLDC M 1
			BLDC L 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC K 1 A_PlaySound("plats/pt1_pt1_strt", CHAN_AUTO)
			BLDC J 1
			BLDC K 1
			BLDC L 1
			BLDC M 1
			BLDC N 1
			BLDC O 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC P 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC O 1
			BLDC N 1
			BLDC M 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC L 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC K 1
			BLDC J 1
			BLDC K 1
			BLDC L 1
			BLDC M 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC N 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC O 1
			BLDC P 1
			BLDC O 1
			BLDC N 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC M 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC L 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC K 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC IHGFECBA 1
			stop
	}
}
ACTOR TurretRocket_BuildC4
{
	radius 8
	height 56
	mass 10000
	speed 0
	+FLOORCLIP
	+DONTOVERLAP
	+NODAMAGETHRUST
	+SOLID
	
	states
	{
		Spawn:
			BLDC A 0
			BLDC A 1 A_PlaySound("plats/pt1_strt", CHAN_AUTO)
			BLDC ABCDEFGHI 1
			BLDC I 5
			BLDC J 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC K 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC L 1
			BLDC M 1
			BLDC N 1
			BLDC O 1
			BLDC P 1
			BLDC O 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC N 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC M 1
			BLDC L 1
			BLDC K 1
			BLDC J 1
			BLDC K 1
			BLDC L 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC M 1 A_PlaySound("plats/pt1_strt", CHAN_AUTO)
			BLDC N 1
			BLDC O 1
			BLDC P 1
			BLDC O 1
			BLDC N 1
			BLDC M 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC L 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC K 1
			BLDC J 1
			BLDC K 1
			BLDC L 1
			BLDC M 1
			BLDC N 1
			BLDC O 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC P 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC O 1
			BLDC N 50 A_SpawnItemEx("splatEmitter_CFX2", 0, 0, 8)
			BLDC M 1 A_PlaySound("plats/pt1_stop", CHAN_AUTO)
			BLDC L 1
			BLDC K 1
			BLDC IHGFECBA 1
			stop
	}
}


ACTOR TurretRocket_Head : TurretHeadBase
{
	obituary "%o was shot up by a Bullet Turret."
	health 350

	
	states
	{
		Spawn:
			BTRT A 1 A_Look
			BTRT A 0 A_SpawnItemEx("TurretRocket_Baser", 0)
			BTRT A 1 A_SpawnItemEx("TurretBase1", 0)
			NULL A 0 A_JumpIfHealthLower(300,"Spawn2")
			BTRT A 10  A_PlaySound("turret/active", CHAN_AUTO, 6)
			goto Spawn
		Spawn2:
			NULL A 0 A_SpawnItemEx("Smoke",random(-8,8),random(-8,8),56,0,0,random(1,3))
			BTRT A 1 A_Look
			BTRT A 0 A_PlaySoundEx ("TTRTa/Loop", "SoundSlot5", 1)
			BTRT A 1 A_Look
			BTRT A 0 A_SpawnItemEx("TurretRocket_Baser", 0)
			BTRT A 0 A_PlaySoundEx ("TTRTa/Loop", "SoundSlot5", 1)
			BTRT A 1 A_Look
			BTRT A 0 A_PlaySoundEx ("TTRTa/Loop", "SoundSlot5", 1)
			BTRT A 1 A_Look
			BTRT A 0 A_SpawnItemEx("TurretRocket_Baser", 0)
			BTRT A 0 A_PlaySoundEx ("TTRTa/Loop", "SoundSlot5", 1)
			BTRT A 1 A_Look
			BTRT A 0 A_PlaySoundEx ("TTRTa/Loop", "SoundSlot5", 1)
			
			goto Spawn

		See:
			NULL A 0 A_JumpIfhealthLower(200,"See2")
			BTRT A 0 A_SpawnItemEx("TurretRocket_Baser", 0)
			BTRT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Chase
			BTRT A 5  A_PlaySound("turret/active", CHAN_AUTO, 6)
			goto See
		See2:
			NULL A 0 A_SpawnItemEx("Smoke",random(-8,8),random(-8,8),56,0,0,random(1,3))
			BTRT A 0 A_SpawnItemEx("TurretRocket_Baser", 0)
			BTRT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Chase
			BTRT A 5  A_PlaySound("turret/active", CHAN_AUTO, 6)
			goto See2
		Missile:
			NULL A 0 A_JumpIfHealthLower(300,"Missile2")
			BTRT A 2 A_FaceTarget
			BTRT A 0 bright A_CustomMissile("weapons/rocklf")
			BTRT A 0 A_SpawnItemEx("TurretRocket_Baser", 0)
			BTRT A 0 bright A_CustomMissile("Rocket", 70, 16)
			BTRT A 0 bright A_CustomMissile("Rocket", 60, 16)
			BTRT AAAA 1 bright
			BTRT A 2
			goto See
		Missile2:
			BTRT A 2 A_FaceTarget
			BTRT A 0 bright A_PlaySound ("weapons/rocklf")
			BTRT A 0 bright A_CustomMissile("Rocket", 70, 16)
			BTRT A 0 bright A_CustomMissile("Rocket", 60, 16)
			BTRT A 0 A_SpawnItemEx("TurretRocket_Baser", 0)
			NULL A 0 A_SpawnItemEx("Smoke",random(-8,8),random(-8,8),56,0,0,random(1,3))
			BTRT AAAA 1 bright
			BTRT A 2
			goto See
		
		Pain:
			BTRT A 1
			BTRT A 0 A_SpawnItemEx("TurretRocket_Baser", 0)
			BTRT A 1 A_Pain
			goto See
		Death:
			//BTRT A 1 bright A_SpawnItemEx ("Boom", 0, 0, 60, 0, 0, 0, 0, 160)
			BTRT A 0
                        NULL A 0 A_NoBlocking
			BTRT A 1 bright A_SpawnItemEx("explosionemitter_t", 0)
			BTRT A 0 bright A_StopSoundEx ("SoundSlot5")
			BTRT A 0 bright A_PlaySound ("weapons/rocklx")
			BTRT B 1
			
                       		NULL A 0 A_NoBlocking
			NULL A 0 A_KillMaster
			POSS A 0 A_SpawnDebris("splatSandbag1")
			POSS A 0 A_SpawnDebris("splatSandbag2")
			POSS A 0 A_SpawnDebris("splatSandbag3")
			POSS A 0 A_SpawnDebris("splatSandbag1")
			POSS A 0 A_SpawnDebris("splatSandbag2")
			POSS A 0 A_SpawnDebris("splatShard1")
			POSS A 0 A_SpawnDebris("splatShard2")
			POSS A 0 A_SpawnDebris("splatShard3")
			POSS A 0 A_SpawnDebris("splatShard4")
			POSS A 0 A_SpawnDebris("splatShard1")
			POSS A 0 A_SpawnDebris("splatShard2")
			POSS A 0 A_SpawnDebris("splatShard3")
			POSS A 0 A_SpawnDebris("splatShard4")
			
			MISL B 8 bright
			MISL C 6 bright
			MISL D 4 bright
			stop
	}
}