#define SPAWNFUNC_WEAPON(name, weapon) \
spawnfunc(name) { weapon_defaultspawnfunc(this, weapon); }
+#define SPAWNFUNC_WEAPON_COND(name, cond, wep1, wep2) \
+ spawnfunc(name) \
+ { \
+ entity wep = (cond) ? wep1 : wep2; \
+ weapon_defaultspawnfunc(this, wep); \
+ }
+
#else
#define SPAWNFUNC_WEAPON(name, weapon)
const int WEP_FLAG_PENETRATEWALLS = BIT(13); // weapon has high calibur bullets that can penetrate thick walls (WEAPONTODO)
const int WEP_FLAG_BLEED = BIT(14); // weapon pierces and causes bleeding (used for damage effects)
const int WEP_FLAG_NOTRUEAIM = BIT(15); // weapon doesn't aim directly at targets
+const int WEP_FLAG_SPECIALATTACK = BIT(16); // marked as a special attack (not a true weapon), hidden from most weapon lists
// variables:
string weaponorder_byid;
string GetAmmoPicture(int ammotype);
+string GetAmmoName(int ammotype);
+
#ifdef CSQC
int GetAmmoTypeFromNum(int i);
int GetAmmoStat(int ammotype);