
ACTOR PigBrute : ZBaseActor 19350
{
  Obituary "%o was brutalized by a Pig Brute."
  Health 650
  Radius 20
  Height 72
  mass 1000
  Speed 7
  SeeSound "pigbrute/sight"
  PainSound "pigbrute/pain"
  DeathSound "pigbrute/death"
  ActiveSound "pigbrute/roam"
  AttackSound ""
  dropitem "ChaingunAmmo" 128 50
  dropitem "Chaingun Cannon" 32
  MONSTER
  +FLOORCLIP
  Scale 0.7
  damagefactor "Expander", 0.5
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  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 "PigBrutes"
  +DOHARMSPECIES
  +NOINFIGHTSPECIES
  +DONTHARMCLASS
  WoundHealth 10
  +MISSILEMORE
  MeleeRange 68
  MaxTargetRange 640
  States
  {
  Spawn:
    PIGB X 0
    "####" "#" 0 Thing_ChangeTID(0,1000)
    PIGB X 8 A_Look
    Loop
  See:
    PIGB AA 2 A_ChaseD3D
    PIGB B 2 A_ChaseD3D("", "", CHF_NOPLAYACTIVE)
    PIGB B 2 A_ChaseD3D
    PIGB C 2 A_ChaseD3D
    PIGB C 2 A_ChaseD3D("", "", CHF_NOPLAYACTIVE)
    PIGB DD 2 A_ChaseD3D
    Loop
  Melee:
    "####" "#" 0 A_PlayVoiceSoundPitch("","pigbrute/melee",4)
    PIGB I 8 A_FaceTarget
    "####" "#" 0 A_PlaySound("pigbrute/swing", 5)
    PIGB J 6 A_FaceTarget
    "####" "#" 0 A_CustomMeleeAttack(32, "pigbrute/smack", "pigbrute/smack", "MidPush")
    "####" "#" 0 Radius_Quake (4, 6, 0, 5, 0)
    PIGB K 5
    Goto See
  Missile:
    "####" "#" 0 A_Jump(184, 2)
    "####" "#" 0 A_JumpIfCloser(288, "Taunt")
    "####" "#" 0 A_Jump(160, 2)
    "####" "#" 0 A_JumpIfCloser(256, "Rush")
  Machinegun:
    PIGB EE 5 A_FaceTarget
    PIGB E 4 A_FaceTarget
    "####" "#" 0 A_Jump(256, "MissileAnim1", "MissileAnim2", "MissileAnim3")
  MissileAnim1:
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    "####" "#" 0 A_PlaySound("shotgun/shoot", CHAN_WEAPON)
    "####" "#" 0 A_CustomMissile("EnemyProjectile", 42, -30, random[RIDMONSTERAT](-6,6), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1,1))
    "####" "#" 0 A_CustomMissile("EnemyProjectile", 42, -30, random[RIDMONSTERAT](-6,6), CMF_AIMOFFSET, random[RIDMONSTERAT](-1,1))
    "####" "#" 0 A_CustomMissile("20mmSpawn", 36, 0, 60, 2, random[RIDFX](20, 55))
    PIGB F 3 Bright
    PIGB F 1 Bright A_FaceTarget
    "####" "#" 0 A_MonsterRefire(40,"See")
    "####" "#" 0 A_Jump(32,"FinishFiring")
    "####" "#" 0 A_Jump(192, 2)
    PIGB E 4 A_FaceTarget
    "####" "#" 0 A_Jump(256, "MissileAnim2", "MissileAnim3")
    PIGB F 1 Bright
    Goto See
  MissileAnim2:
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    "####" "#" 0 A_PlaySound("shotgun/shoot", CHAN_WEAPON)
    "####" "#" 0 A_CustomMissile("EnemyProjectile", 48, -15, random[RIDMONSTERAT](-6,6), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1,1))
    "####" "#" 0 A_CustomMissile("EnemyProjectile", 48, -15, random[RIDMONSTERAT](-6,6), CMF_AIMOFFSET, random[RIDMONSTERAT](-1,1))
    "####" "#" 0 A_CustomMissile("20mmSpawn", 36, 0, 60, 2, random[RIDFX](20, 55))
    PIGB G 3 Bright
    PIGB G 1 Bright A_FaceTarget
    "####" "#" 0 A_MonsterRefire(40,"See")
    "####" "#" 0 A_Jump(32,"FinishFiring")
    "####" "#" 0 A_Jump(192, 2)
    PIGB E 4 A_FaceTarget
    "####" "#" 0 A_Jump(256, "MissileAnim1", "MissileAnim3")
    PIGB G 1 Bright
    Goto See
  MissileAnim3:
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    "####" "#" 0 A_PlaySound("shotgun/shoot", CHAN_WEAPON)
    "####" "#" 0 A_CustomMissile("EnemyProjectile", 38, -11, random[RIDMONSTERAT](-6,6), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1,1))
    "####" "#" 0 A_CustomMissile("EnemyProjectile", 38, -11, random[RIDMONSTERAT](-6,6), CMF_AIMOFFSET, random[RIDMONSTERAT](-1,1))
    "####" "#" 0 A_CustomMissile("20mmSpawn", 36, 0, 60, 2, random[RIDFX](20, 55))
    PIGB H 3 Bright
    PIGB H 1 Bright A_FaceTarget
    "####" "#" 0 A_MonsterRefire(40,"See")
    "####" "#" 0 A_Jump(32,"FinishFiring")
    "####" "#" 0 A_Jump(192, 2)
    PIGB E 4 A_FaceTarget
    "####" "#" 0 A_Jump(256, "MissileAnim2", "MissileAnim1")
    PIGB H 1 Bright
    Goto See
  FinishFiring:
    "####" "#" 0 A_Jump(128, "NoMortar")
    "####" "#" 0 A_JumpIfCloser(400, "NoMortar")
  Mortar:
    PIGB EEEE 4 A_FaceTarget(0, 0)
    PIGB E 1 A_PlaySound("rpg/shoot", CHAN_WEAPON)
    "####" "#" 0 A_CustomMissile("PigBruteMortar",40,-20,0,2,15)
    PIGB E 1 BRIGHT A_CustomMissile("MuzzleFlashSmall",32,16,0)
    PIGB E 2
  NoMortar:
    PIGB E 6
    "####" "#" 0 A_Jump(64,"See")
    Goto Missile
  Rush:
    PIGB AAABBBCCCDDDAAABBBCCCDDDAAABBBCCCDDDAAABBBCCCDDD 1 A_ChaseD3D("Melee", "", CHF_NOPLAYACTIVE)
    Goto See
  Taunt:
    PIGB L 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB L 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB M 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB M 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    "####" "#" 0 A_PlaySound("pigbrute/clang", 5)
    PIGB N 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB N 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB M 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB M 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB L 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB L 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB M 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB M 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    "####" "#" 0 A_PlaySound("pigbrute/clang", 5)
    PIGB N 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB N 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB M 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB M 3 A_FaceTarget(22)
    "####" "#" 0 A_Jump(32, "Rage")
    PIGB M 1 A_FaceTarget(22)
    Goto See
  Rage:
    "####" "#" 0 A_PlayVoiceSoundPitch("","pigbrute/rage",4)
    PIGB PPPP 5 A_FaceTarget(22)
    PIGB QQQQ 5 A_FaceTarget(22)
    "####" "#" 0 A_Jump(64, "See")
    PIGB Q 4 A_FaceTarget(22)
    Goto Rush
  Pain:
    "####" "#" 0 A_Jump(128,"Pain2")
    PIGB R 3
    PIGB R 3 A_PlayVoiceSoundPitch("Pain")
    Goto See
  Pain2:
    PIGB Y 3
    PIGB Y 3 A_PlayVoiceSoundPitch("Pain")
    goto See
  Pain.MicrowaveBlast:
    PIGB R 1
    "####" "#" 0 A_CheckThump("Pain")
    loop
  Death:
    PIGB R 7 A_PlayVoiceSoundPitch("Death")
    PIGB S 7
    PIGB T 6 A_NoBlocking
    PIGB U 6
    PIGB V 5
    PIGB W 1 {A_BossDeath; A_SpawnItemEx("DeadPigBrute", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL|SXF_SETMASTER);}
    TNT1 A -1
    stop
  XDeath:
  Death.BossStomp:
    "####" "#" 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)
    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_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)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Pain.Shrinker:
    "####" "#" 0 A_PlaySound("shrinker/shrink")
    "####" "#" 0 A_InvulnerablePlus(1)
    PIGB R 5 A_PlayVoiceSoundPitch("Pain")
    "####" "#" 0 A_CustomMissile("ShrinkEffect",8,0,0)
  Shrink:
    PIGB R 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")
    "####" "#" 0 A_Shrink
    "####" "#" 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:
    PIGB R 1 A_SetScale(ScaleX + 0.01, ScaleY + 0.01)
    "####" "#" 0 A_JumpIf(ScaleX < 1.3 && ScaleY < 1.3, "Expand")
    PIGB RRRRR 1
    "####" "#" 0 A_SetScale(0.7, 0.7)
    "####" "#" 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:
    "####" "#" 0 A_Freeze("See")
    "####" "#" 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 1
    Stop
  Death.Explosion:
  Death.RocketExplosion:
  Death.RocketHeadshot:
    "####" "#" 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)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 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)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.Headshot:
    "####" "#" 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)
    3IGB R 21 A_NoBlocking
    3IGB S 14
    3IGB T 6
    3IGB U 6
    3IGB V 5
    3IGB W 1 {A_BossDeath; A_SpawnItemEx("DeadPigBruteBehead", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL);}
    stop
  Possessed:
    "####" "#" 0 A_ChangeFlag("NOPAIN", 1)
    PIGB W 7 {A_XScream; A_AdjustTics(1.0,1.0);}
    PIGB V 7 {A_XScream; A_AdjustTics(1.0,1.0);}
    PIGB U 7 A_AdjustTics(1.0,1.0)
    PIGB T 7 A_AdjustTics(1.0,1.0)
    PIGB S 7 A_AdjustTics(1.0,1.0)
    PIGB R 7 A_AdjustTics(0,1.0)
    "####" "#" 0 A_ChangeFlag("NOPAIN", 0)
    goto See
  }
}

