]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/sv_main.qc
Merge branch 'master' into mirceakitsune/sandbox
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / sv_main.qc
index 3f827527661dbd01353daa87c2e60bca1fc037da..e0722e7ede78d14773571a2eff866cf1a540677a 100644 (file)
@@ -1,10 +1,7 @@
 void CreatureFrame (void)
 {
 void CreatureFrame (void)
 {
-       local entity oldself;
-       local float dm;
-       
-       float damagerate; // where damagerate 5 means 5 hits per second (0.2 delay)
-       damagerate = (1 / bound(1, autocvar_g_balance_contents_damagerate, 100));
+       entity oldself;
+       float dm;
        
        oldself = self;
        for(self = world; (self = findfloat(self, damagedbycontents, TRUE)); )
        
        oldself = self;
        for(self = world; (self = findfloat(self, damagedbycontents, TRUE)); )
@@ -36,7 +33,7 @@ void CreatureFrame (void)
                                        if (!self.deadflag)
                                        if (self.pain_finished < time)
                                        {
                                        if (!self.deadflag)
                                        if (self.pain_finished < time)
                                        {
-                                               Damage (self, world, world, autocvar_g_balance_contents_playerdamage_drowning * damagerate, DEATH_DROWN, self.origin, '0 0 0');
+                                               Damage (self, world, world, autocvar_g_balance_contents_playerdamage_drowning * autocvar_g_balance_contents_damagerate, DEATH_DROWN, self.origin, '0 0 0');
                                                self.pain_finished = time + 0.5;
                                        }
                                }
                                                self.pain_finished = time + 0.5;
                                        }
                                }
@@ -44,7 +41,7 @@ void CreatureFrame (void)
                        
                        if (self.dmgtime < time)
                        {
                        
                        if (self.dmgtime < time)
                        {
-                               self.dmgtime = time + damagerate; 
+                               self.dmgtime = time + autocvar_g_balance_contents_damagerate; 
                                
                                if (!projectile)
                                {
                                
                                if (!projectile)
                                {
@@ -55,7 +52,7 @@ void CreatureFrame (void)
                                                        self.watersound_finished = time + 0.5;
                                                        sound (self, CH_PLAYER, "player/lava.wav", VOL_BASE, ATTN_NORM);
                                                }
                                                        self.watersound_finished = time + 0.5;
                                                        sound (self, CH_PLAYER, "player/lava.wav", VOL_BASE, ATTN_NORM);
                                                }
-                                               Damage (self, world, world, autocvar_g_balance_contents_playerdamage_lava * damagerate * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
+                                               Damage (self, world, world, autocvar_g_balance_contents_playerdamage_lava * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
                                        }
                                        else if (self.watertype == CONTENT_SLIME)
                                        {
                                        }
                                        else if (self.watertype == CONTENT_SLIME)
                                        {
@@ -64,12 +61,12 @@ void CreatureFrame (void)
                                                        self.watersound_finished = time + 0.5;
                                                        sound (self, CH_PLAYER, "player/slime.wav", VOL_BASE, ATTN_NORM);
                                                }
                                                        self.watersound_finished = time + 0.5;
                                                        sound (self, CH_PLAYER, "player/slime.wav", VOL_BASE, ATTN_NORM);
                                                }
-                                               Damage (self, world, world, autocvar_g_balance_contents_playerdamage_slime * damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
+                                               Damage (self, world, world, autocvar_g_balance_contents_playerdamage_slime * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
                                        }
                                }
                                else if ((self.watertype == CONTENT_LAVA) || (self.watertype == CONTENT_SLIME))
                                {
                                        }
                                }
                                else if ((self.watertype == CONTENT_LAVA) || (self.watertype == CONTENT_SLIME))
                                {
-                                       Damage (self, world, world, autocvar_g_balance_contents_projectiledamage * damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
+                                       Damage (self, world, world, autocvar_g_balance_contents_projectiledamage * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
                                }
                        }
                }
                                }
                        }
                }
@@ -131,8 +128,8 @@ void CreatureFrame (void)
                                }
                        }
                }
                                }
                        }
                }
-
-               self.oldvelocity = self.velocity;
+               
+        self.oldvelocity = self.velocity;
        }
        self = oldself;
 }
        }
        self = oldself;
 }
@@ -245,6 +242,8 @@ void StartFrame (void)
 
        FOR_EACH_PLAYER(self)
                self.porto_forbidden = max(0, self.porto_forbidden - 1);
 
        FOR_EACH_PLAYER(self)
                self.porto_forbidden = max(0, self.porto_forbidden - 1);
+
+       MUTATOR_CALLHOOK(SV_StartFrame);
 }
 
 .vector originjitter;
 }
 
 .vector originjitter;
@@ -278,7 +277,7 @@ void SV_OnEntityPreSpawnFunction()
                        s = substring(s, 1, -1);
                }
 
                        s = substring(s, 1, -1);
                }
 
-               n = tokenize(s);
+               n = tokenize_console(s);
                for(i = 0; i < n; ++i)
                {
                        s = argv(i);
                for(i = 0; i < n; ++i)
                {
                        s = argv(i);