actor MShotgunGuy : ShotGunGuy
{
  tag ShotgunGuy
  health 60 //30
  radius 20
  height 56
  mass 100
  speed 8
  
  PainChance "Control", 255
  DamageFactor "Control", 1
  
  DropItem "MShotgun" 0
  DropItem "Shotgun" 0
    
  // takes damage from
  DamageFactor "MarineDamage", 1
  DamageFactor "ImpBallDamage", 0.5
  DamageFactor "CacoDamage", 0.5
  DamageFactor "SkelDamage", 0.5
  DamageFactor "FatsoDamage", 0.5
  DamageFactor "KnightDamage", 0.5
  DamageFactor "ArachDamage", 0.5
  DamageFactor "viledamage", 0.5
  DamageFactor "ZombiesDamage", 0.5
  states
  {
  Spawn:
    SPOS A 10 A_Look
    SPOS B 10 
    SPOS A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  See:
    SPOS AABBCCDD 3 A_Chase
    SPOS A 0 A_JumpIf (special !=226,1) 
    loop	
    SPOS A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Missile:
    SPOS E 10 A_FaceTarget
    SPOS F 10 bright A_CustomBulletAttack (11.5,3.5,5,3,"FBulletPuff")
    SPOS E 10
    SPOS E 0 A_Jump(64, "Missile")
    goto See
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,3)
    TNT1 A 10
    stop
  Death:
    SPOS H 5 A_GiveToTarget ("MarineExp",2)
    SPOS I 5 A_Scream
    SPOS J 5 A_NoBlocking
    SPOS K 5
    SPOS L 1000
    stop
  XDeath:
    SPOS M 5 A_GiveToTarget ("MarineExp",2)
    SPOS N 5 A_XScream
    SPOS O 5 A_NoBlocking
    SPOS PQRST 5
    SPOS U 1000
    stop	
  }
}

ACTOR MSSGZombie replaces SuperShotgunGuy
{
	Tag "Super Shotgunner"
	Health 100
	Radius 20
	Height 56
	Scale 1
	Speed 8
	PainChance 170
	MONSTER 
	Translation "112:127=16:47"
	+FloorClip
	SEESOUND "SSGUNER/sight"
	ATTACKSOUND "SSGUNER/SSG"
	PAINSOUND "grunt/pain"
	DEATHSOUND "SSGUNER/death"
	ACTIVESOUND "SSGUNER/idle"
	OBITUARY "%o was blown open by a Super Shotgunner!"
	//dropitem "Mshell" 256
	dropitem "MSuperShotgun" 32 //256
	Decal Bulletchip
	
	PainChance "Control", 255
    DamageFactor "Control", 1
  
    // takes damage from
    DamageFactor "MarineDamage", 1
    DamageFactor "ImpBallDamage", 0.5
    DamageFactor "CacoDamage", 0.5
    DamageFactor "SkelDamage", 0.5
    DamageFactor "FatsoDamage", 0.5
    DamageFactor "KnightDamage", 0.5
    DamageFactor "ArachDamage", 0.5
    DamageFactor "viledamage", 0.5
    DamageFactor "ZombiesDamage", 0.5
	
	states
	{
	Spawn:
		GPOS A 10 A_Look
		GPOS B 10
		GPOS A 0 Thing_SetSpecial (0,226,409,0,health)
		Loop
	See:
		GPOS AABBCCDD 4 A_Chase
		GPOS A 0 A_JumpIf (special !=226,1) 
	    loop	
	    GPOS A 0 Thing_SetSpecial (0,226,409,0,health)
	    goto see
	Missile:
		GPOS E 10 A_FaceTarget
		GPOS F 10 BRIGHT A_CustomBulletAttack(11.2,7.1,16,3,"FBulletPuff")
		GPOS E 35 A_ChangeFlag("NoPain", 1)
		GPOS E 0 A_ChangeFlag("NoPain", 0)
		Goto See
	Pain:
		GPOS G 3
		GPOS G 3 A_Pain
		Goto See
	Death:
		GPOS H 8 A_GiveToTarget ("MarineExp",5)
		GPOS I 8 A_Scream
		GPOS J 8 A_NoBlocking
		GPOS K 8
		GPOS L 8
		GPOS M 8
		GPOS N 1000
		Stop
	XDeath:
		GPOS O 5 A_GiveToTarget ("MarineExp",5)
		GPOS P 5 A_XScream
		GPOS Q 5 A_NoBlocking
		GPOS RS 5
		GPOS T 1000
		Stop
	Death.Control:
        TNT1 A 0 ACS_Execute(410,0,21)
	    TNT1 A 10
	    stop 	
	Raise:
		GPOS NMLKJIH 5
		Goto See
	}
}


