Skip to main content

Damage System

This is a comprehensive breakdown of how the health / damage scales in EliteMobs. It should be used as a reference when designing dungeons.

It's focused on Custom Bosses, but normal Elites scale in the same way.

Before you start!

You don't need to read all of this if you just want to do quick tweaks. Skip to the "Using this data for dungeons" section to see very simplified quick maths and a series of premade recommended settings!

Scaling (in general)

In EliteMobs, by default, bosses get 3 max health and deal 0.5 more damage per level.

Player weapons deal 7 more damage per level, and armor reduces damage based on the total elite defense value multiplied by 0.5. Finally, players gain maximum health as they unlock the prestige ranks.

Damage dealt by Custom Bosses

The damage formula for Custom Bosses is:

Math.max(baseDamage + (bossLevel * 0.5) - (playerEliteDefense * 0.5) - resistanceEffects, 1) * customBossDamageMultiplier * globalDamageMultiplier

Note: Damage is capped at (player's max health - 1) to prevent one-shot kills.

baseDamage

This can be one of two things:

  1. The value in mobproperties for the entity type of the boss.
  2. Since this can be hard to keep in mind to while designing dungeons and other content, Custom Bosses can have the normalizedCombat field, which applies a standard baseline damage of 3, which has the best scaling for EliteMobs progression. Normalized combat is enabled by default for all regional bosses.

bossLevel * 0.5

Bosses gain 0.5 damage per level. This was reduced from 1.0 per level to make fights against both high-level and low-level mobs more balanced.

playerEliteDefense * 0.5

The sum of all armor piece elite defense values is multiplied by 0.5 when calculating damage reduction. Projectile Protection adds additional reduction for arrows, and Blast Protection adds additional reduction for explosions.

resistanceEffects

Resistance potion effects reduce incoming damage based on the effect level and the resistance damage multiplier from the configuration.

customBossDamageMultiplier

This is the damage multiplier in the Custom Boss file. Defaults to 1.

globalDamageMultiplier

This is the multiplier in MobCombatSettings. For normalized combat, it uses normalizedDamageToPlayerMultiplier (default 1.0). For standard mobs, it uses damageToPlayerMultiplier (default 1.0).

Minimum and Maximum Damage

All damage is floored at a minimum of 1 (cannot deal 0 or negative damage). Additionally, damage is capped at (player's max health - 1) to prevent one-shot kills regardless of the calculation result.

Maximum health of Custom Bosses

The health formula for Custom Bosses is:

(baselineHealth + (bossLevel * 3)) * customBossHealthMultiplier

baselineHealth

This can be one of two things:

  1. The default maximum health of the vanilla Minecraft entity.
  2. Since this can be hard to keep in mind to while designing dungeons and other content, Custom Bosses can have the normalizedCombat field, which applies a standard baseline health of 4, which has the best scaling for EliteMobs progression. Normalized combat is enabled by default for all regional bosses.

bossLevel * 3

Bosses gain 3 max health per level. This provides linear scaling with level progression.

customBossHealthMultiplier

This is the multiplier in the Custom Boss file. Defaults to 1.

Damage dealt to Custom Bosses

The damage formula that players hit Custom Bosses with has too many small variables like critical strikes and cooldowns to explain in-depth here. A simplified version looks like this:

damage = Level of the weapon

This is what the damage should roughly look like in an ideal average setting.

Critical Hits

Players can deal critical hits that multiply damage by 1.5x. Critical chance is affected by guild rank bonuses and other factors.

Attack Cooldown

Melee damage is affected by Minecraft's attack cooldown system. Attacking before the cooldown resets will result in reduced damage output.

Additional Combat Mechanics

One-Shot Kill Prevention

EliteMobs prevents bosses from instantly killing players in a single hit. Regardless of the damage calculation result, damage is capped at (player's current max health - 1), ensuring players always survive with at least 1 health point.

Shield Blocking

When players block with a shield, incoming damage is reduced by 80% (configured as blockingDamageReduction in MobCombatSettings).

Explosion Damage Attenuation

Creeper explosions and other blast damage is reduced based on distance from the explosion center. The damage multiplier decreases linearly with distance from the blast, making explosions less deadly at range.

Using this data for dungeons

NOTE: THIS ASSUMES YOU'RE USING THE normalizedCombat VALUES! Those values were specifically made for balancing dungeons more easily.

Part of a boss' difficulty is making it have the appropriate health and damage for the encounter. However, keep in mind that this is only a part of it, and that powers are just as important.

The following is presented in the correct format for the Custom Boss file.

The easy quick maths

Based on normalizedCombat values (baseline health 4, baseline damage 3):

  1. With the health formula (4 + bossLevel * 3) * healthMultiplier, a level 10 boss with healthMultiplier 1.0 has 34 health (17 hearts). With player weapons dealing approximately 7 damage per level, a level 10 weapon would need roughly 5 hits to kill this boss (assuming weapon damage scales as documented).

  2. With the damage formula using baseline damage 3 and +0.5 per level, a level 10 boss deals 3 + (10 * 0.5) = 8 damage before armor reduction and multipliers. After armor reduction (varies by player gear) and with damageMultiplier 1.0, actual damage will vary based on player's elite defense values.

Keep in mind that players tend to prioritize weapons, and often end up with much worse armor than weapons. Unless you design very specific types of arenas with range combat, you probably don't want to deal a lot of damage per hit. Playtest your content!

Creating an average dungeon mob

With the scaling of normalizedCombat, you can apply a very minimalistic configuration:

normalizedCombat: true
healthMultiplier: 1.0 #4 hits to slay
damageMultiplier: 1.0 #1.5 hearts of dmg

Note: since 1.0 is the default, this means you can also just not define anything.

Creating trash packs

Trash packs are numerous but not very dangerous:

normalizedCombat: true
healthMultiplier: 0.7 #3 hits to slay
damageMultiplier: 0.5 #0.5 hearts of dmg

Creating reinforcements

Reinforcements should die very easily, but pose a danger damage-wise (these values recommended for 4+ melee entities, actual use may vary):

normalizedCombat: true
healthMultiplier: 0.25 #1 hit to slay
damageMultiplier: 0.6 #1 heart of dmg

Creating minibosses

Minibosses should hold their ground, and pose a mechanic challenge to players. It should be a test of skill that lasts for a little while, but not something extremely deadly:

normalizedCombat: true
healthMultiplier: 3.0 #10 hits to slay
damageMultiplier: 1.2 #2 hearts of dmg

Creating bosses

Bosses are a real challenge, the conclusion of a buildup in a dungeon and a real test of skill with everything on the line. Encounters should be long and death should be a present threat.

normalizedCombat: true
healthMultiplier: 7.0 #23 hits to slay
damageMultiplier: 1.4 #2.5 hearts of dmg

Creating World Bosses

World bosses are dangerous, but most of all they have a lot of health and summon a lot of reinforcements / have a lot of area of effect attacks. These are meant to be fought by large groups of players over the longest amount of time an elite encounter should last. They aren't very deadly, but have a lot of mechanics that can overwhelm under prepared players.

normalizedCombat: true
healthMultiplier: 40.0 #160 hits to slay
damageMultiplier: 1.5 #2.5-3 hearts of dmg

These are just rough recommended values and any final values should be adjusted around the encounters themselves.