目次
追加役職一覧
- Extreme Roles v12.1.2.0時点、今後も追加予定
ホスト役職
- シオン
通常役職
クルー | インポスター | ニュートラル |
---|---|---|
スペシャルクルー | スペシャルインポスター | アリス |
シェリフ | エボルバー | ジャッカル |
メンテナー | キャリアー | サイドキック |
ニート | サイコキラー | タスクマスター |
ウォッチドッグ | バウンティハンター | ミッショナリー |
スーパーバイザー | ペインター | ジェスター |
ボディーガード | フェイカー | ヤンデレ |
ウィスパー | オーバーローダー | 妖狐 |
タイムマスター | クラッカー | マイナー |
エージェンシー | ボマー | イーター |
パン屋 | メリー | クイーン |
カースメーカー | スレイヴドライバー | サーヴァント |
フェンサー | サンドワーム | トトカルチョ |
オープナー | スマッシャー | マッドメイト |
カーペンター | アサルトマスター | アンブレイヤー |
サバイバー | シューター | ドール |
キャプテン | ラストウルフ | ハッター |
フォトグラファー | コマンダー | アーティスト |
デリュージョナー | ヒプノティスト | ロォーブレーカー |
リザレクター | アンダーワーパー | タッカー |
ギャンブラー | マジシャン | キメラ |
テレポーター | ゾンビ | アイアンメイト |
モデレーター | スライム | モニカ |
サイキック | シーフ | ヴィジランテ |
ベイト | クルーシュルーム | ワルガキ |
ジェイラー | テロリスト | トレイター |
ヤードバード | レイダー | |
サモナー | グリッチ | |
マーリン | ハイジャッカー | |
ヒーロー | タイムブレーカー | |
探偵 | アサシン | |
助手 | シェアーズ | |
見習い探偵 | ヴィラン | |
バディーズ | ||
ラバーズ | ||
サポーター | ||
ゲッサー | ||
ムーバー | ||
アクセラレーター | ||
スケーター |
幽霊役職
クルー | インポスター | ニュートラル |
---|---|---|
ファウヌス | サボり魔 | フォラス |
ポルターガイスト | ベントガイスト | ウィスプ |
シャッター | イグナイター | |
ドッペルゲンガー |
- 「トレイター」はニュートラルですが、役職アサイン時クルーのアサイン枠を消費します
「ニート」と「ラバーズ」はオプション設定によりニュートラルにもなります。(デフォルトはクルー)
「ラバーズ」、「サポーター」、「ゲッサー」、「ムーバー」、「アクセラレーター」と「スケーター」はオプション設定によりインポスターにもなります。(デフォルトはクルー)
「サイドキック」と「見習い探偵」、「サーヴァント」、「ドール」、「ヤードバード」、「ロォーブレーカー」、「キメラ」はゲーム開始時にはアサインされず、条件を満たした時にアサインされます
幽霊役職は公式の幽霊役職(守護天使)とも併用が可能です
- 「マーリン」と「アサシン」、「ヒーロー」と「ヴィラン」と「ヴィジランテ」、「探偵」と「助手」、「ワルガキ」と「ウィスプ」は一対の関係です
役職の区分け
- このMODは生きている人に割り当てられる役職の通常役職と幽霊役職が存在しており、通常役職は一人で完結しているソロ役職と複数人一組のコンビネーション役職に分けられる
通常役職
- ソロ役職
- 能力やバランス的に1人で完結している役職(メンテナー、シェリフなど)
- コンビネーション役職
- 能力やバランスの関係で複数人一組になっている役職(マーリンとアサシン、ラバーなど)と確率で陣営が変化する役職もここに含まれる
- 幽霊役職とソロ役職のコンビネーション役職も存在してる
幽霊役職
- 幽霊になった時にアサインされる役職群
- 幽霊役職と通常役職は別管理
- 例としてマーリン + スーパーバイザーが死亡して、守護天使にアサインされたとする
- MOD内ではその人はマーリンとスーパーバイザー、守護天使の役職を持つ人として管理されます
- 例としてマーリン + スーパーバイザーが死亡して、守護天使にアサインされたとする
- 同じ陣営の幽霊役職にしかアサインされない
- 例:元インポスター => クルーの幽霊役職にアサインされない
- 役職表示及び投票先は全陣営一括で見えない(クライアントオプションで有効化してても無効化されます)
- アサインされた人は会議中に天使のアイコンが付く(ゲームオプションで切り替え化)
- アサインされる元役職の指定がある場合があります
- コンビ役職で複数の役職にアサインされている場合、一番上の物を参照します
- 例:ラバーズ + サイドキックの場合、ラバーズを参照します
- コンビ役職で複数の役職にアサインされている場合、一番上の物を参照します
- 生存役職と幽霊役職のコンビ役職も存在します
- 名前の色表示は幽霊役職と生存時の色を混ぜた色になります
- 役職名は「幽霊役職名(生存時の役職名)」になります
- 能力のクールタイムは基本的に60秒、最小15~最大120秒で設定可
- コミュサボ中は能力が全陣営一括で使用できない
幽霊役職の能力発動後の会議でどの役職がどんな能力を使ったのかを報告されるv3.0.0.0以降各幽霊役職に能力発動の報告のオンオフのオプションが実装され切り替えが可能になりました(デフォルトは報告されるようになっています)
共通オプション
通常役職
共通設定事項として以下のオプションがあります。
- 役職のアサイン数
- 視界設定
キル能力を持つ役職の共通設定事項として以下のオプションがあります。
- キルクール
- キルレンジ
ボタンによって能力を発動させる役職の共通設定事項として以下のオプションがあります。
- 能力のクールタイム
- 能力の発動時間(発動時間があるもののみ)
- 能力が使える回数(上限があるもののみ)
これらのオプションは各役職ごとそれぞれコード上に記載されているわけではなく、自動生成されるオプションです
そのため、これらのオプションはデフォルト値が必ずしもその役職の正常なバランスの設定になっている訳ではありません(どんな能力を持つ役職でも妥当だと思うデフォルトの値が自動で代入されています)
v1.14.0.0より、能力のクールタイムのデフォルト設定値はすべての通常役職で30秒、能力の発動時間に関しては開発者的にバランスが取れているであろう値がデフォルトの設定値になっています。
各役職に存在する範囲のオプションの数値について
- 距離:1.0:キルレンジショートと同じ
- 距離:1.8:キルレンジミドルと同じ
- 距離:2.5:キルレンジロングと同じ
幽霊役職
共通設定事項として以下のオプションがあります。
- 役職のアサイン数
- 能力のクールタイム(デフォルト60秒)
- 能力の発動時間(発動時間があるもののみ) これらのオプションは各役職ごとそれぞれコード上に記載されているわけではなく、自動生成されるオプションです
役職の割り当て
通常役職の場合
ExRの役職の割り当ては電子ガチャと似たような方式で行われています、詳細は以下のとおりです
- Among Usバニラの役職の割り当てが行われる
- MOD役職の陣営の割り当て人数を決定
- MOD役職の中から使われる役職を決定
- ここで各陣営とコンビネーション役職のアサインプール(抽選箱)が作成される
- 作成方法は以下の通り
- アサイン数分スポーン確率の抽選を行い当たったものをプールに入れる
- アサインプールを「アサインウェイト」に基づいたシャッフルを行う
- このときアサインプールのから一つのランダムな配列へ変更します
- これにより、アサインプールの最初を取ったとしてもランダムな役職になります
- また「アサインウェイト」を用いることで大きいウェイトを持つ役職が先頭に並びやすくなるため割り当てされやすくなります
- シャッフルのアルゴリズムは以下の通り
- 「アサインウェイト」で降順のソート(並び替え)
- 同じ「アサインウェイト」同士でランダムソート
- これにより、アサインプールの最初を取ったとしてもランダムな役職になります
- このときアサインプールのから一つのランダムな配列へ変更します
- コンビネーション役職の割り当てを行う
- コンビネーション役職の割り当ては以下の通り
- アサインプールの最初の役職から順番に割り当てられる(陣営的、割り当て人数、「ロールアサインフィルター」等のチェック)かを確認
- 割り当てられたら「ロールアサインフィルター」や残りの割り当て人数を更新
- コンビネーション役職の割り当ては以下の通り
- バニラの役職にアサインされている人をバニラの役職をラップする役職にアサインする
- インポスター役職の割り当てを行う
- インポスター役職の割り当ては以下の通り
- インポスターのプレイヤーを取得
- アサインプールの最初の役職から順番に割り当てられる(陣営的、割り当て人数、「ロールアサインフィルター」等のチェック)かを確認
- 割り当てられたら「ロールアサインフィルター」や残りの割り当て人数を更新
- インポスター役職の割り当ては以下の通り
- ニュートラル役職の割り当てを行う
- ニュートラル役職の割り当ては以下の通り
- バニラのクルーのプレイヤーからランダムにニュートラルになるプレイヤーを陣営の割り当て人数分を取得
- アサインプールの最初の役職から順番に割り当てられる(陣営的、割り当て人数、「ロールアサインフィルター」等のチェック)かを確認
- 割り当てられたら「ロールアサインフィルター」や残りの割り当て人数を更新
- ニュートラル役職の割り当ては以下の通り
- クルー役職の割り当てを行う
- クルー役職の割り当ては以下の通り
- 残りのクループレイヤーに対してアサインプールの最初の役職から順番に割り当てられる(陣営的、割り当て人数、「ロールアサインフィルター」等のチェック)かを確認
- 割り当てられたら「ロールアサインフィルター」や残りの割り当て人数を更新
- クルー役職の割り当ては以下の通り
- アサインされていない人をバニラの役職をラップする役職にアサインする
バニラの役職(エンジニアやシェイプシフター等)にアサインされているプレイヤーはMOD役職にアサインされません
ただし、コンビネーション役職の「別役職の能力を持つ」が有効になっている場合のみコンビネーション役職にアサインされる可能性があります。
幽霊役職の場合
- 生存時の役職を確認
- ニュートラル等でオプションにブロックされている場合、バニラの幽霊役職のアサインをスキップ
- バニラの幽霊役職割り当て
- バニラの幽霊役職にアサインされている人をバニラの幽霊役職をラップする幽霊役職にアサインする(それ以外は4へ)
- コンビ役職の人をそのコンビ役職の幽霊役職にアサインする(それ以外は6へ)
-
ExRの幽霊役職の割り当てを行う
- 各種アサインに使用されるデータは通常役職のアサイン時に作成される
- 割り当て時にスポーン数、スポーン率、生存時の役職がその幽霊役職になるかどうかもチェックされます
- 幽霊役職のスポーン数の上限に引っかかってる場合はコンビ役職でもアサインされないです
- 幽霊役職の割り当ては生存役職のキルされた時の処理より先にアサインされます
-
以下は処理例です処理例です
- ラバーズの片割れキル
- その人の死亡処理
- 幽霊役職アサイン処理(クルーの幽霊役職にアサインされます)
- ラバーズの同時キル処理(ラバーズのニュートラルに覚醒する場合はここで実行される)
高度な役職の割り当て
「ロールアサインフィルター」(v7.1.2.0実装)や「アサインウェイト」(v7.1.2.0実装)を使用することでより細かな高度な役職の割り当て方法を使用することが出来ます
ロールアサインフィルター
この機能を使用することで使用することで全ての役職の組み合わせセットや特定の役職がアサインされていると他の役職がアサインされない等のルールを作ることが可能になります
- 例1:以下の設定の場合、「ジャッカルとサイドキック」と「クイーン」は片方ずつ、「リザレクター」と「ゾンビ」は片方ずつアサインされます。
- フィルター 1
- アサイン数1 : ジャッカルとサイドキック、クイーン
- フィルター2
- アサイン数1 : リザレクター、ゾンビ
- フィルター 1
- 例2:以下の設定の場合、「シェリフ」と「スペシャルクルー」、「リザレクター」のうち2役職がアサインされます
- フィルター 1
- アサイン数2 : シェリフ、スペシャルクルー、リザレクター
- フィルター 1
アサインウェイト
すべての役職には「アサインウェイト」というオプションが存在しており その値によって役職のアサインに対してウェイトを設定することが出来ます このアサインウェイトの値に基づきアサインプールからのランダム抽出が行われます
役職のこのオプションの値が高い場合は優先的に、低い場合は優先度が下がり、同じ場合は同じ値同士の役職と同じ優先度になります
- 例1:以下の設定の場合、「キャプテン」が優先的にアサインされます
- シェリフ:100% アサインウェイト:500、キャプテン:100% ウェイト:1000
- 例2:以下の設定の場合、オバロが抽選された場合は優先的にアサインされ、メリーが最低保証役職になります(オバロではない場合、メリーになる)
- オバロ 10% ウェイト1000、メリー 100% ウェイト1
開発者向け情報
通常役職のオプションの仕様
役職のアサイン数、視界及びキル関連の設定は役職を作った際に継承するクラスがもつ非仮想関数のインターフェースメソッドで作成(NVIパターン)を行っているため、継承したクラスで特に何もせずとも生成されます。
能力ボタン関連のオプションはインターフェースの拡張メソッドを呼び出すことで実装を完全に隠蔽化しています。(隠蔽することができる)
能力ボタンに関しては引数で設定できるようにしても良かったかもしれません
幽霊役職の実装仕様
デザイン
- 幽霊役職
- オブジェクト指向
- デザインパターン:NVI(None Virtual Interface) + インターフェースパターン
- 基本的に幽霊役職へのアクセスは非仮想関数のメソッドとインターフェースによる共通実装によるアクセスを行っています
- 呼び出し側は基本的に幽霊役職の内部を気にしない実装になっております
- 幽霊役職の管理
- デザインパターン:シングルトンパターン
- 幽霊役職の管理用のクラスに実際にゲーム内に使用されてる役職やアクセス用のメソッドを用意しています
- デザインパターン:シングルトンパターン
クラスダイアグラム
- 黒矢印がHas、白矢印がExtrendです