Skip to content

Feat: Mob Override Level Mapping#21

Merged
AzureDoom merged 10 commits intoAzureDoom:mainfrom
GlobalHive:main
Feb 19, 2026
Merged

Feat: Mob Override Level Mapping#21
AzureDoom merged 10 commits intoAzureDoom:mainfrom
GlobalHive:main

Conversation

@GlobalHive
Copy link

📌 Description

Added mob level override mapping support and a default mapping configuration so specific NPC types can have fixed levels.

Motivation/Context: Enables explicit level overrides per NPC type when dynamic scaling isn’t desired.
Dependencies: None.


🧪 Type of Change

Please check the types of changes your PR introduces:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Tests added / updated

👩‍💻 Implementation Details

Overrides are resolved via a new mapping class and default CSV configuration. MobLevelingUtil now checks the override mapping before applying dynamic logic.

🛠 Changes

  • Added: MobOverrideMapping and defaultmoboverridemapping.csv
  • Modified: MobLevelingUtil to apply override levels
  • Modified: LevelingCore to wire the override mapping

✅ Checklist

Go over all the following items and check them before submitting your PR:

  • My code follows the project’s code style (simply run spotlessApply to apply formatting)
  • I have performed a self-review of my own code
  • I have commented my code where necessary
  • My changes generate no new warnings

@GlobalHive
Copy link
Author

Woop left my level randomization in there which i use on my server.
If you want i can remove it, or make it dynamic via new config option

@AzureDoom
Copy link
Owner

Oh I like! I say a new config option is good with me! Just a heads up that this won't be merged until next Saturday here as I will be out of town.

@AzureDoom AzureDoom self-assigned this Feb 13, 2026
@AzureDoom AzureDoom added the enhancement New feature or request label Feb 13, 2026
@GlobalHive
Copy link
Author

GlobalHive commented Feb 13, 2026

How it works:
You give assign a baselevel in the mapping, whatever you choose
Env_Zone1_Plains,5

If the LevelVariance is 0, nothing happens, everything stays the same
The LevelVariance gets randomized based on NPC UUID and gets added on top of the base level

Example:

Baselevel = 5
Variance = 5

Finallevel = 5,6,7,8,9 or 10

Default setting is 0, so it doesn't mess with the setups of the users

LevelVariance applies to all LevelModes except SPAWN_ONLY

@AzureDoom AzureDoom mentioned this pull request Feb 17, 2026
9 tasks
@AzureDoom
Copy link
Owner

Lgtm, merging with a release window of sometime this weekend!

@AzureDoom AzureDoom merged commit 8e08540 into AzureDoom:main Feb 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments