]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/weapons/w_arc.qc
No need for that extra prefix
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / w_arc.qc
index a827246ae230647782ae04ee589e2ebd9ab6db82..2f2d2ea9d03ae58230ec14904f155e1b95d44f76 100644 (file)
@@ -2,8 +2,8 @@
 REGISTER_WEAPON(
 /* WEP_##id */ ARC,
 /* function */ w_arc,
-/* ammotype */ IT_CELLS,
-/* impulse  */ 5,
+/* ammotype */ ammo_cells,
+/* impulse  */ 3,
 /* flags    */ WEP_FLAG_NORMAL,
 /* rating   */ BOT_PICKUP_RATING_HIGH,
 /* model    */ "arc",
@@ -11,26 +11,28 @@ REGISTER_WEAPON(
 /* fullname */ _("Arc")
 );
 
-#define ARC_SETTINGS(weapon) \
-       WEP_ADD_CVAR(weapon, MO_BOTH, ammo) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  animtime) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  damage) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  falloff_halflifedist) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  falloff_maxdist) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  falloff_mindist) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  force) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  range) \
-       WEP_ADD_CVAR(weapon, MO_PRI,  refire) \
-       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 ARC_SETTINGS(w_cvar,w_prop) ARC_SETTINGS_LIST(w_cvar, w_prop, ARC, arc)
+#define ARC_SETTINGS_LIST(w_cvar,w_prop,id,sn) \
+       w_cvar(id, sn, BOTH, ammo) \
+       w_cvar(id, sn, PRI,  animtime) \
+       w_cvar(id, sn, PRI,  damage) \
+       w_cvar(id, sn, PRI,  falloff_halflifedist) \
+       w_cvar(id, sn, PRI,  falloff_maxdist) \
+       w_cvar(id, sn, PRI,  falloff_mindist) \
+       w_cvar(id, sn, PRI,  force) \
+       w_cvar(id, sn, PRI,  range) \
+       w_cvar(id, sn, PRI,  refire) \
+       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)
 
 #ifndef MENUQC
 vector arc_shotorigin[4];
 #endif
 #ifdef SVQC
-ARC_SETTINGS(arc)
+ARC_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP)
 void ArcInit();
 .vector hook_start, hook_end; // used for beam
 .entity arc_beam; // used for beam
@@ -90,7 +92,7 @@ void W_Arc_Beam_Think()
 
        float dt, f;
        dt = frametime;
-       if not(self.owner.items & IT_UNLIMITED_WEAPON_AMMO)
+       if(!(self.owner.items & IT_UNLIMITED_WEAPON_AMMO))
        {
                if(WEP_CVAR_PRI(arc, ammo))
                {
@@ -259,7 +261,7 @@ float w_arc(float req)
                }
                case WR_CONFIG:
                {
-                       WEP_CONFIG_SETTINGS(ARC_SETTINGS(arc))
+                       ARC_SETTINGS(WEP_CONFIG_WRITE_CVARS, WEP_CONFIG_WRITE_PROPS)
                        return TRUE;
                }
                case WR_KILLMESSAGE:
@@ -292,7 +294,7 @@ void ArcInit()
        arc_shotorigin[1] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_ARC), FALSE, FALSE, 2);
        arc_shotorigin[2] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_ARC), FALSE, FALSE, 3);
        arc_shotorigin[3] = shotorg_adjust_values(CL_Weapon_GetShotOrg(WEP_ARC), FALSE, FALSE, 4);
-       WEP_SET_PROPS(ARC_SETTINGS(arc), WEP_ARC)
+       ARC_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
 }
 #endif
 #ifdef CSQC