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) -- 無獎盃時為 100,帶 1 / 2 / 3 個 Boss Tribute 時為 150 / 225 / 約 338 |
| Soul Shard Cache POI | 50,會立即存入持久化餘額(略過比賽結束時的結算) |
Ghost army 生物的獎勵被關閉,不會掉落任何東西。
開啟神龕
/mbs meta
開啟 Soul Echo Shrine 對話。對話會顯示:
- 目前 Soul Echo 餘額。
- 每條升級分支的目前等級、上限、目前實際屬性、下一級預覽與下一級花費。
- 每條分支的購買按鈕(或
MAXED指示)。
/mbs meta upgrade <track>
為指定分支購買單一等級,並重新開啟對話以便連續購買多個升級。
升級分支
| 分支 | 指令鍵 | 上限 | 效果 |
|---|---|---|---|
| Starting HP | hp | 4 | Lvl 0 = 10 HP(基準),每級 +2 HP。滿級:18 HP。 |
| Starting Luck | luck | 4 | Lvl 0 = 0 幸運,每級 +2 幸運。滿級:8。 |
| Starting Speed | speed | 4 | 套用於 BASE_WALK_SPEED 的步行速度倍率。Lvl 0 = 1.00x,每級 +0.05。滿級:1.20x。 |
| Weapon Slots | weaponslots | 1 | Lvl 0 = 1 格,Lvl 1 = 2 格。 |
| Passive Slots | passiveslots | 3 | Lvl 0 = 2 格,每級 +1。滿級:5 格。 |
| Extra Lives | extralives | 2 | 已存入的 Second Wind 復活。Lvl 1 = 1 條命,Lvl 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 為手動調整,採用固定花費表:第一條命 100,第二條命 200。
Ban / Reroll 機制
Ban 與 Reroll 分支會給予每場比賽的代幣,玩家可在任何獎勵畫面消耗它們 -- 升級、寶箱或沙漏皆可。畫面會在提供這些按鈕之前先暫存自己的獎勵池類型,因此在寶箱畫面重抽會重新抽取被動道具,在沙漏畫面重抽則會重新抽取完整獎勵池。
- Ban -- 消耗一枚禁用代幣,並把所選的裝備類型加入一份貫穿整場比賽的「banned」清單。獎勵池建構器會在本場所有後續獎勵抽取時過濾掉被禁用的類型,包括獎勵池為空時的備援抽取。適合用來移除某個你不打算升級的被動道具,讓那個欄位能繼續提供其他選項。
- 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 結算時,以及插件停用時)。
重置進度
並無遊戲內指令可以清除元進度。若要為單一玩家(或所有人)重置,請先停止伺服器,再編輯 / 刪除 meta_progression.yml 中相關區段。