set g_balance_falldamage_maxdamage 40
set g_balance_falldamage_onlyvertical 0
set g_balance_damagepush_speedfactor 2.5
+set g_balance_damagepush_speedfactor_onlyself 0
set g_balance_contents_damagerate 0.2 // ticrate interval for applying damage with playerdamage/projectiledamage
set g_balance_contents_drowndelay 10 // time under water before a player begins drowning
set g_balance_contents_playerdamage_drowning 20 // damage per second for while player is drowning
set g_balance_falldamage_maxdamage 25
set g_balance_falldamage_onlyvertical 0
set g_balance_damagepush_speedfactor 0
+set g_balance_damagepush_speedfactor_onlyself 0
set g_balance_contents_damagerate 0.2 // ticrate interval for applying damage with playerdamage/projectiledamage
set g_balance_contents_drowndelay 10 // time under water before a player begins drowning
set g_balance_contents_playerdamage_drowning 20 // damage per second for while player is drowning
set g_balance_falldamage_maxdamage 40
set g_balance_falldamage_onlyvertical 0
set g_balance_damagepush_speedfactor 2.5
+set g_balance_damagepush_speedfactor_onlyself 0
set g_balance_contents_damagerate 0.2 // ticrate interval for applying damage with playerdamage/projectiledamage
set g_balance_contents_drowndelay 10 // time under water before a player begins drowning
set g_balance_contents_playerdamage_drowning 20 // damage per second for while player is drowning
set g_balance_falldamage_maxdamage 40
set g_balance_falldamage_onlyvertical 0
set g_balance_damagepush_speedfactor 2.5
+set g_balance_damagepush_speedfactor_onlyself 0
set g_balance_contents_damagerate 0.2 // ticrate interval for applying damage with playerdamage/projectiledamage
set g_balance_contents_drowndelay 10 // time under water before a player begins drowning
set g_balance_contents_playerdamage_drowning 20 // damage per second for while player is drowning
set g_balance_falldamage_maxdamage 40
set g_balance_falldamage_onlyvertical 0
set g_balance_damagepush_speedfactor 2.5
+set g_balance_damagepush_speedfactor_onlyself 0
set g_balance_contents_damagerate 0.2 // ticrate interval for applying damage with playerdamage/projectiledamage
set g_balance_contents_drowndelay 10 // time under water before a player begins drowning
set g_balance_contents_playerdamage_drowning 20 // damage per second for while player is drowning
set g_balance_falldamage_maxdamage 40
set g_balance_falldamage_onlyvertical 0
set g_balance_damagepush_speedfactor 2.5 "scale self-damage's force with respect to target's velocity, this creates a speed limit and faster players stop themselves more easily"
+set g_balance_damagepush_speedfactor_onlyself 0 "apply only to self inflicted forces"
set g_balance_contents_damagerate 0.2 // ticrate interval for applying damage with playerdamage/projectiledamage
set g_balance_contents_drowndelay 10 // time under water before a player begins drowning
set g_balance_contents_playerdamage_drowning 20 // damage per second for while player is drowning
set g_balance_falldamage_maxdamage 40
set g_balance_falldamage_onlyvertical 0
set g_balance_damagepush_speedfactor 2.5
+set g_balance_damagepush_speedfactor_onlyself 0
set g_balance_contents_damagerate 0.2 // ticrate interval for applying damage with playerdamage/projectiledamage
set g_balance_contents_drowndelay 10 // time under water before a player begins drowning
set g_balance_contents_playerdamage_drowning 20 // damage per second for while player is drowning
if (!IS_PLAYER(targ) || !StatusEffects_active(STATUSEFFECT_SpawnShield, targ) || targ == attacker)
{
vector farce = targ.damageforcescale * force;
- if (attacker == targ && autocvar_g_balance_damagepush_speedfactor)
- farce = damage_explosion_calcpush(farce, targ.velocity, autocvar_g_balance_damagepush_speedfactor);
+ if (autocvar_g_balance_damagepush_speedfactor)
+ if (!autocvar_g_balance_damagepush_speedfactor_onlyself || (attacker == targ))
+ farce = damage_explosion_calcpush(farce, targ.velocity, autocvar_g_balance_damagepush_speedfactor);
if(targ.move_movetype == MOVETYPE_PHYSICS)
{
bool autocvar_g_mirrordamage_onlyweapons;
float autocvar_g_maxpushtime;
float autocvar_g_balance_damagepush_speedfactor;
+bool autocvar_g_balance_damagepush_speedfactor_onlyself;
int autocvar_g_balance_firetransfer_damage;
int autocvar_g_balance_firetransfer_time;
float autocvar_g_balance_armor_blockpercent;