Aller au contenu principal

Méta-Progression de MegaBlock Survivors

MegaBlock Survivors dispose d'une couche de progression entre les parties appelée Soul Echoes. Les Soul Echoes sont collectés pendant les parties et dépensés au Sanctuaire des Échos d'Âme pour améliorer de manière permanente l'équipement de départ du joueur dans toutes ses parties futures.

L'état persistant se trouve dans plugins/MegaBlockSurvivors/meta_progression.yml, indexé par UUID du joueur. Les sauvegardes sont synchrones, de sorte que l'état sur disque reflète toujours la dernière modification au retour de l'appel.

Gagner des Soul Echoes

Les Soul Echoes tombent en match sous la forme d'un objet porteur LAPIS_LAZULI intitulé Soul Echo. Ils s'empilent dans l'inventaire du joueur pendant la partie et sont versés dans le solde persistant à la fin du match.

SourceQuantité
Toute élimination de mob ordinaire (hors boss)1, sur un jet de 1 % par élimination
Scorpion de portail -- Normal10-15, garanti
Scorpion de portail -- Élite15-24, garanti
Scorpion de portail -- Cauchemar25-35, garanti
Boss final (mode Challenge)round(100 * 1.5^tributes) -- 100 sans tribut, 150 / 225 / ~338 avec 1 / 2 / 3 Tributs de Boss
POI Cache de Fragments d'Âme50, versés immédiatement dans le solde persistant (contourne le versement de fin de match)

Les mobs de l'armée fantôme sont privés de récompense et ne lâchent rien.

Ouvrir le sanctuaire

/mbs meta

Ouvre le dialogue du Sanctuaire des Échos d'Âme. Le dialogue affiche :

  • Le solde actuel de Soul Echoes.
  • Pour chaque piste d'amélioration : niveau actuel, plafond, statistique effective actuelle, aperçu du prochain niveau et coût du prochain niveau.
  • Un bouton d'achat par piste (ou un indicateur MAXED).
/mbs meta upgrade <track>

Achète un seul niveau sur la piste nommée et rouvre le dialogue afin que plusieurs améliorations puissent être achetées à la suite.

Pistes d'amélioration

PisteClé de commandePlafondEffet
PV de Départhp4Niv. 0 = 10 PV (référence), +2 PV par niveau. Maxé : 18 PV.
Chance de Départluck4Niv. 0 = 0 chance, +2 chance par niveau. Maxé : 8.
Vitesse de Départspeed4Multiplicateur de vitesse de marche sur BASE_WALK_SPEED. Niv. 0 = 1,00x, +0,05 par niveau. Maxé : 1,20x.
Emplacements d'Armesweaponslots1Niv. 0 = 1 emplacement, Niv. 1 = 2 emplacements.
Emplacements de Passifspassiveslots3Niv. 0 = 2 emplacements, +1 par niveau. Maxé : 5 emplacements.
Vies Supplémentairesextralives2Réanimations Second Wind en réserve. Niv. 1 = 1 vie, Niv. 2 = 2 vies.
Jetons de Bannissementbantokens3Jetons par partie qui retirent définitivement une option de récompense du pool pour le reste de la partie.
Jetons de Relancererolltokens3Jetons par partie qui font retirer au sort le trio de récompenses actuel.

Courbe de coût

La plupart des pistes utilisent la courbe géométrique par défaut :

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

Niveau cibleCoût (Soul Echoes)
110
225
363
4156

Vies Supplémentaires est ajusté à la main et utilise plutôt un barème fixe : 100 pour la première vie, 200 pour la deuxième.

Mécaniques de Bannissement / Relance

Les pistes Bannissement et Relance accordent des jetons par partie que le joueur peut dépenser depuis n'importe quel écran de récompense -- montée de niveau, coffre ou sablier. L'écran mémorise son propre type de pool avant de proposer les boutons : une relance sur un écran de coffre retire donc de nouveaux passifs, et une relance sur un écran de sablier retire dans le pool complet.

  • Bannir -- consomme un jeton de bannissement et ajoute le type d'équipement choisi à un ensemble « banni » valable pour toute la partie. Le constructeur de pool filtre les types bannis de chaque tirage de récompense ultérieur dans cette partie, y compris le repli en cas de pool vide. Utile pour retirer un passif que vous n'avez pas envie d'améliorer afin que son emplacement continue de proposer autre chose.
  • Relancer -- consomme un jeton de relance et retire au sort un nouveau trio de récompenses depuis le pool (post-bannissements). Aucun changement permanent du pool.

Les compteurs restants apparaissent sur la ligne d'en-tête de l'écran de récompense (Pick your reward! | X bans X rerolls). Bannir est un bouton par emplacement -- un contrôle « Ban <name> » sous chacune des trois options -- tandis que Relancer est un unique bouton au niveau de l'écran. Chaque contrôle est entièrement masqué dès que son compteur de jetons tombe à zéro, et sans aucun jeton l'en-tête se réduit à un simple « Pick your reward! ».

Les soldes de jetons sont réinitialisés à la valeur déterminée par la piste de méta-progression au début de chaque match -- ils ne sont pas reportés.

Format de stockage

Disposition de 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

Le cache est concurrent et est flushé sur disque chaque fois que MetaProgressionManager.save() s'exécute (à l'achat, au flush des échos en fin de match, et à la désactivation du plugin).

Réinitialiser la progression

Il n'existe pas de commande en jeu pour effacer la méta-progression. Pour réinitialiser pour un joueur (ou pour tout le monde), arrêtez le serveur et modifiez / supprimez la section concernée dans meta_progression.yml.