ACTOR "Assault Trooper" 31051
{
    //$Category DN3D Aliens //Assault Troopers
	Obituary "%o was killed by a trooper."
    Health 100
    Radius 20
    Height 56
	Mass 200
    Speed 8
    PainChance 164
    SeeSound "Trooper/Sight"
    PainSound "Trooper/Pain"
    DeathSound "Trooper/Death"
    ActiveSound "Trooper/Active"
    DropItem "Pistol Ammo" 128 12
	BloodColor "D1 0C 00" 
	Species "Alien"
    Scale 0.70
	WoundHealth 10
	DamageFactor "Damage_Foot", 0.27
	DamageFactor "Damage_Pistol", 1.12
    DamageFactor "Damage_DualPistol", 1.12
	DamageFactor "Damage_BlackTail", 1.18
    DamageFactor "Damage_DualBlackTail", 1.18
	DamageFactor "Damage_DesertEagle", 1.28
    DamageFactor "Damage_Shotgun", 1.10
	DamageFactor "Damage_SuperShotgun", 1.13
	DamageFactor "Damage_ExplosiveShotgun", 1.5
    DamageFactor "Damage_ChaingunCannon", 1.09
	DamageFactor "Damage_Minigun", 1.11
	DamageFactor "Damage_LMGBullet", 1.13
    DamageFactor "Damage_Explosion", 1.62
	DamageFactor "Damage_Shock", 1.32
	DamageFactor "Damage_BigShock", 1.91
	DamageFactor "Damage_Thunder", 1.32
	DamageFactor "Damage_BigThunder", 1.91
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 1.0
	DamageFactor "Damage_Expander", 0.80
	DamageFactor "Damage_Laser", 1.25
	DamageFactor "Damage_Railgun", 1.0
    DamageFactor "Ice", 0.87
    DamageFactor "Fire", 0.96
	DamageFactor "Damage_Pulse", 1.27
	DamageFactor "AlienPoison", 0.0
	DamageFactor "Trip_Punch", 0.0
	DamageFactor "Damage_Step", 0.0
	Painchance "Radial", 256
	Painchance "Damage_Foot", 256
	Painchance "Damage_ExplosiveShotgun", 192
	Painchance "Damage_ChaingunCannon", 192
	Painchance "Damage_Minigun", 192
	Painchance "Damage_LMGBullet", 192
    Painchance "Damage_Explosion", 192
	Painchance "Damage_Laser", 224
	Painchance "LaserShot", 256
	Painchance "Fire", 256
	Monster
	+NOTARGET
    States
    {
    Spawn:
        ASTR A 0 
	    ASTR A 0 A_JumpIfInventory("FlyCheck",1,"FlySpawn")
        ASTR A 0 Thing_ChangeTID(0,1000)
        ASTR A 3 A_Look
        Loop
	FlySpawn:
	    ASTR G 0 
		ASTR G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASTR G 0 Thing_ChangeTID(0,1000)
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR G 3 A_Look
        Loop
    See:
	    ASTR A 0 
	    ASTR A 0 A_ChangeFlag("NOPAIN",0)
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
	    ASTR A 0 A_JumpIfInventory("FlyCheck",1,"FlySee")
		ASTR A 0 A_Jump(2,"GiveFly")
		ASTR AABB 3 A_Chase
		ASTR B 0 A_SpawnItem("AlienStep1",0,0,0,0)
		ASTR CCDD 3 A_Chase
		ASTR D 0 A_SpawnItem("AlienStep1",0,0,0,0)
        Loop
	GiveFly:
	    ASTR G 0 
		ASTR G 0 A_ChangeFlag("SPAWNFLOAT",1)
		ASTR G 0 A_ChangeFlag("DROPOFF",1)
		ASTR G 0 A_ChangeFlag("DONTOVERLAP",1)
		ASTR G 0 A_ChangeFlag("FLOAT",1)
		ASTR G 0 A_ChangeFlag("NOGRAVITY",1)
		ASTR G 0 A_ChangeFlag("FLOORCLIP",0)
		ASTR G 0 A_Sentinelbob
	    ASTR G 1 A_GiveInventory("FlyCheck",1)
		Goto FlySee
	TakeFly:
	    ASTR G 0 
		ASTR G 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTR G 0 A_ChangeFlag("DROPOFF",0)
		ASTR G 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTR G 0 A_ChangeFlag("FLOAT",0)
		ASTR G 0 A_ChangeFlag("NOGRAVITY",0)
		ASTR G 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTR G 1 A_TakeInventory("FlyCheck",999)
		Goto See
	FlySee:
	    ASTR G 0
		ASTR G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
        ASTR G 0 A_Jump(256,"See2","See3")
		Loop
	See2:
	    ASTR G 0
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR G 0 A_JumpIfTargetinLOS(1,240)
        ASTR G 0 A_Sentinelbob
		ASTR GG 3 A_Chase
		ASTR GG 3 A_Chase
	    Loop
	See3:
	    ASTR G 0
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR GG 3 A_Chase
	    Loop	
    Missile:
	    ASTR E 0 
	    ASTR E 0 A_JumpIfInventory("FlyCheck",1,"FlyMissile")
        ASTR E 0 A_Jump(128,"Missile2","Missile3")
        ASTR E 6 A_FaceTarget
        ASTR E 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR F 6 Bright A_CustomMissile("AlienBullet",32,14,Random(-8,8))
        ASTR E 6
        Goto See
    Missile2:
        ASTR E 6 A_FaceTarget
        ASTR E 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR F 6 Bright A_CustomMissile("AlienBullet",32,14,Random(-8,8))
        ASTR E 6 A_FaceTarget
        ASTR E 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR F 6 Bright A_CustomMissile("AlienBullet",32,14,Random(-8,8))
		ASTR E 6
        Goto See
    Missile3:
        ASTR I 10 A_FaceTarget
        ASTR I 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR J 6 Bright A_CustomMissile("AlienBullet",26,14,-8)
        ASTR I 6 A_FaceTarget
        ASTR I 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR J 6 Bright A_CustomMissile("AlienBullet",26,14,0)
        ASTR I 6 A_FaceTarget
        ASTR I 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR J 6 Bright A_CustomMissile("AlienBullet",26,14,8)
        ASTR I 10 A_FaceTarget
        Goto See
	FlyMissile:
        ASTR G 0 A_FaceTarget
        ASTR G 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR G 0 A_CustomMissile("AlienBullet",32,14,Random(-10,10))
        ASTR H 6 Bright 
        ASTR G 3 
        Goto FlySee
    Pain:
        ASTR T 0 
	    ASTR T 0 A_JumpIfInventory("FlyCheck",1,"FlyPain")
		ASTR T 8 A_Pain
        Goto See 
	FlyPain:
		ASTR G 8 A_Pain
        Goto FlySee
	Pain.LaserShot:
	    ASTR T 0 
		ASTR T 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		ASTR T 0 HealThing(2)
		Goto See
	Pain.Radial:
        ASTR T 0
        ASTR T 0 HealThing(2)
        Goto See
	Pain.Fire:
	    ASTF A 0
		ASTF A 0 A_JumpIfInventory("FlyCheck",1,"PainFireFly")
		ASTF A 0 A_GiveInventory("FireCheck",1)
		ASTF A 0 A_GiveInventory("FireCheckDeath",1)
		ASTF A 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		ASTF A 0 A_PlaySound("Trooper/Pain",10)
		ASTF A 0 A_ChangeFlag("NOPAIN",1)
		ASTF A 0 A_ChangeFlag("FRIGHTENED",1)
		ASTF A 0 A_Wander
		ASTF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF A 0 A_Wander
		ASTF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF B 0 A_Wander
		ASTF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF B 0 A_Wander
		ASTF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF C 0 A_Wander
		ASTF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF C 0 A_Wander
		ASTF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF D 0 A_Wander
		ASTF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF D 0 A_Wander
		ASTF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        ASTF A 0 A_Wander
		ASTF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF A 0 A_Wander
		ASTF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF B 0 A_Wander
		ASTF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF B 0 A_Wander
		ASTF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF C 0 A_Wander
		ASTF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF C 0 A_Wander
		ASTF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF D 0 A_Wander
		ASTF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF D 0 A_Wander
		ASTF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF D 0 A_JumpIfInventory("FireCheck",8,"PainFireStop")
		Loop
	PainFireFly:
		ASTF G 0
		ASTF G 0 A_GiveInventory("FireCheck",1)
		ASTF G 0 A_GiveInventory("FireCheckDeath",1)
		ASTF G 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		ASTF G 0 A_PlaySound("Trooper/Pain",10)
		ASTF G 0 A_ChangeFlag("NOPAIN",1)
		ASTF G 0 A_ChangeFlag("FRIGHTENED",1)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_JumpIfInventory("FireCheck",8,"PainFireStop")
		Loop
	PainFireStop:
	    ASTF A 0 
		ASTF A 0 A_ChangeFlag("NOPAIN",0)
		ASTF A 0 A_ChangeFlag("FRIGHTENED",0)
		ASTF A 0 A_TakeInventory("FireCheck",999)
		ASTF A 0 A_TakeInventory("FireCheckDeath",999)
		ASTF A 0 A_StopSoundEx("SoundSlot7")
		Goto See
	Death:
	    ASTR K 0
		ASTR K 0 A_JumpIfInventory("DeathExpandedCheck",1,"Death.Damage_Expander")
		ASTR K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		ASTR K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTR K 0 A_ChangeFlag("DROPOFF",0)
		ASTR K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTR K 0 A_ChangeFlag("FLOAT",0)
		ASTR K 0 A_ChangeFlag("NOGRAVITY",0)
		ASTR K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTR K 0 A_TakeInventory("FlyCheck",999)
		ASTR K 0 A_ChangeFlag("NOPAIN",0)
		ASTR K 0 A_StopSoundEx("Body")
		ASTR K 0 A_StopSoundEx("SoundSlot7")
		ASTR K 0 A_JumpIfInventory("RealDieCheck",1,"RealDeath")
		ASTR K 0 A_JumpIfInventory("WoundedCheck",1,"WoundDeath")
		ASTR K 0 A_Jump(256,1,6)
		ASTR K 7 A_Scream
        ASTR L 7
        ASTR M 7 A_NoBlocking
        ASTR N 7
		ASTR O -1 
        Stop
		AST2 K 7 A_Scream
        AST2 L 7
        AST2 M 7 A_NoBlocking
        AST2 N 7
		AST2 O 1 A_GiveInventory("Death2Check",1)
		AST2 O -1 
        Stop
	Wound:
	    ASTR K 0 
		ASTF K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		ASTR K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTR K 0 A_ChangeFlag("DROPOFF",0)
		ASTR K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTR K 0 A_ChangeFlag("FLOAT",0)
		ASTR K 0 A_ChangeFlag("NOGRAVITY",0)
		ASTR K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTR K 0 A_TakeInventory("FlyCheck",999)
		ASTR K 0 A_ChangeFlag("NOPAIN",0)
		ASTR K 0 A_StopSoundEx("Body")
		ASTR K 0 A_StopSoundEx("SoundSlot7")
		ASTR K 0 A_Jump(256,1,27)
		ASTR K 7 A_Scream
        ASTR LM 7 
		ASTR N 7 A_GiveInventory("WoundedCheck",1)
        ASTR O 7 A_PlaySoundEx("Trooper/Choke","Body",0)
        ASTR PQPQPQPQPQPQP 10 
        ASTR R 0 A_Jump(96,5)
        ASTR R 7 A_Scream
        ASTR N 7 A_NoBlocking
		ASTR O 1 A_GiveInventory("RealDieCheck",1)
		ASTR O 1 A_Die
        Goto Death
        ASTR A 0 HealThing(50)
		ASTR A 0 A_TakeInventory("WoundedCheck",1)
        Goto See
	    AST2 K 7 A_Scream
        AST2 LM 7 
		AST2 N 7 A_GiveInventory("WoundedCheck",1)
        AST2 O 7 A_PlaySoundEx("Trooper/Choke","Body",0)
        AST2 QPQPQPQPQPQPQ 10 
        AST2 R 0 A_Jump(96,6)		
        AST2 R 7 A_Scream
        AST2 N 7 A_NoBlocking
		AST2 O 1 A_GiveInventory("Death2Check",1)
		AST2 O 1 A_GiveInventory("RealDieCheck",1) 
		AST2 O 1 A_Die 
        Goto Death
        AST2 A 0 HealThing(50)
		AST2 A 0 A_TakeInventory("WoundedCheck",1)
        Goto See
	Death.Damage_Shrinker:
    Wound.Damage_Shrinker:
        ASTR A 0
		ASTR A 0 A_JumpIfInventory("FlyCheck",1,"DeathDamage_ShrinkerFly")
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
		ASTR A 0 A_ChangeFlag("NOPAIN",0)
        ASTR A 10 A_PlaySound("Shrinker/Shrink")
		ASTR A 1 A_SetScale(0.70,0.70)
        ASTR A 1 A_SetScale(0.68,0.68)
        ASTR A 1 A_SetScale(0.66,0.66)
        ASTR A 1 A_SetScale(0.64,0.64)
        ASTR A 1 A_SetScale(0.62,0.62)
        ASTR A 1 A_SetScale(0.60,0.60)
        ASTR A 1 A_SetScale(0.58,0.58)
        ASTR A 1 A_SetScale(0.56,0.56)
        ASTR A 1 A_SetScale(0.54,0.54)
        ASTR A 1 A_SetScale(0.52,0.52)
        ASTR A 1 A_SetScale(0.50,0.50)
        ASTR A 1 A_SetScale(0.48,0.48)
        ASTR A 1 A_SetScale(0.46,0.46)
        ASTR A 1 A_SetScale(0.44,0.44)
        ASTR A 1 A_SetScale(0.42,0.42)
        ASTR A 1 A_SetScale(0.40,0.40)
        ASTR A 1 A_SetScale(0.38,0.38)
        ASTR A 1 A_SetScale(0.36,0.36)
        ASTR A 1 A_SetScale(0.34,0.34)
        ASTR A 1 A_SetScale(0.32,0.32)
        ASTR A 1 A_SetScale(0.30,0.30)
        ASTR A 1 A_SetScale(0.28,0.28)
        ASTR A 1 A_SetScale(0.26,0.26)
        ASTR A 1 A_SetScale(0.24,0.24)
        ASTR A 1 A_SetScale(0.22,0.22)
        ASTR A 1 A_SetScale(0.20,0.20)
		ASTR A 0 A_SpawnItemEx("Assault Trooper Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
	DeathDamage_ShrinkerFly: 
        ASTR G 0
		ASTR G 0 A_StopSoundEx("Body")
		ASTR G 0 A_StopSoundEx("SoundSlot7")
		ASTR G 0 A_ChangeFlag("NOPAIN",0)
		ASTR G 0 A_Stop
		ASTR G 0 A_NoGravity
        ASTR G 10 A_PlaySound("Shrinker/Shrink")
		ASTR G 1 A_SetScale(0.70,0.70)
        ASTR G 1 A_SetScale(0.68,0.68)
        ASTR G 1 A_SetScale(0.66,0.66)
        ASTR G 1 A_SetScale(0.64,0.64)
        ASTR G 1 A_SetScale(0.62,0.62)
        ASTR G 1 A_SetScale(0.60,0.60)
        ASTR G 1 A_SetScale(0.58,0.58)
        ASTR G 1 A_SetScale(0.56,0.56)
        ASTR G 1 A_SetScale(0.54,0.54)
        ASTR G 1 A_SetScale(0.52,0.52)
        ASTR G 1 A_SetScale(0.50,0.50)
        ASTR G 1 A_SetScale(0.48,0.48)
        ASTR G 1 A_SetScale(0.46,0.46)
        ASTR G 1 A_SetScale(0.44,0.44)
        ASTR G 1 A_SetScale(0.42,0.42)
        ASTR G 1 A_SetScale(0.40,0.40)
        ASTR G 1 A_SetScale(0.38,0.38)
        ASTR G 1 A_SetScale(0.36,0.36)
        ASTR G 1 A_SetScale(0.34,0.34)
        ASTR G 1 A_SetScale(0.32,0.32)
        ASTR G 1 A_SetScale(0.30,0.30)
        ASTR G 1 A_SetScale(0.28,0.28)
        ASTR G 1 A_SetScale(0.26,0.26)
        ASTR G 1 A_SetScale(0.24,0.24)
        ASTR G 1 A_SetScale(0.22,0.22)
        ASTR G 1 A_SetScale(0.20,0.20)
		ASTR A 0 A_SpawnItemEx(" Assault Trooper Shrunken ",0,0,0,0,0,0,0,32,0)
        Stop
	WoundDeath:
	    ASTR R 0 A_Jump(256,1,4)
	    ASTR R 7 A_Scream
        ASTR N 7 A_NoBlocking
		ASTR O -1 A_Die
        Stop
        AST2 R 7 A_Scream
        AST2 N 7 A_NoBlocking
		AST2 O 1 A_GiveInventory("Death2Check",1)
		AST2 O -1 A_Die
        Stop
	RealDeath:
	    ASTR O 1 A_JumpIfInventory("Death2Check",1,2)
		ASTR O -1 
        Stop
		AST2 O -1 
        Stop
	Death.Damage_Explosion:
	Death.Damage_BigShock:
	Wound.Damage_Explosion:
	Wound.Damage_BigShock:
	Death.Damage_BigThunder:
	Wound.Damage_BigThunder:
		ASTR A 0
		ASTR A 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTR A 0 A_ChangeFlag("DROPOFF",0)
		ASTR A 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTR A 0 A_ChangeFlag("FLOAT",0)
		ASTR A 0 A_ChangeFlag("NOGRAVITY",0)
		ASTR A 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTR A 0 A_TakeInventory("FlyCheck",999)
		ASTR A 0 A_ChangeFlag("NOPAIN",0)
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
		ASTR A 0 A_Die
        ASTR A 0 A_PlaySound("Gib/Explode",5)
        ASTR A 0 A_NoBlocking
        ASTR AAA 0 A_SpawnDebris("DukeGibs1")
        ASTR AAA 0 A_SpawnDebris("DukeGibs2")
		ASTR AAA 0 A_SpawnDebris("DukeGibs3")
        ASTR AAA 0 A_SpawnDebris("DukeGibs4")
        ASTR AAA 0 A_SpawnDebris("DukeGibs5")		
        ASTR AAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
	Death.Damage_Expander:
        ASTR A 0
		ASTR A 0 A_JumpIfInventory("FlyCheck",1,"DeathDamage_ExpanderFly")
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
		ASTR A 1 A_PlaySound("Expander/Expand",5)
		ASTR A 0 A_Die
		ASTR A 1 A_SetScale(0.71,0.71)
        ASTR A 1 A_SetScale(0.72,0.72)
		ASTR A 1 A_SetScale(0.73,0.73)
		ASTR A 1 A_SetScale(0.74,0.74)
		ASTR A 1 A_SetScale(0.75,0.75)
		ASTR A 1 A_SetScale(0.76,0.76)
		ASTR A 1 A_SetScale(0.77,0.77)
		ASTR A 1 A_SetScale(0.78,0.78)
		ASTR A 1 A_SetScale(0.79,0.79)
		ASTR A 1 A_SetScale(0.80,0.80)
		ASTR A 1 A_SetScale(0.81,0.81)
		ASTR A 1 A_SetScale(0.82,0.82)
		ASTR A 1 A_SetScale(0.83,0.83)
		ASTR A 1 A_SetScale(0.84,0.84)
		ASTR A 1 A_SetScale(0.85,0.85)
		ASTR A 1 A_SetScale(0.86,0.86)
		ASTR A 1 A_SetScale(0.87,0.87)
		ASTR A 1 A_SetScale(0.88,0.88)
		ASTR A 1 A_SetScale(0.89,0.89)
		ASTR A 1 A_SetScale(0.90,0.90)
		ASTR A 1 A_SetScale(0.91,0.91)
		ASTR A 1 A_SetScale(0.92,0.92)
		ASTR A 1 A_SetScale(0.93,0.93)
		ASTR A 1 A_SetScale(0.94,0.94)
		ASTR A 1 A_SetScale(0.95,0.95)
		ASTR A 1 A_SetScale(0.96,0.96)
		ASTR A 1 A_SetScale(0.97,0.97)
		ASTR A 1 A_SetScale(0.98,0.98)
		ASTR A 1 A_SetScale(0.99,0.99)
		ASTR A 1 A_SetScale(1.00,1.00)
		ASTR A 1 A_SetScale(1.01,1.01)
		ASTR A 1 A_SetScale(1.02,1.02)
		ASTR A 1 A_SetScale(1.03,1.03)
		ASTR A 1 A_SetScale(1.04,1.04)
		ASTR A 1 A_SetScale(1.05,1.05)
		ASTR A 1 A_SetScale(1.06,1.06)
		ASTR A 1 A_SetScale(1.07,1.07)
		ASTR A 1 A_SetScale(1.08,1.08)
		ASTR A 1 A_SetScale(1.09,1.09)
		ASTR A 1 A_SetScale(1.10,1.10)
		ASTR A 1 A_SetScale(1.11,1.11)
		ASTR A 1 A_SetScale(1.12,1.12)
		ASTR A 1 A_SetScale(1.13,1.13)
		ASTR A 1 A_SetScale(1.14,1.14)
        ASTR A 25 A_SetScale(1.15,1.15)
        ASTR A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	DeathDamage_ExpanderFly:
	    ASTR G 0 
	    ASTR G 0 A_Stop
		ASTR G 0 A_NoGravity
		ASTR G 0 A_StopSoundEx("SoundSlot7")
	    ASTR G 1 A_PlaySound("Expander/Expand",5)
		ASTR G 0 A_Die
		ASTR G 1 A_SetScale(0.71,0.71)
        ASTR G 1 A_SetScale(0.72,0.72)
		ASTR G 1 A_SetScale(0.73,0.73)
		ASTR G 1 A_SetScale(0.74,0.74)
		ASTR G 1 A_SetScale(0.75,0.75)
		ASTR G 1 A_SetScale(0.76,0.76)
		ASTR G 1 A_SetScale(0.77,0.77)
		ASTR G 1 A_SetScale(0.78,0.78)
		ASTR G 1 A_SetScale(0.79,0.79)
		ASTR G 1 A_SetScale(0.80,0.80)
		ASTR G 1 A_SetScale(0.81,0.81)
		ASTR G 1 A_SetScale(0.82,0.82)
		ASTR G 1 A_SetScale(0.83,0.83)
		ASTR G 1 A_SetScale(0.84,0.84)
		ASTR G 1 A_SetScale(0.85,0.85)
		ASTR G 1 A_SetScale(0.86,0.86)
		ASTR G 1 A_SetScale(0.87,0.87)
		ASTR G 1 A_SetScale(0.88,0.88)
		ASTR G 1 A_SetScale(0.89,0.89)
		ASTR G 1 A_SetScale(0.90,0.90)
		ASTR G 1 A_SetScale(0.91,0.91)
		ASTR G 1 A_SetScale(0.92,0.92)
		ASTR G 1 A_SetScale(0.93,0.93)
		ASTR G 1 A_SetScale(0.94,0.94)
		ASTR G 1 A_SetScale(0.95,0.95)
		ASTR G 1 A_SetScale(0.96,0.96)
		ASTR G 1 A_SetScale(0.97,0.97)
		ASTR G 1 A_SetScale(0.98,0.98)
		ASTR G 1 A_SetScale(0.99,0.99)
		ASTR G 1 A_SetScale(1.00,1.00)
		ASTR G 1 A_SetScale(1.01,1.01)
		ASTR G 1 A_SetScale(1.02,1.02)
		ASTR G 1 A_SetScale(1.03,1.03)
		ASTR G 1 A_SetScale(1.04,1.04)
		ASTR G 1 A_SetScale(1.05,1.05)
		ASTR G 1 A_SetScale(1.06,1.06)
		ASTR G 1 A_SetScale(1.07,1.07)
		ASTR G 1 A_SetScale(1.08,1.08)
		ASTR G 1 A_SetScale(1.09,1.09)
		ASTR G 1 A_SetScale(1.10,1.10)
		ASTR G 1 A_SetScale(1.11,1.11)
		ASTR G 1 A_SetScale(1.12,1.12)
		ASTR G 1 A_SetScale(1.13,1.13)
		ASTR G 1 A_SetScale(1.14,1.14)
        ASTR G 25 A_SetScale(1.15,1.15)
        ASTR 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:
	    ASTF K 0
		ASTF K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTF K 0 A_ChangeFlag("DROPOFF",0)
		ASTF K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTF K 0 A_ChangeFlag("FLOAT",0)
		ASTF K 0 A_ChangeFlag("NOGRAVITY",0)
		ASTF K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTF K 0 A_TakeInventory("FlyCheck",999)
		ASTF K 0 A_ChangeFlag("NOPAIN",0)
		ASTF K 0 A_StopSoundEx("Body")
		ASTF K 0 A_StopSoundEx("SoundSlot7")
		ASTF K 0 A_Die
		ASTF K 0 A_Jump(256,1,33)
		ASTF K 0 A_Scream 
        ASTF KKKKKKKLLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASTF M 0 A_NoBlocking
        ASTF MMMMMMMNNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASTF O 1 A_SpawnItemEx("FireintheFloor")
		ASTF O -1 
        Stop
		ASF2 K 0 A_Scream 
        ASF2 KKKKKKKLLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASF2 M 0 A_NoBlocking 
        ASF2 MMMMMMMNNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASF2 O 1 A_SpawnItemEx("FireintheFloor")
		ASF2 O 1 A_GiveInventory("Death2CheckFire",1)
		ASF2 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)
	    ASTR O 0 A_JumpIfInventory("FireCheckDeath",1,"Raise2")
		ASTR O 0 A_JumpIfInventory("Death2Check",1,2)
		ASTR O 35
		Stop
		AST2 O 0
		AST2 O 35
		Stop
	Raise2:
		ASTF O 0
		ASTF O 0 A_JumpIfInventory("Death2CheckFire",1,2)
		ASTF O 35
		Stop
		ASF2 O 0
		ASF2 O 35
		Stop
    }
}

