Configuración de habilidades

From DragonMineZ Wiki
Revision as of 10:09, 14 October 2026 by Shokkoh (talk | contribs) (Translation sync from dragonminez-wiki repository)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Los costos de las habilidades, qué razas pueden aprender cada habilidad y qué maestro enseña cada cosa están en un solo archivo, config/dragonminez/skills.json. El ajuste de las técnicas (experiencia, tiempos de recarga, tiempos de lanzamiento, tamaños de los ataques de ki y destrucción del terreno) está a su lado, en config/dragonminez/techniques.json. Esta página documenta ambos archivos.

Sus esquemas se definen en SkillsConfig.java y TechniqueConfig.java. Para ver qué hace cada habilidad y técnica en el juego, consulta Habilidades y Técnicas.

Estructura principal de skills.json

Clave Predeterminado Qué hace
configVersion Un texto de versión Versión interna del esquema. No la edites a mano (consulta Cómo usar JSON).
kiSkills Lista de ids Nombres de las técnicas de ataque de ki (por ejemplo kamehameha, final_flash).
strikeSkills Lista de ids Nombres de las técnicas de golpe (por ejemplo meteor, dragon_fist).
evasionSkills taiyoken, rage_scream, afterimage, sleep_recovery, dimensional_teleport Nombres de las técnicas de evasión.
formSkills superforms, legendaryforms, godforms, androidforms Los nombres de las habilidades de niveles de transformación.
stackSkills kaioken, ultimate Los nombres de las habilidades de formas acumulables.
androidBlacklistedForms superforms, legendaryforms Nombres de las habilidades de formas que los Androides no pueden aprender.
skills Ver abajo Un mapa de nombre de habilidad a { costs, allowedRaces }.
skillOfferings Ver abajo Un mapa de nombre de maestro a una lista de nombres de habilidades.

No existe un skill-offerings.json aparte: skillOfferings está dentro de skills.json, junto a skills.

Las listas de categorías no se conservan al actualizar Las listas de categorías (kiSkills, strikeSkills, evasionSkills, formSkills, stackSkills, androidBlacklistedForms) describen lo que existe en el código. Se renuevan con los valores predeterminados del mod cada vez que la configuración se actualiza a una versión nueva, así que sus ediciones no se conservan. skills y skillOfferings sí conservan tus ediciones.

Costos y requisitos de las habilidades

El mapa skills define el costo de cada nivel de una habilidad y qué razas pueden aprenderla:

"skills": {
  "kamehameha": { "costs": [2000], "allowedRaces": [] },
  "kaioken": { "costs": [1000, 1500, 2500, 4000, 7500], "allowedRaces": [] },
  "potentialunlock": { "costs": [600, 1600, 2400, 3200, 4000, 4800, 5600, 6400, 7200, 8000, -1, 8800, 9600], "allowedRaces": [] }
}
Campo Qué hace
costs Lista del costo en Puntos de Entrenamiento para subir a cada nivel. El índice 0 es el costo del nivel 1, y así sucesivamente. El número de entradas es el nivel máximo de la habilidad. Una entrada -1 marca ese nivel como no comprable: se tiene que conseguir de otra forma (por ejemplo, el nivel 11 de Potencial liberado del Gran Anciano Gurú, o Definitivo del Kaioshin Anciano).
allowedRaces Lista de las razas que pueden aprender esta habilidad. Una lista vacía (o "all") significa que cualquier raza puede aprenderla. En las técnicas (de ki, Super Golpe y evasión), cualquier raza puede aprenderlas igualmente de un maestro, pero solo las razas de la lista pueden equiparlas en una ranura de técnica. Por defecto, gum_punch, mystic_ball y sleep_recovery están en ["majin"].

Las habilidades de formas (superforms, godforms, legendaryforms, androidforms) tienen su precio por raza en races/<race>/character.json (consulta Razas personalizadas).

Costos predeterminados de las habilidades

Habilidad Costos por nivel (TP)
jump, sprint, meditation, kisense 300, 600, 900, 1,200, 1,500, 1,800, 2,100, 2,400, 2,700, 3,000
fly 1,500, 600, 900, 1,200, 1,500, 1,800, 2,100, 2,400, 2,700, 3,000
kicontrol 3,000
potentialunlock 600, 1,600, 2,400, 3,200, 4,000, 4,800, 5,600, 6,400, 7,200, 8,000, -1, 8,800, 9,600
kiboost 2,000, 4,000, 6,000, 8,000
kimanipulation, instant_transmission, defense_penetration, healing_reduction, ki_infusion, kiprotection 600, 1,200, 1,800, 2,200, 2,600, 2,800, 3,000, 3,200, 3,600, 4,000
kaioken 1,000, 1,500, 2,500, 4,000, 7,500
ultimate -1 (lo otorga el Kaioshin Anciano)
fusion 25,000, 5,000, 10,000, 15,000, 20,000

