// [JD] Flame Turret - Sprites by Madcat.
actor Utility_FlameTurretRed : Utility_TurretBase {
	obituary "%o got 3rd degree burns from a \cgRed \c-flame turret."
	health 300
	painchance 50
	//seesound "turret/sight"
	attacksound "flamer2/fire"
	activesound "turret/sight"
	DamageFactor "Fire", 0.0
	DamageFactor "Chemical", 2.0
	states {
	Spawn:
		FLTU AA 0 A_CheckSight("Death.Deconstruction")
		FLTU A 0 ACS_ExecuteWithResult(1026)
		FLTU A 0 Thing_SetSpecial (0, 84, 345, 0, TEAM_RED)
	Idle:
		FLTU A 0 A_TakeInventory ("GunTurretClip", 23)
		FLTU A 0 A_StopSound (6)
		FLTU ABCDEF 2 A_Look
		goto Idle+2
	See:
		FLTU ABCDEF 2
		FLTU A 0 A_GiveInventory("IsRed",1)
		FLTU A 0 A_ChangeFlag("FRIENDLY",0)
		FLTU A 0 A_StopSoundEx("SoundSlot6")
		FLTU A 0 A_JumpIfTargetInLOS("Missile")
		FLTU A 0 A_TakeInventory("GunTurretClip",23)
		FLTU A 0 A_ClearTarget
		goto Spawn+3
	Clear:
		FLTU A 2 A_ClearTarget
		goto See
	// [JD] Is this state even used? Idk...
	See3:
		FLTU A 1 A_JumpIfInTargetInventory ("IsBlue", 1, 1)
		goto Clear
		FLTU A 0 A_Jump(16,"MissileGo")
		FLTU A 0 A_JumpIfCloser(128,"MissileGo")
		goto See
	MissileCheck:
		FLTU A 0 A_JumpIfInTargetInventory ("IsBlue", 1, 1)
		goto Clear
		FLTU A 0 A_Chase("","",CHF_DONTMOVE)
		FLTU A 0 
		goto MissileGo+4
	Missile:
		FLTU A 0 
		FLTU A 1 A_JumpIfInTargetInventory ("IsBlue", 1, 1)
		goto Clear
		FLTU A 0 A_JumpIfInTargetInventory("StealthMode",1,"Clear")
		FLTU A 1 A_JumpIfCloser(1024,"MissileGo")
		FLTU A 0 
		goto Clear
	MissileGo:
		FLTU G 8 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(1024, 1)
		Goto Clear
		FLTU F 0 A_CPosRefire
		FLTU G 2 A_PlaySoundEx("flamer2/fire","SoundSlot6",1)
		FLTU B 0 A_JumpIfInventory("GunTurretClip",23,"Pain")
		FLTU B 0 A_CustomMissile("FlameThrowerFire", 44)
		FLTU B 0 A_FaceTarget
		FLTU G 2 BRIGHT
		FLTU G 1 BRIGHT
		FLTU B 0 A_CustomMissile("FlameThrowerFire", 44)
		FLTU B 0 A_PlaySoundEx("flamer2/fire","Weapon")
		FLTU B 0 A_FaceTarget
		FLTU G 2 BRIGHT
		FLTU G 1 BRIGHT A_ChangeFlag("FRIENDLY",0)
		TNT1 A 0 A_JumpIfCloser(1024, 1)
		Goto Clear
		FLTU F 0 A_CPosRefire
		FLTU F 0 A_GiveInventory("GunTurretClip",1)
		goto MissileCheck
	Pain:
		FLTU A 0 A_StopSoundEx("SoundSlot6")
		FLTU A 0 A_ClearTarget
		FLTU A 9 A_TakeInventory("GunTurretClip",23)
		goto See
	Death:  
		TC4T A 0     
		FLTU A 0 A_StopSoundEx("SoundSlot6")
		TC4T A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItemEx("ExplosionMain", 0, 0, 32)
		TC4T A 0 A_PlaySound("weapons/rocklx")
		TNT1 A 0 A_SpawnItemEx("FlameWallDecay")
		TNT1 A 4
		stop
	}
}

