Classes:Sigil

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.
The Sigil
Actor type Weapon Game MiniStrifeLogoIcon.png
DoomEd Number None Class Name Sigil


Classes: WeaponSigil
 →Sigil1
 →Sigil2
 →Sigil3
 →Sigil4
 →Sigil5
The Sigil of the One God is a sentient weapon, worshiped by the Order. This weapon is upgradeable by finding the other pieces. It uses the player's health as ammo.

This uses a lot of Strife-specific functions to decide what sprite to display and what action to do, things that are easier and more flexible to accomplish using A_Jump and other ZDoom functions, so use this code as a point of reference only.

DECORATE definition

ACTOR Sigil : Weapon native
{
  Weapon.Kickback 100
  Weapon.SelectionOrder 4000
  Health 1
  +FLOORCLIP
  +WEAPON.CHEATNOTWEAPON
  Inventory.PickupSound "weapons/sigilcharge"
  Tag "$TAG_SIGIL" // "SIGIL"
  Inventory.Icon "I_SGL1"
  Inventory.PickupMessage "$TXT_SIGIL" // "You picked up the SIGIL."

  action native A_SelectPiece();
  action native A_SelectSigilView();
  action native A_SelectSigilDown();
  action native A_SelectSigilAttack();
  action native A_SigilCharge();
  action native A_FireSigil1();
  action native A_FireSigil2();
  action native A_FireSigil3();
  action native A_FireSigil4();
  action native A_FireSigil5();

  States
  {
  Spawn:
    SIGL A 1
    SIGL A -1 A_SelectPiece
    Stop
    SIGL B -1
    Stop
    SIGL C -1
    Stop
    SIGL D -1
    Stop
    SIGL E -1
    Stop
  Ready:
    SIGH A 0 Bright A_SelectSigilView
    Wait
    SIGH A 1 Bright A_WeaponReady
    Wait
    SIGH B 1 Bright A_WeaponReady
    Wait
    SIGH C 1 Bright A_WeaponReady
    Wait
    SIGH D 1 Bright A_WeaponReady
    Wait
    SIGH E 1 Bright A_WeaponReady
    Wait
  Deselect:
    SIGH A 1 Bright A_SelectSigilDown
    Wait
    SIGH A 1 Bright A_Lower
    Wait
    SIGH B 1 Bright A_Lower
    Wait
    SIGH C 1 Bright A_Lower
    Wait
    SIGH D 1 Bright A_Lower
    Wait
    SIGH E 1 Bright A_Lower
    Wait
  Select:
    SIGH A 1 Bright A_SelectSigilView
    Wait
    SIGH A 1 Bright A_Raise
    Wait
    SIGH B 1 Bright A_Raise
    Wait
    SIGH C 1 Bright A_Raise
    Wait
    SIGH D 1 Bright A_Raise
    Wait
    SIGH E 1 Bright A_Raise
    Wait
  Fire:
    SIGH A 0 Bright A_SelectSigilAttack
    // Sigil1 attack
    SIGH A 18 Bright A_SigilCharge
    SIGH A 3 Bright A_GunFlash
    SIGH A 10 A_FireSigil1
    SIGH A 5
    Goto Ready
    // Sigil2 attack
    SIGH B 18 Bright A_SigilCharge
    SIGH B 3 Bright A_GunFlash
    SIGH B 10 A_FireSigil2
    SIGH B 5
    Goto Ready
    // Sigil3 attack
    SIGH C 18 Bright A_SigilCharge
    SIGH C 3 Bright A_GunFlash
    SIGH C 10 A_FireSigil3
    SIGH C 5
    Goto Ready
    // Sigil4 attack
    SIGH D 18 Bright A_SigilCharge
    SIGH D 3 Bright A_GunFlash
    SIGH D 10 A_FireSigil4
    SIGH D 5
    Goto Ready
    // Sigil5 attack
    SIGH E 18 Bright A_SigilCharge
    SIGH E 3 Bright A_GunFlash
    SIGH E 10 A_FireSigil5
    SIGH E 5
    Goto Ready
  Flash:
    SIGF A 4 Bright A_Light2
    SIGF B 6 Bright A_LightInverse
    SIGF C 4 Bright A_Light1
    SIGF C 0 Bright A_Light0
    Stop
  }
}