]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/common/items.qh
mapinfo: do an explicit heapsort for the mapinfo list, to fix problems with "-" in...
[divverent/nexuiz.git] / data / qcsrc / common / items.qh
1 // Weapon indexes
2 // %weaponaddpoint
3 float WEP_FIRST                         =  1;
4 float WEP_LASER                         =  1; float WEPBIT_LASER                        = 1; // always: 2^(w-1)
5 float WEP_SHOTGUN                       =  2; float WEPBIT_SHOTGUN                      = 2;
6 float WEP_UZI                           =  3; float WEPBIT_UZI                          = 4;
7 float WEP_GRENADE_LAUNCHER      =  4; float WEPBIT_GRENADE_LAUNCHER     = 8;
8 float WEP_ELECTRO                       =  5; float WEPBIT_ELECTRO                      = 16;
9 float WEP_CRYLINK                       =  6; float WEPBIT_CRYLINK                      = 32;
10 float WEP_NEX                           =  7; float WEPBIT_NEX                          = 64;
11 float WEP_HAGAR                         =  8; float WEPBIT_HAGAR                        = 128;
12 float WEP_ROCKET_LAUNCHER       =  9; float WEPBIT_ROCKET_LAUNCHER      = 256;
13 float WEP_PORTO                         = 10; float WEPBIT_PORTO                        = 512;
14 float WEP_MINSTANEX                     = 11; float WEPBIT_MINSTANEX            = 1024;
15 float WEP_HOOK                          = 12; float WEPBIT_HOOK                 = 2048;
16 float WEP_HLAC                      = 13; float WEPBIT_HLAC                     = 4096;
17 float WEP_SEEKER                        = 14; float WEPBIT_SEEKER                   = 8192;
18 float WEP_CAMPINGRIFLE      = 15; float WEPBIT_CAMPINGRIFLE     = 16384;
19 float WEP_LAST                          = 15; float WEPBIT_ALL              = 32767;
20 float WEP_COUNT             = 16;
21
22 float BOT_PICKUP_RATING_LOW     = 2500;
23 float BOT_PICKUP_RATING_MID     = 5000;
24 float BOT_PICKUP_RATING_HIGH    = 10000;
25
26 float   IT_UNLIMITED_WEAPON_AMMO  = 1;
27 // when this bit is set, using a weapon does not reduce ammo. Checkpoints can give this powerup.
28 float   IT_UNLIMITED_SUPERWEAPONS = 2;
29 // when this bit is set, using a superweapon does not throw it away. Checkpoints can give this powerup.
30 float   IT_CTF_SHIELDED           = 4; // set for the flag shield
31 // using jetpack
32 float   IT_USING_JETPACK          = 8; // confirmation that button is pressed
33 float   IT_JETPACK                = 16; // actual item
34 float   IT_FUEL_REGEN             = 32; // fuel regeneration trigger
35 float   IT_SHELLS                               = 256;
36 float   IT_NAILS                                = 512;
37 float   IT_ROCKETS                              = 1024;
38 float   IT_CELLS                                = 2048;
39 float   IT_SUPERWEAPON                  = 4096;
40 float   IT_FUEL                                 = 128;
41 float   IT_STRENGTH                             = 8192;
42 float   IT_INVINCIBLE                   = 16384;
43 float   IT_HEALTH                               = 32768;
44 // union:
45         // for items:
46         float   IT_KEY1                                 = 131072;
47         float   IT_KEY2                                 = 262144;
48         // for players:
49         float   IT_RED_FLAG_TAKEN               = 32768;
50         float   IT_RED_FLAG_LOST                = 65536;
51         float   IT_RED_FLAG_CARRING             = 98304;
52         float   IT_BLUE_FLAG_TAKEN              = 131072;
53         float   IT_BLUE_FLAG_LOST               = 262144;
54         float   IT_BLUE_FLAG_CARRING    = 393216;
55 // end
56 float   IT_5HP                                  = 524288;
57 float   IT_25HP                                 = 1048576;
58 float   IT_ARMOR_SHARD                  = 2097152;
59 float   IT_ARMOR                                = 4194304;
60
61 float   IT_AMMO                                 = 8064; // IT_SHELLS | IT_NAILS | IT_ROCKETS | IT_CELLS | IT_SUPERWEAPON | IT_FUEL;
62 float   IT_PICKUPMASK           = 51; // IT_FUEL_REGEN | IT_JETPACK | IT_UNLIMITED_AMMO; // strength and invincible are handled separately
63 float   IT_UNLIMITED_AMMO       = 3; // IT_UNLIMITED_SUPERWEAPONS | IT_UNLIMITED_WEAPON_AMMO;
64
65 // variables:
66 string weaponpriority_hudselector_0;
67 string weaponpriority_hudselector_1;
68
69 // functions:
70 entity get_weaponinfo(float id);
71 string W_FixWeaponOrder(string order, float complete);
72 void RegisterWeapons();
73
74 #define WEPSPAWNFLAG_NORMAL 1
75 #define WEPSPAWNFLAG_CANCLIMB 2
76
77 // entity properties of weaponinfo:
78 .float weapon; // WEP_...
79 .float weapons; // WEPBIT_...
80 .string netname; // short name
81 .string message; // human readable name
82 .float items; // IT_...
83 .float(float) weapon_func; // w_...
84 .string mdl; // modelname without g_, v_, w_
85 .string model; // full name of g_ model
86 .float spawnflags; // WEPSPAWNFLAG_... combined
87 .float impulse; // weapon impulse
88 .float bot_pickupbasevalue; // bot weapon priority
89 .string model2; // wpn- sprite name