#define MSG_INFO 1 // "Global" information messages (sent to console, and notify panel if it has an icon)
#define MSG_CENTER 2 // "Personal" centerprint messages
#define MSG_CENTER_KILL 3 // Kill centerprint message
-#define MSG_WEAPON 4 // "Global" weapon messages
-#define MSG_DEATH 5 // "Personal" AND "Global" death messages
+#define MSG_MULTI 4 // Subcall MSG_INFO and/or MSG_CENTER notifications
#define NO_MSG -12345
void Dump_Notifications(float fh, float alsoprint);
void Local_Notification(float net_type, float net_name, ...count);
-void Local_Notification_WOVA(float net_type, float net_name, float stringcount, float floatcount, string s1, string s2, string s3, string s4, float f1, float f2, float f3, float f4);
+void Local_Notification_WOVA(
+ float net_type, float net_name,
+ float stringcount, float floatcount,
+ string s1, string s2, string s3, string s4,
+ float f1, float f2, float f3, float f4);
#ifdef CSQC // CLIENT ONLY
void Read_Notification(float is_new);
#define IFSTR(num) ((num < notif.nent_stringcount) ? ...(num, string) : "")
#define IFFL(num) ((((notif.nent_stringcount-1) + num) < count) ? ...(((notif.nent_stringcount-1) + num), float) : 0)
-void Kill_Notification(float broadcast, entity client, float net_type, float net_name);
-void Send_Notification(float broadcast, entity client, float net_type, float net_name, ...count);
-void Send_Notification_WOVA(float broadcast, entity client, float net_type, float net_name, string s1, string s2, string s3, string s4, float f1, float f2, float f3, float f4);
+void Kill_Notification(
+ float broadcast, entity client,
+ float net_type, float net_name);
+void Send_Notification(
+ float broadcast, entity client,
+ float net_type, float net_name,
+ ...count);
+void Send_Notification_WOVA(
+ float broadcast, entity client,
+ float net_type, float net_name,
+ string s1, string s2, string s3, string s4,
+ float f1, float f2, float f3, float f4);
// legacy stuff
void Send_CSQC_Centerprint_Generic(entity e, float id, string s, float duration, float countdown_num);
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)
- MSG_WEAPON:
- MSG_DEATH:
+ MSG_MULTI:
default: FLOAT: Default setting for whether the notification is enabled or not
^-> 0 = disabled, 1 = enabled
name: VAR: Name of chaining notification
MSG_INFO_NOTIF(1, INFO_FREEZETAG_FREEZE, 2, 0, "s1 s2", "", "", _("^BG%s^K1 was frozen by ^BG%s\n"), "") \
MSG_INFO_NOTIF(1, INFO_FREEZETAG_SELF, 1, 0, "s1", "", "", _("^BG%s^K1 froze themself\n"), "") \
MSG_INFO_NOTIF(1, INFO_GODMODE_OFF, 0, 1, "f1", "", "", _("^BGGodmode saved you %s units of damage, cheater!\n"), "") \
+ MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_DONTHAVE, 0, 1, "item_wepname", "", "", _("^BGYou do not have the ^F1%s\n"), "") \
+ MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_DROP, 1, 1, "item_wepname item_wepammo", "", "", _("^BGYou dropped the ^F1%s^BG%s\n"), "") \
+ MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_GOT, 0, 1, "item_wepname", "", "", _("^BGYou got the ^F1%s\n"), "") \
+ MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_NOAMMO, 0, 1, "item_wepname", "", "", _("^BGYou don't have enough ammo for the ^F1%s\n"), "") \
+ MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_PRIMORSEC, 0, 3, "item_wepname f2primsec f3primsec", "", "", _("^F1%s %s^BG is unable to fire, but its ^F1%s^BG can\n"), "") \
+ MSG_INFO_NOTIF(0, INFO_ITEM_WEAPON_UNAVAILABLE, 0, 1, "item_wepname", "", "", _("^F1%s^BG is ^F4not available^BG on this map\n"), "") \
MSG_INFO_NOTIF(2, INFO_JOIN_CONNECT, 1, 0, "s1", "", "", _("^BG%s^F3 connected%s\n"), "") \
MULTITEAM_INFO(2, INFO_JOIN_CONNECT_TEAM_, 4, 1, 0, "s1", "", "", _("^BG%s^F3 connected and joined the ^TC^TT\n"), "") \
MSG_INFO_NOTIF(2, INFO_JOIN_PLAY, 1, 0, "s1", "", "", _("^BG%s^F3 is now playing\n"), "") \
MSG_INFO_NOTIF(2, INFO_VERSION_OLD, 2, 0, "s1 s2", "", "", _("^F4NOTE: ^BGThe server is running ^F1Xonotic %s^BG, you have ^F2Xonotic %s\n"), "") \
MSG_INFO_NOTIF(2, INFO_VERSION_OUTDATED, 2, 0, "s1 s2", "", "", _("^F4NOTE: ^F1Xonotic %s^BG is out, and you still have ^F2Xonotic %s^BG - get the update from ^F3http://www.xonotic.org/^BG!\n"), "") \
MSG_INFO_NOTIF(1, INFO_WATERMARK, 1, 0, "s1", "", "", _("^F3SVQC Build information: ^F4%s\n"), "") \
- MSG_INFO_NOTIF(0, INFO_WEAPON_GOTWEP, 0, 1, "item_wepname", "", "", _("^BGYou got the ^F1%s\n"), "") \
- MSG_INFO_NOTIF(0, INFO_WEAPON_DROPPED, 1, 1, "item_wepname item_wepammo", "", "", _("^BGYou dropped the ^F1%s^BG%s\n"), "") \
MSG_INFO_NOTIF(1, INFO_WEAPON_THINKING_WITH_PORTALS, 2, 1, "s1 s2loc spree_lost", "s1", "notify_selfkill", _("^BG%s^K1 is now thinking with portals%s%s\n"), "") \
MSG_INFO_NOTIF(1, INFO_WEAPON_CRYLINK_SUICIDE, 2, 1, "s1 s2loc spree_lost", "s1", "weaponcrylink", _("^BG%s^K1 felt the strong pull of their Crylink%s%s\n"), "") \
MSG_INFO_NOTIF(1, INFO_WEAPON_CRYLINK_MURDER, 3, 2, "spree_inf s1 s2 s3loc spree_end", "s2 s1", "weaponcrylink", _("^BG%s%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s%s\n"), "") \
MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_SELF, 0, 0, "", NO_CPID, "0 0", _("^K1You froze yourself"), "") \
MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_FREEZE, 1, 0, "s1", NO_CPID, "0 0", _("^K3You froze ^BG%s"), "") \
MSG_CENTER_NOTIF(1, CENTER_FREEZETAG_FROZEN, 1, 0, "s1", NO_CPID, "0 0", _("^K1You were frozen by ^BG%s"), "") \
+ MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_DONTHAVE, 0, 1, "item_wepname", CPID_ITEM, "item_centime 0", _("^BGYou do not have the ^F1%s"), "") \
+ MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_DROP, 1, 1, "item_wepname item_wepammo", CPID_ITEM, "item_centime 0", _("^BGYou dropped the ^F1%s^BG%s"), "") \
+ MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_GOT, 0, 1, "item_wepname", CPID_ITEM, "item_centime 0", _("^BGYou got the ^F1%s"), "") \
+ MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_NOAMMO, 0, 1, "item_wepname", CPID_ITEM, "item_centime 0", _("^BGYou don't have enough ammo for the ^F1%s"), "") \
+ MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_PRIMORSEC, 0, 3, "item_wepname f2primsec f3primsec", CPID_ITEM, "item_centime 0", _("^F1%s %s^BG is unable to fire, but its ^F1%s^BG can"), "") \
+ MSG_CENTER_NOTIF(1, CENTER_ITEM_WEAPON_UNAVAILABLE, 0, 1, "item_wepname", CPID_ITEM, "item_centime 0", _("^F1%s^BG is ^F4not available^BG on this map"), "") \
MSG_CENTER_NOTIF(1, CENTER_KEEPAWAY_DROPPED, 1, 0, "s1", CPID_KEEPAWAY, "0 0", _("^BG%s^BG has dropped the ball!"), "") \
MSG_CENTER_NOTIF(1, CENTER_KEEPAWAY_PICKUP, 1, 0, "s1", CPID_KEEPAWAY, "0 0", _("^BG%s^BG has picked up the ball!"), "") \
MSG_CENTER_NOTIF(1, CENTER_KEEPAWAY_WARN, 0, 0, "", CPID_KA_WARN, "0 0", _("^BGKilling people while you don't have the ball gives no points!"), "") \
MSG_CENTER_NOTIF(1, CENTER_TEAMCHANGE_AUTO, 0, 1, "", CPID_TEAMCHANGE, "1 f1", _("^BGChanging team in ^COUNT"), "") \
MSG_CENTER_NOTIF(1, CENTER_TEAMCHANGE_SUICIDE, 0, 1, "", CPID_TEAMCHANGE, "1 f1", _("^K1Suicide in ^COUNT"), "") \
MSG_CENTER_NOTIF(1, CENTER_TIMEOUT_BEGINNING, 0, 1, "", CPID_TIMEOUT, "1 f1", _("^F4Timeout begins in ^COUNT"), "") \
- MSG_CENTER_NOTIF(1, CENTER_TIMEOUT_ENDING, 0, 1, "", CPID_TIMEOUT, "1 f1", _("^F4Timeout ends in ^COUNT"), "") \
- MSG_CENTER_NOTIF(1, CENTER_WEAPON_GOTWEP, 0, 1, "item_wepname", CPID_ITEM, "item_centime 0", _("^BGYou got the ^F1%s"), "") \
- MSG_CENTER_NOTIF(1, CENTER_WEAPON_DROPPED, 1, 1, "item_wepname item_wepammo", CPID_ITEM, "item_centime 0", _("^BGYou dropped the ^F1%s^BG%s"), "")
+ MSG_CENTER_NOTIF(1, CENTER_TIMEOUT_ENDING, 0, 1, "", CPID_TIMEOUT, "1 f1", _("^F4Timeout ends in ^COUNT"), "")
-#define MSG_WEAPON_NOTIFICATIONS \
- /*MSG_WEAPON_NOTIF(1, WEAPON_EMPTY, NO_MSG, NO_MSG)*/ \
- MSG_WEAPON_NOTIF(1, WEAPON_GOTWEP, INFO_WEAPON_GOTWEP, CENTER_WEAPON_GOTWEP) \
- MSG_WEAPON_NOTIF(1, WEAPON_DROPPED, INFO_WEAPON_DROPPED, CENTER_WEAPON_DROPPED) \
- MSG_WEAPON_NOTIF(1, WEAPON_THINKING_WITH_PORTALS, INFO_WEAPON_THINKING_WITH_PORTALS, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_CRYLINK_SUICIDE, INFO_WEAPON_CRYLINK_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_CRYLINK_MURDER, INFO_WEAPON_CRYLINK_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_ELECTRO_SUICIDE_ORBS, INFO_WEAPON_ELECTRO_SUICIDE_ORBS, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_ELECTRO_SUICIDE_BOLT, INFO_WEAPON_ELECTRO_SUICIDE_BOLT, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_ELECTRO_MURDER_BOLT, INFO_WEAPON_ELECTRO_MURDER_BOLT, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_ELECTRO_MURDER_ORBS, INFO_WEAPON_ELECTRO_MURDER_ORBS, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_ELECTRO_MURDER_COMBO, INFO_WEAPON_ELECTRO_MURDER_COMBO, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_FIREBALL_SUICIDE_FIREMINE, INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_FIREBALL_SUICIDE_BLAST, INFO_WEAPON_FIREBALL_SUICIDE_BLAST, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_FIREBALL_MURDER_FIREMINE, INFO_WEAPON_FIREBALL_MURDER_FIREMINE, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_FIREBALL_MURDER_BLAST, INFO_WEAPON_FIREBALL_MURDER_BLAST, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_MORTAR_SUICIDE_EXPLODE, INFO_WEAPON_MORTAR_SUICIDE_EXPLODE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_MORTAR_SUICIDE_BOUNCE, INFO_WEAPON_MORTAR_SUICIDE_BOUNCE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_MORTAR_MURDER_EXPLODE, INFO_WEAPON_MORTAR_MURDER_EXPLODE, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_MORTAR_MURDER_BOUNCE, INFO_WEAPON_MORTAR_MURDER_BOUNCE, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_HAGAR_SUICIDE, INFO_WEAPON_HAGAR_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_HAGAR_MURDER_BURST, INFO_WEAPON_HAGAR_MURDER_BURST, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_HAGAR_MURDER_SPRAY, INFO_WEAPON_HAGAR_MURDER_SPRAY, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_HLAC_SUICIDE, INFO_WEAPON_HLAC_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_HLAC_MURDER, INFO_WEAPON_HLAC_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_HOOK_MURDER, INFO_WEAPON_HOOK_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_LASER_SUICIDE, INFO_WEAPON_LASER_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_LASER_MURDER, INFO_WEAPON_LASER_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_MINELAYER_SUICIDE, INFO_WEAPON_MINELAYER_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_MINELAYER_MURDER, INFO_WEAPON_MINELAYER_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_MINSTANEX_MURDER, INFO_WEAPON_MINSTANEX_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_NEX_MURDER, INFO_WEAPON_NEX_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_RIFLE_MURDER_HAIL_PIERCING, INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_RIFLE_MURDER_HAIL, INFO_WEAPON_RIFLE_MURDER_HAIL, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_RIFLE_MURDER_PIERCING, INFO_WEAPON_RIFLE_MURDER_PIERCING, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_RIFLE_MURDER, INFO_WEAPON_RIFLE_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_RIFLE_MURDER_HEADSHOT, INFO_WEAPON_RIFLE_MURDER_HEADSHOT, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_ROCKETLAUNCHER_SUICIDE, INFO_WEAPON_ROCKETLAUNCHER_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_ROCKETLAUNCHER_MURDER_DIRECT, INFO_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_ROCKETLAUNCHER_MURDER_SPLASH, INFO_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_SEEKER_SUICIDE, INFO_WEAPON_SEEKER_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_SEEKER_MURDER_TAG, INFO_WEAPON_SEEKER_MURDER_TAG, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_SEEKER_MURDER_SPRAY, INFO_WEAPON_SEEKER_MURDER_SPRAY, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_SHOTGUN_MURDER_SLAP, INFO_WEAPON_SHOTGUN_MURDER_SLAP, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_SHOTGUN_MURDER, INFO_WEAPON_SHOTGUN_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_TUBA_SUICIDE, INFO_WEAPON_TUBA_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_TUBA_MURDER, INFO_WEAPON_TUBA_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_ACCORDEON_SUICIDE, INFO_WEAPON_ACCORDEON_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_ACCORDEON_MURDER, INFO_WEAPON_ACCORDEON_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_KLEINBOTTLE_SUICIDE, INFO_WEAPON_KLEINBOTTLE_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
- MSG_WEAPON_NOTIF(1, WEAPON_KLEINBOTTLE_MURDER, INFO_WEAPON_KLEINBOTTLE_MURDER, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_UZI_MURDER_SNIPE, INFO_WEAPON_UZI_MURDER_SNIPE, NO_MSG) \
- MSG_WEAPON_NOTIF(1, WEAPON_UZI_MURDER_SPRAY, INFO_WEAPON_UZI_MURDER_SPRAY, NO_MSG)
-
-#define MSG_DEATH_NOTIFICATIONS \
- /*MSG_DEATH_NOTIF(1, DEATH_EMPTY, NO_MSG, NO_MSG)*/ \
- MSG_DEATH_NOTIF(1, DEATH_SELF_CUSTOM, INFO_DEATH_SELF_GENERIC, CENTER_DEATH_SELF_CUSTOM) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_GENERIC, INFO_DEATH_SELF_GENERIC, CENTER_DEATH_SELF_GENERIC) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_VOID, INFO_DEATH_SELF_VOID, CENTER_DEATH_SELF_VOID) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_SUICIDE, INFO_DEATH_SELF_SUICIDE, CENTER_DEATH_SELF_SUICIDE) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_NOAMMO, INFO_DEATH_SELF_NOAMMO, CENTER_DEATH_SELF_NOAMMO) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_ROT, INFO_DEATH_SELF_ROT, CENTER_DEATH_SELF_ROT) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_CAMP, INFO_DEATH_SELF_CAMP, CENTER_DEATH_SELF_CAMP) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_BETRAYAL, INFO_DEATH_SELF_BETRAYAL, CENTER_DEATH_SELF_BETRAYAL) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TEAMCHANGE, INFO_DEATH_SELF_TEAMCHANGE, CENTER_DEATH_SELF_TEAMCHANGE) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_AUTOTEAMCHANGE, INFO_DEATH_SELF_AUTOTEAMCHANGE, CENTER_DEATH_SELF_AUTOTEAMCHANGE) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_FALL, INFO_DEATH_SELF_FALL, CENTER_DEATH_SELF_FALL) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_DROWN, INFO_DEATH_SELF_DROWN, CENTER_DEATH_SELF_DROWN) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_FIRE, INFO_DEATH_SELF_FIRE, CENTER_DEATH_SELF_FIRE) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_LAVA, INFO_DEATH_SELF_LAVA, CENTER_DEATH_SELF_LAVA) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_SLIME, INFO_DEATH_SELF_SLIME, CENTER_DEATH_SELF_SLIME) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_SHOOTING_STAR, INFO_DEATH_SELF_SHOOTING_STAR, CENTER_DEATH_SELF_SHOOTING_STAR) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_SWAMP, INFO_DEATH_SELF_SWAMP, CENTER_DEATH_SELF_SWAMP) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_CHEAT, INFO_DEATH_SELF_CHEAT, CENTER_DEATH_SELF_CHEAT) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TOUCHEXPLODE, INFO_DEATH_SELF_TOUCHEXPLODE, CENTER_DEATH_SELF_TOUCHEXPLODE) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET, INFO_DEATH_SELF_TURRET, CENTER_DEATH_SELF_TURRET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_EWHEEL, INFO_DEATH_SELF_TURRET_EWHEEL, CENTER_DEATH_SELF_TURRET_EWHEEL) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_FLAC, INFO_DEATH_SELF_TURRET_FLAC, CENTER_DEATH_SELF_TURRET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_MACHINEGUN, INFO_DEATH_SELF_TURRET_MACHINEGUN, CENTER_DEATH_SELF_TURRET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_WALK_GUN, INFO_DEATH_SELF_TURRET_WALK_GUN, CENTER_DEATH_SELF_TURRET_WALK) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_WALK_MEELE, INFO_DEATH_SELF_TURRET_WALK_MEELE, CENTER_DEATH_SELF_TURRET_WALK) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_WALK_ROCKET, INFO_DEATH_SELF_TURRET_WALK_ROCKET, CENTER_DEATH_SELF_TURRET_WALK) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_HELLION, INFO_DEATH_SELF_TURRET_HELLION, CENTER_DEATH_SELF_TURRET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_HK, INFO_DEATH_SELF_TURRET_HK, CENTER_DEATH_SELF_TURRET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_MLRS, INFO_DEATH_SELF_TURRET_MLRS, CENTER_DEATH_SELF_TURRET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_PLASMA, INFO_DEATH_SELF_TURRET_PLASMA, CENTER_DEATH_SELF_TURRET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_PHASER, INFO_DEATH_SELF_TURRET_PHASER, CENTER_DEATH_SELF_TURRET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_TURRET_TESLA, INFO_DEATH_SELF_TURRET_TESLA, CENTER_DEATH_SELF_TURRET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_VH_CRUSH, INFO_DEATH_SELF_VH_CRUSH, CENTER_DEATH_SELF_VH_CRUSH) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_VH_SPID_ROCKET, INFO_DEATH_SELF_VH_SPID_ROCKET, CENTER_DEATH_SELF_VH_SPID_ROCKET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_VH_SPID_DEATH, INFO_DEATH_SELF_VH_SPID_DEATH, CENTER_DEATH_SELF_VH_SPID_DEATH) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_VH_WAKI_ROCKET, INFO_DEATH_SELF_VH_WAKI_ROCKET, CENTER_DEATH_SELF_VH_WAKI_ROCKET) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_VH_WAKI_DEATH, INFO_DEATH_SELF_VH_WAKI_DEATH, CENTER_DEATH_SELF_VH_WAKI_DEATH) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_VH_RAPT_BOMB, INFO_DEATH_SELF_VH_RAPT_BOMB, CENTER_DEATH_SELF_VH_RAPT_BOMB) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_VH_RAPT_DEATH, INFO_DEATH_SELF_VH_RAPT_DEATH, CENTER_DEATH_SELF_VH_RAPT_DEATH) \
- MSG_DEATH_NOTIF(1, DEATH_SELF_VH_BUMB_DEATH, INFO_DEATH_SELF_VH_BUMB_DEATH, CENTER_DEATH_SELF_VH_BUMB_DEATH) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_TELEFRAG, INFO_DEATH_MURDER_TELEFRAG, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_FALL, INFO_DEATH_MURDER_FALL, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_DROWN, INFO_DEATH_MURDER_DROWN, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_LAVA, INFO_DEATH_MURDER_LAVA, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_SLIME, INFO_DEATH_MURDER_SLIME, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_SHOOTING_STAR, INFO_DEATH_MURDER_SHOOTING_STAR, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_SWAMP, INFO_DEATH_MURDER_SWAMP, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VOID, INFO_DEATH_MURDER_VOID, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_TOUCHEXPLODE, INFO_DEATH_MURDER_TOUCHEXPLODE, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_CHEAT, INFO_DEATH_MURDER_CHEAT, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_FIRE, INFO_DEATH_MURDER_FIRE, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_CRUSH, INFO_DEATH_MURDER_VH_CRUSH, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_SPID_MINIGUN, INFO_DEATH_MURDER_VH_SPID_MINIGUN, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_SPID_ROCKET, INFO_DEATH_MURDER_VH_SPID_ROCKET, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_SPID_DEATH, INFO_DEATH_MURDER_VH_SPID_DEATH, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_WAKI_GUN, INFO_DEATH_MURDER_VH_WAKI_GUN, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_WAKI_ROCKET, INFO_DEATH_MURDER_VH_WAKI_ROCKET, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_WAKI_DEATH, INFO_DEATH_MURDER_VH_WAKI_DEATH, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_RAPT_CANNON, INFO_DEATH_MURDER_VH_RAPT_CANNON, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_RAPT_BOMB, INFO_DEATH_MURDER_VH_RAPT_BOMB, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_RAPT_DEATH, INFO_DEATH_MURDER_VH_RAPT_DEATH, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_BUMB_GUN, INFO_DEATH_MURDER_VH_BUMB_GUN, NO_MSG) \
- MSG_DEATH_NOTIF(1, DEATH_MURDER_VH_BUMB_DEATH, INFO_DEATH_MURDER_VH_BUMB_DEATH, NO_MSG)
+#define MSG_MULTI_NOTIFICATIONS \
+ /*MSG_MULTI_NOTIF(1, MULTI_EMPTY, NO_MSG, NO_MSG)*/ \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_CUSTOM, INFO_DEATH_SELF_GENERIC, CENTER_DEATH_SELF_CUSTOM) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_GENERIC, INFO_DEATH_SELF_GENERIC, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_VOID, INFO_DEATH_SELF_VOID, CENTER_DEATH_SELF_VOID) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_SUICIDE, INFO_DEATH_SELF_SUICIDE, CENTER_DEATH_SELF_SUICIDE) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_NOAMMO, INFO_DEATH_SELF_NOAMMO, CENTER_DEATH_SELF_NOAMMO) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_ROT, INFO_DEATH_SELF_ROT, CENTER_DEATH_SELF_ROT) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_CAMP, INFO_DEATH_SELF_CAMP, CENTER_DEATH_SELF_CAMP) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_BETRAYAL, INFO_DEATH_SELF_BETRAYAL, CENTER_DEATH_SELF_BETRAYAL) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TEAMCHANGE, INFO_DEATH_SELF_TEAMCHANGE, CENTER_DEATH_SELF_TEAMCHANGE) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_AUTOTEAMCHANGE, INFO_DEATH_SELF_AUTOTEAMCHANGE, CENTER_DEATH_SELF_AUTOTEAMCHANGE) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_FALL, INFO_DEATH_SELF_FALL, CENTER_DEATH_SELF_FALL) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_DROWN, INFO_DEATH_SELF_DROWN, CENTER_DEATH_SELF_DROWN) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_FIRE, INFO_DEATH_SELF_FIRE, CENTER_DEATH_SELF_FIRE) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_LAVA, INFO_DEATH_SELF_LAVA, CENTER_DEATH_SELF_LAVA) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_SLIME, INFO_DEATH_SELF_SLIME, CENTER_DEATH_SELF_SLIME) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_SHOOTING_STAR, INFO_DEATH_SELF_SHOOTING_STAR, CENTER_DEATH_SELF_SHOOTING_STAR) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_SWAMP, INFO_DEATH_SELF_SWAMP, CENTER_DEATH_SELF_SWAMP) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_CHEAT, INFO_DEATH_SELF_CHEAT, CENTER_DEATH_SELF_CHEAT) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TOUCHEXPLODE, INFO_DEATH_SELF_TOUCHEXPLODE, CENTER_DEATH_SELF_TOUCHEXPLODE) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET, INFO_DEATH_SELF_TURRET, CENTER_DEATH_SELF_TURRET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_EWHEEL, INFO_DEATH_SELF_TURRET_EWHEEL, CENTER_DEATH_SELF_TURRET_EWHEEL) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_FLAC, INFO_DEATH_SELF_TURRET_FLAC, CENTER_DEATH_SELF_TURRET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_MACHINEGUN, INFO_DEATH_SELF_TURRET_MACHINEGUN, CENTER_DEATH_SELF_TURRET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_WALK_GUN, INFO_DEATH_SELF_TURRET_WALK_GUN, CENTER_DEATH_SELF_TURRET_WALK) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_WALK_MEELE, INFO_DEATH_SELF_TURRET_WALK_MEELE, CENTER_DEATH_SELF_TURRET_WALK) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_WALK_ROCKET, INFO_DEATH_SELF_TURRET_WALK_ROCKET, CENTER_DEATH_SELF_TURRET_WALK) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_HELLION, INFO_DEATH_SELF_TURRET_HELLION, CENTER_DEATH_SELF_TURRET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_HK, INFO_DEATH_SELF_TURRET_HK, CENTER_DEATH_SELF_TURRET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_MLRS, INFO_DEATH_SELF_TURRET_MLRS, CENTER_DEATH_SELF_TURRET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_PLASMA, INFO_DEATH_SELF_TURRET_PLASMA, CENTER_DEATH_SELF_TURRET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_PHASER, INFO_DEATH_SELF_TURRET_PHASER, CENTER_DEATH_SELF_TURRET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_TURRET_TESLA, INFO_DEATH_SELF_TURRET_TESLA, CENTER_DEATH_SELF_TURRET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_VH_CRUSH, INFO_DEATH_SELF_VH_CRUSH, CENTER_DEATH_SELF_VH_CRUSH) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_VH_SPID_ROCKET, INFO_DEATH_SELF_VH_SPID_ROCKET, CENTER_DEATH_SELF_VH_SPID_ROCKET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_VH_SPID_DEATH, INFO_DEATH_SELF_VH_SPID_DEATH, CENTER_DEATH_SELF_VH_SPID_DEATH) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_VH_WAKI_ROCKET, INFO_DEATH_SELF_VH_WAKI_ROCKET, CENTER_DEATH_SELF_VH_WAKI_ROCKET) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_VH_WAKI_DEATH, INFO_DEATH_SELF_VH_WAKI_DEATH, CENTER_DEATH_SELF_VH_WAKI_DEATH) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_VH_RAPT_BOMB, INFO_DEATH_SELF_VH_RAPT_BOMB, CENTER_DEATH_SELF_VH_RAPT_BOMB) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_VH_RAPT_DEATH, INFO_DEATH_SELF_VH_RAPT_DEATH, CENTER_DEATH_SELF_VH_RAPT_DEATH) \
+ MSG_MULTI_NOTIF(1, DEATH_SELF_VH_BUMB_DEATH, INFO_DEATH_SELF_VH_BUMB_DEATH, CENTER_DEATH_SELF_VH_BUMB_DEATH) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_TELEFRAG, INFO_DEATH_MURDER_TELEFRAG, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_FALL, INFO_DEATH_MURDER_FALL, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_DROWN, INFO_DEATH_MURDER_DROWN, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_LAVA, INFO_DEATH_MURDER_LAVA, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_SLIME, INFO_DEATH_MURDER_SLIME, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_SHOOTING_STAR, INFO_DEATH_MURDER_SHOOTING_STAR, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_SWAMP, INFO_DEATH_MURDER_SWAMP, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VOID, INFO_DEATH_MURDER_VOID, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_TOUCHEXPLODE, INFO_DEATH_MURDER_TOUCHEXPLODE, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_CHEAT, INFO_DEATH_MURDER_CHEAT, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_FIRE, INFO_DEATH_MURDER_FIRE, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_CRUSH, INFO_DEATH_MURDER_VH_CRUSH, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_SPID_MINIGUN, INFO_DEATH_MURDER_VH_SPID_MINIGUN, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_SPID_ROCKET, INFO_DEATH_MURDER_VH_SPID_ROCKET, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_SPID_DEATH, INFO_DEATH_MURDER_VH_SPID_DEATH, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_WAKI_GUN, INFO_DEATH_MURDER_VH_WAKI_GUN, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_WAKI_ROCKET, INFO_DEATH_MURDER_VH_WAKI_ROCKET, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_WAKI_DEATH, INFO_DEATH_MURDER_VH_WAKI_DEATH, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_RAPT_CANNON, INFO_DEATH_MURDER_VH_RAPT_CANNON, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_RAPT_BOMB, INFO_DEATH_MURDER_VH_RAPT_BOMB, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_RAPT_DEATH, INFO_DEATH_MURDER_VH_RAPT_DEATH, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_BUMB_GUN, INFO_DEATH_MURDER_VH_BUMB_GUN, NO_MSG) \
+ MSG_MULTI_NOTIF(1, DEATH_MURDER_VH_BUMB_DEATH, INFO_DEATH_MURDER_VH_BUMB_DEATH, NO_MSG) \
+ MSG_MULTI_NOTIF(1, ITEM_WEAPON_DONTHAVE, INFO_ITEM_WEAPON_DONTHAVE, CENTER_ITEM_WEAPON_DONTHAVE) \
+ MSG_MULTI_NOTIF(1, ITEM_WEAPON_DROP, INFO_ITEM_WEAPON_DROP, CENTER_ITEM_WEAPON_DROP) \
+ MSG_MULTI_NOTIF(1, ITEM_WEAPON_GOT, INFO_ITEM_WEAPON_GOT, CENTER_ITEM_WEAPON_GOT) \
+ MSG_MULTI_NOTIF(1, ITEM_WEAPON_NOAMMO, INFO_ITEM_WEAPON_NOAMMO, CENTER_ITEM_WEAPON_NOAMMO) \
+ MSG_MULTI_NOTIF(1, ITEM_WEAPON_PRIMORSEC, INFO_ITEM_WEAPON_PRIMORSEC, CENTER_ITEM_WEAPON_PRIMORSEC) \
+ MSG_MULTI_NOTIF(1, ITEM_WEAPON_UNAVAILABLE, INFO_ITEM_WEAPON_UNAVAILABLE, CENTER_ITEM_WEAPON_UNAVAILABLE) \
+ MSG_MULTI_NOTIF(1, WEAPON_THINKING_WITH_PORTALS, INFO_WEAPON_THINKING_WITH_PORTALS, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_CRYLINK_SUICIDE, INFO_WEAPON_CRYLINK_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_CRYLINK_MURDER, INFO_WEAPON_CRYLINK_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_ELECTRO_SUICIDE_ORBS, INFO_WEAPON_ELECTRO_SUICIDE_ORBS, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_ELECTRO_SUICIDE_BOLT, INFO_WEAPON_ELECTRO_SUICIDE_BOLT, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_ELECTRO_MURDER_BOLT, INFO_WEAPON_ELECTRO_MURDER_BOLT, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_ELECTRO_MURDER_ORBS, INFO_WEAPON_ELECTRO_MURDER_ORBS, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_ELECTRO_MURDER_COMBO, INFO_WEAPON_ELECTRO_MURDER_COMBO, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_FIREBALL_SUICIDE_FIREMINE, INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_FIREBALL_SUICIDE_BLAST, INFO_WEAPON_FIREBALL_SUICIDE_BLAST, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_FIREBALL_MURDER_FIREMINE, INFO_WEAPON_FIREBALL_MURDER_FIREMINE, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_FIREBALL_MURDER_BLAST, INFO_WEAPON_FIREBALL_MURDER_BLAST, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_MORTAR_SUICIDE_EXPLODE, INFO_WEAPON_MORTAR_SUICIDE_EXPLODE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_MORTAR_SUICIDE_BOUNCE, INFO_WEAPON_MORTAR_SUICIDE_BOUNCE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_MORTAR_MURDER_EXPLODE, INFO_WEAPON_MORTAR_MURDER_EXPLODE, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_MORTAR_MURDER_BOUNCE, INFO_WEAPON_MORTAR_MURDER_BOUNCE, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_HAGAR_SUICIDE, INFO_WEAPON_HAGAR_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_HAGAR_MURDER_BURST, INFO_WEAPON_HAGAR_MURDER_BURST, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_HAGAR_MURDER_SPRAY, INFO_WEAPON_HAGAR_MURDER_SPRAY, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_HLAC_SUICIDE, INFO_WEAPON_HLAC_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_HLAC_MURDER, INFO_WEAPON_HLAC_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_HOOK_MURDER, INFO_WEAPON_HOOK_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_LASER_SUICIDE, INFO_WEAPON_LASER_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_LASER_MURDER, INFO_WEAPON_LASER_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_MINELAYER_SUICIDE, INFO_WEAPON_MINELAYER_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_MINELAYER_MURDER, INFO_WEAPON_MINELAYER_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_MINSTANEX_MURDER, INFO_WEAPON_MINSTANEX_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_NEX_MURDER, INFO_WEAPON_NEX_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_RIFLE_MURDER_HAIL_PIERCING, INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_RIFLE_MURDER_HAIL, INFO_WEAPON_RIFLE_MURDER_HAIL, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_RIFLE_MURDER_PIERCING, INFO_WEAPON_RIFLE_MURDER_PIERCING, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_RIFLE_MURDER, INFO_WEAPON_RIFLE_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_RIFLE_MURDER_HEADSHOT, INFO_WEAPON_RIFLE_MURDER_HEADSHOT, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_ROCKETLAUNCHER_SUICIDE, INFO_WEAPON_ROCKETLAUNCHER_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_ROCKETLAUNCHER_MURDER_DIRECT, INFO_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_ROCKETLAUNCHER_MURDER_SPLASH, INFO_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_SEEKER_SUICIDE, INFO_WEAPON_SEEKER_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_SEEKER_MURDER_TAG, INFO_WEAPON_SEEKER_MURDER_TAG, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_SEEKER_MURDER_SPRAY, INFO_WEAPON_SEEKER_MURDER_SPRAY, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_SHOTGUN_MURDER_SLAP, INFO_WEAPON_SHOTGUN_MURDER_SLAP, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_SHOTGUN_MURDER, INFO_WEAPON_SHOTGUN_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_TUBA_SUICIDE, INFO_WEAPON_TUBA_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_TUBA_MURDER, INFO_WEAPON_TUBA_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_ACCORDEON_SUICIDE, INFO_WEAPON_ACCORDEON_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_ACCORDEON_MURDER, INFO_WEAPON_ACCORDEON_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_KLEINBOTTLE_SUICIDE, INFO_WEAPON_KLEINBOTTLE_SUICIDE, CENTER_DEATH_SELF_GENERIC) \
+ MSG_MULTI_NOTIF(1, WEAPON_KLEINBOTTLE_MURDER, INFO_WEAPON_KLEINBOTTLE_MURDER, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_UZI_MURDER_SNIPE, INFO_WEAPON_UZI_MURDER_SNIPE, NO_MSG) \
+ MSG_MULTI_NOTIF(1, WEAPON_UZI_MURDER_SPRAY, INFO_WEAPON_UZI_MURDER_SPRAY, NO_MSG)
// ===========================
ARG_CASE(ARG_CS_SV, "f4", ftos(f4)) \
ARG_CASE(ARG_CS_SV, "f1p2dec", ftos_decimals(f1/100, 2)) \
ARG_CASE(ARG_CS_SV, "f2p2dec", ftos_decimals(f2/100, 2)) \
+ ARG_CASE(ARG_CS, "f2primsec", (f2 ? _("secondary") : _("primary"))) \
+ ARG_CASE(ARG_CS, "f3primsec", (f3 ? _("secondary") : _("primary"))) \
ARG_CASE(ARG_CS, "f1secs", count_seconds(f1)) \
ARG_CASE(ARG_CS_SV, "f1ord", count_ordinal(f1)) \
ARG_CASE(ARG_CS, "f1time", process_time("todo", f1)) \
// notification entities
entity msg_info_notifs[NOTIF_MAX];
entity msg_center_notifs[NOTIF_MAX];
-entity msg_weapon_notifs[NOTIF_MAX];
-entity msg_death_notifs[NOTIF_MAX];
+entity msg_multi_notifs[NOTIF_MAX];
// notification counts
float NOTIF_INFO_COUNT;
float NOTIF_CENTER_COUNT;
-float NOTIF_WEAPON_COUNT;
-float NOTIF_DEATH_COUNT;
+float NOTIF_MULTI_COUNT;
float NOTIF_CPID_COUNT;
// notification entity values
} \
ACCUMULATE_FUNCTION(RegisterNotifications, RegisterNotification_##name)
-#define MSG_WEAPON_NOTIF(default,name,infoname,centername) \
- NOTIF_ADD_AUTOCVAR(name, default) \
- float name; \
- void RegisterNotification_##name() \
- { \
- SET_FIELD_COUNT(name, NOTIF_FIRST, NOTIF_WEAPON_COUNT) \
- CHECK_MAX_COUNT(name, NOTIF_MAX, NOTIF_WEAPON_COUNT, "notifications") \
- Create_Notification_Entity( \
- default, /* var_default */ \
- autocvar_notification_##name, /* var_cvar */ \
- MSG_WEAPON, /* typeid */ \
- name, /* nameid */ \
- strtoupper(#name), /* namestring */ \
- infoname, /* infoname */ \
- centername, /* centername */ \
- NO_MSG, /* strnum */ \
- NO_MSG, /* flnum */ \
- "", /* args */ \
- "", /* hudargs */ \
- "", /* icon */ \
- NO_MSG, /* cpid */ \
- "", /* durcnt */ \
- "", /* normal */ \
- "", /* gentle */ \
- FALSE, /* msg_is_info */ \
- TRUE); /* msg_is_multi */ \
- } \
- ACCUMULATE_FUNCTION(RegisterNotifications, RegisterNotification_##name)
-
-#define MSG_DEATH_NOTIF(default,name,infoname,centername) \
+#define MSG_MULTI_NOTIF(default,name,infoname,centername) \
NOTIF_ADD_AUTOCVAR(name, default) \
float name; \
void RegisterNotification_##name() \
{ \
- SET_FIELD_COUNT(name, NOTIF_FIRST, NOTIF_DEATH_COUNT) \
- CHECK_MAX_COUNT(name, NOTIF_MAX, NOTIF_DEATH_COUNT, "notifications") \
+ SET_FIELD_COUNT(name, NOTIF_FIRST, NOTIF_MULTI_COUNT) \
+ CHECK_MAX_COUNT(name, NOTIF_MAX, NOTIF_MULTI_COUNT, "notifications") \
Create_Notification_Entity( \
default, /* var_default */ \
autocvar_notification_##name, /* var_cvar */ \
- MSG_DEATH, /* typeid */ \
+ MSG_MULTI, /* typeid */ \
name, /* nameid */ \
strtoupper(#name), /* namestring */ \
infoname, /* infoname */ \
ACCUMULATE_FUNCTION(RegisterNotifications, RegisterNotifications_First)
MSG_INFO_NOTIFICATIONS
MSG_CENTER_NOTIFICATIONS
-MSG_WEAPON_NOTIFICATIONS
-MSG_DEATH_NOTIFICATIONS
+MSG_MULTI_NOTIFICATIONS
ACCUMULATE_FUNCTION(RegisterNotifications, RegisterNotifications_Done)
#undef MSG_INFO_NOTIF
#undef MSG_CENTER_NOTIF
-#undef MSG_WEAPON_NOTIF
-#undef MSG_DEATH_NOTIF
+#undef MSG_MULTI_NOTIF
#undef NOTIF_ADD_AUTOCVAR