]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/g_damage.qh
Some more defs.qh cleanup, update gameplay hash
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / g_damage.qh
index 771bf216eebbc51f3641171af8e01f6b04e87055..2209bada1281feeaa39ba68e4527cc8ee72cceac 100644 (file)
     #include "spawnpoints.qh"
 #endif
 
+.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 dmg;
 .float dmg_edge;
 .float dmg_force;
@@ -40,6 +44,9 @@ void Damage_DamageInfo(vector org, float coredamage, float edgedamage, float rad
 
 float checkrules_firstblood;
 
+.float damagedbycontents;
+.float damagedbytriggers;
+
 float yoda;
 float damage_goodhits;
 float damage_gooddamage;
@@ -54,6 +61,9 @@ float damage_gooddamage;
 
 .int totalfrags;
 
+// used for custom deathtype
+string deathmessage;
+
 float IsFlying(entity a);
 
 void UpdateFrags(entity player, int f);
@@ -83,12 +93,27 @@ float Obituary_WeaponDeath(
 
 void Obituary(entity attacker, entity inflictor, entity targ, int deathtype, .entity weaponentity);
 
+// Frozen status effect
+//const int FROZEN_NOT              = 0;
+const int FROZEN_NORMAL             = 1;
+const int FROZEN_TEMP_REVIVING      = 2;
+const int FROZEN_TEMP_DYING         = 3;
+
+.float revival_time; // time at which player was last revived
+.float revive_speed; // NOTE: multiplier (anything above 1 is instaheal)
+.float freeze_time;
+.entity iceblock;
+.entity frozen_by; // for ice fields
+
 void Ice_Think(entity this);
 
-void Freeze(entity targ, float freeze_time, int frozen_type, bool show_waypoint);
+void Freeze(entity targ, float revivespeed, int frozen_type, bool show_waypoint);
 
 void Unfreeze(entity targ, bool reset_health);
 
+// WEAPONTODO
+#define DMG_NOWEP (weaponentities[0])
+
 // 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);