Conversation
投票先を「Secom_Target」に指定。
OnFixedUpdateを使い、投票先のTargetを死亡を検知 →今回はとりあえず、仮でメッセージ処理
1.5秒ごとのインターバルで全員へのフラッシュ処理 回数カウントを減少させる処理
アウトでしょ…商標登録されてますし… 名前の前に*は翻訳の日本語が不足してるから英語翻訳を表示してるからです |
|
・キルフラッシュは複数回鳴らすとややこしくなると思うので1回のみに |
・「m」が足りなかったのを修正
Secom_Target を secomTarget にリネーム
(なんか漏れがあったらすみません、)
余計なコードの削除
|
https://github.com/KYMario/TownOfHost-K/pull/9/files#r2202814343 で言及されてる部分の修正だけお願いします。 |
yurinakira
left a comment
There was a problem hiding this comment.
以下も合わせて変更しましょう。
ブランチ名変えるのは少し手間になるのでPR本文に名称変更の旨記載しておけば変更漏れはないかなと
・PRタイトル
・PR本文(名称変更の記載をする)
・ファイル名(Roles/Crewmate/Secom.cs)
| OptionMaxMonitoring = FloatOptionItem.Create(RoleInfo, 10, Option.MaxMonitoring, new(0f, 99f, 1f), 1f, false) | ||
| .SetValueFormat(OptionFormat.Times); | ||
| OptAwakening = BooleanOptionItem.Create(RoleInfo, 10, GeneralOption.TaskAwakening, false, false); | ||
| OptAwakeningTaskCount = FloatOptionItem.Create(RoleInfo, 11, GeneralOption.AwakeningTaskcount, new(0f, 255f, 1f), 5f, false, OptAwakening); |
There was a problem hiding this comment.
IntegerOptionItemを使うべきでは?(引数の数字の後ろの"f"も取り忘れずに)
@Yoran-Furan
以下既存実装箇所で、IntegerOptionItemではなくFloatOptionItemを使っている理由ってありますか?
TownOfHost-K/Roles/Crewmate/Bait.cs
Line 47 in 2dc2bdf
時間やスピード系は小数点以下があるからFloatで
タスク数は現状整数のみの認識なので、今後小数点で管理される予定とか?
There was a problem hiding this comment.
OptAwakeningで覚醒ON/OFFできるならOptAwakeningTaskCountの最低値は0じゃなくて1でいいのでは?
Roles/Crewmate/Secom.cs
Outdated
| ) | ||
| { | ||
| ObserverTarget = byte.MaxValue; | ||
| RemainingMonitoring = (int)OptionMaxMonitoring.GetFloat(); // 初期回数設定(float→int) |
There was a problem hiding this comment.
46lで指摘していますが、元々のOptionMaxMonitoringをIntegerで受け取ってしまえば良いのと、
キャスト型変換はよろしくないので、
GetFloat()ではなくGetInt()で素直に取ってきましょう。
| CustomRoles.Observer, | ||
| () => RoleTypes.Crewmate, | ||
| CustomRoleTypes.Crewmate, | ||
| 999999, //(仮) |
|
id重複など結構問題ありましたが、こちら側でなんとかしたので次バージョンで実装いたします。 |
Observer(オブザーバー)
※名前修正していますSecom→Observer
陣営:クルーメイト陣営
判定:クルーメイト
_______________
<役職説明>
会議中に自分が投票したPlayerを
「監視対象」として登録し、
そのPlayerが死亡した時に全員に
Kill フラッシュを発生させるクルーメイト役職。
_______________
<仕様説明>
会議中にObserver が投票した相手が「監視対象(ObserverTarget)」になる
監視対象が死亡すると、1.5秒間隔で最大3回 Killフラッシュを全員に表示
その後、監視対象をリセットし、監視回数(RemainingMonitoring)を1減少
監視回数が 0 の場合、それ以降は新たな監視対象を設定できなくなる
_______________
<今後の拡張案>
フラッシュ回数/フラッシュ間隔の設定
死亡者の部屋を会議中に通知
複数人監視可能にする
_______________
お手すきの際にご確認のほど、よろしくお願いいたします!!