Instanced Dungeon Difficulty
Instanced dungeons have a special setting to easily define different difficulties for the dungeon.
How it works
Difficulties are modeled in part after Final Fantasy 14's level sync system.
Elite armor and weapons get specific elite damage and elite defense based on their level, as you can see on items. When in an instanced dungeon with a difficulty on, the level of the item will be temporarily and invisibly lowered to match the level sync.
EliteMobs uses exponential scaling, where every 5 levels of difference doubles the effective power. For example, a level 50 sword is significantly more powerful than a level 45 sword. If a player is in an instanced dungeon with a difficulty that level syncs gear to level 45, the level 50 sword will act as a level 45 sword with proportionally reduced damage.
However, if that sword has level 10 sharpness, it will still add the same amount of damage on top of the base damage.
This means that, in instanced dungeons with difficulties, what matters is not so much the level of the gear but the quality of the gear. Players seeking to beat the mythic difficulty will have to work towards getting high quality items from other instanced dungeons and possibly heavily interact with the item upgrade system.
This also makes it nearly impossible for veteran players to stomp on old high-difficulty content and provides an incentive to do it even if their level is well beyond the level of the dungeon.
Party system
EliteMobs has session-only parties with up to five members. 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 MagmaCore 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.
To account for multiple players once inside, bosses are designed with specific powers which get more dangerous as more players join the arena. Additionally, bosses receive a health boost that scales with the number of players in the instance. 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 content_packages folder in the dungeon package file of instanced dungeons. This file is located at /plugins/EliteMobs/content_packages/[your_dungeon_name]/[package_file].yml and should be alongside other dungeon settings like 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. Only name is actually required — it is what the difficulty is matched by, both in the menu and internally. levelSync and id are optional; a difficulty without a levelSync simply applies no level sync.
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 item level cap for the instanced dungeon, as explained above in this page.
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
You can set an id field on each difficulty entry. This ID is used by custom bosses and custom items to apply difficulty-based powers and loot. If you do not set the id field, the difficulty will not have an ID and difficulty-based features that rely on it will not apply.
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.
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 this case, the boss will only drop the loot himiko_boss_drop_axe_tank_normal.yml for difficulty 0 and has 5% chance of doing so.