]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/sv_main.qc
Purge client/defs.qh
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / sv_main.qc
index 367cc99b7a64f3f45f25a2242b8ec0c350ba1219..4969c51058bdabd930f5fa09505a09f6f3486431 100644 (file)
@@ -4,6 +4,8 @@
 #include "g_hook.qh"
 #include "g_damage.qh"
 #include "g_world.qh"
+#include "spawnpoints.qh"
+#include <server/gamelog.qh>
 
 #include "bot/api.qh"
 
@@ -11,6 +13,7 @@
 
 #include <server/mutators/_mod.qh>
 #include "weapons/csqcprojectile.qh"
+#include <server/weapons/common.qh>
 #include <server/compat/quake3.qh>
 
 #include "../common/constants.qh"
 
 void CreatureFrame_hotliquids(entity this)
 {
-       if (this.dmgtime >= time)
+       if (this.contents_damagetime >= time)
        {
                return;
        }
 
-       this.dmgtime = time + autocvar_g_balance_contents_damagerate;
+       this.contents_damagetime = time + autocvar_g_balance_contents_damagerate;
 
        if (this.flags & FL_PROJECTILE)
        {
@@ -46,7 +49,14 @@ void CreatureFrame_hotliquids(entity this)
        }
        else
        {
-               if (this.watertype == CONTENT_LAVA)
+               if (STAT(FROZEN, this))
+               {
+                       if (this.watertype == CONTENT_LAVA)
+                               Damage(this, NULL, NULL, 10000, DEATH_LAVA.m_id, DMG_NOWEP, this.origin, '0 0 0');
+                       else if (this.watertype == CONTENT_SLIME)
+                               Damage(this, NULL, NULL, 10000, DEATH_SLIME.m_id, DMG_NOWEP, this.origin, '0 0 0');
+               }
+               else if (this.watertype == CONTENT_LAVA)
                {
                        if (this.watersound_finished < time)
                        {
@@ -76,7 +86,7 @@ void CreatureFrame_Liquids(entity this)
                if (!(this.flags & FL_INWATER))
                {
                        this.flags |= FL_INWATER;
-                       this.dmgtime = 0;
+                       this.contents_damagetime = 0;
                }
 
                CreatureFrame_hotliquids(this);
@@ -87,9 +97,8 @@ void CreatureFrame_Liquids(entity this)
                {
                        // play leave water sound
                        this.flags &= ~FL_INWATER;
-                       this.dmgtime = 0;
+                       this.contents_damagetime = 0;
                }
-               this.air_finished = time + autocvar_g_balance_contents_drowndelay;
        }
 }