Zum Hauptinhalt springen

MegaBlock Survivors Meta-Progression

MegaBlock Survivors hat eine Fortschrittsschicht zwischen den Durchläufen, die Soul Echoes heißt. Soul Echoes werden während der Matches gesammelt und am Soul-Echo-Schrein ausgegeben, um die Startausrüstung des Spielers für alle zukünftigen Durchläufe dauerhaft zu verbessern.

Der persistente Zustand liegt in plugins/MegaBlockSurvivors/meta_progression.yml, indiziert nach Spieler-UUID. Speichervorgänge sind synchron, sodass der Festplatten-Zustand beim Rückkehrzeitpunkt des Aufrufs stets die aktuelle Änderung widerspiegelt.

Soul Echoes verdienen

Die primäre Quelle innerhalb eines Matches ist die POI-Belohnung Soul Shard Cache. Jeder Cache fügt direkt Soul Echoes zum Meta-Progression-Guthaben des Spielers hinzu und zeigt eine Feedback-Zeile im Chat. Jeglicher noch nicht gebuchter Guthabenstand innerhalb des Durchlaufs wird zudem beim Match-Abbau hinzugefügt.

Den Schrein öffnen

/mbs meta

Öffnet den Soul-Echo-Schrein-Dialog. Der Dialog zeigt:

  • Aktuelles Soul-Echo-Guthaben.
  • Für jeden Upgrade-Track: aktuelles Level, Maximum, aktuell wirksamer Statuswert, Vorschau auf das nächste Level und Kosten des nächsten Levels.
  • Eine Kaufschaltfläche pro Track (oder eine MAXED-Anzeige).
/mbs meta upgrade <track>

Kauft eine einzelne Stufe auf dem benannten Track und öffnet den Dialog erneut, sodass mehrere Upgrades direkt hintereinander gekauft werden können.

Upgrade-Tracks

TrackCommand-KeyCapEffekt
Starting HPhp4Lvl 0 = 10 HP (Standard), +2 HP pro Level. Maxed: 18 HP.
Starting Luckluck4Lvl 0 = 0 Glück, +2 Glück pro Level. Maxed: 8.
Starting Speedspeed4Multiplikator auf die Laufgeschwindigkeit (BASE_WALK_SPEED). Lvl 0 = 1,00x, +0,05 pro Level. Maxed: 1,20x.
Weapon Slotsweaponslots1Lvl 0 = 1 Slot, Lvl 1 = 2 Slots.
Passive Slotspassiveslots3Lvl 0 = 2 Slots, +1 pro Level. Maxed: 5 Slots.
Extra Livesextralives2Hinterlegte Second-Wind-Wiederbelebungen. Lvl 1 = 1 Leben, Lvl 2 = 2 Leben.
Ban Tokensbantokens3Pro-Durchlauf-Tokens, die eine Belohnungs­option für den Rest des Durchlaufs dauerhaft aus dem Pool entfernen.
Reroll Tokensrerolltokens3Pro-Durchlauf-Tokens, die das aktuelle Belohnungs-Trio neu ziehen.

Kostenkurve

Die meisten Tracks verwenden die geometrische Standardkurve:

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

Ziel-LevelKosten (Soul Echoes)
110
225
363
4156

Extra Lives ist handgetunt und verwendet stattdessen einen festen Plan: 100 für das erste Leben, 200 für das zweite.

Bann-/Reroll-Mechanik

Die Tracks Bann und Reroll gewähren Pro-Durchlauf-Tokens, die der Spieler vom Level-Up-Belohnungsbildschirm aus ausgeben kann:

  • Bann -- verbraucht einen Bann-Token und fügt den gewählten Ausrüstungstyp einer durchlaufweit gültigen "Bann"-Liste hinzu. Der Pool-Builder filtert verbannte Typen aus allen zukünftigen Belohnungs-Würfen dieses Durchlaufs. Nützlich, um ein Passiv auszuschließen, an dessen Upgrade kein Interesse besteht, damit dessen Slot weiterhin etwas anderes anbietet.
  • Reroll -- verbraucht einen Reroll-Token und zieht das aktuelle Belohnungs-Trio aus dem (post-Bann-)Pool neu. Keine permanente Pool-Änderung.

Beide Schaltflächen erscheinen auf der Kopfzeile des Belohnungs­bildschirms neben den verbleibenden Token-Anzahlen (X bans X rerolls). Ist keiner der Tracks freigeschaltet, wird stattdessen eine schlichtere Kopfzeile "Pick your reward!" angezeigt.

Die Token-Bestände werden zu Beginn jedes Matches auf den vom Meta-Progression-Track bestimmten Wert zurückgesetzt -- sie werden nicht übertragen.

Speicherformat

Layout von 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

Der Cache ist nebenläufig und wird bei jedem Aufruf von MetaProgressionManager.save() auf die Festplatte geschrieben (beim Kauf, beim Soul-Echo-Flush am Match-Ende und beim Deaktivieren des Plugins).

Fortschritt zurücksetzen

Es gibt keinen In-Game-Befehl, um die Meta-Progression zu löschen. Um sie für einen Spieler (oder für alle) zurückzusetzen, den Server stoppen und den entsprechenden Abschnitt in meta_progression.yml bearbeiten oder löschen.