Browse Source

werewolf opening part two

zelpold 4 years ago
parent
commit
5636f5e4a0

+ 9 - 3
MafiaTelegramBot/Game/GameRooms/GameRoom.GameProcess.cs

@@ -519,15 +519,15 @@ namespace MafiaTelegramBot.Game.GameRooms
                             if(player.CurrentRole.ColorRole == 1 && player.CurrentRole.RoleKey != Roles.Lawyer)
                             {
                                 UpdateWins(player);
+                                player.ParasiteRoleAchievementEvent(villagerTeam.ToList());
+                            }
+                            else player.ResetParasiteProgress();
                             if (player.CurrentRole.RoleKey == Roles.Werewolf)
                             {
                                 if (player.CurrentRole.ColorRole == 1)
                                     player.WerewolfRoleAchievementEvent(1);
                                 else player.WerewolfRoleAchievementEvent(2, true);
                             }
-                                player.ParasiteRoleAchievementEvent(villagerTeam.ToList());
-                            }
-                            else player.ResetParasiteProgress();
                         }
                         else
                         {
@@ -537,6 +537,12 @@ namespace MafiaTelegramBot.Game.GameRooms
                                 player.ParasiteRoleAchievementEvent(mafiaTeam.ToList());
                             }
                             else player.ResetParasiteProgress();
+                            if (player.CurrentRole.RoleKey == Roles.Werewolf)
+                            {
+                                if (player.CurrentRole.ColorRole == 2)
+                                    player.WerewolfRoleAchievementEvent(2);
+                                else player.WerewolfRoleAchievementEvent(1, true);
+                            }
                         }
 
                         if (player.CurrentRole.ColorRole == 3)

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

@@ -83,6 +83,7 @@ namespace MafiaTelegramBot.Game.GameRooms
                     && PlayersRole[Roles.Parasite].Count == 1
                     && ((ParasiteRole) PlayersRole[Roles.Parasite][0].CurrentRole).ParentId == player.Id)
                     await PlayersRole[Roles.Parasite][0].CurrentRole.Kill();
+                if (player.CurrentRole.RoleKey==Roles.Werewolf) player.WerewolfRoleAchievementEvent(0,true);
             }
             player.ResetState();
         }

+ 6 - 4
MafiaTelegramBot/Game/Player.cs

@@ -286,10 +286,11 @@ namespace MafiaTelegramBot.Game
 
         public void WerewolfRoleAchievementEvent(int color, bool reset = false)
         {
-            Task.Run(async () =>
+            if (!OpenedRoles.Werewolf)
             {
-                if (!OpenedRoles.Werewolf)
+                Task.Run(async () =>
                 {
+
                     if (reset)
                     {
                         Achievements.PreviousGameWinColor = 0;
@@ -306,8 +307,9 @@ namespace MafiaTelegramBot.Game
                     {
                         Achievements.PreviousGameWinColor = color;
                     }
-                } 
-            });
+
+                });
+            }
         }
         
         public void ParasiteRoleAchievementEvent(List<long> team)