Classes:Mace

From ZDoom Wiki
Jump to navigation Jump to search
Note: Wait! Stop! You do not need to copy this actor's code into your project! Here's why:
  1. This actor is already defined in GZDoom, there's no reason to define it again.
  2. In fact, trying to define an actor with the same name will cause an error (because it already exists).
  3. If you want to make your own version of this actor, use inheritance.
  4. Definitions for existing actors are put on the wiki for reference purpose only.
Firemace
Actor type Weapon Game MiniHereticLogoIcon.png (Heretic)
DoomEd Number None Class Name Mace
Spawn ID 31 Identifier T_MACE


Classes: InventoryWeaponHereticWeaponMace
 →MacePowered

The firemace is Heretic's ultimate weapon, and may seem a bit disappointing as long as it isn't coupled with a tome of power. It fires a rapid stream of spheres which produce other spheres when bouncing on the ground. While its rate of fire is good, its projectiles are slow and have a limited range, and they harmlessly pass through enemies with the GHOST flag, or protected by a shadowsphere.

Contrarily to most other weapons, it cannot be placed directly on a map; instead one or several MaceSpawner things are placed, and there is a ~75% chance that a firemace will appear on a randomly-selected MaceSpawner.

DECORATE definition

ACTOR Mace : HereticWeapon
{
  Weapon.SelectionOrder 1400
  Weapon.AmmoUse 1
  Weapon.AmmoGive1 50
  Weapon.YAdjust 15
  Weapon.AmmoType "MaceAmmo"
  Weapon.SisterWeapon "MacePowered"
  Inventory.PickupMessage "$TXT_WPNMACE"
  Tag "$TAG_MACE"

  action native A_FireMacePL1();

  States
  {
  Spawn:
    WMCE A -1
    Stop
  Ready:
    MACE A 1 A_WeaponReady
    Loop
  Deselect:
    MACE A 1 A_Lower
    Loop
  Select:
    MACE A 1 A_Raise
    Loop
  Fire:
    MACE B 4
  Hold:
    MACE CDEF 3 A_FireMacePL1
    MACE C 4 A_ReFire
    MACE DEFB 4
    Goto Ready
  }
}