Tigran 4 years ago
parent
commit
068d49c3a4

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

@@ -245,8 +245,8 @@ namespace MafiaTelegramBot.Game.GameRooms
                 foreach (var (role, players) in PlayersRole)
                 {
                     if (role is Roles.Mafia)
-                        foreach (var mafia in players.Where(p=>p.IsAlive)) await mafia.CurrentRole.ApplyNightActionResult();
-                    else if (players.Count == 1 && players[0].IsAlive) await players[0].CurrentRole.ApplyNightActionResult();
+                        foreach (var mafia in players) await mafia.CurrentRole.ApplyNightActionResult();
+                    else if (players.Count == 1) await players[0].CurrentRole.ApplyNightActionResult();
                 }
                 var afterKill = Players.Values.ToDictionary(p=>p.Id,p=>p.IsAlive);
                 var message = strings.city_wakes_up;

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

@@ -80,24 +80,15 @@ namespace MafiaTelegramBot.Game.GameRooms
 
             public virtual async Task Kill()
             {
-                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;
+                if (Room.PlayersRole.ContainsKey(Roles.Parasite)
+                    && Room.PlayersRole[Roles.Parasite].Count == 1
+                    && ((ParasiteRole) Room.PlayersRole[Roles.Parasite][0].CurrentRole).ParentId == Player.Id)
                 {
-                    Player.IsAlive = false;
-                    if (Room.PlayersRole.ContainsKey(Roles.Parasite)
-                        && Room.PlayersRole[Roles.Parasite].Count == 1
-                        && ((ParasiteRole) Room.PlayersRole[Roles.Parasite][0].CurrentRole).ParentId == Player.Id)
-                    {
-                        await Room.PlayersRole[Roles.Parasite][0].CurrentRole.Kill();
-                        if(Room.IsDay) await Room.PlayersCh.Send($"{strings.for_unknown_reasons_died} {Room.PlayersRole[Roles.Parasite][0].NickName}");
-                        await Room.PlayersCh.SendTo(Room.PlayersRole[Roles.Parasite][0].Id,
-                            strings.your_carrier_player_has_died);
-                    }
-                        
+                    await Room.PlayersRole[Roles.Parasite][0].CurrentRole.Kill();
+                    if(Room.IsDay) await Room.PlayersCh.Send($"{strings.for_unknown_reasons_died} {Room.PlayersRole[Roles.Parasite][0].NickName}");
+                    await Room.PlayersCh.SendTo(Room.PlayersRole[Roles.Parasite][0].Id,
+                        strings.your_carrier_player_has_died);
                 }
             }