/////////////////////////////////////////
//    FLAME BARREL (EXPLOSIVEBARREL)   //
/////////////////////////////////////////

Actor FlameBarrel 30618
{
//$Category MM8BDM-Monsters (Doom)
//$Title Flame Barrel (ExplosiveBarrel)
//$Sprite FBRLA0
//$NotAngled
Tag "Flame Barrel"
Translation "4:4=4:4", "198:198=42:42", "226:226=210:210"
Species "BarrelMonster"
BloodType "MonsterRipperProtect_Helper"
//+NOBLOOD
+SOLID
+SHOOTABLE
+FLOORCLIP
+ACTIVATEMCROSS
+DONTGIB
+NOICEDEATH
+OLDRADIUSDMG
Health 20
Radius 10
Height 42
DamageType "Dummy"
DeathSound "monster/barreldeath"
Obituary "$OB_BARREL"
Scale 2.25
States
{
Spawn:
FBRL A 0 NoDelay ACS_NamedExecuteAlways("Monster_PassivePain",0)
TNT1 A 0 A_Jump(128,2)
TNT1 A 0 A_SetScale(-ScaleX,ScaleY)
FBRL A 10
Wait

Death.Dummy: 
// Fixes the issue where chaining together barrel explosions doesn't award frags to the original exploder if a player gets fragged
TNT1 A 0 A_RearrangePointers(AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_DEFAULT)
TNT1 A 0 A_TransferPointer(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_TARGET)
Death:
FBRL A 0 A_PlaySoundEx("weapon/chillblockcrack","Body")
FBRL A 0 A_PlaySoundEx("monster/hitconfirm","Weapon")
FBRL BCBCB 2
FBRL BCBC 1
FBRL D 0 A_Scream
FBRL D 0 A_PlaySound("monster/barrelflash",CHAN_BODY,0.75)
FBRL D 0 A_SpawnItemEx("FlameBarrelKnockbackRadius")
FBRL D 1 A_SetDamageType("Barrel")
FBRL D 0 A_Explode(128,-1,1,0,0)
FBRL GHIJKLMNOPQRSTUV 1
TNT1 A 0 A_BarrelDestroy
TNT1 A 1046
TNT1 A 5 A_Respawn
Wait
}
}

Actor FlameBarrelKnockbackRadius 
// Because 8BDM completely cucked any sort of natural knockback
{
+MISSILE
-SOLID
+HITTRACER
+DONTBLAST
+NOGRAVITY
+RIPPER
+SKYEXPLODE
+NOINTERACTION
+DONTSPLASH
+THRUGHOST
+THRUACTORS
+DONTREFLECT
+OLDRADIUSDMG
DamageType "Dummy"
States
{
Spawn:
TNT1 A 1 NoDelay A_Explode(256,128,0,0,0)
stop
}
}

Actor FlameBarrel_Replaced : FlameBarrel replaces ExplosiveBarrel {}