ACTOR "Boss Hog" : "Mutant Pig" 31076
{
	//$Category DN3D Aliens //Mutants
	Health 410
	Mass 520
	BloodColor "D1 0C 00" 
	Obituary "%o was munched by Boss Hog" 
	States
	{
	Spawn:
	    MUPI A 0
        MUPI A 0 Thing_ChangeTID(0,1000)
		MUPI A 2 A_Look
		Loop
	See:
	    MUPI A 0
	    MUPI A 0 A_ChangeFlag("NOPAIN",0)
		MUPI A 0 A_StopSoundEx("SoundSlot7")
		MUPI A 0 A_SpawnItem("AlienStep3",0,0,0,0)
		MUPI AABB 2 A_Chase
		MUPI C 0 A_SpawnItem("AlienStep3",0,0,0,0)
		MUPI CCDD 2 A_Chase
		Loop
	Melee:
	    MUPI E 0 A_PlayWeaponSound("BossHog/Melee")
		MUPI EF 4 A_FaceTarget
		MUPI G 5 A_SargAttack
		Goto See
	Pain:
        MUPI G 2
        MUPI G 2 A_Pain
        Goto See
	Pain.LaserShot:
	    MUPI G 0
		MUPI G 0 A_SpawnItemEx("PainTripLaser",0,0,5)
		MUPI G 0 HealThing(2)
		Goto See	
	Pain.Radial:
        MUPI G 0
        MUPI G 0 HealThing(2)
        Goto See
	Pain.Fire:
	    MUPF A 0
		MUPF A 0 A_GiveInventory("FireCheck",1)
		MUPF A 0 A_GiveInventory("FireCheckDeath",1)
		MUPF A 0 A_PlaySoundEx("FireLoop/Monsters","SoundSlot7",1)
		MUPF A 0 A_PlaySound("Mutating/Pain",10)
		MUPF A 0 A_ChangeFlag("NOPAIN",1)
		MUPF A 0 A_ChangeFlag("FRIGHTENED",1)
		MUPF A 0 A_Wander
		MUPF A 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF AA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF A 0 A_Wander
		MUPF A 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF AA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF B 0 A_Wander
		MUPF B 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF BB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF B 0 A_Wander
		MUPF B 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF BB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF C 0 A_Wander
		MUPF C 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF CC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF C 0 A_Wander
		MUPF C 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF CC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF D 0 A_Wander
		MUPF D 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF DD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF D 0 A_Wander
		MUPF D 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF DD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        MUPF A 0 A_Wander
		MUPF A 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF AA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF A 0 A_Wander
		MUPF A 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF AA 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF B 0 A_Wander
		MUPF B 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF BB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF B 0 A_Wander
		MUPF B 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF BB 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF C 0 A_Wander
		MUPF C 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF CC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF C 0 A_Wander
		MUPF C 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF CC 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF D 0 A_Wander
		MUPF D 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF DD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF D 0 A_Wander
		MUPF D 0 A_SpawnItemEx("FireRadiusDamage2",0,0,38)
		MUPF DD 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
		MUPF D 0 A_JumpIfInventory("FireCheck",6,"PainFireStop")
		Loop	
	PainFireStop:
	    MUPF A 0 
		MUPF A 0 A_ChangeFlag("NOPAIN",0)
		MUPF A 0 A_ChangeFlag("FRIGHTENED",0)
		MUPF A 0 A_TakeInventory("FireCheck",999)
		MUPF A 0 A_TakeInventory("FireCheckDeath",999)
		MUPF A 0 A_StopSoundEx("SoundSlot7")
		Goto See
	Death:
		MUPI H 0
		MUPI H 0 A_JumpIfInventory("FireCheckDeath",1,"Burn")
		MUPI H 0 A_ChangeFlag("NOPAIN",0)
		MUPI H 0 A_StopSoundEx("SoundSlot7")
	    MUPI H 0 A_Jump(256,1,19)
		MUPI H 8 A_Scream
		MUPI I 0 A_NoBlocking
		MUPI I 0 A_PlaySound("Gib/Explode",5)
		MUPI I 0 A_SpawnDebris("DukeGibs1")
        MUPI I 0 A_SpawnDebris("DukeGibs2")
		MUPI I 0 A_SpawnDebris("DukeGibs3")
        MUPI I 0 A_SpawnDebris("DukeGibs4")
        MUPI I 0 A_SpawnDebris("DukeGibs5")		
        MUPI IIIII 0 A_SpawnDebris("DukeGibs6")
		MUPI I 7 		
		MUPI J 6
		MUPI K 5 
		MUPI L 1 A_PlaySound("Mutating/Body",6)
		MUPI L -1
		Stop
		MUP2 H 8 A_Scream
		MUP2 I 0 A_NoBlocking
		MUP2 I 0 A_PlaySound("Gib/Explode",5)
		MUP2 I 0 A_SpawnDebris("DukeGibs1")
        MUP2 I 0 A_SpawnDebris("DukeGibs2")
		MUP2 I 0 A_SpawnDebris("DukeGibs3")
        MUP2 I 0 A_SpawnDebris("DukeGibs4")
        MUP2 I 0 A_SpawnDebris("DukeGibs5")		
        MUP2 IIIII 0 A_SpawnDebris("DukeGibs6")
		MUP2 I 7 
		MUP2 J 6
		MUP2 K 5 A_NoBlocking
		MUP2 L 1 A_PlaySound("Mutating/Body",6)
		MUP2 L 1 A_GiveInventory("Death2Check",1)
		MUP2 L -1 
		Stop
	Death.Damage_Shrinker:
        MUPI A 0
		MUPI A 0 A_StopSoundEx("Body")
		MUPI A 0 A_StopSoundEx("SoundSlot7")
		MUPI A 0 A_ChangeFlag("NOPAIN",0)
        MUPI A 10 A_PlaySound("Shrinker/Shrink")
		MUPI A 1 A_SetScale(0.70,0.70)
        MUPI A 1 A_SetScale(0.68,0.68)
        MUPI A 1 A_SetScale(0.66,0.66)
        MUPI A 1 A_SetScale(0.64,0.64)
        MUPI A 1 A_SetScale(0.62,0.62)
        MUPI A 1 A_SetScale(0.60,0.60)
        MUPI A 1 A_SetScale(0.58,0.58)
        MUPI A 1 A_SetScale(0.56,0.56)
        MUPI A 1 A_SetScale(0.54,0.54)
        MUPI A 1 A_SetScale(0.52,0.52)
        MUPI A 1 A_SetScale(0.50,0.50)
        MUPI A 1 A_SetScale(0.48,0.48)
        MUPI A 1 A_SetScale(0.46,0.46)
        MUPI A 1 A_SetScale(0.44,0.44)
        MUPI A 1 A_SetScale(0.42,0.42)
        MUPI A 1 A_SetScale(0.40,0.40)
        MUPI A 1 A_SetScale(0.38,0.38)
        MUPI A 1 A_SetScale(0.36,0.36)
        MUPI A 1 A_SetScale(0.34,0.34)
        MUPI A 1 A_SetScale(0.32,0.32)
        MUPI A 1 A_SetScale(0.30,0.30)
        MUPI A 1 A_SetScale(0.28,0.28)
        MUPI A 1 A_SetScale(0.26,0.26)
        MUPI A 1 A_SetScale(0.24,0.24)
        MUPI A 1 A_SetScale(0.22,0.22)
        MUPI A 1 A_SetScale(0.20,0.20)
		MUPI A 0 A_SpawnItemEx("Boss Hog Shrunken",0,0,0,0,0,0,0,32,0)
        Stop
    Death.Damage_Explosion:
	Death.Damage_BigShock:
	Death.Damage_BigThunder:
		MUPI A 0
		MUPI A 0 A_ChangeFlag("NOPAIN",0)
		MUPI A 0 A_StopSoundEx("Body")
		MUPI A 0 A_StopSoundEx("SoundSlot7")
        MUPI A 0 A_PlaySound("Gib/Explode",5)
        MUPI A 0 A_NoBlocking
        MUPI AAA 0 A_SpawnDebris("DukeGibs1")
        MUPI AAA 0 A_SpawnDebris("DukeGibs2")
		MUPI AAA 0 A_SpawnDebris("DukeGibs3")
        MUPI AAA 0 A_SpawnDebris("DukeGibs4")
        MUPI AAA 0 A_SpawnDebris("DukeGibs5")		
        MUPI AAAAAAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    Death.Damage_Expander:
        MUPI A 0
		MUPI A 0 A_StopSoundEx("Body")
		MUPI A 0 A_StopSoundEx("SoundSlot7")
		MUPI A 1 A_PlaySound("Expander/Expand",5)
		MUPI A 1 A_SetScale(0.71,0.71)
        MUPI A 1 A_SetScale(0.72,0.72)
		MUPI A 1 A_SetScale(0.73,0.73)
		MUPI A 1 A_SetScale(0.74,0.74)
		MUPI A 1 A_SetScale(0.75,0.75)
		MUPI A 1 A_SetScale(0.76,0.76)
		MUPI A 1 A_SetScale(0.77,0.77)
		MUPI A 1 A_SetScale(0.78,0.78)
		MUPI A 1 A_SetScale(0.79,0.79)
		MUPI A 1 A_SetScale(0.80,0.80)
		MUPI A 1 A_SetScale(0.81,0.81)
		MUPI A 1 A_SetScale(0.82,0.82)
		MUPI A 1 A_SetScale(0.83,0.83)
		MUPI A 1 A_SetScale(0.84,0.84)
		MUPI A 1 A_SetScale(0.85,0.85)
		MUPI A 1 A_SetScale(0.86,0.86)
		MUPI A 1 A_SetScale(0.87,0.87)
		MUPI A 1 A_SetScale(0.88,0.88)
		MUPI A 1 A_SetScale(0.89,0.89)
		MUPI A 1 A_SetScale(0.90,0.90)
		MUPI A 1 A_SetScale(0.91,0.91)
		MUPI A 1 A_SetScale(0.92,0.92)
		MUPI A 1 A_SetScale(0.93,0.93)
		MUPI A 1 A_SetScale(0.94,0.94)
		MUPI A 1 A_SetScale(0.95,0.95)
		MUPI A 1 A_SetScale(0.96,0.96)
		MUPI A 1 A_SetScale(0.97,0.97)
		MUPI A 1 A_SetScale(0.98,0.98)
		MUPI A 1 A_SetScale(0.99,0.99)
		MUPI A 1 A_SetScale(1.00,1.00)
		MUPI A 1 A_SetScale(1.01,1.01)
		MUPI A 1 A_SetScale(1.02,1.02)
		MUPI A 1 A_SetScale(1.03,1.03)
		MUPI A 1 A_SetScale(1.04,1.04)
		MUPI A 1 A_SetScale(1.05,1.05)
		MUPI A 1 A_SetScale(1.06,1.06)
		MUPI A 1 A_SetScale(1.07,1.07)
		MUPI A 1 A_SetScale(1.08,1.08)
		MUPI A 1 A_SetScale(1.09,1.09)
		MUPI A 1 A_SetScale(1.10,1.10)
		MUPI A 1 A_SetScale(1.11,1.11)
		MUPI A 1 A_SetScale(1.12,1.12)
		MUPI A 1 A_SetScale(1.13,1.13)
		MUPI A 1 A_SetScale(1.14,1.14)
        MUPI A 25 A_SetScale(1.15,1.15)
        MUPI A 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        Goto Death.Damage_Explosion
	Burn:
	    MUPF H 0
		MUPF H 0 A_ChangeFlag("NOPAIN",0)
		MUPF H 0 A_StopSoundEx("SoundSlot7")
		MUPF H 0 A_Jump(256,1,43)
		MUPF H 0 A_Scream
		MUPF HHHHHHHH 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
        MUPF J 0 A_NoBlocking
		MUPF I 0 A_PlaySound("Gib/Explode",5)
		MUPF I 0 A_SpawnDebris("DukeGibs1")
        MUPF I 0 A_SpawnDebris("DukeGibs2")
		MUPF I 0 A_SpawnDebris("DukeGibs3")
        MUPF I 0 A_SpawnDebris("DukeGibs4")
        MUPF I 0 A_SpawnDebris("DukeGibs5")		
        MUPF IIIII 0 A_SpawnDebris("DukeGibs6")
		MUPF IIIIIII 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,42),0,0,1,0,32)
		MUPF JJJJJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
		MUPF KKKKK 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
		MUPF L 0 A_PlaySound("Mutating/Body",6)
		MUPF L 1 A_SpawnItemEx("FireintheFloor")
        MUPF L -1
        Stop
		MUF2 H 0 A_Scream
		MUF2 HHHHHHHH 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,56),0,0,1,0,32)
	    MUF2 H 0 A_NoBlocking
        MUF2 I 0 A_PlaySound("Gib/Explode",5)
		MUF2 I 0 A_SpawnDebris("DukeGibs1")
        MUF2 I 0 A_SpawnDebris("DukeGibs2")
		MUF2 I 0 A_SpawnDebris("DukeGibs3")
        MUF2 I 0 A_SpawnDebris("DukeGibs4")
        MUF2 I 0 A_SpawnDebris("DukeGibs5")		
        MUF2 IIIII 0 A_SpawnDebris("DukeGibs6")
		MUF2 IIIIIII 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,42),0,0,1,0,32)
		MUF2 JJJJJJ 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
		MUF2 KKKKK 1 Bright A_SpawnItemEx("FirePuffDuke",Random(-16,16),Random(-16,16),Random(5,30),0,0,1,0,32)
		MUF2 L 0 A_PlaySound("Mutating/Body",6)
		MUF2 L 1 A_SpawnItemEx("FireintheFloor")		
		MUF2 L 1 A_GiveInventory("Death2CheckFire",1)
		MUF2 L -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)
	    MUPI L 0 A_JumpIfInventory("FireCheckDeath",1,"Raise2")
		MUPI L 0 A_JumpIfInventory("Death2Check",1,2)
		MUPI L 35
		Stop
		MUP2 L 0
		MUP2 L 35
		Stop
	Raise2:
		MUPF L 0
		MUPF L 0 A_JumpIfInventory("Death2CheckFire",1,2)
		MUPF L 35
		Stop
		MUF2 L 0
		MUF2 L 35
		Stop
	}
}

