UpdateFrags(attacker, f);
}
+string Obituary_ExtraFragInfo(entity player) // Extra fragmessage information
+{
+ string health_output;
+ string ping_output;
+ string handicap_output;
+ string output;
+
+ // health/armor of attacker (person who killed you)
+ if(autocvar_sv_fragmessage_information_stats && (player.health >= 1))
+ health_output = strcat("^7(Health ^1", ftos(rint(player.health)), "^7 / Armor ^2", ftos(rint(player.armorvalue)), "^7)");
+
+ // ping display
+ if(autocvar_sv_fragmessage_information_ping)
+ ping_output = ((clienttype(player) == CLIENTTYPE_BOT) ? "^2Bot" : strcat("Ping ", ((player.ping >= 150) ? "^1" : "^2"), ftos(player.ping), "ms"));
+
+ // handicap display
+ if(autocvar_sv_fragmessage_information_handicap)
+ {
+ if(autocvar_sv_fragmessage_information_handicap == 2)
+ handicap_output = strcat(output, strcat("Handicap ^2", ((player.cvar_cl_handicap <= 1) ? "Off" : ftos(player.cvar_cl_handicap))));
+ else if(player.cvar_cl_handicap) // with _handicap 1, only show this if there actually is a handicap enabled.
+ handicap_output = strcat("Handicap ^2", ftos(player.cvar_cl_handicap));
+ }
+
+ output = strcat(health_output, (health_output ? " ^7(" : ((ping_output || handicap_output) ? "^7(" : "")),
+ ping_output, ((ping_output && handicap_output) ? "^7 / " : ""),
+ handicap_output, ((ping_output || handicap_output) ? "^7)" : ""));
+
+ // add new line to the beginning if there is a message
+ if(output) { output = strcat("\n", output); }
+
+ return output;
+}
+
string AppendItemcodes(string s, entity player)
{
float w;
}
if((autocvar_sv_fragmessage_information_typefrag) && (targ.BUTTON_CHAT)) {
- Send_CSQC_KillCenterprint(attacker, s, GetAdvancedDeathReports(targ), KILL_TYPEFRAG, MSG_KILL);
- Send_CSQC_KillCenterprint(targ, a, GetAdvancedDeathReports(attacker), KILL_TYPEFRAGGED, MSG_KILL);
+ Send_CSQC_KillCenterprint(attacker, s, Obituary_ExtraFragInfo(targ), KILL_TYPEFRAG, MSG_KILL);
+ Send_CSQC_KillCenterprint(targ, a, Obituary_ExtraFragInfo(attacker), KILL_TYPEFRAGGED, MSG_KILL);
} else {
- Send_CSQC_KillCenterprint(attacker, s, GetAdvancedDeathReports(targ), KILL_FRAG, MSG_KILL);
- Send_CSQC_KillCenterprint(targ, a, GetAdvancedDeathReports(attacker), KILL_FRAGGED, MSG_KILL);
+ Send_CSQC_KillCenterprint(attacker, s, Obituary_ExtraFragInfo(targ), KILL_FRAG, MSG_KILL);
+ Send_CSQC_KillCenterprint(targ, a, Obituary_ExtraFragInfo(attacker), KILL_FRAGGED, MSG_KILL);
}
attacker.taunt_soundtime = time + 1;
float logfile_open;
float logfile;
-string GetAdvancedDeathReports(entity enPlayer) // Extra fragmessage information
-{
- float nPlayerHealth = rint(enPlayer.health);
- float nPlayerArmor = rint(enPlayer.armorvalue);
- float nPlayerHandicap = enPlayer.cvar_cl_handicap;
- float nPlayerPing = rint(enPlayer.ping);
- string strPlayerPingColor;
- string strMessage;
-
- if(nPlayerPing >= 150)
- strPlayerPingColor = "^1";
- else
- strPlayerPingColor = "^2";
-
- if((autocvar_sv_fragmessage_information_stats) && (enPlayer.health >= 1))
- strMessage = strcat(strMessage, "^7(Health ^1", ftos(nPlayerHealth), "^7 / Armor ^2", ftos(nPlayerArmor), "^7)");
-
- if(autocvar_sv_fragmessage_information_ping) {
- if(clienttype(enPlayer) == CLIENTTYPE_BOT) // Bots have no ping
- strMessage = strcat(strMessage, " ^7(^2Bot");
- else
- strMessage = strcat(strMessage, " ^7(Ping ", strPlayerPingColor, ftos(nPlayerPing), "ms");
- if(autocvar_sv_fragmessage_information_handicap)
- if(autocvar_sv_fragmessage_information_handicap == 2)
- if(nPlayerHandicap <= 1)
- strMessage = strcat(strMessage, "^7 / Handicap ^2Off^7)");
- else
- strMessage = strcat(strMessage, "^7 / Handicap ^2", ftos(nPlayerHandicap), "^7)");
- else if not(nPlayerHandicap <= 1)
- strMessage = strcat(strMessage, "^7 / Handicap ^2", ftos(nPlayerHandicap), "^7)");
- else
- strMessage = strcat(strMessage, "^7)");
- } else if(autocvar_sv_fragmessage_information_handicap) {
- if(autocvar_sv_fragmessage_information_handicap == 2)
- if(nPlayerHandicap <= 1)
- strMessage = strcat(strMessage, "^7(Handicap ^2Off^7)");
- else
- strMessage = strcat(strMessage, "^7(Handicap ^2", ftos(nPlayerHandicap), "^7)");
- else if(nPlayerHandicap > 1)
- strMessage = strcat(strMessage, "^7(Handicap ^2", ftos(nPlayerHandicap), "^7)");
- }
-
- if(strMessage) // add new line to the beginning if there is a message
- strMessage = strcat("\n", strMessage);
-
- return strMessage;
-}
void bcenterprint(string s)
{
// TODO replace by MSG_ALL (would show it to spectators too, though)?