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:
- The value in mobproperties for the entity type of the boss.
- 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:
- The default maximum health of the vanilla Minecraft entity.
- 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):
-
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). -
With the damage formula using baseline damage 3 and +0.5 per level, a level 10 boss deals
3 + (10 * 0.5) = 8damage 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.