Native animated containers support
Plenty of people 'recommend' animated containers, which is a mod that adds a script to every game container.
This is basically fantastically bad, because even if Animated containers got everything right relating to the main game and 'merged' its scripts with original scripts (galbedir desk for the very first mage's guild quest for instance), it will conflict; badly with scripts from mods (for instance quest tweaks and alternatives - which adds a ajira desk counterplot).
Anyway, i was thinking of fixing this on my modlist by adapting my merge script to cut off from the animated containers mod all container modifications that touched touched containers, which is fairly simple now that i have the code for my other mods, if disappointing for consistency (and annoying to remember).
But then i remembered you added functionality to 'hostler' weapons recently that doesn't depend on scripts.
The same idea could be done for containers and other objects no? Test the presence of a secondary 'animation file' named the same as the main model + suffix, play that on activation while not on menu, only 'really activate' on end of animation.
I'm probably simplifying too much - from looking at the script of animated containers it has guards against making the playgroup animation run while in inventory, or if the container is locked, so it might not be so simple as 'play when activated, wait for the end of animation, activate', but i still think it's a worthwhile idea if it can be made versatile enough to remove a source of object overrides that cause incompatibilities - if the main script replacement can be completely omitted in general.
Oh well, it's probably too complex to get the same flexibility as a script bound to the object just from a filename protocol or something so this will probably get rejected. Pity though, those incompatibilities.
Just for the record i was thinking of a filename protocol:
de_p_desk_01_galbedir <-main anim de_p_desk_01_galbedir.trap <- if trapped replacement de_p_desk_01_galbedir.lock <- if locked replacement de_p_desk_01_galbedil.lock.trap <- both locked and trapped replacement
etc. The 'depth > all others' (number of dots) would be checked first. Since it's a 'AND' if that check failed it would be one of the 'lower elements' and not all.
It would be cool if it was generic enough to not hardcode the 'properties' and dispatch the right check at runtime based on the name.