The author of the Stat-Based HP mod rewrite attempted to address the problem himself, but ran into a wall when anything he tried to do to the effect ended up making constant effect fortify health effects able to heal the player infinitely as a result.
And then I got to thinking... maybe we're just approaching the problem from the wrong direction. Instead of trying to change the effect itself to svck less, why don't we just script the pre-made spells and enchantments to svck less? The downside of this is that it wouldn't work for custom spells or enchantments, but this is at least consistent with a lot of other effects I've edited in BTB's Game Impropvements, anyway.
Someone pointed out to me awhile back that drain health can actually act as something of a delayed restore health effect, since it gives you health back when the effect ends. Thus, all I really need to do is script all premade fortify health spells and enchantments to add a drain health effect ( + immediate restore health of an equal amount ) that will counteract the fortify health drain when the effect ends. Seems simple enough, but with scripting, nothing ever is.
I'm at work right now, so I can't test this out proper, but here's a little something I just whipped up:
begin _fortify_health short vital short blood short daedric if ( player->getspelleffects "vitality" == 1 ) if ( vital == 0 ) player->cast "vitality2" set vital to 1 endif elseif ( vital == 1 ) if ( player->getspelleffects "vitality" == 0 ) set vital to 0 endif endif if ( player->getspelleffects "blood gift" == 1 ) if ( blood == 0 ) player->cast "blood gift2" set blood to 1 endif elseif ( blood == 1 ) if ( player->getspelleffects "blood gift" == 0 ) set blood to 0 endif endif if ( player->getspelleffects "daedric health" == 1 ) if ( daedric == 0 ) player->cast "daedric health2" set daedric to 1 endif elseif ( daedric == 1 ) if ( player->getspelleffects "daedric health" == 0 ) set daedric to 0 endif endifend
Thoughts?