浏览代码

Fool opening role

Tigran 4 年之前
父节点
当前提交
75e6ed2d54

+ 5 - 0
MafiaTelegramBot/DataBase/Entity/OpenedRolesEntity.cs

@@ -58,5 +58,10 @@ namespace MafiaTelegramBot.DataBase.Entity
         {
             Necromancer = true;
         }
+
+        public void OpenFool()
+        {
+            Fool = true;
+        }
     }
 }

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

@@ -75,6 +75,7 @@ namespace MafiaTelegramBot.Game.GameRooms
                     }
                     await Kill();
                     await Room.PlayersCh.Send($"({Player.TurnOrder}) {Player.NickName} {strings.dispatched}");
+                    if(RoleKey == Roles.Cop) Player.FoolRoleAchievementEvent();
                 }
             }
 

+ 11 - 4
MafiaTelegramBot/Game/Player.cs

@@ -147,12 +147,12 @@ namespace MafiaTelegramBot.Game
             Task.Run(async() =>
             {
                 Achievements.DoctorHeals++;
-                if (Achievements.DoctorHeals == 50)
+                if (Achievements.DoctorHeals == 10)
                 {
                     await Bot.SendWithMarkdown2(ChatId,
                         $"{strings.congrats} {roles.Bodyguard}! {strings.you_can_use}");
                     await Bot.SendStickerAsync(ChatId, Stickers.Sticker[Roles.Bodyguard.ToString()]);
-                    OpenedRoles.OpenNecromancer();
+                    OpenedRoles.OpenBodyguard();
                 }
             });
         }
@@ -177,11 +177,18 @@ namespace MafiaTelegramBot.Game
 
         public void FoolRoleAchievementEvent()
         {
-            Task.Run(() =>
+            Task.Run(async() =>
             {
                 if (!OpenedRoles.Fool)
                 {
-                    
+                    Achievements.CopDispatches++;
+                    if (Achievements.CopDispatches == 3)
+                    {
+                        await Bot.SendWithMarkdown2(ChatId,
+                            $"{strings.congrats} {roles.Fool}! {strings.you_can_use}");
+                        await Bot.SendStickerAsync(ChatId, Stickers.Sticker[Roles.Fool.ToString()]);
+                        OpenedRoles.OpenFool();
+                    }
                 } 
             });
         }