mirror of
https://github.com/OpenMW/openmw.git
synced 2025-04-01 22:36:39 +00:00
Remove active effects from the player when transforming
This commit is contained in:
parent
caafd0c667
commit
ec735529da
1 changed files with 7 additions and 2 deletions
|
@ -1787,10 +1787,15 @@ namespace MWMechanics
|
||||||
// Update the GUI only when called on the player
|
// Update the GUI only when called on the player
|
||||||
MWBase::WindowManager* windowManager = MWBase::Environment::get().getWindowManager();
|
MWBase::WindowManager* windowManager = MWBase::Environment::get().getWindowManager();
|
||||||
|
|
||||||
|
// Transforming removes all temporary effects
|
||||||
|
actor.getClass().getCreatureStats(actor).getActiveSpells().purge([] (const auto& params)
|
||||||
|
{
|
||||||
|
return params.getType() == ESM::ActiveSpells::Type_Consumable || params.getType() == ESM::ActiveSpells::Type_Temporary;
|
||||||
|
}, actor);
|
||||||
|
mActors.updateActor(actor, 0.f);
|
||||||
|
|
||||||
if (werewolf)
|
if (werewolf)
|
||||||
{
|
{
|
||||||
// Remove CE enchantments before saving stats
|
|
||||||
mActors.updateActor(actor, 0.f);
|
|
||||||
player->saveStats();
|
player->saveStats();
|
||||||
player->setWerewolfStats();
|
player->setWerewolfStats();
|
||||||
windowManager->forceHide(MWGui::GW_Inventory);
|
windowManager->forceHide(MWGui::GW_Inventory);
|
||||||
|
|
Loading…
Reference in a new issue