From: Samual Lenks Date: Thu, 12 Sep 2013 16:29:37 +0000 (-0400) Subject: Merge remote-tracking branch 'origin/master' into samual/notification_updates X-Git-Tag: xonotic-v0.8.0~341^2~1 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=719b47d60479f233baa8719e66e73a60bff28176;p=xonotic%2Fxonotic-data.pk3dir.git Merge remote-tracking branch 'origin/master' into samual/notification_updates Conflicts: qcsrc/client/announcer.qc qcsrc/common/notifications.qh qcsrc/server/g_damage.qc qcsrc/server/mutators/gamemode_ctf.qc --- 719b47d60479f233baa8719e66e73a60bff28176 diff --cc qcsrc/common/notifications.qh index 1228a9c4a,ce2842ea8..95341c1fa --- a/qcsrc/common/notifications.qh +++ b/qcsrc/common/notifications.qh @@@ -217,105 -194,46 +217,105 @@@ void Send_Notification_WOCOVA If you send a notification with mismatching arguments, Send_Notification() will error. */ +#define MULTITEAM_ANNCE(default,prefix,teams,channel,sound,volume,position) \ + MSG_ANNCE_NOTIF(default, prefix##RED, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_1)), volume, position) \ + MSG_ANNCE_NOTIF(default, prefix##BLUE, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_2)), volume, position) \ + #if teams >= 3 \ + MSG_ANNCE_NOTIF(default, prefix##YELLOW, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_3)), volume, position) \ + #endif \ + #if teams >= 4 \ + MSG_ANNCE_NOTIF(default, prefix##PINK, channel, sprintf(sound, strtolower(STATIC_NAME_TEAM_4)), volume, position) \ + #endif #define MSG_ANNCE_NOTIFICATIONS \ - MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AIRSHOT, CH_INFO, "airshot", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AMAZING, CH_INFO, "amazing", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AWESOME, CH_INFO, "awesome", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_BOTLIKE, CH_INFO, "botlike", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_ACHIEVEMENT_ELECTROBITCH, CH_INFO, "electrobitch", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_IMPRESSIVE, CH_INFO, "impressive", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_YODA, CH_INFO, "yoda", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_BEGIN, CH_INFO, "begin", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_03, CH_INFO, "03kills", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_05, CH_INFO, "05kills", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_10, CH_INFO, "10kills", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_15, CH_INFO, "15kills", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_20, CH_INFO, "20kills", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_25, CH_INFO, "25kills", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_30, CH_INFO, "30kills", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_MINSTAGIB_LASTSECOND, CH_INFO, "lastsecond", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_MINSTAGIB_NARROWLY, CH_INFO, "narrowly", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_MINSTAGIB_TERMINATED, CH_INFO, "terminated", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_MULTIFRAG, CH_INFO, "multifrag", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_1, CH_INFO, "1", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_2, CH_INFO, "2", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_3, CH_INFO, "3", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_4, CH_INFO, "4", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_5, CH_INFO, "5", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_6, CH_INFO, "6", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_7, CH_INFO, "7", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_8, CH_INFO, "8", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_9, CH_INFO, "9", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_10, CH_INFO, "10", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_1, CH_INFO, "1", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_2, CH_INFO, "2", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_3, CH_INFO, "3", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_4, CH_INFO, "4", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_5, CH_INFO, "5", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_6, CH_INFO, "6", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_7, CH_INFO, "7", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_8, CH_INFO, "8", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_9, CH_INFO, "9", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_10, CH_INFO, "10", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_1, CH_INFO, "1", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_2, CH_INFO, "2", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_3, CH_INFO, "3", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_4, CH_INFO, "4", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_5, CH_INFO, "5", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_6, CH_INFO, "6", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_7, CH_INFO, "7", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_8, CH_INFO, "8", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_9, CH_INFO, "9", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_10, CH_INFO, "10", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_1, CH_INFO, "1", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_2, CH_INFO, "2", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_3, CH_INFO, "3", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_4, CH_INFO, "4", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_5, CH_INFO, "5", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_6, CH_INFO, "6", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_7, CH_INFO, "7", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_8, CH_INFO, "8", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_9, CH_INFO, "9", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_10, CH_INFO, "10", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_1, CH_INFO, "1", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_2, CH_INFO, "2", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_3, CH_INFO, "3", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_4, CH_INFO, "4", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_5, CH_INFO, "5", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_6, CH_INFO, "6", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_7, CH_INFO, "7", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_8, CH_INFO, "8", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_9, CH_INFO, "9", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_10, CH_INFO, "10", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_1, CH_INFO, "1", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_2, CH_INFO, "2", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_3, CH_INFO, "3", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_4, CH_INFO, "4", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_5, CH_INFO, "5", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_6, CH_INFO, "6", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_7, CH_INFO, "7", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_8, CH_INFO, "8", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_9, CH_INFO, "9", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_10, CH_INFO, "10", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_PREPARE, CH_INFO, "prepareforbattle", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_1, CH_INFO, "1fragleft", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_2, CH_INFO, "2fragsleft", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_3, CH_INFO, "3fragsleft", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_REMAINING_MIN_1, CH_INFO, "1minuteremains", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_REMAINING_MIN_5, CH_INFO, "5minutesremain", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_TIMEOUT, CH_INFO, "timeoutcalled", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_VOTE_ACCEPT, CH_INFO, "voteaccept", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_VOTE_CALL, CH_INFO, "votecall", VOL_BASEVOICE, ATTN_NONE) \ - MSG_ANNCE_NOTIF(2, ANNCE_VOTE_FAIL, CH_INFO, "votefail", VOL_BASEVOICE, ATTN_NONE) + MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AIRSHOT, CH_INFO, "airshot", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AMAZING, CH_INFO, "amazing", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_AWESOME, CH_INFO, "awesome", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_BOTLIKE, CH_INFO, "botlike", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_ACHIEVEMENT_ELECTROBITCH, CH_INFO, "electrobitch", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_IMPRESSIVE, CH_INFO, "impressive", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_ACHIEVEMENT_YODA, CH_INFO, "yoda", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_BEGIN, CH_INFO, "begin", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_03, CH_INFO, "03kills", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_05, CH_INFO, "05kills", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_10, CH_INFO, "10kills", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_15, CH_INFO, "15kills", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_20, CH_INFO, "20kills", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_25, CH_INFO, "25kills", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_KILLSTREAK_30, CH_INFO, "30kills", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_MINSTAGIB_LASTSECOND, CH_INFO, "lastsecond", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_MINSTAGIB_NARROWLY, CH_INFO, "narrowly", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_MINSTAGIB_TERMINATED, CH_INFO, "terminated", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(0, ANNCE_MULTIFRAG, CH_INFO, "multifrag", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_NUM_1, CH_INFO, "1", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_NUM_2, CH_INFO, "2", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_NUM_3, CH_INFO, "3", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_NUM_4, CH_INFO, "4", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_NUM_5, CH_INFO, "5", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_NUM_6, CH_INFO, "6", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_NUM_7, CH_INFO, "7", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_NUM_8, CH_INFO, "8", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_NUM_9, CH_INFO, "9", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_NUM_10, CH_INFO, "10", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_1, CH_INFO, "1", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_2, CH_INFO, "2", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_3, CH_INFO, "3", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_4, CH_INFO, "4", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(2, ANNCE_NUM_GAMESTART_5, CH_INFO, "5", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_6, CH_INFO, "6", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_7, CH_INFO, "7", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_8, CH_INFO, "8", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_9, CH_INFO, "9", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_GAMESTART_10, CH_INFO, "10", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_1, CH_INFO, "1", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_2, CH_INFO, "2", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_3, CH_INFO, "3", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_4, CH_INFO, "4", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_5, CH_INFO, "5", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_6, CH_INFO, "6", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_7, CH_INFO, "7", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_8, CH_INFO, "8", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_9, CH_INFO, "9", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_IDLE_10, CH_INFO, "10", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_1, CH_INFO, "1", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_2, CH_INFO, "2", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_3, CH_INFO, "3", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_4, CH_INFO, "4", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_5, CH_INFO, "5", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_6, CH_INFO, "6", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_7, CH_INFO, "7", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_8, CH_INFO, "8", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_9, CH_INFO, "9", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_KILL_10, CH_INFO, "10", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_1, CH_INFO, "1", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_2, CH_INFO, "2", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_3, CH_INFO, "3", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_4, CH_INFO, "4", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_5, CH_INFO, "5", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_6, CH_INFO, "6", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_7, CH_INFO, "7", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_8, CH_INFO, "8", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_9, CH_INFO, "9", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_RESPAWN_10, CH_INFO, "10", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_1, CH_INFO, "1", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_2, CH_INFO, "2", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(2, ANNCE_NUM_ROUNDSTART_3, CH_INFO, "3", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_4, CH_INFO, "4", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_5, CH_INFO, "5", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_6, CH_INFO, "6", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_7, CH_INFO, "7", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_8, CH_INFO, "8", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_9, CH_INFO, "9", VOL_BASEVOICE, ATTEN_NONE) \ ++ MSG_ANNCE_NOTIF(0, ANNCE_NUM_ROUNDSTART_10, CH_INFO, "10", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_PREPARE, CH_INFO, "prepareforbattle", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_1, CH_INFO, "1fragleft", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_2, CH_INFO, "2fragsleft", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(1, ANNCE_REMAINING_FRAG_3, CH_INFO, "3fragsleft", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_REMAINING_MIN_1, CH_INFO, "1minuteremains", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_REMAINING_MIN_5, CH_INFO, "5minutesremain", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_TIMEOUT, CH_INFO, "timeoutcalled", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_VOTE_ACCEPT, CH_INFO, "voteaccept", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_VOTE_CALL, CH_INFO, "votecall", VOL_BASEVOICE, ATTEN_NONE) \ + MSG_ANNCE_NOTIF(2, ANNCE_VOTE_FAIL, CH_INFO, "votefail", VOL_BASEVOICE, ATTEN_NONE) #define MULTITEAM_INFO(default,prefix,teams,strnum,flnum,args,hudargs,icon,normal,gentle) \ MSG_INFO_NOTIF(default, prefix##RED, strnum, flnum, args, hudargs, sprintf(icon, strtolower(STATIC_NAME_TEAM_1)), TCR(normal, COL_TEAM_1, strtoupper(NAME_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(NAME_TEAM_1))) \ diff --cc qcsrc/server/g_damage.qc index 6832a54d9,61b5add2b..61bde55c7 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@@ -143,14 -143,14 +143,14 @@@ void GiveFrags (entity attacker, entit GiveFrags_randomweapons.classname = "GiveFrags_randomweapons"; } - if(inWarmupStage) + if(warmup_stage) - WEPSET_COPY_EA(GiveFrags_randomweapons, warmup_start_weapons); + GiveFrags_randomweapons.weapons = warmup_start_weapons; else - WEPSET_COPY_EA(GiveFrags_randomweapons, start_weapons); + GiveFrags_randomweapons.weapons = start_weapons; // all others (including the culprit): remove - WEPSET_ANDNOT_EE(GiveFrags_randomweapons, attacker); - WEPSET_ANDNOT_EW(GiveFrags_randomweapons, culprit); + GiveFrags_randomweapons.weapons &= ~attacker.weapons; + GiveFrags_randomweapons.weapons &= ~WepSet_FromWeapon(culprit); // among the remaining ones, choose one by random W_RandomWeapons(GiveFrags_randomweapons, 1); diff --cc qcsrc/server/mutators/gamemode_ctf.qc index e4b3a04e3,d2fc1e993..5a9dd79cf --- a/qcsrc/server/mutators/gamemode_ctf.qc +++ b/qcsrc/server/mutators/gamemode_ctf.qc @@@ -479,15 -500,31 +479,14 @@@ void ctf_Handle_Pickup(entity flag, ent } // messages and sounds -- Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_PICKUP_), player.netname); - ++ Send_Notification(NOTIF_ALL, world, MSG_INFO, APP_TEAM_ENT_2(flag, INFO_CTF_PICKUP_), player.netname); + Send_Notification(NOTIF_ONE, player, MSG_CENTER, APP_TEAM_ENT_2(flag, CENTER_CTF_PICKUP_)); + if(ctf_stalemate) { Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_CTF_STALEMATE_CARRIER); } + + Send_Notification(NOTIF_TEAM_EXCEPT, player, MSG_CHOICE, CHOICE_CTF_PICKUP_TEAM, Team_ColorCode(player.team), player.netname); + Send_Notification(NOTIF_TEAM, flag, MSG_CHOICE, CHOICE_CTF_PICKUP_ENEMY, Team_ColorCode(player.team), player.netname); + - sound(player, CH_TRIGGER, flag.snd_flag_taken, VOL_BASE, ATTN_NONE); + sound(player, CH_TRIGGER, flag.snd_flag_taken, VOL_BASE, ATTEN_NONE); - - FOR_EACH_REALPLAYER(tmp_player) - { - if(tmp_player == player) - { - Send_Notification(NOTIF_ONE, tmp_player, MSG_CENTER, APP_TEAM_ENT_2(flag, CENTER_CTF_PICKUP_)); - if(ctf_stalemate) { Send_Notification(NOTIF_ONE, player, MSG_CENTER, CENTER_CTF_STALEMATE_CARRIER); } - } - else if(!IsDifferentTeam(tmp_player, player) && tmp_player != player) - { - if(tmp_player.PICKUP_TEAM_VERBOSE) - Send_Notification(NOTIF_ONE, tmp_player, MSG_CENTER, CENTER_CTF_PICKUP_TEAM_VERBOSE, Team_ColorCode(player.team), player.netname); - else - Send_Notification(NOTIF_ONE, tmp_player, MSG_CENTER, CENTER_CTF_PICKUP_TEAM, Team_ColorCode(player.team)); - } - else if(IsDifferentTeam(tmp_player, player)) - { - if(tmp_player.PICKUP_ENEMY_VERBOSE) - Send_Notification(NOTIF_ONE, tmp_player, MSG_CENTER, CENTER_CTF_PICKUP_ENEMY_VERBOSE, Team_ColorCode(player.team), player.netname); - else - Send_Notification(NOTIF_ONE, tmp_player, MSG_CENTER, CENTER_CTF_PICKUP_ENEMY, Team_ColorCode(player.team)); - } - } // scoring PlayerScore_Add(player, SP_CTF_PICKUPS, 1);