Description
Currently, as part of the goal of optimizing the performance of the monster-types system, certain data (modifiers, translation and tiny icons) is registered whenever a monster type is "activated".
Considering the very low effect on overall performance, said data should now be registered regardless of whether the corresponding monster type is active or not.
Reasons
Avoid bugs where a mod doesn't use a certain monster-type anymore but accidentally forgets to remove corresponding modifiers on one or more of their monsters/items/etc.
There may be some mods that work dynamically with modifiers, e.g. "enchanting an item to add additional modifiers to it". Said mods wouldn't know about having to activate certain monster types and even if they know of this mod cannot or at least shouldn't go and activate monster types, when most of them would only add unnecessary calculations, yet we also want to prevent items being destroyed, just because some random mod decided they didn't want to activate a certain monster type anymore
Goals
The aforementioned data (modifiers, translation, tiny icons) is now registered for all monster types, regardless of whether they are active or inactive - this must include types defined by other mods, even if only through addMonsters()
Semi-Optional Goals
Mod setting to forcefully enable certain types - should overrule the disabling (or vice versa?)
A warn message in the combat screen, if you have one or more items equipped that provide modifiers towards inactive monster types
Preferably display which monster types exactly are affected
If possible, have some part of the message have a link that immediately moves you to/opens the mod settings
Description Currently, as part of the goal of optimizing the performance of the monster-types system, certain data (modifiers, translation and tiny icons) is registered whenever a monster type is "activated".
Considering the very low effect on overall performance, said data should now be registered regardless of whether the corresponding monster type is active or not.
Reasons
Goals
addMonsters()
Semi-Optional Goals