ACTOR "Assault Trooper Hurt" : "Assault Trooper" 31115
{
    Health 50
	Mass 100
	DropItem "Pistol Ammo" 128 12
	+SLIDESONWALLS
	+LOOKALLAROUND
	States
    {
    Spawn:
        ASTR A 0 
	    ASTR A 0 A_JumpIfInventory("FlyCheck",1,"FlySpawn")
        ASTR A 0 Thing_ChangeTID(0,1000)
        ASTR A 3 A_Look
        Loop
	FlySpawn:
	    ASTR G 0 
		ASTR G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASTR G 0 Thing_ChangeTID(0,1000)
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR G 3 A_Look
        Loop
    See:
	    ASTR A 0 
	    ASTR A 0 A_ChangeFlag("NOPAIN",0)
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
	    ASTR A 0 A_JumpIfInventory("FlyCheck",1,"FlySee")
		ASTR A 0 A_Jump(2,"GiveFly")
		ASTR AABB 3 A_Chase
		ASTR B 0 A_SpawnItem("AlienStep1",0,0,0,0)
		ASTR CCDD 3 A_Chase
		ASTR D 0 A_SpawnItem("AlienStep1",0,0,0,0)
        Loop
	GiveFly:
	    ASTR G 0 
		ASTR G 0 A_ChangeFlag("SPAWNFLOAT",1)
		ASTR G 0 A_ChangeFlag("DROPOFF",1)
		ASTR G 0 A_ChangeFlag("DONTOVERLAP",1)
		ASTR G 0 A_ChangeFlag("FLOAT",1)
		ASTR G 0 A_ChangeFlag("NOGRAVITY",1)
		ASTR G 0 A_ChangeFlag("FLOORCLIP",0)
		ASTR G 0 A_Sentinelbob
	    ASTR G 1 A_GiveInventory("FlyCheck",1)
		Goto FlySee
	TakeFly:
	    ASTR G 0 
		ASTR G 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTR G 0 A_ChangeFlag("DROPOFF",0)
		ASTR G 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTR G 0 A_ChangeFlag("FLOAT",0)
		ASTR G 0 A_ChangeFlag("NOGRAVITY",0)
		ASTR G 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTR G 1 A_TakeInventory("FlyCheck",999)
		Goto See
	FlySee:
	    ASTR G 0
		ASTR G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
        ASTR G 0 A_Jump(256,"See2","See3")
		Loop
	See2:
	    ASTR G 0
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR G 0 A_JumpIfTargetinLOS(1,240)
        ASTR G 0 A_Sentinelbob
		ASTR GG 3 A_Chase
		ASTR GG 3 A_Chase
	    Loop
	See3:
	    ASTR G 0
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR GG 3 A_Chase
	    Loop	
    Missile:
	    ASTR E 0 
	    ASTR E 0 A_JumpIfInventory("FlyCheck",1,"FlyMissile")
        ASTR E 0 A_Jump(128,"Missile2","Missile3")
        ASTR E 6 A_FaceTarget
        ASTR E 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR F 6 Bright A_CustomMissile("AlienBullet",32,14,Random(-8,8))
        ASTR E 6
        Goto See
    Missile2:
        ASTR E 6 A_FaceTarget
        ASTR E 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR F 6 Bright A_CustomMissile("AlienBullet",32,14,Random(-8,8))
        ASTR E 6 A_FaceTarget
        ASTR E 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR F 6 Bright A_CustomMissile("AlienBullet",32,14,Random(-8,8))
		ASTR E 6
        Goto See
    Missile3:
        ASTR I 10 A_FaceTarget
        ASTR I 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR J 6 Bright A_CustomMissile("AlienBullet",26,14,-8)
        ASTR I 6 A_FaceTarget
        ASTR I 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR J 6 Bright A_CustomMissile("AlienBullet",26,14,0)
        ASTR I 6 A_FaceTarget
        ASTR I 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR J 6 Bright A_CustomMissile("AlienBullet",26,14,8)
        ASTR I 10 A_FaceTarget
        Goto See
	FlyMissile:
        ASTR G 0 A_FaceTarget
        ASTR G 0 A_PlayWeaponSound("Trooper/Attack")
        ASTR G 0 A_CustomMissile("AlienBullet",32,14,Random(-10,10))
        ASTR H 6 Bright 
        ASTR G 3 
        Goto FlySee
    Pain:
        ASTR T 0 
	    ASTR T 0 A_JumpIfInventory("FlyCheck",1,"FlyPain")
		ASTR T 8 A_Pain
        Goto See 
	FlyPain:
		ASTR G 8 A_Pain
        Goto FlySee
	Pain.LaserShot:
	    ASTR T 0 
		ASTR T 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		ASTR T 0 HealThing(2)
		Goto See
	Pain.Radial:
        ASTR T 0
        ASTR T 0 HealThing(2)
        Goto See
	Pain.Fire:
	    ASTF A 0
		ASTF A 0 A_JumpIfInventory("FlyCheck",1,"PainFireFly")
		ASTF A 0 A_GiveInventory("FireCheck",1)
		ASTF A 0 A_GiveInventory("FireCheckDeath",1)
		ASTF A 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		ASTF A 0 A_PlaySound("Trooper/Pain",10)
		ASTF A 0 A_ChangeFlag("NOPAIN",1)
		ASTF A 0 A_ChangeFlag("FRIGHTENED",1)
		ASTF A 0 A_Wander
		ASTF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF A 0 A_Wander
		ASTF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF B 0 A_Wander
		ASTF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF B 0 A_Wander
		ASTF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF C 0 A_Wander
		ASTF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF C 0 A_Wander
		ASTF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF D 0 A_Wander
		ASTF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF D 0 A_Wander
		ASTF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        ASTF A 0 A_Wander
		ASTF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF A 0 A_Wander
		ASTF A 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF AAA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF B 0 A_Wander
		ASTF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF B 0 A_Wander
		ASTF B 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF BBB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF C 0 A_Wander
		ASTF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF C 0 A_Wander
		ASTF C 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF CCC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF D 0 A_Wander
		ASTF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF D 0 A_Wander
		ASTF D 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF DDD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF D 0 A_JumpIfInventory("FireCheck",8,"PainFireStop")
		Loop
	PainFireFly:
		ASTF G 0
		ASTF G 0 A_GiveInventory("FireCheck",1)
		ASTF G 0 A_GiveInventory("FireCheckDeath",1)
		ASTF G 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		ASTF G 0 A_PlaySound("Trooper/Pain",10)
		ASTF G 0 A_ChangeFlag("NOPAIN",1)
		ASTF G 0 A_ChangeFlag("FRIGHTENED",1)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_Wander
		ASTF G 0 A_SpawnItemEx("FireRadiusDamage1",0,0,38)
		ASTF GGG 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		ASTF G 0 A_JumpIfInventory("FireCheck",8,"PainFireStop")
		Loop
	PainFireStop:
	    ASTF A 0 
		ASTF A 0 A_ChangeFlag("NOPAIN",0)
		ASTF A 0 A_ChangeFlag("FRIGHTENED",0)
		ASTF A 0 A_TakeInventory("FireCheck",999)
		ASTF A 0 A_TakeInventory("FireCheckDeath",999)
		ASTF A 0 A_StopSoundEx("SoundSlot7")
		Goto See
	Death:
	    ASTR K 0
		ASTR K 0 A_JumpIfInventory("DeathExpandedCheck",1,"Death.Damage_Expander")
		ASTR K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		ASTR K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTR K 0 A_ChangeFlag("DROPOFF",0)
		ASTR K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTR K 0 A_ChangeFlag("FLOAT",0)
		ASTR K 0 A_ChangeFlag("NOGRAVITY",0)
		ASTR K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTR K 0 A_TakeInventory("FlyCheck",999)
		ASTR K 0 A_ChangeFlag("NOPAIN",0)
		ASTR K 0 A_StopSoundEx("Body")
		ASTR K 0 A_StopSoundEx("SoundSlot7")
		ASTR K 0 A_JumpIfInventory("RealDieCheck",1,"RealDeath")
		ASTR K 0 A_JumpIfInventory("WoundedCheck",1,"WoundDeath")
		ASTR K 0 A_Jump(256,1,6)
		ASTR K 7 A_Scream
        ASTR L 7
        ASTR M 7 A_NoBlocking
        ASTR N 7
		ASTR O -1 
        Stop
		AST2 K 7 A_Scream
        AST2 L 7
        AST2 M 7 A_NoBlocking
        AST2 N 7
		AST2 O 1 A_GiveInventory("Death2Check",1)
		AST2 O -1 
        Stop
	Wound:
	    ASTR K 0 
		ASTF K 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		ASTR K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTR K 0 A_ChangeFlag("DROPOFF",0)
		ASTR K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTR K 0 A_ChangeFlag("FLOAT",0)
		ASTR K 0 A_ChangeFlag("NOGRAVITY",0)
		ASTR K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTR K 0 A_TakeInventory("FlyCheck",999)
		ASTR K 0 A_ChangeFlag("NOPAIN",0)
		ASTR K 0 A_StopSoundEx("Body")
		ASTR K 0 A_StopSoundEx("SoundSlot7")
		ASTR K 0 A_Jump(256,1,27)
		ASTR K 7 A_Scream
        ASTR LM 7 
		ASTR N 7 A_GiveInventory("WoundedCheck",1)
        ASTR O 7 A_PlaySoundEx("Trooper/Choke","Body",0)
        ASTR PQPQPQPQPQPQP 10 
        ASTR R 0 A_Jump(96,5)
        ASTR R 7 A_Scream
        ASTR N 7 A_NoBlocking
		ASTR O 1 A_GiveInventory("RealDieCheck",1)  		
		ASTR O 1 A_Die
        Goto Death
        ASTR A 0 HealThing(50)
		ASTR A 0 A_TakeInventory("WoundedCheck",1)
        Goto See
	    AST2 K 7 A_Scream
        AST2 LM 7 
		AST2 N 7 A_GiveInventory("WoundedCheck",1)
        AST2 O 7 A_PlaySoundEx("Trooper/Choke","Body",0)
        AST2 QPQPQPQPQPQPQ 10 
        AST2 R 0 A_Jump(96,6)		
        AST2 R 7 A_Scream
        AST2 N 7 A_NoBlocking
		AST2 O 1 A_GiveInventory("Death2Check",1)
		AST2 O 1 A_GiveInventory("RealDieCheck",1)  		
		AST2 O 1 A_Die
        Goto Death
        AST2 A 0 HealThing(50)
		AST2 A 0 A_TakeInventory("WoundedCheck",1)
        Goto See
	Death.Damage_Shrinker:
    Wound.Damage_Shrinker:
        ASTR A 0
		ASTR A 0 A_JumpIfInventory("FlyCheck",1,"DeathDamage_ShrinkerFly")
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
		ASTR A 0 A_ChangeFlag("NOPAIN",0)
        ASTR A 10 A_PlaySound("Shrinker/Shrink")
		ASTR A 1 A_SetScale(0.70,0.70)
        ASTR A 1 A_SetScale(0.68,0.68)
        ASTR A 1 A_SetScale(0.66,0.66)
        ASTR A 1 A_SetScale(0.64,0.64)
        ASTR A 1 A_SetScale(0.62,0.62)
        ASTR A 1 A_SetScale(0.60,0.60)
        ASTR A 1 A_SetScale(0.58,0.58)
        ASTR A 1 A_SetScale(0.56,0.56)
        ASTR A 1 A_SetScale(0.54,0.54)
        ASTR A 1 A_SetScale(0.52,0.52)
        ASTR A 1 A_SetScale(0.50,0.50)
        ASTR A 1 A_SetScale(0.48,0.48)
        ASTR A 1 A_SetScale(0.46,0.46)
        ASTR A 1 A_SetScale(0.44,0.44)
        ASTR A 1 A_SetScale(0.42,0.42)
        ASTR A 1 A_SetScale(0.40,0.40)
        ASTR A 1 A_SetScale(0.38,0.38)
        ASTR A 1 A_SetScale(0.36,0.36)
        ASTR A 1 A_SetScale(0.34,0.34)
        ASTR A 1 A_SetScale(0.32,0.32)
        ASTR A 1 A_SetScale(0.30,0.30)
        ASTR A 1 A_SetScale(0.28,0.28)
        ASTR A 1 A_SetScale(0.26,0.26)
        ASTR A 1 A_SetScale(0.24,0.24)
        ASTR A 1 A_SetScale(0.22,0.22)
        ASTR A 1 A_SetScale(0.20,0.20)
		ASTR A 0 A_SpawnItemEx("Assault Trooper Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
	DeathDamage_ShrinkerFly:
        ASTR G 0
		ASTR G 0 A_StopSoundEx("Body")
		ASTR G 0 A_StopSoundEx("SoundSlot7")
		ASTR G 0 A_ChangeFlag("NOPAIN",0)
		ASTR G 0 A_Stop
		ASTR G 0 A_NoGravity
        ASTR G 10 A_PlaySound("Shrinker/Shrink")
		ASTR G 1 A_SetScale(0.70,0.70)
        ASTR G 1 A_SetScale(0.68,0.68)
        ASTR G 1 A_SetScale(0.66,0.66)
        ASTR G 1 A_SetScale(0.64,0.64)
        ASTR G 1 A_SetScale(0.62,0.62)
        ASTR G 1 A_SetScale(0.60,0.60)
        ASTR G 1 A_SetScale(0.58,0.58)
        ASTR G 1 A_SetScale(0.56,0.56)
        ASTR G 1 A_SetScale(0.54,0.54)
        ASTR G 1 A_SetScale(0.52,0.52)
        ASTR G 1 A_SetScale(0.50,0.50)
        ASTR G 1 A_SetScale(0.48,0.48)
        ASTR G 1 A_SetScale(0.46,0.46)
        ASTR G 1 A_SetScale(0.44,0.44)
        ASTR G 1 A_SetScale(0.42,0.42)
        ASTR G 1 A_SetScale(0.40,0.40)
        ASTR G 1 A_SetScale(0.38,0.38)
        ASTR G 1 A_SetScale(0.36,0.36)
        ASTR G 1 A_SetScale(0.34,0.34)
        ASTR G 1 A_SetScale(0.32,0.32)
        ASTR G 1 A_SetScale(0.30,0.30)
        ASTR G 1 A_SetScale(0.28,0.28)
        ASTR G 1 A_SetScale(0.26,0.26)
        ASTR G 1 A_SetScale(0.24,0.24)
        ASTR G 1 A_SetScale(0.22,0.22)
        ASTR G 1 A_SetScale(0.20,0.20)
		ASTR A 0 A_SpawnItemEx(" Assault Trooper Shrunken ",0,0,0,0,0,0,0,32,0)
        Stop
	WoundDeath:
	    ASTR R 0 A_Jump(256,1,4)
	    ASTR R 7 A_Scream
        ASTR N 7 A_NoBlocking
		ASTR O -1 A_Die
        Stop
        AST2 R 7 A_Scream
        AST2 N 7 A_NoBlocking
		AST2 O 1 A_GiveInventory("Death2Check",1)
		AST2 O -1 A_Die
        Stop
	RealDeath:
	    ASTR O 1 A_JumpIfInventory("Death2Check",1,2)
		ASTR O -1 
        Stop
		AST2 O -1 
        Stop
	Death.Damage_Explosion:
	Death.Damage_BigShock:
	Wound.Damage_Explosion:
	Wound.Damage_BigShock:
	Death.Damage_BigThunder:
	Wound.Damage_BigThunder:
		ASTR A 0
		ASTR A 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTR A 0 A_ChangeFlag("DROPOFF",0)
		ASTR A 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTR A 0 A_ChangeFlag("FLOAT",0)
		ASTR A 0 A_ChangeFlag("NOGRAVITY",0)
		ASTR A 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTR A 0 A_TakeInventory("FlyCheck",999)
		ASTR A 0 A_ChangeFlag("NOPAIN",0)
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
		ASTR A 0 A_Die
        ASTR A 0 A_PlaySound("Gib/Explode",5)
        ASTR A 0 A_NoBlocking
        ASTR AAA 0 A_SpawnDebris("DukeGibs1")
        ASTR AAA 0 A_SpawnDebris("DukeGibs2")
		ASTR AAA 0 A_SpawnDebris("DukeGibs3")
        ASTR AAA 0 A_SpawnDebris("DukeGibs4")
        ASTR AAA 0 A_SpawnDebris("DukeGibs5")		
        ASTR AAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
	Death.Damage_Expander:
        ASTR A 0
		ASTR A 0 A_JumpIfInventory("FlyCheck",1,"DeathDamage_ExpanderFly")
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
		ASTR A 1 A_PlaySound("Expander/Expand",5)
		ASTR A 0 A_Die
		ASTR A 1 A_SetScale(0.71,0.71)
        ASTR A 1 A_SetScale(0.72,0.72)
		ASTR A 1 A_SetScale(0.73,0.73)
		ASTR A 1 A_SetScale(0.74,0.74)
		ASTR A 1 A_SetScale(0.75,0.75)
		ASTR A 1 A_SetScale(0.76,0.76)
		ASTR A 1 A_SetScale(0.77,0.77)
		ASTR A 1 A_SetScale(0.78,0.78)
		ASTR A 1 A_SetScale(0.79,0.79)
		ASTR A 1 A_SetScale(0.80,0.80)
		ASTR A 1 A_SetScale(0.81,0.81)
		ASTR A 1 A_SetScale(0.82,0.82)
		ASTR A 1 A_SetScale(0.83,0.83)
		ASTR A 1 A_SetScale(0.84,0.84)
		ASTR A 1 A_SetScale(0.85,0.85)
		ASTR A 1 A_SetScale(0.86,0.86)
		ASTR A 1 A_SetScale(0.87,0.87)
		ASTR A 1 A_SetScale(0.88,0.88)
		ASTR A 1 A_SetScale(0.89,0.89)
		ASTR A 1 A_SetScale(0.90,0.90)
		ASTR A 1 A_SetScale(0.91,0.91)
		ASTR A 1 A_SetScale(0.92,0.92)
		ASTR A 1 A_SetScale(0.93,0.93)
		ASTR A 1 A_SetScale(0.94,0.94)
		ASTR A 1 A_SetScale(0.95,0.95)
		ASTR A 1 A_SetScale(0.96,0.96)
		ASTR A 1 A_SetScale(0.97,0.97)
		ASTR A 1 A_SetScale(0.98,0.98)
		ASTR A 1 A_SetScale(0.99,0.99)
		ASTR A 1 A_SetScale(1.00,1.00)
		ASTR A 1 A_SetScale(1.01,1.01)
		ASTR A 1 A_SetScale(1.02,1.02)
		ASTR A 1 A_SetScale(1.03,1.03)
		ASTR A 1 A_SetScale(1.04,1.04)
		ASTR A 1 A_SetScale(1.05,1.05)
		ASTR A 1 A_SetScale(1.06,1.06)
		ASTR A 1 A_SetScale(1.07,1.07)
		ASTR A 1 A_SetScale(1.08,1.08)
		ASTR A 1 A_SetScale(1.09,1.09)
		ASTR A 1 A_SetScale(1.10,1.10)
		ASTR A 1 A_SetScale(1.11,1.11)
		ASTR A 1 A_SetScale(1.12,1.12)
		ASTR A 1 A_SetScale(1.13,1.13)
		ASTR A 1 A_SetScale(1.14,1.14)
        ASTR A 25 A_SetScale(1.15,1.15)
        ASTR A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	DeathDamage_ExpanderFly:
	    ASTR G 0 
	    ASTR G 0 A_Stop
		ASTR G 0 A_NoGravity
		ASTR G 0 A_StopSoundEx("SoundSlot7")
	    ASTR G 1 A_PlaySound("Expander/Expand",5)
		ASTR G 0 A_Die
		ASTR G 1 A_SetScale(0.71,0.71)
        ASTR G 1 A_SetScale(0.72,0.72)
		ASTR G 1 A_SetScale(0.73,0.73)
		ASTR G 1 A_SetScale(0.74,0.74)
		ASTR G 1 A_SetScale(0.75,0.75)
		ASTR G 1 A_SetScale(0.76,0.76)
		ASTR G 1 A_SetScale(0.77,0.77)
		ASTR G 1 A_SetScale(0.78,0.78)
		ASTR G 1 A_SetScale(0.79,0.79)
		ASTR G 1 A_SetScale(0.80,0.80)
		ASTR G 1 A_SetScale(0.81,0.81)
		ASTR G 1 A_SetScale(0.82,0.82)
		ASTR G 1 A_SetScale(0.83,0.83)
		ASTR G 1 A_SetScale(0.84,0.84)
		ASTR G 1 A_SetScale(0.85,0.85)
		ASTR G 1 A_SetScale(0.86,0.86)
		ASTR G 1 A_SetScale(0.87,0.87)
		ASTR G 1 A_SetScale(0.88,0.88)
		ASTR G 1 A_SetScale(0.89,0.89)
		ASTR G 1 A_SetScale(0.90,0.90)
		ASTR G 1 A_SetScale(0.91,0.91)
		ASTR G 1 A_SetScale(0.92,0.92)
		ASTR G 1 A_SetScale(0.93,0.93)
		ASTR G 1 A_SetScale(0.94,0.94)
		ASTR G 1 A_SetScale(0.95,0.95)
		ASTR G 1 A_SetScale(0.96,0.96)
		ASTR G 1 A_SetScale(0.97,0.97)
		ASTR G 1 A_SetScale(0.98,0.98)
		ASTR G 1 A_SetScale(0.99,0.99)
		ASTR G 1 A_SetScale(1.00,1.00)
		ASTR G 1 A_SetScale(1.01,1.01)
		ASTR G 1 A_SetScale(1.02,1.02)
		ASTR G 1 A_SetScale(1.03,1.03)
		ASTR G 1 A_SetScale(1.04,1.04)
		ASTR G 1 A_SetScale(1.05,1.05)
		ASTR G 1 A_SetScale(1.06,1.06)
		ASTR G 1 A_SetScale(1.07,1.07)
		ASTR G 1 A_SetScale(1.08,1.08)
		ASTR G 1 A_SetScale(1.09,1.09)
		ASTR G 1 A_SetScale(1.10,1.10)
		ASTR G 1 A_SetScale(1.11,1.11)
		ASTR G 1 A_SetScale(1.12,1.12)
		ASTR G 1 A_SetScale(1.13,1.13)
		ASTR G 1 A_SetScale(1.14,1.14)
        ASTR G 25 A_SetScale(1.15,1.15)
        ASTR 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:
	    ASTF K 0
		ASTF K 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTF K 0 A_ChangeFlag("DROPOFF",0)
		ASTF K 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTF K 0 A_ChangeFlag("FLOAT",0)
		ASTF K 0 A_ChangeFlag("NOGRAVITY",0)
		ASTF K 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTF K 0 A_TakeInventory("FlyCheck",999)
		ASTF K 0 A_ChangeFlag("NOPAIN",0)
		ASTF K 0 A_StopSoundEx("Body")
		ASTF K 0 A_StopSoundEx("SoundSlot7")
		ASTF K 0 A_Die
		ASTF K 0 A_Jump(256,1,33)
		ASTF K 0 A_Scream 
        ASTF KKKKKKKLLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASTF M 0 A_NoBlocking
        ASTF MMMMMMMNNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASTF O 1 A_SpawnItemEx("FireintheFloor")
		ASTF O -1 
        Stop
		ASF2 K 0 A_Scream 
        ASF2 KKKKKKKLLLLLLL 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASF2 M 0 A_NoBlocking 
        ASF2 MMMMMMMNNNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32) 
        ASF2 O 1 A_SpawnItemEx("FireintheFloor")
		ASF2 O 1 A_GiveInventory("Death2CheckFire",1)
		ASF2 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)
	    ASTR O 0 A_JumpIfInventory("FireCheckDeath",1,"Raise2")
		ASTR O 0 A_JumpIfInventory("Death2Check",1,2)
		ASTR O 35
		Stop
		AST2 O 0
		AST2 O 35
		Stop
	Raise2:
		ASTF O 0
		ASTF O 0 A_JumpIfInventory("Death2CheckFire",1,2)
		ASTF O 35
		Stop
		ASF2 O 0
		ASF2 O 35
		Stop
    }
}

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

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

