actor BossBrain_2 : BossBrain replaces BossBrain
{
  Tag "John Romero"
  //+ISMONSTER
  Health 750
  PainChance "Dragon", 31
  PainChance "DragonF", 31
  PainChance "Dragonsplosion", 31
  DamageFactor "Crush", 3.0
  DamageFactor "BarrelBoom", 3.0
  DamageFactor "Sniper", 0.5
  DamageFactor "Revive", 0.0
}

actor BossEye_2 : BossEye replaces BossEye
{
  Tag "Sight of Romero"
  +ISMONSTER
}

actor CommanderKeen_2 : CommanderKeen replaces CommanderKeen
{
  Tag "Commander Keen"
  PainChance "Dragon", 31
  PainChance "DragonF", 31
  PainChance "Dragonsplosion", 31
  DamageFactor "Revive", 0.0
  DamageFactor "Step", 0.0
}

actor BaronBall2 : BaronBall replaces BaronBall
{
  Height 12
  Decal BaronScorch
  Damage (34)
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    HKBL AAAABBBB 1 Bright A_SpawnItemEx("ImpactSparkGreen", -2, random(-4,4), random(-4,4), random(-2,0), random(-1,1), random(-1,1), 0, 128, 64)
    Loop
  Death:
    HKBL CCCCCCCCC 0 Bright A_SpawnItemEx("ImpactSpark2Green", 0, random(-2,2), random(-2,2), random(-1,1), random(-1,1), random(-1,1), 0, 128, 64)
    HKBL CDE 6 Bright
    Stop
  }
}

actor ArachnotronPlasma2 : ArachnotronPlasma replaces ArachnotronPlasma
{
  Radius 10
  Decal ArachnotronScorch
  Damage (23)
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    APLS AAAAABBBBB 1 Bright A_SpawnItemEx("ImpactSparkBGreen", -2, random(-4,4), random(-4,4), random(-2,0), random(-1,1), random(-1,1), 0, 128, 64)
    Loop
  Death:
    APBX AAAAAAAAA 0 Bright A_SpawnItemEx("ImpactSpark2BGreen", 0, random(-2,2), random(-2,2), random(-1,1), random(-1,1), random(-1,1), 0, 128, 64)
    APBX ABCDE 5 Bright
    Stop
  }
}

actor DoomImpBall2 : DoomImpBall replaces DoomImpBall
{
  Decal DoomImpScorch
  Damage (14)
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    BAL1 AAAABBBB 1 Bright A_SpawnItemEx("ImpactSparkRed", -2, random(-4,4), random(-4,4), random(-2,0), random(-1,1), random(-1,1), 0, 128, 64)
    Loop
  Death:
    BAL1 CCCCCCCCC 0 Bright A_SpawnItemEx("ImpactSpark2Red", 0, random(-2,2), random(-2,2), random(-1,1), random(-1,1), random(-1,1), 0, 128, 64)
    BAL1 CDE 6 Bright
    Stop
  }
}

actor FatShot2 : FatShot replaces FatShot
{
  Decal Scorch
  Scale 0.9
  Damage (32)
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    MANF AAAABBBB 1 Bright A_SpawnItemEx("ImpactSparkRed", -2, random(-6,6), random(-6,6), random(-3,0), random(-2,2), random(-2,2), 0, 128, 64)
    Loop
  Death:
    MISL BBBBBBBBB 0 Bright A_SpawnItemEx("ImpactSpark2Red", 0, random(-3,3), random(-3,3), random(-1,1), random(-1,1), random(-1,1), 0, 128, 64)
    MISL B 8 Bright
    MISL C 6 Bright
    MISL D 4 Bright
    Stop
  }
}

actor RevenantTracer2 : RevenantTracer replaces RevenantTracer
{
  Decal RevenantScorch
  Damage (39)
  +FORCEXYBILLBOARD
}

actor CacodemonBall2 : CacodemonBall replaces CacodemonBall
{
  Decal CacoScorch
  Damage (23)
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    BAL2 AAAABBBB 1 Bright A_SpawnItemEx("ImpactSparkRed", -2, random(-4,4), random(-4,4), random(-2,0), random(-1,1), random(-1,1), 0, 128, 64)
    Loop
  Death:
    BAL2 CCCCCCCCC 0 Bright A_SpawnItemEx("ImpactSpark2Red", 0, random(-2,2), random(-2,2), random(-1,1), random(-1,1), random(-1,1), 0, 128, 64)
    BAL2 CDE 6 Bright
    Stop
  }
}

actor RevenantBulletPuff : MonsterBulletPuff
{
  damagetype "RevenantBall"
}

