Tigran 4 年之前
父節點
當前提交
45bd2b7d48
共有 2 個文件被更改,包括 11 次插入9 次删除
  1. 7 6
      MafiaTelegramBot/Game/GameRoles/BodyguardRole.cs
  2. 4 3
      MafiaTelegramBot/Game/GameRoles/HookerRole.cs

+ 7 - 6
MafiaTelegramBot/Game/GameRoles/BodyguardRole.cs

@@ -19,7 +19,6 @@ namespace MafiaTelegramBot.Game.GameRoles
 
         public override async Task ApplyNightActionResult()
         {
-            
             if (NightTargetId == -1)
                 await Bot.EditMessageAsync(Player.ChatId, MessageId, strings.you_have_not_choosen_target);
             else
@@ -35,11 +34,13 @@ namespace MafiaTelegramBot.Game.GameRoles
             
         }
         public override async Task SetNightTarget(long userId) 
-        { 
-            NightTargetId = userId;
-            var target = Room.Players[userId];
-            await Bot.SendWithMarkdown2(target.ChatId, strings.bodyguard_protected_you);
-            await Bot.EditMessageAsync(Player.ChatId, MessageId, $"{strings.you_choose_target} {Room.Players[userId].NickName}");
+        {
+            if (userId == -1) await Room.PlayersCh.EditTo(Player.Id, MessageId, strings.you_skip_vote);
+            else
+            {
+                NightTargetId = userId;
+                await Room.PlayersCh.EditTo(Player.Id, MessageId, $"{strings.you_choose_target} {Room.Players[userId].NickName}");
+            }
         }
         public BodyguardRole(GameRoom room, Player player) : base(room, player) { }
     }

+ 4 - 3
MafiaTelegramBot/Game/GameRoles/HookerRole.cs

@@ -41,14 +41,15 @@ namespace MafiaTelegramBot.Game.GameRoles
             }
         }
 
-        public override async Task Kill()
+        public override Task Kill()
         {
             if (NightTargetId != -1 && !Room.IsDay)
             {
                 var target = Room.Players[NightTargetId];
-                if (target.CurrentRole.RoleKey != Roles.Mafia) await target.CurrentRole.Kill();
+                if (target.CurrentRole.RoleKey != Roles.Mafia)target.IsAlive = false;
             }
-            await base.Kill();
+            Player.IsAlive = false;
+            return Task.CompletedTask;
         }
 
         public HookerRole(GameRoom room, Player player) : base(room, player) { }