Crescimento dinâmico

From DragonMineZ Wiki
This page is a translated version of the page Dynamic Growth and the translation is 100% complete.

O Crescimento dinâmico é um sistema de progressão que funciona junto com a compra de estatísticas com pontos de treino: em vez de gastar TP em pontos de estatística (ou além disso), você ganha XP de prática para cada estatística só de usá-la: causando dano, sofrendo golpes, gastando estâmina e ki, e treinando no tipo certo de alvo. Quando a barra de XP de prática de uma estatística enche, essa estatística sobe 1 ponto e você recebe uma mensagem e um som.

Praticar uma estatística também treina a estatística vinculada a ela com metade da velocidade, e os pontos de estatística ganhos com prática não deixam as compras com TP mais caras (veja a seção de TP abaixo). Donos de servidores configuram o sistema na chave dynamicGrowth de config/dragonminez/general-server.json; ele tem página própria porque tem mais de 20 campos e sua própria lógica contra farm.

Como cada estatística cresce

Estatística O XP de prática vem de
STR Dano corpo a corpo causado (também com a Infusão de Ki ativa; veja kiWeaponMeleePwrShare).
SKP Dano causado com técnicas de golpe.
RES Estâmina gasta (staminaSpentXpRatio).
VIT Dano sofrido de um atacante.
PWR Dano causado com ataques de ki e com armas de ki.
ENE Ki gasto (energySpentXpRatio).

O XP baseado em dano usa o dano do golpe, limitado a 20% da vida máxima do alvo (no mínimo 1), multiplicado pelos multiplicadores de fonte de prática abaixo. Jogadores no modo criativo e espectador não ganham XP de prática, e estatísticas que já estão no limite não crescem.

Estatísticas vinculadas

Cada porção de XP de prática também dá uma parte (linkedStatXpShare, 50% por padrão) à estatística com que está emparelhada:

Estatística Estatística vinculada
STR SKP (e vice-versa)
RES VIT (e vice-versa)
PWR ENE (e vice-versa)

Assim, bater em mobs aumenta STR na velocidade total e SKP na metade, gastar ki aumenta ENE e um pouco de PWR, e assim por diante. A parte vinculada é aplicada antes do multiplicador e dos limites próprios da estatística vinculada, então ela recebe até a metade. Cada metade respeita seu próprio interruptor por jogador: a estatística vinculada continua ganhando XP quando o crescimento da estatística principal está desligado, e vice-versa.

XP necessário por ponto

Com practiceCurveEnabled, aumentar uma estatística que está com o valor S exige:

RequiredXp = 70 + 2 × S + floor(S^1.35)

Com a curva desativada, cada ponto exige um valor fixo de 100 XP. Um único ganho nunca pode passar de 10% do XP necessário para o próximo ponto.

Interruptores por jogador

Quando o Crescimento dinâmico está ativado, cada jogador pode ligar ou desligar o crescimento por prática de cada estatística na tela de Configuração do menu do personagem (categoria Jogabilidade, interruptores "Crescimento de Status"). A escolha fica salva nos dados do jogador.

Configuração

Tudo o que segue fica no bloco dynamicGrowth de config/dragonminez/general-server.json.

Interruptores gerais

Chave Padrão O que faz
enabled true Interruptor geral de todo o sistema.
practiceCurveEnabled true Se for false, cada ponto de estatística exige um valor fixo de 100 de XP de prática em vez da curva acima.
practiceXpMultiplier 2.0 Multiplicador global aplicado a todo o XP de prática.

Multiplicadores de prática por estatística

Chave Padrão O que faz
strPracticeMultiplier 1.0 Multiplicador do XP de prática de STR.
skpPracticeMultiplier 1.0 Multiplicador do XP de prática de SKP.
resPracticeMultiplier 1.5 Multiplicador do XP de prática de RES.
vitPracticeMultiplier 0.5 Multiplicador do XP de prática de VIT.
pwrPracticeMultiplier 1.0 Multiplicador do XP de prática de PWR.
enePracticeMultiplier 1.5 Multiplicador do XP de prática de ENE.

Valores negativos são tratados como 0 (essa estatística não cresce).

Gasto de estâmina e ki

