// TODO: writespectatable?
// Function is used to send a generic centerprint whose content CSQC gets to decide (gentle version or not in the below cases)
-void Send_CSQC_Centerprint(entity e, string s1, float msg, float type)
+void Send_CSQC_Centerprint(entity e, string s1, string s2, float msg, float type)
{
if (clienttype(e) == CLIENTTYPE_REAL)
{
WriteByte(MSG_ONE, TE_CSQC_NOTIFY);
WriteByte(MSG_ONE, CSQC_CENTERPRINT);
WriteString(MSG_ONE, s1);
+ WriteString(MSG_ONE, s2);
WriteShort(MSG_ONE, msg);
WriteByte(MSG_ONE, type);
}
{
if (deathtype == DEATH_TEAMCHANGE || deathtype == DEATH_AUTOTEAMCHANGE)
msg = ColoredTeamName(targ.team); // TODO: check if needed?
- Send_CSQC_Centerprint(targ, msg, deathtype, MSG_SUICIDE);
+ Send_CSQC_Centerprint(targ, msg, "", deathtype, MSG_SUICIDE);
if(deathtype != DEATH_TEAMCHANGE && deathtype != DEATH_QUIET)
{
if (targ.killcount > 2)
msg = ftos(targ.killcount);
+ if(teams_matter && attacker.team == targ.team)
+ {
+ if(attacker.team == COLOR_TEAM1)
+ deathtype = KILL_TEAM_RED;
+ else
+ deathtype = KILL_TEAM_BLUE;
+ }
+
Send_KillNotification(s, msg, ftos(w), deathtype, MSG_SUICIDE);
}
else if (attacker.classname == "player" || attacker.classname == "gib")
{
if(teams_matter && attacker.team == targ.team)
{
- type = KILL_TEAM;
+ if(attacker.team == COLOR_TEAM1)
+ type = KILL_TEAM_RED;
+ else
+ type = KILL_TEAM_BLUE;
GiveFrags(attacker, targ, -1);
+ Send_CSQC_Centerprint(attacker, s, "", type, MSG_KILL);
+
if (targ.killcount > 2) {
msg = ftos(targ.killcount);
- a = s;
}
+
if (attacker.killcount > 2) {
msg = ftos(attacker.killcount);
type = KILL_TEAM_SPREE;
}
+ Send_KillNotification(a, s, msg, type, MSG_KILL);
attacker.killcount = 0;
LogDeath("tk", deathtype, attacker, targ);
- Send_CSQC_Centerprint(attacker, s, type, MSG_KILL);
- Send_KillNotification(a, msg, "", type, MSG_KILL);
}
else
{
checkrules_firstblood = TRUE;
Send_KillNotification(a, "", "", KILL_FIRST_BLOOD, MSG_KILL);
// TODO: make these print at newline if they dont
- Send_CSQC_Centerprint(attacker, "", KILL_FIRST_BLOOD, MSG_KILL);
- Send_CSQC_Centerprint(targ, "", KILL_FIRST_VICTIM, MSG_KILL);
+ Send_CSQC_Centerprint(attacker, "", "", KILL_FIRST_BLOOD, MSG_KILL);
+ Send_CSQC_Centerprint(targ, "", "", KILL_FIRST_VICTIM, MSG_KILL);
}
if((cvar("sv_fragmessage_information_typefrag")) && (targ.BUTTON_CHAT)) {
- Send_CSQC_Centerprint(attacker, s, KILL_TYPEFRAG, MSG_KILL);
- Send_CSQC_Centerprint(targ, a, KILL_TYPEFRAGGED, MSG_KILL);
+ Send_CSQC_Centerprint(attacker, s, GetAdvancedDeathReports(targ), KILL_TYPEFRAG, MSG_KILL);
+ Send_CSQC_Centerprint(targ, a, GetAdvancedDeathReports(attacker), KILL_TYPEFRAGGED, MSG_KILL);
} else {
- Send_CSQC_Centerprint(attacker, s, KILL_FRAG, MSG_KILL);
- Send_CSQC_Centerprint(targ, a, KILL_FRAGGED, MSG_KILL);
+ Send_CSQC_Centerprint(attacker, s, GetAdvancedDeathReports(targ), KILL_FRAG, MSG_KILL);
+ Send_CSQC_Centerprint(targ, a, GetAdvancedDeathReports(attacker), KILL_FRAGGED, MSG_KILL);
}
+
attacker.taunt_soundtime = time + 1;
// TODO: fix this?
}
else
{
- Send_CSQC_Centerprint(targ, "", deathtype, MSG_KILL_ACTION);
+ Send_CSQC_Centerprint(targ, "", "", deathtype, MSG_KILL_ACTION);
if (deathtype == DEATH_HURTTRIGGER && inflictor.message != "")
msg = inflictor.message;
else if (deathtype == DEATH_CUSTOM)