set g_balance_electro_primary_edgedamage 20
set g_balance_electro_primary_force 200
set g_balance_electro_primary_lifetime 5
+set g_balance_electro_primary_midaircombo_enemy 1
set g_balance_electro_primary_midaircombo_explode 1
set g_balance_electro_primary_midaircombo_interval 0.1
set g_balance_electro_primary_midaircombo_own 1
set g_balance_electro_primary_midaircombo_radius 0
+set g_balance_electro_primary_midaircombo_teammate 1
set g_balance_electro_primary_radius 100
set g_balance_electro_primary_refire 0.6
set g_balance_electro_primary_speed 2500
set g_balance_electro_primary_edgedamage 0
set g_balance_electro_primary_force 200
set g_balance_electro_primary_lifetime 30
+set g_balance_electro_primary_midaircombo_enemy 1
set g_balance_electro_primary_midaircombo_explode 0
set g_balance_electro_primary_midaircombo_interval 0
set g_balance_electro_primary_midaircombo_own 1
set g_balance_electro_primary_midaircombo_radius 0
+set g_balance_electro_primary_midaircombo_teammate 1
set g_balance_electro_primary_radius 150
set g_balance_electro_primary_refire 0.6
set g_balance_electro_primary_speed 2000
set g_balance_electro_primary_edgedamage 20
set g_balance_electro_primary_force 200
set g_balance_electro_primary_lifetime 5
+set g_balance_electro_primary_midaircombo_enemy 1
set g_balance_electro_primary_midaircombo_explode 1
set g_balance_electro_primary_midaircombo_interval 0.1
set g_balance_electro_primary_midaircombo_own 1
set g_balance_electro_primary_midaircombo_radius 100
+set g_balance_electro_primary_midaircombo_teammate 1
set g_balance_electro_primary_radius 100
set g_balance_electro_primary_refire 0.6
set g_balance_electro_primary_speed 2500
set g_balance_electro_primary_edgedamage 20
set g_balance_electro_primary_force 200
set g_balance_electro_primary_lifetime 5
+set g_balance_electro_primary_midaircombo_enemy 1
set g_balance_electro_primary_midaircombo_explode 1
set g_balance_electro_primary_midaircombo_interval 0.1
set g_balance_electro_primary_midaircombo_own 1
set g_balance_electro_primary_midaircombo_radius 0
+set g_balance_electro_primary_midaircombo_teammate 1
set g_balance_electro_primary_radius 100
set g_balance_electro_primary_refire 0.6
set g_balance_electro_primary_speed 2500
set g_balance_electro_primary_edgedamage 20
set g_balance_electro_primary_force 200
set g_balance_electro_primary_lifetime 5
+set g_balance_electro_primary_midaircombo_enemy 1
set g_balance_electro_primary_midaircombo_explode 1
set g_balance_electro_primary_midaircombo_interval 0.1
set g_balance_electro_primary_midaircombo_own 1
set g_balance_electro_primary_midaircombo_radius 100
+set g_balance_electro_primary_midaircombo_teammate 1
set g_balance_electro_primary_radius 100
set g_balance_electro_primary_refire 0.6
set g_balance_electro_primary_speed 2500
set g_balance_electro_primary_edgedamage 20
set g_balance_electro_primary_force 200
set g_balance_electro_primary_lifetime 5
+set g_balance_electro_primary_midaircombo_enemy 1
set g_balance_electro_primary_midaircombo_explode 1
set g_balance_electro_primary_midaircombo_interval 0.1
set g_balance_electro_primary_midaircombo_own 1
set g_balance_electro_primary_midaircombo_radius 0
+set g_balance_electro_primary_midaircombo_teammate 1
set g_balance_electro_primary_radius 100
set g_balance_electro_primary_refire 0.6
set g_balance_electro_primary_speed 2500
// loop through nearby orbs and trigger them
while(e)
{
- if(e.classname == "electro_orb" && (WEP_CVAR_PRI(electro, midaircombo_own) || DIFF_TEAM(this.owner, e.owner)))
+ if(e.classname == "electro_orb")
{
- // change owner to whoever caused the combo explosion
- e.realowner = this.realowner;
- e.takedamage = DAMAGE_NO;
- e.classname = "electro_orb_chain";
+ bool explode;
+ if (this.owner == e.owner)
+ {
+ explode = WEP_CVAR_PRI(electro, midaircombo_own);
+ }
+ else if (SAME_TEAM(this.owner, e.owner))
+ {
+ explode = WEP_CVAR_PRI(electro, midaircombo_teammate);
+ }
+ else
+ {
+ explode = WEP_CVAR_PRI(electro, midaircombo_enemy);
+ }
+
+ if (explode)
+ {
+ // change owner to whoever caused the combo explosion
+ e.realowner = this.realowner;
+ e.takedamage = DAMAGE_NO;
+ e.classname = "electro_orb_chain";
- // explode first orb immediately, other orbs will chain with delay
- setthink(e, W_Electro_ExplodeCombo);
- e.nextthink = time;
+ // explode first orb immediately, other orbs will chain with delay
+ setthink(e, W_Electro_ExplodeCombo);
+ e.nextthink = time;
- ++found;
+ ++found;
+ }
}
e = e.chain;
}
P(class, prefix, force, float, BOTH) \
P(class, prefix, health, float, SEC) \
P(class, prefix, lifetime, float, BOTH) \
+ P(class, prefix, midaircombo_enemy, bool, PRI) \
P(class, prefix, midaircombo_explode, float, PRI) \
P(class, prefix, midaircombo_interval, float, PRI) \
P(class, prefix, midaircombo_own, bool, PRI) \
P(class, prefix, midaircombo_radius, float, PRI) \
+ P(class, prefix, midaircombo_teammate, float, PRI) \
P(class, prefix, radius, float, BOTH) \
P(class, prefix, refire2, float, SEC) \
P(class, prefix, refire, float, BOTH) \