ACTOR "Assault Trooper Shrunken" 
{
    Health 30
    Radius 20
    Height 16
    Mass 0x7FFFFFFF
    Speed 3
    PainChance 164
    SeeSound "Trooper/Sight"
    PainSound "Trooper/Pain"
    DeathSound "Trooper/Death"
    ActiveSound "Trooper/Active"
	BloodColor "D1 0C 00" 
	Species "Alien"
    Scale 0.20
	DamageFactor "Damage_Foot", 5.0
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 0.0
	DamageFactor "Trip_Punch", 0.0
	Painchance "LaserShot", 256
	+ISMONSTER
	+SHOOTABLE
    +SOLID
	+NOTARGET
	+FRIGHTENED
    States
    {
    Spawn:
        ASTR A 0 
	    ASTR A 0 A_JumpIfInventory("FlyCheck",1,"FlySpawn")
		ASTR A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		ASTR A 0 A_GiveInventory("ShrunkenCheck",1)
        ASTR AAAAAAAA 3 A_Look
        Loop
	FlySpawn:
	    ASTR G 0 
		ASTR A 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASTR G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR G 0 A_GiveInventory("ShrunkenCheck",1)
		ASTR GGGGGGGG 3 A_Look
        Loop
    See:
	    ASTR A 0 
	    ASTR A 0 A_ChangeFlag("NOPAIN",0)
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
	    ASTR A 0 A_JumpIfInventory("FlyCheck",1,"FlySee")
		ASTR A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		ASTR A 0 A_Jump(2,"GiveFly")
		ASTR A 0 A_GiveInventory("ShrunkenCheck",1)
		ASTR AABB 3 A_Chase
		ASTR B 0 A_SpawnItem("AlienStep1",0,0,0,0)
		ASTR CCDD 3 A_Chase
		ASTR D 0 A_SpawnItem("AlienStep1",0,0,0,0)
        Loop
	GiveFly:
	    ASTR G 0 
		ASTR G 0 A_ChangeFlag("SPAWNFLOAT",1)
		ASTR G 0 A_ChangeFlag("DROPOFF",1)
		ASTR G 0 A_ChangeFlag("DONTOVERLAP",1)
		ASTR G 0 A_ChangeFlag("FLOAT",1)
		ASTR G 0 A_ChangeFlag("NOGRAVITY",1)
		ASTR G 0 A_ChangeFlag("FLOORCLIP",0)
		ASTR G 0 A_Sentinelbob
	    ASTR G 1 A_GiveInventory("FlyCheck",1)
		Goto FlySee
	TakeFly:
	    ASTR G 0 
		ASTR G 0 A_ChangeFlag("SPAWNFLOAT",0)
		ASTR G 0 A_ChangeFlag("DROPOFF",0)
		ASTR G 0 A_ChangeFlag("DONTOVERLAP",0)
		ASTR G 0 A_ChangeFlag("FLOAT",0)
		ASTR G 0 A_ChangeFlag("NOGRAVITY",0)
		ASTR G 0 A_ChangeFlag("FLOORCLIP",1)
	    ASTR G 1 A_TakeInventory("FlyCheck",999)
		Goto See
	FlySee:
	    ASTR G 0
		ASTR G 0 A_PlaySoundEx("JetPack/Active","Body",1)
		ASTR G 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASTR G 0 A_GiveInventory("ShrunkenCheck",1)
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR GG 3 A_Chase
        ASTR G 0 A_Jump(256,"See2","See3")
		Stop
	See2:
	    ASTR G 0
		ASTR G 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASTR G 0 A_GiveInventory("ShrunkenCheck",1)
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR G 0 A_Sentinelbob
		ASTR GG 3 A_Chase
		ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
        ASTR G 0 A_Sentinelbob
		ASTR GG 3 A_Chase
		ASTR GG 3 A_Chase
	    Loop
	See3:
	    ASTR G 0
		ASTR G 0 A_JumpIfInventory("ShrunkenCheck",40,"RestoreFly")
		ASTR G 0 A_GiveInventory("ShrunkenCheck",1)
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR GG 3 A_Chase
		ASTR G 0 A_CheckFloor("TakeFly")
		ASTR GG 3 A_Chase
	    Loop	
    Pain:
        ASTR T 0 
	    ASTR T 0 A_JumpIfInventory("FlyCheck",1,"FlyPain")
		ASTR T 8 A_Pain
        Goto See 
	FlyPain:
		ASTR G 8 A_Pain
        Goto See
	Pain.LaserShot:
	    ASTR T 0 
		ASTR T 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		ASTR T 0 HealThing(2)
		Goto See
	Pain.Radial:
        ASTR T 0
        ASTR T 0 HealThing(2)
        Goto See
	Restore:
	    ASTR A 0
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
		ASTR A 0 A_ChangeFlag("NOPAIN",0)
        ASTR A 10 A_PlaySound("Shrinker/Shrink")
		ASTR A 1 A_SetScale(0.20,0.20)
        ASTR A 1 A_SetScale(0.22,0.22)
        ASTR A 1 A_SetScale(0.26,0.24)
        ASTR A 1 A_SetScale(0.24,0.24)
        ASTR A 1 A_SetScale(0.28,0.28)
        ASTR A 1 A_SetScale(0.30,0.30)
        ASTR A 1 A_SetScale(0.32,0.32)
        ASTR A 1 A_SetScale(0.34,0.34)
        ASTR A 1 A_SetScale(0.36,0.36)
        ASTR A 1 A_SetScale(0.38,0.38)
        ASTR A 1 A_SetScale(0.40,0.40)
        ASTR A 1 A_SetScale(0.42,0.42)
        ASTR A 1 A_SetScale(0.44,0.44)
        ASTR A 1 A_SetScale(0.46,0.46)
        ASTR A 1 A_SetScale(0.48,0.48)
        ASTR A 1 A_SetScale(0.50,0.50)
        ASTR A 1 A_SetScale(0.52,0.52)
        ASTR A 1 A_SetScale(0.54,0.54)
        ASTR A 1 A_SetScale(0.56,0.56)
        ASTR A 1 A_SetScale(0.58,0.58)
        ASTR A 1 A_SetScale(0.60,0.60)
        ASTR A 1 A_SetScale(0.62,0.62)
        ASTR A 1 A_SetScale(0.64,0.64)
        ASTR A 1 A_SetScale(0.66,0.66)
        ASTR A 1 A_SetScale(0.68,0.68)
        ASTR A 1 A_SetScale(0.70,0.70)
		ASTR A 0 A_SpawnItemEx("Assault Trooper",0,0,0,0,0,0,0,32,0)
        Stop
	RestoreFly:	
		ASTR G 0
		ASTR G 0 A_Stop
		ASTR G 0 A_StopSoundEx("Body")
		ASTR G 0 A_StopSoundEx("SoundSlot7")
		ASTR G 0 A_ChangeFlag("NOPAIN",0)
        ASTR G 10 A_PlaySound("Shrinker/Shrink")
		ASTR G 1 A_SetScale(0.20,0.20)
        ASTR G 1 A_SetScale(0.22,0.22)
        ASTR G 1 A_SetScale(0.26,0.24)
        ASTR G 1 A_SetScale(0.24,0.24)
        ASTR G 1 A_SetScale(0.28,0.28)
        ASTR G 1 A_SetScale(0.30,0.30)
        ASTR G 1 A_SetScale(0.32,0.32)
        ASTR G 1 A_SetScale(0.34,0.34)
        ASTR G 1 A_SetScale(0.36,0.36)
        ASTR G 1 A_SetScale(0.38,0.38)
        ASTR G 1 A_SetScale(0.40,0.40)
        ASTR G 1 A_SetScale(0.42,0.42)
        ASTR G 1 A_SetScale(0.44,0.44)
        ASTR G 1 A_SetScale(0.46,0.46)
        ASTR G 1 A_SetScale(0.48,0.48)
        ASTR G 1 A_SetScale(0.50,0.50)
        ASTR G 1 A_SetScale(0.52,0.52)
        ASTR G 1 A_SetScale(0.54,0.54)
        ASTR G 1 A_SetScale(0.56,0.56)
        ASTR G 1 A_SetScale(0.58,0.58)
        ASTR G 1 A_SetScale(0.60,0.60)
        ASTR G 1 A_SetScale(0.62,0.62)
        ASTR G 1 A_SetScale(0.64,0.64)
        ASTR G 1 A_SetScale(0.66,0.66)
        ASTR G 1 A_SetScale(0.68,0.68)
        ASTR G 1 A_SetScale(0.70,0.70)
		ASTR G 0 A_SpawnItemEx(" Assault Trooper ",0,0,0,0,0,0,0,32,0)
        Stop
	Death:
	    ASTR A 0
		ASTR A 0 A_StopSoundEx("Body")
		ASTR A 0 A_StopSoundEx("SoundSlot7")
		ASTR A 0 A_ChangeFlag("NOPAIN",0)
		ASTR A 0 A_Stop
        ASTR A 0 A_PlaySound("DukeNukem/DeathLittle",5)
        ASTR A 0 A_NoBlocking
        ASTR A 0 A_SpawnDebris("DukeGibs1")
        ASTR A 0 A_SpawnDebris("DukeGibs2")
		ASTR A 0 A_SpawnDebris("DukeGibs3")
        ASTR A 0 A_SpawnDebris("DukeGibs4")
        ASTR A 0 A_SpawnDebris("DukeGibs5")		
        ASTR AAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    }
}

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

