/////////////////////
// Suicide Bomber ///
// by Tormentor667 //
/////////////////////


actor SuicideBomber replaces Demon 22099
{
  obituary "%o got allahu ackbar'd."
  health 80
  radius 20
  height 56
  mass 100
  speed 15
  painchance 20
  SeeSound "arab/allah"
  AttackSound "arab/death"
  PainSound "arab/pain"
  DeathSound "arab/death"
  ActiveSound "arab/allah"
  MONSTER
  +FLOORCLIP
  states
  {
  Spawn:
    ARAB AB 10 A_Look
    loop
  See:
    ARAB AAABBBCCCDDD 2 A_Chase
    ARAB A 0 A_JumpIfCloser (80, "Death")
    loop
  Melee:
    ARAB A 0 A_Die
    stop
  Pain:
    ARAB A 3
    ARAB A 3 A_Pain
    goto See
   Pain.Electro:
	  APEE A 1 Bright A_SpawnItemEx("BodySmoke", random(-24,24), random(-24,24), 32, 0, 0, 1)
	  APEE B 1 Bright A_Pain
	  APEE A 1 Bright A_SpawnItemEx("BodySmoke", random(-24,24), random(-24,24), 32, 0, 0, 1)
	  APEE B 1 Bright A_SpawnItemEx("BodySmoke", random(-24,24), random(-24,24), 32, 0, 0, 1)
	  Goto See
  Death:
    TNT1 A 0 A_GiveToTarget("MoonTalkKillArab", 1)
    ARAB M 0 bright A_Explode (24, 128)
    ARAB M 5 bright A_PlaySound ("weapons/rocklx")
    ARAB N 5 bright A_XScream
    ARAB O 5 A_NoBlocking
	TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 0)
    TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 60)
    TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 120)
	TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 180)
	TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 240)
	TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 300)
	TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 30)
	TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 90)
	TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 150)
	TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 210)
	TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 270)
	TNT1 A 0 A_SpawnItemEx("SBFire", 0, 0, 0, 5, 0, random(-2,2), 330)
	TNT1 A 0 A_SpawnItemEx("SBDropFire")
	NULL A 0 A_CustomMissile ("HeartGib", 30, 0, 45, 2, 30)
	NULL AAA 0 A_CustomMissile ("LiverGib", 30, 0, 135, 2, 30)
	NULL A 0 A_CustomMissile ("SkullGib", 30, 0, 225, 2, 30)
	NULL A 0 A_CustomMissile ("Skull2Gib", 30, 0, 315, 2, 30)
	NULL AA 0 A_CustomMissile ("HandGib", 30, 0, 180, 2, 30)
	NULL AAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("BloodGib", 30, 0, 60, 2, 30)
    ARAB PQRST 5
    ARAB U -1
    stop
  }
}

Actor SBFire
{
  Radius 2
  Height 4
  Speed 16
//  Damage 1
  Projectile
  RenderStyle Add
  DamageType Fire
  Alpha 0.67
  Scale 0.67
  SeeSound "Flamethrower/Fire"
  DeathSound "Flamethrower/Hit"
  States
  {
  Spawn:
    TNT1 A 2
    FRFX ABCD 2 bright A_Explode(2, 8, 0)
    TNT1 A 0 A_LowGravity
    FRFX EFG 2 bright A_Explode(2, 16, 0)
    FRFX HIJ 2 bright A_Explode(2, 32, 0)
    FRFX KLM 2 bright A_Explode(2, 64, 0)
    FRFX NO 2 bright
    Stop
	
  Death:
    FRFX HIJ 2 bright A_Explode(5, 32, 0)
    TNT1 A 0 A_CustomMissile("DropFire", 0, 0, 0, 4)
    FRFX KLM 2 bright A_Explode(5, 64, 0)
    FRFX NO 2 bright
    Stop
  }
}

Actor SBDropFire
{
  Radius 8
  Height 40
  Projectile
  RenderStyle Add
  DamageType Fire
  Scale 0.50
  Alpha 0.90
  -NoGravity
  -NoBlockMap
  +NoExplodeFloor
  +NoDamageThrust
  States
  {
  Spawn:
    TNT1 A 0 A_PlaySound("Flamethrower/Flame")
    FLME A 2 bright A_Explode(1, 2, 0)
    FLME BCDEFGHIJKLMN 2 bright
    TNT1 A 0 A_PlaySound("Flamethrower/Flame")
    FLME ABCDEFGHIJKLMN 2 bright
    TNT1 A 0 A_PlaySound("Flamethrower/Flame")
    FLME A 2 bright
    FLME BCDEFGHIJKLMN 2 bright
    TNT1 A 0 A_Jump(192, "Death")
    Loop
  Death:
    TNT1 A 1
    Stop
  }
}