actor MFatso : Fatso 
{
  tag mancubus
  health 600
  radius 48
  height 64
  mass 1000
  speed 8
  
  PainChance "Control", 255
  DamageFactor "Control", 1
  
  // Takes damage from 
  DamageFactor "MarineDamage", 1
  DamageFactor "MarineRail", 0.8
  DamageFactor "ImpBallDamage", 0.5
  DamageFactor "ZombiesDamage", 0.5
  DamageFactor "CacoDamage", 0.5
  DamageFactor "SkelDamage", 0.5
  DamageFactor "KnightDamage", 0.5
  DamageFactor "ArachDamage", 0.5
  DamageFactor "viledamage", 0.5
  // immune to
  DamageFactor "FatsoDamage", 0
  states
  {
  Spawn:
    FATT A 15 A_Look
	FATT B 15 
	FATT A 0 Thing_SetSpecial (0,226,409,0,health)
    loop
  See:
    FATT AABBCCDDEEFF 4 A_Chase
	FATT A 0 A_JumpIf (special != 226,1)
	loop	
	FATT A 0 Thing_SetSpecial (0,226,409,0,health)
	goto see 	
  Death.Control:
    TNT1 A 0 ACS_Execute(410,0,9)
	TNT1 A 10
	stop
  Death:
    FATT K 6 A_GiveToTarget ("MarineExp",5)
    FATT L 6 A_Scream
    FATT M 6 A_NoBlocking
    FATT NOPQRS 6
    FATT T 1000 A_BossDeath
    stop	
  }
}

actor MFatShot : FatShot replaces FatShot
{
  DamageType "FatsoDamage"
}

// Hectebus

ACTOR MHectebus : Hectebus replaces Hectebus
{
   Tag Hectebus
   Health 1100
   seesound "hecto/sight"
   painsound "hecto/pain"
   deathsound "hecto/death"
   activesound "hecto/active"
   PainChance "Control", 255
   DamageFactor "Control", 1
  
   dropitem "MDoubleFiringSpeedPowerup" 16
   dropitem "MFrighteningPowerup" 16
  
  +ALWAYSFAST //added
  
   // Takes damage from 
   DamageFactor "MarineDamage", 1
   DamageFactor "MarineRail", 0.9
   DamageFactor "ImpBallDamage", 0.5
   DamageFactor "ZombiesDamage", 0.5
   DamageFactor "CacoDamage", 0.5
   DamageFactor "SkelDamage", 0.5
   DamageFactor "KnightDamage", 0.5
   DamageFactor "ArachDamage", 0.5
   DamageFactor "viledamage", 0.5
   // immune to
   DamageFactor "FatsoDamage", 0
   States
   {
   Spawn:
      HECT A 15 A_Look
      HECT B 15 
      HECT A 0 Thing_SetSpecial (0,226,409,0,health)
      loop
   See:
      HECT AABBCCDDEEFF 4 A_Chase
      HECT A 0 A_JumpIf (special != 226,1)
      loop	
      HECT A 0 Thing_SetSpecial (0,226,409,0,health)
      goto see 	
   Missile:
      //These Next 2 states replace A_FatRaise and A_HectRaise
      HECT G 0 A_PlaySound("hecto/raiseguns")
      HECT G 20 A_FaceTarget
      HECT H 0 A_CustomMissile("MHectShot",28,0,0,1)
      HECT H 0 A_CustomMissile("MHectShot",28,0,5.625,1)
      HECT H 0 A_CustomMissile("MHectShot",28,0,11.25,1)
      HECT H 0 A_CustomMissile("MHectShot",28,0,16.875,1)
      HECT H 10 BRIGHT
      HECT IG 5 A_FaceTarget
      HECT H 0 A_CustomMissile("MHectShot",28,0,0,1)
      HECT H 0 A_CustomMissile("MHectShot",28,0,-5.625,1)
      HECT H 0 A_CustomMissile("MHectShot",28,0,-11.25,1)
      HECT H 0 A_CustomMissile("MHectShot",28,0,-16.875,1)
      HECT H 10 BRIGHT
      HECT IG 5 A_FaceTarget
      HECT H 0 A_CustomMissile("MHectShot",28,0,-11.25,1)
      HECT H 0 A_CustomMissile("MHectShot",28,0,-5.625,1)
      HECT H 0 A_CustomMissile("MHectShot",28,0,0,1)
      HECT H 0 A_CustomMissile("MHectShot",28,0,5.625,1)
      HECT H 0 A_CustomMissile("MHectShot",28,0,11.25,1)
      HECT H 10 BRIGHT
      HECT IG 5 A_FaceTarget
      Goto See
   Death:
      HECT K 6 A_GiveToTarget ("MarineExp",8)
      HECT L 6 A_Scream
      HECT M 6 A_NoBlocking
      HECT NOPQRS 6
	  HECT T 1 A_JumpIf(random(1,3) == 3, 2)
      HECT T -1
      Stop
		HECT T 500
		Stop
   Death.Control:
      TNT1 A 0 ACS_Execute(410,0,28)
	  TNT1 A 10
	  stop	  
   }
}

ACTOR MHectShot : HectShot
{
 DamageType "FatsoDamage"
 Damage 10
 SeeSound "hecto/attack"
 decal Scorch
}

