]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add killstreaks and centerprints to weapon notifications
authorSamual Lenks <samual@xonotic.org>
Mon, 4 Feb 2013 19:01:21 +0000 (14:01 -0500)
committerSamual Lenks <samual@xonotic.org>
Mon, 4 Feb 2013 19:01:21 +0000 (14:01 -0500)
qcsrc/common/notifications.qh
qcsrc/server/g_damage.qc

index 0618e43d6e50c248c9bed342696295de068282ff..692198784a03eaf094808961fb99ca7ec7dfea53 100644 (file)
@@ -282,55 +282,55 @@ void Send_CSQC_Centerprint_Generic_Expire(entity e, float id);
        MSG_INFO_NOTIF(INFO_RACE_NEW_TIME,                                      2, 0, XPD(s1, s2), XPD(s1, ""),                                         "race_newtime",                 "", "") \
        MSG_INFO_NOTIF(INFO_RACE_NEW_RANK,                                      2, 0, XPD(s1, s2), XPD(s1, ""),                                         "race_newrankyellow",   "", "") \
        MULTITEAM_INFO(INFO_SCORES_, 4,                                         0, 0, NO_STR_ARG, XPD("", ""),                                          "",                                             _("^TC^TT ^BGteam scores!\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_THINKING_WITH_PORTALS,                       1, 0, s1, XPD(s1, ""),                                          "notify_selfkill", _("^BG%s^K1 is now thinking with portals...\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_CRYLINK_SUICIDE,                             1, 0, s1, XPD(s1, ""),                                          "weaponcrylink", _("^BG%s^K1 felt the strong pull of their Crylink\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_CRYLINK_MURDER,                                      2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponcrylink", _("^BG%s^K1 felt the strong pull of ^BG%s^K1's Crylink\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_ELECTRO_SUICIDE_ORBS,                        1, 0, s1, XPD(s1, ""),                                          "weaponelectro", _("^BG%s^K1 could not remember where they put their Electro plasma\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_ELECTRO_SUICIDE_BOLT,                        1, 0, s1, XPD(s1, ""),                                          "weaponelectro", _("^BG%s^K1 played with Electro plasma\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_ELECTRO_MURDER_BOLT,                         2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponelectro", _("^BG%s^K1 was blasted by ^BG%s^K1's Electro bolt\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_ELECTRO_MURDER_ORBS,                         2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponelectro", _("^BG%s^K1 got too close to ^BG%s^K1's Electro plasma\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_ELECTRO_MURDER_COMBO,                        2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponelectro", _("^BG%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE,           1, 0, s1, XPD(s1, ""),                                          "weaponfireball", _("^BG%s^K1 forgot about their firemine\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_FIREBALL_SUICIDE_BLAST,                      1, 0, s1, XPD(s1, ""),                                          "weaponfireball", _("^BG%s^K1 should have used a smaller gun\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_FIREBALL_MURDER_FIREMINE,            2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponfireball", _("^BG%s^K1 got burnt by ^BG%s^K1's firemine\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_FIREBALL_MURDER_BLAST,                       2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponfireball", _("^BG%s^K1 got too close to ^BG%s^K1's fireball\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_MORTAR_SUICIDE_EXPLODE,                      1, 0, s1, XPD(s1, ""),                                          "weapongrenadelauncher", _("^BG%s^K1 blew themself up with their own Mortar\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_MORTAR_SUICIDE_BOUNCE,                       1, 0, s1, XPD(s1, ""),                                          "weapongrenadelauncher", _("^BG%s^K1 didn't see their own Mortar grenade\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_MORTAR_MURDER_EXPLODE,                       2, 0, XPD(s1, s2), XPD(s1, s2),                         "weapongrenadelauncher", _("^BG%s^K1 ate ^BG%s^K1's Mortar grenade\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_MORTAR_MURDER_BOUNCE,                        2, 0, XPD(s1, s2), XPD(s1, s2),                         "weapongrenadelauncher", _("^BG%s^K1 got too close to ^BG%s^K1's Mortar grenade\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_HAGAR_SUICIDE,                                       1, 0, s1, XPD(s1, ""),                                          "weaponhagar", _("^BG%s^K1 played with tiny Hagar rockets\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_HAGAR_MURDER_BURST,                          2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponhagar", _("^BG%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_HAGAR_MURDER_SPRAY,                          2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponhagar", _("^BG%s^K1 was pummeled by ^BG%s^K1's Hagar rockets\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_HLAC_SUICIDE,                                        1, 0, s1, XPD(s1, ""),                                          "weaponhlac", _("^BG%s^K1 got a little jumpy with their HLAC\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_HLAC_MURDER,                                         2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponhlac", _("^BG%s^K1 was cut down with ^BG%s^K1's HLAC\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_HOOK_MURDER,                                         2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponhook", _("^BG%s^K1 was caught in ^BG%s^K1's Hook gravity bomb\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_LASER_SUICIDE,                                       1, 0, s1, XPD(s1, ""),                                          "weaponlaser", _("^BG%s^K1 shot themself to hell with their Laser\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_LASER_MURDER,                                        2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponlaser", _("^BG%s^K1 was shot to death by ^BG%s^K1's Laser\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_MINELAYER_SUICIDE,                           1, 0, s1, XPD(s1, ""),                                          "weaponminelayer", _("^BG%s^K1 forgot about their mine\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_MINELAYER_MURDER,                            2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponminelayer", _("^BG%s^K1 got too close to ^BG%s^K1's mine\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_MINSTANEX_MURDER,                            2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponminstanex", _("^BG%s^K1 has been vaporized by ^BG%s^K1's Minstanex\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_NEX_MURDER,                                          2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponnex", _("^BG%s^K1 has been vaporized by ^BG%s^K1's Nex\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING,          2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponrifle", _("^BG%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_RIFLE_MURDER_HAIL,                           2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponrifle", _("^BG%s^K1 died in ^BG%s^K1's Rifle bullet hail\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_RIFLE_MURDER_PIERCING,                       2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponrifle", _("^BG%s^K1 failed to hide from ^BG%s^K1's Rifle\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_RIFLE_MURDER,                                        2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponrifle", _("^BG%s^K1 was sniped with a Rifle by ^BG%s\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_RIFLE_MURDER_HEADSHOT,                       2, 0, XPD(s1, s2), XPD(s1, s2),                         "notify_headshot", _("^BG%s^K1 was shot in the head with a Rifle by ^BG%s\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_ROCKETLAUNCHER_SUICIDE,                      1, 0, s1, XPD(s1, ""),                                          "weaponrocketlauncher", _("^BG%s^K1 blew themself up with their Rocketlauncher\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT,        2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponrocketlauncher", _("^BG%s^K1 ate ^BG%s^K1's rocket\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH,        2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponrocketlauncher", _("^BG%s^K1 got too close ^BG%s^K1's rocket\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_SEEKER_SUICIDE,                                      1, 0, s1, XPD(s1, ""),                                          "weaponseeker", _("^BG%s^K1 played with tiny Seeker rockets\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_SEEKER_MURDER_TAG,                           2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponseeker", _("^BG%s^K1 was tagged by ^BG%s^K1's Seeker\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_SEEKER_MURDER_SPRAY,                         2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponseeker", _("^BG%s^K1 was pummeled by ^BG%s^K1's Seeker rockets\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_SHOTGUN_MURDER_SLAP,                         2, 0, XPD(s2, s1), XPD(s1, s2),                         "notify_melee_shotgun", _("^BG%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_SHOTGUN_MURDER,                                      2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponshotgun", _("^BG%s^K1 was gunned down by ^BG%s^K1's Shotgun\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_TUBA_SUICIDE,                                        1, 0, s1, XPD(s1, ""),                                          "weapontuba", _("^BG%s^K1 hurt their own ears with the @!#%%'n Tuba\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_TUBA_MURDER,                                         2, 0, XPD(s1, s2), XPD(s1, s2),                         "weapontuba", _("^BG%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_ACCORDEON_SUICIDE,                           1, 0, s1, XPD(s1, ""),                                          "weapontuba", _("^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_ACCORDEON_MURDER,                            2, 0, XPD(s1, s2), XPD(s1, s2),                         "weapontuba", _("^BG%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_KLEINBOTTLE_SUICIDE,                         1, 0, s1, XPD(s1, ""),                                          "weapontuba", _("^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_KLEINBOTTLE_MURDER,                          2, 0, XPD(s1, s2), XPD(s1, s2),                         "weapontuba", _("^BG%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_UZI_MURDER_SNIPE,                            2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponuzi", _("^BG%s^K1 was sniped by ^BG%s^K1's Machine Gun\n"), "") \
-       MSG_INFO_NOTIF(INFO_WEAPON_UZI_MURDER_SPRAY,                            2, 0, XPD(s1, s2), XPD(s1, s2),                         "weaponuzi", _("^BG%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun\n"), "") 
+       MSG_INFO_NOTIF(INFO_WEAPON_THINKING_WITH_PORTALS,                       1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "notify_selfkill", _("^BG%s^K1 is now thinking with portals%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_CRYLINK_SUICIDE,                             1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponcrylink", _("^BG%s^K1 felt the strong pull of their Crylink%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_CRYLINK_MURDER,                                      2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponcrylink", _("^BG%s^K1 felt the strong pull of ^BG%s^K1's Crylink%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_ELECTRO_SUICIDE_ORBS,                        1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponelectro", _("^BG%s^K1 could not remember where they put their Electro plasma%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_ELECTRO_SUICIDE_BOLT,                        1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponelectro", _("^BG%s^K1 played with Electro plasma%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_ELECTRO_MURDER_BOLT,                         2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponelectro", _("^BG%s^K1 was blasted by ^BG%s^K1's Electro bolt%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_ELECTRO_MURDER_ORBS,                         2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponelectro", _("^BG%s^K1 got too close to ^BG%s^K1's Electro plasma%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_ELECTRO_MURDER_COMBO,                        2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponelectro", _("^BG%s^K1 felt the electrifying air of ^BG%s^K1's Electro combo%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE,           1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponfireball", _("^BG%s^K1 forgot about their firemine%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_FIREBALL_SUICIDE_BLAST,                      1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponfireball", _("^BG%s^K1 should have used a smaller gun%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_FIREBALL_MURDER_FIREMINE,            2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponfireball", _("^BG%s^K1 got burnt by ^BG%s^K1's firemine%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_FIREBALL_MURDER_BLAST,                       2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponfireball", _("^BG%s^K1 got too close to ^BG%s^K1's fireball%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_MORTAR_SUICIDE_EXPLODE,                      1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weapongrenadelauncher", _("^BG%s^K1 blew themself up with their own Mortar%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_MORTAR_SUICIDE_BOUNCE,                       1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weapongrenadelauncher", _("^BG%s^K1 didn't see their own Mortar grenade%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_MORTAR_MURDER_EXPLODE,                       2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weapongrenadelauncher", _("^BG%s^K1 ate ^BG%s^K1's Mortar grenade%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_MORTAR_MURDER_BOUNCE,                        2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weapongrenadelauncher", _("^BG%s^K1 got too close to ^BG%s^K1's Mortar grenade%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_HAGAR_SUICIDE,                                       1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponhagar", _("^BG%s^K1 played with tiny Hagar rockets%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_HAGAR_MURDER_BURST,                          2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponhagar", _("^BG%s^K1 was pummeled by a burst of ^BG%s^K1's Hagar rockets%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_HAGAR_MURDER_SPRAY,                          2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponhagar", _("^BG%s^K1 was pummeled by ^BG%s^K1's Hagar rockets%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_HLAC_SUICIDE,                                        1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponhlac", _("^BG%s^K1 got a little jumpy with their HLAC%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_HLAC_MURDER,                                         2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponhlac", _("^BG%s^K1 was cut down with ^BG%s^K1's HLAC%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_HOOK_MURDER,                                         2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponhook", _("^BG%s^K1 was caught in ^BG%s^K1's Hook gravity bomb%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_LASER_SUICIDE,                                       1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponlaser", _("^BG%s^K1 shot themself to hell with their Laser%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_LASER_MURDER,                                        2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponlaser", _("^BG%s^K1 was shot to death by ^BG%s^K1's Laser%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_MINELAYER_SUICIDE,                           1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponminelayer", _("^BG%s^K1 forgot about their mine%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_MINELAYER_MURDER,                            2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponminelayer", _("^BG%s^K1 got too close to ^BG%s^K1's mine%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_MINSTANEX_MURDER,                            2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponminstanex", _("^BG%s^K1 has been vaporized by ^BG%s^K1's Minstanex%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_NEX_MURDER,                                          2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponnex", _("^BG%s^K1 has been vaporized by ^BG%s^K1's Nex%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING,          2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponrifle", _("^BG%s^K1 failed to hide from ^BG%s^K1's Rifle bullet hail%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_RIFLE_MURDER_HAIL,                           2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponrifle", _("^BG%s^K1 died in ^BG%s^K1's Rifle bullet hail%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_RIFLE_MURDER_PIERCING,                       2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponrifle", _("^BG%s^K1 failed to hide from ^BG%s^K1's Rifle%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_RIFLE_MURDER,                                        2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponrifle", _("^BG%s^K1 was sniped with a Rifle by ^BG%s^K1%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_RIFLE_MURDER_HEADSHOT,                       2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "notify_headshot", _("^BG%s^K1 was shot in the head with a Rifle by ^BG%s^K1%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_ROCKETLAUNCHER_SUICIDE,                      1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponrocketlauncher", _("^BG%s^K1 blew themself up with their Rocketlauncher%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT,        2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponrocketlauncher", _("^BG%s^K1 ate ^BG%s^K1's rocket%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH,        2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponrocketlauncher", _("^BG%s^K1 got too close ^BG%s^K1's rocket%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_SEEKER_SUICIDE,                                      1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weaponseeker", _("^BG%s^K1 played with tiny Seeker rockets%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_SEEKER_MURDER_TAG,                           2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponseeker", _("^BG%s^K1 was tagged by ^BG%s^K1's Seeker%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_SEEKER_MURDER_SPRAY,                         2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponseeker", _("^BG%s^K1 was pummeled by ^BG%s^K1's Seeker rockets%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_SHOTGUN_MURDER_SLAP,                         2, 1, XPD(s2, s1, SPREE_END), XPD(s1, s2),      "notify_melee_shotgun", _("^BG%s^K1 slapped ^BG%s^K1 around a bit with a large Shotgun%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_SHOTGUN_MURDER,                                      2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponshotgun", _("^BG%s^K1 was gunned down by ^BG%s^K1's Shotgun%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_TUBA_SUICIDE,                                        1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weapontuba", _("^BG%s^K1 hurt their own ears with the @!#%%'n Tuba%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_TUBA_MURDER,                                         2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weapontuba", _("^BG%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Tuba%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_ACCORDEON_SUICIDE,                           1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weapontuba", _("^BG%s^K1 hurt their own ears with the @!#%%'n Accordeon%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_ACCORDEON_MURDER,                            2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weapontuba", _("^BG%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Accordeon%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_KLEINBOTTLE_SUICIDE,                         1, 1, XPD(s1, SPREE_LOST), XPD(s1, ""),         "weapontuba", _("^BG%s^K1 hurt their own ears with the @!#%%'n Klein Bottle%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_KLEINBOTTLE_MURDER,                          2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weapontuba", _("^BG%s^K1 died of ^BG%s^K1's great playing on the @!#%%'n Klein Bottle%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_UZI_MURDER_SNIPE,                            2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponuzi", _("^BG%s^K1 was sniped by ^BG%s^K1's Machine Gun%s\n"), "") \
+       MSG_INFO_NOTIF(INFO_WEAPON_UZI_MURDER_SPRAY,                            2, 1, XPD(s1, s2, SPREE_END), XPD(s1, s2),      "weaponuzi", _("^BG%s^K1 was riddled full of holes by ^BG%s^K1's Machine Gun%s\n"), "") 
 
 #define MULTITEAM_CENTER(prefix,teams,strnum,flnum,args,cpid,durcnt,normal,gentle) \
        MSG_CENTER_NOTIF(prefix##RED, strnum, flnum, args, cpid, durcnt, TCR(normal, COL_TEAM_1, strtoupper(STR_TEAM_1)), TCR(gentle, COL_TEAM_1, strtoupper(STR_TEAM_1))) \
@@ -411,31 +411,31 @@ void Send_CSQC_Centerprint_Generic_Expire(entity e, float id);
 
 #define MSG_WEAPON_NOTIFICATIONS \
        MSG_WEAPON_NOTIF(WEAPON_EMPTY,                                                  NO_MSG,                                                                         NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_THINKING_WITH_PORTALS,                  INFO_WEAPON_THINKING_WITH_PORTALS,                      NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_CRYLINK_SUICIDE,                                INFO_WEAPON_CRYLINK_SUICIDE,                            NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_THINKING_WITH_PORTALS,                  INFO_WEAPON_THINKING_WITH_PORTALS,                      CENTER_DEATH_SELF_GENERIC) \
+       MSG_WEAPON_NOTIF(WEAPON_CRYLINK_SUICIDE,                                INFO_WEAPON_CRYLINK_SUICIDE,                            CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_CRYLINK_MURDER,                                 INFO_WEAPON_CRYLINK_MURDER,                             NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_ELECTRO_SUICIDE_ORBS,                   INFO_WEAPON_ELECTRO_SUICIDE_ORBS,                       NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_ELECTRO_SUICIDE_BOLT,                   INFO_WEAPON_ELECTRO_SUICIDE_BOLT,                       NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_ELECTRO_SUICIDE_ORBS,                   INFO_WEAPON_ELECTRO_SUICIDE_ORBS,                       CENTER_DEATH_SELF_GENERIC) \
+       MSG_WEAPON_NOTIF(WEAPON_ELECTRO_SUICIDE_BOLT,                   INFO_WEAPON_ELECTRO_SUICIDE_BOLT,                       CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_ELECTRO_MURDER_BOLT,                    INFO_WEAPON_ELECTRO_MURDER_BOLT,                        NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_ELECTRO_MURDER_ORBS,                    INFO_WEAPON_ELECTRO_MURDER_ORBS,                        NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_ELECTRO_MURDER_COMBO,                   INFO_WEAPON_ELECTRO_MURDER_COMBO,                       NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_FIREBALL_SUICIDE_FIREMINE,              INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE,          NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_FIREBALL_SUICIDE_BLAST,                 INFO_WEAPON_FIREBALL_SUICIDE_BLAST,             NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_FIREBALL_SUICIDE_FIREMINE,              INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE,          CENTER_DEATH_SELF_GENERIC) \
+       MSG_WEAPON_NOTIF(WEAPON_FIREBALL_SUICIDE_BLAST,                 INFO_WEAPON_FIREBALL_SUICIDE_BLAST,             CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_FIREBALL_MURDER_FIREMINE,               INFO_WEAPON_FIREBALL_MURDER_FIREMINE,           NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_FIREBALL_MURDER_BLAST,                  INFO_WEAPON_FIREBALL_MURDER_BLAST,                      NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_MORTAR_SUICIDE_EXPLODE,                 INFO_WEAPON_MORTAR_SUICIDE_EXPLODE,             NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_MORTAR_SUICIDE_BOUNCE,                  INFO_WEAPON_MORTAR_SUICIDE_BOUNCE,                      NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_MORTAR_SUICIDE_EXPLODE,                 INFO_WEAPON_MORTAR_SUICIDE_EXPLODE,             CENTER_DEATH_SELF_GENERIC) \
+       MSG_WEAPON_NOTIF(WEAPON_MORTAR_SUICIDE_BOUNCE,                  INFO_WEAPON_MORTAR_SUICIDE_BOUNCE,                      CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_MORTAR_MURDER_EXPLODE,                  INFO_WEAPON_MORTAR_MURDER_EXPLODE,                      NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_MORTAR_MURDER_BOUNCE,                   INFO_WEAPON_MORTAR_MURDER_BOUNCE,                       NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_HAGAR_SUICIDE,                                  INFO_WEAPON_HAGAR_SUICIDE,                                      NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_HAGAR_SUICIDE,                                  INFO_WEAPON_HAGAR_SUICIDE,                                      CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_HAGAR_MURDER_BURST,                     INFO_WEAPON_HAGAR_MURDER_BURST,                         NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_HAGAR_MURDER_SPRAY,                     INFO_WEAPON_HAGAR_MURDER_SPRAY,                         NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_HLAC_SUICIDE,                                   INFO_WEAPON_HLAC_SUICIDE,                                       NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_HLAC_SUICIDE,                                   INFO_WEAPON_HLAC_SUICIDE,                                       CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_HLAC_MURDER,                                    INFO_WEAPON_HLAC_MURDER,                                        NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_HOOK_MURDER,                                    INFO_WEAPON_HOOK_MURDER,                                        NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_LASER_SUICIDE,                                  INFO_WEAPON_LASER_SUICIDE,                                      NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_LASER_SUICIDE,                                  INFO_WEAPON_LASER_SUICIDE,                                      CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_LASER_MURDER,                                   INFO_WEAPON_LASER_MURDER,                                       NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_MINELAYER_SUICIDE,                              INFO_WEAPON_MINELAYER_SUICIDE,                          NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_MINELAYER_SUICIDE,                              INFO_WEAPON_MINELAYER_SUICIDE,                          CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_MINELAYER_MURDER,                               INFO_WEAPON_MINELAYER_MURDER,                           NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_MINSTANEX_MURDER,                               INFO_WEAPON_MINSTANEX_MURDER,                           NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_NEX_MURDER,                                     INFO_WEAPON_NEX_MURDER,                                         NO_MSG) \
@@ -444,19 +444,19 @@ void Send_CSQC_Centerprint_Generic_Expire(entity e, float id);
        MSG_WEAPON_NOTIF(WEAPON_RIFLE_MURDER_PIERCING,                  INFO_WEAPON_RIFLE_MURDER_PIERCING,                      NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_RIFLE_MURDER,                                   INFO_WEAPON_RIFLE_MURDER,                                       NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_RIFLE_MURDER_HEADSHOT,                  INFO_WEAPON_RIFLE_MURDER_HEADSHOT,                      NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_ROCKETLAUNCHER_SUICIDE,                 INFO_WEAPON_ROCKETLAUNCHER_SUICIDE,             NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_ROCKETLAUNCHER_SUICIDE,                 INFO_WEAPON_ROCKETLAUNCHER_SUICIDE,             CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_ROCKETLAUNCHER_MURDER_DIRECT,   INFO_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT,       NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_ROCKETLAUNCHER_MURDER_SPLASH,   INFO_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH,       NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_SEEKER_SUICIDE,                                 INFO_WEAPON_SEEKER_SUICIDE,                             NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_SEEKER_SUICIDE,                                 INFO_WEAPON_SEEKER_SUICIDE,                             CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_SEEKER_MURDER_TAG,                              INFO_WEAPON_SEEKER_MURDER_TAG,                          NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_SEEKER_MURDER_SPRAY,                    INFO_WEAPON_SEEKER_MURDER_SPRAY,                        NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_SHOTGUN_MURDER_SLAP,                    INFO_WEAPON_SHOTGUN_MURDER_SLAP,                        NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_SHOTGUN_MURDER,                                 INFO_WEAPON_SHOTGUN_MURDER,                             NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_TUBA_SUICIDE,                                   INFO_WEAPON_TUBA_SUICIDE,                                       NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_TUBA_SUICIDE,                                   INFO_WEAPON_TUBA_SUICIDE,                                       CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_TUBA_MURDER,                                    INFO_WEAPON_TUBA_MURDER,                                        NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_ACCORDEON_SUICIDE,                              INFO_WEAPON_ACCORDEON_SUICIDE,                          NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_ACCORDEON_SUICIDE,                              INFO_WEAPON_ACCORDEON_SUICIDE,                          CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_ACCORDEON_MURDER,                               INFO_WEAPON_ACCORDEON_MURDER,                           NO_MSG) \
-       MSG_WEAPON_NOTIF(WEAPON_KLEINBOTTLE_SUICIDE,                    INFO_WEAPON_KLEINBOTTLE_SUICIDE,                        NO_MSG) \
+       MSG_WEAPON_NOTIF(WEAPON_KLEINBOTTLE_SUICIDE,                    INFO_WEAPON_KLEINBOTTLE_SUICIDE,                        CENTER_DEATH_SELF_GENERIC) \
        MSG_WEAPON_NOTIF(WEAPON_KLEINBOTTLE_MURDER,                     INFO_WEAPON_KLEINBOTTLE_MURDER,                         NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_UZI_MURDER_SNIPE,                               INFO_WEAPON_UZI_MURDER_SNIPE,                           NO_MSG) \
        MSG_WEAPON_NOTIF(WEAPON_UZI_MURDER_SPRAY,                               INFO_WEAPON_UZI_MURDER_SPRAY,                           NO_MSG) 
index 428c6fe0ee8864bbbdfd1f0a5a6e3b07712a0406..d5c502f75383b5b4ca31c339b7c76c7350e216f9 100644 (file)
@@ -353,7 +353,7 @@ void Obituary_SpecialDeath(entity notif_target, float murder, float deathtype, s
 }
 
 float w_deathtype;
-float Obituary_WeaponDeath(float murder, float deathtype, string s1, string s2)
+float Obituary_WeaponDeath(float murder, float deathtype, string s1, string s2, float f1)
 {
        float death_weapon = DEATH_WEAPONOF(deathtype);
 
@@ -363,7 +363,7 @@ float Obituary_WeaponDeath(float murder, float deathtype, string s1, string s2)
                float death_message = weapon_action(death_weapon, ((murder) ? WR_KILLMESSAGE : WR_SUICIDEMESSAGE));
                w_deathtype = FALSE;
 
-               if(death_message) { Send_Notification_Legacy_Wrapper(NOTIF_ANY, world, MSG_WEAPON, death_message, s1, s2, NO_FL_ARG, NO_FL_ARG, NO_FL_ARG); }
+               if(death_message) { Send_Notification_Legacy_Wrapper(NOTIF_ANY, world, MSG_WEAPON, death_message, s1, s2, f1, NO_FL_ARG, NO_FL_ARG); }
                else { dprint(sprintf("Obituary_WeaponDeath(): ^1Deathtype ^7(%s-%d)^1 has no notification for weapon %d!\n", Deathtype_Name(deathtype), deathtype, death_weapon)); }
 
                return TRUE;
@@ -422,7 +422,7 @@ void Obituary(entity attacker, entity inflictor, entity targ, float deathtype)
                        
                        Obituary_SpecialDeath(targ, FALSE, deathtype, s1, s2, f1, f2, NO_FL_ARG);
                }
-               else if not(Obituary_WeaponDeath(FALSE, deathtype, targ.netname, NO_STR_ARG))
+               else if not(Obituary_WeaponDeath(FALSE, deathtype, targ.netname, NO_STR_ARG, targ.killcount))
                {
                        backtrace("SUICIDE: what the hell happened here?\n");
                }
@@ -528,8 +528,9 @@ void Obituary(entity attacker, entity inflictor, entity targ, float deathtype)
                                                s1, NO_STR_ARG, (targ.FRAG_VERBOSE ? attacker.health : NO_FL_ARG), (targ.FRAG_VERBOSE ? attacker.armorvalue : NO_FL_ARG), (targ.FRAG_VERBOSE ? ((clienttype(attacker) == CLIENTTYPE_BOT) ? BOT_PING : attacker.ping) : NO_FL_ARG));
                                }
                        }
-                       
-                       if not(Obituary_WeaponDeath(TRUE, deathtype, targ.netname, attacker.netname))
+
+                       //print("targ_killcount = ", ftos(targ.killcount), ", attacker_killcount = ", ftos(attacker.killcount), ".\n");
+                       if not(Obituary_WeaponDeath(TRUE, deathtype, targ.netname, attacker.netname, targ.killcount))
                                Obituary_SpecialDeath(targ, TRUE, deathtype, s2, s1, targ.killcount, NO_FL_ARG, NO_FL_ARG);
                }
        }