ACTOR "Boss Hog Shrunken" 
{
    Health 30
    Radius 20
    Height 16
    Mass 0x7FFFFFFF
    Speed 5
    PainChance 128
    SeeSound "Mutating/Sight"
    PainSound "Mutating/Pain"
    DeathSound "Mutating/Death"
    ActiveSound "Mutating/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:
        MUPI A 0 
		MUPI A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		MUPI A 0 A_GiveInventory("ShrunkenCheck",1)
        MUPI AAAAAAAA 3 A_Look
        Loop
    See:
	    MUPI A 0 
	    MUPI A 0 A_ChangeFlag("NOPAIN",0)
		MUPI A 0 A_StopSoundEx("Body")
		MUPI A 0 A_StopSoundEx("SoundSlot7")
		MUPI A 0 A_JumpIfInventory("ShrunkenCheck",40,"Restore")
		MUPI A 0 A_GiveInventory("ShrunkenCheck",1)
		MUPI AABB 2 A_Chase
		MUPI B 0 A_SpawnItem("AlienStep3",0,0,0,0)
		MUPI CCDD 2 A_Chase
		MUPI D 0 A_SpawnItem("AlienStep3",0,0,0,0)
        Loop
    Pain:
		MUPI G 2 
		MUPI G 2 A_Pain
        Goto See 
	Pain.LaserShot:
	    MUPI G 0 
		MUPI G 0 A_SpawnItemEx("PainTripLaser",0,0,8)
		MUPI G 0 HealThing(2)
		Goto See
	Pain.Radial:
        MUPI G 0
        MUPI G 0 HealThing(2)
        Goto See
	Restore:
	    MUPI A 0
		MUPI A 0 A_StopSoundEx("Body")
		MUPI A 0 A_StopSoundEx("SoundSlot7")
		MUPI A 0 A_ChangeFlag("NOPAIN",0)
        MUPI A 10 A_PlaySound("Shrinker/Shrink")
		MUPI A 1 A_SetScale(0.20,0.20)
        MUPI A 1 A_SetScale(0.22,0.22)
        MUPI A 1 A_SetScale(0.26,0.24)
        MUPI A 1 A_SetScale(0.24,0.24)
        MUPI A 1 A_SetScale(0.28,0.28)
        MUPI A 1 A_SetScale(0.30,0.30)
        MUPI A 1 A_SetScale(0.32,0.32)
        MUPI A 1 A_SetScale(0.34,0.34)
        MUPI A 1 A_SetScale(0.36,0.36)
        MUPI A 1 A_SetScale(0.38,0.38)
        MUPI A 1 A_SetScale(0.40,0.40)
        MUPI A 1 A_SetScale(0.42,0.42)
        MUPI A 1 A_SetScale(0.44,0.44)
        MUPI A 1 A_SetScale(0.46,0.46)
        MUPI A 1 A_SetScale(0.48,0.48)
        MUPI A 1 A_SetScale(0.50,0.50)
        MUPI A 1 A_SetScale(0.52,0.52)
        MUPI A 1 A_SetScale(0.54,0.54)
        MUPI A 1 A_SetScale(0.56,0.56)
        MUPI A 1 A_SetScale(0.58,0.58)
        MUPI A 1 A_SetScale(0.60,0.60)
        MUPI A 1 A_SetScale(0.62,0.62)
        MUPI A 1 A_SetScale(0.64,0.64)
        MUPI A 1 A_SetScale(0.66,0.66)
        MUPI A 1 A_SetScale(0.68,0.68)
        MUPI A 1 A_SetScale(0.70,0.70)
		MUPI A 0 A_SpawnItemEx("Boss Hog",0,0,0,0,0,0,0,32,0)
        Stop
	Death:
	    MUPI A 0
		MUPI A 0 A_StopSoundEx("Body")
		MUPI A 0 A_StopSoundEx("SoundSlot7")
		MUPI A 0 A_ChangeFlag("NOPAIN",0)
		MUPI A 0 A_Stop
        MUPI A 0 A_PlaySound("DukeNukem/DeathLittle",5)
        MUPI A 0 A_NoBlocking
        MUPI A 0 A_SpawnDebris("DukeGibs1")
        MUPI A 0 A_SpawnDebris("DukeGibs2")
		MUPI A 0 A_SpawnDebris("DukeGibs3")
        MUPI A 0 A_SpawnDebris("DukeGibs4")
        MUPI A 0 A_SpawnDebris("DukeGibs5")		
        MUPI AAAAA 0 A_SpawnDebris("DukeGibs6")
	    TNT1 A 1
	    Stop
    }
}