Actor Mafibus : Fatso 22677
{
//Creator: Titanium
//Origin: Nexus Infinity
//Sprite: MFBS
//Title: "Mafibus" 
Health 1600
Mass 2000
Speed 8
PainChance 45
SeeSound "Mafibus/Sight"
PainSound "Mafibus/Pain"
DeathSound "Mafibus/Death"
ActiveSound "Mafibus/Active"
Obituary "%o was melted to slag by a Mafibus."
BloodColor "Red"
Scale 1.15
DamageFactor 0.85
DamageFactor "BeheComet", 0.0
DamageFactor "FatFlamer", 0.0
DamageFactor "Fire", 0.0
DamageFactor "Ice", 0.1
DamageFactor "FreezerBurn", 0.0
Species "Fatsos"
DropItem "BossLifeEssence" 200 25
DropItem "HEMBossArmorBonusMax25" 200 1
DropItem "HEMArmorBonusMax5", 200
DropItem "HEMArmorBonusMax5", 200
DropItem "NewShell", 60, 8
DropItem "BigGas", 80
DropItem "NewShellBox", 40
DropItem "Explosive Shotgun" 40
Tag "\c[z4]Mafibus\c-"
+MISSILEMORE
+MISSILEEVENMORE
+NOTARGET
+QUICKTORETALIATE
+MISSILEMORE
+DONTHURTSPECIES
+DONTHARMSPECIES
+NOICEDEATH
States
{
  Spawn:
	MFBS CC 8 A_Look
	Loop
  See:
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_SpawnItem("BeefyStep",0,0,0,0)
    MFBS AABBCCDD 3 A_Chase
	TNT1 A 0 A_SpawnItem("BeefyStep",0,0,0,0)
    MFBS EEFF 3 A_Chase
    Loop
  Missile:
	TNT1 A 0 A_JumpIfCloser(450,"Flamethrower")
	TNT1 A 0 A_Jump(148,"Napalm","RapidFire","ExSG")
  Normal:
	TNT1 A 0 A_PlaySound("Daedabus/Attack")
	MFBS G 15 A_FaceTarget    
	TNT1 A 0 A_FaceTarget 
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, Random(0, -6))
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, -30, Random(0, 6))
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, Random(-7, -12))
	MFBS H 4 Bright A_CustomMissile("MafibusComet", 30, -30, Random(7, 12))
	MFBS IG 8 A_FaceTarget      
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, Random(0, -6))
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, -30, Random(0, 6))
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, Random(-7, -12))
	MFBS H 4 Bright A_CustomMissile("MafibusComet", 30, -30, Random(7, 12))
	MFBS IG 12 A_FaceTarget
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, Random(0, -6))
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, -30, Random(0, 6))
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, Random(-7, -12))
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, -30, Random(7, 12))	
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, Random(-13, -18))
	MFBS H 4 Bright A_CustomMissile("MafibusComet", 30, -30, Random(13, 18))
	MFBS IG 8 A_FaceTarget
	TNT1 A 0 A_Jump(80,"RapidFire","ExSG")
	Goto See
  Napalm:
	TNT1 A 0 A_PlaySound("Daedabus/Attack")
	MFBS G 15 A_FaceTarget    
	TNT1 A 0 A_FaceTarget 
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, 30, Random(0, -6))
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, -30, Random(0, 6))
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, 30, Random(-7, -12))
	MFBS H 4 Bright A_CustomMissile("MafibusNapalmBall", 30, -30, Random(7, 12))
	MFBS IG 8 A_FaceTarget      
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, 30, Random(0, -6))
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, -30, Random(0, 6))
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, 30, Random(-7, -12))
	MFBS H 4 Bright A_CustomMissile("MafibusNapalmBall", 30, -30, Random(7, 12))
	MFBS IG 12 A_FaceTarget
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, 30, Random(0, -6))
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, -30, Random(0, 6))
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, 30, Random(-7, -12))
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, -30, Random(7, 12))	
	TNT1 A 0 A_CustomMissile("MafibusNapalmBall", 30, 30, Random(-13, -18))
	MFBS H 4 Bright A_CustomMissile("MafibusNapalmBall", 30, -30, Random(13, 18))
	MFBS IG 8 A_FaceTarget
	Goto See
  Flamethrower:
	TNT1 A 0 A_PlaySound("Daedabus/Attack")
	MFBS G 15 A_FaceTarget  
	TNT1 A 0 A_PlaySound("Weapons/PyroSGShot")
	TNT1 AAAA 0 A_CustomMissile("MafibusFlamethrowerShot",30,30,random(-6,6),CMF_TRACKOWNER)
	TNT1 AAAA 0 A_CustomMissile("MafibusFlamethrowerShot",30,-30,random(-6,6),CMF_TRACKOWNER)
	MFBS H 4 Bright A_FaceTarget
	MFBS IG 8 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/PyroSGShot")
	TNT1 AAAA 0 A_CustomMissile("MafibusFlamethrowerShot",30,30,random(-6,6),CMF_TRACKOWNER)
	TNT1 AAAA 0 A_CustomMissile("MafibusFlamethrowerShot",30,-30,random(-6,6),CMF_TRACKOWNER)
	MFBS H 4 Bright A_FaceTarget
	MFBS IG 8 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/PyroSGShot")
	TNT1 AAAA 0 A_CustomMissile("MafibusFlamethrowerShot",30,30,random(-6,6),CMF_TRACKOWNER)
	TNT1 AAAA 0 A_CustomMissile("MafibusFlamethrowerShot",30,-30,random(-6,6),CMF_TRACKOWNER)
	MFBS H 4 Bright A_FaceTarget
	MFBS IG 8 A_FaceTarget
	Goto See
  RapidFire:
	TNT1 A 0 A_PlaySound("Daedabus/Attack")
	MFBS G 15 A_FaceTarget    
	TNT1 A 0 A_FaceTarget 
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, 0)
	MFBS H 2 Bright A_CustomMissile("MafibusComet", 30, -30, 0)
	MFBS IG 2 A_FaceTarget      
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, 0)
	MFBS H 2 Bright A_CustomMissile("MafibusComet", 30, -30, 0)
	MFBS IG 2 A_FaceTarget	
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, 0)
	MFBS H 2 Bright A_CustomMissile("MafibusComet", 30, -30, 0)
	MFBS IG 2 A_FaceTarget	
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, 0)
	MFBS H 2 Bright A_CustomMissile("MafibusComet", 30, -30, 0)
	MFBS IG 2 A_FaceTarget	
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, 0)
	MFBS H 2 Bright A_CustomMissile("MafibusComet", 30, -30, 0)
	MFBS IG 2 A_FaceTarget	
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, 0)
	MFBS H 2 Bright A_CustomMissile("MafibusComet", 30, -30, 0)
	MFBS IG 2 A_FaceTarget	
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, 0)
	MFBS H 2 Bright A_CustomMissile("MafibusComet", 30, -30, 0)
	MFBS IG 2 A_FaceTarget	
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, 0)
	MFBS H 2 Bright A_CustomMissile("MafibusComet", 30, -30, 0)
	MFBS IG 2 A_FaceTarget	
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, 0)
	MFBS H 2 Bright A_CustomMissile("MafibusComet", 30, -30, 0)
	MFBS IG 2 A_FaceTarget	
	TNT1 A 0 A_CustomMissile("MafibusComet", 30, 30, 0)
	MFBS H 2 Bright A_CustomMissile("MafibusComet", 30, -30, 0)
	MFBS IG 8 A_FaceTarget
	TNT1 A 0 A_Jump(80,"Normal","ExSG")
	Goto See
  ExSG:
	TNT1 A 0 A_PlaySound("Daedabus/Attack")
	MFBS G 15 A_FaceTarget    
	TNT1 A 0 A_FaceTarget
	MFBS G 0 A_PlayWeaponSound("ExpSSG/Fire")
	MFBS GGGGG 0 A_CustomMissile("MafibusExplosiveTracer",30,30,random(0,-8))
	MFBS GGGGG 0 A_CustomMissile("MafibusExplosiveTracer",30,-30,random(0,8))
	TNT1 A 0 A_SpawnItemEx("OrangeShellCasing", 10, 12, 40, Random(2, 6), 0, Random(1, 3), Random(80, 90), 128)
	TNT1 A 0 A_SpawnItemEx("OrangeShellCasing", 10, -12, 40, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	MFBS H 8 Bright A_FaceTarget
	MFBS I 8 A_FaceTarget   
	TNT1 A 0 A_Jump(120,"ExSG")
	MFBS G 8 A_FaceTarget
	TNT1 A 0 A_Jump(80,"Normal","RapidFire")
	Goto See
  Pain:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_Jump(120,"PainMissile")
	MFBS J 4 Bright A_Pain
	Goto See
  PainMissile:
	MFBS J 4 A_Pain
	Goto Missile
  Death:
    MFBS K 6
    MFBS L 6 A_Scream
	TNT1 A 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
    MFBS M 6 A_NoBlocking
	TNT1 A 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 A 0 A_BossDeath
    MFBS NOPQRS 6
    MFBS T -1 A_KillMaster
    Stop
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    MFBS SRQPONMLK 5
    Goto See
   }
}

