set g_balance_electro_primary_radius 100
set g_balance_electro_primary_comboradius 300
set g_balance_electro_primary_midaircombo_interval 0.3
+set g_balance_electro_primary_midaircombo_radius 100
set g_balance_electro_primary_speed 2500
set g_balance_electro_primary_spread 0
set g_balance_electro_primary_lifetime 5
set g_balance_electro_secondary_health 5
set g_balance_electro_secondary_damageforcescale 4
set g_balance_electro_secondary_damagedbycontents 1
+set g_balance_electro_secondary_takedamageexplode 1
set g_balance_electro_secondary_count 3
set g_balance_electro_secondary_bouncefactor 0.3
set g_balance_electro_secondary_bouncestop 0.05
w_cvar(WEP_ELECTRO, electro, MO_BOTH, lifetime) \
w_cvar(WEP_ELECTRO, electro, MO_PRI, comboradius) \
w_cvar(WEP_ELECTRO, electro, MO_PRI, midaircombo_interval) \
+ w_cvar(WEP_ELECTRO, electro, MO_PRI, midaircombo_radius) \
w_cvar(WEP_ELECTRO, electro, MO_SEC, bouncefactor) \
w_cvar(WEP_ELECTRO, electro, MO_SEC, bouncestop) \
w_cvar(WEP_ELECTRO, electro, MO_SEC, count) \
w_cvar(WEP_ELECTRO, electro, MO_SEC, damageforcescale) \
w_cvar(WEP_ELECTRO, electro, MO_SEC, damagedbycontents) \
+ w_cvar(WEP_ELECTRO, electro, MO_SEC, takedamageexplode) \
w_cvar(WEP_ELECTRO, electro, MO_SEC, health) \
w_cvar(WEP_ELECTRO, electro, MO_SEC, refire2) \
w_cvar(WEP_ELECTRO, electro, MO_SEC, speed_up) \
{
PROJECTILE_TOUCH;
if(other.takedamage == DAMAGE_AIM)
- { W_Plasma_Explode(); }
+ { if(WEP_CVAR_SEC(electro, takedamageexplode)) { W_Plasma_Explode(); } }
else
{
//UpdateCSQCProjectile(self);
void W_Plasma_Think()
{
- self.nextthink = time + WEP_CVAR_PRI(electro, midaircombo_interval);
+ self.nextthink = min(time + WEP_CVAR_PRI(electro, midaircombo_interval), self.ltime);
if(time >= self.ltime)
{
return;
}
- W_Plasma_TriggerCombo(self.origin, WEP_CVAR_PRI(electro, comboradius), self.realowner);
+ W_Plasma_TriggerCombo(self.origin, WEP_CVAR_PRI(electro, midaircombo_radius), self.realowner);
}
void W_Electro_Attack_Bolt(void)