]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/weapons/w_hagar.qc
Clean up SetupProjectileVelocity a little bit
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / w_hagar.qc
index ef334d9df4c7204b1990184ab464e29472641b37..99a55e3ed260302c0d5b3b28213dcb8ddf460d1b 100644 (file)
@@ -1,42 +1,43 @@
 #ifdef REGISTER_WEAPON
 REGISTER_WEAPON(
 /* WEP_##id */ HAGAR,
-/* function */ w_hagar,
-/* ammotype */ IT_ROCKETS,
+/* function */ W_Hagar,
+/* ammotype */ ammo_rockets,
 /* impulse  */ 8,
 /* flags    */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_SPLASH,
 /* rating   */ BOT_PICKUP_RATING_MID,
+/* color       */ '1 1 0.5',
 /* model    */ "hagar",
 /* netname  */ "hagar",
 /* fullname */ _("Hagar")
 );
 
-#define HAGAR_SETTINGS(w_cvar,w_prop) HAGAR_SETTINGS_LIST(w_cvar, w_prop, WEP_HAGAR, hagar)
+#define HAGAR_SETTINGS(w_cvar,w_prop) HAGAR_SETTINGS_LIST(w_cvar, w_prop, HAGAR, hagar)
 #define HAGAR_SETTINGS_LIST(w_cvar,w_prop,id,sn) \
-       w_cvar(id, sn, MO_BOTH, ammo) \
-       w_cvar(id, sn, MO_BOTH, damage) \
-       w_cvar(id, sn, MO_BOTH, edgedamage) \
-       w_cvar(id, sn, MO_BOTH, force) \
-       w_cvar(id, sn, MO_BOTH, radius) \
-       w_cvar(id, sn, MO_BOTH, refire) \
-       w_cvar(id, sn, MO_BOTH, speed) \
-       w_cvar(id, sn, MO_BOTH, spread) \
-       w_cvar(id, sn, MO_BOTH, damageforcescale) \
-       w_cvar(id, sn, MO_BOTH, health) \
-       w_cvar(id, sn, MO_PRI,  lifetime) \
-       w_cvar(id, sn, MO_SEC,  load) \
-       w_cvar(id, sn, MO_SEC,  load_max) \
-       w_cvar(id, sn, MO_SEC,  load_abort) \
-       w_cvar(id, sn, MO_SEC,  load_animtime) \
-       w_cvar(id, sn, MO_SEC,  load_hold) \
-       w_cvar(id, sn, MO_SEC,  load_speed) \
-       w_cvar(id, sn, MO_SEC,  load_releasedeath) \
-       w_cvar(id, sn, MO_SEC,  load_spread) \
-       w_cvar(id, sn, MO_SEC,  load_spread_bias) \
-       w_cvar(id, sn, MO_SEC,  load_linkexplode) \
-       w_cvar(id, sn, MO_SEC,  lifetime_min) \
-       w_cvar(id, sn, MO_SEC,  lifetime_rand) \
-       w_cvar(id, sn, MO_NONE, secondary) \
+       w_cvar(id, sn, BOTH, ammo) \
+       w_cvar(id, sn, BOTH, damage) \
+       w_cvar(id, sn, BOTH, edgedamage) \
+       w_cvar(id, sn, BOTH, force) \
+       w_cvar(id, sn, BOTH, radius) \
+       w_cvar(id, sn, BOTH, refire) \
+       w_cvar(id, sn, BOTH, speed) \
+       w_cvar(id, sn, BOTH, spread) \
+       w_cvar(id, sn, BOTH, damageforcescale) \
+       w_cvar(id, sn, BOTH, health) \
+       w_cvar(id, sn, PRI,  lifetime) \
+       w_cvar(id, sn, SEC,  load) \
+       w_cvar(id, sn, SEC,  load_max) \
+       w_cvar(id, sn, SEC,  load_abort) \
+       w_cvar(id, sn, SEC,  load_animtime) \
+       w_cvar(id, sn, SEC,  load_hold) \
+       w_cvar(id, sn, SEC,  load_speed) \
+       w_cvar(id, sn, SEC,  load_releasedeath) \
+       w_cvar(id, sn, SEC,  load_spread) \
+       w_cvar(id, sn, SEC,  load_spread_bias) \
+       w_cvar(id, sn, SEC,  load_linkexplode) \
+       w_cvar(id, sn, SEC,  lifetime_min) \
+       w_cvar(id, sn, SEC,  lifetime_rand) \
+       w_cvar(id, sn, NONE, secondary) \
        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) \
