// messages and sounds
Send_Notification(NOTIF_ALL, NULL, MSG_INFO, APP_NUM(flag.team, INFO_CTF_PICKUP), player.netname);
+ Send_Notification(NOTIF_ALL_SPEC, NULL, MSG_ANNCE, APP_TEAM_NUM(flag.team, ANNCE_CTF_SPEC_PICKUP));
+
if(ctf_stalemate)
Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_CTF_STALEMATE_CARRIER);
if(!flag.team)
else if(CTF_DIFFTEAM(player, flag))
{
Send_Notification(NOTIF_ONE, player, MSG_CENTER, APP_TEAM_NUM(flag.team, CENTER_CTF_PICKUP));
- Send_Notification(NOTIF_ONE, player, MSG_ANNCE, ANNCE_CTF_PICKUP);
+ Send_Notification(NOTIF_ONE_ONLY, player, MSG_ANNCE, ANNCE_CTF_PICKUP);
}
else
Send_Notification(NOTIF_ONE, player, MSG_CENTER, ((SAME_TEAM(player, flag)) ? CENTER_CTF_PICKUP_RETURN : CENTER_CTF_PICKUP_RETURN_ENEMY), Team_ColorCode(flag.team));
Send_Notification(NOTIF_TEAM_EXCEPT, player, MSG_CHOICE, APP_NUM(flag.team, CHOICE_CTF_PICKUP_TEAM), Team_ColorCode(player.team), player.netname);
- Send_Notification(NOTIF_TEAM_EXCEPT, player, MSG_ANNCE, ANNCE_CTF_PICKUP_TEAM);
+ Send_Notification(NOTIF_TEAM_ONLY_EXCEPT, player, MSG_ANNCE, ANNCE_CTF_PICKUP_TEAM);
if(!flag.team)
FOREACH_CLIENT(IS_PLAYER(it) && it != player && DIFF_TEAM(it, player), { Send_Notification(NOTIF_ONE, it, MSG_CHOICE, CHOICE_CTF_PICKUP_ENEMY_NEUTRAL, Team_ColorCode(player.team), player.netname); });
{
if(SAME_TEAM(player, it)) {
Send_Notification(NOTIF_ONE, it, MSG_CHOICE, APP_TEAM_NUM(flag.team, CHOICE_CTF_PICKUP_TEAM), Team_ColorCode(player.team), player.netname);
- Send_Notification(NOTIF_ONE, it, MSG_ANNCE, ANNCE_CTF_PICKUP_TEAM);
+ Send_Notification(NOTIF_ONE_ONLY, it, MSG_ANNCE, ANNCE_CTF_PICKUP_TEAM);
} else {
Send_Notification(NOTIF_ONE, it, MSG_CHOICE, ((SAME_TEAM(flag, player)) ? CHOICE_CTF_PICKUP_ENEMY_TEAM : CHOICE_CTF_PICKUP_ENEMY), Team_ColorCode(player.team), player.netname);
- Send_Notification(NOTIF_ONE, it, MSG_ANNCE, ANNCE_CTF_PICKUP_ENEMY);
+ Send_Notification(NOTIF_ONE_ONLY, it, MSG_ANNCE, ANNCE_CTF_PICKUP_ENEMY);
}
}
});
MSG_ANNCE_NOTIF(CTF_PICKUP, N__ALWAYS, "ctf_pickup", CH_INFO, VOL_BASEVOICE, ATTEN_NONE, ANNCE_DEFTIME)
MSG_ANNCE_NOTIF(CTF_PICKUP_TEAM, N__ALWAYS, "ctf_pickup_team", CH_INFO, VOL_BASEVOICE, ATTEN_NONE, ANNCE_DEFTIME)
MSG_ANNCE_NOTIF(CTF_PICKUP_ENEMY, N__ALWAYS, "ctf_pickup_enemy", CH_INFO, VOL_BASEVOICE, ATTEN_NONE, ANNCE_DEFTIME)
+ MULTITEAM_ANNCE(CTF_SPEC_PICKUP, N__ALWAYS, "ctf_spec_pickup_%s",CH_INFO, VOL_BASEVOICE, ATTEN_NONE, ANNCE_DEFTIME)
// MSG_MEDAL_NOTIFICATIONS
CASE(NOTIF, TEAM)
/** send only to X team and their spectators, except for Y person and their spectators */
CASE(NOTIF, TEAM_EXCEPT)
+ /** send only to X team; don't include spectators */
+ CASE(NOTIF, TEAM_ONLY)
+ /** send to team X team except for Y person; don't include spectators */
+ CASE(NOTIF, TEAM_ONLY_EXCEPT)
/** send to everyone */
CASE(NOTIF, ALL)
/** send to everyone except X person and their spectators */
CASE(NOTIF, ALL_EXCEPT)
+ /** send to all spectators **/
+ CASE(NOTIF, ALL_SPEC)
ENUMCLASS_END(NOTIF)
string Get_Notif_BroadcastName(NOTIF broadcast)
{
case NOTIF_ONE: return "NOTIF_ONE";
case NOTIF_ONE_ONLY: return "NOTIF_ONE_ONLY";
+ case NOTIF_ALL_SPEC: return "NOTIF_ALL_SPEC";
case NOTIF_ALL_EXCEPT: return "NOTIF_ALL_EXCEPT";
case NOTIF_ALL: return "NOTIF_ALL";
case NOTIF_TEAM: return "NOTIF_TEAM";
case NOTIF_TEAM_EXCEPT: return "NOTIF_TEAM_EXCEPT";
+ case NOTIF_TEAM_ONLY: return "NOTIF_TEAM_ONLY";
+ case NOTIF_TEAM_ONLY_EXCEPT: return "NOTIF_TEAM_ONLY_EXCEPT";
}
LOG_WARNF("Get_Notif_BroadcastName(%d): Improper broadcast!", broadcast);
return "";