ACTOR AlienBullet : FastProjectile
{
    Radius 4
    Height 4
    Speed 60
    Damage (Random(10,9))
    Projectile
	DamageType "Damage_Laser"
	DeathSound "Laser/Death"
	Decal "LaserChaingunDecal"
    MissileType "AlienBulletTrailSpawner"
    RenderStyle Add
	+THRUGHOST
    States
    {
	Spawn:
	    TNT1 A -1 
	    Stop
    Death:
        TNT1 A 1 A_SpawnItemEx("AlienBulletSmoke")
		TNT1 AAAAAAAA 0 A_CustomMissile("AlienBulletParticle",0,0,Random(0,360),2,Random(0,360))
		TNT1 BCDEFGH 1
        Stop
        }
}

ACTOR AlienBulletParticle
{
    Height 0
    Radius 0
    Mass 0
    +MISSILE
    +NOBLOCKMAP
    -NOGRAVITY
    +DOOMBOUNCE
	+MOVEWITHSECTOR
    +FORCEXYBILLBOARD
    BounceFactor 0.2
    Gravity 0.8
    RenderStyle Add
    Scale 0.030
    Speed 10
    States
    {
    Spawn:
    Death:
        LENO BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2 Bright A_FadeOut(0.04)
        Stop
    }
}

