|
@@ -1,5 +1,6 @@
|
|
using System.Linq;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using System.Threading.Tasks;
|
|
|
|
+using MafiaTelegramBot.CustomCollections.Extensions;
|
|
using MafiaTelegramBot.Game.GameRooms;
|
|
using MafiaTelegramBot.Game.GameRooms;
|
|
using MafiaTelegramBot.Models;
|
|
using MafiaTelegramBot.Models;
|
|
using MafiaTelegramBot.Resources;
|
|
using MafiaTelegramBot.Resources;
|
|
@@ -38,21 +39,30 @@ namespace MafiaTelegramBot.Game.GameRoles
|
|
await Room.PlayersCh.EditTo(Player.Id, MessageId,
|
|
await Room.PlayersCh.EditTo(Player.Id, MessageId,
|
|
$"{strings.automatically_choosed_target} {Room.Players[NightTargetId].NickName}");
|
|
$"{strings.automatically_choosed_target} {Room.Players[NightTargetId].NickName}");
|
|
}
|
|
}
|
|
- var user = Room.Players[NightTargetId];
|
|
|
|
- NightTargetId = -1;
|
|
|
|
- KnownRoles.Add(user);
|
|
|
|
- var role = user.GetRole() is Roles.Cop
|
|
|
|
- ? roles.Cop
|
|
|
|
- : roles.Villager;
|
|
|
|
- await Room.PlayersCh.EditTo(Player.Id, MessageId,
|
|
|
|
- $"{strings.role_of_your_target} {user.NickName} - {role}");
|
|
|
|
|
|
+ var target = Room.Players.GetIfContains(NightTargetId);
|
|
|
|
+ if(target==null) await Room.PlayersCh.EditTo(Player.Id, MessageId, strings.this_player_left_from_game);
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ NightTargetId = -1;
|
|
|
|
+ KnownRoles.Add(target);
|
|
|
|
+ var role = target.GetRole() is Roles.Cop
|
|
|
|
+ ? roles.Cop
|
|
|
|
+ : roles.Villager;
|
|
|
|
+ await Room.PlayersCh.EditTo(Player.Id, MessageId,
|
|
|
|
+ $"{strings.role_of_your_target} {target.NickName} - {role}");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public override async Task SetNightTarget(long userId)
|
|
public override async Task SetNightTarget(long userId)
|
|
{
|
|
{
|
|
- NightTargetId = userId;
|
|
|
|
- await Room.PlayersCh.EditTo(Player.Id, MessageId, $"{strings.you_choose_target} {Room.Players[userId].NickName}");
|
|
|
|
|
|
+ var target = Room.Players.GetIfContains(userId);
|
|
|
|
+ if (target == null) await Room.PlayersCh.SendTo(Player.Id, strings.this_player_left_from_game);
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ NightTargetId = userId;
|
|
|
|
+ await Room.PlayersCh.EditTo(Player.Id, MessageId, $"{strings.you_choose_target} {target.NickName}");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
public override async Task SetMafiaTarget(long userId)
|
|
public override async Task SetMafiaTarget(long userId)
|
|
@@ -60,8 +70,14 @@ namespace MafiaTelegramBot.Game.GameRoles
|
|
if(userId == -1) await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, strings.you_skip_vote);
|
|
if(userId == -1) await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, strings.you_skip_vote);
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- MafiaTargetId = userId;
|
|
|
|
- await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId, $"{strings.you_choose_target} {Room.Players[userId].NickName}");
|
|
|
|
|
|
+ var target = Room.Players.GetIfContains(userId);
|
|
|
|
+ if (target == null) await Room.PlayersCh.SendTo(Player.Id, strings.this_player_left_from_game);
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ MafiaTargetId = userId;
|
|
|
|
+ await Room.PlayersCh.EditTo(Player.Id, MafiaMessageId,
|
|
|
|
+ $"{strings.you_choose_target} {target.NickName}");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|