IDと入力値
WAVEの計算に使うIDをまとめます。 対象はSplatoon 3の11.3.0です。 数値のステージIDとCop_*名は 同じステージを表す別の書き方です。
ステージ
数値IDと種類はCoopSceneInfoにある14行から取得しました。 日本語名は11.3.0の表示データと照合しています。 Rustのwavesコマンドには数値IDではなく、 表のCop_*名を渡します。
| 種類 | 数値ID | Cop_*名 | 日本語表示名 |
|---|---|---|---|
| 通常 | 1 | Cop_Shakeup | シェケナダム |
| 通常 | 2 | Cop_Shakespiral | アラマキ砦 |
| 通常 | 4 | Cop_Shakelift | トキシラズいぶし工房 |
| 通常 | 6 | Cop_Shakeship | 難破船ドン・ブラコ |
| 通常 | 7 | Cop_Shakedent | ムニ・エール海洋発電所 |
| 通常 | 8 | Cop_Shakehighway | すじこジャンクション跡 |
| 通常 | 9 | Cop_Shakerail | どんぴこ闘技場 |
| Big Run | 100 | Cop_Carousel | スメーシーワールド |
| Big Run | 102 | Cop_Upland | 海女美術大学 |
| Big Run | 103 | Cop_Temple | マテガイ放水路 |
| Big Run | 104 | Cop_Factory | ナンプラー遺跡 |
| Big Run | 105 | Cop_Section | タラポートショッピングパーク |
| Big Run | 106 | Cop_District00 | ゴンズイ地区 |
| Big Run | 107 | Cop_Manbou00 | グランドバンカラアリーナ |
Cop_Tutorialのステージデータもありますが、 この14行にはないため数値IDを付けていません。 Cop_District00とCop_Manbou00の日本語名は 表示データで末尾の00を省いた名前と対応付けています。
部屋設定とゲーム中の設定通知にはCop_*名が入ります。 選択シナリオには別の数値StageId欄もありますが、 保存通信から上表の全IDを確かめたわけではありません。
JobType
JobTypeはバイトの種類を示すIDです。 0~4の英語名はthunder_scenario_generatorに合わせています。 11.3.0では0~7を区別する処理がありますが、 5~7の名称はまだ分かっていません。
| ID | 外部実装名 | 確認した処理 | Rustのwaves |
|---|---|---|---|
| 0 | Regular | 通常のバイト。参加者の評価値を難易度に使う | 対応 |
| 1 | Private | プライベートバイト用の設定経路 | 対応 |
| 2 | TeamContest | 条件により通常のイベント抽選を省く | 非対応 |
| 3 | Contest | 確認したWAVE設定分岐はID 2と同じ | 非対応 |
| 4 | BigRun | 条件によりBig Run用の設定を使う | 非対応 |
| 5 | 未特定 | 固有の分岐は未確認 | 非対応 |
| 6 | 未特定 | 敵の予定表の並べ替えなどに関係する | 非対応 |
| 7 | 未特定 | コンテスト用のWAVE設定を直接読む | 非対応 |
2~4の処理はJobTypeだけでは決まりません。 ゲーム中のモード状態も必要です。 選択したプライベートバイトのシナリオが 必ずJobType 1になるかも未確認です。
イベントと潮位
イベントIDはWAVE設定の分岐と共通設定のキーを照合しました。 表の英語名は設定内のキーです。 画面に出る日本語名との対応はまだ確定していません。
| イベントID | 設定キー |
|---|---|
| 0 | EventNone |
| 1 | EventRush |
| 2 | EventGeyser |
| 3 | EventDozer |
| 4 | EventHakobiya |
| 5 | EventFog |
| 6 | EventMissile |
| 7 | EventRelay |
| 8 | EventTamaire |
| 潮位ID | 意味 |
|---|---|
| 0 | 干潮(Low) |
| 1 | 通常(Mid) |
| 2 | 満潮(High) |
イベントと潮位は、抽選後に人数などの条件で 書き換わる場合があります。 WAVE 情報で生成値と適用値の違いを説明します。
Rustに渡す値
| 引数 | 指定する値 |
|---|---|
scene_s0~scene_s3 | 実効シーンシード。通信のゲームシードをそのまま使えるかは未確認 |
Cop_stage | 上表のCop_*名。数値IDは受け付けない |
job_type | 現在のwavesコマンドでは0または1 |
effective_difficulty | 実効難易度の整数、0~1665 |
is_big_run | 実行時のIsBigRun相当フラグ、0または1 |
global_word | イベント候補の条件判定に使う実行時値。ゲームシードからは決まらない |
players=1..4 | 任意。JobType 1で、各WAVEの実効参加人数が同じという仮定の下で直接適用値を表示 |
この入力で表示できるのは、条件付きの計算結果です。 通信のゲームシードが実効シーンシードになったことや、 実際の敵の出現までは証明できません。
参考資料
- ステージIDと種類: 11.3.0の
CoopSceneInfo。 - 日本語名: 11.3.0の
CoopStageName.msbt。 - JobTypeの名称は thunder_scenario_generator の
Sources/Thunder/Enum/JobType.swift(リポジトリ非公開)を参照しました。 コミット103627efe3c6a99215b64b5c11f36de8fb88e478の0~4の名称です。 - 動作とイベントID: 11.3.0の実行ファイルとステージ設定。 Rust実装は
tools/salmon-wave-lookahead/src/wave.rs。