/* impulse */ 5,
/* flags */ WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH,
/* rating */ BOT_PICKUP_RATING_MID,
+/* color */ '0 0.5 1',
/* model */ "electro",
/* netname */ "electro",
/* fullname */ _("Electro")
#define ELECTRO_SETTINGS(w_cvar,w_prop) ELECTRO_SETTINGS_LIST(w_cvar, w_prop, ELECTRO, electro)
#define ELECTRO_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, 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, lifetime) \
- w_cvar(id, sn, MO_PRI, comboradius) \
- w_cvar(id, sn, MO_PRI, midaircombo_explode) \
- w_cvar(id, sn, MO_PRI, midaircombo_interval) \
- w_cvar(id, sn, MO_PRI, midaircombo_radius) \
- w_cvar(id, sn, MO_SEC, bouncefactor) \
- w_cvar(id, sn, MO_SEC, bouncestop) \
- w_cvar(id, sn, MO_SEC, count) \
- w_cvar(id, sn, MO_SEC, damageforcescale) \
- w_cvar(id, sn, MO_SEC, damagedbycontents) \
- w_cvar(id, sn, MO_SEC, health) \
- w_cvar(id, sn, MO_SEC, refire2) \
- w_cvar(id, sn, MO_SEC, speed_up) \
- w_cvar(id, sn, MO_SEC, speed_z) \
- w_cvar(id, sn, MO_SEC, touchexplode) \
- w_cvar(id, sn, MO_NONE, combo_comboradius) \
- w_cvar(id, sn, MO_NONE, combo_comboradius_thruwall) \
- w_cvar(id, sn, MO_NONE, combo_damage) \
- w_cvar(id, sn, MO_NONE, combo_edgedamage) \
- w_cvar(id, sn, MO_NONE, combo_force) \
- w_cvar(id, sn, MO_NONE, combo_radius) \
- w_cvar(id, sn, MO_NONE, combo_speed) \
- w_cvar(id, sn, MO_NONE, combo_safeammocheck) \
+ w_cvar(id, sn, BOTH, ammo) \
+ w_cvar(id, sn, BOTH, animtime) \
+ 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, lifetime) \
+ w_cvar(id, sn, PRI, comboradius) \
+ w_cvar(id, sn, PRI, midaircombo_explode) \
+ w_cvar(id, sn, PRI, midaircombo_interval) \
+ w_cvar(id, sn, PRI, midaircombo_radius) \
+ w_cvar(id, sn, SEC, bouncefactor) \
+ w_cvar(id, sn, SEC, bouncestop) \
+ w_cvar(id, sn, SEC, count) \
+ w_cvar(id, sn, SEC, damageforcescale) \
+ w_cvar(id, sn, SEC, damagedbycontents) \
+ w_cvar(id, sn, SEC, health) \
+ w_cvar(id, sn, SEC, refire2) \
+ w_cvar(id, sn, SEC, speed_up) \
+ w_cvar(id, sn, SEC, speed_z) \
+ w_cvar(id, sn, SEC, touchexplode) \
+ w_cvar(id, sn, NONE, combo_comboradius) \
+ w_cvar(id, sn, NONE, combo_comboradius_thruwall) \
+ w_cvar(id, sn, NONE, combo_damage) \
+ w_cvar(id, sn, NONE, combo_edgedamage) \
+ w_cvar(id, sn, NONE, combo_force) \
+ w_cvar(id, sn, NONE, combo_radius) \
+ w_cvar(id, sn, NONE, combo_speed) \
+ w_cvar(id, sn, NONE, combo_safeammocheck) \
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) \
setorigin(proj, w_shotorg);
proj.movetype = MOVETYPE_FLY;
- WEP_SETUPPROJVELOCITY_PRI(proj, electro);
+ WEP_SPV_PRI(proj, electro);
proj.angles = vectoangles(proj.velocity);
proj.touch = W_Electro_TouchExplode;
setsize(proj, '0 0 -3', '0 0 -3');
//proj.glow_size = 50;
//proj.glow_color = 45;
proj.movetype = MOVETYPE_BOUNCE;
- WEP_SETUPPROJVELOCITY_UP_SEC(proj, electro);
+ WEP_SPV_UP_SEC(proj, electro);
proj.touch = W_Electro_Orb_Touch;
setsize(proj, '0 0 -4', '0 0 -4');
proj.takedamage = DAMAGE_YES;
ELECTRO_SETTINGS(WEP_SKIPCVAR, WEP_SET_PROP)
return TRUE;
}
- case WR_SETUP:
- {
- self.current_ammo = ammo_cells;
- return TRUE;
- }
case WR_CHECKAMMO1:
{
- ammo_amount = self.ammo_cells >= WEP_CVAR_PRI(electro, ammo);
+ ammo_amount = self.AMMO_VAL(WEP_ELECTRO) >= WEP_CVAR_PRI(electro, ammo);
ammo_amount += self.(weapon_load[WEP_ELECTRO]) >= WEP_CVAR_PRI(electro, ammo);
return ammo_amount;
}
{
if(WEP_CVAR(electro, combo_safeammocheck)) // true if you can fire at least one secondary blob AND one primary shot after it, otherwise false.
{
- ammo_amount = self.ammo_cells >= WEP_CVAR_SEC(electro, ammo) + WEP_CVAR_PRI(electro, ammo);
+ ammo_amount = self.AMMO_VAL(WEP_ELECTRO) >= WEP_CVAR_SEC(electro, ammo) + WEP_CVAR_PRI(electro, ammo);
ammo_amount += self.(weapon_load[WEP_ELECTRO]) >= WEP_CVAR_SEC(electro, ammo) + WEP_CVAR_PRI(electro, ammo);
}
else
{
- ammo_amount = self.ammo_cells >= WEP_CVAR_SEC(electro, ammo);
+ ammo_amount = self.AMMO_VAL(WEP_ELECTRO) >= WEP_CVAR_SEC(electro, ammo);
ammo_amount += self.(weapon_load[WEP_ELECTRO]) >= WEP_CVAR_SEC(electro, ammo);
}
return ammo_amount;