]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/weapons/w_nex.qc
Begin fixing ammo field usage
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / w_nex.qc
index 26c951064802282277725fd33314e622dd607648..9c0dfbbe8b2b9e41da80c2c54cf848dedd4b4ba3 100644 (file)
@@ -2,48 +2,52 @@
 REGISTER_WEAPON(
 /* WEP_##id */ NEX,
 /* function */ w_nex,
-/* ammotype */ IT_CELLS,
+/* ammotype */ ammo_cells,
 /* impulse  */ 7,
 /* flags    */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN,
 /* rating   */ BOT_PICKUP_RATING_HIGH,
 /* model    */ "nex",
 /* netname  */ "nex",
-/* fullname */ _("Nex")
+/* fullname */ _("Vortex")
 );
 
-#define NEX_SETTINGS(weapon) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, ammo) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, animtime) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, damage) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, force) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, damagefalloff_mindist) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, damagefalloff_maxdist) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, damagefalloff_halflife) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, damagefalloff_forcehalflife) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, refire) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_mindmg) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_shot_multiplier) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_animlimit) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_limit) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_rate) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_rot_rate) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_rot_pause) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_start) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_minspeed) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_maxspeed) \
-       WEP_ADD_CVAR(weapon, MO_NONE, charge_velocity_rate) \
-       WEP_ADD_CVAR(weapon, MO_NONE, secondary) \
-       WEP_ADD_CVAR(weapon, MO_SEC,  chargepool) \
-       WEP_ADD_CVAR(weapon, MO_SEC,  chargepool_regen) \
-       WEP_ADD_CVAR(weapon, MO_SEC,  chargepool_pause_regen) \
-       WEP_ADD_PROP(weapon, reloading_ammo, reload_ammo) \
-       WEP_ADD_PROP(weapon, reloading_time, reload_time) \
-       WEP_ADD_PROP(weapon, switchdelay_raise, switchdelay_raise) \
-       WEP_ADD_PROP(weapon, switchdelay_drop, switchdelay_drop)
+#define NEX_SETTINGS(w_cvar,w_prop) NEX_SETTINGS_LIST(w_cvar, w_prop, NEX, nex)
+#define NEX_SETTINGS_LIST(w_cvar,w_prop,id,sn) \
+       w_cvar(id, sn, MO_BOTH, ammo) \
+       w_cvar(id, sn, MO_BOTH, animtime) \
+       w_cvar(id, sn, MO_BOTH, damage) \
+       w_cvar(id, sn, MO_BOTH, force) \
+       w_cvar(id, sn, MO_BOTH, damagefalloff_mindist) \
+       w_cvar(id, sn, MO_BOTH, damagefalloff_maxdist) \
+       w_cvar(id, sn, MO_BOTH, damagefalloff_halflife) \
+       w_cvar(id, sn, MO_BOTH, damagefalloff_forcehalflife) \
+       w_cvar(id, sn, MO_BOTH, refire) \
+       w_cvar(id, sn, MO_NONE, charge) \
+       w_cvar(id, sn, MO_NONE, charge_mindmg) \
+       w_cvar(id, sn, MO_NONE, charge_shot_multiplier) \
+       w_cvar(id, sn, MO_NONE, charge_animlimit) \
+       w_cvar(id, sn, MO_NONE, charge_limit) \
+       w_cvar(id, sn, MO_NONE, charge_rate) \
+       w_cvar(id, sn, MO_NONE, charge_rot_rate) \
+       w_cvar(id, sn, MO_NONE, charge_rot_pause) \
+       w_cvar(id, sn, MO_NONE, charge_start) \
+       w_cvar(id, sn, MO_NONE, charge_minspeed) \
+       w_cvar(id, sn, MO_NONE, charge_maxspeed) \
+       w_cvar(id, sn, MO_NONE, charge_velocity_rate) \
+       w_cvar(id, sn, MO_NONE, secondary) \
+       w_cvar(id, sn, MO_SEC,  chargepool) \
+       w_cvar(id, sn, MO_SEC,  chargepool_regen) \
+       w_cvar(id, sn, MO_SEC,  chargepool_pause_regen) \
+       w_prop(id, sn, float,  reloading_ammo, reload_ammo) \
+       w_prop(id, sn, float,  reloading_time, reload_time) \
+       w_prop(id, sn, float,  switchdelay_raise, switchdelay_raise) \
+       w_prop(id, sn, float,  switchdelay_drop, switchdelay_drop) \
+       w_prop(id, sn, string, weaponreplace, weaponreplace) \
+       w_prop(id, sn, float,  weaponstart, weaponstart) \
+       w_prop(id, sn, float,  weaponstartoverride, weaponstartoverride)
 
 #ifdef SVQC
-NEX_SETTINGS(nex)
+NEX_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
 #endif
 #else
 #ifdef SVQC
@@ -183,7 +187,7 @@ float w_nex(float req)
                                                                if(self.BUTTON_ATCK2) // only eat ammo when the button is pressed
                                                                {
                                                                        dt = min(dt, (1 - self.nex_charge) / WEP_CVAR(nex, charge_rate));
-                                                                       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+                                                                       if(!(self.items & IT_UNLIMITED_WEAPON_AMMO))
                                                                        {
                                                                                // if this weapon is reloadable, decrease its load. Else decrease the player's ammo
                                                                                if(autocvar_g_balance_nex_reload_ammo)
@@ -241,7 +245,7 @@ float w_nex(float req)
                        precache_sound ("weapons/nexwhoosh1.wav");
                        precache_sound ("weapons/nexwhoosh2.wav");
                        precache_sound ("weapons/nexwhoosh3.wav");
-                       WEP_SET_PROPS(NEX_SETTINGS(nex), WEP_NEX)
+                       NEX_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
                        return TRUE;
                }
                case WR_SETUP:
@@ -271,12 +275,12 @@ float w_nex(float req)
                }
                case WR_CONFIG:
                {
-                       WEP_CONFIG_SETTINGS(NEX_SETTINGS(nex))
+                       NEX_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
                        return TRUE;
                }
                case WR_RELOAD:
                {
-                       W_Reload(min(WEP_CVAR_PRI(nex, ammo), WEP_CVAR_SEC(nex, ammo)), autocvar_g_balance_nex_reload_ammo, autocvar_g_balance_nex_reload_time, "weapons/reload.wav");
+                       W_Reload(min(WEP_CVAR_PRI(nex, ammo), WEP_CVAR_SEC(nex, ammo)), "weapons/reload.wav");
                        return TRUE;
                }
                case WR_SUICIDEMESSAGE: