Configuración de combate

De DragonMineZ Wiki
Revisión del 23:17 13 oct 2026 de Shokkoh (discusión | contribs.) (Translation sync from dragonminez-wiki repository)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

combat.json controla la stamina, el bloqueo y el parry, la mitigación de daño, el retroceso, la Velocidad y la esquiva pasiva, la carga de ki y la Oleada de Ki, el vuelo de combate, las armas de ki y la capa de compatibilidad con armas de otros mods. Es un archivo independiente: ninguno de estos valores forma parte de general-server.json.

El archivo está en config/dragonminez/combat.json; su esquema se define en CombatConfig.java. Para ver cómo funciona el combate en el juego, consulta Combate; para ver cómo se aplican la defensa y la mitigación paso a paso, consulta Estadísticas y atributos. El ajuste específico de cada técnica (tiempos de recarga, tiempos de lanzamiento, tamaños, destrucción) está en techniques.json, documentado en Configuración de habilidades.

Combate básico y estado

Véase también: Combate, Super Golpes
Clave Predeterminado Qué hace
staminaConsumptionRatio 0.083 Costo de stamina de un ataque cuerpo a cuerpo en relación con su daño.
blockStaminaCost 0.25 Costo de stamina de un golpe bloqueado, en relación con el daño bloqueado.
knockdownDurationSeconds 30 Cuánto tiempo queda un jugador noqueado cuando un golpe lo habría matado pero el combate no permite muertes (PvP de grupo, Puño Amigo, entrenamiento con el Doble de Sombra, o un Namekiano o Majin preparando una absorción).
baselineFormDrain 80 Valor de referencia contra el que las formas escalan su consumo de energía (consulta el energyDrain de cada forma en Formas personalizadas). También se usa para calcular el costo de ki de las armas de ki.
killPlayersOnCombatLogout true Si un jugador se desconecta en pleno combate, muere al volver a conectarse.
strikeGlobalCooldownTicks 60 Tiempo de recarga compartido después de cualquier Super Golpe, para que tener varios no te permita encadenarlos (se reduce a la mitad si el golpe falla).
accurateMobBattlePower true Calcula el Poder de Combate de los mobs que no son de DMZ a partir de su vida, ataque, armadura, ataque a distancia y velocidad. Si es false, es simplemente max health + attack damage × 5.

Bloqueo, parry y estabilidad

Véase también: Combate
Clave Predeterminado Qué hace
enableBlocking true Interruptor general del bloqueo.
enableParrying true Interruptor general del parry (requiere que el bloqueo esté activado).
parryWindowMs 150 Empezar a bloquear con esta antelación al golpe (en milisegundos) lo convierte en un parry: no recibes daño, el atacante sale despedido y se tambalea, los atacantes que no son jugadores quedan aturdidos, las ráfagas de ki se desvían y los Super Golpes reciben un contraataque.
parryStaminaCostPenalty 2.0 Los ataques cuerpo a cuerpo de un atacante que recibió un parry cuestan esta cantidad extra de stamina durante 4 segundos.
blockBreakStunDurationTicks 60 Duración del aturdimiento tras una rotura de guardia.
poiseDamageMultiplier 0.25 Fracción del daño recibido que se convierte en daño de estabilidad mientras bloqueas (×1.5 contra atacantes que no son jugadores). Cuando se te acaba la estabilidad o la stamina, se rompe tu guardia.
poiseRegenCooldown 100 Ticks que pasan antes de que la estabilidad vuelva a regenerarse tras recibir daño de estabilidad.
blockDamageReductionCap 0.65 Reducción de daño máxima al bloquear.
blockDamageReductionMin 0.05 Reducción de daño mínima al bloquear.

Mitigación de daño

