Git Product home page Git Product logo

extremeroles's People

Contributors

aoirint avatar fangkuaiya avatar fivefirex avatar mokabe-yn avatar niccori250k avatar sakurander avatar yuhgao avatar yukieiji avatar zemingoh233 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

extremeroles's Issues

マッシュルーム / Mushroom

役職名 / Role Name

マッシュルーム / Mushroom

役職の色 / Role color

黄緑 / Lime

役職の説明 / Role description

接触キルされたら、胞子を振りまくぞ!
船内を胞子でいっぱいにしたら勝ち

役職の能力 / Role ability

接触キル(ショート、ミドル、ロング問わず)された瞬間、胞子を発射する。
NOTSのエンパイリックのように全員うつすとシュルーム陣営が勝利する。
また、会議を3回挟むとその人の胞子は消えてしまう。しかしその人も再度感染することがあるので接触には注意しよう。
1試合に1体だけジャッカルのサイドキックように「シュルームキッド / Mycelium」を作ることが可能。
シュルームキッドは昇格しないが、マッシュルームのように接触キルで胞子を発射する。

他陣営への影響 / Effect on other teams

ヴァンパイアなど遠隔キルを行う役職にキルされた場合、胞子を発射せずに死亡してしまう。
胞子は陣営を問わず接触した瞬間に胞子を増殖させることが可能。
感染したクルーに対してキルをおこなっても胞子がキルした側に移るのでシュルーム陣営にとっては問題なし。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

会議が起きる程強くなるインポスター

役職名 / Role Name

アサルトマスター

役職の色 / Role color

役職の説明 / Role description

キルをリロードして一発逆転が可能な役職、インポスターにも「○○マスター」が欲しかった
FPSでカチャカチャリロードして撃つタイプの銃がモチーフ
何度も会議をする場合が多い卓用に

役職の能力 / Role ability

※能力名「バレットリロード&コッキング」

・「リロード」ボタンとパッシブの「コッキング」能力がある
・会議が始まるとバレットを1つ入手する
・「コッキング」バレットがある状態でキルをするとバレットを1つ消費してキルクール減少、重複はしない
・「リロード」発動すると所持しているバレットを全消費し、消費数に応じてキルクールを一時的に短縮
・「リロード」に初期クールは無いがキルした場合クール発生
・バレットの所持数が一定を超えるとキルした後の「リロード」のクールダウン減少

※メリット

・会議を挟めば挟む程強くなるので終盤に逆転を狙いやすい
・キルがあまり得意じゃなくても潜伏して後半動けば活躍出来る
・能力がそこまでややこしくない
・会議終了後にリロードして即座にキルが可能

※デメリット

・キル直後にリロードして2連キル!は難しい
・リロードは規定回数ボタンが押されないと使えない(設定次第)
・アサシンの特殊会議等ではバレットが増加しない
・序盤はほぼ能力無し

※設定可能な項目(内容)

「リロードが最初から使えるかどうか」(初期設定オフ)
「キル後にリロードが可能になる秒数」(初期値10、10~20)
「リロードのクールダウン減少までに必要なバレット数」(初期値3、1~5)
「リロード解放に必要なボタン消費数」(初期値3、1~6)
「コッキング時の減少キルクール」(初期値2、1~3)
「リロード時のバレット1個辺りの減少キルクール」(初期値3、2~6)

他陣営への影響 / Effect on other teams

・ジャッカル、シェリフ、他キル役職にある程度強い(クール差で先手を取れる)
・会議が起きる度強化されるのでボタンを押す事に少し躊躇が起きる

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

[ニュートラル陣営] : 親役職&子役職(子役職のみキル能力持ち。名称含めて議論中)

役職名 / Role Name

マインドハッカー
バーサーカー

※名前はそれぞれ原案のもの。現在は新しい名称を考えている

役職の色 / Role color

ともに暗めの赤

役職の説明 / Role description

マインドハッカー:他人をバーサーカーにして「やっちゃえ、バーサーカー!」するニュートラル陣営
バーサーカー:マインドハッカーの勝利のために動くニュートラル陣営

役職の能力 / Role ability

マインドハッカーの能力

能力を発動することでバーサーカー以外の他のプレイヤー1人を対象に、そのプレイヤーの役職を「バーサーカー」に変更する。この効果は無効化されず、対象になったプレイヤーは必ずバーサーカーになる。また、自分が作成したバーサーカーをすべて把握する。
この能力は1度使用すると会議が終わるまで再発動できない。
マインドハッカーはキルボタンを持たず、サボタージュ発動もできない。ベントも使用不可能。

固有設定項目
バーサーカー作成回数上限

バーサーカーの能力

バーサーカーはキルボタンを常に所持しており、自分を生み出したマインドハッカー以外全員をキル可能。バーサーカーになる前に持っていた役職は全て失われる。
バーサーカーは自分を作成したマインドハッカーは把握するが、同じマインドハッカーによって作成された別のバーサーカーは把握できず、キルできてしまう。
バーサーカーはサボタージュを発動できず、ベントも使えない。
自分を作成したマインドハッカーが死亡してもバーサーカーはマインドハッカーにはならない。

固有設定項目
なし

勝利条件

A:以下の条件をすべて満たした場合、マインドハッカーとバーサーカーが勝利する。
①生存者が「マインドハッカーと、そのマインドハッカーによって作成されたバーサーカー」以外全員が無害な役職であること
②生存者のうち「マインドハッカーと、そのマインドハッカーによって作成されたバーサーカー」が半数以上であること

B:上記以外での勝利条件を議論中

他陣営への影響 / Effect on other teams

ジャッカル&サイドキックと異なり、昇格が起きない代わりに親となるマインドハッカーの発見が難しい役職。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

イエティ:インポスター役職

役職名 / Role Name

イエティ

役職の色 / Role color

※インポスター役職

役職の説明 / Role description

クルーを凍らせて殺すインポスター陣営の役職

  • 勝利条件:インポスター陣営の勝利条件
  • プレイヤーを凍らせることができる。
    →能力の内容は"役職の能力"にて

役職の能力 / Role ability

  • 凍らせる
    →対象のプレイヤーを凍らせる。
    (プレイヤーを凍らせる度、設定された秒数クールタイムが伸びる。)
    ※キルボタンのクールタイムと同期させるかは要検討

  • 凍ったプレイヤー

    • 動けない。
    • キルボタンと能力ボタンを押せない。
    • 死体の通報や、緊急会議ボタンを押すことができない。
    • 条件を満たすと死ぬ。
      • 凍ってから設定された秒数(初期設定12秒)が経つ。
      • 会議がおこなわれる。
      • インポスター陣営以外の全てプレイヤーが凍る。
  • 凍ったプレイヤーを助ける方法

    • イエティ以外の設定された人数(初手設定2人)の凍っていないプレイヤーが凍ったプレイヤーに密接する。
    • そのプレイヤーを凍らせたイエティをキルする。
  • 能力のメリット・デメリット
    (今までこういう能力がなかった為、憶測ですが)

  • メリット

    • 凍らせた時とキルが別タイミングなので自分のキルだとバレにくい。
  • デメリット

    • 凍らせたプレイヤーに自分がインポスター陣営だとバレる。(サボタージュ等で軽減できる。)

他陣営への影響 / Effect on other teams

多人数でいることが増える

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

役職被り機能の希望

追加する機能の詳細 / Feature details
クルーやインポスター等に割り振られる役職に加えて
属性としてもう一つ役職が付与される機能

機能を追加するメリット / Benefits of adding features
既存の役職でとられる事のなかった動きが見れるようになる、かも

このような感じでしょうか?

カスタムネームプレート

追加する機能の詳細 / Future details

  • 自分で作ったネームプレートをExtreme Hatの様なデータロード、ダウンロード、チェック機能

機能を追加するメリット / Benefits of adding features

  • 自分で作ったネームプレートで遊べる

呪術師:クルー役職

役職名 / Role Name

呪術師

役職の色 / Role color

紫系統

役職の説明 / Role description

死体を消費して呪いをかけ、インポスターなどのキル役職を弱体化させる

役職の能力 / Role ability

呪術:
・ショートレンジ内の死体1体に対して使用
 ・使用可能回数はオプションで変更できる
・死体を削除する代わりに以下の能力を両方発動
 1. その死体をキルした人物のキルクールタイムを増加させる
  ・クールタイムの増加は永続
  ・クールタイムの増加量はオプションで変更できる
  ・死体を消すのにかかる時間はオプションで変更できる
 2. その死体をキルした人物のキルボタンをクールダウン状態にする
  ・既にクールダウン中の場合は、カウントが最大値に戻る

・メリット:インポスターのキル速度を落とせる
・デメリット:死体を通報せずに消す。そもそも死体を発見しないと発動できない

怨念感知:
・1ゲーム中に1度だけ自動的に発動
・死後長時間経過している死体1つの位置が矢印で表示される
 ・長時間=1分以上のイメージ
 ・時間はオプションで変更できる

・メリット:死体を発見しないと何も出来ないデメリットの軽減
・デメリット:デメリット軽減用の能力なので特になし

他陣営への影響 / Effect on other teams

・クルーへのメリット
 ・インポスターからキルされにくくなる
・クルーへのデメリット
 ・死体を消される
 ・エボルバーと呪術師の区別が必要になる

・インポスターへのメリット
 ・死体を消してもらえる
・インポスターへのデメリット
 ・キルしにくくなる

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

スマッシャー:インポスター役職

役職名 / Role Name

スマッシャー

役職の色 / Role color

インポスター色

役職の説明 / Role description

1度だけキルクールの無いキルボタン「スマッシュ(SMASH)」を使えるインポスター陣営
設定が少なく複雑性が無いシンプルなのがテーマ

役職の能力 / Role ability

設定詳細:

  • 説明文の通り、通常のキルとは別のキルボタン「スマッシュ」を追加
  • 通常のキルボタンとは一切連動しない
  • 使用回数は1回(設定変更不可)
  • ロビーでの設定変更は「スポーン数」のみとする

メリット:

  • 二人組を狙う事が可能
  • 別のキルボタン持ちとの撃ち合いで必勝が可能
  • 通常キルクールよりも早い会議ボタンより早くキルが可能
  • ラバーズ読みで通常キル、違うならもう1名をスマッシュキルという作戦も可能
  • 通常キルのクール明け前に死体に近付く人への対策としても有効
  • 終盤に一人でダブルキルをして勝利を狙う事も可能

デメリット:

  • 上記のメリットは全て1回限定
  • スマッシュキルを発動後は普通のインポスターと同じになる
  • スマッシュキルは通常キルと同じくタイムマスターやフェンサーの能力には勝てない
  • 序盤に使用すると終盤で使えば勝てる場面で使えない
  • 終盤に使用しようと抱え落ちして使えない事も

複雑で設定の多い役職が多く説明も長くなる事が多いので
逆に一言で説明できる役職なんてどうでしょうと案を投稿しました。
元ネタはスマブラの「最後の切り札」

クローズされた「サムライ」と非常に似ていますが
「シンプル」「わかりやすい」「誰でも簡単に能力を使える」
この点は魅力的だと思います。

他陣営への影響 / Effect on other teams

  • 通常キルと同じく死体は残るので推理で吊る事が可能
  • スマッシャーの能力発動を確定出来ない場合、常にスマッシュキルを警戒しなければならない

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

[ニュートラル陣営] : トレイター

役職名 / Role Name

トレイター

役職の色 / Role color

紫色

役職の説明 / Role description

クルー役職の肩書と能力を持ちキルが出来る第三陣営

役職の能力 / Role ability

  • 試合開始時に「トレイター(クルー役職名)」と表示させる
    • そのクルー役職は設定されたスポーン数以上にならない
    • 例:シェリフが設定で1ならトレイターシェリフを引くとクルーシェリフはスポーンしない
  • キルとベントは可能、サボタージュは不可能
    • キルはジャッカルと同様に普通のキル行為とする
    • サボタージュはジャッカル陣営も使えないので同様に使えないように
  • 能力「与えられた白役職の能力を使う」
    • 例1:タイムマスタートレイターならタイムシールドを使用可能
    • 例2:メンテナートレイターなら緊急修理を使用可能
    • 例3:パン屋トレイターなら通常通り会議後の告知が出る
    • 例4:ニートトレイターならアドミンやカメラが見えなくなる