Cada técnica predefinida tiene un único costo (su precio de desbloqueo); consulta las tablas de Ataques de Ki, Super Golpes y Técnicas de evasión.

Quién enseña cada habilidad

El mapa skillOfferings lista las habilidades y técnicas que ofrece cada maestro:

"skillOfferings": {
  "goku": ["kicontrol", "fly", "instant_transmission", "fusion", "kamehameha", "spiritbomb", "dragon_fist", "super_god_fist", "oozaru_fist"],
  "roshi": ["jump", "meditation", "kicontrol", "kamehameha", "afterimage"],
  "default": ["kicontrol", "jump"]
}

Las claves son el id del maestro (o el id de un NPC de misión) que ofrece la habilidad. "default" es la lista de respaldo que usa cualquier maestro o NPC sin entrada propia. Las compras se comprueban en el servidor: debes estar a menos de 10 bloques de un maestro que ofrezca la habilidad, tu raza debe estar permitida (salvo en las técnicas, que puede aprender cualquier raza; consulta allowedRaces arriba), y un maestro que te rechace por tu alineamiento no te enseñará.

Ofertas predeterminadas

Id del maestro Maestro Habilidades que ofrece
roshi Maestro Roshi jump, meditation, kicontrol, kamehameha, afterimage
goku Goku kicontrol, fly, instant_transmission, fusion, kamehameha, spiritbomb, dragon_fist, super_god_fist, oozaru_fist
kingkai Kaiosama kicontrol, kaioken, potentialunlock, kimanipulation, kaioken_attack, spiritbomb
vegeta Vegeta kicontrol, defense_penetration, potentialunlock, galick_gun, big_bang, final_flash, final_explosion, fake_moon, deadly_dance_vegetto, spirit_breaking_cannon
oldkai Kaioshin Anciano kicontrol, ki_infusion, healing_reduction, soul_punisher
gohan Gohan kicontrol, kiboost, kiprotection, kisense, masenko, makkanko, kamehameha, ki_barrage
piccolo Piccolo potentialunlock, kicontrol, masenko, makkanko, ki_barrage, kienzan, hellzone_grenade
krillin Krilin kicontrol, sprint, kisense, kienzan, kienzan_doble, ki_barrage, taiyoken, afterimage, deadly_dance
frieza Freezer kicontrol, fly, jump, sprint, kisense, meditation, potentialunlock, death_beam, emperor_death_beam, supernova, kienzan_doble, deadly_dance, meteor
trunks Trunks kicontrol, kiboost, kiprotection, burning_attack, heat_dome, shining_sword_attack, galick_gun, ki_barrage, meteor
cell Cell kicontrol, instant_transmission, kimanipulation, ki_infusion, kiprotection, defense_penetration, healing_reduction, kiboost, kamehameha, kienzan, galick_gun, masenko, death_beam, ki_barrage, afterimage, deadly_dance, meteor
yamcha Yamcha kicontrol, ki_infusion, wolf_fang, sokidan, kamehameha, ki_barrage
baba_earth Adivina Baba kicontrol, meditation
buu Majin Buu assault_rain, gum_punch, mystic_ball, sleep_recovery
default Cualquier otro maestro o NPC kicontrol, jump

Qué puede y qué no puede cambiar el JSON

  • Reajustar habilidades existentes: sí. Cambia costs, restringe o amplía allowedRaces, y añade o quita una habilidad o técnica de la lista skillOfferings de un maestro (por ejemplo, para que Roshi enseñe Kienzan).
  • Añadir una habilidad o técnica predefinida totalmente nueva: no, no solo con JSON. Las habilidades nuevas necesitan código Java real y registro antes de que puedas referirte a su nombre aquí. El JSON solo controla el costo, los requisitos y la oferta de las habilidades que ya existen en el código. Los jugadores igualmente pueden diseñar sus propios ataques de ki en el Creador de Técnicas (consulta Técnicas).

techniques.json

config/dragonminez/techniques.json ajusta las técnicas por tipo: una entrada por cada tipo de ataque de ki, y una por cada técnica predefinida de Super Golpe y de evasión. Se sincroniza con los clientes y se recarga junto con el resto de la configuración.

{
  "KiAttacks": {
    "wave": { "castTimeTicks": 50, "damageMultiplier": 1.0, "kiCostMultiplier": 1.0, "baseSizeCap": 2.0, "transformedSizeCap": 5.0, "maxDestructionRadius": 12.0, "...": "..." }
  },
  "StrikeAttacks": {
    "dragon_fist": { "cooldownTicks": 320, "damageMultiplier": 1.0, "...": "..." }
  },
  "EvasionAttacks": {
    "taiyoken": { "cooldownTicks": 900, "...": "..." }
  }
}