Véase también: Estadísticas y atributos
Clave Predeterminado Qué hace
baseDamageReductionCap 0.88 Tope absoluto de la reducción porcentual por defensa.
enchantmentDamageReductionCap 0.93 Tope absoluto de la defensa y los encantamientos de Protección combinados.
defenseDecayOnGuardBreak 0.66 Fracción de tu defensa que se pierde en los golpes recibidos con la guardia rota.
flatMitigationMaxAbsorbFraction 0.82 Fracción máxima de un golpe que puede absorber la defensa plana (limitada a 0.0–1.0).
defenseReductionScale 0.11 Escala de la curva de reducción porcentual, en relación con la defensa máxima esperada (limitada a un mínimo de 0.01). Los valores más bajos hacen que la defensa alcance reducciones altas antes.
cancelDamageEventIfMitigationTooHigh true Anula por completo los golpes que son diminutos comparados con tu defensa plana.
cancelDamageMitigationThreshold 2.5 Un golpe se anula cuando tu defensa plana es al menos esta cantidad de veces el daño recibido (mínimo 1.0).
enableAdaptativeDefenseMitigation true Reducción extra para los golpes pequeños comparados con tu defensa plana.
adaptativeMitigationParityRatio 1.0 Proporción entre golpe y defensa plana en la que la reducción adaptativa es igual a adaptativeMitigationParityValue.
adaptativeMitigationParityValue 0.35 Reducción adaptativa en la proporción de paridad (los golpes más pequeños reciben más, los más grandes menos).
adaptativeMitigationZeroRatio 14.0 Proporción entre golpe y defensa plana en la que la reducción adaptativa llega a 0.
adaptativeDefenseMitigationCap 0.65 Reducción adaptativa máxima.

Retroceso

Clave Predeterminado Qué hace
enableDamageScaledKnockback true Escala el retroceso según cuánto de un golpe atravesó tu defensa y lo grande que era.
knockbackMinMultiplier 0.15 Multiplicador de retroceso para un golpe que tu defensa absorbió casi por completo.
knockbackHeavyHitHealthFraction 0.15 Los golpes que hacen al menos esta fracción de tu vida máxima cuentan como fuertes y te empujan más lejos.
knockbackHeavyHitGain 3.0 Retroceso extra por cada fracción de vida por encima del umbral de golpe fuerte (multiplicador 1 + (fraction − threshold) × gain).
knockbackMaxMultiplier 2.5 Multiplicador de retroceso máximo.

Protección de Ki e Infusión de Ki

Véase también: Habilidades
Clave Predeterminado Qué hace
kiProtectionMitigationPerLevel 0.025 Reducción de daño por nivel de la habilidad Protección de Ki.
kiProtectionCostRatio 0.15 Ki gastado por cada punto de daño recibido mientras Protección de Ki está activa.
kiInfusionDamagePerLevel 0.025 Daño cuerpo a cuerpo extra por nivel de Infusión de Ki, como fracción de tu ki máximo.
kiInfusionBaseCostPct 2.5 Costo de ki por golpe (% del ki máximo) con Infusión de Ki en nivel 1.
kiInfusionMaxCostPct 7.5 Costo de ki por golpe (% del ki máximo) con Infusión de Ki en nivel 10.

Velocidad y esquiva pasiva

La Velocidad sale de la Resistencia. Los jugadores con la habilidad Meditación pueden esquivar automáticamente los ataques cuerpo a cuerpo básicos: contra jugadores necesitas ser más rápido que el atacante y contra otros enemigos necesitas un Poder de Combate mayor. Cada esquiva cuesta stamina, y las esquivas seguidas son cada vez menos probables.