ACTOR AlienBulletTrailSpawner
{
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("AlienBulletTrail",0,0,8,0,0,0,0,SXF_CLIENTSIDE,0)
		Stop
	}
}

ACTOR AlienBulletTrail
{    
    Scale 0.068
    Mass 5
	RenderStyle Add
	+NOBLOCKMAP
    +NOGRAVITY
    States
    {
    Spawn:
        LENO BB 1 Bright
        Stop
    }
}

ACTOR AlienBulletSmoke
{
	Projectile
	Damage (0)	
	Radius 1
	Height 1
	Scale 0.26
	Alpha 0.9
	Renderstyle Add
	+RIPPER
	+BLOODLESSIMPACT	
	States
    {
	Spawn:
        GSMO AAA 1 Bright A_FadeOut(0.075)
	    TNT1 A 0 A_Jump(128,"Set2")
		GSMO B 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.26,0.26)
		GSMO B 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.29,0.29)
		GSMO B 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.32,0.32)
		GSMO B 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.35,0.35)
		GSMO B 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.38,0.38)
		GSMO B 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.41,0.41)
		GSMO D 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.44,0.44)
		GSMO D 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.47,0.47)
		GSMO D 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.50,0.50)
		GSMO D 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.53,0.53)
		GSMO D 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.56,0.56)
		GSMO D 1 Bright A_FadeOut(0.075)
		Stop
	Set2:
		GSMO C 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.26,0.26)
		GSMO C 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.29,0.29)
		GSMO C 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.32,0.32)
		GSMO C 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.35,0.35)
		GSMO C 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.38,0.38)
        GSMO C 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.41,0.41)
		GSMO E 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.44,0.44)
		GSMO E 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.47,0.47)
		GSMO E 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.50,0.50)
		GSMO E 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.53,0.53)
		GSMO E 1 Bright A_FadeOut(0.075)
		TNT1 A 0 A_SetScale(0.56,0.56)
		GSMO E 1 Bright A_FadeOut(0.075)
		Stop
	}
}

ACTOR FireRadiusDamage1
{
    Speed 0
    Radius 1
    Height 1
    DamageType "Fire"
    Damage 0
    +RIPPER
    +NOGRAVITY
    +THRUGHOST
    +FORCERADIUSDMG
	+BLOODLESSIMPACT
    States
    {
    Spawn:
        TNT1 A 0
        Goto Death
    Death:
        TNT1 A 1 A_Explode(3,2)
        Stop
        }
}

ACTOR AlienStep1
{
    +NOINTERACTION
    +CLIENTSIDEONLY
    States
    {
    Spawn:
	    TNT1 A 0
	    TNT1 A 0 A_PlaySound("Foot/AlienStep1")
	    Stop
	    }
}