#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) \
{
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));
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;
{
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));
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;
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)
{
{
// 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);
{
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
}
}
-float w_hagar(float req)
+float W_Hagar(float req)
{
float ammo_amount;
switch(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;
}
}
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;
}
}
#endif
#ifdef CSQC
-float w_hagar(float req)
+float W_Hagar(float req)
{
switch(req)
{