ACTOR "Assault Trooper Elite" : "Assault Trooper" 31063
{
	//$Category DN3D Aliens //Assault Troopers
	Obituary "%o was vaporized by a trooper elite."
    Health 140
	DropItem "Laser Ammo" 32 50
	+MISSILEEVENMORE
    States
    {
    Spawn:
        ASEL A 0 A_SetShootable
	    ASEL A 0 A_JumpIfInventory("FlyCheck",1,"FlySpawn")
        ASEL A 0 Thing_ChangeTID(0,1000)
        ASEL A 3 A_Look
        Loop
	FlySpawn:
	    ASEL G 0 A_SetShootable
		ASEL G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASEL G 0 Thing_ChangeTID(0,1000)
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL G 3 A_Look
        Loop
    See:
	    ASEL A 0 A_SetShootable
	    ASEL A 0 A_ChangeFlag("NOPAIN",0)
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
	    ASEL A 0 A_JumpIfInventory("FlyCheck",1,"FlySee")
		ASEL A 0 A_Jump(2,"GiveFly")
		ASEL AABB 3 A_Chase
		ASEL B 0 A_SpawnItem("AlienStep1",0,0,0,0)
		ASEL CCDD 3 A_Chase
		ASEL D 0 A_SpawnItem("AlienStep1",0,0,0,0)
        Loop
	GiveFly:
	    ASEL G 0 
		ASEL G 0 A_ChangeFlag("SPAWNFLOAT",1)
		ASEL G 0 A_ChangeFlag("DROPOFF",1)
		ASEL G 0 A_ChangeFlag("DONTOVERLAP",1)
		ASEL G 0 A_ChangeFlag("FLOAT",1)
		ASEL G 0 A_ChangeFlag("NOGRAVITY",1)
		ASEL G 0 A_ChangeFlag("FLOORCLIP",0)
		ASEL G 0 A_Sentinelbob
	    ASEL G 1 A_GiveInventory("FlyCheck",1)
		Goto FlySee
	TakeFly:
	    ASEL G 0 
		ASEL G 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL G 0 A_ChangeFlag("DROPOFF",0)
		ASEL G 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL G 0 A_ChangeFlag("FLOAT",0)
		ASEL G 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL G 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL G 1 A_TakeInventory("FlyCheck",999)
		Goto See
	FlySee:
	    ASEL G 0 A_SetShootable
		ASEL G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
        ASEL G 0 A_Jump(256,"See2","See3")
		Loop
	See2:
	    ASEL G 0
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL G 0 A_JumpIfTargetinLOS(1,240)
        ASEL G 0 A_Sentinelbob
		ASEL GG 3 A_Chase
		ASEL GG 3 A_Chase
	    Loop
	See3:
	    ASEL G 0
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
	    Loop	
    Missile:
	    ASEL E 0 
	    ASEL E 0 A_JumpIfInventory("FlyCheck",1,"FlyMissile")
        ASEL E 0 A_Jump(128,"Missile2","Teleport")
        ASEL E 10 A_FaceTarget
        ASEL E 0 A_PlayWeaponSound("TrooperElite2/Fire")
        ASEL F 6 Bright A_CustomMissile("TrooperEliteProjectile2",32,11,0)
        ASEL E 12
        Goto See
    Missile2:
        ASEL I 10 A_FaceTarget
		ASEL I 0
        ASEL J 3 Bright A_CustomMissile("TrooperEliteProjectile1",26,11,0)
        ASEL I 3 A_FaceTarget
        ASEL J 3 Bright A_CustomMissile("TrooperEliteProjectile1",26,11,0)
        ASEL I 3 A_FaceTarget
        ASEL J 3 Bright A_CustomMissile("TrooperEliteProjectile1",26,11,0)
        ASEL I 3 A_CposRefire
		Goto Missile2+2
	FlyMissile:
        ASEL G 0 A_FaceTarget
		ASEL G 0 A_Jump(96,"TeleportFly")
        ASEL G 0 A_PlayWeaponSound("TrooperElite2/Fire")
        ASEL G 0 A_CustomMissile("TrooperEliteProjectile2",32,11,0)
        ASEL H 6 Bright 
        ASEL GGGG 3 
        Goto FlySee
	Teleport:
        ASEL U 10
		ASEL V 0 A_ChangeFlag("NOPAIN",1)
		ASEL V 0 A_UnsetShootable
        ASEL V 1 A_SetScale(0.70,0.70)
        ASEL V 1 A_SetScale(0.67,0.70)
        ASEL V 1 A_SetScale(0.64,0.70)
        ASEL V 1 A_SetScale(0.61,0.70)
        ASEL V 1 A_SetScale(0.58,0.70)
        ASEL V 1 A_SetScale(0.55,0.70)
        ASEL V 1 A_SetScale(0.52,0.70)
        ASEL V 1 A_SetScale(0.49,0.70)
        ASEL V 1 A_SetScale(0.46,0.70)
        ASEL V 1 A_SetScale(0.43,0.70)
        ASEL V 1 A_SetScale(0.40,0.70)
        ASEL V 1 A_SetScale(0.37,0.70)
        ASEL V 1 A_SetScale(0.34,0.70)
        ASEL V 1 A_SetScale(0.31,0.70)
        ASEL V 1 A_SetScale(0.28,0.70)
        ASEL V 1 A_SetScale(0.25,0.70)
        ASEL V 1 A_SetScale(0.22,0.70)
        ASEL V 1 A_SetScale(0.19,0.70)
        ASEL V 1 A_SetScale(0.16,0.70)
        ASEL V 1 A_SetScale(0.13,0.70)
        ASEL V 1 A_SetScale(0.10,0.70)
        ASEL V 1 A_SetScale(0.07,0.70)
        ASEL V 1 A_SetScale(0.04,0.70)
        ASEL V 1 A_CustomMissile("AlienTeleport",32,0,0)
		ASEL U 0 A_SetScale(0.70,0.70)
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_ExtChase(0,0,0,0)
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
        TNT1 A 10 A_CustomMissile("AlienTeleport",32,0,0)
		ASEL U 0 A_ChangeFlag("NOPAIN",0)
		ASEL U 0 A_SetShootable
        ASEL U 10
        Goto See
	TeleportFly:
        ASEL G 0
        ASEL G 0 A_CustomMissile("AlienTeleport",32,0,0)
        ASEL G 0 A_StopSoundEx("Body")
		ASEL G 0 A_StopSoundEx("SoundSlot7")
		ASEL G 0 A_ChangeFlag("NOPAIN",1)
        ASEL G 1 A_UnsetShootable
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_ExtChase(0,0,0,0)
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
        TNT1 A 10 A_CustomMissile("AlienTeleport",32,0,0)
		TNT1 A 0 A_ChangeFlag("NOPAIN",0)
		ASEL G 2 A_SetShootable
        Goto FlySee
    Pain:
        ASEL T 0 
	    ASEL T 0 A_JumpIfInventory("FlyCheck",1,"FlyPain")
		ASEL T 8 A_Pain
        Goto See 
	FlyPain:
		ASEL G 8 A_Pain
        Goto FlySee
	Pain.LaserShot:
	    ASEL T 0 
		ASEL T 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		ASEL T 0 HealThing(2)
		Goto See
	Pain.Radial:
        ASEL T 0
        ASEL T 0 HealThing(2)
        Goto See
	Pain.Fire:
	    ASEF A 0
		ASEF A 0 A_JumpIfInventory("FlyCheck",1,"PainFireFly")
		ASEF A 0 A_GiveInventory("FireCheck",1)
		ASEF A 0 A_GiveInventory("FireCheckDeath",1)
		ASEF A 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		ASEF A 0 A_PlaySound("Trooper/Pain",10)
		ASEF A 0 A_ChangeFlag("NOPAIN",1)
		ASEF A 0 A_ChangeFlag("FRIGHTENED",1)
		ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_JumpIfInventory("FireCheck",8,"PainFireStop")
		Loop
	PainFireFly:
		ASEF G 0
		ASEF G 0 A_GiveInventory("FireCheck",1)
		ASEF G 0 A_GiveInventory("FireCheckDeath",1)
		ASEF G 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		ASEF G 0 A_PlaySound("Trooper/Pain",10)
		ASEF G 0 A_ChangeFlag("NOPAIN",1)
		ASEF G 0 A_ChangeFlag("FRIGHTENED",1)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_JumpIfInventory("FireCheck",8,"PainFireStop")
		Loop
	PainFireStop:
	    ASEF A 0 
		ASEF A 0 A_ChangeFlag("NOPAIN",0)
		ASEF A 0 A_ChangeFlag("FRIGHTENED",0)
		ASEF A 0 A_TakeInventory("FireCheck",999)
		ASEF A 0 A_TakeInventory("FireCheckDeath",999)
		ASEF A 0 A_StopSoundEx("SoundSlot7")
		Goto See
	Death:
	    ASEL K 0
		ASEL K 0 A_JumpIfInventory("DeathExpandedCheck",1,"Death.Damage_Expander")
		ASEL K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		ASEL K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL K 0 A_ChangeFlag("DROPOFF",0)
		ASEL K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL K 0 A_ChangeFlag("FLOAT",0)
		ASEL K 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL K 0 A_TakeInventory("FlyCheck",999)
		ASEL K 0 A_ChangeFlag("NOPAIN",0)
		ASEL K 0 A_StopSoundEx("Body")
		ASEL K 0 A_StopSoundEx("SoundSlot7")
		ASEL K 0 A_JumpIfInventory("RealDieCheck",1,"RealDeath")
		ASEL K 0 A_JumpIfInventory("WoundedCheck",1,"WoundDeath")
		ASEL K 0 A_Jump(256,1,6)
		ASEL K 7 A_Scream
        ASEL L 7
        ASEL M 7 A_NoBlocking
        ASEL N 7
        ASEL O -1
        Stop
		ASE2 K 7 A_Scream
        ASE2 L 7
        ASE2 M 7 A_NoBlocking
        ASE2 N 7
        ASE2 O 1 A_GiveInventory("Death2Check",1)
		ASE2 O -1
        Stop
	Wound:
	    ASEL K 0 
		ASEL K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		ASEL K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL K 0 A_ChangeFlag("DROPOFF",0)
		ASEL K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL K 0 A_ChangeFlag("FLOAT",0)
		ASEL K 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL K 0 A_TakeInventory("FlyCheck",999)
		ASEL K 0 A_ChangeFlag("NOPAIN",0)
		ASEL K 0 A_StopSoundEx("Body")
		ASEL K 0 A_StopSoundEx("SoundSlot7")
		ASEL K 0 A_Jump(256,1,27)
		ASEL K 7 A_Scream
        ASEL LM 7 
		ASEL N 7 A_GiveInventory("WoundedCheck",1)
        ASEL O 7 A_PlaySoundEx("Trooper/Choke","Body",0)
        ASEL PQPQPQPQPQPQP 10 
        ASEL R 0 A_Jump(96,5)
        ASEL R 7 A_Scream
        ASEL N 7 A_NoBlocking
		ASEL O 1 A_GiveInventory("RealDieCheck",1)    
		ASEL O 1 A_Die  
        Goto Death
        ASEL A 0 HealThing(50)
		ASEL A 0 A_TakeInventory("WoundedCheck",1)
        Goto See
	    ASE2 K 7 A_Scream
        ASE2 LM 7 
		ASE2 N 7 A_GiveInventory("WoundedCheck",1)
        ASE2 O 7 A_PlaySoundEx("Trooper/Choke","Body",0)
        ASE2 QPQPQPQPQPQPQ 10 
        ASE2 R 0 A_Jump(96,6)		
        ASE2 R 7 A_Scream
        ASE2 N 7 A_NoBlocking
		ASE2 O 1 A_GiveInventory("Death2Check",1)
		ASE2 O 1 A_GiveInventory("RealDieCheck",1)    
		ASE2 O 1 A_Die  
        Goto Death
        ASE2 A 0 HealThing(50)
		ASE2 A 0 A_TakeInventory("WoundedCheck",1)
        Goto See
	Death.Damage_Shrinker:
    Wound.Damage_Shrinker:
        ASEL A 0
		ASEL A 0 A_JumpIfInventory("FlyCheck",1,"DeathDamage_ShrinkerFly")
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 0 A_ChangeFlag("NOPAIN",0)
        ASEL A 10 A_PlaySound("Shrinker/Shrink")
		ASEL A 1 A_SetScale(0.70,0.70)
        ASEL A 1 A_SetScale(0.68,0.68)
        ASEL A 1 A_SetScale(0.66,0.66)
        ASEL A 1 A_SetScale(0.64,0.64)
        ASEL A 1 A_SetScale(0.62,0.62)
        ASEL A 1 A_SetScale(0.60,0.60)
        ASEL A 1 A_SetScale(0.58,0.58)
        ASEL A 1 A_SetScale(0.56,0.56)
        ASEL A 1 A_SetScale(0.54,0.54)
        ASEL A 1 A_SetScale(0.52,0.52)
        ASEL A 1 A_SetScale(0.50,0.50)
        ASEL A 1 A_SetScale(0.48,0.48)
        ASEL A 1 A_SetScale(0.46,0.46)
        ASEL A 1 A_SetScale(0.44,0.44)
        ASEL A 1 A_SetScale(0.42,0.42)
        ASEL A 1 A_SetScale(0.40,0.40)
        ASEL A 1 A_SetScale(0.38,0.38)
        ASEL A 1 A_SetScale(0.36,0.36)
        ASEL A 1 A_SetScale(0.34,0.34)
        ASEL A 1 A_SetScale(0.32,0.32)
        ASEL A 1 A_SetScale(0.30,0.30)
        ASEL A 1 A_SetScale(0.28,0.28)
        ASEL A 1 A_SetScale(0.26,0.26)
        ASEL A 1 A_SetScale(0.24,0.24)
        ASEL A 1 A_SetScale(0.22,0.22)
        ASEL A 1 A_SetScale(0.20,0.20)
		ASEL A 0 A_SpawnItemEx("Assault Trooper Elite Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
	DeathDamage_ShrinkerFly:
        ASEL G 0
		ASEL G 0 A_StopSoundEx("Body")
		ASEL G 0 A_StopSoundEx("SoundSlot7")
		ASEL G 0 A_ChangeFlag("NOPAIN",0)
		ASEL G 0 A_Stop
		ASEL G 0 A_NoGravity
        ASEL G 10 A_PlaySound("Shrinker/Shrink")
		ASEL G 1 A_SetScale(0.70,0.70)
        ASEL G 1 A_SetScale(0.68,0.68)
        ASEL G 1 A_SetScale(0.66,0.66)
        ASEL G 1 A_SetScale(0.64,0.64)
        ASEL G 1 A_SetScale(0.62,0.62)
        ASEL G 1 A_SetScale(0.60,0.60)
        ASEL G 1 A_SetScale(0.58,0.58)
        ASEL G 1 A_SetScale(0.56,0.56)
        ASEL G 1 A_SetScale(0.54,0.54)
        ASEL G 1 A_SetScale(0.52,0.52)
        ASEL G 1 A_SetScale(0.50,0.50)
        ASEL G 1 A_SetScale(0.48,0.48)
        ASEL G 1 A_SetScale(0.46,0.46)
        ASEL G 1 A_SetScale(0.44,0.44)
        ASEL G 1 A_SetScale(0.42,0.42)
        ASEL G 1 A_SetScale(0.40,0.40)
        ASEL G 1 A_SetScale(0.38,0.38)
        ASEL G 1 A_SetScale(0.36,0.36)
        ASEL G 1 A_SetScale(0.34,0.34)
        ASEL G 1 A_SetScale(0.32,0.32)
        ASEL G 1 A_SetScale(0.30,0.30)
        ASEL G 1 A_SetScale(0.28,0.28)
        ASEL G 1 A_SetScale(0.26,0.26)
        ASEL G 1 A_SetScale(0.24,0.24)
        ASEL G 1 A_SetScale(0.22,0.22)
        ASEL G 1 A_SetScale(0.20,0.20)
		ASEL A 0 A_SpawnItemEx(" Assault Trooper Elite Shrunken ",0,0,0,0,0,0,0,32,0)
        Stop
	WoundDeath:
	    ASEL R 0 A_Jump(256,1,4)
	    ASEL R 7 A_Scream
        ASEL N 7 A_NoBlocking
		ASEL O -1 A_Die
        Stop
        ASE2 R 7 A_Scream
        ASE2 N 7 A_NoBlocking
		ASE2 O 1 A_GiveInventory("Death2Check",1)
		ASE2 O -1 A_Die
        Stop
	RealDeath:
	    ASEL O 1 A_JumpIfInventory("Death2Check",1,2)
		ASEL O -1 
        Stop
		ASE2 O -1 
        Stop
	Death.Damage_Explosion:
	Death.Damage_BigShock:
	Wound.Damage_Explosion:
	Wound.Damage_BigShock:
	Death.Damage_BigThunder:
	Wound.Damage_BigThunder:
		ASEL A 0
		ASEL A 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL A 0 A_ChangeFlag("DROPOFF",0)
		ASEL A 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL A 0 A_ChangeFlag("FLOAT",0)
		ASEL A 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL A 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL A 0 A_TakeInventory("FlyCheck",999)
		ASEL A 0 A_ChangeFlag("NOPAIN",0)
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 0 A_Die
        ASEL A 0 A_PlaySound("Gib/Explode",5)
        ASEL A 0 A_NoBlocking
        ASEL AAA 0 A_SpawnDebris("DukeGibs1")
        ASEL AAA 0 A_SpawnDebris("DukeGibs2")
		ASEL AAA 0 A_SpawnDebris("DukeGibs3")
        ASEL AAA 0 A_SpawnDebris("DukeGibs4")
        ASEL AAA 0 A_SpawnDebris("DukeGibs5")		
        ASEL AAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
	Death.Damage_Expander:
        ASEL A 0
		ASEL A 0 A_JumpIfInventory("FlyCheck",1,"DeathDamage_ExpanderFly")
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 1 A_PlaySound("Expander/Expand",5)
		ASEL A 0 A_Die
		ASEL A 1 A_SetScale(0.71,0.71)
        ASEL A 1 A_SetScale(0.72,0.72)
		ASEL A 1 A_SetScale(0.73,0.73)
		ASEL A 1 A_SetScale(0.74,0.74)
		ASEL A 1 A_SetScale(0.75,0.75)
		ASEL A 1 A_SetScale(0.76,0.76)
		ASEL A 1 A_SetScale(0.77,0.77)
		ASEL A 1 A_SetScale(0.78,0.78)
		ASEL A 1 A_SetScale(0.79,0.79)
		ASEL A 1 A_SetScale(0.80,0.80)
		ASEL A 1 A_SetScale(0.81,0.81)
		ASEL A 1 A_SetScale(0.82,0.82)
		ASEL A 1 A_SetScale(0.83,0.83)
		ASEL A 1 A_SetScale(0.84,0.84)
		ASEL A 1 A_SetScale(0.85,0.85)
		ASEL A 1 A_SetScale(0.86,0.86)
		ASEL A 1 A_SetScale(0.87,0.87)
		ASEL A 1 A_SetScale(0.88,0.88)
		ASEL A 1 A_SetScale(0.89,0.89)
		ASEL A 1 A_SetScale(0.90,0.90)
		ASEL A 1 A_SetScale(0.91,0.91)
		ASEL A 1 A_SetScale(0.92,0.92)
		ASEL A 1 A_SetScale(0.93,0.93)
		ASEL A 1 A_SetScale(0.94,0.94)
		ASEL A 1 A_SetScale(0.95,0.95)
		ASEL A 1 A_SetScale(0.96,0.96)
		ASEL A 1 A_SetScale(0.97,0.97)
		ASEL A 1 A_SetScale(0.98,0.98)
		ASEL A 1 A_SetScale(0.99,0.99)
		ASEL A 1 A_SetScale(1.00,1.00)
		ASEL A 1 A_SetScale(1.01,1.01)
		ASEL A 1 A_SetScale(1.02,1.02)
		ASEL A 1 A_SetScale(1.03,1.03)
		ASEL A 1 A_SetScale(1.04,1.04)
		ASEL A 1 A_SetScale(1.05,1.05)
		ASEL A 1 A_SetScale(1.06,1.06)
		ASEL A 1 A_SetScale(1.07,1.07)
		ASEL A 1 A_SetScale(1.08,1.08)
		ASEL A 1 A_SetScale(1.09,1.09)
		ASEL A 1 A_SetScale(1.10,1.10)
		ASEL A 1 A_SetScale(1.11,1.11)
		ASEL A 1 A_SetScale(1.12,1.12)
		ASEL A 1 A_SetScale(1.13,1.13)
		ASEL A 1 A_SetScale(1.14,1.14)
        ASEL A 25 A_SetScale(1.15,1.15)
        ASEL A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	DeathDamage_ExpanderFly:
	    ASEL G 0 
	    ASEL G 0 A_Stop
		ASEL G 0 A_NoGravity
		ASEL G 0 A_StopSoundEx("SoundSlot7")
	    ASEL G 1 A_PlaySound("Expander/Expand",5)
		ASEL G 0 A_Die
		ASEL G 1 A_SetScale(0.71,0.71)
        ASEL G 1 A_SetScale(0.72,0.72)
		ASEL G 1 A_SetScale(0.73,0.73)
		ASEL G 1 A_SetScale(0.74,0.74)
		ASEL G 1 A_SetScale(0.75,0.75)
		ASEL G 1 A_SetScale(0.76,0.76)
		ASEL G 1 A_SetScale(0.77,0.77)
		ASEL G 1 A_SetScale(0.78,0.78)
		ASEL G 1 A_SetScale(0.79,0.79)
		ASEL G 1 A_SetScale(0.80,0.80)
		ASEL G 1 A_SetScale(0.81,0.81)
		ASEL G 1 A_SetScale(0.82,0.82)
		ASEL G 1 A_SetScale(0.83,0.83)
		ASEL G 1 A_SetScale(0.84,0.84)
		ASEL G 1 A_SetScale(0.85,0.85)
		ASEL G 1 A_SetScale(0.86,0.86)
		ASEL G 1 A_SetScale(0.87,0.87)
		ASEL G 1 A_SetScale(0.88,0.88)
		ASEL G 1 A_SetScale(0.89,0.89)
		ASEL G 1 A_SetScale(0.90,0.90)
		ASEL G 1 A_SetScale(0.91,0.91)
		ASEL G 1 A_SetScale(0.92,0.92)
		ASEL G 1 A_SetScale(0.93,0.93)
		ASEL G 1 A_SetScale(0.94,0.94)
		ASEL G 1 A_SetScale(0.95,0.95)
		ASEL G 1 A_SetScale(0.96,0.96)
		ASEL G 1 A_SetScale(0.97,0.97)
		ASEL G 1 A_SetScale(0.98,0.98)
		ASEL G 1 A_SetScale(0.99,0.99)
		ASEL G 1 A_SetScale(1.00,1.00)
		ASEL G 1 A_SetScale(1.01,1.01)
		ASEL G 1 A_SetScale(1.02,1.02)
		ASEL G 1 A_SetScale(1.03,1.03)
		ASEL G 1 A_SetScale(1.04,1.04)
		ASEL G 1 A_SetScale(1.05,1.05)
		ASEL G 1 A_SetScale(1.06,1.06)
		ASEL G 1 A_SetScale(1.07,1.07)
		ASEL G 1 A_SetScale(1.08,1.08)
		ASEL G 1 A_SetScale(1.09,1.09)
		ASEL G 1 A_SetScale(1.10,1.10)
		ASEL G 1 A_SetScale(1.11,1.11)
		ASEL G 1 A_SetScale(1.12,1.12)
		ASEL G 1 A_SetScale(1.13,1.13)
		ASEL G 1 A_SetScale(1.14,1.14)
        ASEL G 25 A_SetScale(1.15,1.15)
        ASEL G 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	Wound.Damage_Expander:
        TNT1 A 0
        TNT1 A 0 A_GiveInventory("DeathExpandedCheck",1)
        TNT1 A 0 A_Die
		Stop
	Burn:
	Wound.Fire:
	    ASEF K 0
		ASEF K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEF K 0 A_ChangeFlag("DROPOFF",0)
		ASEF K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEF K 0 A_ChangeFlag("FLOAT",0)
		ASEF K 0 A_ChangeFlag("NOGRAVITY",0)
		ASEF K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEF K 0 A_TakeInventory("FlyCheck",999)
		ASEF K 0 A_ChangeFlag("NOPAIN",0)
		ASEF K 0 A_StopSoundEx("Body")
		ASEF K 0 A_StopSoundEx("SoundSlot7")
		ASEF K 0 A_Die
		ASEF K 0 A_Jump(256,1,33)
		ASEF K 0 A_Scream 
        ASEF KKKKKKKLLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASEF M 0 A_NoBlocking
        ASEF MMMMMMMNNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASEF O 1 A_SpawnItemEx("FireintheFloor")
		ASEF O -1
        Stop
		ASF5 K 0 A_Scream 
        ASF5 KKKKKKKLLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASF5 M 0 A_NoBlocking 
        ASF5 MMMMMMMNNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASF5 O 1 A_SpawnItemEx("FireintheFloor")
		ASF5 O 1 A_GiveInventory("Death2CheckFire",1)
		ASF5 O -1
        Stop
	Raise:
	    TNT1 A 0 
	    TNT1 A 0 A_UnSetShootable
		TNT1 A 0 A_ChangeFlag("COUNTKILL",0)
		TNT1 A 0 A_ChangeFlag("SOLID",0)
	    ASEL O 0 A_JumpIfInventory("FireCheckDeath",1,"Raise2")
		ASEL O 0 A_JumpIfInventory("Death2Check",1,2)
		ASEL O 35
		Stop
		ASE2 O 0
		ASE2 O 35
		Stop
	Raise2:
		ASEF O 0
		ASEF O 0 A_JumpIfInventory("Death2CheckFire",1,2)
		ASEF O 35
		Stop
		ASF5 O 0
		ASF5 O 35
		Stop
    }
}

ACTOR " Assault Trooper Elite " : "Assault Trooper Elite" 31064
{
	//$Category DN3D Aliens //Assault Troopers
	DropItem "Laser Ammo" 32 50
	+SPAWNFLOAT
	+DROPOFF
	+DONTOVERLAP
	+FLOAT
	+NOGRAVITY
	States
    {
	Spawn:
	    ASEL G 0 A_SetShootable
		ASEL G 0 A_JumpIfInventory("FloorCheck",1,3)
	    ASEL G 0 A_GiveInventory("FloorCheck",1)
		ASEL G 0 A_Jump(256,5)
		ASEL A 0 
	    ASEL A 0 A_JumpIfInventory("FlyCheck",1,"FlySpawn")
        ASEL A 0 Thing_ChangeTID(0,1000)
        ASEL A 3 A_Look
        Loop
		ASEL G 1 A_GiveInventory("FlyCheck",1)
		Loop
	FlySpawn:
	    ASEL G 0 A_SetShootable
		ASEL G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASEL G 0 Thing_ChangeTID(0,1000)
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL G 3 A_Look
        Loop	
    See:
	    ASEL G 0 A_SetShootable
	    ASEL G 0 A_ChangeFlag("NOPAIN",0)
		ASEL G 0 A_StopSoundEx("Body")
		ASEL G 0 A_StopSoundEx("SoundSlot7")
	    ASEL G 0 A_JumpIfInventory("FlyCheck",1,"FlySee")
		ASEL A 0 A_Jump(2,"GiveFly")
		ASEL AABB 3 A_Chase
		ASEL B 0 A_SpawnItem("AlienStep1",0,0,0,0)
		ASEL CCDD 3 A_Chase
		ASEL D 0 A_SpawnItem("AlienStep1",0,0,0,0)
        Loop
	GiveFly:
	    ASEL G 0 
		ASEL G 0 A_ChangeFlag("SPAWNFLOAT",1)
		ASEL G 0 A_ChangeFlag("DROPOFF",1)
		ASEL G 0 A_ChangeFlag("DONTOVERLAP",1)
		ASEL G 0 A_ChangeFlag("FLOAT",1)
		ASEL G 0 A_ChangeFlag("NOGRAVITY",1)
		ASEL G 0 A_ChangeFlag("FLOORCLIP",0)
		ASEL G 0 A_Sentinelbob
	    ASEL G 1 A_GiveInventory("FlyCheck",1)
		Goto FlySee
	TakeFly:
	    ASEL G 0 
		ASEL G 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL G 0 A_ChangeFlag("DROPOFF",0)
		ASEL G 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL G 0 A_ChangeFlag("FLOAT",0)
		ASEL G 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL G 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL G 1 A_TakeInventory("FlyCheck",999)
		Goto See
	FlySee:
	    ASEL G 0 A_SetShootable
		ASEL G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
        ASEL G 0 A_Jump(256,"See2","See3")
		Loop
	See2:
	    ASEL G 0
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL G 0 A_JumpIfTargetinLOS(1,240)
        ASEL G 0 A_Sentinelbob
		ASEL GG 3 A_Chase
		ASEL GG 3 A_Chase
	    Loop
	See3:
	    ASEL G 0
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
	    Loop	
    Missile:
	    ASEL E 0 
	    ASEL E 0 A_JumpIfInventory("FlyCheck",1,"FlyMissile")
        ASEL E 0 A_Jump(128,"Missile2","Teleport")
        ASEL E 10 A_FaceTarget
        ASEL E 0 A_PlayWeaponSound("TrooperElite2/Fire")
        ASEL F 6 Bright A_CustomMissile("TrooperEliteProjectile2",32,11,0)
        ASEL E 12
        Goto See
    Missile2:
        ASEL I 10 A_FaceTarget
		ASEL I 0
        ASEL J 3 Bright A_CustomMissile("TrooperEliteProjectile1",26,11,0)
        ASEL I 3 A_FaceTarget
        ASEL J 3 Bright A_CustomMissile("TrooperEliteProjectile1",26,11,0)
        ASEL I 3 A_FaceTarget
        ASEL J 3 Bright A_CustomMissile("TrooperEliteProjectile1",26,11,0)
        ASEL I 3 A_CposRefire
		Goto Missile2+2
	FlyMissile:
        ASEL G 0 A_FaceTarget
		ASEL G 0 A_Jump(96,"TeleportFly")
        ASEL G 0 A_PlayWeaponSound("TrooperElite2/Fire")
        ASEL G 0 A_CustomMissile("TrooperEliteProjectile2",32,11,0)
        ASEL H 6 Bright 
        ASEL GGGG 3 
        Goto FlySee
	Teleport:
        ASEL U 10
		ASEL V 0 A_ChangeFlag("NOPAIN",1)
		ASEL V 0 A_UnsetShootable
		ASEL V 0 A_StopSoundEx("Body")
		ASEL V 0 A_StopSoundEx("SoundSlot7")
        ASEL V 1 A_SetScale(0.70,0.70)
        ASEL V 1 A_SetScale(0.67,0.70)
        ASEL V 1 A_SetScale(0.64,0.70)
        ASEL V 1 A_SetScale(0.61,0.70)
        ASEL V 1 A_SetScale(0.58,0.70)
        ASEL V 1 A_SetScale(0.55,0.70)
        ASEL V 1 A_SetScale(0.52,0.70)
        ASEL V 1 A_SetScale(0.49,0.70)
        ASEL V 1 A_SetScale(0.46,0.70)
        ASEL V 1 A_SetScale(0.43,0.70)
        ASEL V 1 A_SetScale(0.40,0.70)
        ASEL V 1 A_SetScale(0.37,0.70)
        ASEL V 1 A_SetScale(0.34,0.70)
        ASEL V 1 A_SetScale(0.31,0.70)
        ASEL V 1 A_SetScale(0.28,0.70)
        ASEL V 1 A_SetScale(0.25,0.70)
        ASEL V 1 A_SetScale(0.22,0.70)
        ASEL V 1 A_SetScale(0.19,0.70)
        ASEL V 1 A_SetScale(0.16,0.70)
        ASEL V 1 A_SetScale(0.13,0.70)
        ASEL V 1 A_SetScale(0.10,0.70)
        ASEL V 1 A_SetScale(0.07,0.70)
        ASEL V 1 A_SetScale(0.04,0.70)
        ASEL V 1 A_CustomMissile("AlienTeleport",32,0,0)
		ASEL U 0 A_SetScale(0.70,0.70)
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_ExtChase(0,0,0,0)
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
        TNT1 A 10 A_CustomMissile("AlienTeleport",32,0,0)
		ASEL U 0 A_ChangeFlag("NOPAIN",0)
		ASEL U 0 A_SetShootable
        ASEL U 10
        Goto See
	TeleportFly:
        ASEL G 0
        ASEL G 0 A_CustomMissile("AlienTeleport",32,0,0)
        ASEL G 0 A_StopSoundEx("Body")
		ASEL G 0 A_StopSoundEx("SoundSlot7")
		ASEL G 0 A_ChangeFlag("NOPAIN",1)
        ASEL G 1 A_UnsetShootable
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_ExtChase(0,0,0,0)
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
        TNT1 A 10 A_CustomMissile("AlienTeleport",32,0,0)
		TNT1 A 0 A_ChangeFlag("NOPAIN",0)
		ASEL G 2 A_SetShootable
        Goto FlySee
    Pain:
        ASEL T 0 
	    ASEL T 0 A_JumpIfInventory("FlyCheck",1,"FlyPain")
		ASEL T 8 A_Pain
        Goto See 
	FlyPain:
		ASEL G 8 A_Pain
        Goto FlySee
	Pain.LaserShot:
	    ASEL T 0 
		ASEL T 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		ASEL T 0 HealThing(2)
		Goto See
	Pain.Radial:
        ASEL T 0
        ASEL T 0 HealThing(2)
        Goto See
	Pain.Fire:
	    ASEF A 0
		ASEF A 0 A_JumpIfInventory("FlyCheck",1,"PainFireFly")
		ASEF A 0 A_GiveInventory("FireCheck",1)
		ASEF A 0 A_GiveInventory("FireCheckDeath",1)
		ASEF A 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		ASEF A 0 A_PlaySound("Trooper/Pain",10)
		ASEF A 0 A_ChangeFlag("NOPAIN",1)
		ASEF A 0 A_ChangeFlag("FRIGHTENED",1)
		ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_JumpIfInventory("FireCheck",5,"PainFireStop")
		Loop
	PainFireFly:
		ASEF G 0
		ASEF G 0 A_GiveInventory("FireCheck",1)
		ASEF G 0 A_GiveInventory("FireCheckDeath",1)
		ASEF G 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		ASEF G 0 A_PlaySound("Trooper/Pain",10)
		ASEF G 0 A_ChangeFlag("NOPAIN",1)
		ASEF G 0 A_ChangeFlag("FRIGHTENED",1)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_JumpIfInventory("FireCheck",5,"PainFireStop")
		Loop
	PainFireStop:
	    ASEF A 0 
		ASEF A 0 A_ChangeFlag("NOPAIN",0)
		ASEF A 0 A_ChangeFlag("FRIGHTENED",0)
		ASEF A 0 A_TakeInventory("FireCheck",999)
		ASEF A 0 A_TakeInventory("FireCheckDeath",999)
		ASEF A 0 A_StopSoundEx("SoundSlot7")
		Goto See
	Death:
	    ASEL K 0
		ASEL K 0 A_JumpIfInventory("DeathExpandedCheck",1,"Death.Damage_Expander")
		ASEL K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		ASEL K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL K 0 A_ChangeFlag("DROPOFF",0)
		ASEL K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL K 0 A_ChangeFlag("FLOAT",0)
		ASEL K 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL K 0 A_TakeInventory("FlyCheck",999)
		ASEL K 0 A_ChangeFlag("NOPAIN",0)
		ASEL K 0 A_StopSoundEx("Body")
		ASEL K 0 A_StopSoundEx("SoundSlot7")
		ASEL K 0 A_JumpIfInventory("RealDieCheck",1,"RealDeath")
		ASEL K 0 A_JumpIfInventory("WoundedCheck",1,"WoundDeath")
		ASEL K 0 A_Jump(256,1,6)
		ASEL K 7 A_Scream
        ASEL L 7
        ASEL M 7 A_NoBlocking
        ASEL N 7
        ASEL O -1
        Stop
		ASE2 K 7 A_Scream
        ASE2 L 7
        ASE2 M 7 A_NoBlocking
        ASE2 N 7
        ASE2 O 1 A_GiveInventory("Death2Check",1)
		ASE2 O -1
        Stop
	Wound:
	    ASEL K 0 
		ASEL K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		ASEL K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL K 0 A_ChangeFlag("DROPOFF",0)
		ASEL K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL K 0 A_ChangeFlag("FLOAT",0)
		ASEL K 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL K 0 A_TakeInventory("FlyCheck",999)
		ASEL K 0 A_ChangeFlag("NOPAIN",0)
		ASEL K 0 A_StopSoundEx("Body")
		ASEL K 0 A_StopSoundEx("SoundSlot7")
		ASEL K 0 A_Jump(256,1,27)
		ASEL K 7 A_Scream
        ASEL LM 7 
		ASEL N 7 A_GiveInventory("WoundedCheck",1)
        ASEL O 7 A_PlaySoundEx("Trooper/Choke","Body",0)
        ASEL PQPQPQPQPQPQP 10 
        ASEL R 0 A_Jump(96,5)
        ASEL R 7 A_Scream
        ASEL N 7 A_NoBlocking
		ASEL O 1 A_GiveInventory("RealDieCheck",1)    
		ASEL O 1 A_Die    
        Goto Death
        ASEL A 0 HealThing(50)
		ASEL A 0 A_TakeInventory("WoundedCheck",1)
        Goto See
	    ASE2 K 7 A_Scream
        ASE2 LM 7 
		ASE2 N 7 A_GiveInventory("WoundedCheck",1)
        ASE2 O 7 A_PlaySoundEx("Trooper/Choke","Body",0)
        ASE2 QPQPQPQPQPQPQ 10 
        ASE2 R 0 A_Jump(96,6)		
        ASE2 R 7 A_Scream
        ASE2 N 7 A_NoBlocking
		ASE2 O 1 A_GiveInventory("Death2Check",1)
		ASE2 O 1 A_GiveInventory("RealDieCheck",1)     
		ASE2 O 1 A_Die   
        Goto Death
        ASE2 A 0 HealThing(50)
		ASE2 A 0 A_TakeInventory("WoundedCheck",1)
        Goto See
	Death.Damage_Shrinker:
    Wound.Damage_Shrinker:
        ASEL A 0
		ASEL A 0 A_JumpIfInventory("FlyCheck",1,"DeathDamage_ShrinkerFly")
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 0 A_ChangeFlag("NOPAIN",0)
        ASEL A 10 A_PlaySound("Shrinker/Shrink")
		ASEL A 1 A_SetScale(0.70,0.70)
        ASEL A 1 A_SetScale(0.68,0.68)
        ASEL A 1 A_SetScale(0.66,0.66)
        ASEL A 1 A_SetScale(0.64,0.64)
        ASEL A 1 A_SetScale(0.62,0.62)
        ASEL A 1 A_SetScale(0.60,0.60)
        ASEL A 1 A_SetScale(0.58,0.58)
        ASEL A 1 A_SetScale(0.56,0.56)
        ASEL A 1 A_SetScale(0.54,0.54)
        ASEL A 1 A_SetScale(0.52,0.52)
        ASEL A 1 A_SetScale(0.50,0.50)
        ASEL A 1 A_SetScale(0.48,0.48)
        ASEL A 1 A_SetScale(0.46,0.46)
        ASEL A 1 A_SetScale(0.44,0.44)
        ASEL A 1 A_SetScale(0.42,0.42)
        ASEL A 1 A_SetScale(0.40,0.40)
        ASEL A 1 A_SetScale(0.38,0.38)
        ASEL A 1 A_SetScale(0.36,0.36)
        ASEL A 1 A_SetScale(0.34,0.34)
        ASEL A 1 A_SetScale(0.32,0.32)
        ASEL A 1 A_SetScale(0.30,0.30)
        ASEL A 1 A_SetScale(0.28,0.28)
        ASEL A 1 A_SetScale(0.26,0.26)
        ASEL A 1 A_SetScale(0.24,0.24)
        ASEL A 1 A_SetScale(0.22,0.22)
        ASEL A 1 A_SetScale(0.20,0.20)
		ASEL A 0 A_SpawnItemEx("Assault Trooper Elite Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
	DeathDamage_ShrinkerFly:
        ASEL G 0
		ASEL G 0 A_StopSoundEx("Body")
		ASEL G 0 A_StopSoundEx("SoundSlot7")
		ASEL G 0 A_ChangeFlag("NOPAIN",0)
		ASEL G 0 A_Stop
		ASEL G 0 A_NoGravity
        ASEL G 10 A_PlaySound("Shrinker/Shrink")
		ASEL G 1 A_SetScale(0.70,0.70)
        ASEL G 1 A_SetScale(0.68,0.68)
        ASEL G 1 A_SetScale(0.66,0.66)
        ASEL G 1 A_SetScale(0.64,0.64)
        ASEL G 1 A_SetScale(0.62,0.62)
        ASEL G 1 A_SetScale(0.60,0.60)
        ASEL G 1 A_SetScale(0.58,0.58)
        ASEL G 1 A_SetScale(0.56,0.56)
        ASEL G 1 A_SetScale(0.54,0.54)
        ASEL G 1 A_SetScale(0.52,0.52)
        ASEL G 1 A_SetScale(0.50,0.50)
        ASEL G 1 A_SetScale(0.48,0.48)
        ASEL G 1 A_SetScale(0.46,0.46)
        ASEL G 1 A_SetScale(0.44,0.44)
        ASEL G 1 A_SetScale(0.42,0.42)
        ASEL G 1 A_SetScale(0.40,0.40)
        ASEL G 1 A_SetScale(0.38,0.38)
        ASEL G 1 A_SetScale(0.36,0.36)
        ASEL G 1 A_SetScale(0.34,0.34)
        ASEL G 1 A_SetScale(0.32,0.32)
        ASEL G 1 A_SetScale(0.30,0.30)
        ASEL G 1 A_SetScale(0.28,0.28)
        ASEL G 1 A_SetScale(0.26,0.26)
        ASEL G 1 A_SetScale(0.24,0.24)
        ASEL G 1 A_SetScale(0.22,0.22)
        ASEL G 1 A_SetScale(0.20,0.20)
		ASEL A 0 A_SpawnItemEx(" Assault Trooper Elite Shrunken ",0,0,0,0,0,0,0,32,0)
        Stop
	WoundDeath:
	    ASEL R 0 A_Jump(256,1,4)
	    ASEL R 7 A_Scream
        ASEL N 7 A_NoBlocking
		ASEL O -1 A_Die
        Stop
        ASE2 R 7 A_Scream
        ASE2 N 7 A_NoBlocking
		ASE2 O 1 A_GiveInventory("Death2Check",1)
		ASE2 O -1 A_Die
        Stop
	RealDeath:
	    ASEL O 1 A_JumpIfInventory("Death2Check",1,2)
		ASEL O -1 
        Stop
		ASE2 O -1 
        Stop
	Death.Damage_Explosion:
	Death.Damage_BigShock:
	Wound.Damage_Explosion:
	Wound.Damage_BigShock:
	Death.Damage_BigThunder:
	Wound.Damage_BigThunder:
		ASEL A 0
		ASEL A 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL A 0 A_ChangeFlag("DROPOFF",0)
		ASEL A 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL A 0 A_ChangeFlag("FLOAT",0)
		ASEL A 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL A 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL A 0 A_TakeInventory("FlyCheck",999)
		ASEL A 0 A_ChangeFlag("NOPAIN",0)
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 0 A_Die
        ASEL A 0 A_PlaySound("Gib/Explode",5)
        ASEL A 0 A_NoBlocking
        ASEL AAA 0 A_SpawnDebris("DukeGibs1")
        ASEL AAA 0 A_SpawnDebris("DukeGibs2")
		ASEL AAA 0 A_SpawnDebris("DukeGibs3")
        ASEL AAA 0 A_SpawnDebris("DukeGibs4")
        ASEL AAA 0 A_SpawnDebris("DukeGibs5")		
        ASEL AAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
	Death.Damage_Expander:
        ASEL A 0
		ASEL A 0 A_JumpIfInventory("FlyCheck",1,"DeathDamage_ExpanderFly")
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 1 A_PlaySound("Expander/Expand",5)
		ASEL A 0 A_Die
		ASEL A 1 A_SetScale(0.71,0.71)
        ASEL A 1 A_SetScale(0.72,0.72)
		ASEL A 1 A_SetScale(0.73,0.73)
		ASEL A 1 A_SetScale(0.74,0.74)
		ASEL A 1 A_SetScale(0.75,0.75)
		ASEL A 1 A_SetScale(0.76,0.76)
		ASEL A 1 A_SetScale(0.77,0.77)
		ASEL A 1 A_SetScale(0.78,0.78)
		ASEL A 1 A_SetScale(0.79,0.79)
		ASEL A 1 A_SetScale(0.80,0.80)
		ASEL A 1 A_SetScale(0.81,0.81)
		ASEL A 1 A_SetScale(0.82,0.82)
		ASEL A 1 A_SetScale(0.83,0.83)
		ASEL A 1 A_SetScale(0.84,0.84)
		ASEL A 1 A_SetScale(0.85,0.85)
		ASEL A 1 A_SetScale(0.86,0.86)
		ASEL A 1 A_SetScale(0.87,0.87)
		ASEL A 1 A_SetScale(0.88,0.88)
		ASEL A 1 A_SetScale(0.89,0.89)
		ASEL A 1 A_SetScale(0.90,0.90)
		ASEL A 1 A_SetScale(0.91,0.91)
		ASEL A 1 A_SetScale(0.92,0.92)
		ASEL A 1 A_SetScale(0.93,0.93)
		ASEL A 1 A_SetScale(0.94,0.94)
		ASEL A 1 A_SetScale(0.95,0.95)
		ASEL A 1 A_SetScale(0.96,0.96)
		ASEL A 1 A_SetScale(0.97,0.97)
		ASEL A 1 A_SetScale(0.98,0.98)
		ASEL A 1 A_SetScale(0.99,0.99)
		ASEL A 1 A_SetScale(1.00,1.00)
		ASEL A 1 A_SetScale(1.01,1.01)
		ASEL A 1 A_SetScale(1.02,1.02)
		ASEL A 1 A_SetScale(1.03,1.03)
		ASEL A 1 A_SetScale(1.04,1.04)
		ASEL A 1 A_SetScale(1.05,1.05)
		ASEL A 1 A_SetScale(1.06,1.06)
		ASEL A 1 A_SetScale(1.07,1.07)
		ASEL A 1 A_SetScale(1.08,1.08)
		ASEL A 1 A_SetScale(1.09,1.09)
		ASEL A 1 A_SetScale(1.10,1.10)
		ASEL A 1 A_SetScale(1.11,1.11)
		ASEL A 1 A_SetScale(1.12,1.12)
		ASEL A 1 A_SetScale(1.13,1.13)
		ASEL A 1 A_SetScale(1.14,1.14)
        ASEL A 25 A_SetScale(1.15,1.15)
        ASEL A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	DeathDamage_ExpanderFly:
	    ASEL G 0 
	    ASEL G 0 A_Stop
		ASEL G 0 A_NoGravity
		ASEL G 0 A_StopSoundEx("SoundSlot7")
	    ASEL G 1 A_PlaySound("Expander/Expand",5)
		ASEL G 0 A_Die
		ASEL G 1 A_SetScale(0.71,0.71)
        ASEL G 1 A_SetScale(0.72,0.72)
		ASEL G 1 A_SetScale(0.73,0.73)
		ASEL G 1 A_SetScale(0.74,0.74)
		ASEL G 1 A_SetScale(0.75,0.75)
		ASEL G 1 A_SetScale(0.76,0.76)
		ASEL G 1 A_SetScale(0.77,0.77)
		ASEL G 1 A_SetScale(0.78,0.78)
		ASEL G 1 A_SetScale(0.79,0.79)
		ASEL G 1 A_SetScale(0.80,0.80)
		ASEL G 1 A_SetScale(0.81,0.81)
		ASEL G 1 A_SetScale(0.82,0.82)
		ASEL G 1 A_SetScale(0.83,0.83)
		ASEL G 1 A_SetScale(0.84,0.84)
		ASEL G 1 A_SetScale(0.85,0.85)
		ASEL G 1 A_SetScale(0.86,0.86)
		ASEL G 1 A_SetScale(0.87,0.87)
		ASEL G 1 A_SetScale(0.88,0.88)
		ASEL G 1 A_SetScale(0.89,0.89)
		ASEL G 1 A_SetScale(0.90,0.90)
		ASEL G 1 A_SetScale(0.91,0.91)
		ASEL G 1 A_SetScale(0.92,0.92)
		ASEL G 1 A_SetScale(0.93,0.93)
		ASEL G 1 A_SetScale(0.94,0.94)
		ASEL G 1 A_SetScale(0.95,0.95)
		ASEL G 1 A_SetScale(0.96,0.96)
		ASEL G 1 A_SetScale(0.97,0.97)
		ASEL G 1 A_SetScale(0.98,0.98)
		ASEL G 1 A_SetScale(0.99,0.99)
		ASEL G 1 A_SetScale(1.00,1.00)
		ASEL G 1 A_SetScale(1.01,1.01)
		ASEL G 1 A_SetScale(1.02,1.02)
		ASEL G 1 A_SetScale(1.03,1.03)
		ASEL G 1 A_SetScale(1.04,1.04)
		ASEL G 1 A_SetScale(1.05,1.05)
		ASEL G 1 A_SetScale(1.06,1.06)
		ASEL G 1 A_SetScale(1.07,1.07)
		ASEL G 1 A_SetScale(1.08,1.08)
		ASEL G 1 A_SetScale(1.09,1.09)
		ASEL G 1 A_SetScale(1.10,1.10)
		ASEL G 1 A_SetScale(1.11,1.11)
		ASEL G 1 A_SetScale(1.12,1.12)
		ASEL G 1 A_SetScale(1.13,1.13)
		ASEL G 1 A_SetScale(1.14,1.14)
        ASEL G 25 A_SetScale(1.15,1.15)
        ASEL G 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	Wound.Damage_Expander:
        TNT1 A 0
        TNT1 A 0 A_GiveInventory("DeathExpandedCheck",1)
        TNT1 A 0 A_Die
		Stop
	Burn:
	Wound.Fire:
	    ASEF K 0
		ASEF K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEF K 0 A_ChangeFlag("DROPOFF",0)
		ASEF K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEF K 0 A_ChangeFlag("FLOAT",0)
		ASEF K 0 A_ChangeFlag("NOGRAVITY",0)
		ASEF K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEF K 0 A_TakeInventory("FlyCheck",999)
		ASEF K 0 A_ChangeFlag("NOPAIN",0)
		ASEF K 0 A_StopSoundEx("Body")
		ASEF K 0 A_StopSoundEx("SoundSlot7")
		ASEF K 0 A_Die
		ASEF K 0 A_Jump(256,1,33)
		ASEF K 0 A_Scream 
        ASEF KKKKKKKLLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASEF M 0 A_NoBlocking
        ASEF MMMMMMMNNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASEF O 1 A_SpawnItemEx("FireintheFloor")
		ASEF O -1
        Stop
		ASF5 K 0 A_Scream 
        ASF5 KKKKKKKLLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASF5 M 0 A_NoBlocking 
        ASF5 MMMMMMMNNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASF5 O 1 A_SpawnItemEx("FireintheFloor")
		ASF5 O 1 A_GiveInventory("Death2CheckFire",1)
		ASF5 O -1
        Stop
	Raise:
	    TNT1 A 0 
	    TNT1 A 0 A_UnSetShootable
		TNT1 A 0 A_ChangeFlag("COUNTKILL",0)
		TNT1 A 0 A_ChangeFlag("SOLID",0)
	    ASEL O 0 A_JumpIfInventory("FireCheckDeath",1,"Raise2")
		ASEL O 0 A_JumpIfInventory("Death2Check",1,2)
		ASEL O 35
		Stop
		ASE2 O 0
		ASE2 O 35
		Stop
	Raise2:
		ASEF O 0
		ASEF O 0 A_JumpIfInventory("Death2CheckFire",1,2)
		ASEF O 35
		Stop
		ASF5 O 0
		ASF5 O 35
		Stop
	}
}		

ACTOR "  Assault Trooper Elite  " : "Assault Trooper" 31065
{
	//$Category DN3D Aliens //Assault Troopers
	Obituary "%o was vaporized by a trooper elite."
    Health 140
	DropItem "Laser Ammo" 32 50
	+MISSILEEVENMORE
    States
    {
    Spawn:
        ASEL S 0 A_SetShootable
		ASEL S 0 A_JumpIfInventory("NormalCheck",1,"NormalSpawn")
	    ASEL S 0 A_JumpIfInventory("FlyCheck",1,"FlySpawn")
		ASEL S 0 A_GiveInventory("NormalCheck",1)
        ASEL S 0 Thing_ChangeTID(0,1000)
        ASEL S 30 A_Look
        Goto Spawn+3
	NormalSpawn:
        ASEL A 0 A_SetShootable
	    ASEL A 0 A_JumpIfInventory("FlyCheck",1,"FlySpawn")
        ASEL A 0 Thing_ChangeTID(0,1000)
        ASEL A 3 A_Look
        Loop
	FlySpawn:
	    ASEL G 0 A_SetShootable
		ASEL G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASEL G 0 Thing_ChangeTID(0,1000)
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL G 3 A_Look
        Loop
    See:
	    ASEL S 0 A_SetShootable
	    ASEL S 0 A_ChangeFlag("NOPAIN",0)
		ASEL S 0 A_StopSoundEx("Body")
		ASEL S 0 A_StopSoundEx("SoundSlot7")
	    ASEL S 0 A_JumpIfInventory("FlyCheck",1,"FlySee")
		ASEL A 0 A_Jump(2,"GiveFly")
		ASEL AABB 3 A_Chase
		ASEL B 0 A_SpawnItem("AlienStep1",0,0,0,0)
		ASEL CCDD 3 A_Chase
		ASEL D 0 A_SpawnItem("AlienStep1",0,0,0,0)
        Loop
	GiveFly:
	    ASEL G 0 
		ASEL G 0 A_ChangeFlag("SPAWNFLOAT",1)
		ASEL G 0 A_ChangeFlag("DROPOFF",1)
		ASEL G 0 A_ChangeFlag("DONTOVERLAP",1)
		ASEL G 0 A_ChangeFlag("FLOAT",1)
		ASEL G 0 A_ChangeFlag("NOGRAVITY",1)
		ASEL G 0 A_ChangeFlag("FLOORCLIP",0)
		ASEL G 0 A_Sentinelbob
	    ASEL G 1 A_GiveInventory("FlyCheck",1)
		Goto FlySee
	TakeFly:
	    ASEL G 0 
		ASEL G 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL G 0 A_ChangeFlag("DROPOFF",0)
		ASEL G 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL G 0 A_ChangeFlag("FLOAT",0)
		ASEL G 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL G 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL G 1 A_TakeInventory("FlyCheck",999)
		Goto See
	FlySee:
	    ASEL G 0 A_SetShootable
		ASEL G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
        ASEL G 0 A_Jump(256,"See2","See3")
		Loop
	See2:
	    ASEL G 0
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL G 0 A_JumpIfTargetinLOS(1,240)
        ASEL G 0 A_Sentinelbob
		ASEL GG 3 A_Chase
		ASEL GG 3 A_Chase
	    Loop
	See3:
	    ASEL G 0
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
	    Loop	
    Missile:
	    ASEL E 0 
	    ASEL E 0 A_JumpIfInventory("FlyCheck",1,"FlyMissile")
        ASEL E 0 A_Jump(128,"Missile2","Teleport")
        ASEL E 10 A_FaceTarget
        ASEL E 0 A_PlayWeaponSound("TrooperElite2/Fire")
        ASEL F 6 Bright A_CustomMissile("TrooperEliteProjectile2",32,11,0)
        ASEL E 12
        Goto See
    Missile2:
        ASEL I 10 A_FaceTarget
		ASEL I 0
        ASEL J 3 Bright A_CustomMissile("TrooperEliteProjectile1",26,11,0)
        ASEL I 3 A_FaceTarget
        ASEL J 3 Bright A_CustomMissile("TrooperEliteProjectile1",26,11,0)
        ASEL I 3 A_FaceTarget
        ASEL J 3 Bright A_CustomMissile("TrooperEliteProjectile1",26,11,0)
        ASEL I 3 A_CposRefire
		Goto Missile2+2
	FlyMissile:
        ASEL G 0 A_FaceTarget
		ASEL G 0 A_Jump(96,"TeleportFly")
        ASEL G 0 A_PlayWeaponSound("TrooperElite2/Fire")
        ASEL G 0 A_CustomMissile("TrooperEliteProjectile2",32,11,0)
        ASEL H 6 Bright 
        ASEL GGGG 3 
        Goto FlySee
	Teleport:
        ASEL U 10
		ASEL V 0 A_ChangeFlag("NOPAIN",1)
		ASEL V 0 A_UnsetShootable
        ASEL V 1 A_SetScale(0.70,0.70)
        ASEL V 1 A_SetScale(0.67,0.70)
        ASEL V 1 A_SetScale(0.64,0.70)
        ASEL V 1 A_SetScale(0.61,0.70)
        ASEL V 1 A_SetScale(0.58,0.70)
        ASEL V 1 A_SetScale(0.55,0.70)
        ASEL V 1 A_SetScale(0.52,0.70)
        ASEL V 1 A_SetScale(0.49,0.70)
        ASEL V 1 A_SetScale(0.46,0.70)
        ASEL V 1 A_SetScale(0.43,0.70)
        ASEL V 1 A_SetScale(0.40,0.70)
        ASEL V 1 A_SetScale(0.37,0.70)
        ASEL V 1 A_SetScale(0.34,0.70)
        ASEL V 1 A_SetScale(0.31,0.70)
        ASEL V 1 A_SetScale(0.28,0.70)
        ASEL V 1 A_SetScale(0.25,0.70)
        ASEL V 1 A_SetScale(0.22,0.70)
        ASEL V 1 A_SetScale(0.19,0.70)
        ASEL V 1 A_SetScale(0.16,0.70)
        ASEL V 1 A_SetScale(0.13,0.70)
        ASEL V 1 A_SetScale(0.10,0.70)
        ASEL V 1 A_SetScale(0.07,0.70)
        ASEL V 1 A_SetScale(0.04,0.70)
        ASEL V 1 A_CustomMissile("AlienTeleport",32,0,0)
		ASEL U 0 A_SetScale(0.70,0.70)
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_ExtChase(0,0,0,0)
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
        TNT1 A 10 A_CustomMissile("AlienTeleport",32,0,0)
		ASEL U 0 A_ChangeFlag("NOPAIN",0)
		ASEL U 0 A_SetShootable
        ASEL U 10
        Goto See
	TeleportFly:
        ASEL G 0
        ASEL G 0 A_CustomMissile("AlienTeleport",32,0,0)
        ASEL G 0 A_StopSoundEx("Body")
		ASEL G 0 A_StopSoundEx("SoundSlot7")
		ASEL G 0 A_ChangeFlag("NOPAIN",1)
        ASEL G 1 A_UnsetShootable
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_ExtChase(0,0,0,0)
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
        TNT1 A 10 A_CustomMissile("AlienTeleport",32,0,0)
		TNT1 A 0 A_ChangeFlag("NOPAIN",0)
		ASEL G 2 A_SetShootable
        Goto FlySee
    Pain:
        ASEL T 0 
	    ASEL T 0 A_JumpIfInventory("FlyCheck",1,"FlyPain")
		ASEL T 8 A_Pain
        Goto See 
	FlyPain:
		ASEL G 8 A_Pain
        Goto FlySee
	Pain.LaserShot:
	    ASEL T 0 
		ASEL T 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		ASEL T 0 HealThing(2)
		Goto See
	Pain.Radial:
        ASEL T 0
        ASEL T 0 HealThing(2)
        Goto See
	Pain.Fire:
	    ASEF A 0
		ASEF A 0 A_JumpIfInventory("FlyCheck",1,"PainFireFly")
		ASEF A 0 A_GiveInventory("FireCheck",1)
		ASEF A 0 A_GiveInventory("FireCheckDeath",1)
		ASEF A 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		ASEF A 0 A_PlaySound("Trooper/Pain",10)
		ASEF A 0 A_ChangeFlag("NOPAIN",1)
		ASEF A 0 A_ChangeFlag("FRIGHTENED",1)
		ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF A 0 A_Wander
		ASEF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF B 0 A_Wander
		ASEF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF C 0 A_Wander
		ASEF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_Wander
		ASEF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF D 0 A_JumpIfInventory("FireCheck",8,"PainFireStop")
		Loop
	PainFireFly:
		ASEF G 0
		ASEF G 0 A_GiveInventory("FireCheck",1)
		ASEF G 0 A_GiveInventory("FireCheckDeath",1)
		ASEF G 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		ASEF G 0 A_PlaySound("Trooper/Pain",10)
		ASEF G 0 A_ChangeFlag("NOPAIN",1)
		ASEF G 0 A_ChangeFlag("FRIGHTENED",1)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_Wander
		ASEF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASEF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASEF G 0 A_JumpIfInventory("FireCheck",8,"PainFireStop")
		Loop
	PainFireStop:
	    ASEF A 0 
		ASEF A 0 A_ChangeFlag("NOPAIN",0)
		ASEF A 0 A_ChangeFlag("FRIGHTENED",0)
		ASEF A 0 A_TakeInventory("FireCheck",999)
		ASEF A 0 A_TakeInventory("FireCheckDeath",999)
		ASEF A 0 A_StopSoundEx("SoundSlot7")
		Goto See
	Death:
	    ASEL K 0
		ASEL K 0 A_JumpIfInventory("DeathExpandedCheck",1,"Death.Damage_Expander")
		ASEL K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		ASEL K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL K 0 A_ChangeFlag("DROPOFF",0)
		ASEL K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL K 0 A_ChangeFlag("FLOAT",0)
		ASEL K 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL K 0 A_TakeInventory("FlyCheck",999)
		ASEL K 0 A_ChangeFlag("NOPAIN",0)
		ASEL K 0 A_StopSoundEx("Body")
		ASEL K 0 A_StopSoundEx("SoundSlot7")
		ASEL K 0 A_JumpIfInventory("RealDieCheck",1,"RealDeath")
		ASEL K 0 A_JumpIfInventory("WoundedCheck",1,"WoundDeath")
		ASEL K 0 A_Jump(256,1,6)
		ASEL K 7 A_Scream
        ASEL L 7
        ASEL M 7 A_NoBlocking
        ASEL N 7
        ASEL O -1
        Stop
		ASE2 K 7 A_Scream
        ASE2 L 7
        ASE2 M 7 A_NoBlocking
        ASE2 N 7
        ASE2 O 1 A_GiveInventory("Death2Check",1)
		ASE2 O -1
        Stop
	Wound:
	    ASEL K 0 
		ASEL K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		ASEL K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL K 0 A_ChangeFlag("DROPOFF",0)
		ASEL K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL K 0 A_ChangeFlag("FLOAT",0)
		ASEL K 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL K 0 A_TakeInventory("FlyCheck",999)
		ASEL K 0 A_ChangeFlag("NOPAIN",0)
		ASEL K 0 A_StopSoundEx("Body")
		ASEL K 0 A_StopSoundEx("SoundSlot7")
		ASEL K 0 A_Jump(256,1,27)
		ASEL K 7 A_Scream
        ASEL LM 7 
		ASEL N 7 A_GiveInventory("WoundedCheck",1)
        ASEL O 7 A_PlaySoundEx("Trooper/Choke","Body",0)
        ASEL PQPQPQPQPQPQP 10 
        ASEL R 0 A_Jump(96,5)
        ASEL R 7 A_Scream
        ASEL N 7 A_NoBlocking
		ASEL O 1 A_GiveInventory("RealDieCheck",1)     
		ASEL O 1 A_Die   
        Goto Death
        ASEL A 0 HealThing(50)
		ASEL A 0 A_TakeInventory("WoundedCheck",1)
        Goto See
	    ASE2 K 7 A_Scream
        ASE2 LM 7 
		ASE2 N 7 A_GiveInventory("WoundedCheck",1)
        ASE2 O 7 A_PlaySoundEx("Trooper/Choke","Body",0)
        ASE2 QPQPQPQPQPQPQ 10 
        ASE2 R 0 A_Jump(96,6)		
        ASE2 R 7 A_Scream
        ASE2 N 7 A_NoBlocking
		ASE2 O 1 A_GiveInventory("Death2Check",1)
		ASE2 O 1 A_GiveInventory("RealDieCheck",1)    
		ASE2 O 1 A_Die    
        Goto Death
        ASE2 A 0 HealThing(50)
		ASE2 A 0 A_TakeInventory("WoundedCheck",1)
        Goto See
	Death.Damage_Shrinker:
    Wound.Damage_Shrinker:
        ASEL A 0
		ASEL A 0 A_JumpIfInventory("FlyCheck",1,"DeathDamage_ShrinkerFly")
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 0 A_ChangeFlag("NOPAIN",0)
        ASEL A 10 A_PlaySound("Shrinker/Shrink")
		ASEL A 1 A_SetScale(0.70,0.70)
        ASEL A 1 A_SetScale(0.68,0.68)
        ASEL A 1 A_SetScale(0.66,0.66)
        ASEL A 1 A_SetScale(0.64,0.64)
        ASEL A 1 A_SetScale(0.62,0.62)
        ASEL A 1 A_SetScale(0.60,0.60)
        ASEL A 1 A_SetScale(0.58,0.58)
        ASEL A 1 A_SetScale(0.56,0.56)
        ASEL A 1 A_SetScale(0.54,0.54)
        ASEL A 1 A_SetScale(0.52,0.52)
        ASEL A 1 A_SetScale(0.50,0.50)
        ASEL A 1 A_SetScale(0.48,0.48)
        ASEL A 1 A_SetScale(0.46,0.46)
        ASEL A 1 A_SetScale(0.44,0.44)
        ASEL A 1 A_SetScale(0.42,0.42)
        ASEL A 1 A_SetScale(0.40,0.40)
        ASEL A 1 A_SetScale(0.38,0.38)
        ASEL A 1 A_SetScale(0.36,0.36)
        ASEL A 1 A_SetScale(0.34,0.34)
        ASEL A 1 A_SetScale(0.32,0.32)
        ASEL A 1 A_SetScale(0.30,0.30)
        ASEL A 1 A_SetScale(0.28,0.28)
        ASEL A 1 A_SetScale(0.26,0.26)
        ASEL A 1 A_SetScale(0.24,0.24)
        ASEL A 1 A_SetScale(0.22,0.22)
        ASEL A 1 A_SetScale(0.20,0.20)
		ASEL A 0 A_SpawnItemEx("Assault Trooper Elite Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
	DeathDamage_ShrinkerFly:
        ASEL G 0
		ASEL G 0 A_StopSoundEx("Body")
		ASEL G 0 A_StopSoundEx("SoundSlot7")
		ASEL G 0 A_ChangeFlag("NOPAIN",0)
		ASEL G 0 A_Stop
		ASEL G 0 A_NoGravity
        ASEL G 10 A_PlaySound("Shrinker/Shrink")
		ASEL G 1 A_SetScale(0.70,0.70)
        ASEL G 1 A_SetScale(0.68,0.68)
        ASEL G 1 A_SetScale(0.66,0.66)
        ASEL G 1 A_SetScale(0.64,0.64)
        ASEL G 1 A_SetScale(0.62,0.62)
        ASEL G 1 A_SetScale(0.60,0.60)
        ASEL G 1 A_SetScale(0.58,0.58)
        ASEL G 1 A_SetScale(0.56,0.56)
        ASEL G 1 A_SetScale(0.54,0.54)
        ASEL G 1 A_SetScale(0.52,0.52)
        ASEL G 1 A_SetScale(0.50,0.50)
        ASEL G 1 A_SetScale(0.48,0.48)
        ASEL G 1 A_SetScale(0.46,0.46)
        ASEL G 1 A_SetScale(0.44,0.44)
        ASEL G 1 A_SetScale(0.42,0.42)
        ASEL G 1 A_SetScale(0.40,0.40)
        ASEL G 1 A_SetScale(0.38,0.38)
        ASEL G 1 A_SetScale(0.36,0.36)
        ASEL G 1 A_SetScale(0.34,0.34)
        ASEL G 1 A_SetScale(0.32,0.32)
        ASEL G 1 A_SetScale(0.30,0.30)
        ASEL G 1 A_SetScale(0.28,0.28)
        ASEL G 1 A_SetScale(0.26,0.26)
        ASEL G 1 A_SetScale(0.24,0.24)
        ASEL G 1 A_SetScale(0.22,0.22)
        ASEL G 1 A_SetScale(0.20,0.20)
		ASEL A 0 A_SpawnItemEx(" Assault Trooper Elite Shrunken ",0,0,0,0,0,0,0,32,0)
        Stop
	WoundDeath:
	    ASEL R 0 A_Jump(256,1,4)
	    ASEL R 7 A_Scream
        ASEL N 7 A_NoBlocking
		ASEL O -1 A_Die
        Stop
        ASE2 R 7 A_Scream
        ASE2 N 7 A_NoBlocking
		ASE2 O 1 A_GiveInventory("Death2Check",1)
		ASE2 O -1 A_Die
        Stop
	RealDeath:
	    ASEL O 1 A_JumpIfInventory("Death2Check",1,2)
		ASEL O -1 
        Stop
		ASE2 O -1 
        Stop
	Death.Damage_Explosion:
	Death.Damage_BigShock:
	Wound.Damage_Explosion:
	Wound.Damage_BigShock:
	Death.Damage_BigThunder:
	Wound.Damage_BigThunder:
		ASEL A 0
		ASEL A 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL A 0 A_ChangeFlag("DROPOFF",0)
		ASEL A 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL A 0 A_ChangeFlag("FLOAT",0)
		ASEL A 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL A 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL A 0 A_TakeInventory("FlyCheck",999)
		ASEL A 0 A_ChangeFlag("NOPAIN",0)
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 0 A_Die
        ASEL A 0 A_PlaySound("Gib/Explode",5)
        ASEL A 0 A_NoBlocking
        ASEL AAA 0 A_SpawnDebris("DukeGibs1")
        ASEL AAA 0 A_SpawnDebris("DukeGibs2")
		ASEL AAA 0 A_SpawnDebris("DukeGibs3")
        ASEL AAA 0 A_SpawnDebris("DukeGibs4")
        ASEL AAA 0 A_SpawnDebris("DukeGibs5")		
        ASEL AAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
	Death.Damage_Expander:
        ASEL A 0
		ASEL A 0 A_JumpIfInventory("FlyCheck",1,"DeathDamage_ExpanderFly")
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 1 A_PlaySound("Expander/Expand",5)
		ASEL A 0 A_Die
		ASEL A 1 A_SetScale(0.71,0.71)
        ASEL A 1 A_SetScale(0.72,0.72)
		ASEL A 1 A_SetScale(0.73,0.73)
		ASEL A 1 A_SetScale(0.74,0.74)
		ASEL A 1 A_SetScale(0.75,0.75)
		ASEL A 1 A_SetScale(0.76,0.76)
		ASEL A 1 A_SetScale(0.77,0.77)
		ASEL A 1 A_SetScale(0.78,0.78)
		ASEL A 1 A_SetScale(0.79,0.79)
		ASEL A 1 A_SetScale(0.80,0.80)
		ASEL A 1 A_SetScale(0.81,0.81)
		ASEL A 1 A_SetScale(0.82,0.82)
		ASEL A 1 A_SetScale(0.83,0.83)
		ASEL A 1 A_SetScale(0.84,0.84)
		ASEL A 1 A_SetScale(0.85,0.85)
		ASEL A 1 A_SetScale(0.86,0.86)
		ASEL A 1 A_SetScale(0.87,0.87)
		ASEL A 1 A_SetScale(0.88,0.88)
		ASEL A 1 A_SetScale(0.89,0.89)
		ASEL A 1 A_SetScale(0.90,0.90)
		ASEL A 1 A_SetScale(0.91,0.91)
		ASEL A 1 A_SetScale(0.92,0.92)
		ASEL A 1 A_SetScale(0.93,0.93)
		ASEL A 1 A_SetScale(0.94,0.94)
		ASEL A 1 A_SetScale(0.95,0.95)
		ASEL A 1 A_SetScale(0.96,0.96)
		ASEL A 1 A_SetScale(0.97,0.97)
		ASEL A 1 A_SetScale(0.98,0.98)
		ASEL A 1 A_SetScale(0.99,0.99)
		ASEL A 1 A_SetScale(1.00,1.00)
		ASEL A 1 A_SetScale(1.01,1.01)
		ASEL A 1 A_SetScale(1.02,1.02)
		ASEL A 1 A_SetScale(1.03,1.03)
		ASEL A 1 A_SetScale(1.04,1.04)
		ASEL A 1 A_SetScale(1.05,1.05)
		ASEL A 1 A_SetScale(1.06,1.06)
		ASEL A 1 A_SetScale(1.07,1.07)
		ASEL A 1 A_SetScale(1.08,1.08)
		ASEL A 1 A_SetScale(1.09,1.09)
		ASEL A 1 A_SetScale(1.10,1.10)
		ASEL A 1 A_SetScale(1.11,1.11)
		ASEL A 1 A_SetScale(1.12,1.12)
		ASEL A 1 A_SetScale(1.13,1.13)
		ASEL A 1 A_SetScale(1.14,1.14)
        ASEL A 25 A_SetScale(1.15,1.15)
        ASEL A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	DeathDamage_ExpanderFly:
	    ASEL G 0 
	    ASEL G 0 A_Stop
		ASEL G 0 A_NoGravity
		ASEL G 0 A_StopSoundEx("SoundSlot7")
	    ASEL G 1 A_PlaySound("Expander/Expand",5)
		ASEL G 0 A_Die
		ASEL G 1 A_SetScale(0.71,0.71)
        ASEL G 1 A_SetScale(0.72,0.72)
		ASEL G 1 A_SetScale(0.73,0.73)
		ASEL G 1 A_SetScale(0.74,0.74)
		ASEL G 1 A_SetScale(0.75,0.75)
		ASEL G 1 A_SetScale(0.76,0.76)
		ASEL G 1 A_SetScale(0.77,0.77)
		ASEL G 1 A_SetScale(0.78,0.78)
		ASEL G 1 A_SetScale(0.79,0.79)
		ASEL G 1 A_SetScale(0.80,0.80)
		ASEL G 1 A_SetScale(0.81,0.81)
		ASEL G 1 A_SetScale(0.82,0.82)
		ASEL G 1 A_SetScale(0.83,0.83)
		ASEL G 1 A_SetScale(0.84,0.84)
		ASEL G 1 A_SetScale(0.85,0.85)
		ASEL G 1 A_SetScale(0.86,0.86)
		ASEL G 1 A_SetScale(0.87,0.87)
		ASEL G 1 A_SetScale(0.88,0.88)
		ASEL G 1 A_SetScale(0.89,0.89)
		ASEL G 1 A_SetScale(0.90,0.90)
		ASEL G 1 A_SetScale(0.91,0.91)
		ASEL G 1 A_SetScale(0.92,0.92)
		ASEL G 1 A_SetScale(0.93,0.93)
		ASEL G 1 A_SetScale(0.94,0.94)
		ASEL G 1 A_SetScale(0.95,0.95)
		ASEL G 1 A_SetScale(0.96,0.96)
		ASEL G 1 A_SetScale(0.97,0.97)
		ASEL G 1 A_SetScale(0.98,0.98)
		ASEL G 1 A_SetScale(0.99,0.99)
		ASEL G 1 A_SetScale(1.00,1.00)
		ASEL G 1 A_SetScale(1.01,1.01)
		ASEL G 1 A_SetScale(1.02,1.02)
		ASEL G 1 A_SetScale(1.03,1.03)
		ASEL G 1 A_SetScale(1.04,1.04)
		ASEL G 1 A_SetScale(1.05,1.05)
		ASEL G 1 A_SetScale(1.06,1.06)
		ASEL G 1 A_SetScale(1.07,1.07)
		ASEL G 1 A_SetScale(1.08,1.08)
		ASEL G 1 A_SetScale(1.09,1.09)
		ASEL G 1 A_SetScale(1.10,1.10)
		ASEL G 1 A_SetScale(1.11,1.11)
		ASEL G 1 A_SetScale(1.12,1.12)
		ASEL G 1 A_SetScale(1.13,1.13)
		ASEL G 1 A_SetScale(1.14,1.14)
        ASEL G 25 A_SetScale(1.15,1.15)
        ASEL G 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	Wound.Damage_Expander:
        TNT1 A 0
        TNT1 A 0 A_GiveInventory("DeathExpandedCheck",1)
        TNT1 A 0 A_Die
		Stop
	Burn:
	Wound.Fire:
	    ASEF K 0
		ASEF K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEF K 0 A_ChangeFlag("DROPOFF",0)
		ASEF K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEF K 0 A_ChangeFlag("FLOAT",0)
		ASEF K 0 A_ChangeFlag("NOGRAVITY",0)
		ASEF K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEF K 0 A_TakeInventory("FlyCheck",999)
		ASEF K 0 A_ChangeFlag("NOPAIN",0)
		ASEF K 0 A_StopSoundEx("Body")
		ASEF K 0 A_StopSoundEx("SoundSlot7")
		ASEF K 0 A_Die
		ASEF K 0 A_Jump(256,1,33)
		ASEF K 0 A_Scream 
        ASEF KKKKKKKLLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASEF M 0 A_NoBlocking
        ASEF MMMMMMMNNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASEF O 1 A_SpawnItemEx("FireintheFloor")
		ASEF O -1
        Stop
		ASF5 K 0 A_Scream 
        ASF5 KKKKKKKLLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASF5 M 0 A_NoBlocking 
        ASF5 MMMMMMMNNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASF5 O 1 A_SpawnItemEx("FireintheFloor")
		ASF5 O 1 A_GiveInventory("Death2CheckFire",1)
		ASF5 O -1
        Stop
	Raise:
	    TNT1 A 0 
	    TNT1 A 0 A_UnSetShootable
		TNT1 A 0 A_ChangeFlag("COUNTKILL",0)
		TNT1 A 0 A_ChangeFlag("SOLID",0)
	    ASEL O 0 A_JumpIfInventory("FireCheckDeath",1,"Raise2")
		ASEL O 0 A_JumpIfInventory("Death2Check",1,2)
		ASEL O 35
		Stop
		ASE2 O 0
		ASE2 O 35
		Stop
	Raise2:
		ASEF O 0
		ASEF O 0 A_JumpIfInventory("Death2CheckFire",1,2)
		ASEF O 35
		Stop
		ASF5 O 0
		ASF5 O 35
		Stop
    }
}

ACTOR "Assault Trooper Elite Shrunken" : "Assault Trooper Shrunken" 
{
    States
    {
    Spawn:
        ASEL A 0 
	    ASEL A 0 A_JumpIfInventory("FlyCheck",1,"FlySpawn")
		ASEL A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		ASEL A 0 A_GiveInventory("ShrunkenCheck",1)
        ASEL AAAAAAAA 3 A_Look
        Loop
	FlySpawn:
	    ASEL G 0 
		ASEL A 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASEL G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL G 0 A_GiveInventory("ShrunkenCheck",1)
		ASEL GGGGGGGG 3 A_Look
        Loop
    See:
	    ASEL A 0 
	    ASEL A 0 A_ChangeFlag("NOPAIN",0)
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
	    ASEL A 0 A_JumpIfInventory("FlyCheck",1,"FlySee")
		ASEL A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		ASEL A 0 A_Jump(2,"GiveFly")
		ASEL A 0 A_GiveInventory("ShrunkenCheck",1)
		ASEL AABB 3 A_Chase
		ASEL B 0 A_SpawnItem("AlienStep1",0,0,0,0)
		ASEL CCDD 3 A_Chase
		ASEL D 0 A_SpawnItem("AlienStep1",0,0,0,0)
        Loop
	GiveFly:
	    ASEL G 0 
		ASEL G 0 A_ChangeFlag("SPAWNFLOAT",1)
		ASEL G 0 A_ChangeFlag("DROPOFF",1)
		ASEL G 0 A_ChangeFlag("DONTOVERLAP",1)
		ASEL G 0 A_ChangeFlag("FLOAT",1)
		ASEL G 0 A_ChangeFlag("NOGRAVITY",1)
		ASEL G 0 A_ChangeFlag("FLOORCLIP",0)
		ASEL G 0 A_Sentinelbob
	    ASEL G 1 A_GiveInventory("FlyCheck",1)
		Goto FlySee
	TakeFly:
	    ASEL G 0 
		ASEL G 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL G 0 A_ChangeFlag("DROPOFF",0)
		ASEL G 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL G 0 A_ChangeFlag("FLOAT",0)
		ASEL G 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL G 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL G 1 A_TakeInventory("FlyCheck",999)
		Goto See
	FlySee:
	    ASEL G 0
		ASEL G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASEL G 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASEL G 0 A_GiveInventory("ShrunkenCheck",1)
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
        ASEL G 0 A_Jump(256,"See2","See3")
		Stop
	See2:
	    ASEL G 0
		ASEL G 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASEL G 0 A_GiveInventory("ShrunkenCheck",1)
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL G 0 A_Sentinelbob
		ASEL GG 3 A_Chase
		ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL G 0 A_Sentinelbob
		ASEL GG 3 A_Chase
		ASEL GG 3 A_Chase
	    Loop
	See3:
	    ASEL G 0
		ASEL G 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASEL G 0 A_GiveInventory("ShrunkenCheck",1)
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
	    Loop	
    Pain:
        ASEL T 0 
	    ASEL T 0 A_JumpIfInventory("FlyCheck",1,"FlyPain")
		ASEL T 8 A_Pain
        Goto See 
	FlyPain:
		ASEL G 8 A_Pain
        Goto See
	Pain.LaserShot:
	    ASEL T 0 
		ASEL T 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		ASEL T 0 HealThing(2)
		Goto See
	Pain.Radial:
        ASEL T 0
        ASEL T 0 HealThing(2)
        Goto See
	Restore:
	    ASEL A 0
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 0 A_ChangeFlag("NOPAIN",0)
        ASEL A 10 A_PlaySound("Shrinker/Shrink")
		ASEL A 1 A_SetScale(0.20,0.20)
        ASEL A 1 A_SetScale(0.22,0.22)
        ASEL A 1 A_SetScale(0.26,0.24)
        ASEL A 1 A_SetScale(0.24,0.24)
        ASEL A 1 A_SetScale(0.28,0.28)
        ASEL A 1 A_SetScale(0.30,0.30)
        ASEL A 1 A_SetScale(0.32,0.32)
        ASEL A 1 A_SetScale(0.34,0.34)
        ASEL A 1 A_SetScale(0.36,0.36)
        ASEL A 1 A_SetScale(0.38,0.38)
        ASEL A 1 A_SetScale(0.40,0.40)
        ASEL A 1 A_SetScale(0.42,0.42)
        ASEL A 1 A_SetScale(0.44,0.44)
        ASEL A 1 A_SetScale(0.46,0.46)
        ASEL A 1 A_SetScale(0.48,0.48)
        ASEL A 1 A_SetScale(0.50,0.50)
        ASEL A 1 A_SetScale(0.52,0.52)
        ASEL A 1 A_SetScale(0.54,0.54)
        ASEL A 1 A_SetScale(0.56,0.56)
        ASEL A 1 A_SetScale(0.58,0.58)
        ASEL A 1 A_SetScale(0.60,0.60)
        ASEL A 1 A_SetScale(0.62,0.62)
        ASEL A 1 A_SetScale(0.64,0.64)
        ASEL A 1 A_SetScale(0.66,0.66)
        ASEL A 1 A_SetScale(0.68,0.68)
        ASEL A 1 A_SetScale(0.70,0.70)
		ASEL A 0 A_SpawnItemEx("Assault Trooper Elite",0,0,0,0,0,0,0,32,0)
        Stop
	RestoreFly:	
		ASEL G 0
		ASEL G 0 A_Stop
		ASEL G 0 A_StopSoundEx("Body")
		ASEL G 0 A_StopSoundEx("SoundSlot7")
		ASEL G 0 A_ChangeFlag("NOPAIN",0)
        ASEL G 10 A_PlaySound("Shrinker/Shrink")
		ASEL G 1 A_SetScale(0.20,0.20)
        ASEL G 1 A_SetScale(0.22,0.22)
        ASEL G 1 A_SetScale(0.26,0.24)
        ASEL G 1 A_SetScale(0.24,0.24)
        ASEL G 1 A_SetScale(0.28,0.28)
        ASEL G 1 A_SetScale(0.30,0.30)
        ASEL G 1 A_SetScale(0.32,0.32)
        ASEL G 1 A_SetScale(0.34,0.34)
        ASEL G 1 A_SetScale(0.36,0.36)
        ASEL G 1 A_SetScale(0.38,0.38)
        ASEL G 1 A_SetScale(0.40,0.40)
        ASEL G 1 A_SetScale(0.42,0.42)
        ASEL G 1 A_SetScale(0.44,0.44)
        ASEL G 1 A_SetScale(0.46,0.46)
        ASEL G 1 A_SetScale(0.48,0.48)
        ASEL G 1 A_SetScale(0.50,0.50)
        ASEL G 1 A_SetScale(0.52,0.52)
        ASEL G 1 A_SetScale(0.54,0.54)
        ASEL G 1 A_SetScale(0.56,0.56)
        ASEL G 1 A_SetScale(0.58,0.58)
        ASEL G 1 A_SetScale(0.60,0.60)
        ASEL G 1 A_SetScale(0.62,0.62)
        ASEL G 1 A_SetScale(0.64,0.64)
        ASEL G 1 A_SetScale(0.66,0.66)
        ASEL G 1 A_SetScale(0.68,0.68)
        ASEL G 1 A_SetScale(0.70,0.70)
		ASEL G 0 A_SpawnItemEx(" Assault Trooper Elite ",0,0,0,0,0,0,0,32,0)
        Stop
	Death:
	    ASEL A 0
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 0 A_ChangeFlag("NOPAIN",0)
		ASEL A 0 A_Stop
        ASEL A 0 A_PlaySound("DukeNukem/DeathLittle",5)
        ASEL A 0 A_NoBlocking
        ASEL A 0 A_SpawnDebris("DukeGibs1")
        ASEL A 0 A_SpawnDebris("DukeGibs2")
		ASEL A 0 A_SpawnDebris("DukeGibs3")
        ASEL A 0 A_SpawnDebris("DukeGibs4")
        ASEL A 0 A_SpawnDebris("DukeGibs5")		
        ASEL AAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    }
}

ACTOR " Assault Trooper Elite Shrunken " : "Assault Trooper Elite Shrunken"
{
	+SPAWNFLOAT
	+DROPOFF
	+DONTOVERLAP
	+FLOAT
	+NOGRAVITY
	States
    {
	Spawn:
	    ASEL G 0 
		ASEL G 0 A_JumpIfInventory("FloorCheck",1,3)
	    ASEL G 0 A_GiveInventory("FloorCheck",1)
		ASEL G 0 A_Jump(256,13)
		ASEL A 0 
	    ASEL A 0 A_JumpIfInventory("FlyCheck",1,"FlySpawn")
		ASEL A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
        ASEL A 0 A_GiveInventory("ShrunkenCheck",1)
        ASEL AAAAAAAA 3 A_Look
        Loop
		ASEL G 0 A_GiveInventory("FlyCheck",1)
		Loop
	FlySpawn:
	    ASEL G 0 
		ASEL G 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASEL G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASEL G 0 A_GiveInventory("ShrunkenCheck",1)
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Look
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Look
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Look
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Look
        Loop
    See:
		ASEL A 0 
	    ASEL A 0 A_ChangeFlag("NOPAIN",0)
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
	    ASEL A 0 A_JumpIfInventory("FlyCheck",1,"FlySee")
		ASEL A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		ASEL A 0 A_Jump(2,"GiveFly")
		ASEL A 0 A_GiveInventory("ShrunkenCheck",1)
		ASEL AABB 3 A_Chase
		ASEL B 0 A_SpawnItem("AlienStep1",0,0,0,0)
		ASEL CCDD 3 A_Chase
		ASEL D 0 A_SpawnItem("AlienStep1",0,0,0,0)
        Loop
	GiveFly:
	    ASEL G 0 
		ASEL G 0 A_ChangeFlag("SPAWNFLOAT",1)
		ASEL G 0 A_ChangeFlag("DROPOFF",1)
		ASEL G 0 A_ChangeFlag("DONTOVERLAP",1)
		ASEL G 0 A_ChangeFlag("FLOAT",1)
		ASEL G 0 A_ChangeFlag("NOGRAVITY",1)
		ASEL G 0 A_ChangeFlag("FLOORCLIP",0)
		ASEL G 0 A_Sentinelbob
	    ASEL G 1 A_GiveInventory("FlyCheck",1)
		Goto FlySee
	TakeFly:
	    ASEL G 0 
		ASEL G 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASEL G 0 A_ChangeFlag("DROPOFF",0)
		ASEL G 0 A_ChangeFlag("DONTOVERLAP",0)
		ASEL G 0 A_ChangeFlag("FLOAT",0)
		ASEL G 0 A_ChangeFlag("NOGRAVITY",0)
		ASEL G 0 A_ChangeFlag("FLOORCLIP",1)
	    ASEL G 1 A_TakeInventory("FlyCheck",999)
		Goto See
	FlySee:
	    ASEL G 0
		ASEL G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASEL G 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASEL G 0 A_GiveInventory("ShrunkenCheck",1)
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL GG 3 A_Chase
        ASEL G 0 A_Jump(256,"See2","See3")
		Stop
	See2:
	    ASEL G 0
		ASEL G 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASEL G 0 A_GiveInventory("ShrunkenCheck",1)
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL G 0 A_Sentinelbob
		ASEL GG 3 A_Chase
		ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
        ASEL G 0 A_Sentinelbob
		ASEL GG 3 A_Chase
		ASEL GG 3 A_Chase
	    Loop
	See3:
	    ASEL G 0
		ASEL G 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASEL G 0 A_GiveInventory("ShrunkenCheck",1)
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
		ASEL G 0 A_CheckFloor("TakeFly")
		ASEL GG 3 A_Chase
	    Loop		
    Pain:
        ASEL T 0 
	    ASEL T 0 A_JumpIfInventory("FlyCheck",1,"FlyPain")
		ASEL T 8 A_Pain
        Goto See 
	FlyPain:
		ASEL G 8 A_Pain
        Goto See
	Pain.LaserShot:
	    ASEL T 0 
		ASEL T 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		ASEL T 0 HealThing(2)
		Goto See
	Pain.Radial:
        ASEL T 0
        ASEL T 0 HealThing(2)
        Goto See
	Restore:
	    ASEL A 0
		ASEL A 0 A_StopSoundEx("Body")
		ASEL A 0 A_StopSoundEx("SoundSlot7")
		ASEL A 0 A_ChangeFlag("NOPAIN",0)
        ASEL A 10 A_PlaySound("Shrinker/Shrink")
		ASEL A 1 A_SetScale(0.20,0.20)
        ASEL A 1 A_SetScale(0.22,0.22)
        ASEL A 1 A_SetScale(0.26,0.24)
        ASEL A 1 A_SetScale(0.24,0.24)
        ASEL A 1 A_SetScale(0.28,0.28)
        ASEL A 1 A_SetScale(0.30,0.30)
        ASEL A 1 A_SetScale(0.32,0.32)
        ASEL A 1 A_SetScale(0.34,0.34)
        ASEL A 1 A_SetScale(0.36,0.36)
        ASEL A 1 A_SetScale(0.38,0.38)
        ASEL A 1 A_SetScale(0.40,0.40)
        ASEL A 1 A_SetScale(0.42,0.42)
        ASEL A 1 A_SetScale(0.44,0.44)
        ASEL A 1 A_SetScale(0.46,0.46)
        ASEL A 1 A_SetScale(0.48,0.48)
        ASEL A 1 A_SetScale(0.50,0.50)
        ASEL A 1 A_SetScale(0.52,0.52)
        ASEL A 1 A_SetScale(0.54,0.54)
        ASEL A 1 A_SetScale(0.56,0.56)
        ASEL A 1 A_SetScale(0.58,0.58)
        ASEL A 1 A_SetScale(0.60,0.60)
        ASEL A 1 A_SetScale(0.62,0.62)
        ASEL A 1 A_SetScale(0.64,0.64)
        ASEL A 1 A_SetScale(0.66,0.66)
        ASEL A 1 A_SetScale(0.68,0.68)
        ASEL A 1 A_SetScale(0.70,0.70)
		ASEL A 0 A_SpawnItemEx("Assault Trooper Elite",0,0,0,0,0,0,0,32,0)
        Stop
	RestoreFly:	
		ASEL G 0
		ASEL G 0 A_Stop
		ASEL G 0 A_StopSoundEx("Body")
		ASEL G 0 A_StopSoundEx("SoundSlot7")
		ASEL G 0 A_ChangeFlag("NOPAIN",0)
        ASEL G 10 A_PlaySound("Shrinker/Shrink")
		ASEL G 1 A_SetScale(0.20,0.20)
        ASEL G 1 A_SetScale(0.22,0.22)
        ASEL G 1 A_SetScale(0.26,0.24)
        ASEL G 1 A_SetScale(0.24,0.24)
        ASEL G 1 A_SetScale(0.28,0.28)
        ASEL G 1 A_SetScale(0.30,0.30)
        ASEL G 1 A_SetScale(0.32,0.32)
        ASEL G 1 A_SetScale(0.34,0.34)
        ASEL G 1 A_SetScale(0.36,0.36)
        ASEL G 1 A_SetScale(0.38,0.38)
        ASEL G 1 A_SetScale(0.40,0.40)
        ASEL G 1 A_SetScale(0.42,0.42)
        ASEL G 1 A_SetScale(0.44,0.44)
        ASEL G 1 A_SetScale(0.46,0.46)
        ASEL G 1 A_SetScale(0.48,0.48)
        ASEL G 1 A_SetScale(0.50,0.50)
        ASEL G 1 A_SetScale(0.52,0.52)
        ASEL G 1 A_SetScale(0.54,0.54)
        ASEL G 1 A_SetScale(0.56,0.56)
        ASEL G 1 A_SetScale(0.58,0.58)
        ASEL G 1 A_SetScale(0.60,0.60)
        ASEL G 1 A_SetScale(0.62,0.62)
        ASEL G 1 A_SetScale(0.64,0.64)
        ASEL G 1 A_SetScale(0.66,0.66)
        ASEL G 1 A_SetScale(0.68,0.68)
        ASEL G 1 A_SetScale(0.70,0.70)
		ASEL G 0 A_SpawnItemEx(" Assault Trooper Elite ",0,0,0,0,0,0,0,32,0)
        Stop
	Death:
	    ASEL G 0
		ASEL G 0 A_StopSoundEx("Body")
		ASEL G 0 A_StopSoundEx("SoundSlot7")
		ASEL G 0 A_ChangeFlag("NOPAIN",0)
		ASEL G 0 A_Stop
        ASEL G 0 A_PlaySound("DukeNukem/DeathLittle",5)
        ASEL G 0 A_NoBlocking
        ASEL G 0 A_SpawnDebris("DukeGibs1")
        ASEL G 0 A_SpawnDebris("DukeGibs2")
		ASEL G 0 A_SpawnDebris("DukeGibs3")
        ASEL G 0 A_SpawnDebris("DukeGibs4")
        ASEL G 0 A_SpawnDebris("DukeGibs5")		
        ASEL GGGGG 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
	}
}	

ACTOR TrooperEliteProjectile1
{
	Radius 5
	Height 5
	Speed 35
	Damage (12)
    DamageType "Damage_Laser"
	Decal "SwordLightning"
	SeeSound "TrooperElite1/Fire"
	DeathSound "TrooperElite1/Explode"
	Scale 0.42
	RenderStyle Add
	Projectile
	+THRUGHOST
	States
	{
    Spawn:
	    AT1F A -1 Bright
	    Loop
    Death:
	    AT1F B 0
	    AT1F B 0 A_SetScale(0.6,0.6)
        AT1F BCDEFGHIJKLMN 1 Bright
        Stop
	    }
}

ACTOR TrooperEliteProjectile2
{
    Radius 6
    Height 6
    Speed 20
    Damage (Random(85,72))
	Scale 0.82
    Projectile
	DamageType "Damage_Shock"
    DeathSound "TrooperElite2/Explode"
    Decal "BFGLightning"
	Renderstyle Add
	+THRUGHOST
	+SEEKERMISSILE
    States
    {
    Spawn:
        ATE2 A 1 Bright A_SeekerMissile(1,2)
        TNT1 A 0 A_SpawnItemEx("TrooperEliteProjectile2Trail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
        ATE2 B 1 Bright A_SeekerMissile(1,2)
        TNT1 A 0 A_SpawnItemEx("TrooperEliteProjectile2Trail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
        ATE2 C 1 Bright A_SeekerMissile(1,2)
        TNT1 A 0 A_SpawnItemEx("TrooperEliteProjectile2Trail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
        ATE2 D 1 Bright A_SeekerMissile(1,2)
        TNT1 A 0 A_SpawnItemEx("TrooperEliteProjectile2Trail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
        ATE2 E 1 Bright A_SeekerMissile(1,2)
        TNT1 A 0 A_SpawnItemEx("TrooperEliteProjectile2Trail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
        ATE2 F 1 Bright A_SeekerMissile(1,2)
        TNT1 A 0 A_SpawnItemEx("TrooperEliteProjectile2Trail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
        ATE2 G 1 Bright A_SeekerMissile(1,2)
        TNT1 A 0 A_SpawnItemEx("TrooperEliteProjectile2Trail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
        ATE2 H 1 Bright A_SeekerMissile(1,2)
        TNT1 A 0 A_SpawnItemEx("TrooperEliteProjectile2Trail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
        ATE2 I 1 Bright A_SeekerMissile(1,2)
        TNT1 A 0 A_SpawnItemEx("TrooperEliteProjectile2Trail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
        ATE2 J 1 Bright A_SeekerMissile(1,2)
        TNT1 A 0 A_SpawnItemEx("TrooperEliteProjectile2Trail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
        Loop
    Death:
        ATE2 K 2 Bright 
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("ShrinkerParticle",0,0,Random(0,360),2,Random(0,360))
        ATE2 LMNOPQRSTUVW 2 Bright
        Stop
        }
}

ACTOR TrooperEliteProjectile2Trail
{   
	Radius 6
    Height 6
	Projectile
	Speed 0
	RenderStyle Add
	Scale 0.72
	Alpha 0.6
	+NOGRAVITY
    +DONTSPLASH
    +CLIENTSIDEONLY
    States
    {
    Spawn:
        ATE2 LMNOPQRSTUVW 3 Bright A_FadeOut
        Stop
        }
}