
// ------------------------------------------------------------
//   Turrette
// ------------------------------------------------------------

ACTOR TurrBall
{
	PROJECTILE
	+SEEKERMISSILE
	+forcexybillboard
	Decal "DoomImpScorch"
	Translation 2
	Radius 4
	Height 6
	Speed 16
	Damage 2
	DamageType "Balefire"
	RenderStyle Add
	SeeSound "turrette/shotf"
	DeathSound "turrette/shotx"
	Scale 0.6
	States
	{
		Spawn:
			BAL7 ABABAABB 2 BRIGHT
			TNT1 A 0 A_GiveInventory ("FirstBullet",1)
			Goto See
		See:
//			TNT1 A 0 A_CheckSight (2)
//			TNT1 A 0 A_Jump (256,2)
//			TNT1 A 0 A_SeekerMissile (2,4)
			BAL7 AB 4 BRIGHT A_SeekerMissile (1,2)
			TNT1 A 0 A_SpawnItemEx ("TurrBallTail", -1, 0, 0, 6, 0, 2)
			TNT1 A 0 ThrustThingZ(0,random(0,2),random(0,1),1)
			TNT1 A 0 ThrustThing(random(0,255), random(0,2),0,0)
			Loop
		Death:
			TNT1 A 0 A_JumpIfInventory("FirstBullet",1,"Shatter")
			BAL7 C 1 bright A_Explode (12, 32)
			BAL7 C 1 bright A_FadeOut (0.1)
			BAL7 D 1 bright A_Explode (8, 24)
			BAL7 DD 1 bright A_FadeOut (0.1)
			BAL7 E 1 bright A_Explode (6, 20)
			BAL7 EE 1 bright A_FadeOut (0.1)
			Stop
		Shatter:
			TNT1 A 2 BRIGHT A_Explode (12, 56)
			TNT1 AAA 1 BRIGHT A_SpawnItemEx ("TurrBallTail", -1, 0, 0, random(1,3), random(-3,3), random(1,4))
			Stop
	}
}
ACTOR TurrBallTail
{
	+nointeraction
	+forcexybillboard
	radius 6
	height 8
	renderstyle add
	translation 2
	scale 0.8
	states
	{
	spawn:
		BAL7 D 4 bright
	spawn2:
		BAL7 E 1 bright A_Explode (8, 24)
		BAL7 EE 1 bright A_FadeOut (0.1)
		loop
	}
}
ACTOR TurretteSpawner
{
	monster
	+noblockmap
	-solid
	+frightened
	+nogravity
	+float
	+lookallaround
	speed 32
	radius 18
	height 24
	Scale 0.6
	health 1
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 1 A_Look
		Loop
	See:
		TNT1 A 0 A_JumpIfCloser (512, 1)
		Goto Drop
		TNT1 A 1 A_Chase
		TNT1 AAAA 0 ThrustThing(random(0,256),3,0,0)
		TNT1 A 0 A_JumpIfTargetInLOS ("See")
	Drop:
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 ThrustThingZ (0, random(0,3), random(0,1), 1)
		TNT1 A 1 A_Jump (16, "Create")
		Loop
	Create:
		TNT1 A 0 A_Stop
		TNT1 A 0 A_SetTranslucent (0.1, 1)
		TURR FFFFEEEEA 3 BRIGHT A_FadeIn (0.1)
		TNT1 A 1 A_SpawnItemEx("Turrette",0,0,0, 0,0,0, 0,48)
		Goto Idle
	Idle:
		TNT1 A 1
		Loop
	Death:
		TNT1 A 1 A_NoBlocking
		TNT1 A -1
		Stop
	Raise:
		TNT1 A 1
		goto See
	}
}
ACTOR Turrette
{
	damagefactor "Thermal", 1.2
	damagefactor "Balefire", 0.1
	MONSTER
	+NOGRAVITY
	+FLOAT
	+MISSILEMORE
	+MISSILEEVENMORE
	+DONTHURTSPECIES
	+PUSHABLE
	+DONTFALL
	-SOLID
	-COUNTKILL
	Health 80
	Radius 18
	Height 24
	Scale 0.6
	Speed 6
	Mass 60
	MeleeDamage 5
	PainChance 80
	Obituary "%o flailed and cursed uselessly at the turette."
	BloodColor "ee ff 44"
	SeeSound "turrette/sight"
	PainSound "turrette/pain"
	DeathSound "turrette/death"
	DropItem Cell 32 12
	States
	{
	Spawn:
		TURR AA 4 A_Look
		Loop
	See:
		TURR A 0 A_Jump (216, 2)
		TURR A 0 ThrustThingZ (0, random(1,4), random(0,1), 1)
		TURR A 0 A_JumpIf (z-floorz<24, 3)
		TURR A 2 A_Chase
		TURR A 0 A_Stop
		Loop
		TURR A 0 ThrustThingZ (0, random(3,5), 0, 1)
		TURR A 2 A_Chase
		Loop
	Melee:
		TURR B 3 A_FaceTarget
		TURR B 3 A_PlayWeaponSound ("turrette/spit")
		TURR C 8
		TURR A 9 A_MeleeAttack
		Goto See
	Missile:
		TURR B 0 A_SetSolid
		TURR B 3 A_FaceTarget
		TURR C 3 A_PlayWeaponSound ("turrette/spit")
		TURR D 4 A_CustomMissile ("TurrBall", 16, 0, 0)
		TURR D 6
		TURR CB 5
		Goto See
	Pain:
		TURR E 2
		TURR E 1 A_Stop
		TURR E 1 A_Recoil (4)
		TURR F 4 A_Pain
		TURR EE 2 A_FastChase
		Goto Missile
	Death:
		TURR E 0 bright A_SpawnItemEx ("HDExplosion", 0, 0, 14, 0, 0, 2)
		TURR EE 1 bright A_SpawnItemEx ("HDSmoke", random(-2,2),random(-2,2),random(4,8), 0,0,0, 0,160,0)
		TURR E 0 A_Scream
		TURR E 2 bright A_NoBlocking
		TURR E 0 A_SetTranslucent (1, 1)
		TURR EEEEFFFFF 2 BRIGHT A_FadeOut (0.1)
		TNT1 A 0 A_KillMaster
		TNT1 A 0 A_GivetoTarget("HDKillCount",1)
		TNT1 A 0 ACS_ExecuteAlways(558,0,0,1,12)
		Stop
	}
}
