Elite Mobs
Tiered hostile mobs with boosted stats and a visible aura
Overview
Elite mobs are normal hostile mobs that, at spawn time, roll for an elite tier. Elites have boosted HP and deal more damage, take less damage, and carry a colored particle aura so they're easy to spot. The system is disabled by default — enable it from the admin dashboard or by editing mods/mmoskilltree/elite-mobs.json.
The tier roll happens once on spawn and is never re-rolled mid-fight. Once a mob is rolled, it keeps its tier (or keeps being non-elite) for its entire life.
Default Tiers
Three tiers ship by default. The roll picks a tier by weight.
| Tier | Weight | Max HP | Outgoing damage | Incoming damage | Aura |
|---|---|---|---|---|---|
| Rare | 70 | 1.5x | 1.5x | 0.8x (-20%) | Blue |
| Elite | 25 | 2.5x | 2.0x | 0.6x (-40%) | Purple |
| Legendary | 5 | 5.0x | 3.0x | 0.4x (-60%) | Gold |
Weights are relative within the tier list, not percentages. The global rollChance (default 0.1 = 10%) decides whether a newly-spawned mob becomes elite at all. When the roll succeeds, the tier is picked by weight.
Visual Aura
Elites show a colored particle system attached to the mob instead of a floating nameplate. This avoids clashing with other mods that render nameplates and keeps the world readable during large fights.
| Tier | Effect asset |
|---|---|
| Rare | MMO_Elite_Rare (blue) |
| Elite | MMO_Elite_Epic (purple) |
| Legendary | MMO_Elite_Legendary (gold) |
Aura effects ship inside the plugin jar — no extra assets to install. Remap a tier to a different effect by editing the tierEffects map.
How Stats Apply
- Max HP — applied once when the mob is promoted to an elite tier. The mob spawns at full (boosted) health.
- Outgoing damage — every hit the elite deals is multiplied by
outgoingDamageMult. - Incoming damage — every hit the elite takes is multiplied by
incomingDamageMult. Values below 1.0 are damage reduction.
XP and loot are not automatically increased by elite tier. If you want elites to drop extra loot or run commands, use Mob Drop Commands and filter by tier using the requiredTier field.
Configuration
Elite mobs live in mods/mmoskilltree/elite-mobs.json. The file is override-based — only the fields you change are written; everything else tracks the shipped defaults.
{
"schemaVersion": 1,
"enabled": false,
"npcOnly": true,
"rollChance": 0.1,
"debugMessages": false,
"tiers": [
{ "name": "Rare", "weight": 70, "incomingDamageMult": 0.8, "outgoingDamageMult": 1.5, "maxHealthMult": 1.5 },
{ "name": "Elite", "weight": 25, "incomingDamageMult": 0.6, "outgoingDamageMult": 2.0, "maxHealthMult": 2.5 },
{ "name": "Legendary", "weight": 5, "incomingDamageMult": 0.4, "outgoingDamageMult": 3.0, "maxHealthMult": 5.0 }
],
"tierEffects": {
"Rare": "MMO_Elite_Rare",
"Elite": "MMO_Elite_Epic",
"Legendary": "MMO_Elite_Legendary"
},
"mobIdRules": {
"allow": [],
"deny": [],
"tierOverrides": {}
}
}Top-level fields
| Field | Default | Purpose |
|---|---|---|
enabled | false | Master switch. Nothing rolls elite when off. |
npcOnly | true | Restricts the roll to non-player entities. |
rollChance | 0.1 | Probability (0.0–1.0) that an eligible mob rolls any elite tier. |
debugMessages | false | Logs promotions and damage multipliers to the server console. |
Mob Filtering
Use mobIdRules to restrict which mob IDs can roll elite. All matches are substring, case-sensitive, against the mob's type identifier (e.g. Skeleton_Fighter, Trork_Warlord).
allow— when non-empty, only mobs matching any entry can roll elite. Empty means every mob is eligible.deny— mobs matching any entry never roll elite. Deny wins over allow.tierOverrides— map of mob pattern to the subset of tier names that mob is allowed to roll. Useful for locking Legendary to bosses only.
Admin Dashboard
The admin dashboard has an Elite Tiers page (accessible from /mmoadmin with the admin permission) that lets you toggle the system, edit the roll chance, add or remove tiers, and tune stat multipliers. Changes persist to elite-mobs.json.
Interaction with Quests
Quest objectives that match combat events can filter by elite tier using the qualifier field. Example: an objective with type: "KILL_ENTITY", target: "Trork", and qualifier: "Legendary" only counts Legendary Trork kills.
null— match any tier, including non-elite.""(empty string) — match only non-elite mobs."Rare"/"Elite"/"Legendary"— match that tier exactly (case-insensitive).
Achievement criteria on KILL_ENTITY and DEAL_DAMAGE also accept the same qualifier semantics — see Achievements.