勝利条件

インポスター及びキル能力を持つニュートラルが全滅しており、生存者の半数以上が同じ陣営。

他陣営への影響 / Effect on other teams

対抗が出ない騙りが絶対通るのでクルー陣営の役職COの信頼度を大きく下げます
能力も使えるので能力での白証明も出来なくなる
インポスター陣営からトレイター陣営にはならないので、ジャッカル&サイドキックよりは脅威度は下がります

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

要確認

  • クルー役職を使えるようにするか肩書だけにするか
    • 肩書だけの場合、別の能力を考える必要があると思う
  • シェリフトレイターの場合の処理をどうするか
    • シェリフのキルボタンとトレイターのキルボタンの二つを表示させる
    • シェリフのキルボタンはトレイターなら全員キル可能の状態にする

[クルー&第三陣営]死人の役職を引き継ぐ「サクセサー」(ラギさん案)

役職名 / Role Name

サクセサー

役職の色 / Role color

ピンク

役職の説明 / Role description

ラギさん考案、TORのシフターを死人からコピーという形でリメイク
意味合いは[後継者]

役職の能力 / Role ability

クルー陣営ver.

・会議中に死亡したプレイヤーを指定して役職をコピーする(代案 タスクターンに死亡済みプレイヤーリストを開いてコピー)
・コピーの反映タイミングは選択した瞬間
・能力の使用回数はそのまま反映される
・クルー陣営以外、及びコンビ役職を選ぶと素クルーになる

デメリット(模索中)
・緊急招集ボタンを押す事が出来ない
・引き継ぎをしたサクセサーはタスクが追加される(ノーマル2、3個程度を想定)
・役職を引き継いだ事は全プレイヤーに通知される、その場合[サクセサーが○○(役職名)を引き継いだ!]的な文章が出る

第三陣営ver.(クルーとの相違点)

・生存しても何もコピーしなかった場合敗北
・コピー後はコピーした役職の勝利条件と同じになる
・コピーする前に死亡した場合素クルーを選んだ時と同じになる
・コンビ役職を選んだ場合素クルーか素インポスターになる(第三はクルー)
・タスクのある役職をコピーした場合、全体の平均値から新しく割り振られる

設定でクルー役職or第三陣営役職を切り替えられる(ニートと同設定)

他陣営への影響 / Effect on other teams

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

AmongUs v2022.03.29 対応状況

MODのAmongUs v2022.03.29への対応状況

