ACTOR WarDroneOnCeiling 
{
  translation "160:167=[255, 215, 0]:[105,65,0]", "48:79=[255, 215, 0]:[105,65,0]" 
        spawnid 9
	Health 150
	PainChance 120
	Speed 5
	Radius 20
	Height 56
	Mass 400
	Monster
        +FLOORCLIP
	+NOTARGET
	+NOGRAVITY
	//+DROPOFF
	+SPAWNCEILING
	+NOVERTICALMELEERANGE 
        +NOTELEOTHER
	+NOTELEPORT
	MaxDropOffHeight 32
	MinMissileChance 150
	
	SeeSound "WARSEE"
	//AttackSound "WARPNC"
	PainSound "WARPAI"
	DeathSound "WARDIE"
	ActiveSound "WARACT"
	BloodType "ATGreenBlood"	
	BloodColor "Green"
	DamageFactor "XenoPosioin", 0.0
	Scale 0.7
	States
	{
	Spawn:
	    TNT1 A 0 A_JumpIfInventory("DropOnFloor", 1, "LookFloor")
		WAR1 A 1 A_Look
		Loop
	LookFloor:
		WART A 1 A_Look
		Loop
		
	See:
            TNT1 A 0 ACS_ExecuteAlways(802, 0, 20, 56)
	    TNT1 A 0 A_JumpIfInventory("DropOnFloor", 1, "SeeFloor")
		WAR1 AAABBBCCCDDDEEEFFFGGG 1 A_Chase
		Loop
	SeeFloor:
		WART AAABBBCCCDDDEEEFFFGGG 1 A_Chase
		Loop	
		
		
	Melee:
	    TNT1 A 0 A_JumpIfInventory("DropOnFloor", 1, "MeleeOnFloor")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(506,0,0,0) <= 50, "DropOnFloor")
	    Goto See
		
	MeleeOnFloor:
	    TNT1 A 0 A_Jump(86, "Melee_BitOnFloor")
	    WART A 2 A_FaceTarget
		WART QRS 1 A_FaceTarget
		WART T 1  A_FaceTarget
		TNT1 A 0 A_PlaySound("WARPNC")
		TNT1 A 0 A_CustomMeleeAttack(10)
		WART T 1 A_FaceTarget
		WART SRQ 1  A_FaceTarget
		WART A 2 A_FaceTarget
		Goto See
	Melee_BitOnFloor:
		WART A 2
		WART UVWXY 2  A_FaceTarget
		TNT1 A 0 A_PlaySound("WARBIT")
		TNT1 A 0 A_CustomMeleeAttack(10)
		WART YXWVU 2  A_FaceTarget
		WART A 2
		Goto See
		
	DropOnFloor:
	    TNT1 A 0 A_ChangeFlag("NOPAIN", True)
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", False)
		WAR1 LMNOPQ 3
		TNT1 A 0 A_GiveInventory("DropOnFloor", 1)
		TNT1 A 0 A_ChangeFlag("NOPAIN", False)
		Goto SeeFloor	
	
	Pain:
	    TNT1 A 0 A_JumpIfInventory("DropOnFloor", 1, "PainOnFloor")
	    WAR1 A 1
	    Goto See
	
	PainOnFloor:
		WART H 1 A_Pain
		WART H 3
		WART IJ 4 
		Goto See
	Death:
	    TNT1 A 0 A_JumpIfInventory("DropOnFloor", 1, "DeathOnFloor")
	    WAR1 H 4 A_Scream
		WAR1 IJ 4
		WAR1 K 4
	    TNT1 A 0 A_SpawnItemEx("WarCeilingDeath", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	    Stop
	DeathOnFloor:
		WART K 3 A_Scream
		WART LMN 3
		WART O 3 
		WART P 3 A_NoBlocking
		TNT1 A 0 A_SpawnItemEx("WarDroneDeath", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
		Stop
	XDeath:	
	    TNT1 AAA 0 A_SpawnItem("ATGreenBlood", 0, 450) 
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		Stop	
	}
}


Actor DropOnFloor : Inventory { Inventory.MaxAmount 1 }

Actor WarCeilingDeath
{
    -SOLID
	-SHOOTABLE
	+ACTIVATEMCROSS
	+DONTGIB
	+NOICEDEATH
	+OLDRADIUSDMG
	+NODAMAGETHRUST
    +BLOODLESSIMPACT
	+DONTSPLASH
	-NOGRAVITY
	radius 0
    height 0
	Scale 0.7
	mass 500
	DamageType "XenoPosioin"
	States
	{
		Spawn:
		WAR1 K 55 A_Explode(1,4)
		Loop
		}
}

Actor WarDroneOnCeilingSpawner
{
  States
  {
    Spawn:
	   TNT1 A 1
	   TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(507,0,0,0) == 1, "IsSky")
	   Spawn1:
	   TNT1 A 0 A_SpawnItemEx("WarDroneOnCeiling", 0, 0, CeilingZ-Z, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	   Stop
	IsSky:
	   TNT1 A 0 A_SpawnItemEx("AlienWarior", 0, 0, FloorZ-Z, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	   Stop
	   }
}