Actor PigBruteMortar : BattleLordAttack
{
  Scale 0.6
  Radius 6
  Speed 15
  Damage (40)
  Obituary "%o was brutally destroyed by a Pig Brute."
  States
  {
  Spawn: 
    TNT1 A 0
    TNT1 A 0 BRIGHT ThrustThingZ (0, 10, 0, 1)
    Goto Spawn2
  Spawn2:
    BS2X A 1 bright A_CustomMissile("OldschoolRocketSmokeTrail3", 0, 0, 0, 2, 0)
    BS2X B 1 bright
    BS2X C 1 bright A_CustomMissile("OldschoolRocketSmokeTrail3", 0, 0, 0, 2, 0)
    BS2X D 1 bright
    "####" "#" 0 A_Countdown
    loop
  Death:
    TNT1 AAAAAAAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 180))
    TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 360))
    TNT1 AAAAAAAAA 0 A_CustomMissile ("ExplosionParticleVeryFast", 0, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 360))
    "####" "#" 0 A_CustomMissile ("RPGExplosion", 0, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 360))
    TNT1 AAAAA 0 A_CustomMissile ("ExplosionSmokeFast22", 0, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 360))
    "####" "#" 0 A_SpawnItem("BigRicoChet")
    "####" "#" 0 A_SPawnItem("ExplosionAirDisplacementEffect")
    "####" "#" 0 A_PlaySound("rpg/blowup")
    "####" "#" 0 A_PlayWeaponSound("rpg/blowup")
    "####" "#" 0 Radius_Quake(2, 8, 0, 12, 0)
    TNT1 A 2
    "####" "#" 0 A_Explode(40, 136, 0, 0, 40)
    TNT1 A 10
    stop
  }
}

actor DeadPigBrute : DeadDukeNukemLargeP
{
  Radius 30
  Height 25
  scale 0.7
  States
  {
  Spawn:
    PIGB W -1
    Stop
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadPigBrute", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    PIGB W 5 A_GenericFreezeDeath
    PIGB W 1 A_FreezeDeathChunks
    wait
  }
}

actor DeadPigBruteBehead : DeadDukeNukemLarge
{
  Radius 30
  Height 25
  scale 0.7
  States
  {
  Spawn:
    3IGB W -1
    Stop
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadPigBruteBehead", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    3IGB W 5 A_GenericFreezeDeath
    3IGB W 1 A_FreezeDeathChunks
    wait
  }
}