Configuração de habilidades

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

Os custos das habilidades, quais raças podem aprender cada habilidade e qual mestre ensina o quê ficam em um único arquivo, config/dragonminez/skills.json. O ajuste das técnicas (experiência, recargas, tempos de conjuração, tamanhos dos ataques de ki e destruição do terreno) fica ao lado dele, em config/dragonminez/techniques.json. Esta página documenta os dois arquivos.

Os esquemas deles são definidos em SkillsConfig.java e TechniqueConfig.java. Para ver o que cada habilidade e técnica faz no jogo, veja Habilidades e Técnicas.

Estrutura principal do skills.json

Chave Padrão O que faz
configVersion Um texto de versão Versão interna do esquema. Não a edite à mão (veja Como usar JSON).
kiSkills Lista de ids Nomes das técnicas de ataque de ki (por exemplo kamehameha, final_flash).
strikeSkills Lista de ids Nomes das técnicas de ataque de golpe (por exemplo meteor, dragon_fist).
evasionSkills taiyoken, rage_scream, afterimage, sleep_recovery, dimensional_teleport, candy_beam, gum_bind Nomes das técnicas de evasão.
formSkills superforms, legendaryforms, godforms, androidforms Os nomes das habilidades de níveis de transformação.
stackSkills kaioken, ultimate Os nomes das habilidades de formas acumuláveis.
androidBlacklistedForms superforms, legendaryforms Nomes das habilidades de formas que os Androids não podem aprender.
skills Veja abaixo Um mapa de nome de habilidade para { costs, allowedRaces }.
skillOfferings Veja abaixo Um mapa de nome de mestre para uma lista de nomes de habilidades.

Não existe um skill-offerings.json separado: o skillOfferings fica dentro do skills.json, junto com skills.

As listas de categorias não são mantidas na atualização As listas de categorias (kiSkills, strikeSkills, evasionSkills, formSkills, stackSkills, androidBlacklistedForms) descrevem o que existe no código. Elas são renovadas com os padrões do mod sempre que a configuração é atualizada para uma versão nova, então edições nelas não são mantidas. skills e skillOfferings mantêm suas edições.

Custos e requisitos das habilidades

O mapa skills define o custo de cada nível de uma habilidade e quais raças podem aprendê-la:

"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 O que faz
costs Lista do custo em pontos de treino para subir a cada nível. O índice 0 é o custo do nível 1, e assim por diante. O número de entradas é o nível máximo da habilidade. Uma entrada -1 marca esse nível como não comprável: ele precisa ser concedido de outra forma (por exemplo, o nível 11 de Potencial Liberado pelo Grande Ancião Guru, ou Ultimate pelo Velho Kaioshin).
allowedRaces Lista das raças que podem aprender esta habilidade. Uma lista vazia (ou "all") significa que qualquer raça pode aprendê-la. Nas técnicas (de ki, de golpe e de evasão), qualquer raça ainda pode aprendê-las com um mestre, mas só as raças da lista podem equipá-las em um slot de técnica ou melhorá-las. Por padrão, gum_punch, mystic_ball, sleep_recovery, candy_beam e gum_bind estão definidas como ["majin"], darkness_eye_beam como ["namekian"], android_combo como ["android"] e perfect_rush como ["bioandroid"]. "android" também permite qualquer personagem com a melhoria android.

As habilidades de formas (superforms, godforms, legendaryforms, androidforms) têm preço por raça em races/<race>/character.json (veja Raças personalizadas).

Custos padrão das habilidades

Habilidade Custos por nível (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 (concedido pelo Velho Kaioshin)
fusion 25,000, 5,000, 10,000, 15,000, 20,000

Cada técnica predefinida tem um único custo (o preço de desbloqueio); veja as tabelas de Ataques de Ki, Ataques de Golpe e Técnicas de evasão.

Quem ensina cada habilidade

O mapa skillOfferings lista as habilidades e técnicas que cada mestre oferece:

"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"]
}

