MegaBlock Survivors メタプログレッション
MegaBlock Survivors にはランを跨ぐ進行レイヤーである Soul Echoes があります。Soul Echoes は試合中に集められ、Soul Echo Shrine で消費することで、以降すべてのランにおけるプレイヤーの開始ロードアウトを恒久的に強化できます。
永続的な状態は plugins/MegaBlockSurvivors/meta_progression.yml にプレイヤー UUID をキーとして保存されます。保存は同期的に行われるため、呼び出しが戻った時点でディスク上の状態には常に最新の変更が反映されています。
Soul Echoes の獲得
Soul Echoes は試合中に Soul Echo と表示された LAPIS_LAZULI のキャリアアイテムとしてドロップします。ラン中はプレイヤーのインベントリに蓄積され、試合終了時に永続残高へフラッシュされます。
| 入手元 | 量 |
|---|---|
| 通常 (非ボス) モブの撃破 | 撃破ごとに 1% の抽選で 1 |
| ポータルスコーピオン -- Normal | 10〜15、確定 |
| ポータルスコーピオン -- Elite | 15〜24、確定 |
| ポータルスコーピオン -- Nightmare | 25〜35、確定 |
| ラストボス (Challenge モード) | round(100 * 1.5^tributes) -- Tribute なしで 100、Boss Tribute 1 / 2 / 3 個で 150 / 225 / 約 338 |
| Soul Shard Cache POI | 50。即座に永続残高へ預け入れられます (試合終了時のフラッシュを経由しません) |
Ghost Army のモブは報酬が無効化されており、何もドロップしません。
シュラインを開く
/mbs meta
Soul Echo Shrine ダイアログを開きます。ダイアログには以下が表示されます:
- 現在の Soul Echo 残高。
- 各アップグレードトラックの現在レベル、上限、現在の実効ステータス、次レベルのプレビュー、次レベルのコスト。
- トラックごとの購入ボタン (または
MAXED表示)。
/mbs meta upgrade <track>
指定したトラックを 1 レベル購入し、ダイアログを再度開きます。これにより複数のアップグレードを連続して購入できます。
アップグレードトラック
| トラック | コマンドキー | 上限 | 効果 |
|---|---|---|---|
| Starting HP | hp | 4 | Lv 0 = 10 HP (基準)、レベル毎に +2 HP。最大: 18 HP。 |
| Starting Luck | luck | 4 | Lv 0 = 幸運 0、レベル毎に +2 幸運。最大: 8。 |
| Starting Speed | speed | 4 | BASE_WALK_SPEED に対する移動速度倍率。Lv 0 = 1.00 倍、レベル毎に +0.05。最大: 1.20 倍。 |
| Weapon Slots | weaponslots | 1 | Lv 0 = 1 スロット、Lv 1 = 2 スロット。 |
| Passive Slots | passiveslots | 3 | Lv 0 = 2 スロット、レベル毎に +1。最大: 5 スロット。 |
| Extra Lives | extralives | 2 | 保管された Second Wind リバイブ。Lv 1 = 1 ライフ、Lv 2 = 2 ライフ。 |
| Ban Tokens | bantokens | 3 | 報酬選択肢を残りラン中プールから恒久的に取り除けるラン単位のトークン。 |
| Reroll Tokens | rerolltokens | 3 | 現在の報酬トリオを引き直すラン単位のトークン。 |
コストカーブ
ほとんどのトラックは既定の等比カーブを使用します:
cost(targetLevel) = round(10 * 2.5^(targetLevel - 1))
| 目標レベル | コスト (Soul Echoes) |
|---|---|
| 1 | 10 |
| 2 | 25 |
| 3 | 63 |
| 4 | 156 |
Extra Lives は手動調整されており、代わりに固定スケジュールを使用します: 1 ライフ目は 100、2 ライフ目は 200。
Ban / Reroll の仕組み
Ban トラックと Reroll トラックは、プレイヤーが あらゆる 報酬画面 -- レベルアップ、チェスト、砂時計 -- から消費できるラン単位のトークンを付与します。各画面はボタンを提示する前に自身のプールタイプを保存するため、チェスト画面での Reroll はパッシブを引き直し、砂時計画面での Reroll は全プールを引き直します。
- Ban -- Ban トークンを 1 つ消費し、選んだ装備タイプをラン全体の「禁止」セットに追加します。プールビルダーは、そのラン以降のすべての報酬抽選で禁止タイプを除外します。プールが空になった場合のフォールバックでも同様です。アップグレードしたくないパッシブを取り除き、そのスロットで別のものを引き続き提供させたい場合に便利です。
- Reroll -- Reroll トークンを 1 つ消費し、(Ban 後の) プールから現在の 3 つの報酬を引き直します。プールへの恒久的な変更はありません。
残りの数は報酬画面のヘッダー行に表示されます (Pick your reward! | X bans X rerolls)。Ban は スロットごと のボタンで、3 つの選択肢それぞれの下に「Ban <name>」のコントロールが 1 つずつ付きます。一方 Reroll は画面全体に 1 つのボタンです。各コントロールは対応するトークン数が 0 になると完全に非表示になり、トークンが一切ない場合はヘッダーがシンプルな「Pick your reward!」に戻ります。
トークン残高は試合開始時にメタプログレッショントラックで決定された値にリセットされます -- 持ち越されません。
保存形式
meta_progression.yml のレイアウト:
players:
<player-uuid>:
soulEchoes: 0
tracks:
startingHp: 0
startingLuck: 0
startingSpeed: 0
weaponSlots: 0
passiveSlots: 0
extraLives: 0
banTokens: 0
rerollTokens: 0
キャッシュは並行アクセス対応で、MetaProgressionManager.save() が実行されるたびに (購入時、試合終了時の Echo フラッシュ時、プラグイン無効化時) ディスクへフラッシュされます。
進行のリセット
メタプログレッションを消去するゲーム内コマンドはありません。特定のプレイヤー (または全員) についてリセットするには、サーバーを停止し meta_progression.yml の該当セクションを編集または削除してください。