Zum Hauptinhalt springen

MegaBlock Survivors Meta-Progression

MegaBlock Survivors bietet mit Soul Echoes einen Fortschritt, der zwischen Durchläufen erhalten bleibt. 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 dauerhafte Spielstand liegt in plugins/MegaBlockSurvivors/meta_progression.yml, geordnet nach Spieler-UUID. Speichervorgänge sind synchron und ersetzen die Datei atomar. Schlägt das Speichern eines Kaufs fehl, werden Kosten und Verbesserung zurückgesetzt. Verdiente Soul Echoes bleiben nach einem Speicherfehler im Arbeitsspeicher, können aber bei einem Neustart verloren gehen, solange kein späterer Speichervorgang erfolgreich war. Ein Ladefehler bewahrt den vorhandenen Speicherstand und blockiert Speichern und Käufe bis zu einem erfolgreichen Neuladen. Prüfe das Serverlog auf Speicherfehler.

Soul Echoes verdienen​

Soul Echoes droppen im Match als LAPIS_LAZULI-Item mit der Bezeichnung Soul Echo. Sie sammeln sich während des Durchlaufs im Inventar des Spielers und werden beim Match-Abbau in das dauerhafte Guthaben übertragen. Diese Übertragung erkennt sie ausschließlich am Material. Deshalb wird sämtlicher Lapislazuli im Inventar verbraucht und gezählt, auch gewöhnlicher Lapislazuli, der ins Match mitgebracht wurde. Halte das Minispiel-Inventar getrennt vom Survival-Inventar.

QuelleMenge
Beliebiger regulärer Mob-Kill (kein Boss)1, mit einem Wurf von 1 % pro Kill
Portal-Skorpion -- Normal10-15, garantiert
Portal-Skorpion -- Elite15-24, garantiert
Portal-Skorpion -- Nightmare25-35, garantiert
Endboss (Challenge-Modus)round(100 * 1.5^tributes) -- 100 ohne Tribute, 150 / 225 / ~338 bei 1 / 2 / 3 Boss-Tributen
POI Soul Shard Cache50, sofort auf das persistente Guthaben gebucht (umgeht den Flush am Match-Ende)

Mobs der Geisterarmee sind belohnungsdeaktiviert und lassen nichts fallen.

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.

Käufe sind auch während eines Matches möglich. Die Limits für Waffen- und Passivplätze lesen den aktuellen Fortschritt und können sich deshalb im laufenden Match ändern. Start-HP, Glück, Geschwindigkeit, Leben, Bann- und Reroll-Tokens werden bei der Initialisierung des Spielers übernommen. Der Kauf dieser Upgrades füllt sie in einem bereits laufenden Match nicht auf und ändert dort auch ihre Startwerte nicht.

Upgrade-Pfade​

PfadBefehlsschlüsselMaximumEffekt
Start-HPhp4Stufe 0 = 10 HP (Grundwert), +2 HP pro Stufe. Maximum: 18 HP.
Start-Glückluck4Stufe 0 = 0 Glück, +2 Glück pro Stufe. Maximum: 8.
Start-Geschwindigkeitspeed4Multiplikator auf die Laufgeschwindigkeit BASE_WALK_SPEED. Stufe 0 = 1,00x, +0,05 pro Stufe. Maximum: 1,20x.
Waffenplätzeweaponslots1Stufe 0 = 1 Platz, Stufe 1 = 2 Plätze.
Plätze für passive Itemspassiveslots3Stufe 0 = 2 Plätze, +1 pro Stufe. Maximum: 5 Plätze.
Zusätzliche Lebenextralives2Gespeicherte Second-Wind-Wiederbelebungen. Stufe 1 = 1 Leben, Stufe 2 = 2 Leben.
Bann-Tokensbantokens3Tokens pro Durchlauf, die einen Ausrüstungstyp aus späteren Ziehungen filtern. Die unten beschriebene Ersatzauswahl bei ausgeschöpftem Pool bleibt eine Ausnahme.
Reroll-Tokensrerolltokens3Tokens pro Durchlauf, die die aktuellen drei Belohnungen 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

Zusätzliche Leben haben stattdessen eigens festgelegte Kosten: 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 von jedem Belohnungsbildschirm aus ausgeben kann -- Level-Up, Truhe oder Sanduhr. Der Bildschirm merkt sich seinen eigenen Pool-Typ, bevor er die Schaltflächen anbietet, sodass ein Reroll auf einem Truhen-Bildschirm Passive neu zieht und ein Reroll auf einem Sanduhr-Bildschirm den vollständigen Pool neu zieht.

  • Bann verbraucht einen Bann-Token und fügt den gewählten Ausrüstungstyp einer für den gesamten Durchlauf gültigen Sperrmenge hinzu. Beim Aufbau des Pools werden gesperrte Typen aus späteren Belohnungsziehungen und der ersten Ersatzauswahl herausgefiltert. Sind alle Typen des Ersatzpools gesperrt, stellt eine letzte Ersatzauswahl den ungefilterten Pool wieder her. Bei ausgeschöpftem Pool ist also nicht garantiert, dass gesperrte Typen nie zurückkehren. Damit lässt sich ein passives Item ausschließen, das du nicht weiter verbessern möchtest, sodass sein Platz andere Optionen anbietet.
  • Reroll -- verbraucht einen Reroll-Token und zieht das aktuelle Belohnungs-Trio aus dem (post-Bann-)Pool neu. Keine permanente Pool-Änderung.

Die verbleibenden Anzahlen erscheinen in der Kopfzeile des Belohnungs­bildschirms (Pick your reward! | X bans X rerolls). Bann ist eine Schaltfläche pro Slot -- ein "Ban <name>"-Element unter jeder der drei Optionen -- während Reroll eine einzelne Schaltfläche auf Bildschirmebene ist. Jedes Element wird vollständig ausgeblendet, sobald sein Token-Bestand null erreicht, und ohne jegliche Tokens fällt die Kopfzeile auf ein schlichtes "Pick your reward!" zurück.

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, beim Aufsammeln eines Soul Shard Cache 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.