ACTOR MAShotgunGuy
{
  tag "Assault Shotgunner"
  Health 120 //70
  Radius 20
  Height 56
  Speed 8
  PainChance 170
  MONSTER
  +FLOORCLIP
  seesound "shotguy/sight"
  attacksound "weapons/Ashotgun/fire"
  painsound "shotguy/pain"
  deathsound "shotguy/death"
  activesound "shotguy/active"
  Obituary "%o got peppered by an Assault Shotgunner!"
  //DropItem "MShell" 256
  DropItem "AssaultShotgun" 32 //256
  Decal Bulletchip
	
    PainChance "Control", 255
    DamageFactor "Control", 1
  
  // takes damage from
  DamageFactor "MarineDamage", 1
  DamageFactor "ImpBallDamage", 0.5
  DamageFactor "CacoDamage", 0.5
  DamageFactor "SkelDamage", 0.5
  DamageFactor "FatsoDamage", 0.5
  DamageFactor "KnightDamage", 0.5
  DamageFactor "ArachDamage", 0.5
  DamageFactor "viledamage", 0.5
  DamageFactor "ZombiesDamage", 0.5
  States
    {
  Spawn:
    ASGZ AB 10 A_Look
    ASGZ A 0 Thing_SetSpecial (0,226,409,0,health)
    Loop
  See:
    ASGZ AABBCCDD 3 A_Chase
    ASGZ A 0 A_JumpIf (special !=226,1) 
    loop	
    ASGZ A 0 Thing_SetSpecial (0,226,409,0,health)
    Loop
  Missile:
    ASGZ E 1 A_Jump (96, 2) //0
    ASGZ E 0 A_JumpIfCloser (128,"Missile2")
    ASGZ E 1 A_Jump (96, "Missile2") //0
    ASGZ E 8 A_FaceTarget
    ASGZ F 10 Bright A_CustomBulletAttack (6.2,4.6,4,4,"FBulletPuff")
    ASGZ E 0 A_ChangeFlag("NoPain", 1)
    ASGZ E 4 A_PlaySoundEx("weapons/Ashotgun/cock/back", "body")
    ASGZ A 6
    ASGZ E 2 A_PlaySoundEx("weapons/Ashotgun/cock/forward", "body")
    ASGZ E 0 A_ChangeFlag("NoPain", 0)
    ASGZ E 1 A_Jump (64, "Missile") //0
    Goto See
  Missile2:
    ASGZ E 8 A_FaceTarget
    ASGZ F 5 Bright A_CustomBulletAttack (11.2,7.1,5,4,"FBulletPuff")
    ASGZ E 4
    ASGZ F 10 Bright A_CustomBulletAttack (11.2,7.1,5,4,"FBulletPuff")
    ASGZ E 0 A_ChangeFlag("NoPain", 1)
    ASGZ E 4 A_PlaySoundEx("weapons/Ashotgun/cock/back", "body")
    ASGZ A 6
    ASGZ E 6 A_PlaySoundEx("weapons/Ashotgun/cock/forward", "body")
    ASGZ E 4 A_PlaySoundEx("weapons/Ashotgun/cock/back", "body")
    ASGZ A 6
    ASGZ E 2 A_PlaySoundEx("weapons/Ashotgun/cock/forward", "body")
    ASGZ E 0 A_ChangeFlag("NoPain", 0)
    ASGZ E 1 A_Jump (64, "Missile") //0
    Goto See
  Pain:
    ASGZ G 3
    ASGZ G 3 A_Pain
    Goto See
  Death:
    ASGZ H 5 A_GiveToTarget ("MarineExp",4)
    ASGZ I 5 A_Scream
    ASGZ J 5 A_Fall
    ASGZ KLM 5
	ASGZ N 1 A_JumpIf(random(1,3) == 3, 2)
    ASGZ N -1//1000
    Stop
		ASGZ N 500
		Stop
  XDeath:
    ASGZ O 5 A_GiveToTarget ("MarineExp",4)
    ASGZ P 5 A_XScream
    ASGZ Q 5 A_Fall
    ASGZ RSTUV 5
	ASGZ W 1 A_JumpIf(random(1,3) == 3, 2)
    ASGZ W -1//1000
    Stop
		ASGZ W 500
		Stop
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,41)
    TNT1 A 10
    stop
  Raise:
    ASGZ NMLKJIH 5
    Goto See
    }
}




