Crecimiento dinámico

De DragonMineZ Wiki
Esta página es una versión traducida de la página Dynamic Growth. La traducción está completa al 100 %.

El Crecimiento dinámico es un sistema de progresión que funciona junto a la compra de estadísticas con Puntos de Entrenamiento: en lugar de gastar TP en puntos de estadística (o además de hacerlo), ganas XP de práctica para cada estadística simplemente usándola: haciendo daño, recibiendo golpes, gastando stamina y ki, y entrenando con el tipo de objetivo adecuado. Cuando se llena la barra de XP de práctica de una estadística, esa estadística sube 1 punto y recibes un mensaje y un sonido.

Practicar una estadística también entrena su estadística vinculada a la mitad de velocidad, y los puntos de estadística ganados con práctica no encarecen las compras con TP (consulta la sección de TP más abajo). Los dueños de servidores configuran el sistema en la clave dynamicGrowth de config/dragonminez/general-server.json; tiene su propia página porque tiene más de 20 campos y su propia lógica contra el farmeo.

Cómo crece cada estadística

Estadística La XP de práctica sale de
STR Daño cuerpo a cuerpo hecho (también con Infusión de Ki activa; consulta kiWeaponMeleePwrShare).
SKP Daño hecho con técnicas de golpe.
RES Stamina gastada (staminaSpentXpRatio).
VIT Daño recibido de un atacante.
PWR Daño hecho con ataques de ki y con armas de ki.
ENE Ki gastado (energySpentXpRatio).

La XP basada en daño usa el daño del golpe, con un tope del 20% de la vida máxima del objetivo (como mínimo 1), multiplicado por los multiplicadores de fuente de práctica de abajo. Los jugadores en modo creativo y espectador no ganan XP de práctica, y las estadísticas que ya están en su tope no crecen.

Estadísticas vinculadas

Cada porción de XP de práctica también da una parte (linkedStatXpShare, 50% por defecto) a la estadística con la que está emparejada:

Estadística Estadística vinculada
STR SKP (y viceversa)
RES VIT (y viceversa)
PWR ENE (y viceversa)

Así, golpear mobs sube STR a velocidad completa y SKP a la mitad, gastar ki sube ENE y algo de PWR, y así sucesivamente. La parte vinculada se aplica antes del multiplicador y los límites propios de la estadística vinculada, así que recibe hasta la mitad. Cada mitad respeta su propio interruptor por jugador: la estadística vinculada sigue ganando XP cuando el crecimiento de la estadística principal está desactivado, y viceversa.

XP necesaria por punto

Con practiceCurveEnabled, subir una estadística que tiene el valor S necesita:

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

Con la curva desactivada, cada punto necesita una cantidad fija de 100 XP. Una sola ganancia nunca puede superar el 10% de la XP necesaria para el siguiente punto.

Interruptores por jugador

Cuando el Crecimiento dinámico está activado, cada jugador puede activar o desactivar el crecimiento por práctica de cada estadística desde la pantalla de Configuración del menú de personaje (categoría Jugabilidad, interruptores "Crecimiento de stat"). La elección se guarda en los datos del jugador.

Configuración

Todo lo que sigue está en el bloque dynamicGrowth de config/dragonminez/general-server.json.

Interruptores generales

Clave Predeterminado Qué hace
enabled true Interruptor general de todo el sistema.
practiceCurveEnabled true Si es false, cada punto de estadística necesita 100 de XP de práctica fija en lugar de la curva de arriba.
practiceXpMultiplier 2.0 Multiplicador global que se aplica a toda la XP de práctica.

Multiplicadores de práctica por estadística

Clave Predeterminado Qué hace
strPracticeMultiplier 1.0 Multiplicador de la XP de práctica de STR.
skpPracticeMultiplier 1.0 Multiplicador de la XP de práctica de SKP.
resPracticeMultiplier 1.5 Multiplicador de la XP de práctica de RES.
vitPracticeMultiplier 0.5 Multiplicador de la XP de práctica de VIT.
pwrPracticeMultiplier 1.0 Multiplicador de la XP de práctica de PWR.
enePracticeMultiplier 1.5 Multiplicador de la XP de práctica de ENE.

Los valores negativos se tratan como 0 (esa estadística no crece).

Gasto de stamina y ki

Clave Predeterminado Qué hace
staminaSpentXpRatio 0.1 XP de práctica de RES por cada punto de stamina gastado.
energySpentXpRatio 0.1 XP de práctica de ENE por cada punto de ki gastado.
kiWeaponMeleePwrShare 0.25 Los golpes cuerpo a cuerpo con Infusión de Ki activa dan XP de STR más esta fracción de la misma XP como PWR. (Los golpes cuerpo a cuerpo con un arma de ki solo dan XP de PWR).
linkedStatXpShare 0.5 Fracción de cada ganancia de XP de práctica que también va a la estadística vinculada. 0 desactiva el crecimiento vinculado.

