mirror of
https://github.com/OpenMW/openmw.git
synced 2025-03-31 14:36:39 +00:00
Merged pull request #1934
This commit is contained in:
commit
34b0344166
2 changed files with 7 additions and 1 deletions
|
@ -126,6 +126,7 @@
|
||||||
Bug #4633: Sneaking stance affects speed even if the actor is not able to crouch
|
Bug #4633: Sneaking stance affects speed even if the actor is not able to crouch
|
||||||
Bug #4641: GetPCJumping is handled incorrectly
|
Bug #4641: GetPCJumping is handled incorrectly
|
||||||
Bug #4644: %Name should be available for all actors, not just for NPCs
|
Bug #4644: %Name should be available for all actors, not just for NPCs
|
||||||
|
Bug #4649: Levelup fully restores health
|
||||||
Feature #912: Editor: Add missing icons to UniversalId tables
|
Feature #912: Editor: Add missing icons to UniversalId tables
|
||||||
Feature #1617: Editor: Enchantment effect record verifier
|
Feature #1617: Editor: Enchantment effect record verifier
|
||||||
Feature #1645: Casting effects from objects
|
Feature #1645: Casting effects from objects
|
||||||
|
|
|
@ -298,7 +298,12 @@ void MWMechanics::NpcStats::levelUp()
|
||||||
// "When you gain a level, in addition to increasing three primary attributes, your Health
|
// "When you gain a level, in addition to increasing three primary attributes, your Health
|
||||||
// will automatically increase by 10% of your Endurance attribute. If you increased Endurance this level,
|
// will automatically increase by 10% of your Endurance attribute. If you increased Endurance this level,
|
||||||
// the Health increase is calculated from the increased Endurance"
|
// the Health increase is calculated from the increased Endurance"
|
||||||
setHealth(getHealth().getBase() + endurance * gmst.find("fLevelUpHealthEndMult")->mValue.getFloat());
|
// Note: we should add bonus Health points to current level too.
|
||||||
|
float healthGain = endurance * gmst.find("fLevelUpHealthEndMult")->mValue.getFloat();
|
||||||
|
MWMechanics::DynamicStat<float> health(getHealth());
|
||||||
|
health.setBase(getHealth().getBase() + healthGain);
|
||||||
|
health.setCurrent(std::max(1.f, getHealth().getCurrent() + healthGain));
|
||||||
|
setHealth(health);
|
||||||
|
|
||||||
setLevel(getLevel()+1);
|
setLevel(getLevel()+1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue