X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcl_player.qc;h=c6e28bc2b4a290cd08c04a7d5939d3045635b880;hb=5e3a7beca384caa6f3da36fe07b29aff942e7b3e;hp=05a3b4544fe9ecfcd8892d6faf15a3ad0e410a0a;hpb=3c8d113d1e9e95f7fecc1199d609697e333965ae;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index 05a3b4544..c6e28bc2b 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -246,7 +246,7 @@ void player_anim (void) else deadbits = ANIMSTATE_DEAD2; float animbits = deadbits; - if(self.freezetag_frozen) + if(self.frozen) animbits |= ANIMSTATE_FROZEN; if(self.crouch) animbits |= ANIMSTATE_DUCK; @@ -414,7 +414,7 @@ void calculate_player_respawn_time() else self.respawn_countdown = -1; // do not count down - if(g_cts || autocvar_g_forced_respawn) + if(autocvar_g_forced_respawn) self.respawn_flags = self.respawn_flags | RESPAWN_FORCE; } @@ -618,7 +618,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht if(self.alivetime) { - PlayerStats_Event(self, PLAYERSTATS_ALIVETIME, time - self.alivetime); + PS_GR_P_ADDVAL(self, PLAYERSTATS_ALIVETIME, time - self.alivetime); self.alivetime = 0; } @@ -652,7 +652,6 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht // print an obituary message Obituary (attacker, inflictor, self, deathtype); - race_PreDie(); // increment frag counter for used weapon type float w; @@ -685,6 +684,9 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht // when we get here, player actually dies + Unfreeze(self); // remove any icy remains + self.health = 0; // Unfreeze resets health, so we need to set it back + // clear waypoints WaypointSprite_PlayerDead(); // throw a weapon @@ -750,7 +752,7 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f // 0 = reject // -1 = fake accept { - string msgstr, colorstr, cmsgstr, namestr, fullmsgstr, sourcemsgstr, fullcmsgstr, sourcecmsgstr; + string msgstr, colorstr, cmsgstr, namestr, fullmsgstr, sourcemsgstr, fullcmsgstr, sourcecmsgstr, colorprefix; float flood; var .float flood_field; entity head; @@ -795,14 +797,19 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f else namestr = source.netname; + if(strdecolorize(namestr) == namestr) + colorprefix = "^3"; + else + colorprefix = "^7"; + if(msgin != "") { if(privatesay) { - msgstr = strcat("\{1}\{13}* ^3", namestr, "^3 tells you: ^7"); + msgstr = strcat("\{1}\{13}* ", colorprefix, namestr, "^3 tells you: ^7"); privatemsgprefixlen = strlen(msgstr); msgstr = strcat(msgstr, msgin); - cmsgstr = strcat(colorstr, "^3", namestr, "^3 tells you:\n^7", msgin); + cmsgstr = strcat(colorstr, colorprefix, namestr, "^3 tells you:\n^7", msgin); if(autocvar_g_chat_teamcolors) privatemsgprefix = strcat("\{1}\{13}* ^3You tell ", playername(privatesay), ": ^7"); else @@ -810,12 +817,12 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f } else if(teamsay) { - msgstr = strcat("\{1}\{13}", colorstr, "(^3", namestr, colorstr, ") ^7", msgin); - cmsgstr = strcat(colorstr, "(^3", namestr, colorstr, ")\n^7", msgin); + msgstr = strcat("\{1}\{13}", colorstr, "(", colorprefix, namestr, colorstr, ") ^7", msgin); + cmsgstr = strcat(colorstr, "(", colorprefix, namestr, colorstr, ")\n^7", msgin); } else { - msgstr = strcat("\{1}", namestr, "^7: ", msgin); + msgstr = strcat("\{1}", colorprefix, namestr, "^7: ", msgin); cmsgstr = ""; } msgstr = strcat(strreplace("\n", " ", msgstr), "\n"); // newlines only are good for centerprint