Instanced Dungeon Difficulty
Instanced dungeons have a special setting to easily define different difficulties for the dungeon.
How it works
Difficulties can set a levelSync value, inspired by Final Fantasy 14's level sync system. This changes the item tier used by the cached player-item path. It does not rewrite the item in the player's inventory.
The current melee offense and armor defense calculations read the item's raw level. The projectile combat snapshot also reads raw weapon offense, and thrown tridents read their item level on impact. Do not rely on levelSync alone to equalize weapon and armor loadouts.
Sharpness and Power contribute a separate equipment offense multiplier. Each eligible equipped item contributes 0.025 * (Sharpness level + Power level), and those contributions are summed across the six equipment slots. Level sync does not cap this enchantment contribution. This is a multiplier contribution, not a fixed number of damage points.
Boss base health doubles every five levels before health limits, but player offense uses its own skill, item, enchantment and class calculations. See the damage system before balancing encounters. Use difficulty-specific powers, boss values and rewards alongside level sync, and check the actual loadouts players will bring.
Party system
EliteMobs has session-only parties. Ordinary invitations allow up to five members; automatic dungeon parties can include a larger admitted roster. When one party member selects an instanced dungeon, EliteMobs snapshots the current roster and starts a clickable ready check. The initiator counts as ready automatically; every other member has to accept the exact dungeon and difficulty before world preparation begins. Dynamic-dungeon prompts also include the selected level. A decline, timeout, roster change, unavailable member, permission failure, capacity failure, active-instance conflict, or cancelled EliteMobs MatchJoinEvent preflight aborts group entry instead of moving only part of the party. EliteMobs' PlayerJoinDungeonEvent is a non-cancellable notification fired after admission.
Personal item-enchantment challenges remain solo because the challenge temporarily owns the initiating player's item.
Boss authors can choose powers that become more dangerous with more players. Dungeon bosses also receive a health boost based on the instance's participant count when health is set, including at match start. The formula is: scaledHealth = baseHealth * 0.75 * playerCount. For example, with 2 players the boss has 1.5x its base health, with 3 players 2.25x, and with 5 players 3.75x.
Note: Health scaling only applies when 2 or more players are in the instance. Solo players face bosses with standard health values.
How to define a difficulty
Difficulties are defined in the instanced dungeon's package YAML under /plugins/EliteMobs/content_packages/, possibly inside a package subfolder. Put difficulties alongside other top-level dungeon settings such as contentLevel and name.
Let's take a look at an example:
difficulties:
- levelSync: 60
name: normal
- levelSync: 50
name: hard
- levelSync: 40
name: mythic
This sets three difficulties. name supplies the menu label. levelSync and
id are optional; omitting levelSync applies no level sync. Recognized difficulty
names can supply a missing ID, as described below. Prefer explicit IDs in new packs.
The name is the name of the difficulty, as will appear in the difficulty setting in-game. This can have any name.
The levelSync sets the tier cap for the item paths described above. It does not cap every damage or defense calculation.
You can have as many or as few difficulties defined as you want. Simply add or remove entries to the difficulties setting using the same format.
Relative Level Sync
Level sync can also use relative values instead of absolute numbers. Always quote the value. YAML resolves an
unquoted +5 to the plain integer 5, and the leading + is gone by the time EliteMobs looks at it -- so levelSync: +5
silently becomes an absolute sync at level 5, and levelSync: +0 becomes an absolute 0, which disables level sync
entirely. Unquoted negatives such as levelSync: -10 happen to survive, because the - is preserved and EliteMobs still
reads it as relative -- but quoting every value is the only form that is unambiguous:
difficulties:
- levelSync: '+5'
name: easy
- levelSync: '+0'
name: normal
- levelSync: '-10'
name: hard
Relative values are calculated from the dungeon's base content level, and the result is never allowed below 1. For example, if a dungeon has content level 60:
levelSync: '+5'becomes 65levelSync: '+0'becomes 60levelSync: '-10'becomes 50
This is particularly useful for dynamic dungeons where the content level may vary. On a dynamic dungeon the content level is only known once the instance is created, so the relative value resolves at that point.
An absolute levelSync: 0 — or any value EliteMobs cannot parse — means no level sync at all for that difficulty.
Optional Difficulty ID Field
Set an id on each difficulty entry for power and loot filters. The standard
numeric mapping is 0 = NORMAL, 1 = HARD, 2 = MYTHIC.
The current implementation also recognizes Normal/Hard/Mythic and legacy Easy/Medium/Hard labels, ignoring case, color formatting and surrounding whitespace. The whole package determines which naming scheme applies. An explicit Normal or Mythic ID selects the standard scheme. Otherwise, an Easy or Medium ID selects the legacy scheme; names select it only when Easy or Medium appears without Normal or Mythic. Detection happens before translation; numeric IDs always keep their fixed meaning. A recognized name supplies a missing ID, or supplies a tier for a custom ID.
Unknown definitions warn in console with the package filename. Custom IDs retain
matching for authored filters after case, color and whitespace normalization. For automatic loot, an explicit original-ID
mapping in ClassLootSettings.yml takes precedence, followed by the resolved tier
and the configured default. Give unusual names explicit IDs instead of relying on
a guess about what they mean.
difficulties:
- levelSync: 60
name: normal
id: 0
- levelSync: 50
name: hard
id: 1
Powers based on difficulty
It is possible to configure bosses to only have powers at specific difficulties. Let's look at an example:
powers:
- filename: invulnerability_fire.yml
difficultyID:
- 1
- 2
Note: this is a part of the configuration file of the custom boss!
In this case, the boss will only have fire invulnerability for difficulties with the ID 1 and 2.
difficultyID accepts one ID or a YAML list for both powers and authored loot. An empty or invalid power filter matches no difficulty; in a loot entry, an empty list or blank ID rejects that entry when the file loads. Power filters apply to dungeon-backed instanced bosses and to bosses spawned in another plugin's instance through the instanced-boss API, using the difficulty that plugin assigned. They do not restrict an ordinary open-world boss.
Loot based on difficulty
It is possible to configure bosses to drop loot specific to an instanced dungeon difficulty. Let's look at an example:
uniqueLootList:
- filename: himiko_boss_drop_axe_tank_normal.yml
chance: 0.05
difficultyID: 0
Note: this is a part of the configuration file of the custom boss!
In a dungeon, this entry allows himiko_boss_drop_axe_tank_normal.yml for difficulty 0 with a 5% roll, subject to the usual loot eligibility rules. The difficulty check uses the recipient's current dungeon; it does not block the entry outside a dungeon. Eligible equipment goes through dungeon group loot, while non-equipment remains personal. See group loot.
Balancing Normal, Hard and Mythic rewards
The example above gates an authored item file to one difficulty. To give every class appropriate equipment without maintaining three versions of every item, use automatic class loot. It selects difficulty/rank enchantment profiles while keeping each item's name and lore in one place.
The guide includes a table of primary enchantment ceilings and the budget formula used to roll actual drops. Increasing difficulty does not automatically multiply a boss's HP or loot statistics; level sync, powers, boss values and reward profiles each control their own part of the encounter.