Classes:ArmorBonus

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.
Armor bonus
Actor type Armor Game MiniDoomLogoIcon.png (Doom)
DoomEd Number 2015 Class Name ArmorBonus
Spawn ID 22 Identifier T_ARMORBONUS


Classes: InventoryArmorBasicArmorBonusArmorBonus

Armor bonuses add 1% of additional armor to the player, up to 200%. If the player already had armor left, the protection percent is unchanged. Otherwise, the player is granted 33% protection (same as the Green Armor).

Like all items of this type, this is based on the BasicArmorBonus class, which is a special type of armor pickup that adds to the current armor without overriding its values (such as damage absorption percentage).

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 ArmorBonus : BasicArmorBonus
{
	Default
	{
		Radius 20;
		Height 16;
		Inventory.Pickupmessage "$GOTARMBONUS";
		Inventory.Icon "BON2A0";
		Armor.Savepercent 33.335;
		Armor.Saveamount 1;
		Armor.Maxsaveamount 200;
		+COUNTITEM
		+INVENTORY.ALWAYSPICKUP
	}
	States
	{
	Spawn:
		BON2 ABCDCB 6;
		loop;
	}
}

DECORATE definition

Note: 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 ArmorBonus : BasicArmorBonus
{
  Radius 20
  Height 16
  Inventory.PickupMessage "$GOTARMBONUS" // "Picked up an armor bonus."
  Inventory.Icon "ARM1A0"
  Armor.SavePercent 33.335
  Armor.SaveAmount 1
  Armor.MaxSaveAmount 200
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
    BON2 ABCDCB 6
    Loop
  }
}