//Marine skin monster with BFG and Railgun
actor MFallenColonel
{
  tag "Fallen Colonel"
  health 1000
  radius 20
  height 56
  mass 100
  speed 15
  MONSTER
  Translation "112:119 = 192:199","120:127=240:247"  // ADDED TO REMOVE THE STANDARD GREEN. NOW SIMILAR TO DARK IMP'S FIRE BALL.
  +QUICKTORETALIATE
  +DONTHARMSPECIES
  SPECIES "MonsterFallenColonelSpecies" 
  +FLOORCLIP
  +NORADIUSDMG
  +DONTMORPH
  attacksound ""
  BloodColor "darkgreen"
  
  dropitem "MGoldArmor", 77
  dropitem "MDoubleFiringSpeedPowerup" 42
  
  Obituary "%o was executed by Fallen Colonel"
  
  PainChance "Control", 255
  DamageFactor "Control", 1
  
  // takes damage from
  DamageFactor "MarineDamage", 0.6
  DamageFactor "BFGSplash", 0.6
  DamageFactor "MarineRLDamage", 0.6
  DamageFactor "MarineRail", 0.6
  DamageFactor "MarineSuperweapon", 0.2 //added for custom weapons 
  DamageFactor "PorkDamage", 0 //added
  
  DamageFactor "ImpBallDamage", 0.25
  DamageFactor "CacoDamage", 0.25
  DamageFactor "SkelDamage", 0.25
  DamageFactor "FatsoDamage", 0.25
  DamageFactor "KnightDamage", 0.25
  DamageFactor "ArachDamage", 0.25
  DamageFactor "viledamage", 0.25
  DamageFactor "ZombiesDamage", 0.1
  DamageFactor "ZombiesFCDamage", 0
  
  states
  {
  Spawn:
    PB10 AB 10 A_Look
    PB10 A 0 Thing_SetSpecial (0,226,409,0,health)
	PB10 A 0 HealThing(10)
    loop
  See:
    PB10 AABBCCDD 3 A_Chase
    PB10 A 0 A_JumpIf (special !=226,1)
	PB10 A 0 HealThing(10)
    loop	
    PB10 A 0 Thing_SetSpecial (0,226,409,0,health)
    goto see
  Missile: //Primary fire
	PB10 E 1
	PB10 E 0 A_JUMP(256,"MissileMBFG10kShot","MissileBFGBall","MissileRailgun","MissileHomingRocket") //random 25% change of 1/4 weapon used
	goto See
  MissileRailgun:
	PB10 E 5 A_FaceTarget
	PB10 E 0 bright A_PlaySound("weapons/RailAttackCyber", CHAN_WEAPON, 1, 0, ATTN_NONE)
    PB10 E 12 Bright A_CustomRailgun(random(75,100), 0, "red", "white", 1, 1, 0, "MonsterColonelRailPuff")
    PB10 F 10 bright
    PB10 E 20
	goto See
  MissileBFGBall:
    PB10 E 5 A_FaceTarget
	PB10 E 20 bright A_PlaySound("weapons/bfgf", CHAN_WEAPON, 1, 0, ATTN_NONE) 
    PB10 E 30 bright A_CustomMissile ("FallenColonelBFGBall",32)//A_FireBFG
	PB10 E 20
    goto See
  MissileHomingRocket:
    PB10 E 5 A_FaceTarget
    PB10 E 12 Bright A_CustomMissile("FallenColonelHR",32)
	PB10 E 12 Bright A_CustomMissile("FallenColonelHR",32)
	PB10 E 12 Bright A_CustomMissile("FallenColonelHR",32)
	PB10 E 20
	goto See
  MissileMBFG10kShot:
	PB10 E 5 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
	PB10 E 3 A_FaceTarget
	PB10 E 5 Bright A_CustomMissile("FallenColonelMBFG10kShot",32)
  	PB10 E 20
	goto See
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,46)
    TNT1 A 10
    stop
  Death:
    PB10 H 5 A_GiveToTarget ("MarineExp",10)
    PB10 I 5 A_PlaySoundEx ("shotguy/death","Body")
    PB10 J 5 A_NoBlocking
    PB10 K 5
    PB10 L 5
	PB10 M 5
	PB10 N 1000 //-1
    stop
  XDeath:
    PB10 O 5 A_GiveToTarget ("MarineExp",10)
    PB10 O 5 A_XScream
    PB10 Q 5 A_NoBlocking
    PB10 RSTUV 5
    PB10 W 1000 //-1
    stop	
  }
}

