ACTOR PigAssault : ZBaseActor 19351
{
  Obituary "%o was brutalized by a Assault Pig."
  Health 700
  Radius 20
  Height 78
  Mass 1000
  Speed 6
  SeeSound "pigbrute/sight"
  PainSound "pigbrute/pain"
  DeathSound "pigbrute/death"
  ActiveSound "pigbrute/roam"
  AttackSound ""
  dropitem "SSG" 
  dropitem "DukeArmor" 16
  MONSTER
  +FLOORCLIP
  Scale 0.875
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  damagefactor "Expander", 0.5
  damagefactor "Explosion", 0.5
  damagefactor "RocketExplosion", 0.5
  damagefactor "ShellExplosion", 0.7
  damagefactor "Fire", 0.5
  damagefactor "BulletFlame", 0.84
  PainChance 64
  Painchance "Shrinker", 256
  painchance "BootStun", 256
  painchance "MicrowaveBlast", 256
  +BOSS
  Species "PigAssaults"
  +DOHARMSPECIES
  +NOINFIGHTSPECIES
  +DONTHARMCLASS
  WoundHealth 10
  +MISSILEMORE
  MeleeRange 72
  MaxTargetRange 640
  States
  {
  Spawn:
    PIGA A 0
    "####" "#" 0 A_CreateShield("PigAssMetalShield", 600, 16, 48, 22, -10, 24, 22, -15, 24, 300, 10, -24, 24)
  Idle:
    "####" "#" 0 Thing_ChangeTID(0,1000)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldIdle")
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "DamagedIdle")
    PIGA A 8 A_Look
    Loop
  DamagedIdle:
    PIGA G 8 A_Look
    Goto Idle
  NoShieldIdle:
    PIGA M 8 A_Look
    Loop
  See:
    "####" "#" 0 A_Gravity
    "####" "#" 0 A_TakeInventory("MasterAttacking", 1)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldSee")
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "DamagedSee")
    PIGA AA 2 A_ChaseD3D("", "Missile", 0, true)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldSee")
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "DamagedSee")
    PIGA B 2 A_ChaseD3D("", "", CHF_NOPLAYACTIVE, true)
    PIGA B 2 A_ChaseD3D("", "Missile", 0, true)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldSee")
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "DamagedSee")
    PIGA C 2 A_ChaseD3D("", "Missile", 0, true)
    PIGA C 2 A_ChaseD3D("", "", CHF_NOPLAYACTIVE, true)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldSee")
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "DamagedSee")
    PIGA DD 2 A_ChaseD3D("", "Missile", 0, true)
    Loop
  DamagedSee:
    PIGA GG 2 A_ChaseD3D("", "Missile", 0, true)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldSee")
    PIGA H 2 A_ChaseD3D("", "", CHF_NOPLAYACTIVE, true)
    PIGA H 2 A_ChaseD3D("", "Missile", 0, true)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldSee")
    PIGA I 2 A_ChaseD3D("", "Missile", 0, true)
    PIGA I 2 A_ChaseD3D("", "", CHF_NOPLAYACTIVE, true)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldSee")
    PIGA JJ 2 A_ChaseD3D("", "Missile", 0, true)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldSee")
    Goto See
  NoShieldSee:
    "####" "#" 0 A_JumpIfCloser(400, 2)
    "####" "#" 0 A_Jump(256, 2)
    "####" "#" 0 A_Jump(96, "Melee")
    "####" "#" 0 A_JumpIfCloser(500, 2)
    "####" "#" 0 A_Jump(256, 2)
    "####" "#" 0 A_Jump(96, "RunJump")
    PIGA MMM 1 A_ChaseD3D
    PIGA N 1 A_ChaseD3D("", "", CHF_NOPLAYACTIVE)
    PIGA NN 1 A_ChaseD3D
    PIGA OO 1 A_ChaseD3D
    PIGA O 1 A_ChaseD3D("", "", CHF_NOPLAYACTIVE)
    PIGA PPP 1 A_ChaseD3D
    Loop
  Missile:
    "####" "#" 0 A_GiveInventory("MasterAttacking", 1)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldMissile")
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "DamagedMissile")
    PIGA EE 3 A_FaceTarget
  ShootAgain:
    PIGA EE 3 A_FaceTarget
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "ShootDamaged")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    "####" "#" 0 A_PlaySound("shotgun/shoot", CHAN_WEAPON)
    "####" "########" 0 A_CustomMissile("EnemyProjectile", 60, 20,random[RIDMONSTERAT](-9, 9), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    PIGA F 6 Bright A_FaceTarget(45)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "WaitDamaged")
    PIGA F 6 Bright A_FaceTarget(45)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "RedecideDamaged")
    "####" "#" 0 A_PlaySound("shotgun/pump")
    "####" "##" 0 A_SpawnItem ("ShotCaseSpawn", 0, 60, 0)
    "####" "#" 0 A_CPosRefire
    PIGA E 4 A_jump(128, "ShootAgain")
    Goto See
  NoShieldMissile:
    PIGA QQ 2 A_FaceTarget
  ShootAgainNoShield:
    PIGA QQ 2 A_FaceTarget
  ShootNoShield:
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    "####" "#" 0 A_PlaySound("shotgun/shoot", CHAN_WEAPON)
    "####" "########" 0 A_CustomMissile("EnemyProjectile", 60, 20,random[RIDMONSTERAT](-9, 9), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    PIGA R 5 Bright A_FaceTarget(45)
  WaitNoShield:
    PIGA R 5 Bright A_FaceTarget(45)
  RedecideNoShield:
    "####" "#" 0 A_PlaySound("shotgun/pump")
    "####" "##" 0 A_SpawnItem ("ShotCaseSpawn", 0, 60, 0)
    "####" "#" 0 A_CPosRefire
    PIGA Q 4 A_jump(128, "ShootAgainNoShield")
    Goto See
  DamagedMissile:
    PIGA KK 3 A_FaceTarget
  ShootAgainDamaged:
    PIGA KK 3 A_FaceTarget
  ShootDamaged:
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "ShootNoShield")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    "####" "#" 0 A_PlaySound("shotgun/shoot", CHAN_WEAPON)
    "####" "########" 0 A_CustomMissile("EnemyProjectile", 60, 20,random[RIDMONSTERAT](-9, 9), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    PIGA L 6 Bright A_FaceTarget(45)
  WaitDamaged:
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "WaitNoShield")
    PIGA L 6 Bright A_FaceTarget(45)
  RedecideDamaged:
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "RedecideNoShield")
    "####" "#" 0 A_PlaySound("shotgun/pump")
    "####" "##" 0 A_SpawnItem ("ShotCaseSpawn", 0, 60, 0)
    "####" "#" 0 A_CPosRefire
    PIGA K 4 A_jump(128, "ShootAgainDamaged")
    Goto See
  Melee:
    "####" "#" 0 A_CheckSight("NoShieldSee")
    PIGA UUU 1 A_ChaseD3D("Melee2", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(300, "Dash")
    PIGA VVV 1 A_ChaseD3D("Melee2", "")
    PIGA WWW 1 A_ChaseD3D("Melee2", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(300, "Dash")
    PIGA XXX 1 A_ChaseD3D("Melee2", "")
    PIGA UUU 1 A_ChaseD3D("Melee2", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(300, "Dash")
    PIGA VVV 1 A_ChaseD3D("Melee2", "")
    PIGA WWW 1 A_ChaseD3D("Melee2", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(300, "Dash")
    PIGA XXX 1 A_ChaseD3D("Melee2", "")
    PIGA UUU 1 A_ChaseD3D("Melee2", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(300, "Dash")
    PIGA VVV 1 A_ChaseD3D("Melee2", "")
    PIGA WWW 1 A_ChaseD3D("Melee2", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(300, "Dash")
    PIGA XXX 1 A_ChaseD3D("Melee2", "")
    Goto NoShieldSee
  Dash:
    "####" "#" 0 A_PlayVoiceSoundPitch("","pigbrute/melee",4)
    PIGA UUU 4 A_FaceTarget
    "####" "#" 0 ThrustThing(angle * 256 / 360, 10, 0, 0)
    "####" "#" 0 A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE)
    PIGA UU 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE)
    PIGA U 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 ThrustThing(angle * 256 / 360, 10, 0, 0)
    PIGA U 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE)
    PIGA UU 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 ThrustThing(angle * 256 / 360, 10, 0, 0)
    "####" "#" 0 A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE)
    PIGA UU 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE)
    PIGA U 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 ThrustThing(angle * 256 / 360, 10, 0, 0)
    PIGA U 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE)
    PIGA UU 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 ThrustThing(angle * 256 / 360, 10, 0, 0)
    "####" "#" 0 A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE)
    PIGA UU 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE)
    PIGA U 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 ThrustThing(angle * 256 / 360, 10, 0, 0)
    PIGA U 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE)
    PIGA UU 1 A_JumpIfCloser(70, "Melee3")
    "####" "#" 0 A_ScaleVelocity(0.33)
    PIGA ZZ 10
    Goto NoShieldSee
  Melee2:
    "####" "#" 0 A_PlayVoiceSoundPitch("","pigbrute/melee",4)
    "####" "#" 0 A_Recoil(-2.5)
    PIGA U 4 A_FaceTarget
  Melee3:
    "####" "#" 0 A_Recoil(-2.5)
    "####" "#" 0 A_CustomMeleeAttack(40, "pigbrute/smack", "", "HighPush")
    "####" "#" 0 Radius_Quake (4, 6, 0, 5, 0)
    PIGA Z 9
    Goto NoShieldSee
  RunJump:
    "####" "#" 0 A_CheckSight("NoShieldSee")
    "####" "#" 0 A_JumpIfCloser(300, "NoShieldSee")
    PIGA UUU 1 A_ChaseD3D("", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA VVV 1 A_ChaseD3D("", "")
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA WWW 1 A_ChaseD3D("", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA XXX 1 A_ChaseD3D("", "")
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA UUU 1 A_ChaseD3D("", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA VVV 1 A_ChaseD3D("", "")
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA WWW 1 A_ChaseD3D("", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA XXX 1 A_ChaseD3D("", "")
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA UUU 1 A_ChaseD3D("", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA VVV 1 A_ChaseD3D("", "")
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA WWW 1 A_ChaseD3D("", "", CHF_NOPLAYACTIVE)
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    PIGA XXX 1 A_ChaseD3D("", "")
    "####" "#" 0 A_JumpIfCloser(384, "Jump")
    Goto NoShieldSee
  Jump:
    "####" "#" 0 A_PlayVoiceSoundPitch("","pigbrute/melee",4)
    PIGA TTT 4 A_FaceTarget
    "####" "#" 0 A_SetGravity(0.5)
    PIGA U 1 ThrustThingZ(0,30,0,0)
  JumpLoop:
    "####" "#" 0 ThrustThing(angle * 256 / 360, 2, 0, 0)
    PIGA UUU 1 A_JumpIf((!velx && !vely) || z - floorz < 3, "JumpFinish")
    Loop
  JumpFinish:
    "####" "#" 0 A_ScaleVelocity(0.33)
    "####" "#" 0 A_Quake(3, 17, 0, 192)
    "####" "#" 0 A_PlaySound("pig/heavyland", 5)
    "####" "#" 0 A_Explode(48, 128, XF_NOTMISSILE, 0, 32)
    PIGA T 19 A_Gravity
    Goto NoShieldSee
  Pain:
    "####" "#" 0 A_TakeInventory("MasterAttacking", 1)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldPain")
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "DamagedPain")
    PIGA AAAAAAAAAAAA 3 {A_FaceTarget(0, 270, -55); return A_JumpIfInventory("MasterShieldState", 2, "See"); return A_JumpIfInventory("MasterShieldState", 1, "DamagedPain");}
    Goto See
  NoShieldPain:
    "####" "#" 0 A_Jump(128,"NoShieldPain2")
    PIGD A 3
    PIGD A 3 A_PlayVoiceSoundPitch("Pain")
    Goto See
  NoShieldPain2:
    PIGD F 3
    PIGD F 3 A_PlayVoiceSoundPitch("Pain")
    Goto See
  DamagedPain:
    PIGA GGGGGGGGGGGG 3 {A_FaceTarget(0, 270, -55); return A_JumpIfInventory("MasterShieldState", 2, "See");}
    Goto See
  Pain.MicrowaveBlast:
    "####" "#" 0 A_TakeInventory("MasterAttacking", 1)
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldPainMicrowaveBlast")
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 1, "DamagedPainMicrowaveBlast")
    PIGA A 1 A_FaceTarget(0, 270, -55)
    "####" "#" 0 A_CheckThump("Pain")
    loop
  NoShieldPainMicrowaveBlast:
    PIGD A 1
    "####" "#" 0 A_CheckThump("Pain")
    loop
  DamagedPainMicrowaveBlast:
    "####" "#" 0 A_JumpIfInventory("MasterShieldState", 2, "NoShieldPainMicrowaveBlast")
    PIGA G 1 A_FaceTarget(0, 270, -55)
    "####" "#" 0 A_CheckThump("Pain")
    loop
  Death:
    PIGD A 7 A_PlayVoiceSoundPitch("Death")
    PIGD B 7 
    PIGD C 6 A_NoBlocking
    PIGD D 6 
    PIGD E 1 {A_BossDeath; A_SpawnItemEx("DeadPigAssault", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL|SXF_SETMASTER);}
    TNT1 A -1
    stop
  XDeath:
  Death.BossStomp:
    "####" "#" 0 A_DamageChildren (5000, "None", 0, "PigAssMetalShield", "None", AAPTR_NULL)
    "####" "#" 0 A_RemoveChildren(true, RMVF_EVERYTHING, "MetalShield")
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigcopHead1",TRUE, 1.0, 1.2)
    "####" "#" 0 A_SpawnDebris("PigAssArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigAssLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigAssFoot1",TRUE, 1.0, 1.0)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.PlasmaGib:
    "####" "#" 0 A_SpawnItemEx("DukePlasmaExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 0 A_DamageChildren (5000, "None", 0, "PigAssMetalShield", "None", AAPTR_NULL)
    "####" "#" 0 A_RemoveChildren(true, RMVF_EVERYTHING, "MetalShield")
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigcopHead1",TRUE, 1.0, 1.2)
    "####" "#" 0 A_SpawnDebris("PigAssArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigAssLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigAssFoot1",TRUE, 1.0, 1.0)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Pain.Shrinker:
    "####" "#" 0 A_DamageChildren (5000, "None", 0, "PigAssMetalShield", "None", AAPTR_NULL)
    "####" "#" 0 A_PlaySound("shrinker/shrink")
    "####" "#" 0 A_InvulnerablePlus(1)
    PIGD A 5 A_PlayVoiceSoundPitch("Pain")
    "####" "#" 0 A_CustomMissile("ShrinkEffect",8,0,0)
  Shrink:
    PIGD A 2 {A_SetScale(ScaleX - 0.04, ScaleY - 0.04); A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE);}
    "####" "#" 0 A_JumpIf(ScaleX > 0.2 && ScaleY > 0.2, "Shrink")
    PIGA M 0
    "####" "#" 0 A_Shrink("M","N","O","P")
    "####" "#" 0 {A_ChangeFlag("COUNTKILL",0); A_Die("BossDeath");}
    stop
  Wound.Expander:
   "####" "#" 0 A_Die("Expander")
  Death.Expander:
    "####" "#" 0 A_ChangeFlag("DONTCORPSE",1)
    "####" "#" 0 A_PlaySound("expander/expand")
    "####" "#" 0 {A_UnsetShootable; A_UnsetSolid;}
  Expand:
    PIGD A 1 A_SetScale(ScaleX + 0.01, ScaleY + 0.01)
    "####" "#" 0 A_JumpIf(ScaleX < 1.3 && ScaleY < 1.3, "Expand")
    PIGD AAAAA 1
    "####" "#" 0 A_SetScale(0.875, 0.875)
    "####" "#" 0 A_PlayVoiceSoundPitch("Death","",4)
    "####" "#" 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    goto Death.Explosion
  Wound.Ice:
    PIGA M 0 A_DamageChildren (5000, "None", 0, "PigAssMetalShield", "None", AAPTR_NULL)
    PIGA M 0 A_Freeze("See")
    PIGA M 0 {A_ChangeFlag("COUNTKILL",0); A_Die("BossDeath");}
    TNT1 A 1
    stop
  Deathceiling:
   "####" "#" 0 A_Die
    TNT1 A 1
    stop
  Death.BossDeath:
    "####" "#" 0 A_BossDeath
    TNT1 A 5
    Stop
  Death.Explosion:
  Death.RocketExplosion:
  Death.RocketHeadshot:
    "####" "#" 0 A_DamageChildren (5000, "None", 0, "PigAssMetalShield", "None", AAPTR_NULL)
    "####" "#" 0 A_RemoveChildren(true, RMVF_EVERYTHING, "MetalShield")
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigcopHead1",TRUE, 1.0, 1.2)
    "####" "#" 0 A_SpawnDebris("PigAssArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigAssLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigAssFoot1",TRUE, 1.0, 1.0)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_DamageChildren (5000, "None", 0, "PigAssMetalShield", "None", AAPTR_NULL)
    "####" "#" 0 A_RemoveChildren(true, RMVF_EVERYTHING, "MetalShield")
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigcopHead1",TRUE, 1.0, 1.2)
    "####" "#" 0 A_SpawnDebris("PigAssArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigAssLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigAssFoot1",TRUE, 1.0, 1.0)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.Headshot:
    "####" "#" 0 A_DamageChildren (5000, "None", 0, "PigAssMetalShield", "None", AAPTR_NULL)
    "####" "#" 0 A_RemoveChildren(true, RMVF_EVERYTHING, "MetalShield")
    "####" "#" 0 A_XScream
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("PigcopHead1",TRUE, 1.0, 1.2)
    3IGD A 21 A_NoBlocking
    3IGD B 14
    3IGD C 6
    3IGD DE 6
    3IGD F 1 {A_BossDeath; A_SpawnItemEx("DeadPigAssaultBehead", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL);}
    stop
  Possessed:
    "####" "#" 0 A_ChangeFlag("NOPAIN", 1)
    "####" "#" 0 A_GiveInventory("MasterShieldState", 2)
    PIGD E 7 {A_XScream; A_AdjustTics(1.0,1.0);}
    PIGD D 7 {A_XScream; A_AdjustTics(1.0,1.0);}
    PIGD C 7 A_AdjustTics(1.0,1.0)
    PIGD B 7 A_AdjustTics(1.0,1.0)
    PIGD A 7 A_AdjustTics(0,1.0)
    "####" "#" 0 A_ChangeFlag("NOPAIN", 0)
    goto See
  }
}

Actor PigAssMetalShield : MetalShield
{
  Scale 0.5
  States
  {
  Death:
    TNT1 A 3
    TNT1 AAA 0 A_SpawnDebris("DukeMechParticle", FALSE, 1.0, 1.0)
    TNT1 A 0 A_PlaySound("metal/land")
    TNT1 A 0 A_SpawnItemEx("PigAssShieldPiece1", -12, 2, 8, frandom[RIDMONSTER](0, 4.5), frandom[RIDMONSTER](-5, 5), frandom[RIDMONSTER](-1.75, 9))
    TNT1 A 0 A_SpawnItemEx("PigAssShieldPiece2", -12, 2, 20, frandom[RIDMONSTER](0, 4.5), frandom[RIDMONSTER](-5, 5), frandom[RIDMONSTER](-1.75, 9))
    TNT1 A 0 A_SpawnItemEx("PigAssShieldPiece3", 12, 2, 20, frandom[RIDMONSTER](0, 4.5), frandom[RIDMONSTER](-5, 5), frandom[RIDMONSTER](-1.75, 9))
    TNT1 A 0 A_SpawnItemEx("PigAssShieldPiece4", 0, 2, 8, frandom[RIDMONSTER](0, 4.5), frandom[RIDMONSTER](-5, 5), frandom[RIDMONSTER](-1.75, 9))
    TNT1 A 0 A_SpawnItemEx("PigAssShieldPiece5", 12, 2, 8, frandom[RIDMONSTER](0, 4.5), frandom[RIDMONSTER](-5, 5), frandom[RIDMONSTER](-1.75, 9))
    TNT1 A 0 A_SpawnItemEx("PigAssShieldPiece6", -12, 2, 0, frandom[RIDMONSTER](0, 4.5), frandom[RIDMONSTER](-5, 5), frandom[RIDMONSTER](-1.75, 9))
    TNT1 A 0 A_SpawnItemEx("PigAssShieldPiece6", 12, 2, 0, frandom[RIDMONSTER](0, 4.5), frandom[RIDMONSTER](-5, 5), frandom[RIDMONSTER](-1.75, 9))
    TNT1 A 1
    Stop
  }
}

actor DeadPigAssault : DeadDukeNukemLargeP
{
  Radius 30
  Height 30
  Scale 0.875
  States
  {
  Spawn:
    PIGD E -1
    Stop
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadPigAssault", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    PIGD E 5 A_GenericFreezeDeath
    PIGD E 1 A_FreezeDeathChunks
    wait
  }
}

actor DeadPigAssaultBehead : DeadDukeNukemLarge
{
  Radius 30
  Height 45
  Scale 0.875
  States
  {
  Spawn:
    3IGD F -1
    Stop
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadPigAssaultBehead", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    3IGD F 5 A_GenericFreezeDeath
    3IGD F 1 A_FreezeDeathChunks
    wait
  }
}