Browse Source

Hookers partner alibi

Tigran 4 years ago
parent
commit
caf29929c3

+ 17 - 15
MafiaTelegramBot/Game/GameRooms/GameRoom.Role.cs

@@ -38,25 +38,27 @@ namespace MafiaTelegramBot.Game.GameRooms
             
             public virtual async Task Dispatch()
             {
-                await Room.PlayersCh.SendExcept(Player.Id, $"{strings.to_player} {Player.NickName} {strings.issued_posthumous_minute}");
-                await Bot.SendWithMarkdown2(Player.ChatId, strings.you_turn_say);
-                await SpeakAction(enableTimer: true);
-                await Kill();
+                if (Room.PlayersRole.ContainsKey(Roles.Hooker)
+                    && Room.PlayersRole[Roles.Hooker].Count == 1 
+                    && Room.PlayersRole[Roles.Hooker][0].CurrentRole.NightTargetId == Player.Id)
+                {
+                    await Room.PlayersCh.SendExcept(Player.Id, $"{strings.villagers_want_dispatch} {Player.NickName}, {strings.player_not_died_he_has_alibi}");
+                }
+                else
+                {
+                    await Room.PlayersCh.SendExcept(Player.Id, $"{strings.to_player} {Player.NickName} {strings.issued_posthumous_minute}");
+                    await Bot.SendWithMarkdown2(Player.ChatId, strings.you_turn_say);
+                    await SpeakAction(enableTimer: true);
+                    await Kill();
+                }
             }
 
             public virtual async Task Kill()
             {
-                if (Room.PlayersRole.ContainsKey(Roles.Hooker) &&
-                    Room.PlayersRole[Roles.Hooker].Count == 1 && !Room.IsDay)
-                {
-                    var hooker = Room.PlayersRole[Roles.Hooker][0];
-                    if (hooker.CurrentRole.NightTargetId == Player.Id) await hooker.CurrentRole.Kill();
-                    else
-                    {
-                        Player.IsAlive = false;
-                        await Bot.SendWithMarkdown2(Player.ChatId, strings.you_died);
-                    }
-                }
+                if (Room.PlayersRole.ContainsKey(Roles.Hooker)
+                    && Room.PlayersRole[Roles.Hooker].Count == 1
+                    && Room.PlayersRole[Roles.Hooker][0].CurrentRole.NightTargetId == Player.Id
+                    && !Room.IsDay) await Room.PlayersRole[Roles.Hooker][0].CurrentRole.Kill();
                 else
                 {
                     Player.IsAlive = false;

+ 6 - 0
MafiaTelegramBot/Resources/strings.Designer.cs

@@ -854,5 +854,11 @@ namespace MafiaTelegramBot {
                 return ResourceManager.GetString("you_have_eigty_seconds_to_defence", resourceCulture);
             }
         }
+        
+        internal static string player_not_died_he_has_alibi {
+            get {
+                return ResourceManager.GetString("player_not_died_he_has_alibi", resourceCulture);
+            }
+        }
     }
 }

+ 3 - 0
MafiaTelegramBot/Resources/strings.resx

@@ -423,4 +423,7 @@
     <data name="you_have_eigty_seconds_to_defence" xml:space="preserve">
         <value>У вас есть 90 секунд на оправдание</value>
     </data>
+    <data name="player_not_died_he_has_alibi" xml:space="preserve">
+        <value>но у него есть алиби</value>
+    </data>
 </root>