|
@@ -24,11 +24,24 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
public readonly ManualResetEvent VoteEvent = new(false);
|
|
|
protected int MessageId = -1;
|
|
|
public abstract Roles RoleKey { get; }
|
|
|
- public abstract Task NightAction();
|
|
|
- public abstract Task ApplyNightActionResult();
|
|
|
- public abstract Task CancelNightActionResult(string message);
|
|
|
+ public virtual Task NightAction() { return Task.CompletedTask; }
|
|
|
+ public virtual Task ApplyNightActionResult() { return Task.CompletedTask; }
|
|
|
+
|
|
|
+ public async Task CancelNightActionResult(string message)
|
|
|
+ {
|
|
|
+ await Bot.EditMessageAsync(Player.ChatId, MessageId, strings.activity_blocked);
|
|
|
+ NightTargetId = -1;
|
|
|
+ MessageId = -1;
|
|
|
+ await Bot.SendWithMarkdown2(Player.ChatId, message);
|
|
|
+ }
|
|
|
+ public virtual Task SetNightTarget(long userId) { return Task.CompletedTask; }
|
|
|
|
|
|
- public abstract Task<Message> SetNightTarget(long userId);
|
|
|
+ public virtual async Task Dispatch()
|
|
|
+ {
|
|
|
+ await Room.PlayersCh.SendExcept(Player.Id, $"{strings.to_player} {Player.NickName} {strings.issued_posthumous_minute}");
|
|
|
+ await OneMinuteSpeak();
|
|
|
+ await Player.Kill();
|
|
|
+ }
|
|
|
|
|
|
protected Role(GameRoom room, Player player)
|
|
|
{
|
|
@@ -40,13 +53,6 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
{
|
|
|
return NightTargetId;
|
|
|
}
|
|
|
-
|
|
|
- public virtual async Task Dispatch()
|
|
|
- {
|
|
|
- await Room.PlayersCh.SendExcept(Player.Id, $"{strings.to_player} {Player.NickName} {strings.issued_posthumous_minute}");
|
|
|
- await OneMinuteSpeak();
|
|
|
- await Player.Kill();
|
|
|
- }
|
|
|
|
|
|
public async Task OneMinuteSpeak()
|
|
|
{
|