@@ -119,7 +120,7 @@ void W_Hagar_Attack (void)
 {
        entity missile;
 
-       W_DecreaseAmmo(ammo_rockets, WEP_CVAR_PRI(hagar, ammo), autocvar_g_balance_hagar_reload_ammo);
+       W_DecreaseAmmo(WEP_CVAR_PRI(hagar, ammo));
 
        W_SetupShot (self, FALSE, 2, "weapons/hagar_fire.wav", CH_WEAPON_A, WEP_CVAR_PRI(hagar, damage));
 
@@ -147,7 +148,7 @@ void W_Hagar_Attack (void)
        setsize(missile, '0 0 0', '0 0 0');
 
        missile.movetype = MOVETYPE_FLY;
-       WEP_SETUPPROJVELOCITY_PRI(missile, hagar);
+       WEP_SPV_PRI(missile, hagar);
 
        missile.angles = vectoangles (missile.velocity);
        missile.flags = FL_PROJECTILE;
@@ -162,7 +163,7 @@ void W_Hagar_Attack2 (void)
 {
        entity missile;
 
-       W_DecreaseAmmo(ammo_rockets, WEP_CVAR_SEC(hagar, ammo), autocvar_g_balance_hagar_reload_ammo);
+       W_DecreaseAmmo(WEP_CVAR_SEC(hagar, ammo));
 
        W_SetupShot (self, FALSE, 2, "weapons/hagar_fire.wav", CH_WEAPON_A, WEP_CVAR_SEC(hagar, damage));
 
@@ -191,7 +192,7 @@ void W_Hagar_Attack2 (void)
        setsize(missile, '0 0 0', '0 0 0');
 
        missile.movetype = MOVETYPE_BOUNCEMISSILE;
-       WEP_SETUPPROJVELOCITY_SEC(missile, hagar);
+       WEP_SPV_SEC(missile, hagar);
 
        missile.angles = vectoangles (missile.velocity);
        missile.flags = FL_PROJECTILE;
@@ -297,7 +298,7 @@ void W_Hagar_Attack2_Load (void)
        if(autocvar_g_balance_hagar_reload_ammo)
                enough_ammo = self.(weapon_load[WEP_HAGAR]) >= WEP_CVAR_SEC(hagar, ammo);
        else
-               enough_ammo = self.ammo_rockets >= WEP_CVAR_SEC(hagar, ammo);
+               enough_ammo = self.AMMO_VAL(WEP_HAGAR) >= WEP_CVAR_SEC(hagar, ammo);
 
        if(self.BUTTON_ATCK2)
        {
@@ -307,7 +308,7 @@ void W_Hagar_Attack2_Load (void)
                        {
                                // if we pressed primary fire while loading, unload all rockets and abort
                                self.weaponentity.state = WS_READY;
-                               W_DecreaseAmmo(ammo_rockets, WEP_CVAR_SEC(hagar, ammo) * self.hagar_load * -1, autocvar_g_balance_hagar_reload_ammo); // give back ammo
+                               W_DecreaseAmmo(WEP_CVAR_SEC(hagar, ammo) * self.hagar_load * -1); // give back ammo
                                self.hagar_load = 0;
                                sound(self, CH_WEAPON_A, "weapons/hagar_beep.wav", VOL_BASE, ATTN_NORM);
 
@@ -325,7 +326,7 @@ void W_Hagar_Attack2_Load (void)
                        {
                                if(!self.hagar_loadblock && self.hagar_loadstep < time)
                                {
-                                       W_DecreaseAmmo(ammo_rockets, WEP_CVAR_SEC(hagar, ammo), autocvar_g_balance_hagar_reload_ammo);
+                                       W_DecreaseAmmo(WEP_CVAR_SEC(hagar, ammo));
                                        self.weaponentity.state = WS_INUSE;
                                        self.hagar_load += 1;
                                        sound(self, CH_WEAPON_B, "weapons/hagar_load.wav", VOL_BASE * 0.8, ATTN_NORM); // sound is too loud according to most
@@ -385,7 +386,7 @@ void W_Hagar_Attack2_Load (void)
        }
 }
 
-float w_hagar(float req)
+float W_Hagar(float req)
 {
        float ammo_amount;
        switch(req)
@@ -451,12 +452,11 @@ float w_hagar(float req)
                }
                case WR_SETUP:
                {
-                       self.current_ammo = ammo_rockets;
                        self.hagar_loadblock = FALSE;
 
                        if(self.hagar_load)
                        {
-                               W_DecreaseAmmo(ammo_rockets, WEP_CVAR_SEC(hagar, ammo) * self.hagar_load * -1, autocvar_g_balance_hagar_reload_ammo); // give back ammo if necessary
+                               W_DecreaseAmmo(WEP_CVAR_SEC(hagar, ammo) * self.hagar_load * -1); // give back ammo if necessary
                                self.hagar_load = 0;
                        }
                        
@@ -464,13 +464,13 @@ float w_hagar(float req)
                }
                case WR_CHECKAMMO1:
                {
-                       ammo_amount = self.ammo_rockets >= WEP_CVAR_PRI(hagar, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_HAGAR) >= WEP_CVAR_PRI(hagar, ammo);
                        ammo_amount += self.(weapon_load[WEP_HAGAR]) >= WEP_CVAR_PRI(hagar, ammo);
                        return ammo_amount;
                }
                case WR_CHECKAMMO2:
                {
-                       ammo_amount = self.ammo_rockets >= WEP_CVAR_SEC(hagar, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_HAGAR) >= WEP_CVAR_SEC(hagar, ammo);
                        ammo_amount += self.(weapon_load[WEP_HAGAR]) >= WEP_CVAR_SEC(hagar, ammo);
                        return ammo_amount;
                }
@@ -515,7 +515,7 @@ float w_hagar(float req)
 }
 #endif
 #ifdef CSQC
-float w_hagar(float req)
+float W_Hagar(float req)
 {
        switch(req)
        {