メインコンテンツまでスキップ

MegaBlock Survivors メタプログレッション

MegaBlock Survivors にはランを跨ぐ進行レイヤーである Soul Echoes があります。Soul Echoes は試合中に集められ、Soul Echo Shrine で消費することで、以降すべてのランにおけるプレイヤーの開始ロードアウトを恒久的に強化できます。

永続的な状態は plugins/MegaBlockSurvivors/meta_progression.yml にプレイヤー UUID をキーとして保存されます。保存は同期的に行われるため、呼び出しが戻った時点でディスク上の状態には常に最新の変更が反映されています。

Soul Echoes の獲得

試合中の主要な入手元は Soul Shard Cache POI 報酬です。各キャッシュはプレイヤーのメタプログレッション残高に直接 Soul Echoes を加算し、チャットにフィードバック行を表示します。ラン中の未フラッシュ残高も試合終了時に加算されます。

シュラインを開く

/mbs meta

Soul Echo Shrine ダイアログを開きます。ダイアログには以下が表示されます:

  • 現在の Soul Echo 残高。
  • 各アップグレードトラックの現在レベル、上限、現在の実効ステータス、次レベルのプレビュー、次レベルのコスト。
  • トラックごとの購入ボタン (または MAXED 表示)。
/mbs meta upgrade <track>

指定したトラックを 1 レベル購入し、ダイアログを再度開きます。これにより複数のアップグレードを連続して購入できます。

アップグレードトラック

トラックコマンドキー上限効果
Starting HPhp4Lv 0 = 10 HP (基準)、レベル毎に +2 HP。最大: 18 HP。
Starting Luckluck4Lv 0 = 幸運 0、レベル毎に +2 幸運。最大: 8。
Starting Speedspeed4BASE_WALK_SPEED に対する移動速度倍率。Lv 0 = 1.00 倍、レベル毎に +0.05。最大: 1.20 倍。
Weapon Slotsweaponslots1Lv 0 = 1 スロット、Lv 1 = 2 スロット。
Passive Slotspassiveslots3Lv 0 = 2 スロット、レベル毎に +1。最大: 5 スロット。
Extra Livesextralives2保管された Second Wind リバイブ。Lv 1 = 1 ライフ、Lv 2 = 2 ライフ。
Ban Tokensbantokens3報酬選択肢を残りラン中プールから恒久的に取り除けるラン単位のトークン。
Reroll Tokensrerolltokens3現在の報酬トリオを引き直すラン単位のトークン。

コストカーブ

ほとんどのトラックは既定の等比カーブを使用します:

cost(targetLevel) = round(10 * 2.5^(targetLevel - 1))

目標レベルコスト (Soul Echoes)
110
225
363
4156

Extra Lives は手動調整されており、代わりに固定スケジュールを使用します: 1 ライフ目は 100、2 ライフ目は 200

Ban / Reroll の仕組み

Ban トラックと Reroll トラックは、プレイヤーがレベルアップ報酬画面から消費できるラン単位のトークンを付与します:

  • Ban -- Ban トークンを 1 つ消費し、選んだ装備タイプをラン全体の「禁止」セットに追加します。プールビルダーは、そのラン以降のすべての報酬抽選で禁止タイプを除外します。アップグレードしたくないパッシブを取り除き、そのスロットで別のものを引き続き提供させたい場合に便利です。
  • Reroll -- Reroll トークンを 1 つ消費し、(Ban 後の) プールから現在の 3 つの報酬を引き直します。プールへの恒久的な変更はありません。

両ボタンは報酬画面のヘッダー行に残りのトークン数と並べて表示されます (X bans X rerolls)。どちらのトラックも解除されていない場合は、よりシンプルな「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 の該当セクションを編集または削除してください。