Skip to content

Commit

Permalink
Merge pull request #45 from Hyz-sui/feature/EvilHackerColor-H
Browse files Browse the repository at this point in the history
イビルハッカーのメッセージで無人の部屋をグレー色に着色する
  • Loading branch information
Hyz-sui authored Mar 16, 2024
2 parents 2c53b44 + 02f660e commit 474b9af
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions Roles/Impostor/EvilHacker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ public override void OnReportDeadBody(PlayerControl reporter, GameData.PlayerInf
var builder = new StringBuilder(512);

// 送信するメッセージを生成
var previous = -1;
foreach (var admin in admins)
{
var entry = admin.Value;
Expand All @@ -131,6 +132,24 @@ public override void OnReportDeadBody(PlayerControl reporter, GameData.PlayerInf
{
builder.Append(ImpostorMark);
}
// 色分けは無人をスキップしない場合のみ
if (!skipUnoccupiedRooms)
{
switch (previous, entry.TotalPlayers)
{
// 1部屋目で今の部屋が無人の場合
case (-1, 0):
// 前の部屋が有人で今の部屋が無人の場合
case ( > 0, 0):
// グレー
builder.Append(GrayTag);
break;
// 前の部屋が無人で今の部屋が有人の場合
case (0, > 0):
builder.Append(ColorCloseTag);
break;
}
}
// 部屋名と合計プレイヤー数を表記
builder.Append(DestroyableSingleton<TranslationController>.Instance.GetString(entry.Room));
builder.Append(": ");
Expand All @@ -142,6 +161,7 @@ public override void OnReportDeadBody(PlayerControl reporter, GameData.PlayerInf
builder.Append('×').Append(entry.NumDeadBodies).Append(')');
}
builder.Append('\n');
previous = entry.TotalPlayers;
}

// 送信
Expand Down Expand Up @@ -269,6 +289,8 @@ private void Inherit()
private static readonly string ImpostorMark = "★".Color(Palette.ImpostorRed);
/// <summary>相方がキルしたときに名前の下に通知を表示する長さ</summary>
private static readonly TimeSpan NotifyDuration = TimeSpan.FromSeconds(10);
private const string GrayTag = "<color=#777>";
private const string ColorCloseTag = "</color>";

private readonly struct MurderNotify
{
Expand Down

0 comments on commit 474b9af

Please sign in to comment.