#include <common/weapons/_all.qh>
+bool autocvar_g_throughfloor_debug;
+float autocvar_g_throughfloor_damage;
+float autocvar_g_throughfloor_force;
+float autocvar_g_throughfloor_damage_max_stddev;
+float autocvar_g_throughfloor_force_max_stddev;
+float autocvar_g_throughfloor_min_steps_player;
+float autocvar_g_throughfloor_max_steps_player;
+float autocvar_g_throughfloor_min_steps_other;
+float autocvar_g_throughfloor_max_steps_other;
+float autocvar_g_mirrordamage;
+bool autocvar_g_mirrordamage_virtual;
+bool autocvar_g_mirrordamage_onlyweapons;
+float autocvar_g_maxpushtime;
+float autocvar_g_balance_damagepush_speedfactor;
+int autocvar_g_balance_firetransfer_damage;
+int autocvar_g_balance_firetransfer_time;
+float autocvar_g_balance_armor_blockpercent;
+float autocvar_g_teamdamage_resetspeed;
+float autocvar_g_teamdamage_threshold;
+float autocvar_g_balance_selfdamagepercent;
+float autocvar_g_friendlyfire;
+float autocvar_g_friendlyfire_virtual;
+float autocvar_g_friendlyfire_virtual_force;
+float autocvar_g_frozen_revive_falldamage;
+int autocvar_g_frozen_revive_falldamage_health;
+bool autocvar_g_frozen_damage_trigger;
+float autocvar_g_frozen_force;
+
.void(entity this, entity inflictor, entity attacker, float damage, int deathtype, .entity weaponentity, vector hitloc, vector force) event_damage;
.bool(entity targ, entity inflictor, float amount, float limit) event_heal;
.float damagedbytriggers;
float yoda;
-float damage_goodhits;
-float damage_gooddamage;
+int impressive_hits;
.float pain_finished; // Added by Supajoe
.vector death_origin;
-.float damage_dealt, typehitsound, killsound;
+.float hitsound_damage_dealt;
+.int typehitsound, killsound;
// used for custom deathtype
string deathmessage;
// WEAPONTODO
#define DMG_NOWEP (weaponentities[0])
+int autocvar_g_player_damageplayercenter;
+
// NOTE: the .weaponentity parameter can be set to DMG_NOWEP if the attack wasn't caused by a weapon or player
void Damage (entity targ, entity inflictor, entity attacker, float damage, int deathtype, .entity weaponentity, vector hitloc, vector force);
float RadiusDamage (entity inflictor, entity attacker, float coredamage, float edgedamage, float rad, entity cantbe, entity mustbe, float forceintensity, int deathtype, .entity weaponentity, entity directhitentity);
.float damageforcescale;
-const float MIN_DAMAGEEXTRARADIUS = 2;
+const float MIN_DAMAGEEXTRARADIUS = 0.1;
const float MAX_DAMAGEEXTRARADIUS = 16;
.float damageextraradius;
bool Heal(entity targ, entity inflictor, float amount, float limit);
.float fire_damagepersec;
-.float fire_endtime;
.float fire_deathtype;
.entity fire_owner;
.float fire_hitsound;
-.entity fire_burner;
-
-void fireburner_think(entity this);
-
-float Fire_IsBurning(entity e);
float Fire_AddDamage(entity e, entity o, float d, float t, float dt);
void Fire_ApplyDamage(entity e);
-void Fire_ApplyEffect(entity e);
-
IntrusiveList g_damagedbycontents;
STATIC_INIT(g_damagedbycontents) { g_damagedbycontents = IL_NEW(); }