Configuración de habilidades

From DragonMineZ Wiki
Revision as of 01:09, 22 October 2026 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

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, candy_beam, gum_bind 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", "beam_sword_slash"],
  "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, beam_sword_slash
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_breaker, 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, darkness_eye_beam
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, death_chaser
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, android_combo, perfect_rush
yamcha Yamcha kicontrol, ki_infusion, wolf_fang, sokidan, kamehameha, ki_barrage
tien Maestro Ten Shin Han kicontrol, taiyoken, dodonpa, kikoho, neo_kikoho
baba_earth Adivina Baba kicontrol, meditation
buu Majin Buu assault_rain, gum_punch, mystic_ball, sleep_recovery, candy_beam, gum_bind
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).

New defaults on existing servers

Every time skills.json and techniques.json are loaded (when the server starts or with /dmzreload), the default entries they are missing are added, without changing any value already in the files:

  • in skills.json, a missing skill or technique is added to skills with its default costs and races, and to the list of every master who offers it by default; a master missing from skillOfferings is added with its whole default list;
  • in techniques.json, a missing ki attack type, strike technique or evasion technique is added with its default values.

This is how new techniques reach an existing server. In 2.2 that means the strike techniques darkness_eye_beam, death_chaser, android_combo, perfect_rush, spirit_breaker and beam_sword_slash, the evasion techniques candy_beam and gum_bind, and the tien offering of Master Tien. Because existing values are never overwritten, a server that already had a techniques.json keeps its old strike cooldowns: compare them with the defaults above and edit them if you want the new ones.

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.