Skip to content

Feat: Mob Override Level Mapping#21

Open
GlobalHive wants to merge 10 commits intoAzureDoom:mainfrom
GlobalHive:main
Open

Feat: Mob Override Level Mapping#21
GlobalHive wants to merge 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

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