Meta-Progressão do MegaBlock Survivors
O MegaBlock Survivors tem uma camada de progressão entre partidas chamada Ecos de Alma. Os Ecos de Alma são coletados durante as partidas e gastos no Santuário do Eco de Alma para melhorar permanentemente o loadout inicial do jogador em todas as partidas futuras.
O estado persistente fica em plugins/MegaBlockSurvivors/meta_progression.yml, indexado pelo UUID do jogador. As gravações são síncronas, então o estado em disco sempre reflete a última mudança quando a chamada retorna.
Ganhando Ecos de Alma
Os Ecos de Alma caem durante a partida como um item portador LAPIS_LAZULI rotulado Soul Echo. Eles se acumulam no inventário do jogador ao longo da partida e são transferidos para o saldo persistente no encerramento da partida.
| Fonte | Quantidade |
|---|---|
| Qualquer abate de mob comum (não-chefe) | 1, com uma chance de 1% por abate |
| Escorpião de portal -- Normal | 10-15, garantido |
| Escorpião de portal -- Elite | 15-24, garantido |
| Escorpião de portal -- Nightmare | 25-35, garantido |
| Chefe final (modo Desafio) | round(100 * 1.5^tributes) -- 100 sem tributos, 150 / 225 / ~338 com 1 / 2 / 3 Tributos de Chefe |
| POI Cache de Fragmentos de Alma | 50, depositados imediatamente no saldo persistente (ignora a transferência de fim de partida) |
Os mobs do exército de fantasmas têm recompensas desativadas e não deixam nada.
Abrindo o Santuário
/mbs meta
Abre o diálogo do Santuário do Eco de Alma. O diálogo exibe:
- Saldo atual de Ecos de Alma.
- Para cada trilha de melhoria, o nível atual, o limite, o atributo efetivo atual, a prévia do próximo nível e o custo do próximo nível.
- Um botão de compra por trilha (ou um indicador
MAXED).
/mbs meta upgrade <track>
Compra um único nível na trilha indicada e reabre o diálogo, para que várias melhorias possam ser adquiridas em sequência.
Trilhas de Melhoria
| Trilha | Chave de comando | Limite | Efeito |
|---|---|---|---|
| HP Inicial | hp | 4 | Lvl 0 = 10 HP (linha base), +2 HP por nível. No máximo: 18 HP. |
| Sorte Inicial | luck | 4 | Lvl 0 = 0 de sorte, +2 de sorte por nível. No máximo: 8. |
| Velocidade Inicial | speed | 4 | Multiplicador de velocidade de caminhada em BASE_WALK_SPEED. Lvl 0 = 1.00x, +0.05 por nível. No máximo: 1.20x. |
| Slots de Arma | weaponslots | 1 | Lvl 0 = 1 slot, Lvl 1 = 2 slots. |
| Slots Passivos | passiveslots | 3 | Lvl 0 = 2 slots, +1 por nível. No máximo: 5 slots. |
| Vidas Extras | extralives | 2 | Reanimações de Segundo Fôlego guardadas. Lvl 1 = 1 vida, Lvl 2 = 2 vidas. |
| Tokens de Banimento | bantokens | 3 | Tokens por partida que removem permanentemente uma opção de recompensa do pool pelo restante da partida. |
| Tokens de Reroll | rerolltokens | 3 | Tokens por partida que re-sorteiam o trio atual de recompensas. |
Curva de Custo
A maioria das trilhas usa a curva geométrica padrão:
cost(targetLevel) = round(10 * 2.5^(targetLevel - 1))
| Nível Alvo | Custo (Ecos de Alma) |
|---|---|
| 1 | 10 |
| 2 | 25 |
| 3 | 63 |
| 4 | 156 |
A trilha Vidas Extras é ajustada manualmente e usa um cronograma fixo: 100 para a primeira vida e 200 para a segunda.
Mecânica de Banimento / Reroll
As trilhas de Banimento e Reroll concedem tokens por partida que o jogador pode gastar em qualquer tela de recompensa -- level up, baú ou ampulheta. A tela guarda o seu próprio tipo de pool antes de oferecer os botões, então um reroll numa tela de baú re-sorteia passivos e um reroll numa tela de ampulheta re-sorteia o pool completo.
- Banir -- consome um token de banimento e adiciona o tipo de equipamento escolhido a um conjunto de "banidos" válido pela partida. O construtor do pool filtra os tipos banidos de todos os sorteios futuros de recompensa naquela partida, incluindo o fallback de pool vazio. Útil para remover um passivo no qual você não tem interesse em melhorar, de modo que seu slot continue oferecendo outra coisa.
- Reroll -- consome um token de reroll e re-sorteia o trio atual de recompensas a partir do pool (já com os bans aplicados). Não há mudança permanente no pool.
As contagens restantes aparecem na linha de cabeçalho da tela de recompensa (Pick your reward! | X bans X rerolls). Banir é um botão por slot -- um controle "Ban <name>" abaixo de cada uma das três opções -- enquanto Reroll é um único botão no nível da tela. Cada controle é totalmente ocultado assim que sua contagem de tokens chega a zero e, sem nenhum token, o cabeçalho volta a ser um simples "Pick your reward!".
Os saldos de tokens são reiniciados para o valor determinado pela trilha de meta-progressão no início de cada partida -- eles não são transferidos.
Formato de Armazenamento
Estrutura do 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
O cache é concorrente e é descarregado em disco toda vez que MetaProgressionManager.save() é executado (na compra, na contabilização de ecos ao final da partida e ao desabilitar o plugin).
Resetando o Progresso
Não há comando dentro do jogo para apagar a meta-progressão. Para resetar para um jogador (ou para todos), pare o servidor e edite / exclua a seção relevante em meta_progression.yml.