ACTOR "Masked Commander" : "Assault Commander" 31106
{
    //$Category DN3D Aliens //Commanders
	Obituary "%o was struck by a electric storm of a Commander."
    HitObituary "%o had his head removed by a commander."
    Health 1160
    Mass 11600
	DropItem "Shock Cannon" 78 10
	DropItem "Shock Ammo" 64 10
    SeeSound "MaskComm/Sight"
    PainSound "MaskComm/Pain"
    DeathSound "MaskComm/Death"
    ActiveSound "MaskComm/Active"
	Painchance "Damage_Foot", 128
	Painchance "Damage_DesertEagle", 64
	Painchance "Damage_ExplosiveShotgun", 64
	Painchance "Damage_ChaingunCannon", 64
	Painchance "Damage_Minigun", 64
	Painchance "Damage_LMGBullet", 64
    Painchance "Damage_Explosion", 64
	Painchance "Damage_Laser", 64
	MaxTargetRange 1050
    States
    {
    Spawn:
        MSKC I 0
        MSKC I 0 Thing_ChangeTID(0,1000)
        MSKC I 15 A_Look
        Loop
    See:
        MSKC I 0
		MSKC I 0 A_ChangeFlag("NOPAIN",0)
        MSKC I 0 A_StopSoundEx("SoundSlot7")
        MSKC IIJJKKJJ 3 A_Chase
        Loop
	Melee:
  	    MSKC A 3 ThrustThing(224,3,0,0)	
	    MSKC A 0 A_CustomMeleeAttack(6)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-180)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,180)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-90)
	    MSKC B 0 A_CustomMissile("CommanderMelee",0,0,90)	
	    MSKC B 3 ThrustThing(192,3,0,0)	
	    MSKC A 0 A_Stop	
	    MSKC B 0 A_PlaySound("Comm/Melee",0,300)
	    MSKC A 0 A_SpidRefire
	    MSKC C 3 ThrustThing(160,3,0,0)	
	    MSKC A 0 A_Stop
	    MSKC A 0 A_CustomMeleeAttack(6)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-135)
	    MSKC B 0 A_CustomMissile("CommanderMelee",0,0,45)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-45)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,135)	
	    MSKC D 3 ThrustThing(128,3,0,0)	
	    MSKC A 0 A_Stop	
	    MSKC A 0 A_SpidRefire
	    MSKC E 3 ThrustThing(96,3,0,0)	
	    MSKC A 0 A_Stop
	    MSKC A 0 A_CustomMeleeAttack(6)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-180)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,180)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-90)
	    MSKC B 0 A_CustomMissile("CommanderMelee",0,0,90)
	    MSKC F 3 ThrustThing(64,3,0,0)	
	    MSKC A 0 A_Stop	
	    MSKC A 0 A_SpidRefire
	    MSKC H 0 A_PlaySound("Comm/Melee",0,300)
	    MSKC G 3 ThrustThing(32,3,0,0)	
	    MSKC A 0 A_Stop
	    MSKC A 0 A_CustomMeleeAttack(6)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-45)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,135)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-135)
	    MSKC B 0 A_CustomMissile("CommanderMelee",0,0,45)	
	    MSKC H 3 ThrustThing(0,3,0,0)		
	    MSKC A 0 A_Stop	
	    MSKC A 0 A_SpidRefire	
        MSKC A 3 ThrustThing(224,3,0,0)	
	    MSKC A 0 A_Stop
	    MSKC A 0 A_CustomMeleeAttack(6)	
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-180)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,180)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-90)
	    MSKC B 0 A_CustomMissile("CommanderMelee",0,0,90)	
	    MSKC B 3 ThrustThing(192,3,0,0)		
	    MSKC A 0 A_Stop
	    MSKC B 0 A_PlaySound("Comm/Melee",0,300)
	    MSKC A 0 A_SpidRefire
	    MSKC C 3 ThrustThing(160,3,0,0)	
	    MSKC A 0 A_Stop
	    MSKC A 0 A_CustomMeleeAttack(6)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-135)
	    MSKC B 0 A_CustomMissile("CommanderMelee",0,0,45)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-45)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,135)	
	    MSKC D 3 ThrustThing(128,Random(2,8),0,0)	
	    MSKC A 0 A_Stop	
	    MSKC A 0 A_SpidRefire
	    MSKC E 3 ThrustThing(96,3,0,0)	
	    MSKC A 0 A_Stop
	    MSKC A 0 A_CustomMeleeAttack(12)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-180)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,180)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-90)
	    MSKC B 0 A_CustomMissile("CommanderMelee",0,0,90)
	    MSKC F 3 ThrustThing(64,3,0,0)	
	    MSKC A 0 A_Stop	
	    MSKC A 0 A_SpidRefire
	    MSKC H 0 A_PlaySound("Comm/Melee",0,300)
	    MSKC G 3 ThrustThing(32,3,0,0)	
	    MSKC A 0 A_Stop
	    MSKC A 0 A_CustomMeleeAttack(6)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-45)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,135)
	    MSKC A 0 A_CustomMissile("CommanderMelee",0,0,-135)
	    MSKC B 0 A_CustomMissile("CommanderMelee",0,0,45)	
        MSKC H 3 ThrustThing(0,3,0,0)		
	    MSKC A 0 A_SpidRefire	
		MSKC A 0 A_Stop	
		MSKC A 0 A_JumpIfCloser(55,"Melee")
	    Goto See
	Missile:
	    MSKC L 0 A_JumpIfCloser(50,"Melee")
		MSKC L 0 A_Jump(64,"SuperMissile")
        MSKC L 0 A_PlayWeaponSound("MaskComm/Attack")
        MSKC LLLL 10 A_FaceTarget
		MSKC M 5 A_FaceTarget
        MSKC M 0 A_CustomMissile("ShockAttackCommander",10,0,0)
        MSKC M 10 A_FaceTarget
		MSKC M 5 A_FaceTarget
		MSKC L 10 A_FaceTarget
		MSKC M 5 A_FaceTarget		
        MSKC M 0 A_CustomMissile("ShockAttackCommander",10,0,0)
        MSKC M 10 A_FaceTarget
		MSKC M 5 A_FaceTarget
		MSKC L 10 A_FaceTarget
		MSKC L 0 A_Jump(192,1)
        Goto See
		MSKC M 0 A_CustomMissile("ShockAttackCommander",10,0,0)
        MSKC M 10 A_FaceTarget
		MSKC M 5 A_FaceTarget
		MSKC L 10 A_FaceTarget
		MSKC L 0 A_Jump(192,1)
		Goto See
		MSKC M 0 A_CustomMissile("ShockAttackCommander",10,0,0)
        MSKC M 10 A_FaceTarget
		MSKC M 5 A_FaceTarget
		MSKC L 10 A_FaceTarget
		MSKC L 0 A_Jump(128,1)
		Goto See
		MSKC M 0 A_CustomMissile("ShockAttackCommander",10,0,0)
        MSKC M 10 A_FaceTarget
		MSKC M 5 A_FaceTarget
		MSKC L 10 A_FaceTarget
		MSKC L 0 A_Jump(128,1)
		Goto See
		MSKC M 0 A_CustomMissile("ShockAttackCommander",10,0,0)
        MSKC M 10 A_FaceTarget
		MSKC M 5 A_FaceTarget
		MSKC L 10 A_FaceTarget
		MSKC L 0 A_Jump(64,1)
		Goto See
		MSKC M 0 A_CustomMissile("ShockAttackCommander",10,0,0)
        MSKC M 10 A_FaceTarget
		MSKC M 5 A_FaceTarget
		MSKC L 10 A_FaceTarget
		MSKC L 0 A_Jump(64,1)
		Goto See
		MSKC M 0 A_CustomMissile("ShockAttackCommander",10,0,0)
        MSKC M 10 A_FaceTarget
		MSKC M 5 A_FaceTarget
		MSKC L 10 A_FaceTarget
		MSKC L 0 A_Jump(64,1)
		Goto See
		MSKC M 0 A_CustomMissile("ShockAttackCommander",10,0,0)
        MSKC M 15 A_FaceTarget
		MSKC L 10 
		Goto See
	SuperMissile:
        MSKC L 2 A_PlayWeaponSound("MaskComm/Sight")
        MSKC L 2 A_FaceTarget
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC L 2 A_FaceTarget
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC L 2 A_FaceTarget
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC L 2 A_FaceTarget
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC L 2 A_FaceTarget
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC L 2 A_FaceTarget
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC LLLL 1 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		MSKC M 5 A_FaceTarget
        MSKC M 0 A_CustomMissile("BigShockAttackCommander",10,0,0)
        MSKC M 25 A_FaceTarget
		MSKC L 20 
		Goto See
	Pain:
        MSKC V 0
        MSKC V 8 A_Pain
        Goto Missile
    Pain.Radial:
        MSKC V 0
        MSKC V 0 HealThing(2)
        Goto See
	Pain.LaserShot:
	    MSKC V 0
		MSKC V 0 A_SpawnItemEx("PainTripLaser",0,0,5)
		MSKC V 0 HealThing(2)
		Goto See
	Pain.Fire:
	    MSKF I 0
		MSKF I 0 A_GiveInventory("FireCheck",1)
		MSKF I 0 A_GiveInventory("FireCheckDeath",1)
		MSKF I 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		MSKF I 0 A_PlaySound("MaskComm/Pain",10)
		MSKF I 0 A_ChangeFlag("NOPAIN",1)
		MSKF I 0 A_ChangeFlag("FRIGHTENED",1)
		MSKF I 0 A_Wander
		MSKF I 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF III 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF I 0 A_Wander
		MSKF I 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF III 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF J 0 A_Wander
		MSKF J 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF JJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF J 0 A_Wander
		MSKF J 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF JJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF K 0 A_Wander
		MSKF K 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF KKK 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF K 0 A_Wander
		MSKF K 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF KKK 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF J 0 A_Wander
		MSKF J 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF JJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF J 0 A_Wander
		MSKF J 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF JJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
        MSKF I 0 A_Wander
		MSKF I 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF III 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF I 0 A_Wander
		MSKF I 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF III 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF J 0 A_Wander
		MSKF J 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF JJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF J 0 A_Wander
		MSKF J 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF JJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF K 0 A_Wander
		MSKF K 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF KKK 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF K 0 A_Wander
		MSKF K 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF KKK 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF J 0 A_Wander
		MSKF J 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF JJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF J 0 A_Wander
		MSKF J 0 A_SpawnItemEx("FireRadiusDamage5",0,0,38)
		MSKF JJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF J 0 A_JumpIfInventory("FireCheck",7,"PainFireStop")
		Loop
	PainFireStop:
	    MSKF I 0 
		MSKF I 0 A_ChangeFlag("NOPAIN",0)
		MSKF I 0 A_ChangeFlag("FRIGHTENED",0)
		MSKF I 0 A_TakeInventory("FireCheck",999)
		MSKF I 0 A_TakeInventory("FireCheckDeath",999)
		MSKF I 0 A_StopSoundEx("SoundSlot7")
		Goto See
	Death:
	    MSKC N 0
		MSKC N 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		MSKC N 0 A_ChangeFlag("NOPAIN",0)
		MSKC N 0 A_StopSoundEx("SoundSlot7")
	    MSKC N 0 A_Jump(256,1,9)
		MSKC N 6 
        MSKC O 6 A_Scream
        MSKC P 6 A_KillMaster 
        MSKC QR 6
	    MSKC S 6 
	    MSKC T 6 A_NoBlocking
        MSKC U -1
	    Stop
		MSKC N 6 
        MSKC O 6 A_Scream
        MSKC P 6 A_KillMaster
        MSKC QR 6
	    MSKC S 6 
	    MSKC T 6 A_NoBlocking
		MSKC U 1 A_GiveInventory("Death2Check",1)
		MSKC U -1
		Stop
	Death.Damage_Shrinker:
        MSKC I 0
		MSKC I 0 A_StopSoundEx("Body")
		MSKC I 0 A_StopSoundEx("SoundSlot7")
		MSKC I 0 A_ChangeFlag("NOPAIN",0)
		MSKC I 0 A_Stop
		MSKC I 0 A_NoGravity
        MSKC I 11 A_PlaySound("Shrinker/Shrink")
		MSKC I 1 A_SetScale(0.97,0.97)
        MSKC I 1 A_SetScale(0.94,0.94)
        MSKC I 1 A_SetScale(0.91,0.91)
        MSKC I 1 A_SetScale(0.88,0.88)
        MSKC I 1 A_SetScale(0.85,0.85)
        MSKC I 1 A_SetScale(0.82,0.82)
        MSKC I 1 A_SetScale(0.79,0.79)
        MSKC I 1 A_SetScale(0.76,0.76)
        MSKC I 1 A_SetScale(0.73,0.73)
        MSKC I 1 A_SetScale(0.70,0.70)
		MSKC I 1 A_SetScale(0.67,0.67)
        MSKC I 1 A_SetScale(0.64,0.64)
        MSKC I 1 A_SetScale(0.61,0.61)
        MSKC I 1 A_SetScale(0.58,0.58)
        MSKC I 1 A_SetScale(0.55,0.55)
		MSKC I 1 A_SetScale(0.52,0.52)
        MSKC I 1 A_SetScale(0.49,0.49)
        MSKC I 1 A_SetScale(0.46,0.46)
        MSKC I 1 A_SetScale(0.43,0.43)
        MSKC I 1 A_SetScale(0.40,0.40)
		MSKC I 1 A_SetScale(0.37,0.37)
        MSKC I 1 A_SetScale(0.34,0.34)
        MSKC I 1 A_SetScale(0.31,0.31)
        MSKC I 1 A_SetScale(0.28,0.28)
		MSKC I 0 A_KillMaster
        MSKC I 1 A_SetScale(0.25,0.25)
		MSKC I 0 A_SpawnItemEx("Masked Commander Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
    Death.Damage_Explosion:
	Death.Damage_BigShock:
	Death.Damage_BigThunder:
		MSKC I 0
		MSKC I 0 A_ChangeFlag("NOPAIN",0)
		MSKC I 0 A_StopSoundEx("Body")
		MSKC I 0 A_StopSoundEx("SoundSlot7")
        MSKC I 0 A_PlaySound("Gib/Explode",5)
		MSKC I 0 A_KillMaster
        MSKC I 0 A_NoBlocking
        MSKC IIIII 0 A_SpawnDebris("DukeGibs1")
        MSKC IIIII 0 A_SpawnDebris("DukeGibs2")
		MSKC IIIII 0 A_SpawnDebris("DukeGibs3")
        MSKC IIIII 0 A_SpawnDebris("DukeGibs4")
        MSKC IIIII 0 A_SpawnDebris("DukeGibs5")		
        MSKC IIIIIIIIIIIII 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    Death.Damage_Expander:
        MSKC I 0
		MSKC I 0 A_StopSoundEx("Body")
		MSKC I 0 A_StopSoundEx("SoundSlot7")
		MSKC I 0 A_Stop
		MSKC I 0 A_NoGravity
		MSKC I 1 A_PlaySound("Expander/Expand",5)
		MSKC I 1 A_SetScale(1.01,1.01)
		MSKC I 1 A_SetScale(1.02,1.02)
		MSKC I 1 A_SetScale(1.03,1.03)
		MSKC I 1 A_SetScale(1.04,1.04)
		MSKC I 1 A_SetScale(1.05,1.05)
		MSKC I 1 A_SetScale(1.06,1.06)
		MSKC I 1 A_SetScale(1.07,1.07)
		MSKC I 1 A_SetScale(1.08,1.08)
		MSKC I 1 A_SetScale(1.09,1.09)
		MSKC I 1 A_SetScale(1.10,1.10)
		MSKC I 1 A_SetScale(1.11,1.11)
		MSKC I 1 A_SetScale(1.12,1.12)
		MSKC I 1 A_SetScale(1.13,1.13)
		MSKC I 1 A_SetScale(1.14,1.14)
        MSKC I 1 A_SetScale(1.15,1.15)
		MSKC I 1 A_SetScale(1.16,1.16)
		MSKC I 1 A_SetScale(1.17,1.17)
		MSKC I 1 A_SetScale(1.18,1.18)
		MSKC I 1 A_SetScale(1.19,1.19)
		MSKC I 1 A_SetScale(1.20,1.20)
		MSKC I 1 A_SetScale(1.21,1.21)
		MSKC I 1 A_SetScale(1.22,1.22)
		MSKC I 1 A_SetScale(1.23,1.23)
		MSKC I 1 A_SetScale(1.24,1.24)
		MSKC I 1 A_SetScale(1.25,1.25)
		MSKC I 1 A_SetScale(1.26,1.26)
		MSKC I 1 A_SetScale(1.27,1.27)
		MSKC I 1 A_SetScale(1.28,1.28)
		MSKC I 1 A_SetScale(1.29,1.29)
		MSKC I 1 A_SetScale(1.30,1.30)
		MSKC I 1 A_SetScale(1.31,1.31)
		MSKC I 1 A_SetScale(1.32,1.32)
		MSKC I 1 A_SetScale(1.33,1.33)
		MSKC I 1 A_SetScale(1.34,1.34)
		MSKC I 1 A_SetScale(1.35,1.35)
		MSKC I 1 A_SetScale(1.36,1.36)
		MSKC I 1 A_SetScale(1.37,1.37)
		MSKC I 1 A_SetScale(1.38,1.38)
		MSKC I 1 A_SetScale(1.39,1.39)
		MSKC I 1 A_SetScale(1.41,1.41)
		MSKC I 1 A_SetScale(1.42,1.42)
		MSKC I 1 A_SetScale(1.43,1.43)
		MSKC I 1 A_SetScale(1.44,1.44)
        MSKC I 25 A_SetScale(1.45,1.45)
		MSKC I 0 A_KillMaster
        MSKC I 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	Burn:
	    MSKF N 0
		MSKF N 0 A_ChangeFlag("NOPAIN",0)
		MSKF N 0 A_StopSoundEx("SoundSlot7")
		MSKF N 0 A_Jump(256,1,49)		
		MSKF NNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF O 0 A_Scream
        MSKF OOOOOO 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSKF O 0 A_KillMaster
        MSKF PPPPPP 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,58),0,0,1,0,32) 
        MSKF QQQQQQRRRRRR 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,45),0,0,1,0,32)
		MSKF O 0 
	    MSKF SSSSSS 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,32),0,0,1,0,32)
		MSKF T 0 A_NoBlocking
	    MSKF TTTTTT 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,32),0,0,1,0,32)
		MSKF U 1 A_SpawnItemEx("FireintheFloor")
        MSKF U -1 
        Stop
		MSF2 NNNNNN 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSF2 O 0 A_Scream
        MSF2 OOOOOO 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,64),0,0,1,0,32)
		MSF2 O 0 A_KillMaster
        MSF2 PPPPPP 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,58),0,0,1,0,32) 
        MSF2 QQQQQQRRRRRR 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,45),0,0,1,0,32)
		MSF2 O 0 
	    MSF2 SSSSSS 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,32),0,0,1,0,32)
		MSF2 T 0 A_NoBlocking
	    MSF2 TTTTTT 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-36,36),Random(-36,36),Random(5,32),0,0,1,0,32)
		MSF2 U 1 A_SpawnItemEx("FireintheFloor")
        MSF2 U -1 
        Stop
    }
}