Actor MafibusComet
{
  Radius 6
  Height 8
  Speed 22
  Damage 10
  Scale 0.5
  Projectile
  SeeSound "comet/launch"
  DeathSound "Mafibus/Hit"
  Decal Scorch
  MissileType MafibusCometTail
  damagetype "BeheComet"
  States
  {
  Spawn:
    //MFBL A 0 A_PlaySoundEx("Mafibus/Loop", "SoundSlot7", 1, -1)
    MFBL AAAABBBBCCCC 1 Bright A_SpawnItemEx("MafibusCometTrail",0,0,0,0,0,0,0,128,0)
    Loop
  Death:
	TNT1 A 0 A_Explode(32,64,0)
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
    MFBL D 3 Bright A_SpawnItemEx("MafibusCometDeathGlow",0,0,0,0,0,0,0,128,0)
	MFBL E 3 Bright A_SpawnItemEx("MafibusCometDeath",0,0,0,0,0,0,0,128,0)
    Stop
  }
}

ACTOR MafibusCometTail : BFG9500Trail
{
Alpha 0.3
Scale 0.6
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
FRTB ABCDEFGHI 1 Bright
Stop
}
}

ACTOR MafibusCometDeath
{
Projectile
RenderStyle Add
Alpha 0.7
Scale 0.65
+NOCLIP
States
{
Spawn:
TNT1 A 0
TNT1 AAA 0 A_CustomMissile("Kaboom3", 0, 0, random(0,360), 2, random(0,360))
TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
COMT FGHI 3 Bright A_FadeOut(0.1)
Stop
}
}

