|
@@ -3,7 +3,9 @@ using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using System.Threading.Tasks;
|
|
using System.Timers;
|
|
using System.Timers;
|
|
using MafiaTelegramBot.Game.GameRoles;
|
|
using MafiaTelegramBot.Game.GameRoles;
|
|
|
|
+using MafiaTelegramBot.Models;
|
|
using MafiaTelegramBot.Resources;
|
|
using MafiaTelegramBot.Resources;
|
|
|
|
+using Telegram.Bot.Types;
|
|
|
|
|
|
namespace MafiaTelegramBot.Game.GameRooms
|
|
namespace MafiaTelegramBot.Game.GameRooms
|
|
{
|
|
{
|
|
@@ -88,7 +90,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
await PlayersRole[Roles.Parasite][0].CurrentRole.Kill();
|
|
await PlayersRole[Roles.Parasite][0].CurrentRole.Kill();
|
|
if (player.CurrentRole.RoleKey==Roles.Werewolf) player.WerewolfRoleAchievementEvent(0,true);
|
|
if (player.CurrentRole.RoleKey==Roles.Werewolf) player.WerewolfRoleAchievementEvent(0,true);
|
|
}
|
|
}
|
|
- if (IsRanking) player.SubtractRankPoints();
|
|
|
|
|
|
+ if (IsRanking) await Bot.SendWithMarkdown2(player.ChatId, $"{strings.you_lost} {player.SubtractRankPoints()} {strings.points}");
|
|
player.ResetState();
|
|
player.ResetState();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -107,23 +109,26 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
return await Task.FromResult(Owner.GetRank());
|
|
return await Task.FromResult(Owner.GetRank());
|
|
}
|
|
}
|
|
|
|
|
|
- private void SumRankingPoints(Player player, bool mafiaWins)
|
|
|
|
|
|
+ private static Task<Message> SumRankingPoints(Player player, bool mafiaWins)
|
|
{
|
|
{
|
|
- if (player.CurrentRole.ColorRole == 3)
|
|
|
|
|
|
+ return player.CurrentRole.ColorRole switch
|
|
{
|
|
{
|
|
- if (player.CurrentRole.IsWon().Result != "") player.AddRankPoints();
|
|
|
|
- else player.SubtractRankPoints();
|
|
|
|
- }
|
|
|
|
- else if (player.CurrentRole.ColorRole == 1 && player.GetRole() != Roles.Lawyer)
|
|
|
|
- {
|
|
|
|
- if (!mafiaWins) player.AddRankPoints();
|
|
|
|
- else player.SubtractRankPoints();
|
|
|
|
- }
|
|
|
|
- else if (player.CurrentRole.ColorRole == 2 || player.CurrentRole.RoleKey == Roles.Lawyer)
|
|
|
|
- {
|
|
|
|
- if (mafiaWins) player.AddRankPoints();
|
|
|
|
- else player.SubtractRankPoints();
|
|
|
|
- }
|
|
|
|
|
|
+ 3 when player.CurrentRole.IsWon().Result != "" => Bot.SendWithMarkdown2(player.ChatId,
|
|
|
|
+ $"{strings.you_got} {player.AddRankPoints()} {strings.points}"),
|
|
|
|
+ 3 => Bot.SendWithMarkdown2(player.ChatId,
|
|
|
|
+ $"{strings.you_lost} {player.SubtractRankPoints()} {strings.points}"),
|
|
|
|
+ 1 when player.GetRole() != Roles.Lawyer && mafiaWins => Bot.SendWithMarkdown2(player.ChatId,
|
|
|
|
+ $"{strings.you_lost} {player.SubtractRankPoints()} {strings.points}"),
|
|
|
|
+ 1 when player.GetRole() == Roles.Lawyer && mafiaWins => Bot.SendWithMarkdown2(player.ChatId,
|
|
|
|
+ $"{strings.you_got} {player.AddRankPoints()} {strings.points}"),
|
|
|
|
+ 1 => Bot.SendWithMarkdown2(player.ChatId,
|
|
|
|
+ $"{strings.you_got} {player.AddRankPoints()} {strings.points}"),
|
|
|
|
+ 2 when mafiaWins => Bot.SendWithMarkdown2(player.ChatId,
|
|
|
|
+ $"{strings.you_got} {player.AddRankPoints()} {strings.points}"),
|
|
|
|
+ 2 => Bot.SendWithMarkdown2(player.ChatId,
|
|
|
|
+ $"{strings.you_lost} {player.SubtractRankPoints()} {strings.points}"),
|
|
|
|
+ _ => Task.FromResult(new Message())
|
|
|
|
+ };
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|