ACTOR ShockAttackCommander : FastProjectile
{
    Damage (20)
	SeeSound "Shock/Shoot"
    DeathSound "Shock/Death"
    RenderStyle Add
    Height 6
    Radius 6
    Speed 40
	Scale 0.85
    Decal "ShockDecal"
    Damagetype "Damage_Shock"
	Obituary "%o was struck by a electric storm of a Commander."
	+THRUGHOST
    States
    {
    Spawn: 
	    TNT1 A 0 A_PlaySound("NormalShock/Active",CHAN_BODY,1.0,True) 
        TNT1 A 1 A_SpawnItemEx("ShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(10,64,0)
		TNT1 AAAA 0 A_SpawnItemEx("ShockExtra1",0,0,0,Random(-4,4),Random(-4,4),Random(-4,4),Random(1,360))
		TNT1 AAAA 0 A_SpawnItemEx("ShockExtra2",0,0,0,Random(-4,4),Random(-4,4),Random(-4,4),Random(1,360))
		Loop
	Death:        
		TNT1 A 0 A_StopSound(CHAN_BODY) 
		TNT1 A 0 A_SpawnItemEx("ShockWave",0,0)
		TNT1 A 0 Radius_Quake(1,30,0,5,0)	
		TNT1 AAAAAAAA 0 A_SpawnItemEx("ShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
	    TNT1 AAAAAAAA 0 A_SpawnItemEx("ShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
	    TNT1 AAAAAAAAAAAAAAAA 0 A_CustomMissile("LaserProjectileParticle",0,0,Random(0,360),2,Random(0,360))
		TNT1 A 0 A_Explode(128,128)
		EMPW CDEFG 2 Bright
	    Stop
    }
}

ACTOR BigShockAttackCommander : FastProjectile 
{
    Damage (40)
	SeeSound "Shock/BigShoot"
    DeathSound "Shock/BigDeath"
    RenderStyle Add
    Height 6
    Radius 6
    Speed 50
    Decal "BigShockDecal"
    Damagetype "Damage_BigShock"
	Obituary "%o was struck by a super electric storm of Commander."
	+THRUGHOST
    States
    {
    Spawn: 
        TNT1 A 0 A_PlaySound("BigShock/Active",CHAN_BODY,1.0,True) 
		EMPY A 1 Bright A_SpawnItemEx("BigShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(16,96,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		EMPY B 1 A_SpawnItemEx("BigShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(16,96,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		EMPY C 1 Bright A_SpawnItemEx("BigShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(16,96,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		EMPY D 1 Bright A_SpawnItemEx("BigShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(16,96,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		EMPY E 1 Bright A_SpawnItemEx("BigShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(16,96,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		EMPY F 1 Bright A_SpawnItemEx("BigShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(16,96,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		EMPY G 1 Bright A_SpawnItemEx("BigShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(16,96,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		EMPY H 1 Bright A_SpawnItemEx("BigShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(16,96,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		EMPY I 1 Bright A_SpawnItemEx("BigShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(16,96,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		EMPY J 1 Bright A_SpawnItemEx("BigShockTrail",-(MomX/1.2),-(MomY/1.2),(MomZ/1.2*-1),(MomX/1.2),(MomY/1.2),(MomZ/1.2),0,138)
	    TNT1 A 0 A_Explode(16,96,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		TNT1 AAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-6,6),Random(-6,6),Random(-6,6),Random(1,360))
		Loop
	Death:        
		TNT1 A 0 A_StopSound(CHAN_BODY) 
		TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-8,8),Random(-8,8),Random(-8,8),Random(1,360))
	    TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BigShockExtra2",0,0,0,Random(-8,8),Random(-8,8),Random(-8,8),Random(1,360))
	    TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("LaserProjectileParticle",0,0,Random(0,360),2,Random(0,360))
		TNT1 A 0 A_Explode(213,196)
		TNT1 A 0 Radius_Quake(4,128,0,16,0)		
		EMPZ ABCDEFGH 2 Bright A_CustomMissile("LaserProjectileParticle",0,0,Random(0,360),2,Random(0,360))
		EMPZ H 0 A_SpawnItemEx("BigShockWave",0,0,-4)
		EMPZ IJKLMN 1 Bright A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-8,8),Random(-8,8),Random(-8,8),Random(1,360)) 
		TNT1 A 0 A_Explode(256,256)
		TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BigShockExtra1",0,0,0,Random(-8,8),Random(-8,8),Random(-8,8),Random(1,360))
	    TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ShockExtra2",0,0,0,Random(-8,8),Random(-8,8),Random(-8,8),Random(1,360))
	    TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("LaserProjectileParticle",0,0,Random(0,360),2,Random(0,360))
		EMPZ OPQRST 1 Bright A_SpawnItemEx("ShockExtra2",0,0,0,Random(-8,8),Random(-8,8),Random(-8,8),Random(1,360))
	    Stop
    }
}

ACTOR "Masked Commander Shrunken" 
{
    Health 30
    Radius 48
    Height 16
    Mass 0x7FFFFFFF
    Speed 2
    PainChance 128
    SeeSound "MaskComm/Sight"
    PainSound "MaskComm/Pain"
    DeathSound "MaskComm/Death"
    ActiveSound "MaskComm/Active"
	BloodColor "D1 0C 00" 
	Species "Alien"
    Scale 0.25
	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
	+SPAWNFLOAT
	+DROPOFF
	+DONTOVERLAP
	+FLOAT
	+NOGRAVITY
    States
    {
    Spawn:
		MSKC A 0 
		MSKC A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		MSKC A 0 A_GiveInventory("ShrunkenCheck",1)
        MSKC AAAAAAAA 3 A_Look
		Loop
    See:
	    MSKC A 0 
	    MSKC A 0 A_ChangeFlag("NOPAIN",0)
		MSKC A 0 A_StopSoundEx("Body")
		MSKC A 0 A_StopSoundEx("SoundSlot7")
		MSKC A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		MSKC A 0 A_GiveInventory("ShrunkenCheck",1)
		MSKC IIIJJJKKKJJJ 2 A_Chase
        Goto See+4
    Pain:
		MSKC V 8 A_Pain
        Goto See 
	Pain.LaserShot:
	    MSKC V 0 
		MSKC V 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		MSKC V 0 HealThing(2)
		Goto See
	Pain.Radial:
        MSKC V 0
        MSKC V 0 HealThing(2)
        Goto See
	Restore:
	    MSKC I 0
		MSKC I 0 A_StopSoundEx("Body")
		MSKC I 0 A_StopSoundEx("SoundSlot7")
		MSKC I 0 A_ChangeFlag("NOPAIN",0)
        MSKC I 10 A_PlaySound("Shrinker/Shrink")
	    MSKC I 1 A_SetScale(0.25,0.25)	
		MSKC I 1 A_SetScale(0.28,0.28)
		MSKC I 1 A_SetScale(0.31,0.31)
		MSKC I 1 A_SetScale(0.34,0.34)
		MSKC I 1 A_SetScale(0.37,0.37)
        MSKC I 1 A_SetScale(0.40,0.40)
		MSKC I 1 A_SetScale(0.43,0.43)
        MSKC I 1 A_SetScale(0.46,0.46)
        MSKC I 1 A_SetScale(0.49,0.49)
        MSKC I 1 A_SetScale(0.52,0.52)
        MSKC I 1 A_SetScale(0.55,0.55)
		MSKC I 1 A_SetScale(0.58,0.58)
        MSKC I 1 A_SetScale(0.61,0.61)
        MSKC I 1 A_SetScale(0.64,0.64)
        MSKC I 1 A_SetScale(0.67,0.67)
        MSKC I 1 A_SetScale(0.70,0.70)
		MSKC I 1 A_SetScale(0.73,0.73)
        MSKC I 1 A_SetScale(0.76,0.76)
        MSKC I 1 A_SetScale(0.79,0.79)
        MSKC I 1 A_SetScale(0.82,0.82)
        MSKC I 1 A_SetScale(0.85,0.85)
        MSKC I 1 A_SetScale(0.88,0.88)
        MSKC I 1 A_SetScale(0.91,0.91)
        MSKC I 1 A_SetScale(0.94,0.94)
        MSKC I 1 A_SetScale(0.97,0.97)     
		MSKC I 1 A_SetScale(1.00,1.00)   
		MSKC A 0 A_SpawnItemEx("Masked Commander",0,0,0,0,0,0,0,32,0)
        Stop
	Death:
	    MSKC I 0
		MSKC I 0 A_StopSoundEx("Body")
		MSKC I 0 A_StopSoundEx("SoundSlot7")
		MSKC I 0 A_ChangeFlag("NOPAIN",0)
		MSKC I 0 A_Stop
        MSKC I 0 A_PlaySound("DukeNukem/DeathLittle",5)
        MSKC I 0 A_NoBlocking
        MSKC I 0 A_SpawnDebris("DukeGibs1")
        MSKC I 0 A_SpawnDebris("DukeGibs2")
		MSKC I 0 A_SpawnDebris("DukeGibs3")
        MSKC I 0 A_SpawnDebris("DukeGibs4")
        MSKC II 0 A_SpawnDebris("DukeGibs5")		
        MSKC IIIIIII 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    }
}