Just be really careful. I tried incorporating a feature using ModAV directly on the speed attribute for NPCs to parallel what happens to the player. Thing is, when other mods come into play, and the way the game saves worked, I completely blew it with my programming. It jacked up a lot of people's games. NPCs started moving oddly and inconsistently. Maybe you'll find a better way to do it, but I ultimately had to pull the feature out, and create a special tool that went back and repaired the NPCs that got broken. It ended up being a major head-ache. Using spell effects (or maybe ModAV2) is technically a better way to go, but I always felt uncomfortable using them for personal reasons. It's one thing to modify a skill, but when you modify an attribute, there is a domino effect. Modifying the Speed attribute to only increase/decrease movement rate impacts a lot more than just movement.
I'm sure you are already aware of this link, but it's a great wiki entry for anyone who is browsing this thread who wants to know how Oblivion handles movement.
http://www.uesp.net/wiki/Oblivion:Movement_Formulas
The best way to really deal with movement and incorporate encumbrance and fatigue properly is to get a very nice and powerful programmer to create an OBSE .dll hook script that replaces the entire movement formula with one of your own design, then you no longer have to worry about using modAVs or use drain/boost effects that jack up game saves, since you could safely then make the formula whatever you want.
Yes, you are generally right.
I just took a look at it, and the problem is really due loads of scripts already working on the actor values.
The better solution would be to one you proposed, the dynamic formulas, avoiding some of these issues, if concurrency with other mods is going to be by dedicated rules.
Anyway, thats the future.
EGM already offers Fatigue mechanics with every nuance I could think of being somehow worth to implement, or senseful.
- Fainting of ALL Actors (since its an exhaustion faint it depends on luck and Athletics)
- EGM calculates any uphill fatigue loss (it uses a simplified algorithm though, I didnt want to make the same mistake RF/EGM 2.16 did, and used a lean and clean way, avoiding to be over-precise for the mere cost of cycles),
- and EGM uses the default formulas for encumbrance based fatigue loss where ever possible (its sure to affect ALL Actors).
But Fatigue, encumbrance and Speed are connected somehow, or should..... and Oblivion vanilla adresses these issues, unfortunately being not very comprehensive when. (eg. Jump)
Thats why I implemented them in EGM:
- EGM alters the PC's speed on encumbrance base already, but only the actor! ( the issue above...)
- and solves the running issue with a fatigue dependent sprinting plus backward running
The interesting effect is that, encumbrance affects Running/Sprinting/Backward in two ways,
by Encumbrance directly altering Speed ( only for PC),
and by Oblivions vanilla formula which penalizes high encumbrance while running with higher fatigue loss. (all Actors)
This means your characters speed is always totally dynamic, unless you are walking, which is only affected by encumbrance (PC) and Speed (all Actors).
But I guess thats were most users of RF complained, me including.