Tigran 4 years ago
parent
commit
5b789b0cc9

+ 6 - 2
MafiaTelegramBot/Game/GameRooms/GameRoom.GameProcess.cs

@@ -1,3 +1,4 @@
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading;
@@ -238,12 +239,12 @@ namespace MafiaTelegramBot.Game.GameRooms
                     switch (contenders.Count)
                     {
                         case 1:
-                            await VoteUpList[0].CurrentRole.Dispatch();
+                            await contenders[0].CurrentRole.Dispatch();
                             break;
                         case > 1:
                             await DefencePhase(contenders);
                             contenders = await CalculateCandidates();
-                            if (contenders.Count == 1) await VoteUpList[0].CurrentRole.Dispatch();
+                            if (contenders.Count == 1) await contenders[0].CurrentRole.Dispatch();
                             else await PlayersCh.Send(strings.villagers_could_not_decide);
                             break;
                         default:
@@ -272,11 +273,14 @@ namespace MafiaTelegramBot.Game.GameRooms
             var max = votes.Max(item => item.count);
             var maxObjects = votes.Where(item => item.count == max);
             result.AddRange(maxObjects.Select(obj => Players[obj.id]));
+            VoteUpList.Clear();
+            VoteKillList.Clear();
             return result.ToList();
         }
 
         private async Task PutUpVote(long playerId, long targetId, int messageId, bool toKill = false)
         {
+            Console.WriteLine(targetId);
             var player = Players[playerId];
             if (targetId == 0)
             {

+ 1 - 0
MafiaTelegramBot/Game/GameRooms/GameRoom.Role.cs

@@ -102,6 +102,7 @@ namespace MafiaTelegramBot.Game.GameRooms
                     Keyboard.VoteKeyboard(alivePlayers, Player.Id, !Player.IsFirst));
                 voteTimer.Elapsed += async (_, _) =>
                 {
+                    Console.WriteLine("this");
                     if (Player.IsFirst) await Room.PutUpVote(Player.Id, Player.Id, message.MessageId);
                     else await Room.PutUpVote(Player.Id, 0, message.MessageId);
                     VoteActionComplete.Set();