Clave Predeterminado Qué hace
enableSpeedSystem true Interruptor general de la Velocidad (bonus de movimiento, ayuda para subir bloques y esquiva pasiva).
speedReferenceStat 10000.0 Resistencia efectiva que añade +1.0 de Velocidad con la liberación de poder al máximo.
transformedSpeedCap 2.0 Multiplicador extra de Velocidad mientras estás transformado o usas una forma acumulable.
speedMovementCap 3.0 Multiplicador máximo de velocidad de movimiento que da la Velocidad.
speedStepAssistThreshold 2.0 Velocidad a partir de la cual subes bloques sin saltar.
speedStepAssistBonus 0.5 Altura de paso extra que da la ayuda para subir bloques.
enableSpeedDodge true Interruptor de la esquiva pasiva.
speedDodgeRatioAtLevel1 / speedDodgeRatioAtMaxLevel 2.5 / 1.4 Cuántas veces más rápido que un jugador atacante debes ser para esquivar, con Meditación en nivel 1 / 10.
speedDodgeFullChanceSpeedRatio 2.0 Cuánto más allá de la proporción de velocidad requerida (como múltiplo) alcanzas la probabilidad máxima.
speedDodgeBpRatioAtLevel1 / speedDodgeBpRatioAtMaxLevel 2.0 / 1.0 Cuántas veces mayor que el de un atacante que no es jugador debe ser tu Poder de Combate, con Meditación en nivel 1 / 10.
speedDodgeFullChanceBpRatio 10.0 Cuánto más allá de la proporción de Poder de Combate requerida alcanzas la probabilidad máxima.
nonPlayerAttackerSpeed 1.0 Velocidad que se asume para un atacante que no es jugador y no tiene Poder de Combate.
speedDodgeBaseChance 0.10 Probabilidad de esquiva cuando apenas cumples el requisito.
speedDodgeMaxChancePvp / speedDodgeMaxChancePve 0.35 / 0.50 Probabilidad máxima de esquiva contra jugadores / otros enemigos con Meditación en nivel 10.
speedDodgeMeditationChanceFloor 0.60 Con Meditación en nivel 1, la probabilidad máxima es esta fracción de los valores anteriores.
speedDodgeStreakMultiplier 0.75 Cada esquiva seguida multiplica la siguiente probabilidad por este valor.
speedDodgeStreakResetTicks 60 Ticks sin esquivar que reinician la racha.
speedDodgeCooldownTicks 10 Ticks mínimos entre dos esquivas.
speedDodgeStaminaCostPct 0.03 Stamina gastada por esquiva (fracción de la stamina máxima).

Movilidad

Clave Predeterminado Qué hace
enablePerfectEvasion true Interruptor general de la mecánica de evasión perfecta por timing.
perfectEvasionWindowMs 200 Ventana de tiempo (en milisegundos) para una evasión perfecta. Después de una evasión perfecta, la siguiente no puede activarse durante 1.5 segundos (un Dash en ese tiempo es un Dash normal).
dashCooldownSeconds 4 Tiempo de recarga de un Dash simple (también lo usa el toque de Teletransportación Instantánea).
doubleDashCooldownSeconds 12 Tiempo de recarga de un Doble Dash.
teleportCooldownSeconds 30 Tiempo de recarga después de teletransportarte con Teletransportación Instantánea hacia un maestro o un jugador.

Carga de ki y Oleada de Ki

Véase también: Combate

Cargar ki (por defecto C) hasta el máximo y seguir cargando llena la barra de Oleada de Ki. La primera vez que llegas al ki máximo liberas un Estallido de Ki que empuja a los enemigos más débiles a tu alrededor. Cuando la barra se llena entras en una Oleada de Ki: un estallido mayor daña y empuja a todos los que están cerca (no puede matar), y luego, durante un rato, tus ataques de ki pegan más fuerte y vuelan más rápido, cargas, te mueves, vuelas y atacas más rápido, y tu aura crece; pero gastar ki cuesta más y vacía la barra. Si te aturden, la oleada termina.