Extreme Roles

  • 現状ゲームを起動するとMOD自体のロードにも失敗する

    • MODのパッチを当てる処理に失敗している模様
      • 以下失敗箇所
        [HarmonyPatch(typeof(IntroCutscene), nameof(IntroCutscene.SetUpRoleText))]
        class IntroCutsceneSetUpRoleTextPatch
        {
        public static void Postfix(IntroCutscene __instance)
        {
        var role = ExtremeRoleManager.GetLocalPlayerRole();
        if (!role.IsVanillaRole())
        {
        __instance.YouAreText.color = role.NameColor;
        __instance.RoleText.text = role.GetColoredRoleName();
        __instance.RoleText.color = role.NameColor;
        __instance.RoleBlurbText.text = role.GetIntroDescription();
        __instance.RoleBlurbText.color = role.NameColor;
        if (role.Id == ExtremeRoleId.Lover) { return; }
        if (role is Roles.API.MultiAssignRoleBase)
        {
        if (((Roles.API.MultiAssignRoleBase)role).AnotherRole != null)
        {
        __instance.RoleBlurbText.fontSize *= 0.45f;
        }
        }
        if (role.IsImpostor())
        {
        __instance.RoleBlurbText.text +=
        $"\n{Helper.Translation.GetString("impostorIntroText")}";
        }
        else if (role.IsCrewmate() && role.HasTask)
        {
        __instance.RoleBlurbText.text +=
        $"\n{Helper.Translation.GetString("crewIntroText")}";
        }
        }
        }

        [HarmonyPatch(typeof(CreateOptionsPicker), nameof(CreateOptionsPicker.Start))]
        public class CreateOptionsPickerPatch
        {
        public static void Postfix(CreateOptionsPicker __instance)
        {
        int numImpostors = Math.Clamp(__instance.GetTargetOptions().NumImpostors, 1, 3);
        __instance.SetImpostorButtons(numImpostors);
        }
        }
  • その他仕様変更に伴う軽微な修正が必要だと思われる

  • パッチの修正が完了すれば対応自体は容易であると思われる

Extreme Skins

  • Extreme Rolesのロードに失敗しているためロードに失敗する
    • Extreme Skinsの起動のロードまわりに不具合がないことは確認
  • AmongUs側でハット及びネームプレートまわりの仕様が大幅に変更されていることを確認
    • 各種データのロードには全く影響がないが今実装されているロードしたデータをゲーム内に反映するロジックが全体的に使えなくなっていることを確認しています
      • 主な修正が必要な箇所
        public HatBehaviour GetHatBehaviour()
        {
        if (this.behaviour != null) { return this.behaviour; }
        loadAllHatResources();
        this.behaviour = new HatBehaviour();
        this.behaviour.name = Helper.Translation.GetString(this.Name);
        this.behaviour.Order = Order;
        this.behaviour.ProductId = this.id;
        this.behaviour.InFront = !this.hasBack;
        this.behaviour.NoBounce = !this.isBounce;
        this.behaviour.ChipOffset = new Vector2(0f, 0.2f);
        this.behaviour.Free = true;
        this.behaviour.NotInStore = true;
        this.behaviour.MainImage = this.frontImage;
        if (this.hasBack)
        {
        this.behaviour.BackImage = this.backImage;
        }
        if (this.hasClimb)
        {
        this.behaviour.ClimbImage = this.climbImage;
        }
        if (this.hasShader)
        {
        foreach (HatBehaviour h in DestroyableSingleton<HatManager>.Instance.AllHats)
        {
        if (h.AltShader != null)
        {
        this.behaviour.AltShader = h.AltShader;
        break;
        }
        }
        }
        return this.behaviour;
        }

        public NamePlateData GetNamePlateData()
        {
        if (this.namePlate != null) { return this.namePlate; }
        this.image = loadNamePlateSprite(this.imgPath);
        this.namePlate = new NamePlateData();
        this.namePlate.Image = this.image;
        this.namePlate.name = Helper.Translation.GetString(this.Name);
        this.namePlate.Order = Order;
        this.namePlate.ProductId = this.id;
        this.namePlate.ChipOffset = new Vector2(0f, 0.2f);
        this.namePlate.Free = true;
        this.namePlate.NotInStore = true;
        return this.namePlate;
        }

        public class HatsTabPatch
        {
        public static TMPro.TMP_Text textTemplate;
        private static List<TMPro.TMP_Text> hatsTabCustomText = new List<TMPro.TMP_Text>();
        private static float inventoryTop = 1.5f;
        private static float inventoryBot = -2.5f;
        private const string innerslothPackageName = "innerslothHats";
        private const float headerSize = 0.8f;
        private const float headerX = 0.8f;
        private const float inventoryZ = -2f;
        [HarmonyPrefix]
        [HarmonyPatch(typeof(HatsTab), nameof(HatsTab.OnEnable))]
        public static bool HatsTabOnEnablePrefix(HatsTab __instance)
        {
        inventoryTop = __instance.scroller.Inner.position.y - 0.5f;
        inventoryBot = __instance.scroller.Inner.position.y - 4.5f;
        HatBehaviour[] unlockedHats = DestroyableSingleton<HatManager>.Instance.GetUnlockedHats();
        Dictionary<string, List<HatBehaviour>> hatPackage = new Dictionary<string, List<HatBehaviour>>();
        destroyList(hatsTabCustomText);
        destroyList(__instance.ColorChips.ToArray().ToList());
        hatsTabCustomText.Clear();
        __instance.ColorChips.Clear();
        textTemplate = PlayerCustomizationMenu.Instance.itemName;
        foreach (HatBehaviour hatBehaviour in unlockedHats)
        {
        CustomHat hat;
        bool result = ExtremeHatManager.HatData.TryGetValue(
        hatBehaviour.ProductId, out hat);
        if (result)
        {
        if (!hatPackage.ContainsKey(hat.Author))
        {
        hatPackage.Add(hat.Author, new List<HatBehaviour>());
        }
        hatPackage[hat.Author].Add(hatBehaviour);
        }
        else
        {
        if (!hatPackage.ContainsKey(innerslothPackageName))
        {
        hatPackage.Add(innerslothPackageName, new List<HatBehaviour>());
        }
        hatPackage[innerslothPackageName].Add(hatBehaviour);
        }
        }
        float yOffset = __instance.YStart;
        var orderedKeys = hatPackage.Keys.OrderBy((string x) => {
        if (x == innerslothPackageName)
        {
        return 0;
        }
        else
        {
        return 100;
        }
        });
        foreach (string key in orderedKeys)
        {
        createHatTab(hatPackage[key], key, yOffset, __instance);
        yOffset = (yOffset - (headerSize * __instance.YOffset)) - (
        (hatPackage[key].Count - 1) / __instance.NumPerRow) * __instance.YOffset - headerSize;
        }
        __instance.scroller.ContentYBounds.max = -(yOffset + 3.0f + headerSize);
        return false;
        }
        [HarmonyPostfix]
        [HarmonyPatch(typeof(HatsTab), nameof(HatsTab.Update))]
        public static void HatsTabUpdatePostfix(HatsTab __instance)
        {
        // Manually hide all custom TMPro.TMP_Text objects that are outside the ScrollRect
        foreach (TMPro.TMP_Text customText in hatsTabCustomText)
        {
        if (customText != null && customText.transform != null && customText.gameObject != null)
        {
        bool active = customText.transform.position.y <= inventoryTop && customText.transform.position.y >= inventoryBot;
        float epsilon = Mathf.Min(
        Mathf.Abs(customText.transform.position.y - inventoryTop),
        Mathf.Abs(customText.transform.position.y - inventoryBot));
        if (active != customText.gameObject.active && epsilon > 0.1f)
        {
        customText.gameObject.SetActive(active);
        }
        }
        }
        }
        private static void createHatTab(
        List<HatBehaviour> hats, string packageName, float yStart, HatsTab __instance)
        {
        float offset = yStart;
        if (textTemplate != null)
        {
        TMPro.TMP_Text title = UnityEngine.Object.Instantiate<TMPro.TMP_Text>(
        textTemplate, __instance.scroller.Inner);
        title.transform.parent = __instance.scroller.Inner;
        title.transform.localPosition = new Vector3(headerX, yStart, inventoryZ);
        title.alignment = TMPro.TextAlignmentOptions.Center;
        title.fontSize *= 1.25f;
        title.fontWeight = TMPro.FontWeight.Thin;
        title.enableAutoSizing = false;
        title.autoSizeTextContainer = true;
        title.text = Helper.Translation.GetString(packageName);
        offset -= headerSize * __instance.YOffset;
        hatsTabCustomText.Add(title);
        }
        int numHats = hats.Count;
        for (int i = 0; i < numHats; i++)
        {
        HatBehaviour hat = hats[i];
        float xpos = __instance.XRange.Lerp(
        (i % __instance.NumPerRow) / (__instance.NumPerRow - 1f));
        float ypos = offset - (i / __instance.NumPerRow) * __instance.YOffset;
        ColorChip colorChip = UnityEngine.Object.Instantiate<ColorChip>(
        __instance.ColorTabPrefab, __instance.scroller.Inner);
        int color = __instance.HasLocalPlayer() ? PlayerControl.LocalPlayer.Data.DefaultOutfit.ColorId : SaveManager.BodyColor;
        colorChip.transform.localPosition = new Vector3(xpos, ypos, inventoryZ);
        if (ActiveInputManager.currentControlType == ActiveInputManager.InputType.Keyboard)
        {
        colorChip.Button.OnMouseOver.AddListener(
        (UnityEngine.Events.UnityAction)(() => __instance.SelectHat(hat)));
        colorChip.Button.OnMouseOut.AddListener(
        (UnityEngine.Events.UnityAction)(
        () => __instance.SelectHat(DestroyableSingleton<HatManager>.Instance.GetHatById(SaveManager.LastHat))));
        colorChip.Button.OnClick.AddListener(
        (UnityEngine.Events.UnityAction)(() => __instance.ClickEquip()));
        }
        else
        {
        colorChip.Button.OnClick.AddListener((UnityEngine.Events.UnityAction)(() => __instance.SelectHat(hat)));
        }
        colorChip.Inner.SetHat(hat, color);
        colorChip.Inner.transform.localPosition = hat.ChipOffset;
        colorChip.Tag = hat;
        colorChip.Button.ClickMask = __instance.scroller.Hitbox;
        __instance.ColorChips.Add(colorChip);
        }
        }

        public class NameplatesTabPatch
        {
        private static TMPro.TMP_Text textTemplate;
        private static List<TMPro.TMP_Text> namePlateTabCustomText = new List<TMPro.TMP_Text>();
        private static float inventoryTop = 1.5f;
        private static float inventoryBot = -2.5f;
        private const string innerslothPackageName = "innerslothNamePlate";
        private const float headerSize = 0.8f;
        private const float headerX = 0.8f;
        private const float inventoryZ = -2f;
        [HarmonyPrefix]
        [HarmonyPatch(typeof(NameplatesTab), nameof(NameplatesTab.OnEnable))]
        public static bool NameplatesTabOnEnablePrefix(NameplatesTab __instance)
        {
        inventoryTop = __instance.scroller.Inner.position.y - 0.5f;
        inventoryBot = __instance.scroller.Inner.position.y - 4.5f;
        NamePlateData[] unlockedNamePlate = DestroyableSingleton<HatManager>.Instance.GetUnlockedNamePlates();
        Dictionary<string, List<NamePlateData>> namePlatePackage = new Dictionary<string, List<NamePlateData>>();
        destroyList(namePlateTabCustomText);
        destroyList(__instance.ColorChips.ToArray().ToList());
        namePlateTabCustomText.Clear();
        __instance.ColorChips.Clear();
        textTemplate = PlayerCustomizationMenu.Instance.itemName;
        foreach (NamePlateData hatBehaviour in unlockedNamePlate)
        {
        CustomNamePlate np;
        bool result = ExtremeNamePlateManager.NamePlateData.TryGetValue(
        hatBehaviour.ProductId, out np);
        if (result)
        {
        if (!namePlatePackage.ContainsKey(np.Author))
        {
        namePlatePackage.Add(np.Author, new List<NamePlateData>());
        }
        namePlatePackage[np.Author].Add(hatBehaviour);
        }
        else
        {
        if (!namePlatePackage.ContainsKey(innerslothPackageName))
        {
        namePlatePackage.Add(innerslothPackageName, new List<NamePlateData>());
        }
        namePlatePackage[innerslothPackageName].Add(hatBehaviour);
        }
        }
        float yOffset = __instance.YStart;
        var orderedKeys = namePlatePackage.Keys.OrderBy((string x) => {
        if (x == innerslothPackageName)
        {
        return 0;
        }
        else
        {
        return 100;
        }
        });
        foreach (string key in orderedKeys)
        {
        createNamePlateTab(namePlatePackage[key], key, yOffset, __instance);
        yOffset = (yOffset - (headerSize * __instance.YOffset)) - (
        (namePlatePackage[key].Count - 1) / __instance.NumPerRow) * __instance.YOffset - headerSize;
        }
        __instance.scroller.ContentYBounds.max = -(yOffset + 3.0f + headerSize);
        return false;
        }
        [HarmonyPostfix]
        [HarmonyPatch(typeof(NameplatesTab), nameof(NameplatesTab.Update))]
        public static void NameplatesTabUpdatePostfix(NameplatesTab __instance)
        {
        // Manually hide all custom TMPro.TMP_Text objects that are outside the ScrollRect
        foreach (TMPro.TMP_Text customText in namePlateTabCustomText)
        {
        if (customText != null && customText.transform != null && customText.gameObject != null)
        {
        bool active = customText.transform.position.y <= inventoryTop && customText.transform.position.y >= inventoryBot;
        float epsilon = Mathf.Min(
        Mathf.Abs(customText.transform.position.y - inventoryTop),
        Mathf.Abs(customText.transform.position.y - inventoryBot));
        if (active != customText.gameObject.active && epsilon > 0.1f)
        {
        customText.gameObject.SetActive(active);
        }
        }
        }
        }
        private static void createNamePlateTab(
        List<NamePlateData> namePlates, string packageName, float yStart, NameplatesTab __instance)
        {
        float offset = yStart;
        if (textTemplate != null)
        {
        TMPro.TMP_Text title = UnityEngine.Object.Instantiate<TMPro.TMP_Text>(
        textTemplate, __instance.scroller.Inner);
        title.transform.parent = __instance.scroller.Inner;
        title.transform.localPosition = new Vector3(headerX, yStart, inventoryZ);
        title.alignment = TMPro.TextAlignmentOptions.Center;
        title.fontSize *= 1.25f;
        title.fontWeight = TMPro.FontWeight.Thin;
        title.enableAutoSizing = false;
        title.autoSizeTextContainer = true;
        title.text = Helper.Translation.GetString(packageName);
        offset -= headerSize * __instance.YOffset;
        namePlateTabCustomText.Add(title);
        }
        int numHats = namePlates.Count;
        for (int i = 0; i < numHats; i++)
        {
        NamePlateData np = namePlates[i];
        float xpos = __instance.XRange.Lerp(
        (i % __instance.NumPerRow) / (__instance.NumPerRow - 1f));
        float ypos = offset - (i / __instance.NumPerRow) * __instance.YOffset;
        ColorChip colorChip = UnityEngine.Object.Instantiate<ColorChip>(
        __instance.ColorTabPrefab, __instance.scroller.Inner);
        colorChip.transform.localPosition = new Vector3(xpos, ypos, inventoryZ);
        if (ActiveInputManager.currentControlType == ActiveInputManager.InputType.Keyboard)
        {
        colorChip.Button.OnMouseOver.AddListener(
        (UnityEngine.Events.UnityAction)(() => __instance.SelectNameplate(np)));
        colorChip.Button.OnMouseOut.AddListener(
        (UnityEngine.Events.UnityAction)(
        () => __instance.SelectNameplate(
        DestroyableSingleton<HatManager>.Instance.GetNamePlateById(SaveManager.LastHat))));
        colorChip.Button.OnClick.AddListener(
        (UnityEngine.Events.UnityAction)(() => __instance.ClickEquip()));
        }
        else
        {
        colorChip.Button.OnClick.AddListener(
        (UnityEngine.Events.UnityAction)(() => __instance.SelectNameplate(np)));
        }
        colorChip.gameObject.GetComponent<NameplateChip>().image.sprite = np.Image;
        __instance.ColorChips.Add(colorChip);
        }
        }
  • 修正箇所を把握しきれていない点と変更されたデータ構造に合わせる必要があるため対応には時間がかかりそう(?)

[インポスター陣営] : ドゥーム (吊れなかった相手を追跡し消滅させるインポスター)

役職名 / Role Name

ドゥーム
(別名候補)ドゥームズデイ/レッドローズ/イビルローズ/死神/ハングマン/ビホルダー

役職の色 / Role color

役職の説明 / Role description

吊れなかった相手に追跡&死体消滅効果を与えるインポスター

役職の能力 / Role ability

  • 《ドゥーム》がプレイヤーに投票し、そのプレイヤーが吊り対象にならなかった場合、その投票相手を『ドゥーム』状態にする。
    • 『ドゥーム』状態を新たに付与できる回数には上限がある。この数はすべての『ドゥーム』プレイヤーで共有する。
    • 『ドゥーム』状態を同時に付与できる人数には上限がある。この数はすべての『ドゥーム』プレイヤーで共有する。
  • インポスター陣営と幽霊は『ドゥーム』状態であるプレイヤーの名前にマークが見える。本人には見えない。
  • オプションにより、マークがつかなくなる。
  • 『ドゥーム』状態のプレイヤーの死体は即座に消滅する。
  • 《ドゥーム》は『ドゥーム』状態のプレイヤーの位置を矢印で知ることができる。

他陣営への影響 / Effect on other teams

クルーは『ドゥーム』に狙われたプレイヤーになるべく同行し、孤立しないようにする。投票意見が割れた時に態度を曖昧にしようとするプレイヤーを疑う。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral
初期案

役職名 / Role Name

ゲイザー

役職の色 / Role color

役職の説明 / Role description

役職を見破った相手に消滅効果を与えるインポスター

役職の能力 / Role ability

  • 《ゲイザー》は会議中、プレイヤー1人と役職を選ぶことができる。選ばれたプレイヤーと役職が一致しているなら、会議後にそのプレイヤーを『見破る』。
    • オプションにより、選べる役職から素クルーを外す。
  • 『見破られた』プレイヤーの死体は即座に消滅する。
  • インポスター陣営と幽霊は『見破られた』プレイヤーの名前にマークが見える。本人には見えない。
  • 《ゲイザー》は『見破られた』プレイヤーの位置を矢印で知ることができる。

他陣営への影響 / Effect on other teams

CO含む役職能力にリスクが生じる。キル陣営はCOしたプレイヤーを積極的にターゲットにできる。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

ゲッサ―に比べるとローリスクローリターン……というか手動キルでリスクの後払いをする

オープナー(クルー陣営 扉操作)

among usで頻繁に開け閉めされる扉で、能力があるのがメンテナーくらいなので、
何かに扉を使えないかと考えてみました。

役職名 / Role Name

オープナー

役職の色 / Role color

役職の説明 / Role description

扉を使いこなそう。

役職の能力 / Role ability

開く  開くボタンを押すと能力範囲内で扉が開く。
    閉じる 同様に範囲内で扉を閉める。

発動は回数制
初期回数1~2程度?
タスクが完了で能力強化
強化1.能力のクールタイム減少(初期設定:45%減少)
強化2.使用回数増加(初期設定:+5回)
(強化はオプションで設定可)

メリット
 怪しい人物から逃亡しやすい。
 招集ボタンや緊急タスクに到達するのが早くなる。
デメリット
 移動距離が長くなり、ベント使用を疑われる。

他陣営への影響 / Effect on other teams

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

[クルー陣営] : チューナー (アドミン・バイタルを強化できる)

役職名 / Role Name

チューナー

役職の色 / Role color

緑系の色

役職の説明 / Role description

アドミンやバイタルをチューニングして強化できるクルー陣営。TORのハッカーをアレンジした

役職の能力 / Role ability

アドミンやバイタルの前で能力を発動すると、通信障害が起きるか一定回数の会議が終わるまでその設備を強化する。
この能力には回数制限があり(デフォルトで2回を想定)、1度発動すると強化効果が切れるまで再発動できない。

アドミンを強化すると、プレイヤーのアイコンに色がついて誰がどこにいるかがわかるようになる。
バイタルを強化すると、死んでいる(赤い表示)プレイヤーが死後何秒経過したかがわかるようになる。

強化された設備は「誰でも」使用できる。ニートなど本来アドミンやバイタルへのアクセス権限を持たない役職でも利用できる

メリット

強化した設備で情報戦に強くなる

デメリット

インポスター陣営などにも利用される
通信障害が起きたらすぐに効果が切れる

固有設定項目

能力の使用回数(回)
強化が切れるまでの会議回数(回)

他陣営への影響 / Effect on other teams

敵の陣営も強化された設備を利用できるので、そこで得られる情報と通信障害の利点を天秤にかけることになる

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

[ニュートラル陣営] : モンスターラーヴァ (食べ物や死体を食べて完全体を目指そう)

役職名 / Role Name

モンスターラーヴァ

役職の色 / Role color

暗めの茶色

役職の説明 / Role description

食べ物や死体を食べて一定数の栄養を得ると勝利する
TORのヴァルチャーを、能動的にかつ終盤でも勝利に向かえるよう改変した

役職の能力 / Role ability

勝利条件

食べ物や死体を食べて栄養を一定数集めると単独勝利
例:栄養15点で勝利
食べ物1個1点・死体1個3点

能力「食べる」

マップ上の食べ物や死体を食べて栄養を獲得する。能力を発動して一定時間対象の近くにいるとそれを食べて、食べ物や死体が消える。

「食べ物」

モンスターラーヴァのアサイン率が0ではない場合、ゲーム開始時にマップ上に食べ物がポップし、会議ごとに減った分が補充される。モンスターラーヴァが脱落しても食べ物は出続ける。
他のプレイヤーは食べ物に一定時間接近すると食べることができる。他のプレイヤーが食べる場合、モンスターラーヴァより食べるのが少しだけ遅い。
モンスターラーヴァ以外のプレイヤーが食べた場合、食べたものによって異なる効果を得る。

肉・栄養ドリンク:少しの間視界が広くなる
果物・お菓子:その時発生している能力クールタイムが短縮される
ベントは使えるが、キル・サボタージュ発動は不可能。

クラッカーによって通報できなくされた死体は食べられる。
キャリアーによって運ばれている途中の死体は食べられない。
フェイカーによって作成された偽物の死体も食べられない。

固有の設定項目

勝利に必要な栄養:10〜30
食べ物の栄養:1〜3
死体の栄養倍率:1〜3
食べ終わるまでの時間(秒)
食べるクールタイム(秒)

他のプレイヤーが食べる追加の時間(秒)
マップ上の食べ物の数:3〜5(個)
食べ物で視界が広くなる時間(秒)
食べ物で広くなる視界倍率
食べ物で短くなる能力クールタイム(秒)

他陣営への影響 / Effect on other teams

食べ物をモンスターラーヴァや敵より先に食べることで有利に進められるため、他のプレイヤーは片手間にでも食べ物を取りに行くことが予想される。
また食べ物を食べる現場を見られた場合、食べる時間が短いように見えたから彼はモンスターラーヴァなのか、あれは食べてる途中だったから私はモンスターラーヴァじゃないなどの議論が発生する。

死体に食べ物より多い栄養が設定されている場合、インポスターによる死体消しのための通報や会議ボタンが起きやすくなるかもしれない

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

スマッシャーに会議を経ることで追加キルボタンの使用回数が増えるオプションの追加

追加する機能の詳細 / Feature details

#62 にて「スニーク」として提案させて頂いたインポスター陣営の新役職について「スマッシャー」との類似点が多いことから新役職としての提案ではなく「スマッシャー」の設定オプションに「スニーク」の要素を追加するという機能の要望です。

「スニーク」オプションの効果について

上記オプションを適用した場合「スマッシャー」に以下のステータスが追加される。
以下はデフォルト設定における数値であり、後述のオプション項目によって調整ができる。

  • スマッシュボール
    会議の終了時に「スマッシュボール」が1つ付与される。「スマッシュボール」は3つまで保持できる。
    「スマッシャー」は「スマッシュボール」を3つ保持している際に追加キルボタン「スマッシュ」を使用することができる。
    「スマッシャー」が通常キルを行なった場合、所持している「スマッシュボール」が消失する。

  • 設定可能なオプション項目
    ・会議の終了時に「スマッシュボール」が何個付与されるか(1〜6。デフォルト設定は1)
    ・「スマッシュ」の使用に必要な「スマッシュボール」の個数(1〜6。デフォルト設定は3)
    ・「スマッシャー」の保持できる「スマッシュボール」の最大数(1〜6。デフォルト設定は3)
    ・「スマッシャー」が通常キルを行なった場合に消失する「スマッシュボール」の個数(1〜6。デフォルト設定は3)

機能を追加するメリット / Benefits of adding features

「スマッシャー」の追加キルボタンについて、最初から所持しているのではなく潜伏することで得られるという要素を加えることにより、キルせずに会議を経ることで強化される、潜伏に重きを置いたインポスター役職としての性質が付与できる。
本オプションを適用した「スマッシャー」は絶好のキルのタイミングでキルを狙うか、あえてキルを見送ることでクルーからの信頼を得つつ追加キルボタンを手に入れるのかという戦略性が生まれます。
また、クルー陣営にとって終盤の定石であった絶え間ない会議の実施によるインポスター陣営のキル抑制についても、頻繁な会議は「スマッシャー」の「スマッシュ」獲得へと繋がってしまうため、そういった行動への抑止力となり得ます。

なお、本来の「スマッシャー」は任意で「スマッシュ」キルを実施できるという強さから「スマッシュ」キルの実施に伴いペナルティが発生する設定ですが、本オプションを設定した場合は潜伏中に能動的にキルを見送らなければならないという心理的なデメリットが存在するため「スマッシュ」キルに伴うペナルティは無しで良いかと思われます。

※元ネタがスマブラの「最後の切り札」のため、本オプションにおけるカウントの名称(「スマッシュボール」)もそれに沿ったものとしました。

以上、何卒よろしくお願い致します。

[インポスター陣営]死体を蘇生して使役する「ネクロマンサー」

役職名 / Role Name

ネクロマンサー

役職の色 / Role color

役職の説明 / Role description

インポスター版サイドキックと思えば話が早い
死者蘇生系の役職欲しいけどキルした人がバレるから仲間にして口封じしよう、的な感じ

役職の能力 / Role ability

「死者蘇生」

・ゲーム中1度だけ使用可能、他のネクロマンサーと回数を共有する(つまり1人で十分)
・能力を使うには死体の近くでボタンを押して10秒程待機する必要がある
・蘇生されたクルーは「マッドメイト」として復活する
・蘇生されている間そのクルーは死体の上から動けなくなる(状況把握の為)
・キルとCDが共有されるので即死体消しは不可能
・ネクロマンサーは蘇生したクルーの役職を把握する
・蘇生完了した場合シェイプシフター等の卵演出が入る

注意点
・仕様上アサシン&マーリンと併用出来ない、その場合素のインポスターになる(アサシン側が消される事は無い)
・役職バレ防止の為ネクロマンサーが生存かつ能力未使用時は幽霊になっても役職が見えなくなる
・守護天使になったクルーは蘇生出来ない
・1度蘇生を始めたらキャンセル不可、会議が始まるかネクロマンサーがキルされた場合キャンセルされる

マッドメイトの仕様
・誰がインポスターか見える
・他のインポスターからも見えるがキルはされる
・ネクロマンサーが死ぬと自殺する
・キルされても死体が残らない
・他はTORとほぼ同じ

ネクロマンサーの設定
・蘇生に必要な秒数(初期値10、5~15)
・インポスターの死体を蘇生可能になる(初期off、ONの場合回数を消費せずに能力そのまま蘇生可能)

マッドメイトの設定(初期は全部off)
・元の役職を引き継ぐ(ONなら○○+マッドメイトで蘇生される)
・ベントが使える
・サボタージュが使える
・視界がインポスターと同じになる

※メリット
・クルーを仲間に引き込めるので議論が有利になる
・擬似的な死体消しが可能
・役職乗っ取りが可能
・設定によっては仲間を蘇生して第三陣営に対抗出来る
※デメリット
・蘇生する瞬間を見られると即死する
・バイタル等で死亡している所を見られても即死する
・サイドキックしたりされたりでジャッカルと相性が悪い
・マッドメイトを作る以外の能力がほぼ無い

他陣営への影響 / Effect on other teams

マッドメイト入り構成とほぼ同じ形になる、違う点は第三陣営がマッドになる事と相互に確認が取れる事
インポスターを蘇生出来れば時間稼ぎにもなる

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

ローグ(乱暴者):インポスター役職

役職名 / Role Name

ローグ(乱暴者)

役職の色 / Role color

※インポスター役職

役職の説明 / Role description

  • 機械を壊して使えなくさせるインポスター役職
    • 能力「壊す」で近くのアドミン・バイタル・カメラ・ドアログ・緊急招集ボタンを一定時間全てプレイヤーが使えなくなる。

役職の能力 / Role ability

  • 能力「壊す」
    →能力を使用した時、近くのアドミン・バイタル・カメラ・ドアログ・緊急招集ボタンを設定した時間、全プレイヤーが使用できなくなる。
    能力を使用する度、能力のクールタイムが伸び、再びキルのクールタイムが始まる。

※ ただしスーパーバイザーなどの能力でアドミン等は使用でき、メンテナーの能力「リペア」を使用すると即座に使用できるようになる。

  • 能力のメリット

    • アドミン等で得られる情報が少なくなる。
    • 緊急招集ボタンを押せなくするため、ボタンを押されるとまずい場面で役に立つ
  • 能力のデメリット

    • 他プレイヤーの近くで能力を使用するとバレる恐れがある。
    • 能力を使用するとキルクールタイムが再び始まるのでキルペースが落ちる。
  • 能力の設定

    • 能力のクールタイム
      • デフォルトでは30秒
    • 能力を使用した後のクールタイム増加秒数
      • デフォルトでは2.5秒
    • キルクールと共有するか
      • デフォルトではON
    • アドミン等使用できなくなる距離
      • デフォルトでキル範囲ショートくらい
    • アドミン等を使用できなくさせる時間。
      • デフォルトでは120秒
    • メンテナーの「リペア」で即座にアドミン等を使用できるようにするか。
      • デフォルトではON
    • 緊急招集ボタンを使えなくさせるか。
      • デフォルトではON

他陣営への影響 / Effect on other teams

アドミンやバイタル等が使用できなくなるため、議論等が難しくなる。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

カスタムバイザー機能

追加する機能の詳細 / Feature details

自分で作ったバイザーをExtreme Hatの様なデータロード、ダウンロード、チェック機能

機能を追加するメリット / Benefits of adding features

自分で作ったカスタムバイザーで遊べる

タスク

  • : カスタムネームプレートの調査
  • : 基礎設計(コード)
  • : 基礎設計(データフォルダ及びライセンス関連の構造)
  • : 実装
  • : バイザー作成
  • : テスト
  • : 開発用ブランチにマージ

一部の誤字脱字

PRを行うので確認をお願いしたいです。
以下、より適切だと思われる表現を記載します。
(太字は変更箇所)

  • "ghostsSee*"について、「~表示する」に変更
  • "importError"/"exportError"について、2行目行頭の空白を削除
  • "BodyGuardIntroDescription"について、""船員たちにシールド張って""の「を」を追加
  • "BodyGuardShortDescription"について、「身を張って」を「を張って」に変更
  • "BodyGuard*"について、「貼る」「張る」等を「付与する」等に修正
  • "TimeMasterFullDescription"について、一部不自然だった箇所を修正(詳細は以下)
  • "BakaryFullDescription"について、「焼けてる」を「焼けてる」に修正
  • "BakaryFullDescription"について、パンの焼け具合の説明行頭を字下げし、箇条書きに変更
  • "BomberFullDescription"について、"「爆弾設置」後、爆発するまでの時間の最小\n時間」"の最初の'「'を追加
  • "AssassinFullDescription"について、特殊会議の説明行頭を字下げし、箇条書きに変更
  • "MeryFullDescription"の1行目について、"「陣」設置できるをインポスター"を"「陣」を設置できるインポスター"に修正
  • 「サボタージ」をすべて「サボタージ」に修正
  • 一部行末のU+3002(。)の削除

"TimeMasterFullDescription"について、以下のように変更

能力「タイムシールド」が使えるクルー役職
能力「タイムシールド」の発動中に、キルボタンによるキルが
発生すると設定された時間の巻き戻りが発生する
時間の巻戻り中は「タイムマスター」本人は影響を受けない
更に、キルボタンによって「タイムマスター」本人をキルする
ことも不可能
時間の巻き戻りはプレイヤーの移動だけ巻き戻る
巻き戻る時間は「「タイムシールド」によって巻き戻る時間」
によって決定される。

サンドワーム(旧エイリアン):インポスター役職

役職名 / Role Name

サンドワーム

役職の色 / Role color

インポスター色

役職の説明 / Role description

ベントに入ったままキルができるインポスター陣営
光が苦手なのでベントから出ると弱体化する

役職の能力 / Role ability

キル(アクティブ):

  • 通常のインポスターと同様
  • キルを使用しても強襲はクールダウン状態にならない

強襲(アクティブ):

  • ベントの中でのみ使用できる
    • 使用時にベントの蓋が開くアニメーション
  • 自分が入っているベントの周辺にいるプレイヤー1人をキルする
    • 自分自身はベントに入ったまま
    • レンジは通常のキルより長い
  • クールタイムはベントに入っている間、または、停電中に回復する
    • クールタイムの秒数は通常のキルとは別にオプションで設定できる
  • 強襲を使用してもキルはクールダウン状態にならない

弱体化(パッシブ):

  • ベントから出ているときに常時発動
  • 一定時間後に死亡する
    • デフォルト40秒
    • ベントに入ると一瞬でカウントが最大値に戻る
    • 停電中はカウントが最大値で固定される

メリット:姿を見せずにキルできる。キルレンジが長い
デメリット:定期的にベントに入る必要があるため、単独行動せざるを得ない

他陣営への影響 / Effect on other teams

  • 単独行動をしていると吊られやすくなる
  • ベントを使う役職がベントに近づきにくくなる
    • 調整のため、ベントを使う役職を強襲でキル出来るか否かオプションを用意(デフォルトはキル可)

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

クルーコンビネーション役職:探偵、助手、見習い探偵(名前未定)

役職名 / Role Name

  • 探偵、助手、見習い探偵

役職の色 / Role color

  • 未定

役職の説明 / Role description

  • Readmeに記載されている役職です
  • クルーオンリーのコンビネーション役職
  • 「助手」は「探偵」のアシストを行い、「探偵」は「助手」がいれば能力をフルに活用しやすい

役職の能力 / Role ability

  • 助手

    • 自分が通報した死体の完全なキル時間が分かる
    • 探偵が居ないと無力に近くなる
  • 探偵

    • 通報された死体の場所に一定時間とどまる事で様々な情報を手に入れることができる
    • 情報は完全な死亡時刻(1回目)、通報までの時間(2回目)、殺した陣営(3回目)、役職(4回目)
    • 助手が通報した死体だと上記の時間が短くなる、それ以外のクルーだと2回目を得ることが難しい時間に調整する
  • 見習い探偵

    • 「探偵」がキルもしくは追放されれば「助手」が「見習い探偵」に、「助手」がキルもしくは追放されれば「探偵」が「見習い探偵」になる
    • 死体を通報することで完全な死亡時刻が分かる
    • 能力ボタン
      • いつでも緊急会議ボタン押すことが出来る(回数制限付き、自分の押したボタンの数も影響する)

他陣営への影響 / Effect on other teams

  • 「探偵」は「助手」が通報していない死体だと基本的に能力をフルに使うことが出来ないので1試合で活躍するのはせいぜい1回、2回発動することは稀だと思われるため、全滅が目的の陣営にとって影響は少ないと思います(推理の材料が増えますが時間がかかるのでそこはイーブンと思ってます)
  • 「探偵」の能力発動中は基本的に無防備に近いため絶好のキルチャンス
  • インポスターは「助手」をキルすることで「探偵」を大幅に弱体化させること出来るので、クルー側からしたら「助手」をCOすることは難しいはず
  • 逆に「探偵」がキルされれば「助手」が強化されるのでクルー側からしたら、1落ちでも一つのチャンスを作ることが出来る

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

ロウアー(一匹狼):クルー陣営

役職名 / Role Name

ロウアー(一匹狼)

役職の色 / Role color

狼色(#1A4472)

役職の説明 / Role description

  • 単独行動しかできないクルー役職

役職の能力 / Role ability

  • 「ストレス」(パッシブ)
    • カウント(初期設定10)があり、0になると死亡する。
    • 近くに他プレイヤーがいる時、1秒毎に近くの他プレイヤーの人数分のカウントが減る。
    • 近くに他プレイヤーがいない時、1秒毎1カウント元に戻る。

※スポーン直後、タスク中、会議中にはカウントは増減しない。
(開幕密集するためとタスク進行で固まることが多いため)

  • 「気配探知」(パッシブ)

    • 1番近くにいるプレイヤーの位置を矢印が示す。
      (上の能力だけだと弱いだけだと思ったので)
  • オプション

    • 「ストレス」の初手カウント数
      • 初期設定は10
    • 「ストレス」の発動範囲
      • 初期設定はロング?くらい
    • スポーン直後の「ストレス」の無効時間
      • 初期設定は10秒
    • タスク中の「ストレス」の無効の有無
      • 初期設定はON
    • 「ストレス」がベントのプレイヤーで発動するかの有無
      • 初期設定はON
    • 「ストレス」が透明のプレイヤーで発動するかの有無
      • 初期設定はON
    • 「気配探知」の有無
      • 初期設定はON
    • 「気配探知」の表示人数
      • 初期設定は1人
    • 「気配探知」がベントのプレイヤーを指すかの有無
      • 初期設定はON
    • 「気配探知」が透明のプレイヤーを指すかの有無
      • 初期設定はON
  • メリット

    • 見えない位置のプレイヤーの場所がわかる。
    • 透明化やベントのを使っているプレイヤーがいてもわかる。
  • デメリット

    • 他のプレイヤーと行動ができないため、キルされやすい。
    • 最終位置が浮いてしまい疑われやすくなる。

他陣営への影響 / Effect on other teams

能力の都合単独行動を強いられるので、キル陣営からは絶好の的です。また、語られやすいというのもあります。しかし、能力でベントプレイヤーや透明プレイヤーがわかるので透明化やベントの使用はしずらくなるでしょう。(おそらく)

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

呪われしもの:クルー役職→インポスター役職

役職名 / Role Name

呪われしもの / Noroware (表示名: クルー→インポスター)

役職の色 / Role color

白→黒

役職の説明 / Role description

あなたはクルーである。然しながらインポスターにキルされるとインポスターへと変化する。

ゲーム開始時、役職はクルーと表示され通常のクルーと同様にタスクが付与される。プレイヤーはこの役職に選ばれたことに気付くことはできない。また、何も起きなければクルー勝利に参加することができる。
但しインポスターがキルしようとした場合、役職が通常のインポスターに変化する。(会議での吊りや他陣営によるキルではこの処理が起きずクルー陣営のまま死亡する)

役職の能力 / Role ability

能力自体は通常のクルー及びインポスターと変わりはありません。

他陣営への影響 / Effect on other teams

白陣営へのメリットデメリット

メリット
  • 無役職に配役された場合でもインポスターになる可能性があるため楽しみが増す。
  • 無役職COをした場合でも吊る要因ができる
  • 吊り意識が向上する
デメリット
  • 特になし

赤陣営へのメリットデメリット

メリット
  • クルーからの信用がある人を赤陣営に引き入れることができる。
  • 無役職をキルすることで仲間を増やすことができる
デメリット
  • 特になし

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

[第三陣営/コンビネーション役職] : 児雷也・綱手・大蛇丸(三竦み)

役職名 / Role Name

児雷也・綱手・大蛇丸(三竦み、tripartite deadlock)

役職の色 / Role color

3職別の色なら児雷也 赤・綱手 緑・大蛇丸 青
3職同じ色なら灰色系統

役職の説明 / Role description

各職は自身に強い役職(天敵)と弱い役職が存在し、天敵がいない状態(キルorサイドキック)で生存して試合が終了すると勝利、天敵がいる状態で敗北となる。
(例:児雷也は綱手に強く、大蛇丸に弱いため、大蛇丸がいる状態で終了すると敗北)
そのため3人残っている場合は3人とも敗北となる。

役職の能力 / Role ability

1.ゲーム開始時の説明に天敵が表示される。
そのため、自身を積極的に吊ろうとする相手は自身を天敵とする役職の可能性がある。

2.身代わりの術(3.土遁の術とクールタイム共有)
能力発動中にキルされると自身のみがタイムマスターのシールドのように設定した時間巻き戻る。
巻き戻るのは自分だけなので相手はすぐにキルできない(特殊キルは除く)が、周りの人に人外だとバレる。

3.土遁の術(という名のベント)
ベント使用可。(2.身代わりの術とクールタイム共有)

他陣営への影響 / Effect on other teams

クルー:
メリット
・身代わり発動時に近くにいればキル役職を報告して減らせる。
・生存しやすい能力なので人数が一度に減りにくい。
デメリット
・3人の枠がクルーではなくなる。

インポスター:
メリット
・三竦みが1人確定で落ちていれば、仲間と三竦みのうち天敵がいない誰か一人でパワープレイできる。
(7人盤面で仲間3人+三竦み1人でPP)
デメリット
・身代わりでキルが無駄になり、追放される可能性がある。

ジャッカル:
一人がサイドキックされたら天敵が消えた一人は勝利できる。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

名前未定(支援したプレイヤーの陣営の勝利に相乗りする能力):第三陣営の役職

役職名 / Role Name

※名称未定(サポーターが既にいるので)

役職の色 / Role color

※名前が決まった時に決めたい

役職の説明 / Role description

  • 支援しているプレイヤーの陣営の勝利に相乗りする第三陣営の役職。
    • 勝利条件:「支援」を使った人の陣営が勝利する。
    • 「支援」でそのプレイヤーを支援して、その人の陣営を勝利に導こう。

役職の能力 / Role ability

  • 支援(仮名称)
    →対象のプレイヤーの陣営の勝利に相乗りができる。

  • 以下注意点

    • 自分が死亡してもその陣営が勝利すれば相乗りができる。
      (第三陣営のニートの様に生存している必要はない。)
    • 自分は支援している人の陣営は分かりません。
      (その人の陣営を推理して適切な援護をしましょう。)
    • 相手は自分が支援していることを知る情報はありません。
      (騙ることもできるということです。)
    • 能力を使用しないと勝つ条件がないです。
      (抱え落ちに気をつけて。)

他陣営への影響 / Effect on other teams

自分の陣営か他の陣営についているか分からないため、状況によって変わる。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

[インポスター陣営] : スニーク (キルせずに会議を経ることで追加のキルボタンを得る)

役職名 / Role Name

スニーク

役職の色 / Role color

インポスター色

役職の説明 / Role description

キルせずに規定数の会議を経ることでキルクールの無いキルボタン「アサルト(ASSAULT)」を得ることのできるインポスター陣営。
クルーに潜伏することでクルーからの信頼を得つつ、好機と見れば追加キルボタンによるダブルキルを行うことができます。
また、終盤に連続して会議が開かれることによるインポスター陣営の封殺への対抗策と位置付けています。
アサルトマスターのコンセプトより着想を得て、よりシンプルな形での実現を目指しました。

※アサイン時のテキスト例
→「クルーに潜伏し好機を待て」

役職の能力 / Role ability

・通常キルとは別のキルボタン「アサルト」を追加。「アサルト」の使用に際して通常のキルボタンとは一切連動しない
・会議を1回経る毎にストックを1得る。規定数のストック(デフォルトは3)を消費することで「アサルト」が使用可能
・通常キルを行うことでストックが減少する(デフォルトは3)
・「アサルト」のクールタイムは通常キルとは別にカウントされる(デフォルトは0秒)

ロビーでの設定項目
・ストックの最大数(1〜6。デフォルトは3)
・キルボタン獲得に必要なストック数(1〜6。デフォルトは3)
・通常キルによって失われるストック数(1〜6。デフォルトは3)
・「アサルト」のクールタイム(0〜30秒。デフォルトは0秒)

メリット:
・二人組を狙うことが可能
・別のキルボタン持ちとの撃ち合いで必勝が可能
・潜伏することでクルーからの信頼を得つつ、キル能力を高めることが可能
・終盤に一人でダブルキルをして勝利を狙うことが可能

デメリット:
・「アサルト」の使用に拘るとキルすべきタイミングでキルができないことがある
・「アサルト」を使用後、通常キルを行う前に会議などが挟まれた場合、実質的にダブルキルをする権利が失われてしまう
・「アサルト」を使用しない場合、性能が素のインポスターと変わらない

他陣営への影響 / Effect on other teams

・終盤に会議を連続して開くことでインポスター陣営のキル抑制が行われていたが、頻繁な会議はスニークの「アサルト」獲得に繋がるので抑止力になる

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

はじめまして。先日はマシュマロにてご対応頂きありがとうございました。
アサルトマスターの改善案について、対応する場合は別役職でというお返事を頂きましたので上記の通り提案致します。
本役職に機能的なデメリットはございませんが、キルボタン獲得に伴う心理的な制約がデメリットになるのではないかと想定しております。
機能的なデメリットを本役職に追加するのであれば、思いつく限りでは以下を考えております。
・通常キルのクールタイムを他のインポスターより長めにする
・自らがサボタージュを発動させた場合ストックが減る(こちらは実装可能でしょうか?)

以上、何卒よろしくお願い致します。

[インポスター陣営] : パワーロード

役職名 / Role Name

パワーロード

役職の色 / Role color

インポスター陣営なので赤色

役職の説明 / Role description

パワーをチャージすることで通常のキルボタンで複数人キルできるようになるインポスター陣営

役職の能力 / Role ability

キルクールタイムが明けている状態でのみ能力を使用可能。
能力ボタンを押すとその場で静止してパワーチャージが開始される。2段階までチャージ可能。
再度能力ボタンを押すことでチャージを中断できる。1段階目のチャージが完了してから中断すると次のチャージは2段階目のチャージから始まる。
完了したチャージ段階は本人だけが常に把握でき、キルボタンを押すまでリセットされない。
チャージ能力のクールタイムは、キルクールタイムが明けてからのみカウントされる。

パワーがチャージされた状態でキルボタンを押すと、その時のチャージ状況に応じて複数人キルできる。キルワープは最も遠いキル対象に移動する。
チャージしていない:通常通り1人まで
1段階目のチャージが完了:2人まで
2段階目のチャージが完了:3人まで

ただしチャージ状態でのキルを実行した場合、キルできた人数にかかわらず次のキルクールタイムが増加する。
増加量はデフォルトキルクールタイムの一定割合で、2段階目のチャージが完了していた場合、1段階目のチャージが完了していた場合の2倍の遅延効果を受ける。
この効果で増加したキルクールタイムはキルクールタイムが明けるまでリセットされない。

例1:デフォルトキルクールタイム20秒、遅延効果75%、1段階目のチャージが完了していた場合
20+(20×0.75×1)=35秒

例1:デフォルトキルクールタイム25秒、遅延効果100%、2段階目のチャージが完了していた場合
25+(25×1.00×2)=75秒

能力のメリット

1人でダブル・トリプルキルできる
終盤、一気にPP圏内に持って行ったりフィニッシャーになりやすい

能力のデメリット

チャージ中は移動できないので浮き位置からの冤罪吊りの標的になる危険性あり
チャージを温存して通常のキル、ができないので最大人数をキルしようとして抱え落ちする恐れあり
チャージ状態でのキル後、キルクールタイムが明けるまでの時間に会議を連発されるとキルできない

固有の設定項目

1段階目のチャージが完了するまでの時間(秒)
2段階目のチャージが完了するまでの時間(秒)
チャージ能力のクールタイム(秒)
チャージを中断した場合のチャージ能力のクールタイム(秒)
チャージ状態でのキル後のクールタイム遅延効果(%)

同じく範囲攻撃を持つボマーとの相違点

パワーロードが優れている点:自滅しない・範囲内の指定人数までのクルーを(タイムマスターのシールド等は考慮しない場合)確実にキルできる・待ち時間が固定
ボマーが優れている点:直接の現行犯を見られない・通常のキルと範囲攻撃を使い分けられる・運任せとはいえ4人以上キルできる場合もある

他陣営への影響 / Effect on other teams

何人かで固まっての移動にリスクが生まれる

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

マインドアイ(心眼)※仮名:クルー陣営

役職名 / Role Name

マインドアイ

役職の色 / Role color

黒系統

役職の説明 / Role description

  • 壁越しの情報を得られるクルー陣営の役職。
    • 能力「心眼」は視野が極小になる等のデメリットがあるかわりに範囲内のプレイヤーの位置がわかる。

役職の能力 / Role ability

  • 心眼
    →デメリットがあるかわりに範囲内のプレイヤーの位置がわかる。(ベントの中、死体も含む)
  • デメリットの内容
    • 視野が極小になる。
    • 通報のレンジがショートになる。
    • アドミン、バイタル、ドアログが使えなくなる。

メリット

  • 普段では分からない壁越しの情報がわかる。
  • 停電中に使用すれば、情報が増える。

デメリット

  • 視野が狭いため、その時に通過したプレイヤーの色が分からない。

配信者へのデメリット

  • 能力使用中は真っ暗なので配信向きじゃないこと
    (前は常にこの能力が発動している予定だったのでマシにはしたが)

他陣営への影響 / Effect on other teams

物陰でキルがしづらくなる?からキル陣営がやりづらくなる

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

指揮官(インポスター役職:仲間のキルCT短縮)

意図しない投稿がされていましたので、改めて投稿させていただきます。

役職名 / Role Name

指揮官(コマンダー)

役職の色 / Role color

役職の説明 / Role description

「仲間のキルを援護して皆殺しにしよう」
自身のキルのクールタイム(以下CT)と時間を共有した能力を使用して仲間のキルCTを短縮して援護する。

役職の能力 / Role ability

「攻撃指令」の能力を使用すると自分のキルCTが消費されてその代わりに仲間のキルCTが短縮される。

能力CTはキルCTと共有、使用すると船全体のインポスター仲間のキルCTを短縮(例 キルCT20秒 → 短縮時間各5秒)
ただし仲間がキルできる状態(CTが溜まっている)でも消費される。

メリット
自分がキルが苦手でも仲間のキルCTを短縮することでキルしてもらえる。
キルCTと能力CTが共有なのでキルせずに仲間に任せて潜伏も可能。

デメリット
仲間がいなければ能力の意味はない。
能力を使用するとCTが消費されるので自分はキルできない。
自分のキルCTよりは短縮される時間は短く、無駄になることもある。
船全体にかかるため、仲間からは誰が能力使用者かわからない。

他陣営への影響 / Effect on other teams

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

サブマジード(Submerged)対応

追加する機能の詳細 / Feature details

5月にリリースされたMODマップ「サブマジード(Submerged)」に対応させる
対応と同時に起動した時の画面からサブマージドをボタンひとつでダウンロードできるようにする
対応作業ブランチ:https://github.com/yukieiji/ExtremeRoles/tree/feat-Submerged

機能を追加するメリット / Benefits of adding features

新マップ×EXRolesで遊びの幅は広がる

リリース予定日時

v2.2.0.0リリース後の6月中旬頃、もしくはAmongUs公式のアップデートされた時
理由:

  • バグ修正と対応に時間がかかることが予測され、作業を始めると役職実装に割くリソースが無くなる
  • BepInExのアップデートがあるため、MODの入れ直しが必要になる
  • TOR等のMODの対応やサブマージド側での不具合修正がまだ完全に終わってない

タイムスケジュール

v2.2.0.0リリースまで:バグが発生しそうな箇所の特定と対応が必要になる役職の洗い出し
リリース後~中旬:対応作業
6月24日:v3.0.0.0としてリリース

サブマージド導入によって発生する不具合(把握してるもの)

  • 会議終了後、暗転したままになる不具合
    • 恐らく、役職の情報パネル周りのリセット処理に問題があるはず
    • サブマージドの会議終了時のリセット処理が全体的におかしいという報告を聞いている
  • サブマージドプレイ時の幽霊の移動ボタンとヘルプボタンの位置がかぶる問題

サブマージド導入によって調整や動作チェックが必要になる役職

  • アサシンとマーリン
    • 「マーリンは誰だ」の会議発生ロジック
    • アサシンと酸素妨害の周りの調整
  • メンテナー
    • サブマージドのサボタージュ周り
  • オープナー
    • サブマージドのドア開けれるか
  • エージェンシー
    • サブマージドのタスクで問題なく動作するか
  • パン屋
    • 生存報告がちゃんと出るか
  • ウォッチドッグ
    • 今のコードだとサブマージドのセキュリティカメラが取れないのでそれの調整
  • スーパーバイザー
    • 今のコードだとサブマージドのアドミンが取れないのでそれの調整
  • キャリアー
    • サブマージドの死体は特殊らしいので、それに合わせる必要がある
  • ペインター
    • サブマージドの死体は特殊らしいので、それに合わせる必要がある
  • スレイヴドライバー
    • サブマージドのタスクで問題なく動作するか
  • サンドワーム
    • 「強襲」が正しく動作するか
    • サブマージドの停電を認識できるかどうか
  • メリー
    • 特殊ベント使えるかどうか
  • タスクマスター
    • サブマージドのタスクで問題なく動作するか
  • アリス
    • サブマージドのタスクで問題なく動作するか

サブマージド導入によって全体的なロジックを変更、調整する必要がある箇所

名前未定(犬猿の仲なコンビ役職):第三陣営

役職名 / Role Name

名前未定(コンビ役職)

役職の色 / Role color

※名前決めたあとに決めたいです。

役職の説明 / Role description

  • 犬猿の仲な第三陣営
    • 2人がアサインする。※1
    • 他のこの役職の人がわかりません。※2
    • 1度だけキル可能。※3
    • 視界はクルーと同じ。※4
    • 勝利条件
      →他のこの役職が死亡+生存で他の陣営の勝利に乗れる。
      (この役職が2人以上生存している場合、敗北する。)

※1 設定で2人以上アサインできるよう変更可
※2 設定でわかるように変更可
※3 設定でキルができるかと回数を変更可
※4 設定で別の視界を得るかを変更可

他陣営への影響 / Effect on other teams

この役職は他のこの役職が死亡かつ生存していたら勝てるためインポスターやジャッカルがPPできるようになる。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

妖狐:ニュートラル陣営

内容は現在のものです。

役職名 / Role Name

妖狐

役職の色 / Role color

紫苑色(色コード:867ba9)

役職の説明 / Role description

勝利条件:他陣営の勝利条件達成時代わりに単独勝利
視界はインポスター並 ベントは使用不可
能力の取り憑くでキルから身を守れる

役職の能力 / Role ability

取り憑く
他プレイヤーを"取り憑かれた状態"にする。
妖狐がキルされると代わりに取り憑かれた状態のプレイヤーが死亡してしまう。
(複数いた場合はランダムに1人死んでしまう。また吊られた場合は発動しない)

他陣営への影響 / Effect on other teams

妖狐はどの陣営からも敵になる存在です。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

[クルー陣営] : カーペンター(TORのセキュリティガードをバックポート/強化/弱体化)

役職名 / Role Name

カーペンター

役職の色 / Role color

未決定

役職の説明 / Role description

TORのセキュリティガードをバックポートしてExRolesに「カーペンター」という名前で実装を行う
その際に幾つかの弱体化と強化を行って実装する

  • 弱体化内容:
    • タスクを一定数完了するまでカーペンターであると認識出来ないかつ能力を使用することが出来ない
    • 能力使用中は一定時間停止(デフォルト:2~3秒程度(ベント封鎖とカメラ設置で時間が変わるようにする))
  • 強化内容:
    • タスクが完了するまで能力が使えないので会議を挟まずとも能力が即反映されるようにする
  • TORと仕様的に違う点
    • ボタンは一つであるが画像やボタンの名前が変わることで能力の差異を出すようにする

役職の能力 / Role ability

各能力を使用すると「ネジ」を

  • カメラ設置
    • セキュリティのカメラを設置出来る
  • ベント封鎖
    • そのベントを使用できなくする
    • ベント自体も見えなくする

他陣営への影響 / Effect on other teams

  • 能力全般がタスクを一定数完了させないと使えないのでキルはしやすい
    • ベント封鎖が強力であるが設置時間はカメラ設置より長めかつ「ネジ」の使用数の2つでバランス調整出来る

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

新役職カテゴリー:幽霊役職(Ghost Role)

追加する機能の詳細 / Feature details

機能を追加するメリット / Benefits of adding features

  • 幽霊時にアサインされる幽霊役職を作ることが出来る
  • 幽霊役職が実装できるようになって様々な幽霊役職を実装すれば以下のメリットが有る
    • 死亡時、タスク以外のやる楽しみが増える(タスクが終わったとしても楽しく遊べる)
    • 特にニュートラルやインポスターが死亡した時、とてつもなく暇になるのを防げる
    • 別の勝利条件等を持つニュートラルの幽霊役職を実装することで、死んで負け確になったニュートラルでも新しい勝利に進むことが出来る

基本的な幽霊役職の仕様

  • 通常幽霊役職(GhostRoleBase)
    • 前提として幽霊役職と通常役職は別管理である
      • 例としてラバーズ + ボディーガードが死亡して、守護天使にアサインされたとする
        • MOD内ではその人はラバーズとボディーガード、守護天使の役職を持つ人として管理されます
    • APIは全て刷新
    • 陣営をまたいだアサインはされない
      • 例:インポスター => クルーの幽霊役職にはアサインされない
    • 役職表示及び投票先は全陣営一括で見えない
    • アサインされた人は会議中に天使のアイコンが付く(オプションで切り替え化)
    • アサインされる元役職の指定があったりする
      • GhostRoleBaseに新しいプロパティFilterRoleId 型:HashSet(ExtremeRoleId)をpublicのabstructを追加する
    • 能力仕様
      • 能力のクールタイムは基本的に60秒、最小30~最大120秒で設定可
      • コミュサボ中は能力が全陣営一括で使用できない
      • パッシブの能力発動系は一切実装しない
      • 幽霊能力発動後の会議でどの役職がどんな能力を使ったのかを報告される
        • これは守護天使の物を応用
  • 幽霊役職と通常役職のコンビ役職
    • (MultiAssignRoleBase(A) + MultiAssignRoleBase(B) + .... + MultiAssignRoleBase(Z)) + (GhostRoleBase(A) + GhostRoleBase(B) + .... + GhostRoleBase(Z))オンリー(それ以外は考慮しないし実装しない)
    • GhostAndAliveCombinationRoleManagerBaseを作成(ConstCombinationRoleManagerBase継承)
    • ExtremeRoleManager (has)=> GhostAndAliveCombinationRoleManagerBase
      • 基底クラスがCombinationRoleManagerBaseなんで管理場所も同じ
      • ベースは基本的に生存者という扱いで追加で、生存者の役職IdとコンビIdは同じ今までと同じ場所に入れる、幽霊役職のIdだけ別
  • 実装コストが高すぎるため、死因によるアサインフィルターは今後一切実装しない
    • もし実現できたとしても「追放」と「キル」以外の状態を取ることはキツイ

以下:2022/05/17T23:50以前チケットに記載されていた旧仕様

  • コミュサボ中は能力が全陣営一括で使用できない
    • 基本的にボタンで発動する能力
    • 自動発動系の能力は無い
  • 能力のクールタイムは基本的に60秒
  • 役職表示及び投票先は全陣営一括で見えないようにする
  • アサインされた人は天使のアイコンをつける(実装同時にゲームオプションで一括非表示にするオプションも同時実装)
  • 陣営をまたいだアサインはされない
  • API、基底クラス、インタフェース、管理クラスは全て刷新(RolesのInterfaceが一切使用できない、以下適当な案)
    • ExtremeRoles.GhostRoles:管理クラス及びバニラロールの管理クラスの名前空間
    • ExtremeRoles.GhostRoles.API:インタフェース、基底クラスの入る名前空間
    • ExtremeRoles.GhostRoles.Crewmate:幽霊役職のクルー陣営役職
    • ExtremeRoles.GhostRoles.Impostor:幽霊役職のインポスター陣営役職
    • ExtremeRoles.GhostRoles.Neutral:幽霊役職のニュートラル陣営役職

【クルー陣営のみのコンビネーション役職】二人は相棒!「バディーズ」

役職名 / Role Name

バディーズ

役職の色 / Role color

黄色みがかったオレンジ

役職の説明 / Role description

基本となるのは本家人狼でいうところの共有者
ただしタスクを一定量こなさないとバディーズであることと相方を把握できない
お互いに白確できるできるので会議を主導しやすい

役職の能力 / Role ability

パッシブ能力

二人一組で構成される。
カーペンターのように、最初は通常のクルーとしてアサインされる。
2人がタスクを一定量こなすと覚醒し、自分がバディーズであること、そして相方が誰なのかを把握できる。
例えば、タスク進捗75%で覚醒する場合、バディーズになる予定のクルーAとB両方が75%以上タスクを完了しないと双方覚醒しない。

他陣営への影響 / Effect on other teams

覚醒するまでの間にキルを重ねてバディーズ予定のクルーを死なせることで、騙りによるバディーズ乗っ取りが可能になる。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

[インポスター陣営] : スリーパー (キルせずに会議を経ることで会議時間が短くなる)

役職名 / Role Name

スリーパー

役職の色 / Role color

インポスター色

役職の説明 / Role description

キルをせずに会議を経ることで会議時間を短縮させることのできるインポスター陣営。
クルーに潜伏することでクルーからの信頼を得つつ、会議時間を短縮させることで推理を詰めづらいように妨害し、緊急会議ボタンの消費へ誘導させることができる。
緊急会議ボタンを終盤まで温存させないことで、終盤のクルー陣営にとっての定石である絶え間ない会議の実施によるインポスター陣営のキル抑制を防ぐことができる。

※アサイン時のテキスト例
→「会議は踊る、そんな時間さえ与えるな」

役職の能力 / Role ability

  • 能力名:居眠り、カウント名:眠気

・「スリーパー」は会議の終了時に「眠気」が1つ付与される。「眠気」は6つ分保持できる。
・会議開始時に能力「居眠り」が自動発動し「スリーパー」が保持する「眠気」1つにつき会議時間が10秒短くなる。
・「スリーパー」がキルを行った場合、保持している「眠気」のカウントは消失する。

※デフォルト設定における数値であり、以下のオプション項目によって調整ができる。

  • 設定可能なオプション項目
    ・会議の終了時に「眠気」がいくつ付与されるか(1〜6。デフォルト設定は1)
    ・「スリーパー」の保持できる「眠気」の最大数(1〜12。デフォルト設定は6)
    ・「居眠り」発動時に「眠気」1つにつき会議時間を何秒間短縮するか(5〜10秒。デフォルト設定は10秒)
    ・「スリーパー」のキルの際に失われる「眠気」の数(1〜12。デフォルト設定は6)

メリット

・会議を短縮させることで綿密な推理や浮き位置情報の洗い出しが難しくなり、クルー陣営の弱体化が図れる。
・会議が頻発されることで「スリーパー」の能力がさらに向上し、クルー陣営が終盤に緊急会議ボタンを温存することが難しくなる。

デメリット

・能力の発揮を優先すると、自身がキルに参加できないことからタスクの進捗が早まってしまう
・スリーパーの能力維持の程度によってある程度インポスター陣営の内情がクルー陣営に透けてしまう。
(キルに参加しないことで効力を発揮するスリーパーがキルに参加した時点で、インポスター陣営が王手をかけている状態なのか、もしくはインポスター陣営にスリーパーしか残っていないのかという状況がある程度透けてしまう)

他陣営への影響 / Effect on other teams

・会議の時間が減少することから、推理で詰めたり浮位置を洗い出してインポスター陣営を吊るといった戦術が難しくなる。
・会議の場面が減少し行動中のフェーズが増えるため、特に会議で情報を出すことで貢献する役職は弱体化する。逆にキルボタンを持つ役職全般は会議による妨害が減って行動しやすくなり、そういった役職に絡む第三陣営(アリスやヤンデレなど)も特色を発揮しやすくなる。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

#62 にてスニークの議論をした際にyukieijiさんから例示された案を元に考案したインポスター陣営役職となります。
スニークの「絶好のキル機会でもキルを我慢し潜伏し続けることでメリットを得る」というコンセプトを維持しつつも、キルではなく会議を妨害しインポスター陣営の勝利へと貢献する役職です。
村によって会議時間をどの程度確保しているのかについて開きがあるので、オプションによる設定の幅もある程度広く用意しておいた方が望ましいかもしれません。また、能力の発揮のためにキルに参加できないというデメリットは大きいと認識しておりますが、それではデメリットが足りずバランスが取れない恐れがある場合、「スリーパー」自身がサボタージュを発動させた際に「眠気」が1減少するといったオプション項目の追加も検討しています。

以上、何卒よろしくお願い致します。

提案: クルーの殺意(仲間割れ)オプション

追加する機能の詳細 / Future details

  • 追加対象となったプレイヤーAの勝利条件に「殺意: Xさんが死んでいること」を追加する
  • この場合、Aさんは自陣営が勝利しても(例えばクルーでタスク勝利しても) 、Xさんが生きていれば敗北となる(Xさんが死んでいないと勝利できない)
  • ただし、Aさん自身が死んでいる場合はXさんが生きていても敗北することは無い(幽霊のタスク拒否防止)
  • Xさんは設定により一人~複数人設定できる。0人であればこのオプションが無いのと同じ。
  • 勝利条件の追加対象となるAさんはクルー陣営の一部または全員。
  • 殺意の対象となるXさんはクルー陣営または全陣営
  • このオプションでキル能力が追加されたりはしない。あくまでも勝利条件の判定にのみ影響。そのため、AさんはXさんを吊るかインポスターに殺してもらう必要がある。

各陣営への影響 / Effect on each teams

以下の影響によりクルー不利、インポスター陣営/第三陣営が有利になる。
ハンデやバランス調整に使えるかも。

  • クルー陣営の「真実に向かう意思」を弱めることができる。
  • Xを殺したいクルー陣営Aが嘘をつく可能性が生まれる。
  • 早期にインポスターが吊られた場合、残ったクルーにインポスターを生かす理由が生まれる。
  • インポスターがクルーのフリをしやすくなる。

備考 / note

  • ラバーズの相手が殺意の対象にならないようにはしないとダメそう

【タスクで職を得るクルー】[クルー陣営] : ワーカホリック

役職名 / Role Name

ワーカホリック
(別名候補)ラーナー/トレイニー/アシスタント/見習い

役職の色 / Role color

役職の説明 / Role description

タスク完了でランダムな役職に変化する。アサイン時、フラグを立てた上で素クルーとして潜伏する。

役職の能力 / Role ability

  • オプションにより、《ワーカホリック》がアサインされたとき、自身に潜伏フラグを立てた上で役職を《クルー》に変更する。この《クルー》プレイヤーは、自分が《ワーカホリック》候補であることが分からない。
  • 会議の終了時、《ワーカホリック》か潜伏フラグを立てられた《クルー》が生存し、かつ設定割合のタスクを完了しているなら、その役職をオプションの重み付けに応じた確率で変更する。
    • 例えば、重み付けがA職=2 / B職=1 / C職=1である場合、それぞれ50% / 25% / 25%の確率で変更する。
    • 候補が存在しない場合、潜伏《クルー》は《ワーカホリック》になる。
    • オプションにより、覚醒に必要なタスク率をゲームの進行度に伴って減少、または増加させる。この進行度は、プレイヤーの生存人数によって0%~100%になる。
      • この方法で必要なタスク率を軽減すると、タスク遂行能力の差異が薄まり、ゲームの進行に沿った覚醒が発生するようになる。
    • オプションにより、複数の《ワーカホリック》or潜伏《クルー》から重複した役職に変更されなくなる。

他陣営への影響 / Effect on other teams

白役職の存在が曖昧になり、人外陣営はタスク偽装の有効性が上がる。COパワーを下げつつ配分される役職を増やすことができる。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

少し前に話題になっていたので素クルーからタスク完了で職を得る役職を。
白役職の一部に変化するだけでも機能すると思われます。

【クルー陣営】敵の死を知らせよう「ミーディアム」

役職名 / Role Name

ミーディアム

役職の色 / Role color

白っぽい灰色

役職の説明 / Role description

本家人狼で言うところの霊能者・霊媒師
インポスターたちが死んだことを知れる

役職の能力 / Role ability

パッシブ能力

会議での追放や他の陣営のキルなどによってインポスター陣営のプレイヤーが死んだ場合は、次の会議開始時にミーディアム本人にのみ通知が入る。死因は追放・死亡の2種類で区別できる。
ただし役職まではわからず、インポスターがサイドキックになった場合は通知されない(インポスターがサイドキックになってすぐに死んだ場合はニュートラル陣営の死として扱う)
例:「前の会議でインポスターが追放された」「この会議開始までにインポスターが死亡した」
また、複数人一気に死んでも通知内容は変化しないが追放と死亡が同時に起きた場合それぞれ通知される

設定変更によりニュートラル陣営のプレイヤーの死に対しても通知が入る(この場合も役職まで把握できない)
インポスター陣営とニュートラル陣営のプレイヤーの死が同時に通知されることもある

アクティブ能力

なし

能力のメリット

クルーたちはインポスターやニュートラルを追放できたことを知れるので推理が円滑になり、発言内容からのさらなる推理につながる

能力のデメリット

ミーディアム本人が白証明する手段はないので他の陣営が騙りをすることができる
伝えた情報を敵に利用されることもある

他陣営への影響 / Effect on other teams

インポスター陣営・ニュートラル陣営:人数減少がバレるが、騙りができたり全滅させないといけない相手陣営の減少を知る手掛かりにもなる

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

未定:インポスター役職(役職&能力偽装)

役職名 / Role Name

ドッペルゲンガー、ミミック、エミュレーター、ペルソナなど

役職の色 / Role color

役職の説明 / Role description

役職を騙ってクルーを追い詰める

役職の能力 / Role ability

・試合開始時に配役されるクルー役職のいずれかが選ばれ、役職偽装発動中にそのクルー役職の能力が使用可能になる。
・ラバーズは選ばれない。
・偽装中はクルーの視界&移動速度で名前がクルーと同色になり、インポスター仲間からのキルの対象となる。

メリット
・役職COによる白確定ができなくなる。
・偽装中はシェリフからキルされない。

デメリット
・仲間がごちゃキル、キル連打すると誤ってキルされる。
・偽装中はキルできないのでキルペースが落ちる。
・偽装してからクールタイムが経過しないと戻ることはできない。

他陣営への影響 / Effect on other teams

・ジャッカルがいる場合、サイドキックと間違われてキルされる。
・パン屋死亡後にパン屋に偽装して会議に入るとパン屋のメッセージが復活する?

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

[ニュートラル陣営] : トトカルチョ

役職名 / Role Name

トトカルチョ

役職の色 / Role color

TORのオポチュニストと同じ緑色、または金をイメージする黄色

役職の説明 / Role description

プレイヤーに賭けをして、そのプレイヤーが勝利したら便乗で勝利する役職

役職の能力 / Role ability

  • 能力ボタン「賭ける」
    ゲーム中に任意の生存者を賭けてその人が勝利するように支援や応援を行ったりします
    使用回数は変更可能だが別の人を賭けると前回の人から賭け対象が変更となります
    同じ人を何度も賭けて使用回数を消費する事も可能とする
    使用回数が0回となると賭けた対象の役職が分かるようになる
  • 会議中に賭け対象の選択や変更は出来ない(ボタン等が無い)
  • キル、ベント、サボタージュはありません
  • 単独勝利はありません

備考

  • 死んでも勝機はあるので死んだら負け確定のオポチュニストより試合を楽しめると思われます
  • 誰か勝者となるかを推理するので別方向の楽しみ方ができると思われます

確認

  • 幽霊になってからも賭けボタンが機能出来るか

他陣営への影響 / Effect on other teams

クルーやインポスター、第三陣営の味方にも敵にもなります
脅威度はTORのオポチュニストや弁護士と同レベルとなります
クルーからもインポスター等からもTORのオポチュニストと同等扱いなので
トトカルチョCOしたら基本的に吊られます

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

[ニュートラル] : マイナー/Miner (地雷で遠隔キル出来る役職)

役職名 / Role Name

マイナー/Miner

役職の色 / Role color

濃いめの緑

役職の説明 / Role description

地雷で遠隔キルをする役職
ベント使用可能

  • 勝利条件
    • 自分以外の生存者が一人で他の人がクルーか無害な第三陣営(ニート等)の時

役職の能力 / Role ability

  • 地雷設置

    • ボタンを押してから数秒後に地雷が設置され、有効化される
  • 地雷

    • 近くに来たプレイヤー1人を問答無用(アサシンの場合はニュートラルからのキル可能設定時のみ)を吹き飛ばす
      • 複数人来た場合はランダムで1人吹き飛ばす
    • キルアニメーションはマイナーの人のモーション(探偵で調査しやすい)
    • 自分も巻き込まれる
    • 自分も他人にも見えない
    • 会議で消えない
    • 一度起動したらその地雷は撤去される
    • マップに複数設置可能
    • 会議後10秒間作動しない(オプションで設定可)
    • マイナーの人が消えると全部解除される
    • ベント使用可
  • 推理要素的な部分

    • 自分も巻き込まれるため、地雷付近で挙動が不審な人が出てくる
    • 人から離れるような動きを取りやすい人がマイナーの可能性が高い
      • 地雷を設置したい + 一緒に動いて巻き込まれたくない
  • ミッショナリーとの差別化部分

    • 自発的にキルできない
      • ボタンを押して確実に殺せないけど、ミッショナリーより追いにくい
      • 設置した地雷が確実に発動する保証はない
    • 決闘になった時の勝率は高い(近づく必要がなく設置した場所に誘導すれば勝てる)
    • 自決してしまう可能性もある

他陣営への影響 / Effect on other teams

  • 他陣営的には移動経路を簡易的に塞がれるのでむちゃくちゃうざい

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

コンビネーション役職:ヒーロー、ヴィラン、ヴィジランテ(九十九さん提案)

役職名 / Role Name

ヒーロー、ヴィラン、ヴィジランテ

役職の色 / Role color

ヒーロー:天色
ヴィジランテ:藤色

役職の説明 / Role description

  • ヒーロー
    • 生存者が少なくなることで強くなるクルー役職
    • 少なくなることでキル能力等に覚醒していきます
    • ヴィランをキルした場合、返り討ちに合う
  • ヴィラン
    • 最初から強力な能力を持つインポスター役職
    • ありとあらゆるガードシステムを貫通するキル能力を持つ
    • 更にボタンによって発動する能力を持つ
    • ヒーローをキルした場合、返り討ちに合う
  • ヴィジランテ
    • ヒーローとヴィランに殴り合いをさせる盤面を作り出すゲームコントローラ的なニュートラル役職
    • 勝利条件
      1. ヒーローとヴィランが相打ちをして、生き残った場合(この時別陣営の勝利にも乗れる)
      2. ヒーロー/ヴィラン/ヴィジランテの3人のみが生き残る。
      3. ヴィランが落ちた場合はインポスター陣営の勝利
      4. ヒーローが落ちた場合はクルー陣営の勝利

役職の能力 / Role ability

  • ヒーロー
    • パッシブ(解除不可):One for All
      • 生存者が減っていくことで様々な能力が覚醒する
        • 第1段階:パッシブ能力「光の加護」取得
        • 第2段階:キル能力獲得(自分は自爆しない)
        • 第3段階:ボタンの能力付与
    • パッシブ(解除不可):光の加護
      • ヴィラン以外のキルを無効化する
      • 視界設定が最大になる
    • ???
      • 全プレイヤーの位置が矢印と距離で表示される
  • ヴィラン
    • パッシブ(解除不可):デストロイヤー
      • キルボタンのキルが必ず成功する
        • タイムマスターのタイムシールド、ボディーガードのシールド、守護天使のガード等を貫通する
    • パッシブ(解除不可):闇の加護
      • ヒーロー以外のキルを無効化する
    • ???
      • 全プレイヤーの位置が矢印と距離で表示される
  • ヴィジランテ
    • パッシブ(解除不可):???
      • 自身はヒーロー及びヴィランにはキルされない。その他のキルや投票による追放は有効。
    • エマージェンシーコール
      • ミドルレンジ内の対象1人の居場所を一定時間(調整可能最大1分程)ヒーローに知らせる、使用時ヴィランに自身の居場所がわかる。

他陣営への影響 / Effect on other teams

なし、この3つの役職が勝手にバランスを調整する

陣営 / Team

  • :ヒーロー、 クルー/Crewmate
  • :ヴィラン、インポスター/Impostor
  • :ヴィジランテ、 ニュートラル/Neutral

???:クルー陣営(自分がキルされた時の能力)

役職名 / Role Name

(決めてない)

役職の色 / Role color

(決めてない)

役職の説明 / Role description

・キルされると数秒後に自身の死体の方向を知らせるクルー役職。

役職の能力 / Role ability

・自身がキルされると、数秒後(初期設定10秒)に自身の死体のある方向を全プレイヤーに表示させる。
メリット
・矢印が出るため長い間、死体が見つからないということがない。
・別の死体が通報されても矢印の方向である程度場所がわかる。
デメリット
・キルされないと能力を発動できない。
・キルされてもすぐ矢印が出ないため、すぐに会議が挟まったり、死体を消されると能力が発揮できない。
・全プレイヤーに表示されるため、クラッカーや、エボルバー等に死体の位置がバレる。

他陣営への影響 / Effect on other teams

キル役職に影響が出ると思います。

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

何としてでも生き残ることが目標の第三陣営

役職名 / Role Name

プレッサー(仮)

役職の色 / Role color

黒っぽい赤

役職の説明 / Role description

他人を身代わりにしてでも生き残れ。
仕事もやろう。

役職の能力 / Role ability

他人に自分の死を押し付ける第三陣営。システム的にはクルー役職ボディーガードの逆バージョン。
対象に自分だけに見える赤い縁取りを付与して自分がキルされた時に代わりに死んでもらう役職。
能力を発動できるのは会議を挟むたびに一回のみで試合全体では設定で変えて最大値は15回くらい。
会議毎一回の理由は複数人に能力を使った際の処理がめんどくさそうだったから。

仮案ではクルーメイトにのみ能力が発動でき勝利条件はタスクを終わらせたうえで生き残り続けること。
他の陣営の勝利に乗っかることができる。
設定で他陣営の勝利を乗っ取ることができるのもいいかもしれない。

クルー陣営だけに使えるのは一部第三陣営の理不尽な死を防ぐためである。
ここは設定でインポスターや第三陣営が相手でも能力を発動できるよう切り替えできてもいいかもしれない。

タスクがある理由は暇にならないように。
あと、ただ生き残るだけだとTORのオポチュニストとほとんど変わらないので。

この役職の欠点をあげていくと

  • 基本ルールだとクルー陣営以外に能力を使うと効果が発動しないこと。

  • 身代わり先が先に死ぬと効果が使えないこと。

  • 他の陣営への影響力が他と比べてそんなにないこと。

辺りでしょうか

他陣営への影響 / Effect on other teams

クルー陣営としては味方が身代わりにされてしまうからなるべく排除しておきたい存在。

インポスターや第三陣営は特に影響はないが勝利条件的に途中で裏切られる可能性もあるから
やっぱり排除しておきたい存在。

陣営 / Team

  • クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

ギャンブラー(仮称):インポスター役職

役職名 / Role Name

ギャンブラー(仮称)

役職の色 / Role color

インポスターと同様

役職の説明 / Role description

キル時に確率で特殊効果が付くネタインポスター役職.
ゲーム開始時の文言は「大当たりを出せ!」

役職の能力 / Role ability

キル時に5%の確率で以下の特殊効果からいずれかがランダムで発生する.
なお特殊効果発生時には一定時間*画面の周辺にキラキラとしたエフェクトが発生する.

  • キルクールタイムが短くなる
  • 死体が消える
  • 自身の姿が一定時間*他のクルーから見えなくなる(TORのニンジャと同様,移動速度は要検討)
  • その場に,一定時間*後に爆発するボムを設置する(ボマーと同様)
    *能力の発動時間で設定した時間

また,能力のクールタイムが経過するごとに1回判定を行い,3%の確率でフィーバータイムに突入する.
フィーバータイムの特徴は以下の通り.

  • キルボタンが“押せ!”という表示に変わる
  • 体が虹色に光る(自身と味方インポスター以外からは見えない)
  • この状態でキルした場合,確定で特殊効果が発生する

フィーバータイムの時間と特殊能力およびフィーバータイムの確率は設定可能.

メリット

  • 見た目が楽しい
  • 特殊能力やフィーバータイムが発動するとテンションが上がる

デメリット

  • 特殊能力の発動を自分で制御できない

開発者のデメリット

  • 能力の判定回数が多い

他陣営への影響 / Effect on other teams

  • 死体が消えている時の推理要素が増える
  • 死体が複数並んでいる時の推理要素が増える

陣営 / Team

  • :クルー/Crewmate
  • :インポスター/Impostor
  • :ニュートラル/Neutral

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.