Configuração de combate

From DragonMineZ Wiki
This page is a translated version of the page Combat Config and the translation is 100% complete.

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

Veja também: Combate, Ataques de Golpe
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

Veja também: Combate
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

Veja também: Habilidades
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

Veja também: Combate

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

Veja também: Combate, Habilidades
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

Veja também: Habilidades

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)
Controle preciso Se você vai adicionar um item de um mod de armas e quer controle preciso em vez de depender da dedução por expressão regular, dê a ele uma entrada real em Atributos de armas. A entrada do datapack sempre vence o palpite de reserva.

Recarregar e validar

  1. Edite config/dragonminez/combat.json.
  2. Valide a sintaxe do JSON.
  3. Execute /dmzreload config (ou /dmzreload).
  4. 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.