Chave Padrão O que faz
staminaSpentXpRatio 0.1 XP de prática de RES por ponto de estâmina gasto.
energySpentXpRatio 0.1 XP de prática de ENE por ponto de ki gasto.
kiWeaponMeleePwrShare 0.25 Golpes corpo a corpo com a Infusão de Ki ativa dão XP de STR mais esta fração do mesmo XP como PWR. (Golpes corpo a corpo com uma arma de ki dão apenas XP de PWR.)
linkedStatXpShare 0.5 Fração de cada ganho de XP de prática que também vai para a estatística vinculada. 0 desliga o crescimento vinculado.

O gasto de estâmina e ki concede XP diretamente e ignora a verificação contra farm do mesmo alvo descrita abaixo, já que não está ligado a um alvo específico.

Relação com os TP

Chave Padrão O que faz
naturalCombatTpMultiplier 1.0 Multiplicador dos TP ganhos com golpes e abates enquanto o Crescimento dinâmico está ativado. 0 remove totalmente os TP de combate.
manualTpPurchasesEnabled true Se os jogadores ainda podem comprar pontos de estatística com TP. Se for false, as estatísticas só crescem com a prática (e com outras fontes, como cápsulas ou habilidades raciais).
attributeTpCostMultiplier 1.0 Multiplicador do custo em TP para comprar um ponto de estatística (mínimo 1.0). Veja a fórmula do custo em TP em Configuração do servidor.
growthStatsCountForTpCost false Se os pontos de estatística ganhos com o Crescimento dinâmico aumentam o custo em TP para comprar estatísticas.

O mod mantém a contagem dos pontos de estatística que cada jogador ganhou com a prática. Com growthStatsCountForTpCost desligado (o padrão), esses pontos ficam fora do total usado para o custo em TP do próximo ponto de estatística, então crescer com a prática nunca deixa a compra de estatísticas mais cara. Esse mesmo total reduzido determina os outros valores que acompanham o custo das estatísticas: o bônus de TP por progressão (increaseTPGainRelativeToTPCost) e as recompensas de TP dos minijogos de treinamento.

Pontos comprados com TP ou dados por cápsulas, desejos, comandos etc. contam normalmente. Se um reset com /dmzstats mantém só uma porcentagem das suas estatísticas, a contagem de prática diminui na mesma porcentagem; um reset completo a zera.

Multiplicadores por fonte de prática

Estes reduzem o XP em treinos fáceis ou de pouco esforço, para que o sistema não ultrapasse facilmente a progressão prevista:

Chave Padrão Aplica-se quando…
passiveAnimalPracticeMultiplier 0.5 Você treina em animais (vacas, ovelhas etc.).
villagerPracticeMultiplier 0.1 Você treina em NPCs protegidos (aldeões, aldeões e comerciantes namekuseijins, aldeões demoníacos, mestres, o dragão).
lowDamagePracticeMultiplier 0.2 O golpe causou menos de 0.5 de dano.
shadowDummyPracticeMultiplier 0.35 Você treina em um Boneco de Sombra.
noRiskPracticeMultiplier 0.5 O alvo não é um jogador nem um monstro e não está atacando você de volta (sem risco real).

Os multiplicadores se combinam: um golpe de 0.3 de dano em uma vaca passiva conta 0.2 × 0.5 × 0.5.

Antifarm por alvo repetido

Insistir no mesmo alvo repetidamente rende cada vez menos dentro de uma janela de tempo:

Chave Padrão O que faz
repeatTargetWindowSeconds 30 Duração da janela. Começa no primeiro golpe em um alvo e reinicia quando termina por completo.
repeatTargetSoftCap 8 Golpes no mesmo alvo a partir dos quais se aplica o multiplicador suave.
repeatTargetHardCap 24 Golpes no mesmo alvo a partir dos quais se aplica o multiplicador forte.
repeatTargetSoftMultiplier 0.5 Multiplicador do golpe 9 ao golpe 24 (com os limites padrão).
repeatTargetHardMultiplier 0.15 Multiplicador a partir do golpe 25.

Com os valores padrão, os golpes 1–8 no mesmo alvo dentro da janela dão XP total (1.0), os golpes 9–24 dão 0.5, e todos os golpes depois disso dão 0.15. Um limite de 0 desativa essa etapa. A recompensa de TP da Drenagem de Vida do Bio-Androide usa o mesmo contador contra farm.

Recarregar e validar

  1. Edite o bloco dynamicGrowth em config/dragonminez/general-server.json.
  2. Valide a sintaxe do JSON.
  3. Execute /dmzreload config.
  4. Teste no jogo: lute com um mob e confirme que os pontos de estatística chegam no ritmo esperado e que golpes repetidos no mesmo alvo rendem menos, como esperado.