Skip to content

Commit 474b9af

Browse files
authored
Merge pull request #45 from Hyz-sui/feature/EvilHackerColor-H
イビルハッカーのメッセージで無人の部屋をグレー色に着色する
2 parents 2c53b44 + 02f660e commit 474b9af

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Roles/Impostor/EvilHacker.cs

+22
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ public override void OnReportDeadBody(PlayerControl reporter, GameData.PlayerInf
119119
var builder = new StringBuilder(512);
120120

121121
// 送信するメッセージを生成
122+
var previous = -1;
122123
foreach (var admin in admins)
123124
{
124125
var entry = admin.Value;
@@ -131,6 +132,24 @@ public override void OnReportDeadBody(PlayerControl reporter, GameData.PlayerInf
131132
{
132133
builder.Append(ImpostorMark);
133134
}
135+
// 色分けは無人をスキップしない場合のみ
136+
if (!skipUnoccupiedRooms)
137+
{
138+
switch (previous, entry.TotalPlayers)
139+
{
140+
// 1部屋目で今の部屋が無人の場合
141+
case (-1, 0):
142+
// 前の部屋が有人で今の部屋が無人の場合
143+
case ( > 0, 0):
144+
// グレー
145+
builder.Append(GrayTag);
146+
break;
147+
// 前の部屋が無人で今の部屋が有人の場合
148+
case (0, > 0):
149+
builder.Append(ColorCloseTag);
150+
break;
151+
}
152+
}
134153
// 部屋名と合計プレイヤー数を表記
135154
builder.Append(DestroyableSingleton<TranslationController>.Instance.GetString(entry.Room));
136155
builder.Append(": ");
@@ -142,6 +161,7 @@ public override void OnReportDeadBody(PlayerControl reporter, GameData.PlayerInf
142161
builder.Append('×').Append(entry.NumDeadBodies).Append(')');
143162
}
144163
builder.Append('\n');
164+
previous = entry.TotalPlayers;
145165
}
146166

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

273295
private readonly struct MurderNotify
274296
{

0 commit comments

Comments
 (0)