ACTOR MafibusCometDeathGlow : CometTail
{
Scale 1.0
Alpha 0.6
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
FRTB ABCDEFGHI 3 Bright
Stop
}
}

ACTOR MafibusCometTrail : BFG9500Trail
{
Scale 0.35
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 1
    MFBL AAAABBBBCCCC 1 A_FadeOut(0.24)
    Goto Spawn+3
    }
}

ACTOR MafibusExplosiveTracer : BabySentientExplosiveTracer
{
DamageType "BeheComet"
States
{
Spawn:
    TRAC A 1 Bright
	Loop
Death:
	TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 A_SpawnItem("SentientExplosiveEffect")
    MISL B 4 Bright A_Explode(Random(3,6)*5,72)
    MISL CD 3 Bright
    Stop
    }
}

ACTOR MafibusNapalmBall : WarNapalmBall
{
  Species "Fatsos"
  Damagetype "BeheComet"
  States
  {
  Death:
	TNT1 A 0 A_Explode(50,100)
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("Kaboom3", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	TNT1 AAAA 0 A_SpawnItemEx("MafibusFlamethrowerShot",0,0,0,random(0,8),random(0,8),2,random(0,360),SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
	WARN CDE 6 Bright
	Stop
  }
}

Actor MafibusFlamethrowerShot : BaseFireSpawner
{
Damage (random(5,15))
Species "Fatsos"
DamageType "BeheComet"
States
	{
	Death:
		TNT1 AAA 0 A_StopSound(CHAN_BODY)
		TNT1 A 0 A_Stop
		TNT1 A 0 A_NoGravity
		TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AA 0 A_CustomMissile("Kaboom69",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AA 0 A_CustomMissile("SmokeFX7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 A 0 A_SpawnItemEx("MafibusFlare",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER)
		FRTM CDE 3 Bright
		Stop
	}
}

Actor MafibusFlare : BaseFireFlare
{
Species "Fatsos"
DamageType "BeheComet"
Obituary "%o was melted to slag by a Mafibus."
States
	{
	Spawn:
		TNT1 A 0 
		TNT1 A 0 A_SetUserVar("user_firedamage",15)
		TNT1 A 0 A_Die
		Goto Death
	}
}