Sistema de Dano
Esta é uma análise abrangente de como a saúde / dano escala no EliteMobs. Deve ser usada como referência ao projetar masmorras.
Está focada em Chefes Personalizados, mas Elites normais escalam da mesma forma.
Antes de começar!
Você não precisa ler tudo isso se quiser apenas fazer ajustes rápidos. Pule para a seção "Usando estes dados para masmorras" para ver cálculos rápidos muito simplificados e uma série de configurações recomendadas pré-definidas!
Escalonamento (em geral)
EliteMobs usa um sistema de escalonamento exponencial onde cada 5 níveis de diferença dobra (ou reduz pela metade) o poder efetivo. Saúde do chefe, dano do jogador e dano do chefe todos escalam exponencialmente para que o combate pareça consistente em cada faixa de nível -- um jogador de nível 10 lutando contra um chefe de nível 15 se sente o mesmo que um jogador de nível 50 lutando contra um chefe de nível 55.
O poder do jogador vem de duas fontes em uma divisão 50/50:
- Nível de Habilidade de Arma -- ganho ao matar Elite Mobs com um tipo específico de arma (espadas, machados, arcos, bestas, tridentes, enxadas, maças ou lanças).
- Nível de Item -- o nível elite da arma ou peça de armadura que o jogador equipou.
Os jogadores também têm uma Habilidade de Armadura que sobe de nível passivamente durante o combate (a 1/3 da taxa das habilidades de arma). O nível de habilidade de armadura concede saúde máxima bônus (+1 coração por nível acima de 1) e determina o escalonamento defensivo do jogador contra o dano do chefe.
Habilidades de Arma
EliteMobs 10 introduz um sistema de habilidades onde os jogadores nivelam independentemente cada tipo de arma ao usá-la em combate. Matar um Elite Mob concede XP para a habilidade de arma correspondente à arma segurada, e também para a habilidade de Armadura a uma taxa reduzida.
As habilidades de arma disponíveis são:
| Habilidade | Arma |
|---|---|
| Espadas | Todos os tipos de espada |
| Machados | Todos os tipos de machado |
| Arcos | Arco |
| Bestas | Besta |
| Tridentes | Tridente |
| Enxadas | Todos os tipos de enxada |
| Maças | Maça (1.21+) |
| Lanças | Todos os tipos de lança (1.21.5+) |
| Armadura | Todas as peças de armadura (nivelada passivamente) |
XP de habilidade de um mob é igual a mobLevel^2, então mobs de nível mais alto concedem proporcionalmente mais XP. O nível máximo de habilidade é 100, após o qual um limite suave torna a progressão adicional exponencialmente mais difícil.
Bônus de Habilidade
Cada habilidade de arma (e a habilidade de armadura) tem um conjunto de bônus de habilidade -- habilidades especiais que desbloqueiam conforme o jogador sobe de nível. Os jogadores podem selecionar quais bônus ativar. Bônus de habilidade vêm em cinco tipos:
- Passivo -- sempre ativo quando equipado (ex: aumento de dano fixo).
- Condicional -- ativo apenas quando uma condição específica é atendida (ex: dano bônus quando o alvo está abaixo de 30% de saúde).
- Proc -- gatilho baseado em chance em eventos específicos (ex: chance de causar sangramento ao acertar).
- Acumulação -- acumula ao longo de ações consecutivas (ex: acertos consecutivos aumentam o dano).
- Recarga -- efeito poderoso com uma recarga interna (ex: sobreviver a dano fatal uma vez a cada 60 segundos).
Bônus de habilidade ofensivos das habilidades de arma são aplicados como multiplicadores de dano aditivos em cima do dano base causado aos chefes. Bônus de habilidade defensivos da habilidade de armadura reduzem o dano de chefe recebido através de várias mecânicas (redução fixa, esquiva, escudos de dano, etc.).
Dano causado por Chefes Personalizados
O dano de chefe no EliteMobs 10 usa três camadas multiplicativas sem pré-compensação. O sistema é projetado para que um jogador adequadamente equipado sobreviva aproximadamente 5 acertos de conteúdo do mesmo nível.
A fórmula de dano para Chefes Personalizados é:
1. playerMaxHealth = 20 + (armorSkillLevel - 1) * 2
2. baseDamage = playerMaxHealth / 5.0
3. skillAdjustment = 2 ^ ((bossLevel - armorSkillLevel) / 7.5)
4. gearAdjustment = 2.0 * (1 - gearReduction)
5. scaledDamage = baseDamage * skillAdjustment * gearAdjustment
6. [atenuação de distância de explosão, se aplicável]
7. potionMultiplier do efeito de Resistência
8. finalDamage = max(scaledDamage, 1) * potionMultiplier * customBossDamageMultiplier * specialMultiplier * configMultiplier
9. finalDamage = min(finalDamage, actualMaxHealth - 1)
As três camadas são:
- Dano base -- quanta HP por acerto o jogador deve perder (
playerMaxHealth / 5). - Ajuste de habilidade -- escalonamento exponencial da diferença entre o nível do chefe e o nível de Habilidade de Armadura do jogador.
- Ajuste de equipamento -- redução consciente do tipo de dano baseada na armadura equipada e encantamentos de proteção do jogador (ver Sistema de Defesa de Equipamento abaixo).
Nota: O dano é limitado a (saúde máxima real do jogador - 1) para prevenir mortes instantâneas. O limite usa o atributo generic_max_health, que inclui todos os modificadores (bônus de habilidade de armadura, efeitos de poção, etc.).
playerMaxHealth
A saúde máxima do jogador é determinada pelo nível de Habilidade de Armadura. A saúde base é 20 (10 corações), e cada nível de habilidade de armadura acima de 1 adiciona 2 HP (1 coração). Um jogador com nível de habilidade de armadura 50 tem 118 HP (59 corações).
baseDamage
O dano base é simplesmente playerMaxHealth / 5.0. Esta é a quantidade de dano que um jogador adequadamente equipado do mesmo nível deve receber por acerto. Ao contrário do sistema antigo, não há pré-compensação -- o valor base é o dano alvo, não um valor bruto inflado.
skillAdjustment
O ajuste de habilidade usa escalonamento exponencial para tornar a diferença de nível entre o chefe e a Habilidade de Armadura do jogador significativa:
skillAdjustment = 2 ^ ((bossLevel - armorSkillLevel) / 7.5)
Cada 7.5 níveis de diferença dobra (ou reduz pela metade) o dano efetivo do chefe. Isto é ligeiramente mais tolerante que o modificador de nível de uso geral (que dobra a cada 5 níveis), porque a camada de ajuste de equipamento já fornece escalonamento adicional.
| Diferença de Nível | Ajuste de Habilidade | Acertos Aproximados para Matar (equipamento correspondente) |
|---|---|---|
| Mesmo nível (0) | 1.0x | ~5 acertos |
| +5 níveis | ~1.6x | ~3 acertos |
| +10 níveis | ~2.5x | ~2 acertos |
| +15 níveis | 4.0x | ~1.25 acertos |
Sistema de Defesa de Equipamento
O sistema de defesa de equipamento substitui a antiga rampa de equipamento. Em vez de assumir um multiplicador de pré-compensação fixo baseado no nível de habilidade, o sistema agora lê o equipamento real equipado do jogador e calcula uma redução de equipamento consciente do tipo de dano.
Tipos de Dano
O sistema classifica o dano recebido em cinco categorias. O tipo de dano determina quais encantamentos de proteção contribuem para a pontuação de equipamento:
| Tipo de Dano | Causas do Evento | Encantamentos de Proteção Usados |
|---|---|---|
| MELEE | Ataque direto, ataque de varredura | Apenas Proteção |
| PROJECTILE | Flechas, bolas de fogo | Proteção + Proteção contra Projéteis |
| EXPLOSION | Explosão de creeper, explosão de ghast | Proteção + Proteção contra Explosões |
| FIRE | Fogo, fogo persistente | Proteção + Proteção contra Fogo |
| OTHER | Todo o resto | Apenas Proteção |
Pontuação de Equipamento
A pontuação de equipamento combina o nível de armadura e bônus de encantamento em um único valor que pode ser comparado ao nível do mob atacante:
gearScore = (soma de armorLevel para 4 slots de armadura) / 4
+ (soma de enchantBonus para todos os 6 slots) / 4
Nível de armadura é determinado por item:
- Itens elite usam seu nível elite armazenado (o nível para o qual o item foi criado).
- Itens vanilla usam uma tabela de consulta baseada em material:
| Material | Nível de Armadura |
|---|---|
| Couro | 1 |
| Ouro | 2 |
| Cota de malha | 3 |
| Ferro | 4 |
| Casco de tartaruga | 4 |
| Diamante | 5 |
| Netherite | 7 |
Apenas os 4 slots de armadura (capacete, peitoral, calças, botas) contribuem com nível de armadura.
Bônus de encantamento converte níveis de encantamento de proteção em unidades equivalentes a nível de armadura:
enchantBonus = (nível de Proteção geral + nível de Proteção específica do tipo) * (1/3)
Todos os 6 slots de equipamento (4 armadura + mão principal + mão secundária) contribuem com bônus de encantamento. Isso significa que escudos ou armas com encantamentos de Proteção fornecem defesa adicional. A normalização /4 na soma significa que ter encantamentos em todos os 6 slots dá até 50% mais contribuição de encantamento do que tê-los apenas em 4 peças de armadura.
Exemplo trabalhado: Lv25 equipamento correspondente + Prot IV vs Lv25 (corpo a corpo)
Jogador: armorSkillLevel=25, maxHP = 20 + 24*2 = 68
4 peças de armadura elite cada uma em armorLevel=25, cada uma com Proteção IV
Mob: nível=25, ataque corpo a corpo
Passo 1 -- Nível de armadura por peça: 25 (item elite, valor armazenado)
Passo 2 -- Bônus de encantamento por peça: Proteção IV = 4 * (1/3) = 1.333
(tipo de dano corpo a corpo, então apenas Proteção geral se aplica)
Passo 3 -- Pontuação de equipamento:
armorLevelSum = 25*4 = 100, /4 = 25.0
enchantBonusSum = 1.333*4 = 5.333 (sem encantamentos na mão principal/secundária), /4 = 1.333
gearScore = 25.0 + 1.333 = 26.333
Passo 4 -- Redução de equipamento (acima da correspondência):
reduction = 0.50 + (26.333 - 25) * 0.025 = 0.533 (53.3%)
Passo 5 -- Ajuste de equipamento: 2.0 * (1 - 0.533) = 0.933
Passo 6 -- Dano final: baseDamage(13.6) * skillAdj(1.0) * gearAdj(0.933) = 12.69
Acertos para matar: 68 / 12.69 = 5.36, aproximadamente 5.4 acertos
Exemplo trabalhado: Lv1 diamante vanilla vs Lv5 esqueleto (projétil)
Jogador: armorSkillLevel=1, maxHP = 20
Armadura de diamante vanilla completa (sem encantamentos), sem encantamentos na mão principal/secundária
Mob: nível=5, flecha de esqueleto (tipo de dano PROJECTILE)
Passo 1 -- Nível de armadura por peça: 5 (diamante vanilla da tabela de consulta)
Passo 2 -- Bônus de encantamento: 0 (sem encantamentos em nenhuma peça)
Passo 3 -- Pontuação de equipamento: (5+5+5+5)/4 + 0/4 = 5.0
Passo 4 -- Redução de equipamento (correspondente): 0.50 * (5/5) = 0.50 (50%)
Passo 5 -- Ajuste de equipamento: 2.0 * (1 - 0.50) = 1.0
Passo 6 -- Dano final: baseDamage(4) * skillAdj(1.447) * gearAdj(1.0) = 5.79
Acertos para matar: 20 / 5.79 = 3.45, aproximadamente 3.5 acertos
Se a armadura de diamante também tivesse Proteção contra Projéteis IV, cada peça ganharia um bônus de encantamento de 4 * (1/3) = 1.333. A pontuação de equipamento subiria para 5.0 + (1.333*4)/4 = 6.333, aumentando a redução para 53.3% e melhorando notavelmente a sobrevivência contra flechas.
Curva de Redução de Equipamento
A redução de equipamento usa uma curva linear de duas partes que transiciona no ponto onde a pontuação de equipamento é igual ao nível do mob:
Abaixo da correspondência (gearScore é menor ou igual a mobLevel):
reduction = 0.50 * (gearScore / mobLevel)
Escala linearmente de 0% (nu) a 50% (correspondente). A inclinação depende do nível do mob -- contra um mob de nível 5 cada nível de equipamento dá 10% de redução, enquanto contra um mob de nível 50 cada um dá 1%. Isso naturalmente torna a armadura vanilla de baixo nível eficaz contra mobs de baixo nível, mas irrelevante contra de alto nível.
Acima da correspondência (gearScore é maior que mobLevel):
reduction = 0.50 + (gearScore - mobLevel) * 0.025
2.5% fixo por nível de equipamento acima do mob. Atinge o limite máximo de 75% em +10 níveis de equipamento acima do mob.
Ajuste de equipamento converte a redução em um multiplicador de dano:
gearAdjustment = 2.0 * (1 - gearReduction)
| Situação de Equipamento | Redução de Equipamento | Ajuste de Equipamento | Acertos para Matar (mesmo nível de habilidade) |
|---|---|---|---|
| Nu (sem equipamento) | 0% | 2.0 | ~2.5 |
| Equipamento de metade do nível | 25% | 1.5 | ~3.3 |
| Equipamento correspondente (gearScore = mobLevel) | 50% | 1.0 | ~5.0 |
| +4 níveis acima do mob | 60% | 0.8 | ~6.25 |
| +10 níveis acima do mob (limite) | 75% | 0.5 | ~10.0 |
Tabela de Cenários
A tabela a seguir mostra resultados de combate esperados em uma variedade de cenários:
| Cenário | Ajuste de Habilidade | Red. de Equip. | Ajuste de Equip. | Acertos |
|---|---|---|---|---|
| Lv1 nu vs Lv1 | 1.0 | 0% | 2.0 | 2.5 |
| Lv1 nu vs Lv5 | 1.45 | 0% | 2.0 | ~1.7 |
| Lv1 diamante vanilla vs Lv5 | 1.45 | 50% | 1.0 | ~3.5 |
| Lv25 correspondente vs Lv25 | 1.0 | 50% | 1.0 | 5.0 |
| Lv25 correspondente+ProtIV vs Lv25 | 1.0 | 53.3% | 0.93 | 5.4 |
| Lv25 correspondente vs Lv30 | 1.59 | 41.7% | 1.17 | 2.7 |
| Lv25 equipamento máximo vs Lv25 | 1.0 | 75% | 0.50 | 10.0 |
| Lv50 correspondente vs Lv50 | 1.0 | 50% | 1.0 | 5.0 |
Alvos principais de design:
- 5 acertos em nível correspondente -- o alvo de equilíbrio central. Um jogador adequadamente equipado sobrevive exatamente 5 acertos normais de um mob elite do mesmo nível, em todos os níveis.
- 2.5 acertos nu -- sem equipamento significa dano dobrado via o ajuste de equipamento 2.0. Incentivo imediato para equipar qualquer armadura.
- Armadura vanilla importa -- um jogador de nível 1 em armadura de diamante sobrevive ~3.5 acertos de um mob de nível 5 em vez de ~1.7 nu.
- Encantamentos são significativos mas não dominantes -- Proteção IV em todas as 4 peças de armadura adiciona ~1.33 à pontuação de equipamento, empurrando de 50% para 53.3% de redução. Notável (~8% mais sobrevivência) mas não revolucionário.
- Consistente com o nível -- combate correspondente no nível 25 e nível 50 ambos produzem exatamente 5 acertos.
- Limite de equipamento máximo em 10 acertos -- mesmo com o melhor equipamento possível (+10 níveis acima do mob), os jogadores ainda recebem dano significativo.
potionMultiplier
Efeitos de poção de Resistência reduzem o dano recebido baseado no nível do efeito e no resistanceDamageMultiplier da configuração.
customBossDamageMultiplier
Este é o multiplicador de dano no arquivo do Chefe Personalizado. O padrão é 1.
configMultiplier
Este é o multiplicador em MobCombatSettings. Para combate normalizado, usa normalizedDamageToPlayerMultiplier (padrão 1.0). Para mobs padrão, usa damageToPlayerMultiplier (padrão 1.0).
specialMultiplier
Este é um multiplicador de dano temporário aplicado por poderes de chefe. Algumas habilidades de chefe aumentam o dano do chefe pela duração do poder. O padrão é 1.0 quando nenhum poder está ativo.
Atenuação de Dano de Explosão
Explosões de creeper e outro dano de explosão (bolas de fogo de ghast) é reduzido baseado na distância do centro da explosão. O multiplicador de dano diminui linearmente com a distância da explosão, tornando explosões menos mortais à distância.
Saúde Máxima de Chefes Personalizados
A saúde de chefe no EliteMobs 10 usa escalonamento exponencial em vez de escalonamento linear. A cada 5 níveis, a saúde do chefe dobra exatamente. Isso garante que diferenças de nível pareçam consistentes independentemente do nível absoluto.
A fórmula de saúde para Chefes Personalizados é:
health = 2.1875 * 2^(bossLevel / 5) * customBossHealthMultiplier
Escalonamento Exponencial
A constante base (2.1875) é ajustada para que um chefe de nível 25 tenha aproximadamente 70 HP. Valores de saúde de exemplo:
| Nível do Chefe | Saúde | Saúde +5 Níveis |
|---|---|---|
| 1 | ~3 | ~5 (2x) |
| 5 | ~4.4 | ~8.75 (2x) |
| 10 | ~8.75 | ~17.5 (2x) |
| 25 | ~70 | ~140 (2x) |
| 50 | ~2,240 | ~4,480 (2x) |
| 100 | ~2,293,760 | ~4,587,520 (2x) |
customBossHealthMultiplier
Este é o multiplicador no arquivo do Chefe Personalizado. O padrão é 1.
Dano causado a Chefes Personalizados
O dano do jogador usa camadas multiplicativas de escalonamento exponencial e linear para garantir que um jogador do mesmo nível sempre mate um chefe do mesmo nível em aproximadamente o mesmo número de acertos independentemente do nível. A fórmula separa o poder do jogador em dois eixos independentes -- nível de habilidade de arma (ajuste de habilidade exponencial) e nível de item da arma (ajuste de arma linear) -- para que tanto o investimento em habilidade quanto equipamento contribuam para o poder de combate.
Fórmula de Dano
A fórmula completa de dano jogador-para-elite é:
formulaDamage = baseDamage * attackSpeedFactor * skillAdjustment * weaponAdjustment * cooldownOrVelocity * sweepMultiplier
finalDamage = max(formulaDamage, 1) * damageModifier * combatMultiplier * critMultiplier
Cada componente é descrito abaixo.
baseDamage
O dano base por acerto é derivado da HP normalizada do mob (em healthMultiplier=1.0) dividida pelo número alvo de acertos para matar:
baseDamage = normalizedMobHP / 3.0
Onde normalizedMobHP = 2.1875 * 2^(mobLevel / 5) (ver Saúde Máxima de Chefes Personalizados). A constante 3.0 (TARGET_HITS_TO_KILL_MOB) significa que um jogador correspondente mata um elite padrão em exatamente 3 acertos de espada em qualquer nível.
Nota: O healthMultiplier do arquivo do Chefe Personalizado multiplica a HP real do mob mas NÃO afeta baseDamage. Um chefe com healthMultiplier: 2.0 tem o dobro da HP e leva 6 acertos em vez de 3.
attackSpeedFactor
Normaliza DPS entre tipos de arma para que armas mais lentas causem proporcionalmente mais dano por balanço:
attackSpeedFactor = 1.6 / actualAttackSpeed
A velocidade de referência de 1.6 é a velocidade de ataque da espada. Exemplos:
| Tipo de Arma | Velocidade de Ataque | Fator | Efeito |
|---|---|---|---|
| Espada | 1.6 | 1.0x | Base (3 acertos) |
| Machado | 1.0 | 1.6x | Acerta mais forte, balança mais devagar |
| Enxada | 4.0 | 0.4x | Acerta mais fraco, balança mais rápido |
Todos os tipos de arma causam o mesmo DPS em combate correspondente -- apenas a relação dano-por-acerto vs acertos-por-segundo muda. Para armas à distância (arcos, bestas, tridentes), o fator de velocidade de ataque não é aplicado (tratado como 1.0); a velocidade da flecha é usada em vez disso (ver cooldownOrVelocity).
skillAdjustment
Escalonamento exponencial da diferença entre o nível de habilidade de arma do jogador e o nível do mob:
skillAdjustment = 2 ^ ((weaponSkillLevel - mobLevel) / 7.5)
Cada 7.5 níveis de diferença dobra (ou reduz pela metade) o dano do jogador. Isso corresponde à taxa de escalonamento de habilidade defensiva usada no dano chefe-para-jogador, produzindo combate simétrico.
| Diferença de Habilidade | Ajuste de Habilidade | Efeito |
|---|---|---|
| -15 | 0.25x | Um quarto do dano |
| -7.5 | 0.50x | Metade do dano |
| 0 (correspondente) | 1.0x | Base |
| +7.5 | 2.0x | Dano dobrado |
| +15 | 4.0x | Dano quadruplicado |
O ajuste de habilidade é limitado entre MIN_MODIFIER = 0.125 e MAX_MODIFIER = 8.0 (atingido em aproximadamente +/-15 níveis). Isso previne valores extremos em diferenças de nível muito grandes.
weaponAdjustment
Uma curva linear de duas partes baseada no nível de item da arma vs o nível do mob. Isso espelha a curva de redução de equipamento defensiva do Sistema de Defesa de Equipamento.
weaponAdjustment = 0.5 + bonus
Abaixo da correspondência (weaponLevel é menor ou igual a mobLevel):
bonus = 0.50 * (weaponLevel / mobLevel)
Escala linearmente de 0 (sem arma) a 0.50 (correspondente). Sem arma equipada, o ajuste é 0.50 (metade do dano).
Acima da correspondência (weaponLevel é maior que mobLevel):
bonus = 0.50 + (weaponLevel - mobLevel) * 0.025
bonus = min(bonus, 0.75)
2.5% fixo por nível de arma acima do mob, limitado a 0.75 de bônus. Requer +10 níveis de arma acima do mob para atingir o limite.
| Cenário de Arma | Bônus | Ajuste de Arma | Efeito nos Acertos |
|---|---|---|---|
| Punhos nus (sem arma) | 0.00 | 0.50 | 6 acertos (2x mais lento) |
| Arma de meio nível | 0.25 | 0.75 | 4 acertos |
| Arma correspondente (weaponLevel = mobLevel) | 0.50 | 1.00 | 3 acertos (base) |
| +4 níveis acima do mob | 0.60 | 1.10 | ~2.7 acertos |
| +10 níveis acima do mob (limite) | 0.75 | 1.25 | ~2.4 acertos |
cooldownOrVelocity
Para armas corpo a corpo, este é o multiplicador de recarga de ataque do Minecraft (0.0 a 1.0). Atacar antes da recarga resetar reduz todo o dano da fórmula proporcionalmente. Em carga completa, cooldown = 1.0.
Para armas à distância (arcos, bestas), esta é a velocidade normalizada da flecha. A velocidade do arco em tração completa é aproximadamente 3.0; o valor é normalizado para min(velocity / 3.0, 1.0), limitado à faixa [0, 1].
sweepMultiplier
Quando uma varredura de espada acerta alvos secundários via ENTITY_SWEEP_ATTACK, esses alvos recebem 25% do dano do acerto primário:
sweepMultiplier = 0.25 (alvos secundários de varredura)
sweepMultiplier = 1.0 (alvo primário)
Dano de Espinhos
O dano de Espinhos usa uma fórmula separada baseada no dano base do mob em vez da fórmula de ataque padrão:
thornsDamage = baseDamage * thornsLevel * 0.02
Cada nível de encantamento de espinhos contribui 2% do dano base. Em Espinhos III, o dano refletido é baseDamage * 3 * 0.02 = 6% da HP base do mob por 3 acertos.
damageModifier
Modificador de dano específico do chefe do arquivo do Chefe Personalizado (damageMultiplier). O padrão é 1.0.
combatMultiplier
Multiplicador global de MobCombatSettings (normalizedDamageToEliteMultiplier ou damageToEliteMultiplier). O padrão é 1.0.
critMultiplier
Acertos críticos multiplicam o dano final por 1.5x. A chance de crítico é determinada pelas estatísticas de chance de crítico do equipamento elite do jogador.
Limitação de Modificador
Tanto o ajuste de habilidade quanto o modificador de nível geral são limitados para prevenir valores extremos em diferenças de nível muito grandes:
MIN_MODIFIER = 0.125 (piso, atingido em aproximadamente -15 níveis)
MAX_MODIFIER = 8.0 (teto, atingido em aproximadamente +15 níveis)
Isso significa que mesmo um jogador massivamente sobre-nivelado ou sub-nivelado nunca causará mais de 8x ou menos de 0.125x do dano base apenas da camada de ajuste de habilidade.
Exemplos Trabalhados
Exemplo 1: Espada Lv25 correspondente vs elite Lv25 (corpo a corpo)
Jogador: weaponSkillLevel=25, weapon=espada elite (itemLevel=25)
Mob: nível=25, healthMultiplier=1.0
Passo 1 -- Dano base: mobHP(25) = 2.1875 * 2^5 = 70.0, baseDamage = 70.0/3 = 23.33
Passo 2 -- Fator de velocidade de ataque: velocidade de espada=1.6, fator = 1.6/1.6 = 1.0
Passo 3 -- Ajuste de habilidade: 2^((25-25)/7.5) = 2^0 = 1.0
Passo 4 -- Ajuste de arma: weaponLevel(25) == mobLevel(25), bonus=0.50, adj = 1.0
Passo 5 -- Recarga: carga completa = 1.0
Passo 6 -- Varredura: alvo primário = 1.0
formulaDamage = 23.33 * 1.0 * 1.0 * 1.0 * 1.0 * 1.0 = 23.33
HP do Mob = 70.0 -> acertos para matar = 70.0 / 23.33 = 3.0
Exemplo 2: Machado Lv25 vs elite Lv25 (normalização de DPS)
Jogador: weaponSkillLevel=25, weapon=machado elite (itemLevel=25)
Mob: nível=25, healthMultiplier=1.0
Passo 1 -- Dano base: 23.33 (mesmo acima)
Passo 2 -- Fator de velocidade de ataque: velocidade de machado=1.0, fator = 1.6/1.0 = 1.6
Passo 3 -- Ajuste de habilidade: 1.0 (correspondente)
Passo 4 -- Ajuste de arma: 1.0 (correspondente)
Passo 5 -- Recarga: carga completa = 1.0
formulaDamage = 23.33 * 1.6 * 1.0 * 1.0 * 1.0 = 37.33
Acertos para matar = 70.0 / 37.33 = 1.875, MAS machados balançam 1.0/seg vs espada 1.6/seg
Tempo para matar = 1.875 / 1.0 = 1.875 seg vs 3.0 / 1.6 = 1.875 seg (DPS igual)
Exemplo 3: Arco Lv20 vs elite Lv25 com healthMultiplier=2.0 (à distância, sub-nivelado)
Jogador: weaponSkillLevel=20, weapon=arco elite (itemLevel=20)
Mob: nível=25, healthMultiplier=2.0, HP real = 70.0 * 2 = 140.0
Passo 1 -- Dano base: 23.33 (da HP normalizada, NÃO HP real)
Passo 2 -- Fator de velocidade de ataque: à distância, N/A = 1.0
Passo 3 -- Ajuste de habilidade: 2^((20-25)/7.5) = 2^(-0.667) = 0.63
Passo 4 -- Ajuste de arma: weaponLevel(20) < mobLevel(25), bonus = 0.5*(20/25) = 0.4, adj = 0.9
Passo 5 -- Velocidade da flecha: tração completa = 1.0
formulaDamage = 23.33 * 1.0 * 0.63 * 0.9 * 1.0 = 13.23
Acertos para matar = 140.0 / 13.23 = 10.6 acertos
(Habilidade E arma sub-niveladas, lutando contra um mob com healthMultiplier=2.0)
Ferramenta de Debug DamageBreakdown
EliteMobs inclui uma ferramenta de debug embutida DamageBreakdown que rastreia e exibe cada componente da fórmula de dano em tempo real. Quando ativada para um jogador, ela registra cada camada (dano base, fator de velocidade de ataque, ajuste de habilidade, ajuste de arma, recarga, varredura, espinhos, etc.) e pode produzir:
- Uma análise formatada completa mostrando todos os níveis, componentes de fórmula, multiplicadores e o dano final computado.
- Um resumo compacto de uma linha para referência rápida no jogo.
- Uma comparação esperado vs real que sinaliza discrepâncias maiores que 10%, útil para diagnosticar conflitos de plugin ou arquivos de chefe mal configurados.
Esta é principalmente uma ferramenta de desenvolvimento e teste. Administradores de servidor podem usá-la para verificar que o combate está funcionando conforme o pretendido para encontros específicos.
Progressão de XP de Habilidade
Habilidades de arma e armadura sobem de nível ganhando XP ao matar elite mobs. O sistema de XP usa requisitos de nível cúbicos para criar progressão suave com um limite suave além do nível 100.
XP de mortes: XP ganho de um mob é igual a mobLevel^2. Mobs de nível mais alto concedem proporcionalmente mais XP.
XP para o próximo nível:
Para níveis 1 a 100:
xpToNextLevel = 20 * L^3
Para níveis acima de 100 (limite suave):
xpToNextLevel = 20 * L^3 * (1 + ((L - 100)^2 / 100))
O multiplicador de limite suave é contínuo no nível 100 (multiplicador = 1.0) e cresce quadraticamente além dele. No nível 150, o multiplicador é aproximadamente 26x, tornando a progressão adicional quase impossível. O nível máximo de habilidade é 100 para fins práticos, embora o sistema permita progressão além dele a custo exponencialmente crescente.
Mecânicas de Combate Adicionais
Prevenção de Morte Instantânea
EliteMobs previne que chefes matem jogadores instantaneamente em um único acerto. Independentemente do resultado do cálculo de dano, o dano é limitado a (atributo generic_max_health do jogador - 1), garantindo que os jogadores sempre sobrevivam com pelo menos 1 ponto de saúde. O limite usa o atributo generic_max_health em vez da HP atual, então leva em conta todos os modificadores de saúde máxima (bônus de habilidade de armadura, efeitos de poção, etc.).
Bloqueio com Escudo
Quando jogadores bloqueiam com um escudo, o dano recebido é reduzido em 80% (configurado como blockingDamageReduction em MobCombatSettings). Bloquear nega completamente ataques de projéteis à distância (o projétil é removido).
Bônus de Saúde de Habilidade de Armadura
Jogadores ganham saúde máxima bônus baseada no nível de Habilidade de Armadura. Cada nível acima de 1 concede +2 HP (+1 coração). Isso é aplicado como um modificador de atributo e é a forma primária de jogadores aumentarem sua sobrevivência em níveis mais altos.
Resumo de Escalonamento de Nível
A tabela a seguir resume como diferenças de nível afetam o combate em ambas as direções:
| Diferença de Nível | Modificador de HP do Chefe | Modificador de Dano do Chefe | Dificuldade |
|---|---|---|---|
| -10 (jogador sobre-nivelado) | 0.25x HP | ~0.4x dano | Trivial |
| -5 (jogador sobre-nivelado) | 0.5x HP | ~0.6x dano | Muito Fácil |
| 0 (mesmo nível) | 1.0x HP | 1.0x dano | Equilibrado |
| +5 (jogador sub-nivelado) | 2.0x HP | ~1.6x dano | Desafiador |
| +10 (jogador sub-nivelado) | 4.0x HP | ~2.5x dano | Muito Difícil |
Usando estes dados para masmorras
NOTA: ISSO ASSUME QUE VOCÊ ESTÁ USANDO OS VALORES normalizedCombat! Esses valores foram feitos especificamente para balancear masmorras mais facilmente.
Parte da dificuldade de um chefe é fazê-lo ter a saúde e dano apropriados para o encontro. No entanto, tenha em mente que esta é apenas uma parte disso, e que poderes são igualmente importantes.
O seguinte é apresentado no formato correto para o arquivo do Chefe Personalizado.
Os cálculos rápidos fáceis
Com o sistema de escalonamento exponencial, healthMultiplier e damageMultiplier escalam diretamente os valores base:
-
Um
healthMultiplierde 1.0 significa que o chefe leva aproximadamente 3 acertos para matar por um jogador do mesmo nível. Um multiplicador de 2.0 dobra a saúde (aproximadamente 6 acertos), 0.5 reduz pela metade (aproximadamente 1-2 acertos), e assim por diante. -
Um
damageMultiplierde 1.0 significa que o chefe mata um jogador adequadamente equipado do mesmo nível em aproximadamente 5 acertos. Multiplicadores mais altos tornam o chefe mais mortal, multiplicadores mais baixos tornam-no mais seguro.
Como o escalonamento é exponencial, essas contagens de acertos permanecem consistentes independentemente do nível do chefe -- um chefe de nível 10 com healthMultiplier: 2.0 leva o mesmo número de acertos que um chefe de nível 80 com healthMultiplier: 2.0 quando lutado por um jogador do mesmo nível.
Tenha em mente que jogadores tendem a priorizar armas, e frequentemente acabam com armaduras muito piores do que armas. A menos que você projete tipos muito específicos de arenas com combate à distância, você provavelmente não quer causar muito dano por acerto. Teste seu conteúdo!
Criando uma criatura de masmorra média
Com o escalonamento de normalizedCombat, você pode aplicar uma configuração muito minimalista:
normalizedCombat: true
healthMultiplier: 1.0 #3 acertos para matar
damageMultiplier: 1.0 #sobrevive ~5 acertos
Nota: como 1.0 é o padrão, isso significa que você também pode simplesmente não definir nada.
Criando grupos descartáveis
Grupos descartáveis são numerosos mas não muito perigosos:
normalizedCombat: true
healthMultiplier: 0.7 #2 acertos para matar
damageMultiplier: 0.5 #sobrevive ~10 acertos
Criando reforços
Reforços devem morrer muito facilmente, mas representar um perigo em termos de dano (estes valores são recomendados para 4+ entidades corpo a corpo, o uso real pode variar):
normalizedCombat: true
healthMultiplier: 0.25 #1 acerto para matar
damageMultiplier: 0.6 #sobrevive ~8 acertos
Criando minichefes
Minichefes devem se manter firmes e representar um desafio mecânico aos jogadores. Deve ser um teste de habilidade que dura um pouco, mas não algo extremamente mortal:
normalizedCombat: true
healthMultiplier: 3.0 #10 acertos para matar
damageMultiplier: 1.2 #sobrevive ~4 acertos
Criando chefes
Chefes são um desafio real, a conclusão de uma construção em uma masmorra e um verdadeiro teste de habilidade com tudo em jogo. Encontros devem ser longos e a morte deve ser uma ameaça presente.
normalizedCombat: true
healthMultiplier: 7.0 #23 acertos para matar
damageMultiplier: 1.4 #sobrevive ~3.5 acertos
Criando Chefes Mundiais
Chefes mundiais são perigosos, mas acima de tudo eles têm muita saúde e invocam muitos reforços / têm muitos ataques de área de efeito. Estes são feitos para serem enfrentados por grandes grupos de jogadores durante a maior quantidade de tempo que um encontro elite deve durar. Eles não são muito mortais, mas têm muitas mecânicas que podem sobrecarregar jogadores despreparados.
normalizedCombat: true
healthMultiplier: 40.0 #120 acertos para matar
damageMultiplier: 1.5 #sobrevive ~3 acertos
Estes são apenas valores recomendados aproximados e quaisquer valores finais devem ser ajustados em torno dos encontros em si.