Clave Predeterminado Qué hace
kiChargeInterruptOnHit true Recibir un golpe mientras cargas ki detiene la carga (y cualquier progreso de la oleada, lo que inicia su tiempo de recarga).
kiChargeDeflectsProjectiles true Mientras cargas ki, los proyectiles que no son de ki (flechas y similares) se desvían.
kiChargeInterruptLockTicks 10 Ticks durante los que no puedes volver a cargar después de ser interrumpido.
enableKiSurge true Interruptor general del Estallido de Ki y la Oleada de Ki.
kiBurstRadius / kiBurstKnockback 8.0 / 1.4 Radio y empuje del Estallido de Ki al llegar al ki máximo (solo se empuja a los enemigos con menor Poder de Combate).
surgeFillSeconds 4.0 Segundos cargando con el ki al máximo que se necesitan para llenar la barra de oleada.
surgeDurationSeconds 12.0 Cuánto dura una Oleada de Ki.
surgeCooldownSeconds 15 Tiempo de recarga después de que una oleada termina o se pierde.
surgeDrainPerKiFraction 1.5 Gastar ki durante una oleada también vacía la barra (gastar X% del ki máximo quita 1.5 × X% de la barra).
surgeBurstDamageRatio 0.25 Daño del estallido de la oleada como fracción de tu ki máximo (menor con la distancia; nunca es letal).
surgeBurstRadius / surgeBurstKnockback 10.0 / 2.2 Radio y empuje del estallido de la oleada.
surgeKiCostMultiplier 1.25 Multiplicador del costo de ki durante una oleada.
surgeKiDamageMultiplier 1.15 Multiplicador del daño de los ataques de ki durante una oleada.
surgeKiSpeedMultiplier 1.25 Multiplicador de la velocidad de los proyectiles de ataques de ki durante una oleada.
surgeKiChargeSpeedMultiplier 1.20 Multiplicador de la velocidad de carga de técnicas durante una oleada.
surgeMoveSpeedMultiplier / surgeFlySpeedMultiplier 1.25 / 1.25 Multiplicador de la velocidad de movimiento / vuelo durante una oleada.
surgeAttackSpeedMultiplier 1.40 Multiplicador de la velocidad de ataque durante una oleada.
surgeAuraScaleMultiplier / surgeAuraSpeedMultiplier 1.25 / 1.50 Tamaño del aura / velocidad de su animación durante una oleada (solo visual).

La Barrera de Absorción de un Androide también puede forzar una Oleada de Ki cuando se desborda (consulta Habilidades raciales).

Vuelo de combate

Véase también: Combate, Habilidades
Clave Predeterminado Qué hace
combatFlyAutoSwitchOnDamage true Cuando recibes o haces daño mientras vuelas en Vuelo de búsqueda, pasas a Vuelo de combate.
combatFlyLockSeconds 8 Cuánto tiempo te quedas fijado en Vuelo de combate tras un cambio automático. Con el Bloqueo de modo activado (menú radial), al terminar vuelves al modo de vuelo que fijaste.
combatFlyBaseSpeed 0.30 Velocidad base del vuelo de combate.
combatFlySprintSpeed 0.50 Velocidad del vuelo de combate al esprintar.
combatFlyHoldSpeedMultiplier 1.6 Multiplicador de velocidad mientras mantienes pulsada la tecla de movimiento.
combatFlyDrainMultiplier 0.5 Multiplicador del ritmo de consumo de ki durante el vuelo de combate.
combatFlyImpulseKiCostPct 0.05 Costo de ki (%) de un impulso o acelerón de vuelo.
combatFlyImpulseCooldownTicks 25 Tiempo de recarga (en ticks) entre impulsos de vuelo.

Ritmo de ataque

Clave Predeterminado Qué hace
upswingMultiplier 0.5 Escala el breve tiempo de recarga de ataque que se aplica cuando dejas de romper un bloque, en relación con tu tiempo de recarga de ataque normal (limitado a 0.2–1.0).
allowAttackingMount false Si los jugadores pueden atacar mientras van montados.
attackIntervalCap 2 Ticks mínimos entre ataques, por alta que sea tu velocidad de ataque.

Preparación cuerpo a cuerpo. Un golpe cuerpo a cuerpo impacta un instante después de que pulsas atacar: la preparación es la duración de la animación del golpe × el valor upswing del ataque según sus atributos de armas × 0.95, entre 3 y 7 ticks. El servidor mide la preparación (con cierta tolerancia al lag) y comprueba cada objetivo contra la hitbox real del ataque y la línea de visión antes de que el golpe cuente. No puedes hacer daño cuerpo a cuerpo mientras bloqueas, y empezar a bloquear cancela un golpe en curso.

