跳至主要內容

MegaBlock Survivors 元進度

MegaBlock Survivors 使用 Soul Echoes 提供跨場次成長。玩家在比賽中蒐集 Soul Echoes,再到 Soul Echo Shrine 消費,永久改善後續比賽的起始配置。

持久化狀態存於 plugins/MegaBlockSurvivors/meta_progression.yml,並以玩家 UUID 作為索引。儲存同步執行,並以原子方式取代檔案。如果購買的儲存失敗,扣款和升級都會回復。獲得的 Soul Echoes 在儲存失敗後仍留在記憶體中,但在後續儲存成功之前,重啟可能使其遺失。載入失敗會保留現有記憶體狀態,並禁止儲存和購買,直到重新載入成功。請在伺服器日誌中檢查持久化錯誤。

取得 Soul Echoes​

Soul Echoes 在比賽中以名為 Soul Echo 的 LAPIS_LAZULI 掉落,累積在玩家物品欄中,並於比賽結束清理時結算到持久化餘額。結算只依材質識別,因此會消耗並計入物品欄中的所有青金石,包括從外部帶入的一般青金石。請將小遊戲物品欄與生存物品欄分開。

來源數量
任何一般(非首領)生物擊殺1,每次擊殺以 1% 機率擲骰
傳送門蠍王 -- Normal10-15,必定
傳送門蠍王 -- Elite15-24,必定
傳送門蠍王 -- Nightmare25-35,必定
最終首領(Challenge 模式)round(100 * 1.5^tributes) -- 無獎盃時為 100,帶 1 / 2 / 3 個 Boss Tribute 時為 150 / 225 / 約 338
Soul Shard Cache POI50,會立即存入持久化餘額(略過比賽結束時的結算)

Ghost army 生物的獎勵被關閉,不會掉落任何東西。

開啟神龕​

/mbs meta

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

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

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

比賽中也允許購買。武器與被動欄位限制讀取目前的進度紀錄,因此能在本場比賽中改變。初始 HP、幸運、速度、額外生命、禁用代幣與重抽代幣則在玩家初始化時複製;購買這些分支不會在已開始的比賽中補充或改變其初始值。

升級分支​

分支指令鍵上限效果
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:消耗一枚禁用代幣,把所選裝備類型加入本場比賽的禁用集合。後續抽取與第一次備援抽取都會過濾這些類型。如果備援池中的所有類型也被禁用,最後的備援方案會恢復未過濾的獎勵池,因此候選耗盡時不能保證禁用類型永不返回。可用它排除不想升級的被動道具,取得其他選項。
  • Reroll -- 消耗一枚重抽代幣,從(已套用 ban 的)獎勵池重新抽取目前的三選一獎勵。不會對獎勵池造成永久變化。

剩餘的代幣數會顯示在獎勵畫面的標題列(Pick your reward! | X bans X rerolls)。Ban 是每個選項各一個的按鈕 -- 三個選項底下各有一個「Ban <name>」控制項 -- 而 Reroll 則是畫面層級的單一按鈕。任一控制項在其代幣數歸零時會被完全隱藏;若完全沒有代幣,標題會退回單純的「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 結算時、拾取 Soul Shard Cache 時,以及插件停用時)。

重置進度​

並無遊戲內指令可以清除元進度。若要為單一玩家(或所有人)重置,請先停止伺服器,再編輯 / 刪除 meta_progression.yml 中相關區段。