|
@@ -38,6 +38,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
{
|
|
{
|
|
var player = _turnOrder.Dequeue();
|
|
var player = _turnOrder.Dequeue();
|
|
if(!player.IsPlaying) continue;
|
|
if(!player.IsPlaying) continue;
|
|
|
|
+ await PlayersCh.Send($"{strings.now_turn} \\({player.TurnOrder}\\) {player.NickName}");
|
|
await player.CurrentRole.OneMinuteSpeak();
|
|
await player.CurrentRole.OneMinuteSpeak();
|
|
if (firstPlayer != null && player.IsPlaying) _turnOrder.Enqueue(player);
|
|
if (firstPlayer != null && player.IsPlaying) _turnOrder.Enqueue(player);
|
|
else firstPlayer = player;
|
|
else firstPlayer = player;
|
|
@@ -113,7 +114,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
var player = _turnOrder.Dequeue();
|
|
var player = _turnOrder.Dequeue();
|
|
if(!player.IsPlaying || !player.IsAlive) continue;
|
|
if(!player.IsPlaying || !player.IsAlive) continue;
|
|
if (firstPlayer == null) player.IsFirst = true;
|
|
if (firstPlayer == null) player.IsFirst = true;
|
|
- await PlayersCh.Send($"{strings.now_turn} {player.NickName}");
|
|
|
|
|
|
+ await PlayersCh.Send($"{strings.now_turn} \\({player.TurnOrder}\\) {player.NickName}");
|
|
await player.CurrentRole.OneMinuteSpeak();
|
|
await player.CurrentRole.OneMinuteSpeak();
|
|
await player.CurrentRole.VotingAction();
|
|
await player.CurrentRole.VotingAction();
|
|
if (player.IsFirst) firstPlayer = player;
|
|
if (player.IsFirst) firstPlayer = player;
|
|
@@ -147,6 +148,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
await Task.Run(async () =>
|
|
await Task.Run(async () =>
|
|
{
|
|
{
|
|
long killedPlayerId = -1;
|
|
long killedPlayerId = -1;
|
|
|
|
+ var mafiaNotAgree = "";
|
|
foreach (var (role, players) in PlayersRole)
|
|
foreach (var (role, players) in PlayersRole)
|
|
{
|
|
{
|
|
if (role is Roles.Mafia)
|
|
if (role is Roles.Mafia)
|
|
@@ -157,7 +159,11 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
.ToList();
|
|
.ToList();
|
|
var max = votes.Max(item => item.count);
|
|
var max = votes.Max(item => item.count);
|
|
var maxCount = votes.Count(item => item.count == max);
|
|
var maxCount = votes.Count(item => item.count == max);
|
|
- if (maxCount != 1) continue;
|
|
|
|
|
|
+ if (maxCount > 1)
|
|
|
|
+ {
|
|
|
|
+ mafiaNotAgree = $"\n{strings.mafia_not_agree}";
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
var selected = votes.First(item => item.count == max);
|
|
var selected = votes.First(item => item.count == max);
|
|
if (selected.id == -1) continue;
|
|
if (selected.id == -1) continue;
|
|
killedPlayerId = selected.id;
|
|
killedPlayerId = selected.id;
|
|
@@ -174,6 +180,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
var message = strings.city_wakes_up;
|
|
var message = strings.city_wakes_up;
|
|
if (killedPlayerId != -1 && !Players[killedPlayerId].IsAlive) message += $"{strings.at_this_night} {Players[killedPlayerId].NickName}";
|
|
if (killedPlayerId != -1 && !Players[killedPlayerId].IsAlive) message += $"{strings.at_this_night} {Players[killedPlayerId].NickName}";
|
|
else message += strings.everyone_survived;
|
|
else message += strings.everyone_survived;
|
|
|
|
+ message += mafiaNotAgree;
|
|
await PlayersCh.SendSticker(Stickers.Sticker["Day"]);
|
|
await PlayersCh.SendSticker(Stickers.Sticker["Day"]);
|
|
await PlayersCh.Send(message);
|
|
await PlayersCh.Send(message);
|
|
});
|
|
});
|