set g_balance_electro_secondary_health 5
set g_balance_electro_secondary_damageforcescale 4
set g_balance_electro_secondary_count 1
-set g_balance_electro_secondary_bouncefactor 1
-set g_balance_electro_secondary_bouncestop 0
set g_balance_electro_combo_damage 80
set g_balance_electro_combo_edgedamage 0
set g_balance_electro_combo_force 200
set g_balance_crylink_secondary_bouncedamagefactor 0.5
set g_balance_crylink_secondary_joinspeed 0
set g_balance_crylink_secondary_jointime 0
+set g_balance_crylink_secondary_joinexplode 0
+set g_balance_crylink_secondary_joinexplode_damage 0
+set g_balance_crylink_secondary_joinexplode_edgedamage 0
+set g_balance_crylink_secondary_joinexplode_radius 0
+set g_balance_crylink_secondary_joinexplode_force 0
set g_balance_crylink_secondary_linkexplode 1
set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to 70000
set g_balance_electro_secondary_health 10
set g_balance_electro_secondary_damageforcescale 4
set g_balance_electro_secondary_count 3
-set g_balance_electro_secondary_bouncefactor 1
-set g_balance_electro_secondary_bouncestop 0
set g_balance_electro_combo_damage 70
set g_balance_electro_combo_edgedamage 0
set g_balance_electro_combo_force 200
set g_balance_crylink_secondary_bouncedamagefactor 0.5
set g_balance_crylink_secondary_joinspeed 0
set g_balance_crylink_secondary_jointime 0
+set g_balance_crylink_secondary_joinexplode 0
+set g_balance_crylink_secondary_joinexplode_damage 0
+set g_balance_crylink_secondary_joinexplode_edgedamage 0
+set g_balance_crylink_secondary_joinexplode_radius 0
+set g_balance_crylink_secondary_joinexplode_force 0
set g_balance_crylink_secondary_linkexplode 1
set g_balance_crylink_secondary_middle_lifetime 5 // range: 10000 full, fades to 10000
set g_balance_electro_secondary_health 5
set g_balance_electro_secondary_damageforcescale 4
set g_balance_electro_secondary_count 1
-set g_balance_electro_secondary_bouncefactor 1
-set g_balance_electro_secondary_bouncestop 0
set g_balance_electro_combo_damage 80
set g_balance_electro_combo_edgedamage 0
set g_balance_electro_combo_force 200
set g_balance_crylink_secondary_bouncedamagefactor 0.5
set g_balance_crylink_secondary_joinspeed 0
set g_balance_crylink_secondary_jointime 0
+set g_balance_crylink_secondary_joinexplode 0
+set g_balance_crylink_secondary_joinexplode_damage 0
+set g_balance_crylink_secondary_joinexplode_edgedamage 0
+set g_balance_crylink_secondary_joinexplode_radius 0
+set g_balance_crylink_secondary_joinexplode_force 0
set g_balance_crylink_secondary_linkexplode 1
set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to 70000
set g_balance_electro_secondary_health 5
set g_balance_electro_secondary_damageforcescale 4
set g_balance_electro_secondary_count 3
-set g_balance_electro_secondary_bouncefactor 1
-set g_balance_electro_secondary_bouncestop 0
set g_balance_electro_combo_damage 50
set g_balance_electro_combo_edgedamage 0
set g_balance_electro_combo_force 200
set g_balance_crylink_secondary_bouncedamagefactor 0.5
set g_balance_crylink_secondary_joinspeed 0
set g_balance_crylink_secondary_jointime 0
+set g_balance_crylink_secondary_joinexplode 0
+set g_balance_crylink_secondary_joinexplode_damage 0
+set g_balance_crylink_secondary_joinexplode_edgedamage 0
+set g_balance_crylink_secondary_joinexplode_radius 0
+set g_balance_crylink_secondary_joinexplode_force 0
set g_balance_crylink_secondary_linkexplode 1
set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to 70000
set g_balance_electro_secondary_health 10
set g_balance_electro_secondary_damageforcescale 4
set g_balance_electro_secondary_count 3
-set g_balance_electro_secondary_bouncefactor 1
-set g_balance_electro_secondary_bouncestop 0
set g_balance_electro_combo_damage 60
set g_balance_electro_combo_edgedamage 0
set g_balance_electro_combo_force 80
set g_balance_crylink_secondary_bouncedamagefactor 0.5
set g_balance_crylink_secondary_joinspeed 250
set g_balance_crylink_secondary_jointime 0
+set g_balance_crylink_secondary_joinexplode 0
+set g_balance_crylink_secondary_joinexplode_damage 0
+set g_balance_crylink_secondary_joinexplode_edgedamage 0
+set g_balance_crylink_secondary_joinexplode_radius 0
+set g_balance_crylink_secondary_joinexplode_force 0
set g_balance_crylink_secondary_linkexplode 0
set g_balance_crylink_secondary_middle_lifetime 5 // range: 10000 full, fades to 10000
set g_balance_electro_secondary_health 10
set g_balance_electro_secondary_damageforcescale 4
set g_balance_electro_secondary_count 3
-set g_balance_electro_secondary_bouncefactor 1
-set g_balance_electro_secondary_bouncestop 0
set g_balance_electro_combo_damage 40
set g_balance_electro_combo_edgedamage 0
set g_balance_electro_combo_force 80
set g_balance_crylink_secondary_bouncedamagefactor 0.5
set g_balance_crylink_secondary_joinspeed 0
set g_balance_crylink_secondary_jointime 0
+set g_balance_crylink_secondary_joinexplode 0
+set g_balance_crylink_secondary_joinexplode_damage 0
+set g_balance_crylink_secondary_joinexplode_edgedamage 0
+set g_balance_crylink_secondary_joinexplode_radius 0
+set g_balance_crylink_secondary_joinexplode_force 0
set g_balance_crylink_secondary_linkexplode 1
set g_balance_crylink_secondary_middle_lifetime 5 // range: 10000 full, fades to 10000
set g_balance_electro_secondary_health 10
set g_balance_electro_secondary_damageforcescale 2
set g_balance_electro_secondary_count 3
-set g_balance_electro_secondary_bouncefactor 0.5
-set g_balance_electro_secondary_bouncestop 0.01
set g_balance_electro_combo_damage 80
set g_balance_electro_combo_edgedamage 10
set g_balance_crylink_primary_other_lifetime 2 // range: 800 full, fades to 1300
set g_balance_crylink_primary_other_fadetime 0.25
-
set g_balance_crylink_secondary 1
set g_balance_crylink_secondary_damage 2
set g_balance_crylink_secondary_edgedamage 0
set g_balance_crylink_secondary_bouncedamagefactor 0.5
set g_balance_crylink_secondary_joinspeed 0
set g_balance_crylink_secondary_jointime 0
+set g_balance_crylink_secondary_joinexplode 0
+set g_balance_crylink_secondary_joinexplode_damage 0
+set g_balance_crylink_secondary_joinexplode_edgedamage 0
+set g_balance_crylink_secondary_joinexplode_radius 0
+set g_balance_crylink_secondary_joinexplode_force 0
set g_balance_crylink_secondary_linkexplode 0
set g_balance_crylink_secondary_middle_lifetime 5 // range: 10000 full, fades to 10000
if(n >= 2)
{
- if(cvar("g_balance_crylink_primary_joinexplode"))
+
+ if(e.projectiledeathtype & HITTYPE_SECONDARY)
{
- n = n / cvar("g_balance_crylink_primary_shots");
- RadiusDamage (e, e.realowner, cvar("g_balance_crylink_primary_joinexplode_damage") * n,
- cvar("g_balance_crylink_primary_joinexplode_edgedamage") * n,
- cvar("g_balance_crylink_primary_joinexplode_radius") * n, world,
- cvar("g_balance_crylink_primary_joinexplode_force") * n, e.projectiledeathtype, other);
+ if(cvar("g_balance_crylink_secondary_joinexplode"))
+ {
+ n = n / cvar("g_balance_crylink_secondary_shots");
+ RadiusDamage (e, e.realowner, cvar("g_balance_crylink_secondary_joinexplode_damage") * n,
+ cvar("g_balance_crylink_secondary_joinexplode_edgedamage") * n,
+ cvar("g_balance_crylink_secondary_joinexplode_radius") * n, world,
+ cvar("g_balance_crylink_secondary_joinexplode_force") * n, e.projectiledeathtype, other);
+ }
}
+ else
+ {
+ if(cvar("g_balance_crylink_primary_joinexplode"))
+ {
+ n = n / cvar("g_balance_crylink_primary_shots");
+ RadiusDamage (e, e.realowner, cvar("g_balance_crylink_primary_joinexplode_damage") * n,
+ cvar("g_balance_crylink_primary_joinexplode_edgedamage") * n,
+ cvar("g_balance_crylink_primary_joinexplode_radius") * n, world,
+ cvar("g_balance_crylink_primary_joinexplode_force") * n, e.projectiledeathtype, other);
+ }
+ }
// they seem to touch...
// TODO make a specific particle effect for this
remove(self);
}
+
// NO bounce protection, as bounces are limited!
void W_Crylink_Touch (void)
{
if(self.crylink_lastgroup)
{
vector pos;
+ entity linkjoineffect;
+
+
if(self.crylink_waitrelease == 1)
{
pos = W_Crylink_LinkJoin(self.crylink_lastgroup, cvar("g_balance_crylink_primary_joinspeed"), cvar("g_balance_crylink_primary_jointime"));
+
}
else
{
pos = W_Crylink_LinkJoin(self.crylink_lastgroup, cvar("g_balance_crylink_secondary_joinspeed"), cvar("g_balance_crylink_secondary_jointime"));
}
-
- entity linkjoineffect;
+
linkjoineffect = spawn();
- linkjoineffect.classname = "linkjoineffect";
linkjoineffect.think = W_Crylink_LinkJoinEffect_Think;
+ linkjoineffect.classname = "linkjoineffect";
linkjoineffect.nextthink = time + w_crylink_linkjoin_time;
linkjoineffect.owner = self;
setorigin(linkjoineffect, pos);
+
+
}
self.crylink_waitrelease = 0;
if(!w_crylink(WR_CHECKAMMO1) && !w_crylink(WR_CHECKAMMO2))
proj.event_damage = W_Plasma_Damage;
proj.flags = FL_PROJECTILE;
- proj.bouncefactor = cvar("g_balance_electro_secondary_bouncefactor");
- proj.bouncestop = cvar("g_balance_electro_secondary_bouncestop");
+ //proj.bouncefactor = cvar("g_balance_electro_secondary_bouncefactor");
+ //proj.bouncestop = cvar("g_balance_electro_secondary_bouncestop");
#if 0
entity p2;