actor FragGrenadeDropped2 : FragGrenade
{
  speed 2
  damage 0
  PROJECTILE
  -NOGRAVITY
  +NOEXTREMEDEATH
  +FORCERADIUSDMG
  +CANBOUNCEWATER
  +BOUNCEONACTORS
  +ALLOWBOUNCEONACTORS
  +ROCKETTRAIL
  -NOTELEPORT
  +FORCEXYBILLBOARD
  Scale 0.25
  gravity 0.4
  bouncefactor 0.4
  wallbouncefactor 0.5
  ReactionTime 2
  bouncetype "hexen"
  bouncesound "grenade/lob"
  WallBounceSound "grenade/lobwall"
  damagetype "NormalExplode"
  ProjectileKickBack 35
  states
  {
  Spawn:
    FRGX A 5
    FRGX B 5 A_GiveInventory("M203Armed",1)
    FRGX CDEFG 5
    FRGX H 5 A_Countdown
    loop
  Death:
    TNT1 A 0
    TNT1 A 0 A_JumpIfInventory("M203Armed",1,"DeathArmed")
    TNT1 A 0 A_Explode(45,32,0)
    TNT1 A 0 A_Explode(30,96,0)
	TNT1 A 0 A_PlaySoundEx("generic/explosionsmall","SoundSlot5")
	TNT1 A 0 A_PlaySoundEx("distant/explosionsmall","SoundSlot6")
    TNT1 A 0 A_SpawnItemEx("ExplosionSmall",0,0,0,0,0,0,0,128,0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-16,16), random(-16,16), random(-8,12), random(-3,3), random(-3,3), random(-1,2), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15
    stop
  DeathArmed:
    TNT1 A 0
    TNT1 A 0 Radius_Quake(2,10,0,8,0)
    TNT1 A 0 A_SpawnItemEx("ExplosionMain",0,0,0,0,0,0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("FragGrenadeExplosion2",-1,0,0,0,0,0,0,0,0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-24,24), random(-24,24), random(-12,18), random(-4,4), random(-4,4), random(-2,3), 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-24,24), random(-24,24), random(-12,18), random(-4,4), random(-4,4), random(-2,3), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15
    stop
  }
}

actor FragGrenadeExplosion2
{
  RenderStyle None
  +NOCLIP
  PROJECTILE
  +NOTONAUTOMAP
  +FORCERADIUSDMG
  Speed 1
  Damage 0
  Scale 0.7
  Obituary "%o didn't see a zombie's grenade."
  DamageType "NormalExplode"
  ProjectileKickBack 35
  states
  {
  Spawn:
    TNT1 A 0
    TNT1 AA 0 A_Explode(30,170,0)
    TNT1 A 0 A_Explode(20,300,0)
    TNT1 A 15 A_Explode(20,300,0)
    stop
  }
}

actor FragGrenade_Zombie
{
  obituary "%o caught a zombie's hot potato."
  radius 5
  height 5
  speed 20
  damage (0)
  PROJECTILE
  -NOGRAVITY
  +NOEXTREMEDEATH
  +FORCERADIUSDMG
  +CANBOUNCEWATER
  +BOUNCEONACTORS
  +ALLOWBOUNCEONACTORS
  +ROCKETTRAIL
  -NOTELEPORT
  +FORCEXYBILLBOARD
  Scale 0.25
  gravity 0.4
  bouncefactor 0.4
  wallbouncefactor 0.5
  ReactionTime 2
  bouncetype "hexen"
  bouncesound "grenade/lob"
  WallBounceSound "grenade/lobwall"
  damagetype "NormalExplode"
  ProjectileKickBack 35
  states
  {
  Spawn:
    FRGX A 5
    FRGX B 5 A_GiveInventory("M203Armed",1)
    FRGX CDEFG 5
    FRGX H 5 A_Countdown
    loop
  Death:
    TNT1 A 0
    TNT1 A 0 A_JumpIfInventory("M203Armed",1,"DeathArmed")
    TNT1 A 0 A_Explode(45,32,0)
    TNT1 A 0 A_Explode(30,96,0)
	TNT1 A 0 A_PlaySoundEx("generic/explosionsmall","SoundSlot5")
	TNT1 A 0 A_PlaySoundEx("distant/explosionsmall","SoundSlot6")
    TNT1 A 0 A_SpawnItemEx("ExplosionSmall",0,0,0,0,0,0,0,128,0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-16,16), random(-16,16), random(-8,12), random(-3,3), random(-3,3), random(-1,2), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15
    stop
  DeathArmed:
    TNT1 A 0
    TNT1 A 0 Radius_Quake(2,10,0,8,0)
    TNT1 A 0 A_SpawnItemEx("ExplosionMain",0,0,0,0,0,0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("FragGrenadeExplosion2",-1,0,0,0,0,0,0,0,0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-24,24), random(-24,24), random(-12,18), random(-4,4), random(-4,4), random(-2,3), 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-24,24), random(-24,24), random(-12,18), random(-4,4), random(-4,4), random(-2,3), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15
    stop
  }
}