/** A: crosshair : per-weapon crosshair size (argument two of "crosshair" field) */
ATTRIB(Weapon, w_crosshair_size, float, 1);
/** A: reticle : per-weapon zoom reticle */
- ATTRIB(Weapon, w_reticle, string, "");
+ ATTRIB(Weapon, w_reticle, string, string_null);
/** 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 */
const int WEP_TYPE_MELEE_PRI = 0x400; // primary attack is melee swing (for animation)
const int WEP_TYPE_MELEE_SEC = 0x800; // secondary attack is melee swing (for animation)
const int WEP_FLAG_DUALWIELD = 0x1000; // weapon can be dual wielded
+const int WEP_FLAG_NODUAL = 0x2000; // weapon doesn't work well with dual wielding (fireball etc just explode on fire), doesn't currently prevent anything
// variables:
string weaponorder_byid;
string W_FixWeaponOrder_BuildImpulseList(string o);
string W_FixWeaponOrder_AllowIncomplete(entity this, string order);
string W_FixWeaponOrder_ForceComplete(string order);
-void W_RandomWeapons(entity e, float n);
+void W_RandomWeapons(entity e, int n);
string GetAmmoPicture(.int ammotype);