|
@@ -31,26 +31,36 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void SetActive()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "SetActive");
|
|
|
+
|
|
|
_lastActivity = DateTime.Now;
|
|
|
}
|
|
|
|
|
|
private TimeSpan GetLastActivityInterval()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "GetLastActivityInterval");
|
|
|
+
|
|
|
return DateTime.Now.Subtract(_lastActivity);
|
|
|
}
|
|
|
|
|
|
public bool IsInactive()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "IsInactive");
|
|
|
+
|
|
|
return GetLastActivityInterval().CompareTo(Constants.PLAYER_INACTIVE_INTERVAL) == 1 && !IsPlaying;
|
|
|
}
|
|
|
|
|
|
public string GetRoomName()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "GetRoomName");
|
|
|
+
|
|
|
return _roomName;
|
|
|
}
|
|
|
|
|
|
public bool SetRoomName(string roomName)
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "SetRoomName");
|
|
|
+
|
|
|
if (_roomName != "") return false;
|
|
|
_roomName = roomName;
|
|
|
return true;
|
|
@@ -58,6 +68,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public bool RemoveGame()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "RemoveGame");
|
|
|
+
|
|
|
if (_roomName == "") return false;
|
|
|
_roomName = "";
|
|
|
return true;
|
|
@@ -65,21 +77,29 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public override bool Equals(object? obj)
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "Equals");
|
|
|
+
|
|
|
return obj is Player player && player.Info.Id == Info.Id;
|
|
|
}
|
|
|
|
|
|
public Roles GetRole()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "GetRole");
|
|
|
+
|
|
|
return CurrentRole.RoleKey;
|
|
|
}
|
|
|
|
|
|
public string GetRoleName()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "GetRoleName");
|
|
|
+
|
|
|
return roles.ResourceManager.GetString(CurrentRole.RoleKey.ToString())!;
|
|
|
}
|
|
|
|
|
|
public void ResetState()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "ResetState");
|
|
|
+
|
|
|
CurrentRole = new NoneRole();
|
|
|
IsAlive = true;
|
|
|
IsSpeaker = true;
|
|
@@ -91,6 +111,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void BodyguardRoleAchievementEvent()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "BodyguardRoleAchievementEvent");
|
|
|
+
|
|
|
if (!OpenedRoles.Bodyguard)
|
|
|
{
|
|
|
Task.Run(async () =>
|
|
@@ -108,6 +130,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void NecromancerRoleAchievementEvent()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "NecromancerRoleAchievementEvent");
|
|
|
+
|
|
|
if (!OpenedRoles.Necromancer)
|
|
|
{
|
|
|
Task.Run(async () =>
|
|
@@ -125,6 +149,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void FoolRoleAchievementEvent()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "FoolRoleAchievementEvent");
|
|
|
+
|
|
|
if (!OpenedRoles.Fool)
|
|
|
{
|
|
|
Task.Run(async () =>
|
|
@@ -142,6 +168,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void JournalistAchievementEvent()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "JournalistAchievementEvent");
|
|
|
+
|
|
|
if (!OpenedRoles.Journalist)
|
|
|
{
|
|
|
Task.Run(async () =>
|
|
@@ -156,6 +184,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void DetectiveAchievementEvent()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "DetectiveAchievementEvent");
|
|
|
+
|
|
|
if (!OpenedRoles.Detective)
|
|
|
{
|
|
|
Task.Run(async () =>
|
|
@@ -174,6 +204,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void DameRoleAchievementEvent()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "DameRoleAchievementEvent");
|
|
|
+
|
|
|
Task.Run(async () =>
|
|
|
{
|
|
|
if (!OpenedRoles.Dame)
|
|
@@ -192,6 +224,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void ElderRoleAchievementEvent()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "ElderRoleAchievementEvent");
|
|
|
+
|
|
|
Task.Run(async () =>
|
|
|
{
|
|
|
if (!OpenedRoles.Elder)
|
|
@@ -210,6 +244,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void LawyerRoleAchievementEvent()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "LawyerRoleAchievementEvent");
|
|
|
+
|
|
|
if (!OpenedRoles.Lawyer)
|
|
|
{
|
|
|
Task.Run(async () =>
|
|
@@ -228,6 +264,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void WerewolfRoleAchievementEvent(int color, bool reset = false)
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "WerewolfRoleAchievementEvent");
|
|
|
+
|
|
|
if (!OpenedRoles.Werewolf)
|
|
|
{
|
|
|
Task.Run(async () =>
|
|
@@ -254,6 +292,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void HookerRoleAchievementEvent()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "HookerRoleAchievementEvent");
|
|
|
+
|
|
|
if (!OpenedRoles.Hooker)
|
|
|
{
|
|
|
Task.Run(async () =>
|
|
@@ -268,6 +308,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public async Task ParasiteRoleAchievementEvent(List<long> team)
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "ParasiteRoleAchievementEvent");
|
|
|
+
|
|
|
if (!OpenedRoles.Parasite)
|
|
|
{
|
|
|
await Task.Run(async () =>
|
|
@@ -314,6 +356,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
string BuildString(List<long> list)
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "BuildString");
|
|
|
+
|
|
|
if (list.Count == 0) return "";
|
|
|
var result = "";
|
|
|
foreach (var item in list) result += $"{item}|";
|
|
@@ -323,12 +367,16 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public void ResetParasiteProgress()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "ResetParasiteProgress");
|
|
|
+
|
|
|
Achievements.PlayerWinTeam = "";
|
|
|
Achievements.PlayerWinTeamTwo = "";
|
|
|
}
|
|
|
|
|
|
public char GetRank()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "GetRank");
|
|
|
+
|
|
|
return Info.RankNumber switch
|
|
|
{
|
|
|
<100 => 'a',
|
|
@@ -340,6 +388,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public int AddRankPoints()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "AddRankPoints");
|
|
|
+
|
|
|
switch (GetRank())
|
|
|
{
|
|
|
case 'a':
|
|
@@ -368,6 +418,8 @@ namespace MafiaTelegramBot.Game
|
|
|
|
|
|
public int SubtractRankPoints()
|
|
|
{
|
|
|
+ Logs.LogOut(GetType(), "SubtractRankPoints");
|
|
|
+
|
|
|
switch (GetRank())
|
|
|
{
|
|
|
case 'b':
|