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.
| Source | Quantité |
|---|---|
| Toute élimination de mob ordinaire (hors boss) | 1, sur un jet de 1 % par élimination |
| Scorpion de portail -- Normal | 10-15, garanti |
| Scorpion de portail -- Élite | 15-24, garanti |
| Scorpion de portail -- Cauchemar | 25-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'Âme | 50, 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
| Piste | Clé de commande | Plafond | Effet |
|---|---|---|---|
| PV de Départ | hp | 4 | Niv. 0 = 10 PV (référence), +2 PV par niveau. Maxé : 18 PV. |
| Chance de Départ | luck | 4 | Niv. 0 = 0 chance, +2 chance par niveau. Maxé : 8. |
| Vitesse de Départ | speed | 4 | Multiplicateur de vitesse de marche sur BASE_WALK_SPEED. Niv. 0 = 1,00x, +0,05 par niveau. Maxé : 1,20x. |
| Emplacements d'Armes | weaponslots | 1 | Niv. 0 = 1 emplacement, Niv. 1 = 2 emplacements. |
| Emplacements de Passifs | passiveslots | 3 | Niv. 0 = 2 emplacements, +1 par niveau. Maxé : 5 emplacements. |
| Vies Supplémentaires | extralives | 2 | Réanimations Second Wind en réserve. Niv. 1 = 1 vie, Niv. 2 = 2 vies. |
| Jetons de Bannissement | bantokens | 3 | Jetons par partie qui retirent définitivement une option de récompense du pool pour le reste de la partie. |
| Jetons de Relance | rerolltokens | 3 | Jetons 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 cible | Coût (Soul Echoes) |
|---|---|
| 1 | 10 |
| 2 | 25 |
| 3 | 63 |
| 4 | 156 |
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.