As chaves são o id do mestre (ou o id de um NPC de missão) que oferece a habilidade. "default" é a lista de reserva usada por qualquer mestre ou NPC sem entrada própria. As compras são verificadas no servidor: você precisa estar a até 10 blocos de um mestre que ofereça a habilidade, sua raça precisa ser permitida (exceto nas técnicas, que qualquer raça pode aprender; veja allowedRaces acima), e um mestre que te recuse por causa da sua índole não vai te ensinar.

Ofertas padrão

Id do mestre Mestre Habilidades oferecidas
roshi Mestre Kame 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 Rei Kai 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 Velho Kaioshin 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 Kuririn kicontrol, sprint, kisense, kienzan, kienzan_doble, ki_barrage, taiyoken, afterimage, deadly_dance
frieza Freeza 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 Mestre Tenshinhan kicontrol, taiyoken, dodonpa, kikoho, neo_kikoho
baba_earth Vovó Uranai kicontrol, meditation
buu Majin Boo assault_rain, gum_punch, mystic_ball, sleep_recovery, candy_beam, gum_bind
default Qualquer outro mestre ou NPC kicontrol, jump

O que o JSON pode e não pode mudar

  • Reajustar habilidades existentes: sim. Altere costs, restrinja ou amplie allowedRaces, e adicione ou remova uma habilidade ou técnica da lista skillOfferings de um mestre (por exemplo, para o Mestre Kame ensinar o Disco Destruidor).
  • Adicionar uma habilidade ou técnica predefinida totalmente nova: não, não só com JSON. Habilidades novas precisam de código Java de verdade e de registro antes que você possa citar o nome delas aqui. O JSON só controla custo, requisitos e oferta das habilidades que já existem no código. Os jogadores ainda podem criar seus próprios ataques de ki no Criador da técnica (veja Técnicas).

techniques.json

O config/dragonminez/techniques.json ajusta as técnicas por tipo: uma entrada para cada tipo de ataque de ki, e uma para cada técnica predefinida de golpe e de evasão. Ele é sincronizado com os clientes e recarregado junto com o resto da configuração.

