Classes:BFG9000

From ZDoom Wiki
Jump to: navigation, search
Note: Wait! Stop! Before you copy this actor's definition into your mod, remember the following things:
  1. You do not need to copy that actor, since it is already defined.
  2. In fact, it's not just useless, it's actually harmful as it can cause problems.
  3. If you want to modify it, or use a modified version, using inheritance is the way to go.
  4. The actor definitions here are put on the wiki for reference purpose only. Learn from them, don't copy them.
  5. There is only one exception: if what you want is changing Ammo capacity, you need to create a new type from Ammo.
BFG 9000
Actor type Weapon Game MiniDoomLogoIcon.png
DoomEd Number 2006 Class Name BFG9000
Spawn ID 31 Identifier T_BFG


Classes: InventoryWeaponDoomWeaponBFG9000


The BFG9000 is the deadliest and strongest weapon available in Doom. The weapon itself has a few effects not found in other weapons, such as the 40 hitscan tracers that fire out when the weapon hits a target, each doing 100 damage (cumulative with the damage from the projectile) to anything in the way. It uses 40 cell ammo per shot to function.

Note: The BFGBall class contains the obituary for the direct hit. For the tracers' obituary, you may add this line to the weapon's definition.

Obituary "$OB_MPBFG_SPLASH" // "%o couldn't hide from %k's BFG"

DECORATE definition

ACTOR BFG9000 : DoomWeapon
{
  Height 20
  Weapon.SelectionOrder 2800
  Weapon.AmmoUse 40
  Weapon.AmmoGive 40
  Weapon.AmmoType "Cell"
  +WEAPON.NOAUTOFIRE
  Inventory.PickupMessage "$GOTBFG9000"
  Tag "$TAG_BFG9000"
  States
  {
  Ready:
    BFGG A 1 A_WeaponReady
    Loop
  Deselect:
    BFGG A 1 A_Lower
    Loop
  Select:
    BFGG A 1 A_Raise
    Loop
  Fire:
    BFGG A 20 A_BFGSound
    BFGG B 10 A_GunFlash
    BFGG B 10 A_FireBFG
    BFGG B 20 A_ReFire
    Goto Ready
  Flash:
    BFGF A 11 Bright A_Light1
    BFGF B 6 Bright A_Light2
    Goto LightDone
  Spawn:
    BFUG A -1
    Stop
  OldFire:
    BFGG A 10 A_BFGSound
    BFGG BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 A_FireOldBFG
    BFGG B 0 A_Light0
    BFGG B 20 A_ReFire
    Goto Ready
  }
}