Configuração de combate
O combat.json controla a estâmina, o bloqueio e o parry, a mitigação de dano, a repulsão, a Velocidade e a esquiva passiva, a carga de ki e o Surto de Ki, o voo de combate, as armas de ki e a camada de compatibilidade com armas de outros mods. É um arquivo próprio: nenhum destes valores faz parte do general-server.json.
O arquivo fica em config/dragonminez/combat.json; seu esquema é definido em CombatConfig.java. Para ver como o combate funciona no jogo, consulte Combate; para ver como a defesa e a mitigação são aplicadas passo a passo, consulte Estatísticas e atributos. O ajuste específico de cada técnica (recargas, tempos de conjuração, tamanhos, destruição) fica em techniques.json, documentado em Configuração de habilidades.
Combate básico e status
| Chave | Padrão | O que faz |
|---|---|---|
staminaConsumptionRatio |
0.083 |
Custo de estâmina de um ataque corpo a corpo em relação ao seu dano. |
blockStaminaCost |
0.25 |
Custo de estâmina de um golpe bloqueado, em relação ao dano bloqueado. |
knockdownDurationSeconds |
30 |
Quanto tempo um jogador fica nocauteado quando um golpe o teria matado, mas a luta não permite mortes (PvP de grupo, Punho Amigável, treino com o Boneco de Sombra, ou um Namekuseijin ou Majin preparando uma absorção). |
baselineFormDrain |
80 |
Valor de referência contra o qual as formas escalam seu consumo de energia (veja o energyDrain de cada forma em Formas personalizadas). Também é usado para calcular o custo de ki das armas de ki.
|
killPlayersOnCombatLogout |
true |
Se um jogador sair no meio do combate, ele morre ao entrar de novo. |
strikeGlobalCooldownTicks |
60 |
Recarga compartilhada depois de qualquer ataque de golpe, para que ter vários não permita encadeá-los (cai pela metade quando o golpe erra). |
accurateMobBattlePower |
true |
Calcula o Poder de luta dos mobs que não são do DMZ a partir da vida, ataque, armadura, ataque à distância e velocidade. Quando é false, é simplesmente max health + attack damage × 5.
|
Bloqueio, parry e postura
| Chave | Padrão | O que faz |
|---|---|---|
enableBlocking |
true |
Interruptor geral do bloqueio. |
enableParrying |
true |
Interruptor geral do parry (exige que o bloqueio esteja ativado). |
parryWindowMs |
150 |
Começar a bloquear com esta antecedência em relação ao golpe (em milissegundos) o transforma em um parry: você não sofre dano, o atacante é repelido e cambaleia, atacantes que não são jogadores ficam atordoados, rajadas de ki são desviadas e ataques de golpe recebem um contra-ataque. |
parryStaminaCostPenalty |
2.0 |
Os ataques corpo a corpo de um atacante que sofreu um parry custam esta quantidade a mais de estâmina por 4 segundos. |
blockBreakStunDurationTicks |
60 |
Duração do atordoamento após uma quebra de guarda. |
poiseDamageMultiplier |
0.25 |
Fração do dano recebido convertida em dano de postura enquanto você bloqueia (×1.5 contra atacantes que não são jogadores). Quando a postura ou a estâmina acabam, sua guarda quebra. |
poiseRegenCooldown |
100 |
Ticks até a postura voltar a se regenerar depois de sofrer dano de postura. |
blockDamageReductionCap |
0.65 |
Redução de dano máxima ao bloquear. |
blockDamageReductionMin |
0.05 |
Redução de dano mínima ao bloquear. |
Mitigação de dano
| Chave | Padrão | O que faz |
|---|---|---|
baseDamageReductionCap |
0.88 |
Limite absoluto da redução percentual pela defesa. |
enchantmentDamageReductionCap |
0.93 |
Limite absoluto da defesa e dos encantamentos de Proteção combinados. |
defenseDecayOnGuardBreak |
0.66 |
Fração da sua defesa perdida nos golpes sofridos com a guarda quebrada. |
flatMitigationMaxAbsorbFraction |
0.82 |
Fração máxima de um golpe que a defesa fixa pode absorver (limitada a 0.0–1.0).
|
defenseReductionScale |
0.11 |
Escala da curva de redução percentual, em relação à defesa máxima esperada (limitada a no mínimo 0.01). Valores menores fazem a defesa atingir reduções altas mais cedo.
|
cancelDamageEventIfMitigationTooHigh |
true |
Anula totalmente golpes minúsculos em comparação com sua defesa fixa. |
cancelDamageMitigationThreshold |
2.5 |
Um golpe é anulado quando sua defesa fixa é pelo menos esta quantidade de vezes o dano recebido (mínimo 1.0).
|
enableAdaptativeDefenseMitigation |
true |
Redução extra para golpes pequenos em comparação com sua defesa fixa. |
adaptativeMitigationParityRatio |
1.0 |
Proporção entre golpe e defesa fixa em que a redução adaptativa é igual a adaptativeMitigationParityValue.
|
adaptativeMitigationParityValue |
0.35 |
Redução adaptativa na proporção de paridade (golpes menores recebem mais, golpes maiores, menos). |
adaptativeMitigationZeroRatio |
14.0 |
Proporção entre golpe e defesa fixa em que a redução adaptativa chega a 0. |
adaptativeDefenseMitigationCap |
0.65 |
Redução adaptativa máxima. |
Repulsão
| Chave | Padrão | O que faz |
|---|---|---|
enableDamageScaledKnockback |
true |
Escala a repulsão conforme quanto do golpe passou pela sua defesa e o tamanho dele. |
knockbackMinMultiplier |
0.15 |
Multiplicador de repulsão para um golpe que sua defesa absorveu quase por completo. |
knockbackHeavyHitHealthFraction |
0.15 |
Golpes que causam pelo menos esta fração da sua vida máxima contam como pesados e te empurram mais longe. |
knockbackHeavyHitGain |
3.0 |
Repulsão extra por fração de vida acima do limiar de golpe pesado (multiplicador 1 + (fraction − threshold) × gain).
|
knockbackMaxMultiplier |
2.5 |
Multiplicador de repulsão máximo. |
Proteção de Ki e Infusão de Ki
| Chave | Padrão | O que faz |
|---|---|---|
kiProtectionMitigationPerLevel |
0.025 |
Redução de dano por nível da habilidade Proteção de Ki. |
kiProtectionCostRatio |
0.15 |
Ki gasto por ponto de dano recebido enquanto a Proteção de Ki está ativa. |
kiInfusionDamagePerLevel |
0.025 |
Dano corpo a corpo extra por nível de Infusão de Ki, como fração do seu ki máximo. |
kiInfusionBaseCostPct |
2.5 |
Custo de ki por golpe (% do ki máximo) com Infusão de Ki no nível 1. |
kiInfusionMaxCostPct |
7.5 |
Custo de ki por golpe (% do ki máximo) com Infusão de Ki no nível 10. |
Velocidade e esquiva passiva
A Velocidade vem da Resistência. Jogadores com a habilidade Meditação podem esquivar automaticamente de ataques corpo a corpo básicos: contra jogadores, você precisa ser mais rápido que o atacante; contra outros inimigos, precisa de um Poder de luta maior. Cada esquiva custa estâmina, e esquivas seguidas ficam cada vez menos prováveis.
| Chave | Padrão | O que faz |
|---|---|---|
enableSpeedSystem |
true |
Interruptor geral da Velocidade (bônus de movimento, ajuda para subir blocos e esquiva passiva). |
speedReferenceStat |
10000.0 |
Resistência efetiva que adiciona +1.0 de Velocidade com a liberação de poder no máximo. |
transformedSpeedCap |
2.0 |
Multiplicador extra de Velocidade enquanto você está transformado ou usando uma forma acumulável. |
speedMovementCap |
3.0 |
Multiplicador máximo de velocidade de movimento dado pela Velocidade. |
speedStepAssistThreshold |
2.0 |
Velocidade a partir da qual você sobe blocos sem pular. |
speedStepAssistBonus |
0.5 |
Altura de passo extra dada pela ajuda para subir blocos. |
enableSpeedDodge |
true |
Interruptor da esquiva passiva. |
speedDodgeRatioAtLevel1 / speedDodgeRatioAtMaxLevel |
2.5 / 1.4 |
Quantas vezes mais rápido que um jogador atacante você precisa ser para esquivar, com Meditação no nível 1 / 10. |
speedDodgeFullChanceSpeedRatio |
2.0 |
Quanto além da proporção de velocidade exigida (como múltiplo) você atinge a chance máxima. |
speedDodgeBpRatioAtLevel1 / speedDodgeBpRatioAtMaxLevel |
2.0 / 1.0 |
Quantas vezes maior que o de um atacante que não é jogador o seu Poder de luta precisa ser, com Meditação no nível 1 / 10. |
speedDodgeFullChanceBpRatio |
10.0 |
Quanto além da proporção de Poder de luta exigida você atinge a chance máxima. |
nonPlayerAttackerSpeed |
1.0 |
Velocidade assumida para um atacante que não é jogador e não tem Poder de luta. |
speedDodgeBaseChance |
0.10 |
Chance de esquiva quando você mal cumpre o requisito. |
speedDodgeMaxChancePvp / speedDodgeMaxChancePve |
0.35 / 0.50 |
Chance máxima de esquiva contra jogadores / outros inimigos com Meditação no nível 10. |
speedDodgeMeditationChanceFloor |
0.60 |
Com Meditação no nível 1, a chance máxima é esta fração dos valores acima. |
speedDodgeStreakMultiplier |
0.75 |
Cada esquiva seguida multiplica a próxima chance por este valor. |
speedDodgeStreakResetTicks |
60 |
Ticks sem esquivar que zeram a sequência. |
speedDodgeCooldownTicks |
10 |
Ticks mínimos entre duas esquivas. |
speedDodgeStaminaCostPct |
0.03 |
Estâmina gasta por esquiva (fração da estâmina máxima). |
Mobilidade
| Chave | Padrão | O que faz |
|---|---|---|
enablePerfectEvasion |
true |
Interruptor geral da mecânica de evasão perfeita por timing. |
perfectEvasionWindowMs |
200 |
Janela de tempo (em milissegundos) para uma evasão perfeita. Depois de uma evasão perfeita, a próxima não pode ser ativada por 1.5 segundos (uma Esquiva nesse período é uma Esquiva normal). |
dashCooldownSeconds |
4 |
Recarga de uma Esquiva simples (também usada pelo toque da Transmissão instantânea). |
doubleDashCooldownSeconds |
12 |
Recarga de uma Esquiva Dupla. |
teleportCooldownSeconds |
30 |
Recarga depois de se teleportar com a Transmissão instantânea até um mestre ou um jogador. |
Carga de ki e Surto de Ki
Carregar ki (por padrão C) até o máximo e continuar carregando enche a barra de Surto de Ki. Na primeira vez que você atinge o ki máximo, libera uma Explosão de Ki que empurra os inimigos mais fracos ao seu redor. Quando a barra enche, você entra em um Surto de Ki: uma explosão maior causa dano e arremessa todos por perto (não pode matar) e, por um tempo, seus ataques de ki batem mais forte e voam mais rápido, você carrega, se move, voa e ataca mais rápido, e sua aura cresce; mas gastar ki custa mais e esvazia a barra. Ser atordoado encerra o surto.
| Chave | Padrão | O que faz |
|---|---|---|
kiChargeInterruptOnHit |
true |
Sofrer um golpe enquanto carrega ki interrompe a carga (e qualquer progresso do surto, o que inicia a recarga do surto). |
kiChargeDeflectsProjectiles |
true |
Enquanto você carrega ki, projéteis que não são de ki (flechas e similares) são desviados. |
kiChargeInterruptLockTicks |
10 |
Ticks em que você não pode voltar a carregar depois de ser interrompido. |
enableKiSurge |
true |
Interruptor geral da Explosão de Ki e do Surto de Ki. |
kiBurstRadius / kiBurstKnockback |
8.0 / 1.4 |
Raio e empurrão da Explosão de Ki ao atingir o ki máximo (só inimigos com Poder de luta menor são empurrados). |
surgeFillSeconds |
4.0 |
Segundos carregando com o ki no máximo necessários para encher a barra de surto. |
surgeDurationSeconds |
12.0 |
Quanto tempo dura um Surto de Ki. |
surgeCooldownSeconds |
15 |
Recarga depois que um surto termina ou é perdido. |
surgeDrainPerKiFraction |
1.5 |
Gastar ki durante um surto também esvazia a barra (gastar X% do ki máximo remove 1.5 × X% da barra). |
surgeBurstDamageRatio |
0.25 |
Dano da explosão do surto como fração do seu ki máximo (menor com a distância; nunca é letal). |
surgeBurstRadius / surgeBurstKnockback |
10.0 / 2.2 |
Raio e empurrão da explosão do surto. |
surgeKiCostMultiplier |
1.25 |
Multiplicador do custo de ki durante um surto. |
surgeKiDamageMultiplier |
1.15 |
Multiplicador do dano dos ataques de ki durante um surto. |
surgeKiSpeedMultiplier |
1.25 |
Multiplicador da velocidade dos projéteis de ataques de ki durante um surto. |
surgeKiChargeSpeedMultiplier |
1.20 |
Multiplicador da velocidade de carga de técnicas durante um surto. |
surgeMoveSpeedMultiplier / surgeFlySpeedMultiplier |
1.25 / 1.25 |
Multiplicador da velocidade de movimento / voo durante um surto. |
surgeAttackSpeedMultiplier |
1.40 |
Multiplicador da velocidade de ataque durante um surto. |
surgeAuraScaleMultiplier / surgeAuraSpeedMultiplier |
1.25 / 1.50 |
Tamanho da aura / velocidade da animação durante um surto (apenas visual). |
A Barreira de Absorção de um Android também pode forçar um Surto de Ki quando transborda (veja Habilidades raciais).
Voo de combate
| Chave | Padrão | O que faz |
|---|---|---|
combatFlyAutoSwitchOnDamage |
true |
Quando você sofre ou causa dano enquanto voa em Voo de busca, você passa para o Voo de combate. |
combatFlyLockSeconds |
8 |
Quanto tempo você fica preso no Voo de combate após uma troca automática. Com a Trava de modo ativada (menu radial), ao terminar você volta ao modo de voo que travou. |
combatFlyBaseSpeed |
0.30 |
Velocidade base do voo de combate. |
combatFlySprintSpeed |
0.50 |
Velocidade do voo de combate ao correr. |
combatFlyHoldSpeedMultiplier |
1.6 |
Multiplicador de velocidade enquanto você segura a tecla de movimento. |
combatFlyDrainMultiplier |
0.5 |
Multiplicador do ritmo de consumo de ki durante o voo de combate. |
combatFlyImpulseKiCostPct |
0.05 |
Custo de ki (%) de um impulso ou arrancada de voo. |
combatFlyImpulseCooldownTicks |
25 |
Recarga (em ticks) entre impulsos de voo. |
Ritmo de ataque
| Chave | Padrão | O que faz |
|---|---|---|
upswingMultiplier |
0.5 |
Escala a breve recarga de ataque aplicada quando você para de quebrar um bloco, em relação à sua recarga de ataque normal (limitada a 0.2–1.0).
|
allowAttackingMount |
false |
Se os jogadores podem atacar enquanto estão montados. |
attackIntervalCap |
2 |
Ticks mínimos entre ataques, por mais alta que seja sua velocidade de ataque. |
Preparação corpo a corpo. Um golpe corpo a corpo acerta um instante depois que você aperta atacar: a preparação é a duração da animação do golpe × o valor upswing do ataque nos seus atributos de armas × 0.95, entre 3 e 7 ticks. O servidor cronometra a preparação (com certa tolerância a lag) e verifica cada alvo contra a hitbox real do ataque e a linha de visão antes de o golpe contar. Você não pode causar dano corpo a corpo enquanto bloqueia, e começar a bloquear cancela um golpe em andamento.
Armas de ki
kiWeaponsConfig é um mapa cujas chaves são os tipos de arma (blade, scythe, clawlance): a Lâmina de Ki, a Foice de Ki e a Lança Garra de Ki desbloqueadas pela habilidade Manipulação de Ki. Valor padrão:
"kiWeaponsConfig": {
"blade": {
"baseDamage": 0.0,
"kiScalingDamage": 0.25,
"baseKiCost": 0.0,
"kiScalingCost": 0.075,
"attackSpeed": -2.4,
"forcedColor": "#FFFFFF",
"weaponCombo": "dragonminez:sword"
},
"scythe": { "baseDamage": 0.0, "kiScalingDamage": 0.45, "baseKiCost": 0.0, "kiScalingCost": 0.105, "attackSpeed": -2.8, "forcedColor": "#FFFFFF", "weaponCombo": "dragonminez:scythe" },
"clawlance": { "baseDamage": 0.0, "kiScalingDamage": 0.65, "baseKiCost": 0.0, "kiScalingCost": 0.175, "attackSpeed": -2.6, "forcedColor": "#FFFFFF", "weaponCombo": "dragonminez:trident" }
}
Cada entrada tem estes campos:
| Campo | O que faz |
|---|---|
baseDamage |
Dano extra fixo por golpe. |
kiScalingDamage |
Dano extra = Dano de ki × este valor × (nível de Manipulação de Ki × 0.1). |
baseKiCost |
Custo de ki fixo por ataque. |
kiScalingCost |
Custo de ki extra por ataque = baselineFormDrain × este valor.
|
attackSpeed |
Modificador do atributo de velocidade de ataque no estilo vanilla (negativo é mais lento). |
forcedColor |
Texto com a cor hexadecimal usada para renderizar o efeito de ki da arma. |
weaponCombo |
Combo que a arma usa (um id de Atributos de armas). |
Registro de armas
| Chave | Padrão | O que faz |
|---|---|---|
weaponRegistryLogging |
false |
Registra no log a resolução do registro de armas para depuração. |
weaponRegistryCompression |
true |
Comprime os dados do registro de armas sincronizado enviados aos clientes. |
Relações de combate do jogador
| Chave | Padrão | O que faz |
|---|---|---|
playerRelations |
minecraft:player: HOSTILE, minecraft:villager: NEUTRAL, minecraft:iron_golem: NEUTRAL, guardvillagers:guard: NEUTRAL |
Um mapa de id de entidade para HOSTILE, NEUTRAL ou FRIENDLY: uma exceção por entidade de como a seleção de alvos do combate trata essa entidade. Membros do grupo (a menos que o PvP de grupo esteja ativado) são sempre amigáveis, e rivais de torneio sempre hostis.
|
masteryBlacklistEntities |
minecraft:silverfish, dummmmmmy:target_dummy |
Lista de ids de entidades excluídas dos ganhos de domínio e de progresso de combate (por exemplo, bonecos de treino). |
playerRelationToPassives |
HOSTILE |
Relação padrão (HOSTILE, NEUTRAL ou FRIENDLY) com mobs passivos que não estejam listados em outro lugar.
|
playerRelationToHostiles |
HOSTILE |
Relação padrão com mobs hostis que não estejam listados em outro lugar. |
playerRelationToOther |
HOSTILE |
Relação padrão com todo o resto. |
Compatibilidade de reserva para armas de terceiros
Quando uma arma não tem uma entrada própria em Atributos de armas, o DMZ compara o id do item com uma lista de expressões regulares para deduzir uma categoria de arma razoável. Só são considerados itens com um modificador de dano de ataque.
| Chave | Padrão | O que faz |
|---|---|---|
fallbackCompatibilityEnabled |
true |
Interruptor geral deste sistema. |
blacklistItemIdRegex |
"pickaxe" |
Ids de item que correspondem a esta expressão regular nunca são tratados como armas no estilo do DMZ. |
fallbackCompatibility |
20 entradas padrão (abaixo) | Lista ordenada de mapeamentos { item_id_regex, weapon_attributes } de expressão regular para categoria; vence a primeira correspondência.
|
Mapeamentos padrão (item_id_regex → categoria de weapon_attributes):
| Expressão regular | Categoria |
|---|---|
claymore|great_sword|greatsword |
dragonminez:claymore
|
great_hammer|greathammer|war_hammer|warhammer|maul |
dragonminez:hammer
|
double_axe|doubleaxe|war_axe|waraxe|great_axe|greataxe |
dragonminez:double_axe
|
scythe |
dragonminez:scythe
|
halberd|glaive|pike|lance|naginata |
dragonminez:halberd
|
spear|trident|pitchfork|javelin |
dragonminez:spear
|
battlestaff|staff|quarterstaff|pole |
dragonminez:battlestaff
|
katana|uchigatana|nodachi|tachi |
dragonminez:katana
|
rapier|foil |
dragonminez:rapier
|
dagger|knife|shiv|dirk|kunai|karambit|wakizashi|tanto |
dragonminez:dagger
|
sickle|kama |
dragonminez:sickle
|
soul_knife |
dragonminez:soul_knife
|
claw|katar |
dragonminez:claw
|
wand |
dragonminez:wand
|
mace|hammer|flail |
dragonminez:mace
|
axe |
dragonminez:axe
|
coral_blade |
dragonminez:coral_blade
|
twin_blade|twinblade |
dragonminez:twin_blade
|
cutlass|scimitar|machete |
dragonminez:cutlass
|
sword|blade |
dragonminez:sword (curinga)
|
Recarregar e validar
- Edite
config/dragonminez/combat.json. - Valide a sintaxe do JSON.
- Execute
/dmzreload config(ou/dmzreload). - Teste no jogo: o timing do bloqueio e do parry, o dano e o custo das armas de ki e (se for o caso) a categoria deduzida de uma arma de terceiros.