El gasto de stamina y ki otorga XP directamente y se salta la comprobación contra el farmeo del mismo objetivo de abajo, ya que no está ligado a un objetivo concreto.

Relación con los TP

Clave Predeterminado Qué hace
naturalCombatTpMultiplier 1.0 Multiplicador de los TP que se ganan con golpes y muertes mientras el Crecimiento dinámico está activado. 0 elimina por completo los TP de combate.
manualTpPurchasesEnabled true Si los jugadores todavía pueden comprar puntos de estadística con TP. Si es false, las estadísticas solo crecen con la práctica (y con otras fuentes, como cápsulas o habilidades raciales).
attributeTpCostMultiplier 1.0 Multiplicador del costo en TP de comprar un punto de estadística (mínimo 1.0). Consulta la fórmula del costo en TP en Configuración del servidor.
growthStatsCountForTpCost false Si los puntos de estadística ganados con el Crecimiento dinámico suben el costo en TP de comprar estadísticas.

El mod lleva la cuenta de los puntos de estadística que cada jugador ganó con la práctica. Con growthStatsCountForTpCost desactivado (el valor predeterminado), esos puntos quedan fuera del total que se usa para el costo en TP del siguiente punto de estadística, así que crecer con la práctica nunca encarece la compra de estadísticas. Ese mismo total reducido determina los demás valores que siguen al costo de las estadísticas: el bonus de TP por progresión (increaseTPGainRelativeToTPCost) y las recompensas de TP de los minijuegos de entrenamiento.

Los puntos comprados con TP o dados por cápsulas, deseos, comandos, etc. cuentan con normalidad. Si un reinicio con /dmzstats conserva solo un porcentaje de tus estadísticas, la cuenta de práctica se reduce en el mismo porcentaje; un reinicio completo la borra.

Multiplicadores por fuente de práctica

Estos reducen la XP en los entrenamientos fáciles o de poco esfuerzo, para que el sistema no supere sin esfuerzo la progresión prevista:

Clave Predeterminado Se aplica cuando…
passiveAnimalPracticeMultiplier 0.5 Entrenas con animales (vacas, ovejas, etc.).
villagerPracticeMultiplier 0.1 Entrenas con NPCs protegidos (aldeanos, aldeanos y comerciantes namekianos, aldeanos demoníacos, maestros, el dragón).
lowDamagePracticeMultiplier 0.2 El golpe hizo menos de 0.5 de daño.
shadowDummyPracticeMultiplier 0.35 Entrenas con un Doble de Sombra.
noRiskPracticeMultiplier 0.5 El objetivo no es un jugador ni un monstruo y no te está atacando (sin riesgo real).

Los multiplicadores se combinan: un golpe de 0.3 de daño a una vaca pasiva cuenta 0.2 × 0.5 × 0.5.

Antifarmeo por objetivo repetido

Insistir con el mismo objetivo una y otra vez rinde cada vez menos dentro de una ventana de tiempo:

Clave Predeterminado Qué hace
repeatTargetWindowSeconds 30 Duración de la ventana. Empieza con el primer golpe a un objetivo y se reinicia cuando termina por completo.
repeatTargetSoftCap 8 Golpes al mismo objetivo a partir de los cuales se aplica el multiplicador suave.
repeatTargetHardCap 24 Golpes al mismo objetivo a partir de los cuales se aplica el multiplicador fuerte.
repeatTargetSoftMultiplier 0.5 Multiplicador del golpe 9 al golpe 24 (con los topes predeterminados).
repeatTargetHardMultiplier 0.15 Multiplicador a partir del golpe 25.

Con los valores predeterminados, los golpes 1–8 al mismo objetivo dentro de la ventana dan XP completa (1.0), los golpes 9–24 dan 0.5, y todos los golpes posteriores dan 0.15. Un tope de 0 desactiva ese escalón. La recompensa de TP de Drenaje Vital del Bio-Androide usa el mismo contador contra el farmeo.

Recargar y validar

  1. Edita el bloque dynamicGrowth en config/dragonminez/general-server.json.
  2. Valida la sintaxis del JSON.
  3. Ejecuta /dmzreload config.
  4. Prueba en el juego: pelea con un mob y confirma que los puntos de estadística llegan al ritmo esperado y que los golpes repetidos al mismo objetivo rinden menos como se espera.