跳至主要内容

MegaBlock Survivors 元進度

MegaBlock Survivors 擁有一個跨比賽的進度層,稱為 Soul Echoes。Soul Echoes 在比賽中蒐集,並在 Soul Echo Shrine 中花費,用以永久強化玩家在所有未來比賽中的起始配置。

持久化狀態存於 plugins/MegaBlockSurvivors/meta_progression.yml,並以玩家 UUID 作為索引。儲存為同步寫入,因此每次呼叫返回時,磁碟上的狀態都是最新的。

取得 Soul Echoes

比賽中主要的來源是 Soul Shard Cache POI 獎勵。每個 cache 會直接把 Soul Echoes 加入玩家的元進度餘額,並在聊天中顯示一行回饋訊息。本場比賽中所有未結算的餘額也會在比賽拆除時加入。

開啟神龕

/mbs meta

開啟 Soul Echo Shrine 對話。對話會顯示:

  • 目前 Soul Echo 餘額。
  • 每條升級分支的目前等級、上限、目前實際屬性、下一級預覽與下一級花費。
  • 每條分支的購買按鈕(或 MAXED 指示)。
/mbs meta upgrade <track>

為指定分支購買單一等級,並重新開啟對話以便連續購買多個升級。

升級分支

分支指令鍵上限效果
Starting HPhp4Lvl 0 = 10 HP(基準),每級 +2 HP。滿級:18 HP。
Starting Luckluck4Lvl 0 = 0 幸運,每級 +2 幸運。滿級:8。
Starting Speedspeed4套用於 BASE_WALK_SPEED 的步行速度倍率。Lvl 0 = 1.00x,每級 +0.05。滿級:1.20x。
Weapon Slotsweaponslots1Lvl 0 = 1 格,Lvl 1 = 2 格。
Passive Slotspassiveslots3Lvl 0 = 2 格,每級 +1。滿級:5 格。
Extra Livesextralives2已存入的 Second Wind 復活。Lvl 1 = 1 條命,Lvl 2 = 2 條命。
Ban Tokensbantokens3每場比賽的代幣,可在本場剩餘時間內永久把某個獎勵選項從池中移除。
Reroll Tokensrerolltokens3每場比賽的代幣,用以重新抽取目前的三選一獎勵。

花費曲線

大多數分支採用預設的幾何曲線:

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

目標等級花費(Soul Echoes)
110
225
363
4156

Extra Lives 為手動調整,採用固定花費表:第一條命 100,第二條命 200

Ban / Reroll 機制

Ban 與 Reroll 分支會給予每場比賽的代幣,可在升級獎勵畫面消耗:

  • Ban -- 消耗一枚禁用代幣,並把所選的裝備類型加入一份貫穿整場比賽的「banned」清單。獎勵池建構器會在本場所有後續獎勵抽取時過濾掉被禁用的類型。適合用來移除某個你不打算升級的被動道具,讓那個欄位能繼續提供其他選項。
  • Reroll -- 消耗一枚重抽代幣,從(已套用 ban 的)獎勵池重新抽取目前的三選一獎勵。不會對獎勵池造成永久變化。

這兩個按鈕會與剩餘代幣數一起顯示在獎勵畫面的標題列(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 中相關區段。