Actor ForgottenWarrior
{
Monster
Health 1300
height 64
radius 24
mass 1000
speed 8
BloodColor "purple"
Painchance "Mine", 128
Painchance 27
Meleerange 72
Meleedamage 20
+FLOORCLIP
+DONTHARMSPECIES
-BOSSDEATH
Species "Nobles"
Damagefactor "Acid", 0.0
//No Infighting
DamageFactor "SatanGuard", 0.0
Damagefactor "Heterodox", 0.0
Damagefactor "Damned", 0.0
DropItem "BossLifeEssence", 200
DropItem "HEMArmorBonusMax20", 200
Seesound "deepone/sight"
Painsound "deepone/pain"
Deathsound "deepone/death"
Meleesound "deepone/melee"
Obituary "%o was melted into green by Forgotten Warrior."
Hitobituary "%o got whiplashed by a Forgotten Warrior."
Tag "\cqForgotten Warrior\c-"
States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_Jump(150,"StealthSpawn")
	Idle:
		CUTH A 10 A_LookEx(0,0,0,0,0,"See")
		Loop
	StealthSpawn:
		TNT1 A 0 A_GiveInventory("ShadeInvisible",1)
	StealthIdle:
		TNT1 A 0 A_GiveInventory("ShadeInvisible",1)
		TNT1 A 0 A_SetTranslucent(0.2)
		CUTH A 1 A_Wander
		TNT1 A 0 A_GiveInventory("ShadeInvisible",1)
		TNT1 AAAAA 0 A_Wander
	SIdleLoop:
		CUTH A 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH A 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH A 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH A 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH B 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH B 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH B 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH B 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		CUTH C 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH C 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH C 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH C 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH D 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH D 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH D 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		CUTH D 1 A_wander
		TNT1 A 0 A_LookEx(0,0,0,0,0,"See")
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		Loop
	See:
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"UnStealth")
		TNT1 A 0 A_Jump(50,"ActiveSound")
		TNT1 A 0 A_Jump(21,"Stealth")
		CUTH AAAABBBB 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		CUTH CCCCDDDD 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		Loop
	ActiveSound:
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"ActiveStealth")
		TNT1 A 0 A_PlaySound("DeepOne/Active",0,1.0,0)
		GoTo See+2
	ActiveStealth:
		TNT1 A 0 A_PlaySound("deepone/stealth",0,1.0,0)
		GoTo StealthWalk+2
	Stealth:
		CUTH A 1 A_SetTranslucent(1.0,0)
		CUTH A 1 A_SetTranslucent(0.9,0)
		CUTH A 1 A_SetTranslucent(0.8,0)
		CUTH A 1 A_SetTranslucent(0.7,0)
		CUTH A 1 A_SetTranslucent(0.6,0)
		CUTH A 1 A_SetTranslucent(0.5,0)
		CUTH A 1 A_SetTranslucent(0.4,0)
		CUTH A 1 A_SetTranslucent(0.3,0)
		CUTH A 1 A_SetTranslucent(0.2,0)
	StealthWalk:
		TNT1 A 0 A_GiveInventory("ShadeInvisible",1)
		TNT1 A 0 A_Jump(50,"ActiveStealth")
		CUTH AAAABBB 1 A_Chase("","")
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		CUTH CCCCDDD 1 A_Chase("","")
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		CUTH AAAABBB 1 A_Chase("","")
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		CUTH CCCCDDD 1 A_Chase("","")
		TNT1 A 0 A_SpawnItemEx("HoofStep2",0,0,2,0,0,-20)
		TNT1 A 0 A_Chase
		TNT1 A 0 A_Jump(27,"Unstealth")
		GoTo StealthWalk+1
	UnStealth:
		TNT1 A 0 A_TakeInventory("ShadeInvisible",9999)
		CUTH A 1 A_SetTranslucent(0.2,0)
		CUTH A 1 A_SetTranslucent(0.3,0)
		CUTH A 1 A_SetTranslucent(0.4,0)
		CUTH A 1 A_SetTranslucent(0.5,0)
		CUTH A 1 A_SetTranslucent(0.6,0)
		CUTH A 1 A_SetTranslucent(0.7,0)
		CUTH A 1 A_SetTranslucent(0.8,0)
		CUTH A 1 A_SetTranslucent(0.9,0)
		CUTH A 1 A_SetTranslucent(1.0,0)
		GoTo See
	AttackStealth:
		TNT1 A 0 A_TakeInventory("ShadeInvisible",9999)
		CUTH A 1 A_SetTranslucent(0.2,0)
		CUTH A 1 A_SetTranslucent(0.4,0)
		CUTH A 1 A_SetTranslucent(0.6,0)
		CUTH A 1 A_SetTranslucent(0.7,0)
		CUTH A 1 A_SetTranslucent(0.8,0)
		CUTH A 1 A_SetTranslucent(1.0,0)
		GoTo Missile
	MeleeStealth:
		TNT1 A 0 A_TakeInventory("ShadeInvisible",9999)
		CUTH A 1 A_SetTranslucent(0.2,0)
		CUTH A 1 A_SetTranslucent(0.4,0)
		CUTH A 1 A_SetTranslucent(0.6,0)
		CUTH A 1 A_SetTranslucent(0.7,0)
		CUTH A 1 A_SetTranslucent(0.8,0)
		CUTH A 1 A_SetTranslucent(1.0,0)
		GoTo Melee
	AttackPain:
		TNT1 A 0 A_TakeInventory("ShadeInvisible",9999)
		CUTH A 1 A_SetTranslucent(0.2,0)
		CUTH A 1 A_SetTranslucent(0.6,0)
		CUTH A 1 A_SetTranslucent(1.0,0)
		GoTo Pain
	Melee:
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"MeleeStealth")
		TNT1 A 0 A_PlaySound ("deepone/meleegrowl",0,1.0,0) 
		CUTH EEEEEFFFFGG 1 A_FaceTarget
		TNT1 A 0 A_MeleeAttack
		CUTH HIIGFE 3
		GoTo See
	Missile:
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"AttackStealth")
		TNT1 A 0 A_Jump(68,"PhaseBall")
	Normal:
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"AttackStealth")
		TNT1 A 0 A_PlaySound ("deepone/sight",0,1.0,0) 
		TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,"Normal.Hard")
		CUTH JJJJJJJJJJJJJ 1 A_FaceTarget(45)
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeterodoxAcid",42,15,random(-18,9),CMF_TRACKOWNER)
		CUTH JJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeterodoxAcid",42,15,random(-18,9),CMF_TRACKOWNER)
		CUTH JJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeterodoxAcid",42,15,random(-18,9),CMF_TRACKOWNER)
		CUTH JJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeterodoxAcid",42,15,random(-18,9),CMF_TRACKOWNER)
		CUTH JJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeterodoxAcid",42,15,random(-18,9),CMF_TRACKOWNER)
		CUTH JJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeterodoxAcid",42,15,random(-18,9),CMF_TRACKOWNER)
		CUTH J 11
		GoTo See
	PhaseBall:
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"AttackStealth")
		TNT1 A 0 A_PlaySound("deepone/sight",0,1.0,0) 
		TNT1 A 0 A_JumpIfInTargetInventory("truelegendaryruneitem2",1,"PhaseBall.Hard")
		CUTH JJJJJJJJJJJJJJJ 1 A_FaceTarget(45)
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 Bright A_PlaySound("imp/attack")
		TNT1 A 0 A_CustomMissile("PhaseImpBall",42,15,0,CMF_TRACKOWNER)
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 Bright A_PlaySound("imp/attack")
		TNT1 A 0 A_CustomMissile("PhaseImpBall",42,15,0,CMF_TRACKOWNER)
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 Bright A_PlaySound("imp/attack")
		TNT1 A 0 A_CustomMissile("PhaseImpBall",42,15,0,CMF_TRACKOWNER)
		CUTH J 17
		GoTo See
	Normal.Hard:
		CUTH JJJJJJJJJJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeterodoxAcid",42,15,random(-18,9))
		CUTH JJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("FWarriorAcid",42,15,random(-18,9))
		CUTH JJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("FWarriorAcid",42,15,random(-18,9))
		CUTH JJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("HeterodoxAcid",42,15,random(-18,9))
		CUTH JJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("FWarriorAcid",42,15,random(-18,9))
		CUTH JJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 A_CustomMissile("FWarriorAcid",42,15,random(-18,9))
		CUTH J 11
		GoTo See
	PhaseBall.Hard: 
		CUTH JJJJJJJJJJJJJJJ 1 A_FaceTarget
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 Bright A_PlaySound("imp/attack")
		TNT1 A 0 A_CustomMissile("PhaseImpBall",42,15)
		TNT1 AAA 0 A_CustomMissile("PhaseImpBall",42,15,random(-19,19))
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 Bright A_PlaySound("imp/attack")
		TNT1 A 0 A_CustomMissile("PhaseImpBall",42,15)
		TNT1 AAA 0 A_CustomMissile("PhaseImpBall",42,15,random(-19,19))
		CUTH KK 1 Bright A_FaceTarget
		TNT1 A 0 Bright A_PlaySound("imp/attack")
		TNT1 A 0 A_CustomMissile("PhaseImpBall",42,15)
		CUTH J 17
		GoTo See
	Pain:
		TNT1 A 0 A_JumpIfInventory("ShadeInvisible",1,"AttackPain")
		CUTH L 2 A_Pain
		CUTH L 4
		GoTo See
	Death:
		CUTH M 0 A_Jump(128,"AltDeath")
		CUTH M 3
		TNT1 A 0 A_SpawnItemEx("MutantGibbedGenerator",0,0,37)
		CUTH M 3 A_Scream
		CUTH N 5 A_Fall
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(298) == 1, "AlwaysDrop")
		TNT1 A 0 A_SpawnItemEx("AcidWorm",0,0,8,random(0,8),random(0,8),2,random(0,360),0,224)
		TNT1 A 0 A_SpawnItemEx("AcidAmmoBundle",0,0,8,random(0,8),random(0,8),2,random(0,360),0,224)
		TNT1 A 0 A_SpawnItemEx("AcidAmmo",0,0,8,random(0,8),random(0,8),2,random(0,360),0,196)
		Goto EndDrop
	AlwaysDrop:
		TNT1 A 0 A_SpawnItemEx("AcidWorm",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("AcidAmmoBundle",0,0,8,random(0,8),random(0,8),2,random(0,360),0,0)
		TNT1 A 0 A_SpawnItemEx("AcidAmmo",0,0,8,random(0,8),random(0,8),2,random(0,360),0,196)
		Goto EndDrop
	EndDrop:
		CUTH O 5
		CUTH P 4
		CUTH Q 63000 CanRaise
		Stop
	AltDeath:
		CUTH R 5
		TNT1 A 0 A_GiveInventory("XDeathCheck",1)
		CUTH S 5 A_Scream
		CUTH T 5 A_Fall
		CUTH U 5
		CUTH V 5
		TNT1 A 0 A_SpawnItem("BodyCrash",0,0,0,0)
		CUTH W 63000 CanRaise
		Stop	
	Raise:
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_JumpIfInventory("XDeathCheck",1,"XRaise")
		CUTH PONM 8
		Goto See
	XRaise:
		TNT1 A 0 A_TakeInventory("XDeathCheck",1)
		CUTH VUTSR 4
		GoTo See
	}
}