actor MonsterColonelRailPuff : BulletPuff
{
 DamageType "ZombiesFCDamage"
}

ACTOR FallenColonelBFGBall
{
  Radius 13
  Height 8
  Speed 25
  Damage 100
  Projectile
  +RANDOMIZE
  RenderStyle Add
  Alpha 0.75
  DeathSound "weapons/bfgx"
  Obituary "$OB_MPBFG_BOOM"
  DamageType "ZombiesFCDamage"
  //-NOTELEPORT
  //+TELESTOMP
  States
  {
  Spawn:
    BFS1 AB 4 Bright
    Loop
  Death:
    BFE1 AB 8 Bright
    BFE1 C 8 Bright A_BFGSpray
		//BFE1 C 0 A_Explode(250,16)
		BFE1 C 0 A_Explode(150,32)	
		BFE1 C 0 A_Explode(100,48)
		BFE1 C 0 A_Explode(75,64)
		BFE1 C 0 A_Explode(50,96)
		BFE1 C 0 A_Explode(25,128)
		//BFE1 C 0 A_Explode(20,256)
		//BFE1 C 0 A_Explode(15,512)
		//BFE1 C 0 A_Explode(10,1024)
		BFE1 DEF 8 Bright
    Stop
  }
}

ACTOR FallenColonelHR
{
   Radius 8
   Height 11
   Speed 12 //18
   Damage 15
   PROJECTILE
   DeathSound "weapons/hrlexp"
   ExplosionDamage 96
   ExplosionRadius 96
   +SeekerMissile
   +Rockettrail
   +RANDOMIZE
   +DEHEXPLOSION
   Damagetype "ZombiesFCDamage"
   SeeSound "weapons/hrlfir"
   Decal Scorch
   
   BounceCount 1 //added 3.0.1
   +CANBOUNCEWATER //added 3.0.1
   +DOOMBOUNCE //added 3.0.1
   +NOBOUNCESOUND //added 3.0.1
   +NOWALLBOUNCESND //added 3.0.1
   
   States
   {
   Spawn:
      HMIS A 4 Bright A_SeekerMissile (5,10) //12,20
      HMIS A 4 Bright
      HMIS A 2 Bright A_SeekerMissile (5,10) //8,15
      HMIS A 2 Bright
      goto Spawn+2
   Death:
      MISL B 8 bright A_Explode(96,96)
      MISL C 6 bright
      MISL D 4 bright
      stop
   }
}

actor FallenColonelMBFG10kShot : MBFG10kShot
{
  Damage 10
  DamageType "ZombiesFCDamage"
  Speed 20 //15
  Projectile
  
  States
  {
  Spawn:
    BFE1 ABCB 1
	Loop
  Death:
    BFE1 A 3 Bright
    BFE1 BCDEF 3 Bright
    Stop
  }
}