Browse Source

dame opening role

zelpold 4 years ago
parent
commit
bb1c680860

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

@@ -78,5 +78,10 @@ namespace MafiaTelegramBot.DataBase.Entity
         {
             Detective = true;
         }
+
+        public void OpenDame()
+        {
+            Dame = true;
+        }
     }
 }

+ 2 - 0
MafiaTelegramBot/Game/GameRoles/HookerRole.cs

@@ -45,6 +45,8 @@ namespace MafiaTelegramBot.Game.GameRoles
 
                 if (Room.Players.ContainsKey(NightTargetId))
                     Room.Players[NightTargetId].CanBeBlockedNight = false;
+                if (Room.Players[NightTargetId].CurrentRole.RoleKey == Roles.Don) 
+                    Player.DameRoleAchievementEvent();
             }
         }
 

+ 20 - 1
MafiaTelegramBot/Game/Player.cs

@@ -224,7 +224,26 @@ namespace MafiaTelegramBot.Game
                 }
             });
         }
-        
+
+        public void DameRoleAchievementEvent()
+        {
+            Task.Run(async () =>
+            {
+                if (!OpenedRoles.Dame)
+                {
+                    Achievements.HaveSexWithDon++;
+                    if(Achievements.HaveSexWithDon == 5)
+                    {
+                        await Bot.SendWithMarkdown2(ChatId,
+                            $"{strings.congrats} {roles.Dame}! {strings.you_can_use}");
+                        await Bot.SendStickerAsync(ChatId, Stickers.Sticker[Roles.Dame.ToString()]);
+                        OpenedRoles.OpenDame();
+                    }
+                } 
+
+            });
+
+        }
 
         public void LawyerRoleAchievementEvent()
         {