|
1 | | -namespace Nebula.Patches; |
| 1 | +using static MeetingHud; |
| 2 | + |
| 3 | +namespace Nebula.Patches; |
2 | 4 |
|
3 | 5 | [HarmonyPatch] |
4 | 6 | class ExileControllerPatch |
@@ -177,25 +179,33 @@ static void Postfix(ref string __result, [HarmonyArgument(0)] StringNames id) |
177 | 179 | if (ExileController.Instance != null && ExileController.Instance.exiled != null) |
178 | 180 | { |
179 | 181 | PlayerControl player = Helpers.playerById(ExileController.Instance.exiled.Object.PlayerId); |
| 182 | + if (id is StringNames.ImpostorsRemainP or StringNames.ImpostorsRemainS) |
| 183 | + { |
| 184 | + bool flag = false; |
| 185 | + foreach (PlayerControl p in PlayerControl.AllPlayerControls) |
| 186 | + { |
| 187 | + if (p.GetModData().role == Roles.Roles.Bartender && p.GetModData().IsAlive) flag = true; |
| 188 | + Debug.LogWarning(string.Format("ExileControllPatch - {0} : {1}", p.name, p.GetModData().role.LocalizeName)); |
| 189 | + } |
| 190 | + if (flag) __result += "\n" + Language.Language.GetString("text.exile.bartenderAddition"); |
| 191 | + } |
180 | 192 | if (player == null) return; |
181 | 193 | // Exile role text |
182 | 194 | if (id is StringNames.ExileTextPN or StringNames.ExileTextSN or StringNames.ExileTextPP or StringNames.ExileTextSP) |
183 | 195 | { |
184 | 196 | __result = player.Data.PlayerName + Language.Language.GetString("text.exile.role") + Language.Language.GetString("role." + player.GetModData().role.GetActualRole(player.GetModData()).LocalizeName + ".name"); |
185 | | - if (player.GetModData().extraRole.Contains(Roles.Roles.SecondaryGuesser)) |
186 | | - { |
187 | | - __result += " " + Language.Language.GetString("role.guesser.name"); |
188 | | - } |
189 | | - if (player.GetModData().extraRole.Contains(Roles.Roles.Lover)) |
190 | | - { |
191 | | - __result += " " + Language.Language.GetString("role.lover.name"); |
| 197 | + foreach(Roles.ExtraRole extra in player.GetModData().extraRole){ |
| 198 | + __result += " " + Language.Language.GetString("role." + extra.LocalizeName + ".name"); |
192 | 199 | } |
193 | 200 | } |
194 | 201 | // Hide number of remaining impostors on Jester win |
195 | 202 | if (id is StringNames.ImpostorsRemainP or StringNames.ImpostorsRemainS) |
196 | 203 | { |
197 | | - if (player.GetModData().role == Roles.Roles.Jester) __result = Language.Language.GetString("text.exile.jesterAddition"); |
198 | | - if (player == Roles.NeutralRoles.Cascrubinter.target) __result = Language.Language.GetString("text.exile.cascrubinterAddition"); |
| 204 | + if (player.GetModData().role == Roles.Roles.Jester){ |
| 205 | + __result = Language.Language.GetString("text.exile.jesterAddition"); |
| 206 | + return; |
| 207 | + } |
| 208 | + else if (player == Roles.NeutralRoles.Cascrubinter.target) __result = Language.Language.GetString("text.exile.cascrubinterAddition"); |
199 | 209 | } |
200 | 210 | } |
201 | 211 | } |
|
0 commit comments