{
  "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 tem uma entrada por tipo de ataque de ki: small_ball, medium_ball, giant_ball, wave, laser, beam, disk, explosion, shield, barrage e area.

Campo Padrão O que faz
minXPCost 100 Custo base em XP de uma melhoria (cresce com a força da técnica e as melhorias já compradas).
maxXPCost -1 Limite superior do custo em XP de uma melhoria (-1 significa sem limite).
xpCostMultiplier 1.0 Multiplicador dos custos em XP das melhorias; acima de 1, cada melhoria extra fica mais cara.
xpGainMultiplier 1.0 Multiplicador do XP ganho.
xpGainPerHit / xpGainPerKill 1 / 3 XP ganho por acerto / por abate.
kiCostMultiplier 1.0 Multiplicador do custo de ki deste tipo.
damageMultiplier 1.0 Multiplicador do dano deste tipo.
destructionMultiplier 1.0 Multiplicador do raio de destruição de blocos deste tipo (0 significa sem dano ao terreno).
maxDestructionRadius Esfera gigante e Explosão 32; Onda, Raio e Área 12; os outros 6 Limite absoluto do raio de destruição (0 ou menos significa sem limite).
castTimeTicks Esfera pequena e Laser 0; Esfera média e Disco 30; Rajada, Escudo e Área 40; Onda e Raio 50; Esfera gigante e Explosão 60 Tempo para carregar até 100%. Esfera pequena e Laser são sempre instantâneos.
baseSizeCap Esfera gigante 15, Explosão 12, Esfera média 4.5, Onda 2, Raio e Disco 1.2, Rajada 1.5, os outros 0 Tamanho máximo até o qual o ataque cresce com a Força do Ki na forma base (0 mantém o tamanho próprio da técnica).
transformedSizeCap Esfera gigante e Explosão 25, Esfera média 7, Onda 5, Raio e Disco 2.3, Rajada 2.5, os outros 0 O mesmo, mas transformado ou usando uma forma acumulável como o Kaioken.
sizePowerFloor / sizePowerCeiling 100 / 1000000 Força do Ki em que um ataque está no próprio tamanho / atinge o limite (o crescimento entre os dois é logarítmico).

A destruição de blocos também está sujeita às gamerules de destruição com ki (veja Gamerules).

Ataques de golpe

StrikeAttacks tem uma entrada para cada id de técnica de golpe.

Campo Padrão O que faz
cooldownTicks Definido por técnica: meteor_burst 600, darkness_eye_beam 410, dimensional_sword_attack / android_combo 380, spirit_breaker 370, beam_sword_slash 350, dimensional_punch 340, spirit_breaking_cannon / perfect_rush 330, dragon_fist / shining_sword_attack / mystic_ball / death_chaser 320, super_god_fist 300, combo_meteor 290, oozaru_fist 280, gum_punch / blue_hurricane 260, grab 210, deadly_dance_vegetto 200, kaioken_attack / oozaru_slam 180, meteor / deadly_dance 160, wolf_fang 140 Recarga da técnica (antes das melhorias).
castTimeTicks 0 Tempo de conjuração mostrado nos detalhes da técnica (os golpes começam assim que você aperta a tecla).
damageMultiplier 1.0 Multiplicador do dano da técnica.
kiCostMultiplier 1.0 Multiplicador do custo de ki.
minXPCost / maxXPCost / xpCostMultiplier 100 / -1 / 1.0 Custos em XP das melhorias, como nos ataques de ki.
xpGainMultiplier / xpGainPerHit / xpGainPerKill 1.0 / 1 / 3 Ganhos de XP, como nos ataques de ki.

Técnicas de evasão

EvasionAttacks tem uma entrada para cada id de técnica de evasão.

Campo Padrão O que faz
cooldownTicks Definido por técnica: sleep_recovery 1200, taiyoken / gum_bind 900, candy_beam 600, afterimage 200, rage_scream / dimensional_teleport 80 Recarga da técnica (antes das melhorias).
damageMultiplier 1.0 Multiplicador do dano (Grito de fúria).
kiCostMultiplier 1.0 Multiplicador do custo de ki.
minXPCost / maxXPCost / xpCostMultiplier 100 / -1 / 1.0 Custos em XP das melhorias.
xpGainMultiplier / xpGainPerHit 1.0 / 2 Ganhos de XP (as técnicas de evasão ganham XP cada vez que são usadas).

Novos padrões em servidores existentes

Toda vez que skills.json e techniques.json são carregados (quando o servidor inicia ou com /dmzreload), as entradas padrão que faltam neles são adicionadas, sem mudar nenhum valor que já esteja nos arquivos:

  • em skills.json, uma habilidade ou técnica que falta é adicionada a skills com seus custos e raças padrão, e à lista de cada mestre que a oferece por padrão; um mestre que falta em skillOfferings é adicionado com toda a sua lista padrão;
  • em techniques.json, um tipo de ataque de ki, uma técnica de golpe ou uma técnica de evasão que falta é adicionado com seus valores padrão.

É assim que as técnicas novas chegam a um servidor existente. Na 2.2, isso inclui as técnicas de golpe darkness_eye_beam, death_chaser, android_combo, perfect_rush, spirit_breaker e beam_sword_slash, as técnicas de evasão candy_beam e gum_bind, e a oferta tien do Mestre Tenshinhan. Como os valores existentes nunca são sobrescritos, um servidor que já tinha um techniques.json mantém as recargas antigas dos ataques de golpe: compare-as com os padrões acima e edite-as se quiser as novas.

Recarregar e validar

  1. Edite config/dragonminez/skills.json, techniques.json ou os dois.
  2. Valide a sintaxe do JSON.
  3. Execute /dmzreload config (ou /dmzreload). Os jogadores conectados recebem os novos valores ressincronizados automaticamente.
  4. Confira no jogo o menu de habilidades do mestre que você alterou.