From f0fd65b19f1160ab0b51e98ac6f3918469e0021d Mon Sep 17 00:00:00 2001 From: TimePath Date: Sun, 6 Mar 2016 17:11:17 +1100 Subject: [PATCH] Notifications: strong typing --- qcsrc/client/announcer.qc | 2 +- qcsrc/common/deathtypes/all.inc | 58 +-- qcsrc/common/deathtypes/all.qh | 4 +- .../mutators/mutator/campcheck/campcheck.qc | 2 +- .../mutators/mutator/instagib/instagib.qc | 2 +- qcsrc/common/mutators/mutator/nades/nades.qc | 2 +- qcsrc/common/notifications.inc | 462 +++++++++--------- qcsrc/common/notifications.qc | 278 ++++------- qcsrc/common/notifications.qh | 102 ++-- qcsrc/common/util.qc | 6 +- qcsrc/common/vehicles/sv_vehicles.qc | 4 +- qcsrc/lib/enumclass.qh | 4 +- qcsrc/server/cl_client.qc | 10 +- qcsrc/server/command/cmd.qc | 2 +- qcsrc/server/g_damage.qc | 8 +- qcsrc/server/g_world.qc | 2 +- qcsrc/server/mutators/mutator/gamemode_ca.qc | 4 +- .../mutators/mutator/gamemode_freezetag.qc | 4 +- .../mutators/mutator/gamemode_keyhunt.qc | 12 +- 19 files changed, 436 insertions(+), 532 deletions(-) diff --git a/qcsrc/client/announcer.qc b/qcsrc/client/announcer.qc index 680060cdb..dbf0cd807 100644 --- a/qcsrc/client/announcer.qc +++ b/qcsrc/client/announcer.qc @@ -81,7 +81,7 @@ void Announcer_Gamestart() { if(announcer_countdown) { - centerprint_kill(CPID_ROUND); + centerprint_kill(ORDINAL(CPID_ROUND)); if(announcer_countdown) { remove(announcer_countdown); diff --git a/qcsrc/common/deathtypes/all.inc b/qcsrc/common/deathtypes/all.inc index 32d063180..9e0f53a31 100644 --- a/qcsrc/common/deathtypes/all.inc +++ b/qcsrc/common/deathtypes/all.inc @@ -1,16 +1,16 @@ -REGISTER_DEATHTYPE(AUTOTEAMCHANGE, DEATH_SELF_AUTOTEAMCHANGE, NO_MSG, "") -REGISTER_DEATHTYPE(BUFF, NO_MSG, DEATH_MURDER_BUFF, "") -REGISTER_DEATHTYPE(CAMP, DEATH_SELF_CAMP, NO_MSG, "") +REGISTER_DEATHTYPE(AUTOTEAMCHANGE, DEATH_SELF_AUTOTEAMCHANGE, NULL, "") +REGISTER_DEATHTYPE(BUFF, NULL, DEATH_MURDER_BUFF, "") +REGISTER_DEATHTYPE(CAMP, DEATH_SELF_CAMP, NULL, "") REGISTER_DEATHTYPE(CHEAT, DEATH_SELF_CHEAT, DEATH_MURDER_CHEAT, "") -REGISTER_DEATHTYPE(CUSTOM, DEATH_SELF_CUSTOM, NO_MSG, "") +REGISTER_DEATHTYPE(CUSTOM, DEATH_SELF_CUSTOM, NULL, "") REGISTER_DEATHTYPE(DROWN, DEATH_SELF_DROWN, DEATH_MURDER_DROWN, "") REGISTER_DEATHTYPE(FALL, DEATH_SELF_FALL, DEATH_MURDER_FALL, "") REGISTER_DEATHTYPE(FIRE, DEATH_SELF_FIRE, DEATH_MURDER_FIRE, "") -REGISTER_DEATHTYPE(GENERIC, DEATH_SELF_GENERIC, NO_MSG, "") +REGISTER_DEATHTYPE(GENERIC, DEATH_SELF_GENERIC, NULL, "") REGISTER_DEATHTYPE(HURTTRIGGER, DEATH_SELF_VOID, DEATH_MURDER_VOID, "") -REGISTER_DEATHTYPE(KILL, DEATH_SELF_SUICIDE, NO_MSG, "") +REGISTER_DEATHTYPE(KILL, DEATH_SELF_SUICIDE, NULL, "") REGISTER_DEATHTYPE(LAVA, DEATH_SELF_LAVA, DEATH_MURDER_LAVA, "") -REGISTER_DEATHTYPE(MIRRORDAMAGE, DEATH_SELF_BETRAYAL, NO_MSG, "") +REGISTER_DEATHTYPE(MIRRORDAMAGE, DEATH_SELF_BETRAYAL, NULL, "") REGISTER_DEATHTYPE(MONSTER_MAGE, DEATH_SELF_MON_MAGE, DEATH_MURDER_MONSTER, "monster") REGISTER_DEATHTYPE(MONSTER_SHAMBLER_CLAW, DEATH_SELF_MON_SHAMBLER_CLAW, DEATH_MURDER_MONSTER, "monster") REGISTER_DEATHTYPE(MONSTER_SHAMBLER_SMASH, DEATH_SELF_MON_SHAMBLER_SMASH, DEATH_MURDER_MONSTER, "monster") @@ -24,38 +24,38 @@ REGISTER_DEATHTYPE(NADE_NAPALM, DEATH_SELF_NADE_NAPALM, DEAT REGISTER_DEATHTYPE(NADE_ICE, DEATH_SELF_NADE_ICE, DEATH_MURDER_NADE_ICE, "") REGISTER_DEATHTYPE(NADE_ICE_FREEZE, DEATH_SELF_NADE_ICE_FREEZE, DEATH_MURDER_NADE_ICE_FREEZE, "") REGISTER_DEATHTYPE(NADE_HEAL, DEATH_SELF_NADE_HEAL, DEATH_MURDER_NADE_HEAL, "") -REGISTER_DEATHTYPE(NOAMMO, DEATH_SELF_NOAMMO, NO_MSG, "") -REGISTER_DEATHTYPE(ROT, DEATH_SELF_ROT, NO_MSG, "") +REGISTER_DEATHTYPE(NOAMMO, DEATH_SELF_NOAMMO, NULL, "") +REGISTER_DEATHTYPE(ROT, DEATH_SELF_ROT, NULL, "") REGISTER_DEATHTYPE(SHOOTING_STAR, DEATH_SELF_SHOOTING_STAR, DEATH_MURDER_SHOOTING_STAR, "") REGISTER_DEATHTYPE(SLIME, DEATH_SELF_SLIME, DEATH_MURDER_SLIME, "") REGISTER_DEATHTYPE(SWAMP, DEATH_SELF_SWAMP, DEATH_MURDER_SWAMP, "") -REGISTER_DEATHTYPE(TEAMCHANGE, DEATH_SELF_TEAMCHANGE, NO_MSG, "") -REGISTER_DEATHTYPE(TELEFRAG, NO_MSG, DEATH_MURDER_TELEFRAG, "") +REGISTER_DEATHTYPE(TEAMCHANGE, DEATH_SELF_TEAMCHANGE, NULL, "") +REGISTER_DEATHTYPE(TELEFRAG, NULL, DEATH_MURDER_TELEFRAG, "") REGISTER_DEATHTYPE(TOUCHEXPLODE, DEATH_SELF_TOUCHEXPLODE, DEATH_MURDER_TOUCHEXPLODE, "") -REGISTER_DEATHTYPE(TURRET, DEATH_SELF_TURRET, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_EWHEEL, DEATH_SELF_TURRET_EWHEEL, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_FLAC, DEATH_SELF_TURRET_FLAC, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_HELLION, DEATH_SELF_TURRET_HELLION, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_HK, DEATH_SELF_TURRET_HK, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_MACHINEGUN, DEATH_SELF_TURRET_MACHINEGUN, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_MLRS, DEATH_SELF_TURRET_MLRS, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_PHASER, DEATH_SELF_TURRET_PHASER, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_PLASMA, DEATH_SELF_TURRET_PLASMA, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_TESLA, DEATH_SELF_TURRET_TESLA, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_WALK_GUN, DEATH_SELF_TURRET_WALK_GUN, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_WALK_MELEE, DEATH_SELF_TURRET_WALK_MELEE, NO_MSG, "turret") -REGISTER_DEATHTYPE(TURRET_WALK_ROCKET, DEATH_SELF_TURRET_WALK_ROCKET, NO_MSG, "turret") +REGISTER_DEATHTYPE(TURRET, DEATH_SELF_TURRET, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_EWHEEL, DEATH_SELF_TURRET_EWHEEL, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_FLAC, DEATH_SELF_TURRET_FLAC, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_HELLION, DEATH_SELF_TURRET_HELLION, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_HK, DEATH_SELF_TURRET_HK, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_MACHINEGUN, DEATH_SELF_TURRET_MACHINEGUN, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_MLRS, DEATH_SELF_TURRET_MLRS, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_PHASER, DEATH_SELF_TURRET_PHASER, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_PLASMA, DEATH_SELF_TURRET_PLASMA, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_TESLA, DEATH_SELF_TURRET_TESLA, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_WALK_GUN, DEATH_SELF_TURRET_WALK_GUN, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_WALK_MELEE, DEATH_SELF_TURRET_WALK_MELEE, NULL, "turret") +REGISTER_DEATHTYPE(TURRET_WALK_ROCKET, DEATH_SELF_TURRET_WALK_ROCKET, NULL, "turret") REGISTER_DEATHTYPE(VH_BUMB_DEATH, DEATH_SELF_VH_BUMB_DEATH, DEATH_MURDER_VH_BUMB_DEATH, "vehicle") -REGISTER_DEATHTYPE(VH_BUMB_GUN, NO_MSG, DEATH_MURDER_VH_BUMB_GUN, "vehicle") +REGISTER_DEATHTYPE(VH_BUMB_GUN, NULL, DEATH_MURDER_VH_BUMB_GUN, "vehicle") REGISTER_DEATHTYPE(VH_CRUSH, DEATH_SELF_VH_CRUSH, DEATH_MURDER_VH_CRUSH, "vehicle") REGISTER_DEATHTYPE(VH_RAPT_BOMB, DEATH_SELF_VH_RAPT_BOMB, DEATH_MURDER_VH_RAPT_BOMB, "vehicle") -REGISTER_DEATHTYPE(VH_RAPT_CANNON, NO_MSG, DEATH_MURDER_VH_RAPT_CANNON, "vehicle") +REGISTER_DEATHTYPE(VH_RAPT_CANNON, NULL, DEATH_MURDER_VH_RAPT_CANNON, "vehicle") REGISTER_DEATHTYPE(VH_RAPT_DEATH, DEATH_SELF_VH_RAPT_DEATH, DEATH_MURDER_VH_RAPT_DEATH, "vehicle") REGISTER_DEATHTYPE(VH_RAPT_FRAGMENT, DEATH_SELF_VH_RAPT_BOMB, DEATH_MURDER_VH_RAPT_BOMB, "vehicle") REGISTER_DEATHTYPE(VH_SPID_DEATH, DEATH_SELF_VH_SPID_DEATH, DEATH_MURDER_VH_SPID_DEATH, "vehicle") -REGISTER_DEATHTYPE(VH_SPID_MINIGUN, NO_MSG, DEATH_MURDER_VH_SPID_MINIGUN, "vehicle") +REGISTER_DEATHTYPE(VH_SPID_MINIGUN, NULL, DEATH_MURDER_VH_SPID_MINIGUN, "vehicle") REGISTER_DEATHTYPE(VH_SPID_ROCKET, DEATH_SELF_VH_SPID_ROCKET, DEATH_MURDER_VH_SPID_ROCKET, "vehicle") REGISTER_DEATHTYPE(VH_WAKI_DEATH, DEATH_SELF_VH_WAKI_DEATH, DEATH_MURDER_VH_WAKI_DEATH, "vehicle") -REGISTER_DEATHTYPE(VH_WAKI_GUN, NO_MSG, DEATH_MURDER_VH_WAKI_GUN, "vehicle") +REGISTER_DEATHTYPE(VH_WAKI_GUN, NULL, DEATH_MURDER_VH_WAKI_GUN, "vehicle") REGISTER_DEATHTYPE(VH_WAKI_ROCKET, DEATH_SELF_VH_WAKI_ROCKET, DEATH_MURDER_VH_WAKI_ROCKET, "vehicle") -REGISTER_DEATHTYPE(WEAPON, NO_MSG, NO_MSG, "") +REGISTER_DEATHTYPE(WEAPON, NULL, NULL, "") diff --git a/qcsrc/common/deathtypes/all.qh b/qcsrc/common/deathtypes/all.qh index dcf7a7001..7dbbba87c 100644 --- a/qcsrc/common/deathtypes/all.qh +++ b/qcsrc/common/deathtypes/all.qh @@ -19,8 +19,8 @@ int dt_identity(int i) { return i; } this.m_id += DT_FIRST; \ this.nent_name = #id; \ this.death_msgextra = extra; \ - if (msg_death != NO_MSG) this.death_msgself = msg_death; \ - if (msg_death_by != NO_MSG) this.death_msgmurder = msg_death_by; \ + this.death_msgself = msg_death; \ + this.death_msgmurder = msg_death_by; \ } const int DEATH_WEAPONMASK = BITS(8); diff --git a/qcsrc/common/mutators/mutator/campcheck/campcheck.qc b/qcsrc/common/mutators/mutator/campcheck/campcheck.qc index 4916464a1..11286d9a2 100644 --- a/qcsrc/common/mutators/mutator/campcheck/campcheck.qc +++ b/qcsrc/common/mutators/mutator/campcheck/campcheck.qc @@ -10,7 +10,7 @@ REGISTER_MUTATOR(campcheck, cvar("g_campcheck")); MUTATOR_HOOKFUNCTION(campcheck, PlayerDies) { - Kill_Notification(NOTIF_ONE, frag_target, MSG_CENTER_CPID, CPID_CAMPCHECK); + Kill_Notification(NOTIF_ONE, frag_target, MSG_CENTER, CPID_CAMPCHECK); return false; } diff --git a/qcsrc/common/mutators/mutator/instagib/instagib.qc b/qcsrc/common/mutators/mutator/instagib/instagib.qc index 640e3d5b6..8eb4b9294 100644 --- a/qcsrc/common/mutators/mutator/instagib/instagib.qc +++ b/qcsrc/common/mutators/mutator/instagib/instagib.qc @@ -52,7 +52,7 @@ void instagib_stop_countdown(entity e) { if (!e.instagib_needammo) return; - Kill_Notification(NOTIF_ONE_ONLY, e, MSG_CENTER_CPID, CPID_INSTAGIB_FINDAMMO); + Kill_Notification(NOTIF_ONE_ONLY, e, MSG_CENTER, CPID_INSTAGIB_FINDAMMO); e.instagib_needammo = false; } void instagib_ammocheck() diff --git a/qcsrc/common/mutators/mutator/nades/nades.qc b/qcsrc/common/mutators/mutator/nades/nades.qc index b54ee9176..b5b97bbf1 100644 --- a/qcsrc/common/mutators/mutator/nades/nades.qc +++ b/qcsrc/common/mutators/mutator/nades/nades.qc @@ -822,7 +822,7 @@ void toss_nade(entity e, bool set_owner, vector _velocity, float _time) W_SetupShot(e, false, false, "", CH_WEAPON_A, 0); - Kill_Notification(NOTIF_ONE_ONLY, e, MSG_CENTER_CPID, CPID_NADES); + Kill_Notification(NOTIF_ONE_ONLY, e, MSG_CENTER, CPID_NADES); vector offset = (v_forward * autocvar_g_nades_throw_offset.x) + (v_right * autocvar_g_nades_throw_offset.y) diff --git a/qcsrc/common/notifications.inc b/qcsrc/common/notifications.inc index 140b36309..e723b8933 100644 --- a/qcsrc/common/notifications.inc +++ b/qcsrc/common/notifications.inc @@ -34,7 +34,7 @@ strnum: FLOAT: Number of STRING arguments (so that networking knows how many to send/receive) flnum: FLOAT: Number of FLOAT arguments (so that networking knows how many to send/receive) args: STRING: Arguments for Local_Notification_sprintf() - cpid: FLOAT: centerprint ID number (CPID_*), NO_CPID if no CPID is needed + cpid: FLOAT: centerprint ID number (CPID_*), CPID_Null if no CPID is needed durcnt: XPD(FLOAT, FLOAT): Duration/Countdown: extra arguments for centerprint messages normal: STRING: Normal message (string for sprintf when gentle messages are NOT enabled) gentle: STRING: Gentle message (string for sprintf when gentle messages ARE enabled) @@ -501,7 +501,7 @@ MULTITEAM_CENTER##teams(prefix, default, strnum, flnum, args, cpid, durcnt, normal, gentle) // MSG_CENTER_NOTIFICATIONS - MSG_CENTER_NOTIF(ALONE, 1, 0, 0, "", NO_CPID, "0 0", _("^F4You are now alone!"), "") + MSG_CENTER_NOTIF(ALONE, 1, 0, 0, "", CPID_Null, "0 0", _("^F4You are now alone!"), "") MSG_CENTER_NOTIF(ASSAULT_ATTACKING, 1, 0, 0, "", CPID_ASSAULT_ROLE, "0 0", _("^BGYou are attacking!"), "") MSG_CENTER_NOTIF(ASSAULT_DEFENDING, 1, 0, 0, "", CPID_ASSAULT_ROLE, "0 0", _("^BGYou are defending!"), "") @@ -516,7 +516,7 @@ MSG_CENTER_NOTIF(CAMPCHECK, 1, 0, 0, "", CPID_CAMPCHECK, "0 0", _("^F2Don't camp!"), "") - MSG_CENTER_NOTIF(COINTOSS, 1, 1, 0, "s1", NO_CPID, "0 0", _("^F2Throwing coin... Result: %s^F2!"), "") + MSG_CENTER_NOTIF(COINTOSS, 1, 1, 0, "s1", CPID_Null, "0 0", _("^F2Throwing coin... Result: %s^F2!"), "") MSG_CENTER_NOTIF(CTF_CAPTURESHIELD_FREE, 1, 0, 0, "", CPID_CTF_CAPSHIELD, "0 0", _("^BGYou are now free.\n^BGFeel free to ^F2try to capture^BG the flag again\n^BGif you think you will succeed."), "") MSG_CENTER_NOTIF(CTF_CAPTURESHIELD_INACTIVE, 1, 0, 0, "", CPID_CTF_CAPSHIELD, "0 0", _("^BGThis flag is currently inactive"), "") @@ -550,81 +550,81 @@ MSG_CENTER_NOTIF(CTF_STALEMATE_CARRIER, 1, 0, 0, "", CPID_STALEMATE, "0 0", _("^BGStalemate! Enemies can now see you on radar!"), "") MSG_CENTER_NOTIF(CTF_STALEMATE_OTHER, 1, 0, 0, "", CPID_STALEMATE, "0 0", _("^BGStalemate! Flag carriers can now be seen by enemies on radar!"), "") - MSG_CENTER_NOTIF(DEATH_MURDER_FRAG, 1, 1, 1, "spree_cen s1", NO_CPID, "0 0", _("^K3%sYou fragged ^BG%s"), _("^K3%sYou scored against ^BG%s")) - MSG_CENTER_NOTIF(DEATH_MURDER_FRAGGED, 1, 1, 1, "spree_cen s1", NO_CPID, "0 0", _("^K1%sYou were fragged by ^BG%s"), _("^K1%sYou were scored against by ^BG%s")) - MSG_CENTER_NOTIF(DEATH_MURDER_FRAGGED_VERBOSE, 1, 1, 4, "spree_cen s1 frag_stats", NO_CPID, "0 0", _("^K1%sYou were fragged by ^BG%s^BG%s"), _("^K1%sYou were scored against by ^BG%s^BG%s")) - MSG_CENTER_NOTIF(DEATH_MURDER_FRAG_VERBOSE, 1, 1, 2, "spree_cen s1 frag_ping", NO_CPID, "0 0", _("^K3%sYou fragged ^BG%s^BG%s"), _("^K3%sYou scored against ^BG%s^BG%s")) - MSG_CENTER_NOTIF(DEATH_MURDER_TYPEFRAG, 1, 1, 1, "spree_cen s1", NO_CPID, "0 0", _("^K1%sYou typefragged ^BG%s"), _("^K1%sYou scored against ^BG%s^K1 while they were typing")) - MSG_CENTER_NOTIF(DEATH_MURDER_TYPEFRAGGED, 1, 1, 1, "spree_cen s1", NO_CPID, "0 0", _("^K1%sYou were typefragged by ^BG%s"), _("^K1%sYou were scored against by ^BG%s^K1 while typing!")) - MSG_CENTER_NOTIF(DEATH_MURDER_TYPEFRAGGED_VERBOSE, 1, 1, 4, "spree_cen s1 frag_stats", NO_CPID, "0 0", _("^K1%sYou were typefragged by ^BG%s^BG%s"), _("^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s")) - MSG_CENTER_NOTIF(DEATH_MURDER_TYPEFRAG_VERBOSE, 1, 1, 2, "spree_cen s1 frag_ping", NO_CPID, "0 0", _("^K1%sYou typefragged ^BG%s^BG%s"), _("^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s")) + MSG_CENTER_NOTIF(DEATH_MURDER_FRAG, 1, 1, 1, "spree_cen s1", CPID_Null, "0 0", _("^K3%sYou fragged ^BG%s"), _("^K3%sYou scored against ^BG%s")) + MSG_CENTER_NOTIF(DEATH_MURDER_FRAGGED, 1, 1, 1, "spree_cen s1", CPID_Null, "0 0", _("^K1%sYou were fragged by ^BG%s"), _("^K1%sYou were scored against by ^BG%s")) + MSG_CENTER_NOTIF(DEATH_MURDER_FRAGGED_VERBOSE, 1, 1, 4, "spree_cen s1 frag_stats", CPID_Null, "0 0", _("^K1%sYou were fragged by ^BG%s^BG%s"), _("^K1%sYou were scored against by ^BG%s^BG%s")) + MSG_CENTER_NOTIF(DEATH_MURDER_FRAG_VERBOSE, 1, 1, 2, "spree_cen s1 frag_ping", CPID_Null, "0 0", _("^K3%sYou fragged ^BG%s^BG%s"), _("^K3%sYou scored against ^BG%s^BG%s")) + MSG_CENTER_NOTIF(DEATH_MURDER_TYPEFRAG, 1, 1, 1, "spree_cen s1", CPID_Null, "0 0", _("^K1%sYou typefragged ^BG%s"), _("^K1%sYou scored against ^BG%s^K1 while they were typing")) + MSG_CENTER_NOTIF(DEATH_MURDER_TYPEFRAGGED, 1, 1, 1, "spree_cen s1", CPID_Null, "0 0", _("^K1%sYou were typefragged by ^BG%s"), _("^K1%sYou were scored against by ^BG%s^K1 while typing!")) + MSG_CENTER_NOTIF(DEATH_MURDER_TYPEFRAGGED_VERBOSE, 1, 1, 4, "spree_cen s1 frag_stats", CPID_Null, "0 0", _("^K1%sYou were typefragged by ^BG%s^BG%s"), _("^K1%sYou were scored against by ^BG%s^K1 while typing^BG%s")) + MSG_CENTER_NOTIF(DEATH_MURDER_TYPEFRAG_VERBOSE, 1, 1, 2, "spree_cen s1 frag_ping", CPID_Null, "0 0", _("^K1%sYou typefragged ^BG%s^BG%s"), _("^K1%sYou scored against ^BG%s^K1 while they were typing^BG%s")) MSG_CENTER_NOTIF(NADE_THROW, 1, 0, 0, "", CPID_NADES, "0 0", _("^BGPress ^F2DROPWEAPON^BG again to toss the nade!"), "") MSG_CENTER_NOTIF(NADE_BONUS, 1, 0, 0, "", CPID_NADES, "0 0", _("^F2You got a ^K1BONUS GRENADE^F2!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_AUTOTEAMCHANGE, 1, 0, 1, "death_team", NO_CPID, "0 0", _("^BGYou have been moved into a different team\nYou are now on: %s"), "") - MSG_CENTER_NOTIF(DEATH_SELF_BETRAYAL, 1, 0, 0, "", NO_CPID, "0 0", _("^K1Don't shoot your team mates!"), _("^K1Don't go against your team mates!")) - MSG_CENTER_NOTIF(DEATH_SELF_CAMP, 1, 0, 0, "", NO_CPID, "0 0", _("^K1Die camper!"), _("^K1Reconsider your tactics, camper!")) - MSG_CENTER_NOTIF(DEATH_SELF_CHEAT, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You unfairly eliminated yourself!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_CUSTOM, 1, 2, 0, "s2", NO_CPID, "0 0", _("^K1You were %s"), "") - MSG_CENTER_NOTIF(DEATH_SELF_DROWN, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You couldn't catch your breath!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_FALL, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You hit the ground with a crunch!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_FIRE, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You got a little bit too crispy!"), _("^K1You felt a little too hot!")) - MSG_CENTER_NOTIF(DEATH_SELF_GENERIC, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You killed your own dumb self!"), _("^K1You need to be more careful!")) - MSG_CENTER_NOTIF(DEATH_SELF_LAVA, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You couldn't stand the heat!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_MONSTER, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You were killed by a monster!"), _("^K1You need to watch out for monsters!")) - MSG_CENTER_NOTIF(DEATH_SELF_NADE, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You forgot to put the pin back in!"), _("^K1Tastes like chicken!")) - MSG_CENTER_NOTIF(DEATH_SELF_NADE_NAPALM, 1, 0, 0, "", NO_CPID, "0 0", _("^K1Hanging around a napalm explosion is bad!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_NADE_ICE_FREEZE, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You got a little bit too cold!"), _("^K1You felt a little chilly!")) - MSG_CENTER_NOTIF(DEATH_SELF_NADE_HEAL, 1, 0, 0, "", NO_CPID, "0 0", _("^K1Your Healing Nade is a bit defective"), "") - MSG_CENTER_NOTIF(DEATH_SELF_NOAMMO, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You were killed for running out of ammo..."), _("^K1You are respawning for running out of ammo...")) - MSG_CENTER_NOTIF(DEATH_SELF_ROT, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You grew too old without taking your medicine"), _("^K1You need to preserve your health")) - MSG_CENTER_NOTIF(DEATH_SELF_SHOOTING_STAR, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You became a shooting star!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_SLIME, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You melted away in slime!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_SUICIDE, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You committed suicide!"), _("^K1You ended it all!")) - MSG_CENTER_NOTIF(DEATH_SELF_SWAMP, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You got stuck in a swamp!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_TEAMCHANGE, 1, 0, 1, "death_team", NO_CPID, "0 0", _("^BGYou are now on: %s"), "") - MSG_CENTER_NOTIF(DEATH_SELF_TOUCHEXPLODE, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You died in an accident!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_TURRET, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You were fragged by a turret!"), _("^K1You had an unfortunate run in with a turret!")) - MSG_CENTER_NOTIF(DEATH_SELF_TURRET_EWHEEL, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You were fragged by an eWheel turret!"), _("^K1You had an unfortunate run in with an eWheel turret!")) - MSG_CENTER_NOTIF(DEATH_SELF_TURRET_WALK, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You were fragged by a Walker turret!"), _("^K1You had an unfortunate run in with a Walker turret!")) - MSG_CENTER_NOTIF(DEATH_SELF_VH_BUMB_DEATH, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You got caught in the blast of a Bumblebee explosion!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_VH_CRUSH, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You were crushed by a vehicle!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_VH_RAPT_BOMB, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You were caught in a Raptor cluster bomb!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_VH_RAPT_DEATH, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You got caught in the blast of a Raptor explosion!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_VH_SPID_DEATH, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You got caught in the blast of a Spiderbot explosion!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_VH_SPID_ROCKET, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You were blasted to bits by a Spiderbot rocket!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_VH_WAKI_DEATH, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You got caught in the blast of a Racer explosion!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_VH_WAKI_ROCKET, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You couldn't find shelter from a Racer rocket!"), "") - MSG_CENTER_NOTIF(DEATH_SELF_VOID, 1, 0, 0, "", NO_CPID, "0 0", _("^K1Watch your step!"), "") - - MSG_CENTER_NOTIF(DEATH_TEAMKILL_FRAG, 1, 1, 0, "s1", NO_CPID, "0 0", _("^K1Moron! You fragged ^BG%s^K1, a team mate!"), _("^K1Moron! You went against ^BG%s^K1, a team mate!")) - MSG_CENTER_NOTIF(DEATH_TEAMKILL_FRAGGED, 1, 1, 0, "s1", NO_CPID, "0 0", _("^K1You were fragged by ^BG%s^K1, a team mate"), _("^K1You were scored against by ^BG%s^K1, a team mate")) + MSG_CENTER_NOTIF(DEATH_SELF_AUTOTEAMCHANGE, 1, 0, 1, "death_team", CPID_Null, "0 0", _("^BGYou have been moved into a different team\nYou are now on: %s"), "") + MSG_CENTER_NOTIF(DEATH_SELF_BETRAYAL, 1, 0, 0, "", CPID_Null, "0 0", _("^K1Don't shoot your team mates!"), _("^K1Don't go against your team mates!")) + MSG_CENTER_NOTIF(DEATH_SELF_CAMP, 1, 0, 0, "", CPID_Null, "0 0", _("^K1Die camper!"), _("^K1Reconsider your tactics, camper!")) + MSG_CENTER_NOTIF(DEATH_SELF_CHEAT, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You unfairly eliminated yourself!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_CUSTOM, 1, 2, 0, "s2", CPID_Null, "0 0", _("^K1You were %s"), "") + MSG_CENTER_NOTIF(DEATH_SELF_DROWN, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You couldn't catch your breath!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_FALL, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You hit the ground with a crunch!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_FIRE, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You got a little bit too crispy!"), _("^K1You felt a little too hot!")) + MSG_CENTER_NOTIF(DEATH_SELF_GENERIC, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You killed your own dumb self!"), _("^K1You need to be more careful!")) + MSG_CENTER_NOTIF(DEATH_SELF_LAVA, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You couldn't stand the heat!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_MONSTER, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You were killed by a monster!"), _("^K1You need to watch out for monsters!")) + MSG_CENTER_NOTIF(DEATH_SELF_NADE, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You forgot to put the pin back in!"), _("^K1Tastes like chicken!")) + MSG_CENTER_NOTIF(DEATH_SELF_NADE_NAPALM, 1, 0, 0, "", CPID_Null, "0 0", _("^K1Hanging around a napalm explosion is bad!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_NADE_ICE_FREEZE, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You got a little bit too cold!"), _("^K1You felt a little chilly!")) + MSG_CENTER_NOTIF(DEATH_SELF_NADE_HEAL, 1, 0, 0, "", CPID_Null, "0 0", _("^K1Your Healing Nade is a bit defective"), "") + MSG_CENTER_NOTIF(DEATH_SELF_NOAMMO, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You were killed for running out of ammo..."), _("^K1You are respawning for running out of ammo...")) + MSG_CENTER_NOTIF(DEATH_SELF_ROT, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You grew too old without taking your medicine"), _("^K1You need to preserve your health")) + MSG_CENTER_NOTIF(DEATH_SELF_SHOOTING_STAR, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You became a shooting star!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_SLIME, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You melted away in slime!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_SUICIDE, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You committed suicide!"), _("^K1You ended it all!")) + MSG_CENTER_NOTIF(DEATH_SELF_SWAMP, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You got stuck in a swamp!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_TEAMCHANGE, 1, 0, 1, "death_team", CPID_Null, "0 0", _("^BGYou are now on: %s"), "") + MSG_CENTER_NOTIF(DEATH_SELF_TOUCHEXPLODE, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You died in an accident!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_TURRET, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You were fragged by a turret!"), _("^K1You had an unfortunate run in with a turret!")) + MSG_CENTER_NOTIF(DEATH_SELF_TURRET_EWHEEL, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You were fragged by an eWheel turret!"), _("^K1You had an unfortunate run in with an eWheel turret!")) + MSG_CENTER_NOTIF(DEATH_SELF_TURRET_WALK, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You were fragged by a Walker turret!"), _("^K1You had an unfortunate run in with a Walker turret!")) + MSG_CENTER_NOTIF(DEATH_SELF_VH_BUMB_DEATH, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You got caught in the blast of a Bumblebee explosion!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_VH_CRUSH, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You were crushed by a vehicle!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_VH_RAPT_BOMB, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You were caught in a Raptor cluster bomb!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_VH_RAPT_DEATH, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You got caught in the blast of a Raptor explosion!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_VH_SPID_DEATH, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You got caught in the blast of a Spiderbot explosion!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_VH_SPID_ROCKET, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You were blasted to bits by a Spiderbot rocket!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_VH_WAKI_DEATH, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You got caught in the blast of a Racer explosion!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_VH_WAKI_ROCKET, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You couldn't find shelter from a Racer rocket!"), "") + MSG_CENTER_NOTIF(DEATH_SELF_VOID, 1, 0, 0, "", CPID_Null, "0 0", _("^K1Watch your step!"), "") + + MSG_CENTER_NOTIF(DEATH_TEAMKILL_FRAG, 1, 1, 0, "s1", CPID_Null, "0 0", _("^K1Moron! You fragged ^BG%s^K1, a team mate!"), _("^K1Moron! You went against ^BG%s^K1, a team mate!")) + MSG_CENTER_NOTIF(DEATH_TEAMKILL_FRAGGED, 1, 1, 0, "s1", CPID_Null, "0 0", _("^K1You were fragged by ^BG%s^K1, a team mate"), _("^K1You were scored against by ^BG%s^K1, a team mate")) MSG_CENTER_NOTIF(DISCONNECT_IDLING, 1, 0, 1, "", CPID_IDLING, "1 f1", _("^K1Stop idling!\n^BGDisconnecting in ^COUNT..."), "") - MSG_CENTER_NOTIF(DOOR_LOCKED_NEED, 1, 1, 0, "s1", NO_CPID, "0 0", _("^BGYou need %s^BG!"), "") - MSG_CENTER_NOTIF(DOOR_LOCKED_ALSONEED, 1, 1, 0, "s1", NO_CPID, "0 0", _("^BGYou also need %s^BG!"), "") - MSG_CENTER_NOTIF(DOOR_UNLOCKED, 1, 0, 0, "", NO_CPID, "0 0", _("^BGDoor unlocked!"), "") + MSG_CENTER_NOTIF(DOOR_LOCKED_NEED, 1, 1, 0, "s1", CPID_Null, "0 0", _("^BGYou need %s^BG!"), "") + MSG_CENTER_NOTIF(DOOR_LOCKED_ALSONEED, 1, 1, 0, "s1", CPID_Null, "0 0", _("^BGYou also need %s^BG!"), "") + MSG_CENTER_NOTIF(DOOR_UNLOCKED, 1, 0, 0, "", CPID_Null, "0 0", _("^BGDoor unlocked!"), "") - MSG_CENTER_NOTIF(EXTRALIVES, 1, 0, 0, "", NO_CPID, "0 0", _("^F2You picked up some extra lives"), "") + MSG_CENTER_NOTIF(EXTRALIVES, 1, 0, 0, "", CPID_Null, "0 0", _("^F2You picked up some extra lives"), "") - MSG_CENTER_NOTIF(FREEZETAG_FREEZE, 1, 1, 0, "s1", NO_CPID, "0 0", _("^K3You froze ^BG%s"), "") - MSG_CENTER_NOTIF(FREEZETAG_FROZEN, 1, 1, 0, "s1", NO_CPID, "0 0", _("^K1You were frozen by ^BG%s"), "") - MSG_CENTER_NOTIF(FREEZETAG_REVIVE, 1, 1, 0, "s1", NO_CPID, "0 0", _("^K3You revived ^BG%s"), "") - MSG_CENTER_NOTIF(FREEZETAG_REVIVE_SELF, 1, 0, 0, "", NO_CPID, "0 0", _("^K3You revived yourself"), "") - MSG_CENTER_NOTIF(FREEZETAG_REVIVED, 1, 1, 0, "s1", NO_CPID, "0 0", _("^K3You were revived by ^BG%s"), "") - MSG_CENTER_NOTIF(FREEZETAG_AUTO_REVIVED, 1, 0, 1, "f1", NO_CPID, "0 0", _("^K3You were automatically revived after %s second(s)"), "") + MSG_CENTER_NOTIF(FREEZETAG_FREEZE, 1, 1, 0, "s1", CPID_Null, "0 0", _("^K3You froze ^BG%s"), "") + MSG_CENTER_NOTIF(FREEZETAG_FROZEN, 1, 1, 0, "s1", CPID_Null, "0 0", _("^K1You were frozen by ^BG%s"), "") + MSG_CENTER_NOTIF(FREEZETAG_REVIVE, 1, 1, 0, "s1", CPID_Null, "0 0", _("^K3You revived ^BG%s"), "") + MSG_CENTER_NOTIF(FREEZETAG_REVIVE_SELF, 1, 0, 0, "", CPID_Null, "0 0", _("^K3You revived yourself"), "") + MSG_CENTER_NOTIF(FREEZETAG_REVIVED, 1, 1, 0, "s1", CPID_Null, "0 0", _("^K3You were revived by ^BG%s"), "") + MSG_CENTER_NOTIF(FREEZETAG_AUTO_REVIVED, 1, 0, 1, "f1", CPID_Null, "0 0", _("^K3You were automatically revived after %s second(s)"), "") - MSG_CENTER_NOTIF(GENERATOR_UNDERATTACK, 1, 0, 0, "", NO_CPID, "0 0", _("^BGThe generator is under attack!"), "") + MSG_CENTER_NOTIF(GENERATOR_UNDERATTACK, 1, 0, 0, "", CPID_Null, "0 0", _("^BGThe generator is under attack!"), "") MULTITEAM_CENTER(ROUND_TEAM_WIN, 4, 1, 0, 0, "", CPID_ROUND, "0 0", _("^TC^TT^BG team wins the round"), "") MSG_CENTER_NOTIF(ROUND_PLAYER_WIN, 1, 1, 0, "s1", CPID_ROUND, "0 0", _("^BG%s^BG wins the round"), "") - MSG_CENTER_NOTIF(FREEZETAG_SELF, 1, 0, 0, "", NO_CPID, "0 0", _("^K1You froze yourself"), "") - MSG_CENTER_NOTIF(FREEZETAG_SPAWN_LATE, 1, 0, 0, "", NO_CPID, "0 0", _("^K1Round already started, you spawn as frozen"), "") + MSG_CENTER_NOTIF(FREEZETAG_SELF, 1, 0, 0, "", CPID_Null, "0 0", _("^K1You froze yourself"), "") + MSG_CENTER_NOTIF(FREEZETAG_SPAWN_LATE, 1, 0, 0, "", CPID_Null, "0 0", _("^K1Round already started, you spawn as frozen"), "") - MSG_CENTER_NOTIF(INVASION_SUPERMONSTER, 1, 1, 0, "s1", NO_CPID, "0 0", _("^K1A %s has arrived!"), "") + MSG_CENTER_NOTIF(INVASION_SUPERMONSTER, 1, 1, 0, "s1", CPID_Null, "0 0", _("^K1A %s has arrived!"), "") MSG_CENTER_NOTIF(ITEM_BUFF_DROP, 1, 0, 1, "item_buffname", CPID_ITEM, "item_centime 0", _("^BGYou dropped the %s^BG buff!"), "") MSG_CENTER_NOTIF(ITEM_BUFF_GOT, 1, 0, 1, "item_buffname", CPID_ITEM, "item_centime 0", _("^BGYou got the %s^BG buff!"), "") @@ -660,14 +660,14 @@ MSG_CENTER_NOTIF(INSTAGIB_DOWNGRADE, 1, 0, 0, "", CPID_INSTAGIB_FINDAMMO, "5 0", _("^BGYour weapon has been downgraded until you find some ammo!"), "") MSG_CENTER_NOTIF(INSTAGIB_FINDAMMO, 1, 0, 0, "", CPID_INSTAGIB_FINDAMMO, "1 9", _("^F4^COUNT^BG left to find some ammo!"), "") MSG_CENTER_NOTIF(INSTAGIB_FINDAMMO_FIRST, 1, 0, 0, "", CPID_INSTAGIB_FINDAMMO, "1 10", _("^BGGet some ammo or you'll be dead in ^F4^COUNT^BG!"), _("^BGGet some ammo! ^F4^COUNT^BG left!")) - MSG_CENTER_NOTIF(INSTAGIB_LIVES_REMAINING, 1, 0, 1, "f1", NO_CPID, "0 0", _("^F2Extra lives remaining: ^K1%s"), "") + MSG_CENTER_NOTIF(INSTAGIB_LIVES_REMAINING, 1, 0, 1, "f1", CPID_Null, "0 0", _("^F2Extra lives remaining: ^K1%s"), "") MSG_CENTER_NOTIF(MOTD, 1, 1, 0, "s1", CPID_MOTD, "-1 0", "^BG%s", "") MSG_CENTER_NOTIF(NIX_COUNTDOWN, 1, 0, 2, "item_wepname", CPID_NIX, "1 f2", _("^F2^COUNT^BG until weapon change...\nNext weapon: ^F1%s"), "") MSG_CENTER_NOTIF(NIX_NEWWEAPON, 1, 0, 1, "item_wepname", CPID_NIX, "0 0", _("^F2Active weapon: ^F1%s"), "") - MSG_CENTER_NOTIF(NADE, 1, 0, 0, "", NO_CPID, "0 0", _("^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"), "") + MSG_CENTER_NOTIF(NADE, 1, 0, 0, "", CPID_Null, "0 0", _("^BGPress ^F2DROPWEAPON^BG again to toss the grenade!"), "") MSG_CENTER_NOTIF(ONS_CAPTURE, 1, 1, 0, "s1", CPID_ONSLAUGHT, "0 0", _("^BGYou captured %s^BG control point"), "") MULTITEAM_CENTER(ONS_CAPTURE, 4, 1, 1, 0, "s1", CPID_ONSLAUGHT, "0 0", _("^TC^TT^BG team captured %s^BG control point"), "") @@ -682,9 +682,9 @@ MSG_CENTER_NOTIF(OVERTIME_CONTROLPOINT, 1, 0, 0, "", CPID_OVERTIME, "5 0", _("^F2Now playing ^F4OVERTIME^F2!\n\nGenerators are now decaying.\nThe more control points your team holds,\nthe faster the enemy generator decays"), "") MSG_CENTER_NOTIF(OVERTIME_TIME, 1, 0, 1, "f1time", CPID_OVERTIME, "0 0", _("^F2Now playing ^F4OVERTIME^F2!\n^BGAdded ^F4%s^BG to the game!"), "") - MSG_CENTER_NOTIF(PORTO_CREATED_IN, 1, 0, 0, "", NO_CPID, "0 0", _("^K1In^BG-portal created"), "") - MSG_CENTER_NOTIF(PORTO_CREATED_OUT, 1, 0, 0, "", NO_CPID, "0 0", _("^F3Out^BG-portal created"), "") - MSG_CENTER_NOTIF(PORTO_FAILED, 1, 0, 0, "", NO_CPID, "0 0", _("^F1Portal creation failed"), "") + MSG_CENTER_NOTIF(PORTO_CREATED_IN, 1, 0, 0, "", CPID_Null, "0 0", _("^K1In^BG-portal created"), "") + MSG_CENTER_NOTIF(PORTO_CREATED_OUT, 1, 0, 0, "", CPID_Null, "0 0", _("^F3Out^BG-portal created"), "") + MSG_CENTER_NOTIF(PORTO_FAILED, 1, 0, 0, "", CPID_Null, "0 0", _("^F1Portal creation failed"), "") MSG_CENTER_NOTIF(POWERUP_STRENGTH, 1, 0, 0, "", CPID_POWERUP, "0 0", _("^F2Strength infuses your weapons with devastating power"), "") MSG_CENTER_NOTIF(POWERDOWN_STRENGTH, 1, 0, 0, "", CPID_POWERUP, "0 0", _("^F2Strength has worn off"), "") @@ -700,11 +700,11 @@ MSG_CENTER_NOTIF(RACE_FINISHLAP, 1, 0, 0, "", CPID_RACE_FINISHLAP, "0 0", _("^F2The race is over, finish your lap!"), "") - MSG_CENTER_NOTIF(SECONDARY_NODAMAGE, 1, 0, 0, "", NO_CPID, "0 0", _("^BGSecondary fire inflicts no damage!"), "") + MSG_CENTER_NOTIF(SECONDARY_NODAMAGE, 1, 0, 0, "", CPID_Null, "0 0", _("^BGSecondary fire inflicts no damage!"), "") - MSG_CENTER_NOTIF(SEQUENCE_COMPLETED, 1, 0, 0, "", NO_CPID, "0 0", _("^BGSequence completed!"), "") - MSG_CENTER_NOTIF(SEQUENCE_COUNTER, 1, 0, 0, "", NO_CPID, "0 0", _("^BGThere are more to go..."), "") - MSG_CENTER_NOTIF(SEQUENCE_COUNTER_FEWMORE, 1, 0, 1, "f1", NO_CPID, "0 0", _("^BGOnly %s^BG more to go..."), "") + MSG_CENTER_NOTIF(SEQUENCE_COMPLETED, 1, 0, 0, "", CPID_Null, "0 0", _("^BGSequence completed!"), "") + MSG_CENTER_NOTIF(SEQUENCE_COUNTER, 1, 0, 0, "", CPID_Null, "0 0", _("^BGThere are more to go..."), "") + MSG_CENTER_NOTIF(SEQUENCE_COUNTER_FEWMORE, 1, 0, 1, "f1", CPID_Null, "0 0", _("^BGOnly %s^BG more to go..."), "") MSG_CENTER_NOTIF(SUPERWEAPON_BROKEN, 1, 0, 0, "", CPID_POWERUP, "0 0", _("^F2Superweapons have broken down"), "") MSG_CENTER_NOTIF(SUPERWEAPON_LOST, 1, 0, 0, "", CPID_POWERUP, "0 0", _("^F2Superweapons have been lost"), "") @@ -718,7 +718,7 @@ MSG_CENTER_NOTIF(TIMEOUT_BEGINNING, 1, 0, 1, "", CPID_TIMEOUT, "1 f1", _("^F4Timeout begins in ^COUNT"), "") MSG_CENTER_NOTIF(TIMEOUT_ENDING, 1, 0, 1, "", CPID_TIMEOUT, "1 f1", _("^F4Timeout ends in ^COUNT"), "") - MSG_CENTER_NOTIF(JOIN_PREVENT_MINIGAME, 1, 0, 0, "", NO_CPID, "0 0", _("^K1Cannot join given minigame session!"), "" ) + MSG_CENTER_NOTIF(JOIN_PREVENT_MINIGAME, 1, 0, 0, "", CPID_Null, "0 0", _("^K1Cannot join given minigame session!"), "" ) MSG_CENTER_NOTIF(VEHICLE_ENTER, 1, 0, 0, "pass_key", CPID_VEHICLES, "0 0", _("^BGPress ^F2DROPFLAG%s^BG to enter/exit the vehicle"), "") MSG_CENTER_NOTIF(VEHICLE_ENTER_GUNNER, 1, 0, 0, "pass_key", CPID_VEHICLES, "0 0", _("^BGPress ^F2DROPFLAG%s^BG to enter the vehicle gunner"), "") @@ -726,7 +726,7 @@ MSG_CENTER_NOTIF(VEHICLE_STEAL, 1, 0, 0, "", CPID_VEHICLES_OTHER, "0 0", _("^F2The enemy is stealing one of your vehicles!\n^F4Stop them!"), "") MSG_CENTER_NOTIF(VEHICLE_STEAL_SELF, 1, 0, 0, "", CPID_VEHICLES_OTHER, "4 0", _("^F2You have stolen the enemy's vehicle, you are now visible on their radar!"), "") - MSG_CENTER_NOTIF(WEAPON_MINELAYER_LIMIT, 1, 0, 1, "f1", NO_CPID, "0 0", _("^BGYou cannot place more than ^F2%s^BG mines at a time"), "") + MSG_CENTER_NOTIF(WEAPON_MINELAYER_LIMIT, 1, 0, 1, "f1", CPID_Null, "0 0", _("^BGYou cannot place more than ^F2%s^BG mines at a time"), "") #define MULTITEAM_MULTI2(prefix, default, anncepre, infopre, centerpre) \ MSG_MULTI_NOTIF(prefix##_RED, default, anncepre##_RED, infopre##_RED, centerpre##_RED) \ @@ -741,163 +741,163 @@ MULTITEAM_MULTI##teams(prefix, default, anncepre, infopre, centerpre) // MSG_MULTI_NOTIFICATIONS - MSG_MULTI_NOTIF(DEATH_MURDER_BUFF, 1, NO_MSG, INFO_DEATH_MURDER_BUFF, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_CHEAT, 1, NO_MSG, INFO_DEATH_MURDER_CHEAT, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_DROWN, 1, NO_MSG, INFO_DEATH_MURDER_DROWN, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_FALL, 1, NO_MSG, INFO_DEATH_MURDER_FALL, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_FIRE, 1, NO_MSG, INFO_DEATH_MURDER_FIRE, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_LAVA, 1, NO_MSG, INFO_DEATH_MURDER_LAVA, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_MONSTER, 1, NO_MSG, INFO_DEATH_MURDER_MONSTER, CENTER_DEATH_SELF_MONSTER) - MSG_MULTI_NOTIF(DEATH_MURDER_NADE, 1, NO_MSG, INFO_DEATH_MURDER_NADE, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_NADE_NAPALM, 1, NO_MSG, INFO_DEATH_MURDER_NADE_NAPALM, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_NADE_ICE, 1, NO_MSG, INFO_DEATH_MURDER_NADE_ICE, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_NADE_ICE_FREEZE, 1, NO_MSG, INFO_DEATH_MURDER_NADE_ICE_FREEZE, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_NADE_HEAL, 1, NO_MSG, INFO_DEATH_MURDER_NADE_HEAL, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_SHOOTING_STAR, 1, NO_MSG, INFO_DEATH_MURDER_SHOOTING_STAR, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_SLIME, 1, NO_MSG, INFO_DEATH_MURDER_SLIME, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_SWAMP, 1, NO_MSG, INFO_DEATH_MURDER_SWAMP, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_TELEFRAG, 1, NO_MSG, INFO_DEATH_MURDER_TELEFRAG, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_TOUCHEXPLODE, 1, NO_MSG, INFO_DEATH_MURDER_TOUCHEXPLODE, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_BUMB_DEATH, 1, NO_MSG, INFO_DEATH_MURDER_VH_BUMB_DEATH, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_BUMB_GUN, 1, NO_MSG, INFO_DEATH_MURDER_VH_BUMB_GUN, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_CRUSH, 1, NO_MSG, INFO_DEATH_MURDER_VH_CRUSH, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_RAPT_BOMB, 1, NO_MSG, INFO_DEATH_MURDER_VH_RAPT_BOMB, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_RAPT_CANNON, 1, NO_MSG, INFO_DEATH_MURDER_VH_RAPT_CANNON, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_RAPT_DEATH, 1, NO_MSG, INFO_DEATH_MURDER_VH_RAPT_DEATH, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_SPID_DEATH, 1, NO_MSG, INFO_DEATH_MURDER_VH_SPID_DEATH, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_SPID_MINIGUN, 1, NO_MSG, INFO_DEATH_MURDER_VH_SPID_MINIGUN, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_SPID_ROCKET, 1, NO_MSG, INFO_DEATH_MURDER_VH_SPID_ROCKET, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_WAKI_DEATH, 1, NO_MSG, INFO_DEATH_MURDER_VH_WAKI_DEATH, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_WAKI_GUN, 1, NO_MSG, INFO_DEATH_MURDER_VH_WAKI_GUN, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VH_WAKI_ROCKET, 1, NO_MSG, INFO_DEATH_MURDER_VH_WAKI_ROCKET, NO_MSG) - MSG_MULTI_NOTIF(DEATH_MURDER_VOID, 1, NO_MSG, INFO_DEATH_MURDER_VOID, NO_MSG) - - MSG_MULTI_NOTIF(DEATH_SELF_AUTOTEAMCHANGE, 1, NO_MSG, INFO_DEATH_SELF_AUTOTEAMCHANGE, CENTER_DEATH_SELF_AUTOTEAMCHANGE) - MSG_MULTI_NOTIF(DEATH_SELF_BETRAYAL, 1, NO_MSG, INFO_DEATH_SELF_BETRAYAL, CENTER_DEATH_SELF_BETRAYAL) - MSG_MULTI_NOTIF(DEATH_SELF_CAMP, 1, NO_MSG, INFO_DEATH_SELF_CAMP, CENTER_DEATH_SELF_CAMP) - MSG_MULTI_NOTIF(DEATH_SELF_CHEAT, 1, NO_MSG, INFO_DEATH_SELF_CHEAT, CENTER_DEATH_SELF_CHEAT) - MSG_MULTI_NOTIF(DEATH_SELF_CUSTOM, 1, NO_MSG, INFO_DEATH_SELF_GENERIC, CENTER_DEATH_SELF_CUSTOM) - MSG_MULTI_NOTIF(DEATH_SELF_DROWN, 1, NO_MSG, INFO_DEATH_SELF_DROWN, CENTER_DEATH_SELF_DROWN) - MSG_MULTI_NOTIF(DEATH_SELF_FALL, 1, NO_MSG, INFO_DEATH_SELF_FALL, CENTER_DEATH_SELF_FALL) - MSG_MULTI_NOTIF(DEATH_SELF_FIRE, 1, NO_MSG, INFO_DEATH_SELF_FIRE, CENTER_DEATH_SELF_FIRE) - MSG_MULTI_NOTIF(DEATH_SELF_GENERIC, 1, NO_MSG, INFO_DEATH_SELF_GENERIC, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(DEATH_SELF_LAVA, 1, NO_MSG, INFO_DEATH_SELF_LAVA, CENTER_DEATH_SELF_LAVA) - MSG_MULTI_NOTIF(DEATH_SELF_MON_MAGE, 1, NO_MSG, INFO_DEATH_SELF_MON_MAGE, CENTER_DEATH_SELF_MONSTER) - MSG_MULTI_NOTIF(DEATH_SELF_MON_SHAMBLER_CLAW, 1, NO_MSG, INFO_DEATH_SELF_MON_SHAMBLER_CLAW, CENTER_DEATH_SELF_MONSTER) - MSG_MULTI_NOTIF(DEATH_SELF_MON_SHAMBLER_SMASH, 1, NO_MSG, INFO_DEATH_SELF_MON_SHAMBLER_SMASH, CENTER_DEATH_SELF_MONSTER) - MSG_MULTI_NOTIF(DEATH_SELF_MON_SHAMBLER_ZAP, 1, NO_MSG, INFO_DEATH_SELF_MON_SHAMBLER_ZAP, CENTER_DEATH_SELF_MONSTER) - MSG_MULTI_NOTIF(DEATH_SELF_MON_SPIDER, 1, NO_MSG, INFO_DEATH_SELF_MON_SPIDER, CENTER_DEATH_SELF_MONSTER) - MSG_MULTI_NOTIF(DEATH_SELF_MON_WYVERN, 1, NO_MSG, INFO_DEATH_SELF_MON_WYVERN, CENTER_DEATH_SELF_MONSTER) - MSG_MULTI_NOTIF(DEATH_SELF_MON_ZOMBIE_JUMP, 1, NO_MSG, INFO_DEATH_SELF_MON_ZOMBIE_JUMP, CENTER_DEATH_SELF_MONSTER) - MSG_MULTI_NOTIF(DEATH_SELF_MON_ZOMBIE_MELEE, 1, NO_MSG, INFO_DEATH_SELF_MON_ZOMBIE_MELEE, CENTER_DEATH_SELF_MONSTER) - MSG_MULTI_NOTIF(DEATH_SELF_NADE, 1, NO_MSG, INFO_DEATH_SELF_NADE, CENTER_DEATH_SELF_NADE) - MSG_MULTI_NOTIF(DEATH_SELF_NADE_NAPALM, 1, NO_MSG, INFO_DEATH_SELF_NADE_NAPALM, CENTER_DEATH_SELF_NADE_NAPALM) - MSG_MULTI_NOTIF(DEATH_SELF_NADE_ICE, 1, NO_MSG, INFO_DEATH_SELF_NADE_ICE, CENTER_DEATH_SELF_NADE_ICE_FREEZE) - MSG_MULTI_NOTIF(DEATH_SELF_NADE_ICE_FREEZE, 1, NO_MSG, INFO_DEATH_SELF_NADE_ICE_FREEZE, CENTER_DEATH_SELF_NADE_ICE_FREEZE) - MSG_MULTI_NOTIF(DEATH_SELF_NADE_HEAL, 1, NO_MSG, INFO_DEATH_SELF_NADE_HEAL, CENTER_DEATH_SELF_NADE_HEAL) - MSG_MULTI_NOTIF(DEATH_SELF_NOAMMO, 1, NO_MSG, INFO_DEATH_SELF_NOAMMO, CENTER_DEATH_SELF_NOAMMO) - MSG_MULTI_NOTIF(DEATH_SELF_ROT, 1, NO_MSG, INFO_DEATH_SELF_ROT, CENTER_DEATH_SELF_ROT) - MSG_MULTI_NOTIF(DEATH_SELF_SHOOTING_STAR, 1, NO_MSG, INFO_DEATH_SELF_SHOOTING_STAR, CENTER_DEATH_SELF_SHOOTING_STAR) - MSG_MULTI_NOTIF(DEATH_SELF_SLIME, 1, NO_MSG, INFO_DEATH_SELF_SLIME, CENTER_DEATH_SELF_SLIME) - MSG_MULTI_NOTIF(DEATH_SELF_SUICIDE, 1, NO_MSG, INFO_DEATH_SELF_SUICIDE, CENTER_DEATH_SELF_SUICIDE) - MSG_MULTI_NOTIF(DEATH_SELF_SWAMP, 1, NO_MSG, INFO_DEATH_SELF_SWAMP, CENTER_DEATH_SELF_SWAMP) - MSG_MULTI_NOTIF(DEATH_SELF_TEAMCHANGE, 1, NO_MSG, INFO_DEATH_SELF_TEAMCHANGE, CENTER_DEATH_SELF_TEAMCHANGE) - MSG_MULTI_NOTIF(DEATH_SELF_TOUCHEXPLODE, 1, NO_MSG, INFO_DEATH_SELF_TOUCHEXPLODE, CENTER_DEATH_SELF_TOUCHEXPLODE) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET, 1, NO_MSG, INFO_DEATH_SELF_TURRET, CENTER_DEATH_SELF_TURRET) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_EWHEEL, 1, NO_MSG, INFO_DEATH_SELF_TURRET_EWHEEL, CENTER_DEATH_SELF_TURRET_EWHEEL) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_FLAC, 1, NO_MSG, INFO_DEATH_SELF_TURRET_FLAC, CENTER_DEATH_SELF_TURRET) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_HELLION, 1, NO_MSG, INFO_DEATH_SELF_TURRET_HELLION, CENTER_DEATH_SELF_TURRET) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_HK, 1, NO_MSG, INFO_DEATH_SELF_TURRET_HK, CENTER_DEATH_SELF_TURRET) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_MACHINEGUN, 1, NO_MSG, INFO_DEATH_SELF_TURRET_MACHINEGUN, CENTER_DEATH_SELF_TURRET) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_MLRS, 1, NO_MSG, INFO_DEATH_SELF_TURRET_MLRS, CENTER_DEATH_SELF_TURRET) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_PHASER, 1, NO_MSG, INFO_DEATH_SELF_TURRET_PHASER, CENTER_DEATH_SELF_TURRET) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_PLASMA, 1, NO_MSG, INFO_DEATH_SELF_TURRET_PLASMA, CENTER_DEATH_SELF_TURRET) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_TESLA, 1, NO_MSG, INFO_DEATH_SELF_TURRET_TESLA, CENTER_DEATH_SELF_TURRET) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_WALK_GUN, 1, NO_MSG, INFO_DEATH_SELF_TURRET_WALK_GUN, CENTER_DEATH_SELF_TURRET_WALK) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_WALK_MELEE, 1, NO_MSG, INFO_DEATH_SELF_TURRET_WALK_MELEE, CENTER_DEATH_SELF_TURRET_WALK) - MSG_MULTI_NOTIF(DEATH_SELF_TURRET_WALK_ROCKET, 1, NO_MSG, INFO_DEATH_SELF_TURRET_WALK_ROCKET, CENTER_DEATH_SELF_TURRET_WALK) - MSG_MULTI_NOTIF(DEATH_SELF_VH_BUMB_DEATH, 1, NO_MSG, INFO_DEATH_SELF_VH_BUMB_DEATH, CENTER_DEATH_SELF_VH_BUMB_DEATH) - MSG_MULTI_NOTIF(DEATH_SELF_VH_CRUSH, 1, NO_MSG, INFO_DEATH_SELF_VH_CRUSH, CENTER_DEATH_SELF_VH_CRUSH) - MSG_MULTI_NOTIF(DEATH_SELF_VH_RAPT_BOMB, 1, NO_MSG, INFO_DEATH_SELF_VH_RAPT_BOMB, CENTER_DEATH_SELF_VH_RAPT_BOMB) - MSG_MULTI_NOTIF(DEATH_SELF_VH_RAPT_DEATH, 1, NO_MSG, INFO_DEATH_SELF_VH_RAPT_DEATH, CENTER_DEATH_SELF_VH_RAPT_DEATH) - MSG_MULTI_NOTIF(DEATH_SELF_VH_SPID_DEATH, 1, NO_MSG, INFO_DEATH_SELF_VH_SPID_DEATH, CENTER_DEATH_SELF_VH_SPID_DEATH) - MSG_MULTI_NOTIF(DEATH_SELF_VH_SPID_ROCKET, 1, NO_MSG, INFO_DEATH_SELF_VH_SPID_ROCKET, CENTER_DEATH_SELF_VH_SPID_ROCKET) - MSG_MULTI_NOTIF(DEATH_SELF_VH_WAKI_DEATH, 1, NO_MSG, INFO_DEATH_SELF_VH_WAKI_DEATH, CENTER_DEATH_SELF_VH_WAKI_DEATH) - MSG_MULTI_NOTIF(DEATH_SELF_VH_WAKI_ROCKET, 1, NO_MSG, INFO_DEATH_SELF_VH_WAKI_ROCKET, CENTER_DEATH_SELF_VH_WAKI_ROCKET) - MSG_MULTI_NOTIF(DEATH_SELF_VOID, 1, NO_MSG, INFO_DEATH_SELF_VOID, CENTER_DEATH_SELF_VOID) - - MSG_MULTI_NOTIF(ITEM_BUFF_DROP, 1, NO_MSG, INFO_ITEM_BUFF_DROP, CENTER_ITEM_BUFF_DROP) - MSG_MULTI_NOTIF(ITEM_BUFF_GOT, 1, NO_MSG, INFO_ITEM_BUFF_GOT, CENTER_ITEM_BUFF_GOT) - MSG_MULTI_NOTIF(ITEM_WEAPON_DONTHAVE, 1, NO_MSG, INFO_ITEM_WEAPON_DONTHAVE, CENTER_ITEM_WEAPON_DONTHAVE) - MSG_MULTI_NOTIF(ITEM_WEAPON_DROP, 1, NO_MSG, INFO_ITEM_WEAPON_DROP, CENTER_ITEM_WEAPON_DROP) - MSG_MULTI_NOTIF(ITEM_WEAPON_GOT, 1, NO_MSG, INFO_ITEM_WEAPON_GOT, CENTER_ITEM_WEAPON_GOT) - MSG_MULTI_NOTIF(ITEM_WEAPON_NOAMMO, 1, NO_MSG, INFO_ITEM_WEAPON_NOAMMO, CENTER_ITEM_WEAPON_NOAMMO) - MSG_MULTI_NOTIF(ITEM_WEAPON_PRIMORSEC, 1, NO_MSG, INFO_ITEM_WEAPON_PRIMORSEC, CENTER_ITEM_WEAPON_PRIMORSEC) - MSG_MULTI_NOTIF(ITEM_WEAPON_UNAVAILABLE, 1, NO_MSG, INFO_ITEM_WEAPON_UNAVAILABLE, CENTER_ITEM_WEAPON_UNAVAILABLE) - - MSG_MULTI_NOTIF(MULTI_COINTOSS, 1, NO_MSG, INFO_COINTOSS, CENTER_COINTOSS) - MSG_MULTI_NOTIF(MULTI_COUNTDOWN_BEGIN, 1, ANNCE_BEGIN, NO_MSG, CENTER_COUNTDOWN_BEGIN) - MSG_MULTI_NOTIF(MULTI_INSTAGIB_FINDAMMO, 1, ANNCE_NUM_10, NO_MSG, CENTER_INSTAGIB_FINDAMMO_FIRST) - - MSG_MULTI_NOTIF(WEAPON_ACCORDEON_MURDER, 1, NO_MSG, INFO_WEAPON_ACCORDEON_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_ACCORDEON_SUICIDE, 1, NO_MSG, INFO_WEAPON_ACCORDEON_SUICIDE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_ARC_MURDER, 1, NO_MSG, INFO_WEAPON_ARC_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_ARC_MURDER_SPRAY, 1, NO_MSG, INFO_WEAPON_ARC_MURDER_SPRAY, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_BLASTER_MURDER, 1, NO_MSG, INFO_WEAPON_BLASTER_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_BLASTER_SUICIDE, 1, NO_MSG, INFO_WEAPON_BLASTER_SUICIDE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_CRYLINK_MURDER, 1, NO_MSG, INFO_WEAPON_CRYLINK_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_CRYLINK_SUICIDE, 1, NO_MSG, INFO_WEAPON_CRYLINK_SUICIDE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_DEVASTATOR_MURDER_DIRECT, 1, NO_MSG, INFO_WEAPON_DEVASTATOR_MURDER_DIRECT, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_DEVASTATOR_MURDER_SPLASH, 1, NO_MSG, INFO_WEAPON_DEVASTATOR_MURDER_SPLASH, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_DEVASTATOR_SUICIDE, 1, NO_MSG, INFO_WEAPON_DEVASTATOR_SUICIDE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_ELECTRO_MURDER_BOLT, 1, NO_MSG, INFO_WEAPON_ELECTRO_MURDER_BOLT, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_ELECTRO_MURDER_COMBO, 1, NO_MSG, INFO_WEAPON_ELECTRO_MURDER_COMBO, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_ELECTRO_MURDER_ORBS, 1, NO_MSG, INFO_WEAPON_ELECTRO_MURDER_ORBS, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_ELECTRO_SUICIDE_BOLT, 1, NO_MSG, INFO_WEAPON_ELECTRO_SUICIDE_BOLT, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_ELECTRO_SUICIDE_ORBS, 1, NO_MSG, INFO_WEAPON_ELECTRO_SUICIDE_ORBS, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_FIREBALL_MURDER_BLAST, 1, NO_MSG, INFO_WEAPON_FIREBALL_MURDER_BLAST, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_FIREBALL_MURDER_FIREMINE, 1, NO_MSG, INFO_WEAPON_FIREBALL_MURDER_FIREMINE, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_FIREBALL_SUICIDE_BLAST, 1, NO_MSG, INFO_WEAPON_FIREBALL_SUICIDE_BLAST, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_FIREBALL_SUICIDE_FIREMINE, 1, NO_MSG, INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_HAGAR_MURDER_BURST, 1, NO_MSG, INFO_WEAPON_HAGAR_MURDER_BURST, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_HAGAR_MURDER_SPRAY, 1, NO_MSG, INFO_WEAPON_HAGAR_MURDER_SPRAY, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_HAGAR_SUICIDE, 1, NO_MSG, INFO_WEAPON_HAGAR_SUICIDE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_HLAC_MURDER, 1, NO_MSG, INFO_WEAPON_HLAC_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_HLAC_SUICIDE, 1, NO_MSG, INFO_WEAPON_HLAC_SUICIDE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_HMG_MURDER_SNIPE, 1, NO_MSG, INFO_WEAPON_HMG_MURDER_SNIPE, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_HMG_MURDER_SPRAY, 1, NO_MSG, INFO_WEAPON_HMG_MURDER_SPRAY, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_HOOK_MURDER, 1, NO_MSG, INFO_WEAPON_HOOK_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_KLEINBOTTLE_MURDER, 1, NO_MSG, INFO_WEAPON_KLEINBOTTLE_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_KLEINBOTTLE_SUICIDE, 1, NO_MSG, INFO_WEAPON_KLEINBOTTLE_SUICIDE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_MACHINEGUN_MURDER_SNIPE, 1, NO_MSG, INFO_WEAPON_MACHINEGUN_MURDER_SNIPE, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_MACHINEGUN_MURDER_SPRAY, 1, NO_MSG, INFO_WEAPON_MACHINEGUN_MURDER_SPRAY, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_MINELAYER_LIMIT, 1, NO_MSG, INFO_WEAPON_MINELAYER_LIMIT, CENTER_WEAPON_MINELAYER_LIMIT) - MSG_MULTI_NOTIF(WEAPON_MINELAYER_MURDER, 1, NO_MSG, INFO_WEAPON_MINELAYER_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_MINELAYER_SUICIDE, 1, NO_MSG, INFO_WEAPON_MINELAYER_SUICIDE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_MORTAR_MURDER_BOUNCE, 1, NO_MSG, INFO_WEAPON_MORTAR_MURDER_BOUNCE, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_MORTAR_MURDER_EXPLODE, 1, NO_MSG, INFO_WEAPON_MORTAR_MURDER_EXPLODE, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_MORTAR_SUICIDE_BOUNCE, 1, NO_MSG, INFO_WEAPON_MORTAR_SUICIDE_BOUNCE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_MORTAR_SUICIDE_EXPLODE, 1, NO_MSG, INFO_WEAPON_MORTAR_SUICIDE_EXPLODE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_RIFLE_MURDER, 1, NO_MSG, INFO_WEAPON_RIFLE_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_RIFLE_MURDER_HAIL, 1, NO_MSG, INFO_WEAPON_RIFLE_MURDER_HAIL, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_RIFLE_MURDER_HAIL_PIERCING, 1, NO_MSG, INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_RIFLE_MURDER_PIERCING, 1, NO_MSG, INFO_WEAPON_RIFLE_MURDER_PIERCING, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_RPC_MURDER_DIRECT, 1, NO_MSG, INFO_WEAPON_RPC_MURDER_DIRECT, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_RPC_MURDER_SPLASH, 1, NO_MSG, INFO_WEAPON_RPC_MURDER_SPLASH, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_RPC_SUICIDE_DIRECT, 1, NO_MSG, INFO_WEAPON_RPC_SUICIDE_DIRECT, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_RPC_SUICIDE_SPLASH, 1, NO_MSG, INFO_WEAPON_RPC_SUICIDE_SPLASH, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_SEEKER_MURDER_SPRAY, 1, NO_MSG, INFO_WEAPON_SEEKER_MURDER_SPRAY, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_SEEKER_MURDER_TAG, 1, NO_MSG, INFO_WEAPON_SEEKER_MURDER_TAG, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_SEEKER_SUICIDE, 1, NO_MSG, INFO_WEAPON_SEEKER_SUICIDE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_SHOCKWAVE_MURDER, 1, NO_MSG, INFO_WEAPON_SHOCKWAVE_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_SHOCKWAVE_MURDER_SLAP, 1, NO_MSG, INFO_WEAPON_SHOCKWAVE_MURDER_SLAP, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_SHOTGUN_MURDER, 1, NO_MSG, INFO_WEAPON_SHOTGUN_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_SHOTGUN_MURDER_SLAP, 1, NO_MSG, INFO_WEAPON_SHOTGUN_MURDER_SLAP, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_THINKING_WITH_PORTALS, 1, NO_MSG, INFO_WEAPON_THINKING_WITH_PORTALS, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_TUBA_MURDER, 1, NO_MSG, INFO_WEAPON_TUBA_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_TUBA_SUICIDE, 1, NO_MSG, INFO_WEAPON_TUBA_SUICIDE, CENTER_DEATH_SELF_GENERIC) - MSG_MULTI_NOTIF(WEAPON_VAPORIZER_MURDER, 1, NO_MSG, INFO_WEAPON_VAPORIZER_MURDER, NO_MSG) - MSG_MULTI_NOTIF(WEAPON_VORTEX_MURDER, 1, NO_MSG, INFO_WEAPON_VORTEX_MURDER, NO_MSG) + MSG_MULTI_NOTIF(DEATH_MURDER_BUFF, 1, NULL, INFO_DEATH_MURDER_BUFF, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_CHEAT, 1, NULL, INFO_DEATH_MURDER_CHEAT, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_DROWN, 1, NULL, INFO_DEATH_MURDER_DROWN, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_FALL, 1, NULL, INFO_DEATH_MURDER_FALL, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_FIRE, 1, NULL, INFO_DEATH_MURDER_FIRE, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_LAVA, 1, NULL, INFO_DEATH_MURDER_LAVA, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_MONSTER, 1, NULL, INFO_DEATH_MURDER_MONSTER, CENTER_DEATH_SELF_MONSTER) + MSG_MULTI_NOTIF(DEATH_MURDER_NADE, 1, NULL, INFO_DEATH_MURDER_NADE, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_NADE_NAPALM, 1, NULL, INFO_DEATH_MURDER_NADE_NAPALM, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_NADE_ICE, 1, NULL, INFO_DEATH_MURDER_NADE_ICE, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_NADE_ICE_FREEZE, 1, NULL, INFO_DEATH_MURDER_NADE_ICE_FREEZE, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_NADE_HEAL, 1, NULL, INFO_DEATH_MURDER_NADE_HEAL, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_SHOOTING_STAR, 1, NULL, INFO_DEATH_MURDER_SHOOTING_STAR, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_SLIME, 1, NULL, INFO_DEATH_MURDER_SLIME, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_SWAMP, 1, NULL, INFO_DEATH_MURDER_SWAMP, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_TELEFRAG, 1, NULL, INFO_DEATH_MURDER_TELEFRAG, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_TOUCHEXPLODE, 1, NULL, INFO_DEATH_MURDER_TOUCHEXPLODE, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_BUMB_DEATH, 1, NULL, INFO_DEATH_MURDER_VH_BUMB_DEATH, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_BUMB_GUN, 1, NULL, INFO_DEATH_MURDER_VH_BUMB_GUN, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_CRUSH, 1, NULL, INFO_DEATH_MURDER_VH_CRUSH, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_RAPT_BOMB, 1, NULL, INFO_DEATH_MURDER_VH_RAPT_BOMB, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_RAPT_CANNON, 1, NULL, INFO_DEATH_MURDER_VH_RAPT_CANNON, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_RAPT_DEATH, 1, NULL, INFO_DEATH_MURDER_VH_RAPT_DEATH, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_SPID_DEATH, 1, NULL, INFO_DEATH_MURDER_VH_SPID_DEATH, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_SPID_MINIGUN, 1, NULL, INFO_DEATH_MURDER_VH_SPID_MINIGUN, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_SPID_ROCKET, 1, NULL, INFO_DEATH_MURDER_VH_SPID_ROCKET, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_WAKI_DEATH, 1, NULL, INFO_DEATH_MURDER_VH_WAKI_DEATH, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_WAKI_GUN, 1, NULL, INFO_DEATH_MURDER_VH_WAKI_GUN, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VH_WAKI_ROCKET, 1, NULL, INFO_DEATH_MURDER_VH_WAKI_ROCKET, NULL) + MSG_MULTI_NOTIF(DEATH_MURDER_VOID, 1, NULL, INFO_DEATH_MURDER_VOID, NULL) + + MSG_MULTI_NOTIF(DEATH_SELF_AUTOTEAMCHANGE, 1, NULL, INFO_DEATH_SELF_AUTOTEAMCHANGE, CENTER_DEATH_SELF_AUTOTEAMCHANGE) + MSG_MULTI_NOTIF(DEATH_SELF_BETRAYAL, 1, NULL, INFO_DEATH_SELF_BETRAYAL, CENTER_DEATH_SELF_BETRAYAL) + MSG_MULTI_NOTIF(DEATH_SELF_CAMP, 1, NULL, INFO_DEATH_SELF_CAMP, CENTER_DEATH_SELF_CAMP) + MSG_MULTI_NOTIF(DEATH_SELF_CHEAT, 1, NULL, INFO_DEATH_SELF_CHEAT, CENTER_DEATH_SELF_CHEAT) + MSG_MULTI_NOTIF(DEATH_SELF_CUSTOM, 1, NULL, INFO_DEATH_SELF_GENERIC, CENTER_DEATH_SELF_CUSTOM) + MSG_MULTI_NOTIF(DEATH_SELF_DROWN, 1, NULL, INFO_DEATH_SELF_DROWN, CENTER_DEATH_SELF_DROWN) + MSG_MULTI_NOTIF(DEATH_SELF_FALL, 1, NULL, INFO_DEATH_SELF_FALL, CENTER_DEATH_SELF_FALL) + MSG_MULTI_NOTIF(DEATH_SELF_FIRE, 1, NULL, INFO_DEATH_SELF_FIRE, CENTER_DEATH_SELF_FIRE) + MSG_MULTI_NOTIF(DEATH_SELF_GENERIC, 1, NULL, INFO_DEATH_SELF_GENERIC, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(DEATH_SELF_LAVA, 1, NULL, INFO_DEATH_SELF_LAVA, CENTER_DEATH_SELF_LAVA) + MSG_MULTI_NOTIF(DEATH_SELF_MON_MAGE, 1, NULL, INFO_DEATH_SELF_MON_MAGE, CENTER_DEATH_SELF_MONSTER) + MSG_MULTI_NOTIF(DEATH_SELF_MON_SHAMBLER_CLAW, 1, NULL, INFO_DEATH_SELF_MON_SHAMBLER_CLAW, CENTER_DEATH_SELF_MONSTER) + MSG_MULTI_NOTIF(DEATH_SELF_MON_SHAMBLER_SMASH, 1, NULL, INFO_DEATH_SELF_MON_SHAMBLER_SMASH, CENTER_DEATH_SELF_MONSTER) + MSG_MULTI_NOTIF(DEATH_SELF_MON_SHAMBLER_ZAP, 1, NULL, INFO_DEATH_SELF_MON_SHAMBLER_ZAP, CENTER_DEATH_SELF_MONSTER) + MSG_MULTI_NOTIF(DEATH_SELF_MON_SPIDER, 1, NULL, INFO_DEATH_SELF_MON_SPIDER, CENTER_DEATH_SELF_MONSTER) + MSG_MULTI_NOTIF(DEATH_SELF_MON_WYVERN, 1, NULL, INFO_DEATH_SELF_MON_WYVERN, CENTER_DEATH_SELF_MONSTER) + MSG_MULTI_NOTIF(DEATH_SELF_MON_ZOMBIE_JUMP, 1, NULL, INFO_DEATH_SELF_MON_ZOMBIE_JUMP, CENTER_DEATH_SELF_MONSTER) + MSG_MULTI_NOTIF(DEATH_SELF_MON_ZOMBIE_MELEE, 1, NULL, INFO_DEATH_SELF_MON_ZOMBIE_MELEE, CENTER_DEATH_SELF_MONSTER) + MSG_MULTI_NOTIF(DEATH_SELF_NADE, 1, NULL, INFO_DEATH_SELF_NADE, CENTER_DEATH_SELF_NADE) + MSG_MULTI_NOTIF(DEATH_SELF_NADE_NAPALM, 1, NULL, INFO_DEATH_SELF_NADE_NAPALM, CENTER_DEATH_SELF_NADE_NAPALM) + MSG_MULTI_NOTIF(DEATH_SELF_NADE_ICE, 1, NULL, INFO_DEATH_SELF_NADE_ICE, CENTER_DEATH_SELF_NADE_ICE_FREEZE) + MSG_MULTI_NOTIF(DEATH_SELF_NADE_ICE_FREEZE, 1, NULL, INFO_DEATH_SELF_NADE_ICE_FREEZE, CENTER_DEATH_SELF_NADE_ICE_FREEZE) + MSG_MULTI_NOTIF(DEATH_SELF_NADE_HEAL, 1, NULL, INFO_DEATH_SELF_NADE_HEAL, CENTER_DEATH_SELF_NADE_HEAL) + MSG_MULTI_NOTIF(DEATH_SELF_NOAMMO, 1, NULL, INFO_DEATH_SELF_NOAMMO, CENTER_DEATH_SELF_NOAMMO) + MSG_MULTI_NOTIF(DEATH_SELF_ROT, 1, NULL, INFO_DEATH_SELF_ROT, CENTER_DEATH_SELF_ROT) + MSG_MULTI_NOTIF(DEATH_SELF_SHOOTING_STAR, 1, NULL, INFO_DEATH_SELF_SHOOTING_STAR, CENTER_DEATH_SELF_SHOOTING_STAR) + MSG_MULTI_NOTIF(DEATH_SELF_SLIME, 1, NULL, INFO_DEATH_SELF_SLIME, CENTER_DEATH_SELF_SLIME) + MSG_MULTI_NOTIF(DEATH_SELF_SUICIDE, 1, NULL, INFO_DEATH_SELF_SUICIDE, CENTER_DEATH_SELF_SUICIDE) + MSG_MULTI_NOTIF(DEATH_SELF_SWAMP, 1, NULL, INFO_DEATH_SELF_SWAMP, CENTER_DEATH_SELF_SWAMP) + MSG_MULTI_NOTIF(DEATH_SELF_TEAMCHANGE, 1, NULL, INFO_DEATH_SELF_TEAMCHANGE, CENTER_DEATH_SELF_TEAMCHANGE) + MSG_MULTI_NOTIF(DEATH_SELF_TOUCHEXPLODE, 1, NULL, INFO_DEATH_SELF_TOUCHEXPLODE, CENTER_DEATH_SELF_TOUCHEXPLODE) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET, 1, NULL, INFO_DEATH_SELF_TURRET, CENTER_DEATH_SELF_TURRET) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_EWHEEL, 1, NULL, INFO_DEATH_SELF_TURRET_EWHEEL, CENTER_DEATH_SELF_TURRET_EWHEEL) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_FLAC, 1, NULL, INFO_DEATH_SELF_TURRET_FLAC, CENTER_DEATH_SELF_TURRET) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_HELLION, 1, NULL, INFO_DEATH_SELF_TURRET_HELLION, CENTER_DEATH_SELF_TURRET) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_HK, 1, NULL, INFO_DEATH_SELF_TURRET_HK, CENTER_DEATH_SELF_TURRET) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_MACHINEGUN, 1, NULL, INFO_DEATH_SELF_TURRET_MACHINEGUN, CENTER_DEATH_SELF_TURRET) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_MLRS, 1, NULL, INFO_DEATH_SELF_TURRET_MLRS, CENTER_DEATH_SELF_TURRET) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_PHASER, 1, NULL, INFO_DEATH_SELF_TURRET_PHASER, CENTER_DEATH_SELF_TURRET) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_PLASMA, 1, NULL, INFO_DEATH_SELF_TURRET_PLASMA, CENTER_DEATH_SELF_TURRET) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_TESLA, 1, NULL, INFO_DEATH_SELF_TURRET_TESLA, CENTER_DEATH_SELF_TURRET) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_WALK_GUN, 1, NULL, INFO_DEATH_SELF_TURRET_WALK_GUN, CENTER_DEATH_SELF_TURRET_WALK) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_WALK_MELEE, 1, NULL, INFO_DEATH_SELF_TURRET_WALK_MELEE, CENTER_DEATH_SELF_TURRET_WALK) + MSG_MULTI_NOTIF(DEATH_SELF_TURRET_WALK_ROCKET, 1, NULL, INFO_DEATH_SELF_TURRET_WALK_ROCKET, CENTER_DEATH_SELF_TURRET_WALK) + MSG_MULTI_NOTIF(DEATH_SELF_VH_BUMB_DEATH, 1, NULL, INFO_DEATH_SELF_VH_BUMB_DEATH, CENTER_DEATH_SELF_VH_BUMB_DEATH) + MSG_MULTI_NOTIF(DEATH_SELF_VH_CRUSH, 1, NULL, INFO_DEATH_SELF_VH_CRUSH, CENTER_DEATH_SELF_VH_CRUSH) + MSG_MULTI_NOTIF(DEATH_SELF_VH_RAPT_BOMB, 1, NULL, INFO_DEATH_SELF_VH_RAPT_BOMB, CENTER_DEATH_SELF_VH_RAPT_BOMB) + MSG_MULTI_NOTIF(DEATH_SELF_VH_RAPT_DEATH, 1, NULL, INFO_DEATH_SELF_VH_RAPT_DEATH, CENTER_DEATH_SELF_VH_RAPT_DEATH) + MSG_MULTI_NOTIF(DEATH_SELF_VH_SPID_DEATH, 1, NULL, INFO_DEATH_SELF_VH_SPID_DEATH, CENTER_DEATH_SELF_VH_SPID_DEATH) + MSG_MULTI_NOTIF(DEATH_SELF_VH_SPID_ROCKET, 1, NULL, INFO_DEATH_SELF_VH_SPID_ROCKET, CENTER_DEATH_SELF_VH_SPID_ROCKET) + MSG_MULTI_NOTIF(DEATH_SELF_VH_WAKI_DEATH, 1, NULL, INFO_DEATH_SELF_VH_WAKI_DEATH, CENTER_DEATH_SELF_VH_WAKI_DEATH) + MSG_MULTI_NOTIF(DEATH_SELF_VH_WAKI_ROCKET, 1, NULL, INFO_DEATH_SELF_VH_WAKI_ROCKET, CENTER_DEATH_SELF_VH_WAKI_ROCKET) + MSG_MULTI_NOTIF(DEATH_SELF_VOID, 1, NULL, INFO_DEATH_SELF_VOID, CENTER_DEATH_SELF_VOID) + + MSG_MULTI_NOTIF(ITEM_BUFF_DROP, 1, NULL, INFO_ITEM_BUFF_DROP, CENTER_ITEM_BUFF_DROP) + MSG_MULTI_NOTIF(ITEM_BUFF_GOT, 1, NULL, INFO_ITEM_BUFF_GOT, CENTER_ITEM_BUFF_GOT) + MSG_MULTI_NOTIF(ITEM_WEAPON_DONTHAVE, 1, NULL, INFO_ITEM_WEAPON_DONTHAVE, CENTER_ITEM_WEAPON_DONTHAVE) + MSG_MULTI_NOTIF(ITEM_WEAPON_DROP, 1, NULL, INFO_ITEM_WEAPON_DROP, CENTER_ITEM_WEAPON_DROP) + MSG_MULTI_NOTIF(ITEM_WEAPON_GOT, 1, NULL, INFO_ITEM_WEAPON_GOT, CENTER_ITEM_WEAPON_GOT) + MSG_MULTI_NOTIF(ITEM_WEAPON_NOAMMO, 1, NULL, INFO_ITEM_WEAPON_NOAMMO, CENTER_ITEM_WEAPON_NOAMMO) + MSG_MULTI_NOTIF(ITEM_WEAPON_PRIMORSEC, 1, NULL, INFO_ITEM_WEAPON_PRIMORSEC, CENTER_ITEM_WEAPON_PRIMORSEC) + MSG_MULTI_NOTIF(ITEM_WEAPON_UNAVAILABLE, 1, NULL, INFO_ITEM_WEAPON_UNAVAILABLE, CENTER_ITEM_WEAPON_UNAVAILABLE) + + MSG_MULTI_NOTIF(MULTI_COINTOSS, 1, NULL, INFO_COINTOSS, CENTER_COINTOSS) + MSG_MULTI_NOTIF(MULTI_COUNTDOWN_BEGIN, 1, ANNCE_BEGIN, NULL, CENTER_COUNTDOWN_BEGIN) + MSG_MULTI_NOTIF(MULTI_INSTAGIB_FINDAMMO, 1, ANNCE_NUM_10, NULL, CENTER_INSTAGIB_FINDAMMO_FIRST) + + MSG_MULTI_NOTIF(WEAPON_ACCORDEON_MURDER, 1, NULL, INFO_WEAPON_ACCORDEON_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_ACCORDEON_SUICIDE, 1, NULL, INFO_WEAPON_ACCORDEON_SUICIDE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_ARC_MURDER, 1, NULL, INFO_WEAPON_ARC_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_ARC_MURDER_SPRAY, 1, NULL, INFO_WEAPON_ARC_MURDER_SPRAY, NULL) + MSG_MULTI_NOTIF(WEAPON_BLASTER_MURDER, 1, NULL, INFO_WEAPON_BLASTER_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_BLASTER_SUICIDE, 1, NULL, INFO_WEAPON_BLASTER_SUICIDE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_CRYLINK_MURDER, 1, NULL, INFO_WEAPON_CRYLINK_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_CRYLINK_SUICIDE, 1, NULL, INFO_WEAPON_CRYLINK_SUICIDE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_DEVASTATOR_MURDER_DIRECT, 1, NULL, INFO_WEAPON_DEVASTATOR_MURDER_DIRECT, NULL) + MSG_MULTI_NOTIF(WEAPON_DEVASTATOR_MURDER_SPLASH, 1, NULL, INFO_WEAPON_DEVASTATOR_MURDER_SPLASH, NULL) + MSG_MULTI_NOTIF(WEAPON_DEVASTATOR_SUICIDE, 1, NULL, INFO_WEAPON_DEVASTATOR_SUICIDE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_ELECTRO_MURDER_BOLT, 1, NULL, INFO_WEAPON_ELECTRO_MURDER_BOLT, NULL) + MSG_MULTI_NOTIF(WEAPON_ELECTRO_MURDER_COMBO, 1, NULL, INFO_WEAPON_ELECTRO_MURDER_COMBO, NULL) + MSG_MULTI_NOTIF(WEAPON_ELECTRO_MURDER_ORBS, 1, NULL, INFO_WEAPON_ELECTRO_MURDER_ORBS, NULL) + MSG_MULTI_NOTIF(WEAPON_ELECTRO_SUICIDE_BOLT, 1, NULL, INFO_WEAPON_ELECTRO_SUICIDE_BOLT, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_ELECTRO_SUICIDE_ORBS, 1, NULL, INFO_WEAPON_ELECTRO_SUICIDE_ORBS, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_FIREBALL_MURDER_BLAST, 1, NULL, INFO_WEAPON_FIREBALL_MURDER_BLAST, NULL) + MSG_MULTI_NOTIF(WEAPON_FIREBALL_MURDER_FIREMINE, 1, NULL, INFO_WEAPON_FIREBALL_MURDER_FIREMINE, NULL) + MSG_MULTI_NOTIF(WEAPON_FIREBALL_SUICIDE_BLAST, 1, NULL, INFO_WEAPON_FIREBALL_SUICIDE_BLAST, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_FIREBALL_SUICIDE_FIREMINE, 1, NULL, INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_HAGAR_MURDER_BURST, 1, NULL, INFO_WEAPON_HAGAR_MURDER_BURST, NULL) + MSG_MULTI_NOTIF(WEAPON_HAGAR_MURDER_SPRAY, 1, NULL, INFO_WEAPON_HAGAR_MURDER_SPRAY, NULL) + MSG_MULTI_NOTIF(WEAPON_HAGAR_SUICIDE, 1, NULL, INFO_WEAPON_HAGAR_SUICIDE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_HLAC_MURDER, 1, NULL, INFO_WEAPON_HLAC_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_HLAC_SUICIDE, 1, NULL, INFO_WEAPON_HLAC_SUICIDE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_HMG_MURDER_SNIPE, 1, NULL, INFO_WEAPON_HMG_MURDER_SNIPE, NULL) + MSG_MULTI_NOTIF(WEAPON_HMG_MURDER_SPRAY, 1, NULL, INFO_WEAPON_HMG_MURDER_SPRAY, NULL) + MSG_MULTI_NOTIF(WEAPON_HOOK_MURDER, 1, NULL, INFO_WEAPON_HOOK_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_KLEINBOTTLE_MURDER, 1, NULL, INFO_WEAPON_KLEINBOTTLE_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_KLEINBOTTLE_SUICIDE, 1, NULL, INFO_WEAPON_KLEINBOTTLE_SUICIDE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_MACHINEGUN_MURDER_SNIPE, 1, NULL, INFO_WEAPON_MACHINEGUN_MURDER_SNIPE, NULL) + MSG_MULTI_NOTIF(WEAPON_MACHINEGUN_MURDER_SPRAY, 1, NULL, INFO_WEAPON_MACHINEGUN_MURDER_SPRAY, NULL) + MSG_MULTI_NOTIF(WEAPON_MINELAYER_LIMIT, 1, NULL, INFO_WEAPON_MINELAYER_LIMIT, CENTER_WEAPON_MINELAYER_LIMIT) + MSG_MULTI_NOTIF(WEAPON_MINELAYER_MURDER, 1, NULL, INFO_WEAPON_MINELAYER_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_MINELAYER_SUICIDE, 1, NULL, INFO_WEAPON_MINELAYER_SUICIDE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_MORTAR_MURDER_BOUNCE, 1, NULL, INFO_WEAPON_MORTAR_MURDER_BOUNCE, NULL) + MSG_MULTI_NOTIF(WEAPON_MORTAR_MURDER_EXPLODE, 1, NULL, INFO_WEAPON_MORTAR_MURDER_EXPLODE, NULL) + MSG_MULTI_NOTIF(WEAPON_MORTAR_SUICIDE_BOUNCE, 1, NULL, INFO_WEAPON_MORTAR_SUICIDE_BOUNCE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_MORTAR_SUICIDE_EXPLODE, 1, NULL, INFO_WEAPON_MORTAR_SUICIDE_EXPLODE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_RIFLE_MURDER, 1, NULL, INFO_WEAPON_RIFLE_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_RIFLE_MURDER_HAIL, 1, NULL, INFO_WEAPON_RIFLE_MURDER_HAIL, NULL) + MSG_MULTI_NOTIF(WEAPON_RIFLE_MURDER_HAIL_PIERCING, 1, NULL, INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING, NULL) + MSG_MULTI_NOTIF(WEAPON_RIFLE_MURDER_PIERCING, 1, NULL, INFO_WEAPON_RIFLE_MURDER_PIERCING, NULL) + MSG_MULTI_NOTIF(WEAPON_RPC_MURDER_DIRECT, 1, NULL, INFO_WEAPON_RPC_MURDER_DIRECT, NULL) + MSG_MULTI_NOTIF(WEAPON_RPC_MURDER_SPLASH, 1, NULL, INFO_WEAPON_RPC_MURDER_SPLASH, NULL) + MSG_MULTI_NOTIF(WEAPON_RPC_SUICIDE_DIRECT, 1, NULL, INFO_WEAPON_RPC_SUICIDE_DIRECT, NULL) + MSG_MULTI_NOTIF(WEAPON_RPC_SUICIDE_SPLASH, 1, NULL, INFO_WEAPON_RPC_SUICIDE_SPLASH, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_SEEKER_MURDER_SPRAY, 1, NULL, INFO_WEAPON_SEEKER_MURDER_SPRAY, NULL) + MSG_MULTI_NOTIF(WEAPON_SEEKER_MURDER_TAG, 1, NULL, INFO_WEAPON_SEEKER_MURDER_TAG, NULL) + MSG_MULTI_NOTIF(WEAPON_SEEKER_SUICIDE, 1, NULL, INFO_WEAPON_SEEKER_SUICIDE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_SHOCKWAVE_MURDER, 1, NULL, INFO_WEAPON_SHOCKWAVE_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_SHOCKWAVE_MURDER_SLAP, 1, NULL, INFO_WEAPON_SHOCKWAVE_MURDER_SLAP, NULL) + MSG_MULTI_NOTIF(WEAPON_SHOTGUN_MURDER, 1, NULL, INFO_WEAPON_SHOTGUN_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_SHOTGUN_MURDER_SLAP, 1, NULL, INFO_WEAPON_SHOTGUN_MURDER_SLAP, NULL) + MSG_MULTI_NOTIF(WEAPON_THINKING_WITH_PORTALS, 1, NULL, INFO_WEAPON_THINKING_WITH_PORTALS, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_TUBA_MURDER, 1, NULL, INFO_WEAPON_TUBA_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_TUBA_SUICIDE, 1, NULL, INFO_WEAPON_TUBA_SUICIDE, CENTER_DEATH_SELF_GENERIC) + MSG_MULTI_NOTIF(WEAPON_VAPORIZER_MURDER, 1, NULL, INFO_WEAPON_VAPORIZER_MURDER, NULL) + MSG_MULTI_NOTIF(WEAPON_VORTEX_MURDER, 1, NULL, INFO_WEAPON_VORTEX_MURDER, NULL) #define MULTITEAM_CHOICE2(prefix, default, challow, chtype, optiona, optionb) \ MSG_CHOICE_NOTIF(prefix##_RED, default, challow, chtype, optiona##_RED, optionb##_RED) \ diff --git a/qcsrc/common/notifications.qc b/qcsrc/common/notifications.qc index 315b2f931..5bfcfce5f 100644 --- a/qcsrc/common/notifications.qc +++ b/qcsrc/common/notifications.qc @@ -18,19 +18,16 @@ #ifdef SVQC string Notification_CheckArgs( - NOTIF broadcast, entity client, - Notification net_name) + NOTIF broadcast, entity client) { - // check supplied broadcast, target, type, and name for errors - string checkargs = ""; - if (!net_name) { checkargs = "No notification provided! "; } + // check supplied broadcast and target for errors switch (broadcast) { case NOTIF_ONE: case NOTIF_ONE_ONLY: { if (IS_NOT_A_CLIENT(client)) { - checkargs = sprintf("%sNo client provided!", checkargs); + return "No client provided!"; } break; } @@ -38,7 +35,7 @@ string Notification_CheckArgs( case NOTIF_ALL_EXCEPT: { if (IS_NOT_A_CLIENT(client)) { - checkargs = sprintf("%sException can't be a non-client!", checkargs); + return "Exception can't be a non-client!"; } break; } @@ -46,7 +43,7 @@ string Notification_CheckArgs( case NOTIF_ALL: { if (client) { - checkargs = sprintf("%sEntity provided when world was required!", checkargs); + return "Entity provided when world was required!"; } break; } @@ -54,7 +51,7 @@ string Notification_CheckArgs( case NOTIF_TEAM: { if (!teamplay) { - checkargs = sprintf("%sTeamplay not active!", checkargs); + return "Teamplay not active!"; } else if (!client.team) { // checkargs = sprintf("%sNo team provided!", checkargs); } @@ -64,20 +61,19 @@ string Notification_CheckArgs( case NOTIF_TEAM_EXCEPT: { if (!teamplay) { - checkargs = sprintf("%sTeamplay not active!", checkargs); + return "Teamplay not active!"; } else if (IS_NOT_A_CLIENT(client)) { - checkargs = sprintf("%sException can't be a non-client!", checkargs); + return "Exception can't be a non-client!"; } break; } default: { - checkargs = sprintf("%sImproper broadcast: %d!", checkargs, broadcast); - break; + return sprintf("Improper broadcast: %d!", broadcast); } } - return checkargs; + return ""; } bool Notification_ShouldSend(NOTIF broadcast, entity to_client, entity other_client) @@ -164,7 +160,7 @@ void Destroy_All_Notifications() { // kill all networked notifications and centerprints #ifdef SVQC - Kill_Notification(NOTIF_ALL, NULL, MSG_Null, 0); + Kill_Notification(NOTIF_ALL, NULL, MSG_Null, CPID_Null); #else reset_centerprint_messages(); #endif @@ -498,7 +494,7 @@ void Create_Notification_Entity_InfoCenter(entity notif, string args, string hudargs, string icon, - float cpid, + CPID cpid, string durcnt, string normal, string gentle) @@ -576,7 +572,7 @@ void Create_Notification_Entity_InfoCenter(entity notif, } else if(icon != "") { - LOG_INFOF( + LOG_WARNINGF( ( "^1NOTIFICATION HAS ICON BUT NO HUDARGS: " "^7net_type = %s, net_name = %s.\n" @@ -587,18 +583,16 @@ void Create_Notification_Entity_InfoCenter(entity notif, notif_error = true; } - if(durcnt != "") + if (durcnt != "") { - notif.nent_durcnt = strzone( - Process_Notif_Args(3, durcnt, typestring, namestring)); + notif.nent_durcnt = strzone(Process_Notif_Args(3, durcnt, typestring, namestring)); - if(cpid != NO_MSG_) { notif.nent_cpid = cpid; } - else + if (cpid == CPID_Null && durcnt != "0 0") { - LOG_INFOF( + LOG_WARNINGF( ( - "^1NOTIFICATION HAS DURCNT BUT NO CPID: " - "^7net_type = %s, net_name = %s.\n" + "Notification has durcnt but no cpid: " + "net_type = %s, net_name = %s." ), typestring, namestring @@ -606,7 +600,7 @@ void Create_Notification_Entity_InfoCenter(entity notif, notif_error = true; } } - else if(cpid != NO_MSG_) { notif.nent_cpid = cpid; } + notif.nent_cpid = cpid; #endif @@ -660,7 +654,7 @@ void Create_Notification_Entity_Multi(entity notif, { MSG typeId = MSG_MULTI; // Set MSG_MULTI string/float counts - if((anncename == NO_MSG) && (infoname == NO_MSG) && (centername == NO_MSG)) + if (!anncename && !infoname && !centername) { string typestring = Get_Notif_TypeName(typeId); LOG_INFOF( @@ -676,19 +670,19 @@ void Create_Notification_Entity_Multi(entity notif, else { // announcements don't actually need any arguments, so lets not even count them. - if(anncename != NO_MSG) { notif.nent_msgannce = anncename; } + if (anncename) { notif.nent_msgannce = anncename; } float infoname_stringcount = 0, infoname_floatcount = 0; float centername_stringcount = 0, centername_floatcount = 0; - if(infoname != NO_MSG) + if (infoname) { notif.nent_msginfo = infoname; infoname_stringcount = notif.nent_msginfo.nent_stringcount; infoname_floatcount = notif.nent_msginfo.nent_floatcount; } - if(centername != NO_MSG) + if (centername) { notif.nent_msgcenter = centername; centername_stringcount = notif.nent_msgcenter.nent_stringcount; @@ -712,7 +706,7 @@ void Create_Notification_Entity_Choice(entity notif, Notification optionb) { MSG typeId = MSG_CHOICE; - if((chtype == MSG_Null) || (optiona == NO_MSG) || (optionb == NO_MSG)) + if (chtype == MSG_Null || !optiona || !optionb) { string typestring = Get_Notif_TypeName(typeId); LOG_INFOF( @@ -1157,7 +1151,7 @@ void Local_Notification_HUD_Notify_Push( void Local_Notification_centerprint_generic( string input, string durcnt, - int cpid, float f1, float f2) + CPID cpid, float f1, float f2) { arg_slot[0] = ""; arg_slot[1] = ""; @@ -1200,37 +1194,23 @@ void Local_Notification_centerprint_generic( stof(arg_slot[1]) )); #endif - centerprint_generic(cpid, input, stof(arg_slot[0]), stof(arg_slot[1])); + centerprint_generic(ORDINAL(cpid), input, stof(arg_slot[0]), stof(arg_slot[1])); } #endif void Local_Notification(MSG net_type, Notification net_name, ...count) { - // check if this should be aborted - if (net_name == NOTIF_ABORT) - { - #ifdef NOTIFICATIONS_DEBUG - Debug_Notification(sprintf( - "Local_Notification(%s, %s, ...);\n", - Get_Notif_TypeName(net_type), - "NOTIF_ABORT" - )); - #endif - return; - } - // retreive entity of this notification entity notif = net_name; if (!notif) { #ifdef NOTIFICATIONS_DEBUG Debug_Notification(sprintf( - "Local_Notification(%s, %d, ...);\n", - Get_Notif_TypeName(net_type), - net_name + "Local_Notification(%s, NULL, ...);\n", + Get_Notif_TypeName(net_type) )); #endif - backtrace(sprintf("Incorrect usage of Local_Notification: %s\n", "Null notification")); + LOG_WARNINGF("Incorrect usage of Local_Notification: %s\n", "Null notification"); return; } @@ -1434,6 +1414,33 @@ NET_HANDLE(ENT_CLIENT_NOTIFICATION, bool is_new) make_pure(this); MSG net_type = ENUMCAST(MSG, ReadByte()); int net_name = ReadShort(); + return = true; + + if (net_type == MSG_CENTER_KILL) + { + if (!is_new) return; + // killing + #ifdef NOTIFICATIONS_DEBUG + Debug_Notification(sprintf( + "Read_Notification(%d) at %f: net_type = %s, cpid = %d\n", + is_new, + time, + Get_Notif_TypeName(net_type), + net_name + )); + #endif + int _net_name = net_name; + CPID net_name = ENUMCAST(CPID, _net_name); + if (net_name == CPID_Null) { + // kill all + reset_centerprint_messages(); + } else { + // kill group + centerprint_generic(ORDINAL(net_name), "", 0, 0); + } + return; + } + Notification notif = Get_Notif_Ent(net_type, net_name); #ifdef NOTIFICATIONS_DEBUG @@ -1447,56 +1454,27 @@ NET_HANDLE(ENT_CLIENT_NOTIFICATION, bool is_new) )); #endif - if (net_type == MSG_CENTER_CPID) - { - // killing - return = true; - if (!is_new) return; - if (net_name == NO_CPID) { - backtrace(sprintf( - "Read_Notification(%d) at %f: ^1TRIED TO KILL NO_CPID CENTERPRINT!\n", - is_new, - time - )); - return; - } - if (net_name == 0) { - // kill all - reset_centerprint_messages(); - return; - } - // kill one - centerprint_generic(net_name, "", 0, 0); - return; - } - else - { - // creating - if (!notif) { - backtrace("Read_Notification: Could not find notification entity!\n"); - return false; - } - - string s1 = ((notif.nent_stringcount > 0) ? ReadString() : ""); - string s2 = ((notif.nent_stringcount > 1) ? ReadString() : ""); - string s3 = ((notif.nent_stringcount > 2) ? ReadString() : ""); - string s4 = ((notif.nent_stringcount > 3) ? ReadString() : ""); - float f1 = ((notif.nent_floatcount > 0) ? ReadLong() : 0); - float f2 = ((notif.nent_floatcount > 1) ? ReadLong() : 0); - float f3 = ((notif.nent_floatcount > 2) ? ReadLong() : 0); - float f4 = ((notif.nent_floatcount > 3) ? ReadLong() : 0); - - return = true; - - if (!is_new) return; - Local_Notification_WOVA( - net_type, notif, - notif.nent_stringcount, - notif.nent_floatcount, - s1, s2, s3, s4, - f1, f2, f3, f4); - return; - } + if (!notif) { + backtrace("Read_Notification: Could not find notification entity!\n"); + return false; + } + + string s1 = ((notif.nent_stringcount > 0) ? ReadString() : ""); + string s2 = ((notif.nent_stringcount > 1) ? ReadString() : ""); + string s3 = ((notif.nent_stringcount > 2) ? ReadString() : ""); + string s4 = ((notif.nent_stringcount > 3) ? ReadString() : ""); + float f1 = ((notif.nent_floatcount > 0) ? ReadLong() : 0); + float f2 = ((notif.nent_floatcount > 1) ? ReadLong() : 0); + float f3 = ((notif.nent_floatcount > 2) ? ReadLong() : 0); + float f4 = ((notif.nent_floatcount > 3) ? ReadLong() : 0); + + if (!is_new) return; + Local_Notification_WOVA( + net_type, notif, + notif.nent_stringcount, + notif.nent_floatcount, + s1, s2, s3, s4, + f1, f2, f3, f4); } #endif @@ -1530,10 +1508,10 @@ bool Net_Write_Notification(entity this, entity client, int sf) void Kill_Notification( NOTIF broadcast, entity client, - /** primary group */ + /** message group, MSG_Null for all */ MSG net_type, - /** secondary group */ - float net_name) + /** cpid group, CPID_Null for all */ + CPID net_cpid) { #ifdef NOTIFICATIONS_DEBUG Debug_Notification(sprintf( @@ -1541,87 +1519,28 @@ void Kill_Notification( Get_Notif_BroadcastName(broadcast), client.netname, (net_type ? Get_Notif_TypeName(net_type) : "0"), - net_name + net_cpid )); #endif - string checkargs = Notification_CheckArgs(broadcast, client, NO_MSG); - if (checkargs != "") { backtrace(sprintf("Incorrect usage of Kill_Notification: %s\n", checkargs)); return; } - - entity net_notif; - float killed_cpid = NO_CPID; + string checkargs = Notification_CheckArgs(broadcast, client); + if (checkargs != "") { LOG_WARNINGF("Incorrect usage of Kill_Notification: %s", checkargs); return; } - switch (net_type) - { - case MSG_Null: - { - killed_cpid = 0; // kill ALL centerprints - break; - } - - case MSG_CENTER: - { - if(net_name) - { - entity notif = Get_Notif_Ent(net_type, net_name); - if (!notif) { backtrace("Kill_Notification: Could not find notification entity!\n"); return; } - - if(notif.nent_cpid) - killed_cpid = notif.nent_cpid; - else - killed_cpid = NO_CPID; - } - else - { - killed_cpid = 0; // kill ALL centerprints - } - break; - } + entity net_notif = new_pure(net_kill_notification); + net_notif.nent_broadcast = broadcast; + net_notif.nent_client = client; + net_notif.nent_net_type = MSG_CENTER_KILL; + net_notif.nent_net_name = ORDINAL(net_cpid); + Net_LinkEntity(net_notif, false, autocvar_notification_lifetime_runtime, Net_Write_Notification); - case MSG_CENTER_CPID: + FOREACH_ENTITY_CLASS( + "net_notification", + (it.owner.nent_type == net_type || net_type == MSG_Null) && (it.owner.nent_cpid == net_cpid || net_cpid == CPID_Null), { - killed_cpid = net_name; - break; + it.nent_net_name = -1; + it.nextthink = time; } - } - - if (killed_cpid != NO_CPID) - { - net_notif = new(net_kill_notification); - make_pure(net_notif); - net_notif.nent_broadcast = broadcast; - net_notif.nent_client = client; - net_notif.nent_net_type = MSG_CENTER_CPID; - net_notif.nent_net_name = killed_cpid; - Net_LinkEntity(net_notif, false, autocvar_notification_lifetime_runtime, Net_Write_Notification); - } - - FOREACH_ENTITY_CLASS("net_notification", true, - { - if (net_type) - { - if ((killed_cpid != NO_CPID) && (it.nent_net_type == MSG_CENTER)) - { - if(it.owner.nent_cpid == killed_cpid) - { - it.nent_net_name = -1; - it.nextthink = time; - } - else { continue; } // we ARE looking for a specific CPID, don't kill everything else too - } - else if (it.nent_net_type == net_type) - { - if (net_name) - { - if (it.nent_net_name == net_name) { it.nent_net_name = -1; it.nextthink = time; } - else { continue; } // we ARE looking for a certain net_name, don't kill everything else too - } - else { it.nent_net_name = -1; it.nextthink = time; } - } - else { continue; } // we ARE looking for a certain net_type, don't kill everything else too - } - else { it.nent_net_name = -1; it.nextthink = time; } - }); + ); } void Send_Notification( @@ -1639,8 +1558,6 @@ void Send_Notification( #ifdef NOTIFICATIONS_DEBUG Debug_Notification(sprintf("Send_Notification(%s, ...%d);\n", parms, count)); #endif - // check if this should be aborted - if (net_name == NOTIF_ABORT) return; if (!notif) { @@ -1649,7 +1566,8 @@ void Send_Notification( } // check supplied broadcast, target, type, and name for errors - string checkargs = Notification_CheckArgs(broadcast, client, net_name); + string checkargs = Notification_CheckArgs(broadcast, client); + if (!net_name) { checkargs = sprintf("No notification provided! %s", checkargs); } if (checkargs != "") { LOG_WARNINGF("Incorrect usage of Send_Notification: %s", checkargs); diff --git a/qcsrc/common/notifications.qh b/qcsrc/common/notifications.qh index 2987c3494..40a72a349 100644 --- a/qcsrc/common/notifications.qh +++ b/qcsrc/common/notifications.qh @@ -19,9 +19,8 @@ ENUMCLASS(MSG) CASE(MSG, MULTI) /** Choose which subcall wrapper to activate */ CASE(MSG, CHOICE) - - /** Kill centerprint message */ - CASE(MSG, CENTER_CPID) + /** Kill centerprint message @deprecated */ + CASE(MSG, CENTER_KILL) ENUMCLASS_END(MSG) string Get_Notif_TypeName(MSG net_type) @@ -31,25 +30,49 @@ string Get_Notif_TypeName(MSG net_type) case MSG_ANNCE: return "MSG_ANNCE"; case MSG_INFO: return "MSG_INFO"; case MSG_CENTER: return "MSG_CENTER"; - case MSG_CENTER_CPID: return "MSG_CENTER_CPID"; case MSG_MULTI: return "MSG_MULTI"; case MSG_CHOICE: return "MSG_CHOICE"; } - backtrace(sprintf("Get_Notif_TypeName(%d): Improper net type!\n", net_type)); + LOG_WARNINGF("Get_Notif_TypeName(%d): Improper net type!\n", ORDINAL(net_type)); return ""; } -typedef entity Notification; +ENUMCLASS(CPID) + CASE(CPID, ASSAULT_ROLE) + CASE(CPID, ROUND) + CASE(CPID, CAMPCHECK) + CASE(CPID, CTF_CAPSHIELD) + CASE(CPID, CTF_LOWPRIO) + CASE(CPID, CTF_PASS) + CASE(CPID, STALEMATE) + CASE(CPID, NADES) + CASE(CPID, IDLING) + CASE(CPID, ITEM) + CASE(CPID, PREVENT_JOIN) + CASE(CPID, KEEPAWAY) + CASE(CPID, KEEPAWAY_WARN) + CASE(CPID, KEYHUNT) + CASE(CPID, KEYHUNT_OTHER) + CASE(CPID, LMS) + CASE(CPID, MISSING_TEAMS) + CASE(CPID, MISSING_PLAYERS) + CASE(CPID, INSTAGIB_FINDAMMO) + CASE(CPID, MOTD) + CASE(CPID, NIX) + CASE(CPID, ONSLAUGHT) + CASE(CPID, ONS_CAPSHIELD) + CASE(CPID, OVERTIME) + CASE(CPID, POWERUP) + CASE(CPID, RACE_FINISHLAP) + CASE(CPID, TEAMCHANGE) + CASE(CPID, TIMEOUT) + CASE(CPID, VEHICLES) + CASE(CPID, VEHICLES_OTHER) + /** always last */ + CASE(CPID, LAST) +ENUMCLASS_END(CPID) -// negative confirmations -/** allows various things to know when no information is added */ -Notification NO_MSG; -STATIC_INIT(NO_MSG) { NO_MSG = new_pure(Notification); } -/** @deprecated */ -const int NO_MSG_ = -12345; -/** allows Send_Notification to safely abort sending */ -Notification NOTIF_ABORT; -STATIC_INIT(NOTIF_ABORT) { NOTIF_ABORT = new_pure(Notification); } +typedef entity Notification; // used for notification system multi-team identifiers #define APP_TEAM_NUM(num, prefix) ((num == NUM_TEAM_1) ? prefix##_RED : ((num == NUM_TEAM_2) ? prefix##_BLUE : ((num == NUM_TEAM_3) ? prefix##_YELLOW : prefix##_PINK))) @@ -106,7 +129,7 @@ void Create_Notification_Entity_InfoCenter(entity notif, string args, string hudargs, string icon, - float cpid, + CPID cpid, string durcnt, string normal, string gentle); @@ -235,7 +258,7 @@ string Get_Notif_BroadcastName(NOTIF broadcast) void Kill_Notification( NOTIF broadcast, entity client, - MSG net_type, float net_name); + MSG net_type, CPID net_name); void Send_Notification( NOTIF broadcast, entity client, MSG net_type, Notification net_name, @@ -421,7 +444,7 @@ string BUFF_NAME(int i); string notif_arg_frag_ping(bool newline, float fping) { string s = newline ? "\n" : " "; - if (fping == NO_MSG_) + if (fping < 0) return sprintf(CCR(_("%s(^F1Bot^BG)")), s); else return sprintf(CCR(_("%s(Ping ^F1%d^BG)")), s, fping); @@ -592,42 +615,6 @@ string notif_arg_spree_inf(float type, string input, string player, float spree) // Initialization/Create Declarations // ==================================== -enum { - NO_CPID -, CPID_ASSAULT_ROLE -, CPID_ROUND -, CPID_CAMPCHECK -, CPID_CTF_CAPSHIELD -, CPID_CTF_LOWPRIO -, CPID_CTF_PASS -, CPID_STALEMATE -, CPID_NADES -, CPID_IDLING -, CPID_ITEM -, CPID_PREVENT_JOIN -, CPID_KEEPAWAY -, CPID_KEEPAWAY_WARN -, CPID_KEYHUNT -, CPID_KEYHUNT_OTHER -, CPID_LMS -, CPID_MISSING_TEAMS -, CPID_MISSING_PLAYERS -, CPID_INSTAGIB_FINDAMMO -, CPID_MOTD -, CPID_NIX -, CPID_ONSLAUGHT -, CPID_ONS_CAPSHIELD -, CPID_OVERTIME -, CPID_POWERUP -, CPID_RACE_FINISHLAP -, CPID_TEAMCHANGE -, CPID_TIMEOUT -, CPID_VEHICLES -, CPID_VEHICLES_OTHER -// always last -, NOTIF_CPID_COUNT -}; - // common notification entity values .int nent_default; .bool nent_enabled; @@ -646,7 +633,7 @@ enum { .string nent_args; // used by both .string nent_hudargs; // used by info .string nent_icon; // used by info -.float nent_cpid; // used by center +.CPID nent_cpid; // used by center .string nent_durcnt; // used by center .string nent_string; // used by both @@ -696,7 +683,6 @@ STATIC_INIT_LATE(Notif_Choices) { Notification Get_Notif_Ent(MSG net_type, int net_name) { - if (net_type == MSG_CENTER_CPID) return NULL; Notification it = _Notifications_from(net_name, NULL); if (it.nent_type != net_type) { LOG_WARNINGF("Get_Notif_Ent(%s (%d), %s (%d)): Improper net type '%s'!\n", @@ -732,7 +718,7 @@ Notification Get_Notif_Ent(MSG net_type, int net_name) args, /* args */ \ hudargs, /* hudargs */ \ icon, /* icon */ \ - NO_MSG_, /* cpid */ \ + CPID_Null,/* cpid */ \ "", /* durcnt */ \ normal, /* normal */ \ gentle); /* gentle */ \ @@ -749,7 +735,7 @@ Notification Get_Notif_Ent(MSG net_type, int net_name) args, /* args */ \ hudargs, /* hudargs */ \ icon, /* icon */ \ - NO_MSG_, /* cpid */ \ + CPID_Null,/* cpid */ \ "", /* durcnt */ \ normal, /* normal */ \ gentle); /* gentle */ \ diff --git a/qcsrc/common/util.qc b/qcsrc/common/util.qc index 9072d24dc..7bafe2bc1 100644 --- a/qcsrc/common/util.qc +++ b/qcsrc/common/util.qc @@ -1489,9 +1489,10 @@ void dedicated_print(string input) // print(), but only print if the server is n #endif #ifndef MENUQC -Notification Announcer_PickNumber(float type, float num) +Notification Announcer_PickNumber(int type, int num) { - switch(type) + return = NULL; + switch (type) { case CNT_GAMESTART: { @@ -1596,7 +1597,6 @@ Notification Announcer_PickNumber(float type, float num) break; } } - return NOTIF_ABORT; // abort sending if none of these numbers were right } #endif diff --git a/qcsrc/common/vehicles/sv_vehicles.qc b/qcsrc/common/vehicles/sv_vehicles.qc index 6224eca65..9ee9d1dc4 100644 --- a/qcsrc/common/vehicles/sv_vehicles.qc +++ b/qcsrc/common/vehicles/sv_vehicles.qc @@ -884,8 +884,8 @@ void vehicles_exit(bool eject) if(!teamplay) _vehicle.team = 0; - Kill_Notification(NOTIF_ONE, _player, MSG_CENTER_CPID, CPID_VEHICLES); - Kill_Notification(NOTIF_ONE, _player, MSG_CENTER_CPID, CPID_VEHICLES_OTHER); // kill all vehicle notifications when exiting a vehicle? + Kill_Notification(NOTIF_ONE, _player, MSG_CENTER, CPID_VEHICLES); + Kill_Notification(NOTIF_ONE, _player, MSG_CENTER, CPID_VEHICLES_OTHER); // kill all vehicle notifications when exiting a vehicle? WaypointSprite_Kill(_vehicle.wps_intruder); diff --git a/qcsrc/lib/enumclass.qh b/qcsrc/lib/enumclass.qh index 28c661528..68b106a5c 100644 --- a/qcsrc/lib/enumclass.qh +++ b/qcsrc/lib/enumclass.qh @@ -19,10 +19,10 @@ // edict overhead mode, use this for type checking .int enum_ordinal; -#define ENUMCLASS(id) CLASS(id, Object) int id##_count; CASE(id, Null) +#define ENUMCLASS(id) CLASS(id, Object) int id##_count; const noref entity id##_Null = nil; CASE(id, Null__) #define CASE(class, id) class class##_##id; STATIC_INIT(class##_##id) { entity e = class##_##id = NEW(class); e.enum_ordinal = class##_count++; } #define ENUMCLASS_END(id) ENDCLASS(id) #define ORDINAL(it) ((it).enum_ordinal) -#define ENUMCAST(T, it) ftoe(etof(T##_Null) + (it)) +#define ENUMCAST(T, it) ftoe(etof(T##_Null__) + (it)) #endif diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index 22acf030d..0c629560f 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -1824,7 +1824,7 @@ void LeaveSpectatorMode() if(autocvar_g_campaign) { campaign_bots_may_start = 1; } - Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER_CPID, CPID_PREVENT_JOIN); + Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER, CPID_PREVENT_JOIN); PutClientInServer(); @@ -1921,14 +1921,14 @@ void PrintWelcomeMessage() self.motd_actived_time = time; else if ((time - self.motd_actived_time > 2) && IS_PLAYER(self)) { // hide it some seconds after BUTTON_INFO has been released self.motd_actived_time = 0; - Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER_CPID, CPID_MOTD); + Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER, CPID_MOTD); } } else { if (self.BUTTON_INFO) self.motd_actived_time = time; else if (time - self.motd_actived_time > 2) { // hide it some seconds after BUTTON_INFO has been released self.motd_actived_time = 0; - Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER_CPID, CPID_MOTD); + Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER, CPID_MOTD); } } } @@ -1940,7 +1940,7 @@ void PrintWelcomeMessage() { // instanctly hide MOTD self.motd_actived_time = 0; - Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER_CPID, CPID_MOTD); + Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER, CPID_MOTD); } } } @@ -2505,7 +2505,7 @@ void PlayerPostThink () if(self.idlekick_lasttimeleft) { self.idlekick_lasttimeleft = 0; - Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER_CPID, CPID_IDLING); + Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER, CPID_IDLING); } } else diff --git a/qcsrc/server/command/cmd.qc b/qcsrc/server/command/cmd.qc index a76100038..95f0556b3 100644 --- a/qcsrc/server/command/cmd.qc +++ b/qcsrc/server/command/cmd.qc @@ -179,7 +179,7 @@ void ClientCommand_join(float request) if (autocvar_g_campaign) campaign_bots_may_start = 1; self.classname = STR_PLAYER; PlayerScore_Clear(self); - Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER_CPID, CPID_PREVENT_JOIN); + Kill_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER, CPID_PREVENT_JOIN); Send_Notification(NOTIF_ALL, world, MSG_INFO, ((teamplay && self.team != -1) ? APP_TEAM_ENT(this, INFO_JOIN_PLAY_TEAM) : INFO_JOIN_PLAY), self.netname); PutClientInServer(); } diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index a76550319..8a274a9a2 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -396,7 +396,7 @@ void Obituary(entity attacker, entity inflictor, entity targ, int deathtype) CHOICE_TYPEFRAG, targ.netname, kill_count_to_attacker, - (IS_BOT_CLIENT(targ) ? NO_MSG_ : targ.ping) + (IS_BOT_CLIENT(targ) ? -1 : targ.ping) ); Send_Notification( NOTIF_ONE, @@ -407,7 +407,7 @@ void Obituary(entity attacker, entity inflictor, entity targ, int deathtype) kill_count_to_target, attacker.health, attacker.armorvalue, - (IS_BOT_CLIENT(attacker) ? NO_MSG_ : attacker.ping) + (IS_BOT_CLIENT(attacker) ? -1 : attacker.ping) ); } else @@ -419,7 +419,7 @@ void Obituary(entity attacker, entity inflictor, entity targ, int deathtype) CHOICE_FRAG, targ.netname, kill_count_to_attacker, - (IS_BOT_CLIENT(targ) ? NO_MSG_ : targ.ping) + (IS_BOT_CLIENT(targ) ? -1 : targ.ping) ); Send_Notification( NOTIF_ONE, @@ -430,7 +430,7 @@ void Obituary(entity attacker, entity inflictor, entity targ, int deathtype) kill_count_to_target, attacker.health, attacker.armorvalue, - (IS_BOT_CLIENT(attacker) ? NO_MSG_ : attacker.ping) + (IS_BOT_CLIENT(attacker) ? -1 : attacker.ping) ); } diff --git a/qcsrc/server/g_world.qc b/qcsrc/server/g_world.qc index 5fc7b9f99..c1f0e48ac 100644 --- a/qcsrc/server/g_world.qc +++ b/qcsrc/server/g_world.qc @@ -1524,7 +1524,7 @@ void NextLevel() PlayerStats_GameReport(true); WeaponStats_Shutdown(); - Kill_Notification(NOTIF_ALL, world, MSG_CENTER, 0); // kill all centerprints now + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_Null); // kill all centerprints now if(autocvar_sv_eventlog) GameLogEcho(":gameover"); diff --git a/qcsrc/server/mutators/mutator/gamemode_ca.qc b/qcsrc/server/mutators/mutator/gamemode_ca.qc index 0985b9c81..5e74d18bb 100644 --- a/qcsrc/server/mutators/mutator/gamemode_ca.qc +++ b/qcsrc/server/mutators/mutator/gamemode_ca.qc @@ -154,14 +154,14 @@ bool CA_CheckTeams() if(CA_ALIVE_TEAMS_OK()) { if(prev_missing_teams_mask > 0) - Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_MISSING_TEAMS); + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_MISSING_TEAMS); prev_missing_teams_mask = -1; return true; } if(total_players == 0) { if(prev_missing_teams_mask > 0) - Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_MISSING_TEAMS); + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_MISSING_TEAMS); prev_missing_teams_mask = -1; return false; } diff --git a/qcsrc/server/mutators/mutator/gamemode_freezetag.qc b/qcsrc/server/mutators/mutator/gamemode_freezetag.qc index 233f67824..236ec2dd8 100644 --- a/qcsrc/server/mutators/mutator/gamemode_freezetag.qc +++ b/qcsrc/server/mutators/mutator/gamemode_freezetag.qc @@ -98,14 +98,14 @@ float freezetag_CheckTeams() if(FREEZETAG_ALIVE_TEAMS_OK()) { if(prev_missing_teams_mask > 0) - Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_MISSING_TEAMS); + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_MISSING_TEAMS); prev_missing_teams_mask = -1; return 1; } if(total_players == 0) { if(prev_missing_teams_mask > 0) - Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_MISSING_TEAMS); + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_MISSING_TEAMS); prev_missing_teams_mask = -1; return 0; } diff --git a/qcsrc/server/mutators/mutator/gamemode_keyhunt.qc b/qcsrc/server/mutators/mutator/gamemode_keyhunt.qc index dc34e08ec..de67505bb 100644 --- a/qcsrc/server/mutators/mutator/gamemode_keyhunt.qc +++ b/qcsrc/server/mutators/mutator/gamemode_keyhunt.qc @@ -943,7 +943,7 @@ void kh_WaitForPlayers() // delay start of the round until enough players are p if(KH_READY_TEAMS_OK()) { if(prev_missing_teams_mask > 0) - Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_MISSING_TEAMS); + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_MISSING_TEAMS); prev_missing_teams_mask = -1; Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_KEYHUNT_ROUNDSTART, autocvar_g_balance_keyhunt_delay_round); kh_Controller_SetThink(autocvar_g_balance_keyhunt_delay_round, kh_StartRound); @@ -953,7 +953,7 @@ void kh_WaitForPlayers() // delay start of the round until enough players are p if(player_count == 0) { if(prev_missing_teams_mask > 0) - Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_MISSING_TEAMS); + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_MISSING_TEAMS); prev_missing_teams_mask = -1; } else @@ -973,8 +973,8 @@ void kh_WaitForPlayers() // delay start of the round until enough players are p void kh_EnableTrackingDevice() // runs after each round { - Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_KEYHUNT); - Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_KEYHUNT_OTHER); + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_KEYHUNT); + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_KEYHUNT_OTHER); kh_tracking_enabled = true; } @@ -996,8 +996,8 @@ void kh_StartRound() // runs at the start of each round return; } - Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_KEYHUNT); - Kill_Notification(NOTIF_ALL, world, MSG_CENTER_CPID, CPID_KEYHUNT_OTHER); + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_KEYHUNT); + Kill_Notification(NOTIF_ALL, world, MSG_CENTER, CPID_KEYHUNT_OTHER); for(i = 0; i < kh_teams; ++i) { -- 2.39.2