Classes:Blaster

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.
Dragon claw
Actor type Weapon Game MiniHereticLogoIcon.png (Heretic)
DoomEd Number 53 Class Name Blaster
Spawn ID 28 Identifier T_BLASTER


Classes: InventoryWeaponHereticWeaponBlaster  →BlasterPowered

Heretic's dragon claw. After a short warm-up period, this weapon rapidly fires electric hitscan shots.

ZScript definition

Note: The ZScript definition below is for reference and may be different in the current version of GZDoom.The most up-to-date version of this code can be found on GZDoom GitHub.
class Blaster : HereticWeapon
{
	Default
	{
		+BLOODSPLATTER
		Weapon.SelectionOrder 500;
		Weapon.AmmoUse 1;
		Weapon.AmmoGive 30;
		Weapon.YAdjust 15;
		Weapon.AmmoType "BlasterAmmo";
		Weapon.SisterWeapon "BlasterPowered";
		Inventory.PickupMessage "$TXT_WPNBLASTER";
		Tag "$TAG_BLASTER";
		Obituary "$OB_MPBLASTER";
	}

	States
	{
	Spawn:
		WBLS A -1;
		Stop;
	Ready:
		BLSR A 1 A_WeaponReady;
		Loop;
	Deselect:
		BLSR A 1 A_Lower;
		Loop;
	Select:
		BLSR A 1 A_Raise;
		Loop;
	Fire:
		BLSR BC 3;
	Hold:
		BLSR D 2 A_FireBlasterPL1;
		BLSR CB 2;
		BLSR A 0 A_ReFire;
		Goto Ready;
	}

DECORATE definition

Nuvolabomb.png Warning: This is legacy code, kept for archival purposes only. DECORATE is deprecated in GZDoom and is completely superseded by ZScript. GZDoom internally uses the ZScript definition above.
ACTOR Blaster : HereticWeapon
{
  +BLOODSPLATTER
  Weapon.SelectionOrder 500
  Weapon.AmmoUse 1
  Weapon.AmmoGive 30
  Weapon.YAdjust 15
  Weapon.AmmoType "BlasterAmmo"
  Weapon.SisterWeapon "BlasterPowered"
  Inventory.PickupMessage "$TXT_WPNBLASTER"
  Tag "$TAG_BLASTER"
  Obituary "$OB_MPBLASTER"

  action native A_FireBlasterPL1();

  States
  {
  Spawn:
    WBLS A -1
    Stop
  Ready:
    BLSR A 1 A_WeaponReady
    Loop
  Deselect:
    BLSR A 1 A_Lower
    Loop
  Select:
    BLSR A 1 A_Raise
    Loop
  Fire:
    BLSR BC 3
  Hold:
    BLSR D 2 A_FireBlasterPL1
    BLSR CB 2
    BLSR A 0 A_ReFire
    Goto Ready
  }
}