actor BallisticBomberWep_NormalBar : NormalBar{args 219, 78}
actor BallisticBomberWep : BaseMM8BDMWep
{
Weapon.AmmoUse 4
Weapon.AmmoGive 28
Weapon.SlotNumber 5
Inventory.Pickupmessage "$PU_BALLISTICBOMBER"
Obituary "$OB_BALLISTICBOMBRE"
Tag "$TAG_BALLISTICBOMBER"
weapon.ammotype "BallisticBomberAmmo"
inventory.icon "BSTCICON"
States
{
SpawnLoop:
BSTC Z 1
loop
Ready:
BSTC A 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_BALLISTICBOMBER)
BSTC A 1 A_WeaponReady
Goto Ready+1
ReadyC: Goto Ready+1
Deselect:
BSTC A 0 
goto DeselectSwap
Select:
BSTC A 0 
goto SelectSwap
Fire:
BSTC A 0 A_JumpIfNoAmmo("NoAmmo")
BSTC A 0
BSTC A 0 A_PlaySoundEx("weapons/mm5/napalmbombfire","Weapon")
BSTC B 2 A_FireCustomMissile("BallisticBomber",0,1,8,0)
BSTC CDE 2
BSTC FGH 3
BSTC A 3
Goto Ready+1
NoAmmo:
BSTC A 0 ACS_NamedExecuteAlways("core_noammo",0)
Goto Ready+1
}
}

actor BallisticBomberAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor BallisticBomber : BasicProjectile
{
+BRIGHT
PROJECTILE
Obituary "$OB_BALLISTICBOMBER"
Damagetype "BallisticBomber"
-NOGRAVITY
+HEXENBOUNCE
+CANBOUNCEWATER
+USEBOUNCESTATE
Bouncefactor 2
reactiontime 5
Wallbouncefactor 2
Damage (CallACS("vile_cbm_damage",10))
Radius 18
Height 18
Speed 21
Scale 2.5
States
{
Spawn:
BST1 A 0
BST1 A 0 ThrustThingZ(0,16,0,1)
goto Spawn1
Spawn1:
BST1 A 2
Goto Spawn1
Bounce:
TNT1 A 0 A_SpawnItemEx("ExplosionEffect1",0,0,8,0,0,0,0,SXF_WEPFXCOLOR)
TNT1 A 0 A_PlaySoundEx("weapons/mm7/dangerwrapexplode", "Weapon")
TNT1 D 0 A_Explode(CallACS("vile_cbm_damage",25), 96,0)
TNT1 E 0 A_SpawnItemEx("BallisticBomber2",0,0,0,momx,momy,momz,0,8)
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 2
stop
Death:
NAPA D 0 A_ChangeFlag("NOGRAVITY",1)
NAPA D 0 A_ChangeFlag("NOINTERACTION",1)
NAPA D 0 A_ChangeFlag("USEBOUNCESTATE",0)
NAPA D 0 A_Stop
NAPA A 0 A_PlaySoundEx("weapon/napalm", "Weapon")
NAPA A 0 A_PlaySoundEx("weapons/mm4/drillbombexplode", "Weapon")
TNT1 A 0 A_SpawnItemEx("ExplosionEffect3",0,0,8,0,0,0,0,SXF_WEPFXCOLOR)
NAPA D 0 A_Explode(CallACS("vile_cbm_damage",25), 128,0)
TNT1 A 2
stop
}
}

actor BallisticBomber2 : BallisticBomber
{
States
{
Spawn:
BST1 A 0
BST1 A 0 ThrustThingZ(0,2,0,1)
goto Spawn1
Spawn1:
BST1 A 0 ThrustThingZ(0,1,0,1)
BST2 A 2
Goto Spawn1+1
Bounce:
BST1 A 0 A_Countdown //just in case
Explode2:
TNT1 A 0 A_SpawnItemEx("ExplosionEffect2",0,0,8,0,0,0,0,SXF_WEPFXCOLOR)
NAPA A 0 A_PlaySoundEx("weapons/mm5/napalmbombexplode", "Weapon")
NAPA D 0 A_Explode(CallACS("vile_cbm_damage",40), 128,0)
TNT1 E 0 A_SpawnItemEx("BallisticBomber3",0,0,0,momx,momy,momz,0,8)
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 2
stop
Death:
NAPA D 0 A_ChangeFlag("NOGRAVITY",1)
NAPA D 0 A_ChangeFlag("NOINTERACTION",1)
NAPA D 0 A_ChangeFlag("USEBOUNCESTATE",0)
NAPA D 0 A_Stop
NAPA A 0 A_PlaySoundEx("weapons/mm5/napalmbombexplode", "Weapon")
TNT1 A 0 A_SpawnItemEx("ExplosionEffect2",0,0,8,0,0,0,0,SXF_WEPFXCOLOR)
NAPA D 0 A_Explode(CallACS("vile_cbm_damage",44), 128,0)
TNT1 A 2
stop
}
}

actor BallisticBomber3 : BallisticBomber
{
-HEXENBOUNCE
States
{
Spawn:
BST1 A 0
BST1 A 0 ThrustThingZ(0,4,0,1)
goto Spawn1
Spawn1:
BST1 A 0 ThrustThingZ(0,2,0,1)
BST3 ABCD 2
Goto Spawn1+1
Death: //Death3
NAPA D 0 A_ChangeFlag("NOGRAVITY",1)
NAPA D 0 A_ChangeFlag("NOINTERACTION",1)
NAPA D 0 A_ChangeFlag("USEBOUNCESTATE",0)
NAPA D 0 A_Stop
NAPA A 0 A_PlaySoundEx("weapon/napalm", "Weapon")
NAPA A 0 A_PlaySoundEx("weapons/mm4/drillbombexplode", "Weapon")
TNT1 A 0 A_SpawnItemEx("ExplosionEffect3",0,0,8,0,0,0,0,SXF_WEPFXCOLOR)
NAPA D 0 A_Explode(CallACS("vile_cbm_damage",75), 128,0)
TNT1 A 2
stop
}
}