|
@@ -38,25 +38,27 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
|
|
|
public virtual async Task Dispatch()
|
|
|
{
|
|
|
- await Room.PlayersCh.SendExcept(Player.Id, $"{strings.to_player} {Player.NickName} {strings.issued_posthumous_minute}");
|
|
|
- await Bot.SendWithMarkdown2(Player.ChatId, strings.you_turn_say);
|
|
|
- await SpeakAction(enableTimer: true);
|
|
|
- await Kill();
|
|
|
+ if (Room.PlayersRole.ContainsKey(Roles.Hooker)
|
|
|
+ && Room.PlayersRole[Roles.Hooker].Count == 1
|
|
|
+ && Room.PlayersRole[Roles.Hooker][0].CurrentRole.NightTargetId == Player.Id)
|
|
|
+ {
|
|
|
+ await Room.PlayersCh.SendExcept(Player.Id, $"{strings.villagers_want_dispatch} {Player.NickName}, {strings.player_not_died_he_has_alibi}");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ await Room.PlayersCh.SendExcept(Player.Id, $"{strings.to_player} {Player.NickName} {strings.issued_posthumous_minute}");
|
|
|
+ await Bot.SendWithMarkdown2(Player.ChatId, strings.you_turn_say);
|
|
|
+ await SpeakAction(enableTimer: true);
|
|
|
+ await Kill();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public virtual async Task Kill()
|
|
|
{
|
|
|
- if (Room.PlayersRole.ContainsKey(Roles.Hooker) &&
|
|
|
- Room.PlayersRole[Roles.Hooker].Count == 1 && !Room.IsDay)
|
|
|
- {
|
|
|
- var hooker = Room.PlayersRole[Roles.Hooker][0];
|
|
|
- if (hooker.CurrentRole.NightTargetId == Player.Id) await hooker.CurrentRole.Kill();
|
|
|
- else
|
|
|
- {
|
|
|
- Player.IsAlive = false;
|
|
|
- await Bot.SendWithMarkdown2(Player.ChatId, strings.you_died);
|
|
|
- }
|
|
|
- }
|
|
|
+ if (Room.PlayersRole.ContainsKey(Roles.Hooker)
|
|
|
+ && Room.PlayersRole[Roles.Hooker].Count == 1
|
|
|
+ && Room.PlayersRole[Roles.Hooker][0].CurrentRole.NightTargetId == Player.Id
|
|
|
+ && !Room.IsDay) await Room.PlayersRole[Roles.Hooker][0].CurrentRole.Kill();
|
|
|
else
|
|
|
{
|
|
|
Player.IsAlive = false;
|