actor Utility_FlameTurretBlue : Utility_TurretBase {
	obituary "%o got 3rd degree burns from a \chBlue \c-flame turret."
	health 300
	painchance 50
	//seesound "turret/sight"
	attacksound "flamer2/fire"
	activesound "turret/sight"
	DamageFactor "Fire", 0.0
	DamageFactor "Chemical", 2.0
	states {
	Spawn:
		FLTU AA 0 A_CheckSight("Death.Deconstruction")
		FLTU A 0 ACS_ExecuteWithResult(1026)
		FLTU A 0 Thing_SetSpecial (0, 84, 345, 0, TEAM_BLUE)
	Idle:
		FLTU A 0 A_TakeInventory ("GunTurretClip", 23)
		FLTU A 0 A_StopSound (6)
		FLTU ABCDEF 2 A_Look
		goto Idle+2
	See:
		FLTU ABCDEF 2
		FLTU A 0 A_GiveInventory("IsBlue",1)
		FLTU A 0 A_ChangeFlag("FRIENDLY",0)
		FLTU A 0 A_StopSoundEx("SoundSlot6")
		FLTU A 0 A_JumpIfTargetInLOS("Missile")
		FLTU A 0 A_TakeInventory("GunTurretClip",12)
		FLTU A 0 A_ClearTarget
		goto Spawn+3
	See3:
		FLTU A 1 A_JumpIfInTargetInventory ("IsRed", 1, 1)
		goto Clear
		FLTU A 0 A_Jump(16,"MissileGo")
		FLTU A 0 A_JumpIfCloser(128,"MissileGo")
		goto See
	Clear:
		FLTU A 2 A_ClearTarget
		goto See
	MissileCheck:
		FLTU A 0 A_JumpIfInTargetInventory ("IsRed", 1, 1)
		goto Clear
		FLTU A 0 A_Chase("","",CHF_DONTMOVE)
		FLTU A 0 
		goto MissileGo+4
	Missile:
		FLTU A 0 
		FLTU A 1 A_JumpIfInTargetInventory ("IsRed", 1, 1)
		goto Clear
		FLTU A 0 A_JumpIfInTargetInventory("StealthMode",1,"Clear")
		FLTU A 1 A_JumpIfCloser(1024,"MissileGo")
		FLTU A 0 
		goto Clear
	MissileGo:
		FLTU G 8 A_FaceTarget
		TNT1 A 0 A_JumpIfCloser(1024, 1)
		Goto Clear
		FLTU F 0 A_CPosRefire
		FLTU G 2 A_PlaySoundEx("flamer2/fire","SoundSlot6",1)
		FLTU B 0 A_JumpIfInventory("GunTurretClip",23,"Pain")
		FLTU B 0 A_CustomMissile("FlameThrowerFire", 44)
		FLTU B 0 A_FaceTarget
		FLTU G 2 BRIGHT
		FLTU G 1 BRIGHT 
		FLTU B 0 A_CustomMissile("FlameThrowerFire", 44)
		FLTU B 0 A_PlaySoundEx("flamer2/fire","Weapon")
		FLTU B 0 A_FaceTarget
		FLTU G 2 BRIGHT
		FLTU G 1 BRIGHT A_ChangeFlag("FRIENDLY",0)
		TNT1 A 0 A_JumpIfCloser(1024, 1)
		Goto Clear
		FLTU F 0 A_CPosRefire
		FLTU F 0 A_GiveInventory("GunTurretClip",1)
		goto MissileCheck
	Pain:
		FLTU A 0 A_StopSoundEx("SoundSlot6")
		FLTU A 0 A_ClearTarget
		FLTU A 9 A_TakeInventory("GunTurretClip",23)
		goto See
	Death:  
		TC4T A 0     
		FLTU A 0 A_StopSoundEx("SoundSlot6")
		TC4T A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItemEx("ExplosionMain", 0, 0, 32)
		TC4T A 0 A_PlaySound("weapons/rocklx")
		TNT1 A 0 A_SpawnItemEx("FlameWallDecay")
		TNT1 A 4
		stop
	}
}