-// =====================
-// Weapon Registration
-// =====================
-
-bool w_null(int) { return false; }
-
-/** fields which are explicitly/manually set are marked with "M", fields set automatically are marked with "A" */
-CLASS(Weapon, Object)
- ATTRIB(Weapon, m_id, int, 0)
- /**
- * M: WEP_id : WEP_...
- * you can recognize dummies when this == 0
- */
- ATTRIB(Weapon, weapon, int, 0);
- /** A: WEPSET_id : WEPSET_... */
- ATTRIB(Weapon, weapons, WepSet, '0 0 0');
- /** M: function : w_... */
- ATTRIB(Weapon, weapon_func, bool(int), w_null);
- /** M: ammotype : main ammo field */
- ATTRIB(Weapon, ammo_field, .int, ammo_none);
- /** M: impulse : weapon impulse */
- ATTRIB(Weapon, impulse, int, -1);
- /** M: flags : WEPSPAWNFLAG_... combined */
- ATTRIB(Weapon, spawnflags, int, 0);
- /** M: rating : bot weapon priority */
- ATTRIB(Weapon, bot_pickupbasevalue, float, 0);
- /** M: color : waypointsprite color */
- ATTRIB(Weapon, wpcolor, vector, '0 0 0');
- /** A: wpn-id : wpn- sprite name */
- ATTRIB(Weapon, wpmodel, string, "");
- /** M: modelname : name of model (without g_ v_ or h_ prefixes) */
- ATTRIB(Weapon, mdl, string, "");
- /** A: modelname : full path to g_ model */
- ATTRIB(Weapon, model, string, "");
- /** M: simplemdl : simpleitems weapon model/image */
- ATTRIB(Weapon, w_simplemdl, string, "foobar");
- /** M: crosshair : per-weapon crosshair: "CrosshairImage Size" */
- ATTRIB(Weapon, w_crosshair, string, "gfx/crosshair1");
- /** A: crosshair : per-weapon crosshair size (argument two of "crosshair" field) */
- ATTRIB(Weapon, w_crosshair_size, float, 1);
- /** M: wepimg : "weaponfoobar" side view image file of weapon. WEAPONTODO: Move out of skin files, move to common files */
- ATTRIB(Weapon, model2, string, "");
- /** M: refname : reference name name */
- ATTRIB(Weapon, netname, string, "");
- /** M: wepname : human readable name */
- ATTRIB(Weapon, message, string, "AOL CD Thrower");