]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/cl_player.qc
Fix this bug: playing Arena the field score is never updated in the scoreboard. The...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / cl_player.qc
index ee6d11dfd455d2e8969e8b9a47975a766cb2d7f2..2fe7d512089e9e655b9d5a51491d03bb5ff53a73 100644 (file)
@@ -142,6 +142,7 @@ void CopyBody(float keepvelocity)
        self.movetype = oldself.movetype;
        self.nextthink = oldself.nextthink;
        self.solid = oldself.solid;
+       self.ballistics_density = oldself.ballistics_density;
        self.takedamage = oldself.takedamage;
        self.think = oldself.think;
        self.customizeentityforclient = oldself.customizeentityforclient;
@@ -165,14 +166,13 @@ void CopyBody(float keepvelocity)
 
 float player_getspecies()
 {
+       float s;
        get_model_parameters(self.playermodel, self.skinindex);
-       if(get_model_parameters_species >= 0)
-       {
-               get_model_parameters(string_null, 0);
-               return get_model_parameters_species;
-       }
+       s = get_model_parameters_species;
        get_model_parameters(string_null, 0);
-       return SPECIES_HUMAN;
+       if(s < 0)
+               return SPECIES_HUMAN;
+       return s;
 }
 
 void player_setupanimsformodel()
@@ -433,7 +433,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
        else
                Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16, self, attacker);
 
-       if((g_arena && numspawned < 2) || (g_ca && player_cnt < 2) && !inWarmupStage)
+       if((g_arena && numspawned < 2) || (g_ca && ca_players < required_ca_players) && !inWarmupStage)
                return;
 
        if (!g_minstagib)
@@ -622,6 +622,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
                self.movetype = MOVETYPE_TOSS;
                // shootable corpse
                self.solid = SOLID_CORPSE;
+               self.ballistics_density = cvar("g_ballistics_density_corpse");
                // don't stick to the floor
                self.flags &~= FL_ONGROUND;
                // dying animation
@@ -1202,7 +1203,10 @@ void LoadPlayerSounds(string f, float first)
        var .string field;
        fh = fopen(f, FILE_READ);
        if(fh < 0)
+       {
+               dprint("Player sound file not found: ", f, "\n");
                return;
+       }
        while((s = fgets(fh)))
        {
                if(tokenize_console(s) != 3)