.float ammo_rockets;
.float ammo_cells;
.float ammo_fuel;
-.float ammo_batteries; // dummy
+.float ammo_none;
+.float ammo_broken; // dummy
// entity properties of weaponinfo:
.float weapon; // WEP_...
.float impulse; // weapon impulse
.float bot_pickupbasevalue; // bot weapon priority
.string model2; // wpn- sprite name
-..float ammo_field; // main ammo field
+..float current_ammo; // main ammo field
// other useful macros
#define WEP_ACTION(wpn,wrequest) (get_weaponinfo(wpn)).weapon_func(wrequest)
// =====================
// create cvars for weapon settings
-#define WEP_ADD_CVAR_MO_PRI(wepname,name) final float autocvar_g_balance_##wepname##_primary_##name;
-#define WEP_ADD_CVAR_MO_SEC(wepname,name) final float autocvar_g_balance_##wepname##_secondary_##name;
-#define WEP_ADD_CVAR_MO_BOTH(wepname,name) \
+#define WEP_ADD_CVAR_PRI(wepname,name) final float autocvar_g_balance_##wepname##_primary_##name;
+#define WEP_ADD_CVAR_SEC(wepname,name) final float autocvar_g_balance_##wepname##_secondary_##name;
+#define WEP_ADD_CVAR_BOTH(wepname,name) \
final float autocvar_g_balance_##wepname##_primary_##name; \
final float autocvar_g_balance_##wepname##_secondary_##name;
-#define WEP_ADD_CVAR_MO_NONE(wepname,name) final float autocvar_g_balance_##wepname##_##name;
+#define WEP_ADD_CVAR_NONE(wepname,name) final float autocvar_g_balance_##wepname##_##name;
#define WEP_ADD_CVAR(wepid,wepname,mode,name) WEP_ADD_CVAR_##mode(wepname, name)
// create properties for weapon settings
// set initialization values for weapon settings
#define WEP_SKIPCVAR(unuseda,unusedb,unusedc,unusedd) /* skip cvars */
-#define WEP_SET_PROP(wepid,wepname,type,prop,name) get_weaponinfo(##wepid).##prop = autocvar_g_balance_##wepname##_##name;
+#define WEP_SET_PROP(wepid,wepname,type,prop,name) get_weaponinfo(WEP_##wepid).##prop = autocvar_g_balance_##wepname##_##name;
float w_null(float dummy);
-void register_weapon(float id, WepSet bit, float(float) func, float ammotype, float i, float weapontype, float pickupbasevalue, string modelname, string shortname, string wname);
+void register_weapon(float id, WepSet bit, float(float) func, .float ammotype, float i, float weapontype, float pickupbasevalue, string modelname, string shortname, string wname);
void register_weapons_done();
// note: the fabs call is just there to hide "if result is constant" warning