Ataques de Ki

KiAttacks tiene una entrada por tipo de ataque de ki: small_ball, medium_ball, giant_ball, wave, laser, beam, disk, explosion, shield, barrage y area.

Campo Predeterminado Qué hace
minXPCost 100 Costo base en XP de una mejora (crece con la potencia de la técnica y las mejoras ya compradas).
maxXPCost -1 Límite superior del costo en XP de una mejora (-1 significa sin límite).
xpCostMultiplier 1.0 Multiplicador de los costos en XP de las mejoras; por encima de 1, cada mejora extra es más cara.
xpGainMultiplier 1.0 Multiplicador de la XP ganada.
xpGainPerHit / xpGainPerKill 1 / 3 XP ganada por golpe / por muerte.
kiCostMultiplier 1.0 Multiplicador del costo de ki de este tipo.
damageMultiplier 1.0 Multiplicador del daño de este tipo.
destructionMultiplier 1.0 Multiplicador del radio de destrucción de bloques de este tipo (0 significa que no daña el terreno).
maxDestructionRadius Bola gigante y Explosión 32; Onda, Rayo y Área 12; los demás 6 Tope absoluto del radio de destrucción (0 o menos significa sin tope).
castTimeTicks Bola pequeña y Láser 0; Bola mediana y Disco 30; Descarga, Escudo y Área 40; Onda y Rayo 50; Bola gigante y Explosión 60 Tiempo para cargar al 100%. Bola pequeña y Láser siempre son instantáneos.
baseSizeCap Bola gigante 15, Explosión 12, Bola mediana 4.5, Onda 2, Rayo y Disco 1.2, Descarga 1.5, los demás 0 Tamaño máximo al que crece el ataque con el Poder de Ki en forma base (0 mantiene el tamaño propio de la técnica).
transformedSizeCap Bola gigante y Explosión 25, Bola mediana 7, Onda 5, Rayo y Disco 2.3, Descarga 2.5, los demás 0 Lo mismo, pero transformado o usando una forma acumulable como el Kaioken.
sizePowerFloor / sizePowerCeiling 100 / 1000000 Poder de Ki con el que un ataque tiene su propio tamaño / alcanza el tope (el crecimiento intermedio es logarítmico).

La destrucción de bloques también está sujeta a las gamerules de destrucción con ki (consulta Gamerules).

Super Golpes

StrikeAttacks tiene una entrada por cada id de técnica de golpe.

Campo Predeterminado Qué hace
cooldownTicks Se define por técnica, por ejemplo meteor_burst 600, dragon_fist 320, oozaru_fist / mystic_ball 280, super_god_fist / kaioken_attack / spirit_breaking_cannon 240, deadly_dance_vegetto 200, meteor / deadly_dance / shining_sword_attack 160, wolf_fang 140, oozaru_slam 120 Tiempo de recarga de la técnica (antes de mejoras).
castTimeTicks 0 Tiempo de lanzamiento que se muestra en los detalles de la técnica (los golpes empiezan en cuanto pulsas la tecla).
damageMultiplier 1.0 Multiplicador del daño de la técnica.
kiCostMultiplier 1.0 Multiplicador del costo de ki.
minXPCost / maxXPCost / xpCostMultiplier 100 / -1 / 1.0 Costos en XP de las mejoras, como en los ataques de ki.
xpGainMultiplier / xpGainPerHit / xpGainPerKill 1.0 / 1 / 3 Ganancias de XP, como en los ataques de ki.

Técnicas de evasión

EvasionAttacks tiene una entrada por cada id de técnica de evasión.

Campo Predeterminado Qué hace
cooldownTicks Se define por técnica, por ejemplo sleep_recovery 1200, taiyoken 900, afterimage 200, rage_scream / dimensional_teleport 80 Tiempo de recarga de la técnica (antes de mejoras).
damageMultiplier 1.0 Multiplicador del daño (Grito de furia).
kiCostMultiplier 1.0 Multiplicador del costo de ki.
minXPCost / maxXPCost / xpCostMultiplier 100 / -1 / 1.0 Costos en XP de las mejoras.
xpGainMultiplier / xpGainPerHit 1.0 / 2 Ganancias de XP (las técnicas de evasión ganan XP cada vez que se usan).

Recargar y validar

  1. Edita config/dragonminez/skills.json, techniques.json o ambos.
  2. Valida la sintaxis del JSON.
  3. Ejecuta /dmzreload config (o /dmzreload). Los jugadores conectados reciben los nuevos valores resincronizados automáticamente.
  4. Revisa en el juego el menú de habilidades del maestro que cambiaste.