From: LegendaryGuard Date: Tue, 12 Oct 2021 07:59:45 +0000 (+0200) Subject: Update, change Sleuth to Detective due to meaning confusion and added some new cvar X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=61db50fc77e4ec1247e379e5661bd4fc4e54ba12;p=xonotic%2Fxonotic-data.pk3dir.git Update, change Sleuth to Detective due to meaning confusion and added some new cvar --- diff --git a/gamemodes-server.cfg b/gamemodes-server.cfg index ecc850fb8..8121dab8b 100644 --- a/gamemodes-server.cfg +++ b/gamemodes-server.cfg @@ -575,6 +575,7 @@ set g_duel_not_dm_maps 0 "when this is set, DM maps will NOT be listed in duel" // ========== set g_mmm 0 "Murder in Megaerebus Manor: A group of space civilians have murderers among them. Murderers must kill civilians, while the civilians have to try to find and kill the murderers" set g_mmm_not_lms_maps 0 "when this is set, LMS maps will NOT be listed in mmm" +set g_mmm_not_dm_maps 0 "when this is set, DM maps will NOT be listed in mmm" set g_mmm_civilian_count 0.625 "number of players who will become civilians, set between 0 and 0.9 to use a multiplier of the current players, or 1 and above to specify an exact number of players" //set g_mmm_murderer_count 0.25 "number of players who will become murderers, set between 0 and 0.9 to use a multiplier of the current players, or 1 and above to specify an exact number of players" set g_mmm_punish_teamkill 0 "enable option to kill the player when they kill an ally" @@ -588,4 +589,4 @@ set g_mmm_karma_bantime 1800 "number of seconds to ban someone with very low kar set g_mmm_karma_damageactive 1 "enable karma damage rule. If a player's karma is low, they will not do as much damage as a player who has high or full karma" set g_mmm_karma_damagepunishmentdeal 20 "punishment damage points when player kills an ally" set g_mmm_karma_severity 0.25 "how severe karma is to decrease karma points to the players [0.1 - 1.0]" -set g_mmm_reward_sleuth 1 "give a point to all sleuth players if investigated corpses" \ No newline at end of file +set g_mmm_reward_detective 1 "give a point to all detective players if investigated corpses" \ No newline at end of file diff --git a/notifications.cfg b/notifications.cfg index ec5f9edce..b928b7a9b 100644 --- a/notifications.cfg +++ b/notifications.cfg @@ -540,7 +540,7 @@ seta notification_CENTER_MMM_MURDERER "1" "0 = off, 1 = centerprint" seta notification_CENTER_MMM_MURDERER_WIN "1" "0 = off, 1 = centerprint" seta notification_CENTER_MMM_CIVILIAN "1" "0 = off, 1 = centerprint" seta notification_CENTER_MMM_CIVILIAN_WIN "1" "0 = off, 1 = centerprint" -seta notification_CENTER_MMM_SLEUTH "1" "0 = off, 1 = centerprint" +seta notification_CENTER_MMM_DETECTIVE "1" "0 = off, 1 = centerprint" seta notification_CENTER_VEHICLE_ENTER "1" "0 = off, 1 = centerprint" seta notification_CENTER_VEHICLE_ENTER_GUNNER "1" "0 = off, 1 = centerprint" diff --git a/qcsrc/common/gamemodes/gamemode/mmm/cl_mmm.qc b/qcsrc/common/gamemodes/gamemode/mmm/cl_mmm.qc index 8f1fd8e59..f5ed19109 100644 --- a/qcsrc/common/gamemodes/gamemode/mmm/cl_mmm.qc +++ b/qcsrc/common/gamemodes/gamemode/mmm/cl_mmm.qc @@ -23,9 +23,9 @@ void HUD_Mod_MMM(vector pos, vector mySize) player_color = '0 1 0'; //player_icon = "player_neutral"; } - else if(mystatus == MMM_STATUS_SLEUTH) + else if(mystatus == MMM_STATUS_DETECTIVE) { - player_text = _("Sleuth"); + player_text = _("Detective"); player_color = '0 0 1'; //player_icon = "player_blue"; } @@ -88,10 +88,10 @@ MUTATOR_HOOKFUNCTION(cl_mmm, ForcePlayercolors_Skip, CBC_ORDER_LAST) plcolor = MMM_COLOR_CIVILIAN; } - //LegendGuard adds if sentence for Sleuth model color which will shown for everyone 21-02-2021 - if (otherplayer_status == MMM_STATUS_SLEUTH) + //LegendGuard adds if sentence for Detective model color which will shown for everyone 21-02-2021 + if (otherplayer_status == MMM_STATUS_DETECTIVE) { - plcolor = MMM_COLOR_SLEUTH; + plcolor = MMM_COLOR_DETECTIVE; } player.colormap = 1024 + plcolor; diff --git a/qcsrc/common/gamemodes/gamemode/mmm/mmm.qh b/qcsrc/common/gamemodes/gamemode/mmm/mmm.qh index a53794974..a73fb5622 100644 --- a/qcsrc/common/gamemodes/gamemode/mmm/mmm.qh +++ b/qcsrc/common/gamemodes/gamemode/mmm/mmm.qh @@ -23,6 +23,12 @@ CLASS(MurderinMegaerebusManor, Gametype) if(!(MapInfo_Map_supportedGametypes & this.m_flags) && (MapInfo_Map_supportedGametypes & MAPINFO_TYPE_LMS.m_flags)) return true; // TODO: references another gametype (alternatively, we could check which gamemodes are always enabled and append this if any are supported) } + if(!cvar("g_mmm_not_dm_maps")) + { + // if this is unset, all DM maps support MMM too + if(!(MapInfo_Map_supportedGametypes & this.m_flags) && (MapInfo_Map_supportedGametypes & MAPINFO_TYPE_DEATHMATCH.m_flags)) + return true; // TODO: references another gametype (alternatively, we could check which gamemodes are always enabled and append this if any are supported) + } return false; } #ifdef CSQC @@ -36,10 +42,10 @@ REGISTER_GAMETYPE(MMM, NEW(MurderinMegaerebusManor)); .int mmm_status; const int MMM_STATUS_CIVILIAN = 1; const int MMM_STATUS_MURDERER = 2; -const int MMM_STATUS_SLEUTH = 3; +const int MMM_STATUS_DETECTIVE = 3; // hardcoded player colors for mmm -const int MMM_COLOR_SLEUTH = 221; // blue +const int MMM_COLOR_DETECTIVE = 221; // blue const int MMM_COLOR_CIVILIAN = 51; // green const int MMM_COLOR_MURDERER = 68; // red #endif diff --git a/qcsrc/common/gamemodes/gamemode/mmm/sv_mmm.qc b/qcsrc/common/gamemodes/gamemode/mmm/sv_mmm.qc index c2931f967..596a3a3f4 100644 --- a/qcsrc/common/gamemodes/gamemode/mmm/sv_mmm.qc +++ b/qcsrc/common/gamemodes/gamemode/mmm/sv_mmm.qc @@ -1,22 +1,22 @@ #include "sv_mmm.qh" -//set g_mmm_sleuth_count 0.125 "number of players who will become sleuths, set between 0 and 0.9 to use a multiplier of the current players, or 1 and above to specify an exact number of players" -//float autocvar_g_mmm_sleuth_count = 0.125; //I don't think that it'll be used... +//set g_mmm_detective_count 0.125 "number of players who will become detectives, set between 0 and 0.9 to use a multiplier of the current players, or 1 and above to specify an exact number of players" +//float autocvar_g_mmm_detective_count = 0.125; //I don't think that it'll be used... float autocvar_g_mmm_civilian_count = 0.625; //float autocvar_g_mmm_murderer_count = 0.25; float autocvar_g_mmm_round_timelimit = 180; float autocvar_g_mmm_warmup = 10; bool autocvar_g_mmm_punish_teamkill = false; bool autocvar_g_mmm_reward_civilian = true; -bool autocvar_g_mmm_reward_sleuth = true; //sleuth reward if investigated corpses +bool autocvar_g_mmm_reward_detective = true; //detective reward if investigated corpses float autocvar_g_mmm_max_karma_points = 1000; //LegendGuard sets Karma points 21-02-2021 -float autocvar_g_mmm_min_karma_points = 400; +float autocvar_g_mmm_min_karma_points = 500; int autocvar_g_mmm_karma_bankick_tool = 1; //LegendGuard sets a ban tool for server admins 11-03-2021 float autocvar_g_mmm_karma_bantime = 1800; //karma ban seconds bool autocvar_g_mmm_karma_damageactive = true; //LegendGuard sets Karma damage setting if active 20-03-2021 float autocvar_g_mmm_karma_severity = 0.25; float autocvar_g_mmm_karma_damagepunishmentdeal = 20; //LegendGuard sets Karma punishment damage setting if player kills an ally 28-03-2021 -// Sleuth is a created team, this team is added inside Civilians team +// Detective is a created team, this team is added inside Civilians team void mmm_FakeTimeLimit(entity e, float t) { @@ -55,12 +55,12 @@ void karma_Control(entity it) //do nothing case 0: return; //force to spec - case 1: PutObserverInServer(it); return; + case 1: PutObserverInServer(it, true); return; //kick case 2: dropclient(it); return; //ban and kick case 3: Ban_KickBanClient(it, bantime, masksize, "Too low karma"); return; - default: PutObserverInServer(it); return; + default: PutObserverInServer(it, true); return; } } } @@ -123,9 +123,9 @@ void mmm_UpdateScores(bool timed_out) //PrintToChatAll(sprintf("^2REWARD ^7it.karmapoints: ^1%f", it.karmapoints)); } - //Sleuth reward after investigated a corpse - if((autocvar_g_mmm_reward_sleuth && timed_out && it.mmm_status == MMM_STATUS_SLEUTH) - || (autocvar_g_mmm_reward_sleuth && !timed_out && it.mmm_status == MMM_STATUS_SLEUTH)) + //Detective reward after investigated a corpse + if((autocvar_g_mmm_reward_detective && timed_out && it.mmm_status == MMM_STATUS_DETECTIVE) + || (autocvar_g_mmm_reward_detective && !timed_out && it.mmm_status == MMM_STATUS_DETECTIVE)) { if (it.investigated == true) { @@ -166,15 +166,15 @@ float mmm_CheckWinner() return 1; } - int civilian_count = 0, murderer_count = 0, sleuth_count = 0; + int civilian_count = 0, murderer_count = 0, detective_count = 0; FOREACH_CLIENT(IS_PLAYER(it) && !IS_DEAD(it), { if(it.mmm_status == MMM_STATUS_CIVILIAN) civilian_count++; else if(it.mmm_status == MMM_STATUS_MURDERER) murderer_count++; - else if(it.mmm_status == MMM_STATUS_SLEUTH) //LegendGuard adds sleuth_count 20-02-2021 - sleuth_count++; + else if(it.mmm_status == MMM_STATUS_DETECTIVE) //LegendGuard adds detective_count 20-02-2021 + detective_count++; }); if(civilian_count > 0 && murderer_count > 0) { @@ -191,7 +191,7 @@ float mmm_CheckWinner() Send_Notification(NOTIF_ALL, NULL, MSG_CENTER, CENTER_MMM_CIVILIAN_WIN); Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_MMM_CIVILIAN_WIN); } - else if (sleuth_count > 0 && civilian_count > 0) // sleuths are same as civilians win + else if (detective_count > 0 && civilian_count > 0) // detectives are same as civilians win { Send_Notification(NOTIF_ALL, NULL, MSG_CENTER, CENTER_MMM_CIVILIAN_WIN); Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_MMM_CIVILIAN_WIN); @@ -254,8 +254,8 @@ void mmm_RoundStart() int total_civilians = 0; //int murderer_count = bound(1, ((autocvar_g_mmm_murderer_count >= 1) ? autocvar_g_mmm_murderer_count : floor(playercount * autocvar_g_mmm_murderer_count)), playercount - 1); // 20%, but ensure at least 1 and less than total int total_murderers = 0; - //int sleuth_count = bound(1, ((autocvar_g_mmm_sleuth_count >= 1) ? autocvar_g_mmm_sleuth_count : floor(playercount * autocvar_g_mmm_sleuth_count)), playercount - 1); // 20%, but ensure at least 1 and less than total - int total_sleuths = 0; + //int detective_count = bound(1, ((autocvar_g_mmm_detective_count >= 1) ? autocvar_g_mmm_detective_count : floor(playercount * autocvar_g_mmm_detective_count)), playercount - 1); // 20%, but ensure at least 1 and less than total + int total_detectives = 0; //civilians TOTAL FOREACH_CLIENT_RANDOM(IS_PLAYER(it) && !IS_DEAD(it), @@ -274,12 +274,12 @@ void mmm_RoundStart() } else if (total_civilians == 2) { - if (total_sleuths >= 1) + if (total_detectives >= 1) break; else { - total_sleuths++; - it.mmm_status = MMM_STATUS_SLEUTH; + total_detectives++; + it.mmm_status = MMM_STATUS_DETECTIVE; } } else if (total_civilians == 5) @@ -294,17 +294,17 @@ void mmm_RoundStart() } else if (total_civilians == 6) { - if (total_sleuths >= 2) + if (total_detectives >= 2) break; else { - total_sleuths++; - it.mmm_status = MMM_STATUS_SLEUTH; + total_detectives++; + it.mmm_status = MMM_STATUS_DETECTIVE; } } else if (total_civilians == 7) { - if (total_sleuths >= 3) + if (total_detectives >= 3) break; else if (total_murderers == 3) { @@ -313,13 +313,13 @@ void mmm_RoundStart() } else { - total_sleuths++; - it.mmm_status = MMM_STATUS_SLEUTH; + total_detectives++; + it.mmm_status = MMM_STATUS_DETECTIVE; } } else if (total_civilians >= 8) { - if (total_sleuths >= 4) + if (total_detectives >= 4) break; else if (total_murderers == 4) { @@ -328,8 +328,8 @@ void mmm_RoundStart() } else { - total_sleuths++; - it.mmm_status = MMM_STATUS_SLEUTH; + total_detectives++; + it.mmm_status = MMM_STATUS_DETECTIVE; } } else @@ -362,15 +362,15 @@ void mmm_RoundStart() Send_Notification(NOTIF_ONE_ONLY, it, MSG_INFO, INFO_MMM_MURDERER); //PrintToChatAll(sprintf("^1DEBUG^7: %s is ^1Murderer^7!", it.netname)); } - else if(it.mmm_status == MMM_STATUS_SLEUTH) + else if(it.mmm_status == MMM_STATUS_DETECTIVE) { Karma_WarningCheck(it); //Gives Shockwave and Mine Layer weapon to the player GiveWeapon(it, WEP_SHOCKWAVE.m_id, OP_PLUS, 1); GiveWeapon(it, WEP_MINE_LAYER.m_id, OP_PLUS, 1); - Send_Notification(NOTIF_ONE_ONLY, it, MSG_CENTER, CENTER_MMM_SLEUTH); - Send_Notification(NOTIF_ONE_ONLY, it, MSG_INFO, INFO_MMM_SLEUTH); - Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_MMM_WHOISSLEUTH, it.netname); + Send_Notification(NOTIF_ONE_ONLY, it, MSG_CENTER, CENTER_MMM_DETECTIVE); + Send_Notification(NOTIF_ONE_ONLY, it, MSG_INFO, INFO_MMM_DETECTIVE); + Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_MMM_WHOISDETECTIVE, it.netname); } mmm_FakeTimeLimit(it, round_handler_GetEndTime()); }); @@ -514,33 +514,33 @@ MUTATOR_HOOKFUNCTION(mmm, ClientObituary) { case MMM_STATUS_CIVILIAN: frag_target.killerrole = "\n^3Killer role: ^2Civilian"; return; case MMM_STATUS_MURDERER: frag_target.killerrole = "\n^3Killer role: ^1Murderer"; return; - case MMM_STATUS_SLEUTH: frag_target.killerrole = "\n^3Killer role: ^4Sleuth"; return; + case MMM_STATUS_DETECTIVE: frag_target.killerrole = "\n^3Killer role: ^4Detective"; return; default: return; } //PrintToChatAll(sprintf("frag_attacker.karmapoints: ^1%f", frag_attacker.karmapoints)); } - if(frag_attacker.mmm_status == MMM_STATUS_SLEUTH) + if(frag_attacker.mmm_status == MMM_STATUS_DETECTIVE) { - if (frag_target.mmm_status == MMM_STATUS_CIVILIAN || frag_target.mmm_status == MMM_STATUS_SLEUTH) + if (frag_target.mmm_status == MMM_STATUS_CIVILIAN || frag_target.mmm_status == MMM_STATUS_DETECTIVE) { - //PrintToChatAll("^1DEBUG^7: A ^4Sleuth^7 fragged an ^2Civilian^7/^4Sleuth^7, TOO BAD!"); + //PrintToChatAll("^1DEBUG^7: A ^4Detective^7 fragged an ^2Civilian^7/^4Detective^7, TOO BAD!"); ReduceKarmaPointsandFrags(frag_attacker, frag_target, frag_deathtype, wep_ent); - frag_target.killerrole = "\n^3Killer role: ^4Sleuth"; + frag_target.killerrole = "\n^3Killer role: ^4Detective"; //PrintToChatAll(sprintf("frag_attacker.karmapoints: ^1%f", frag_attacker.karmapoints)); } else { frag_target.whokilled = frag_attacker.netname; - frag_target.killerrole = "\n^3Killer role: ^4Sleuth"; + frag_target.killerrole = "\n^3Killer role: ^4Detective"; } } if (frag_attacker.mmm_status == MMM_STATUS_CIVILIAN) { - if (frag_target.mmm_status == MMM_STATUS_SLEUTH) + if (frag_target.mmm_status == MMM_STATUS_DETECTIVE) { - //PrintToChatAll("^1DEBUG^7: An ^2Civilian^7 fragged a ^4Sleuth^7, TOO BAD!"); + //PrintToChatAll("^1DEBUG^7: An ^2Civilian^7 fragged a ^4Detective^7, TOO BAD!"); ReduceKarmaPointsandFrags(frag_attacker, frag_target, frag_deathtype, wep_ent); frag_target.killerrole = "\n^3Killer role: ^2Civilian"; } @@ -564,7 +564,7 @@ MUTATOR_HOOKFUNCTION(mmm, ClientObituary) frag_target.killerrole = "\n^3Killer role: ^1Murderer"; } } - //if mmm_status is 1, means civilian, 2 means murderer, 3 means sleuth + //if mmm_status is 1, means civilian, 2 means murderer, 3 means detective //PrintToChatAll(sprintf("^1DEBUG^7: frag_attacker.mmm_status is ^3%s^7",ftos(frag_attacker.mmm_status))); //PrintToChatAll(sprintf("^1DEBUG^7: frag_target.mmm_status is ^3%s^7",ftos(frag_target.mmm_status))); } @@ -653,10 +653,10 @@ MUTATOR_HOOKFUNCTION(mmm, Damage_Calculate) Send_Notification(NOTIF_ONE_ONLY, attacker, MSG_CENTER, CENTER_MMM_CORPSEDETECTION, corpsemessagestrcat); Send_Notification(NOTIF_ONE_ONLY, attacker, MSG_INFO, INFO_MMM_CORPSEDETECTION, corpsemsginfo); } - else if (target.mmm_status == MMM_STATUS_SLEUTH) + else if (target.mmm_status == MMM_STATUS_DETECTIVE) { - corpsemessagestrcat = strcat("^5DEAD PLAYER DETAILS^7: \n^3Name:^7 ", target.netname, "\n^3Role: ^4Sleuth", "\n", killedbyphrase, "\n", wepkilledphrase); - corpsemsginfo = strcat("^5DEAD PLAYER DETAILS^7: ^3Name:^7 ", target.netname, " ^3Role: ^4Sleuth", " ", killedbyphrase, " ", wepkilledphrase); + corpsemessagestrcat = strcat("^5DEAD PLAYER DETAILS^7: \n^3Name:^7 ", target.netname, "\n^3Role: ^4Detective", "\n", killedbyphrase, "\n", wepkilledphrase); + corpsemsginfo = strcat("^5DEAD PLAYER DETAILS^7: ^3Name:^7 ", target.netname, " ^3Role: ^4Detective", " ", killedbyphrase, " ", wepkilledphrase); //centerprint(attacker, strcat(BOLD_OPERATOR, corpsemessagestrcat)); Send_Notification(NOTIF_ONE_ONLY, attacker, MSG_CENTER, CENTER_MMM_CORPSEDETECTION, corpsemessagestrcat); Send_Notification(NOTIF_ONE_ONLY, attacker, MSG_INFO, INFO_MMM_CORPSEDETECTION, corpsemsginfo); @@ -691,7 +691,7 @@ MUTATOR_HOOKFUNCTION(mmm, PlayerPreThink) { if (playercount == 3) { - if (it.mmm_status == MMM_STATUS_SLEUTH) + if (it.mmm_status == MMM_STATUS_DETECTIVE) it.mmm_status = MMM_STATUS_CIVILIAN; } }); @@ -712,9 +712,9 @@ MUTATOR_HOOKFUNCTION(mmm, PlayerPreThink) plcolor = MMM_COLOR_CIVILIAN; if(player.mmm_status == MMM_STATUS_MURDERER && game_stopped) plcolor = MMM_COLOR_MURDERER; - //LegendGuard adds for Sleuth 21-02-2021 - if(player.mmm_status == MMM_STATUS_SLEUTH)// && game_stopped) - plcolor = MMM_COLOR_SLEUTH; + //LegendGuard adds for Detective 21-02-2021 + if(player.mmm_status == MMM_STATUS_DETECTIVE)// && game_stopped) + plcolor = MMM_COLOR_DETECTIVE; setcolor(player, plcolor); } if(warmup_stage) @@ -852,17 +852,17 @@ MUTATOR_HOOKFUNCTION(mmm, PlayerDies) //if(frag_attacker.mmm_status == frag_target.mmm_status) // killed an ally! punishment is sentenced - if(frag_attacker.mmm_status == MMM_STATUS_SLEUTH) + if(frag_attacker.mmm_status == MMM_STATUS_DETECTIVE) { if (frag_target.mmm_status == MMM_STATUS_CIVILIAN) { - //PrintToChatAll("^1DEBUG^7: ^4SLEUTH ^1DAMAGE/DEAD^7 HAS TAKEN!"); + //PrintToChatAll("^1DEBUG^7: ^4DETECTIVE ^1DAMAGE/DEAD^7 HAS TAKEN!"); Damage(frag_attacker, frag_attacker, frag_attacker, autocvar_g_mmm_karma_damagepunishmentdeal, DEATH_MIRRORDAMAGE.m_id, DMG_NOWEP, frag_attacker.origin, '0 0 0'); } } if (frag_attacker.mmm_status == MMM_STATUS_CIVILIAN) { - if (frag_target.mmm_status == MMM_STATUS_SLEUTH) + if (frag_target.mmm_status == MMM_STATUS_DETECTIVE) { //PrintToChatAll("^1DEBUG^7: ^2CIVILIAN ^1DAMAGE/DEAD^7 HAS TAKEN!"); Damage(frag_attacker, frag_attacker, frag_attacker, autocvar_g_mmm_karma_damagepunishmentdeal, DEATH_MIRRORDAMAGE.m_id, DMG_NOWEP, frag_attacker.origin, '0 0 0'); @@ -989,8 +989,8 @@ MUTATOR_HOOKFUNCTION(mmm, BotShouldAttack) return true; } - // LegendGuard fixed the problem of Sleuths and Civilians attacking each other 26-03-2021 - if(bot.mmm_status == MMM_STATUS_SLEUTH) + // LegendGuard fixed the problem of Detectives and Civilians attacking each other 26-03-2021 + if(bot.mmm_status == MMM_STATUS_DETECTIVE) { if(targ.mmm_status == MMM_STATUS_CIVILIAN) return true; diff --git a/qcsrc/common/notifications/all.inc b/qcsrc/common/notifications/all.inc index eadaf0291..c4ced0828 100644 --- a/qcsrc/common/notifications/all.inc +++ b/qcsrc/common/notifications/all.inc @@ -444,8 +444,8 @@ string multiteam_info_sprintf(string input, string teamname) { return ((input != MSG_INFO_NOTIF(MMM_CIVILIAN_WIN, N_CONSOLE, 0, 0, "", "", "", _("^F1Civilians^BG win the round"), "") //LegendGuard adds N_CHATCON option 20-03-2021 - MSG_INFO_NOTIF(MMM_SLEUTH, N_CHATCON, 0, 0, "", "", "", _("^BGYou are ^4Sleuth^BG!"), "") - MSG_INFO_NOTIF(MMM_WHOISSLEUTH, N_CHATCON, 1, 0, "s1", "", "", _("^BG%s is ^4Sleuth^BG!"), "") + MSG_INFO_NOTIF(MMM_DETECTIVE, N_CHATCON, 0, 0, "", "", "", _("^BGYou are ^4Detective^BG!"), "") + MSG_INFO_NOTIF(MMM_WHOISDETECTIVE, N_CHATCON, 1, 0, "s1", "", "", _("^BG%s is ^4Detective^BG!"), "") MSG_INFO_NOTIF(MMM_CORPSEDETECTION, N_CHATCON, 1, 0, "s1", "", "", _("^BG%s"), "") MSG_INFO_NOTIF(MMM_KARMAWARNING, N_CHATCON, 0, 0, "", "", "", _("^K1KARMA WARNING! ^3Here, have the Rifle!"), "") @@ -787,7 +787,7 @@ string multiteam_info_sprintf(string input, string teamname) { return ((input != MSG_CENTER_NOTIF(MMM_CIVILIAN, N_ENABLE, 0, 0, "", CPID_MMM, "5 0", strcat(BOLD_OPERATOR, _("^BGYou are ^F1Civilian^BG! Try to find out who are murderers and survive until time is up!")), "") MSG_CENTER_NOTIF(MMM_CIVILIAN_WIN, N_ENABLE, 0, 0, "", CPID_ROUND, "0 0", _("^F1Civilians^BG win the round"), "") - MSG_CENTER_NOTIF(MMM_SLEUTH, N_ENABLE, 0, 0, "", CPID_MMM, "5 0", strcat(BOLD_OPERATOR, _("^BGYou are ^4Sleuth^BG! Find out who are murderers and protect the civilians!")), "") + MSG_CENTER_NOTIF(MMM_DETECTIVE, N_ENABLE, 0, 0, "", CPID_MMM, "5 0", strcat(BOLD_OPERATOR, _("^BGYou are ^4Detective^BG! Find out who are murderers and protect the civilians!")), "") MSG_CENTER_NOTIF(MMM_CORPSEDETECTION, N_ENABLE, 1, 0, "s1", CPID_MMM, "4 0", strcat(BOLD_OPERATOR, _("^BG%s")), "") MSG_CENTER_NOTIF(JOIN_PREVENT_MINIGAME, N_ENABLE, 0, 0, "", CPID_Null, "0 0", _("^K1Cannot join given minigame session!"), "" )