Armas de ki

Véase también: Habilidades

kiWeaponsConfig es un mapa cuyas claves son los tipos de arma (blade, scythe, clawlance): la Espada de Ki, la Guadaña de Ki y la Lanza-Garra de Ki que desbloquea la habilidad Manipulación de Ki. Valor predeterminado:

"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 tiene estos campos:

Campo Qué hace
baseDamage Daño extra fijo por golpe.
kiScalingDamage Daño extra = Daño de ki × este valor × (nivel de Manipulación de Ki × 0.1).
baseKiCost Costo de ki fijo por ataque.
kiScalingCost Costo de ki extra por ataque = baselineFormDrain × este valor.
attackSpeed Modificador del atributo de velocidad de ataque al estilo vanilla (negativo es más lento).
forcedColor Texto con el color hexadecimal que se usa para renderizar el efecto de ki del arma.
weaponCombo Combo que usa el arma (un id de Atributos de armas).

Registro de armas

Clave Predeterminado Qué hace
weaponRegistryLogging false Registra en el log la resolución del registro de armas para depuración.
weaponRegistryCompression true Comprime los datos del registro de armas sincronizado que se envían a los clientes.

Relaciones de combate del jugador

Clave Predeterminado Qué hace
playerRelations minecraft:player: HOSTILE, minecraft:villager: NEUTRAL, minecraft:iron_golem: NEUTRAL, guardvillagers:guard: NEUTRAL Un mapa de id de entidad a HOSTILE, NEUTRAL o FRIENDLY: una excepción por entidad de cómo trata el sistema de objetivos de combate a esa entidad. Los miembros del grupo (salvo que el PvP de grupo esté activado) siempre son amistosos, y los rivales de torneo siempre hostiles.
masteryBlacklistEntities minecraft:silverfish, dummmmmmy:target_dummy Lista de ids de entidades excluidas de las ganancias de maestría y de progreso de combate (por ejemplo, los muñecos de entrenamiento).
playerRelationToPassives HOSTILE Relación predeterminada (HOSTILE, NEUTRAL o FRIENDLY) hacia los mobs pasivos que no aparecen en otra lista.
playerRelationToHostiles HOSTILE Relación predeterminada hacia los mobs hostiles que no aparecen en otra lista.
playerRelationToOther HOSTILE Relación predeterminada hacia todo lo demás.

Compatibilidad de respaldo para armas de terceros

Cuando un arma no tiene una entrada propia en Atributos de armas, DMZ compara su id de objeto con una lista de expresiones regulares para deducir una categoría de arma razonable. Solo se tienen en cuenta los objetos con un modificador de daño de ataque.

Clave Predeterminado Qué hace
fallbackCompatibilityEnabled true Interruptor general de este sistema.
blacklistItemIdRegex "pickaxe" Los ids de objeto que coinciden con esta expresión regular nunca se tratan como armas al estilo de DMZ.
fallbackCompatibility 20 entradas predeterminadas (abajo) Lista ordenada de asociaciones { item_id_regex, weapon_attributes } de expresión regular a categoría; gana la primera coincidencia.

Asociaciones predeterminadas (item_id_regex → categoría de weapon_attributes):

Expresión regular Categoría
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 (comodín)
Control preciso Si vas a añadir un objeto de un mod de armas y quieres un control preciso en lugar de depender de la deducción por expresión regular, dale una entrada real en Atributos de armas. La entrada del datapack siempre gana sobre la suposición de respaldo.

Recargar y validar

  1. Edita config/dragonminez/combat.json.
  2. Valida la sintaxis del JSON.
  3. Ejecuta /dmzreload config (o /dmzreload).
  4. Prueba en el juego: el timing del bloqueo y del parry, el daño y el costo de las armas de ki y (si corresponde) la categoría deducida de un arma de terceros.