Gotweapon: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
Fox (talk | contribs)
No edit summary
Fox (talk | contribs)
No edit summary
 
Line 1: Line 1:
This is an array of values which specify whether the [[player]] has a certain weapon.
'''''gotweapon #''''' is an array that specify if player currently has a certain weapon. ''#'' Indicates the weapon ID.


  define KNEE_WEAPON        0
  define KNEE_WEAPON        0
Line 14: Line 14:
  define GROW_WEAPON        11
  define GROW_WEAPON        11


This is deprecated when it comes to HANDBOMB_WEAPON or TRIPBOMB_WEAPON.
When the player picks up the SHRINKER_WEAPON, he also gets the GROW_WEAPON. For the TRIPBOMB_WEAPON, this value is only used to indicate in the status bar if he ever possessed the weapon. For the HANDBOMB_WEAPON this is always true.
 
Note that internally the code uses a bitfield, but the structure interpret it as true/false for each weapon ID for easier access.
 
Example:


  appendevent EVENT_RESETWEAPONS
  appendevent EVENT_RESETWEAPONS

Latest revision as of 20:56, 19 February 2020

gotweapon # is an array that specify if player currently has a certain weapon. # Indicates the weapon ID.

define KNEE_WEAPON         0
define PISTOL_WEAPON       1
define SHOTGUN_WEAPON      2
define CHAINGUN_WEAPON     3
define RPG_WEAPON          4
define HANDBOMB_WEAPON     5
define SHRINKER_WEAPON     6
define DEVISTATOR_WEAPON   7
define TRIPBOMB_WEAPON     8
define FREEZE_WEAPON       9
define HANDREMOTE_WEAPON   10
define GROW_WEAPON         11

When the player picks up the SHRINKER_WEAPON, he also gets the GROW_WEAPON. For the TRIPBOMB_WEAPON, this value is only used to indicate in the status bar if he ever possessed the weapon. For the HANDBOMB_WEAPON this is always true.

Note that internally the code uses a bitfield, but the structure interpret it as true/false for each weapon ID for easier access.

Example:

appendevent EVENT_RESETWEAPONS
  // remove the player's pistol if they spawned on E1L1
  ifvare VOLUME 0
    ifvare LEVEL 0
    {
      setplayer[THISACTOR].gotweapon PISTOL_WEAPON 0
      setplayer[THISACTOR].ammo_amount PISTOL_WEAPON 0
    }
endevent