mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-05 06:40:09 +00:00
Merge branch 'player_resurrection_spell_fix' into 'master'
Don't clear spells for a dead player, preventing resurrection problems See merge request OpenMW/openmw!207
This commit is contained in:
commit
c3a44212c7
@ -1966,13 +1966,17 @@ namespace MWMechanics
|
|||||||
}
|
}
|
||||||
else if (killResult == CharacterController::Result_DeathAnimJustFinished)
|
else if (killResult == CharacterController::Result_DeathAnimJustFinished)
|
||||||
{
|
{
|
||||||
|
bool isPlayer = iter->first == getPlayer();
|
||||||
notifyDied(iter->first);
|
notifyDied(iter->first);
|
||||||
|
|
||||||
// Reset magic effects and recalculate derived effects
|
// Reset magic effects and recalculate derived effects
|
||||||
// One case where we need this is to make sure bound items are removed upon death
|
// One case where we need this is to make sure bound items are removed upon death
|
||||||
stats.modifyMagicEffects(MWMechanics::MagicEffects());
|
stats.modifyMagicEffects(MWMechanics::MagicEffects());
|
||||||
stats.getActiveSpells().clear();
|
stats.getActiveSpells().clear();
|
||||||
|
|
||||||
|
if (!isPlayer)
|
||||||
stats.getSpells().clear();
|
stats.getSpells().clear();
|
||||||
|
|
||||||
// Make sure spell effects are removed
|
// Make sure spell effects are removed
|
||||||
purgeSpellEffects(stats.getActorId());
|
purgeSpellEffects(stats.getActorId());
|
||||||
|
|
||||||
@ -1981,7 +1985,7 @@ namespace MWMechanics
|
|||||||
if (iter->first.getClass().isNpc())
|
if (iter->first.getClass().isNpc())
|
||||||
calculateNpcStatModifiers(iter->first, 0);
|
calculateNpcStatModifiers(iter->first, 0);
|
||||||
|
|
||||||
if( iter->first == getPlayer())
|
if (isPlayer)
|
||||||
{
|
{
|
||||||
//player's death animation is over
|
//player's death animation is over
|
||||||
MWBase::Environment::get().getStateManager()->askLoadRecent();
|
MWBase::Environment::get().getStateManager()->askLoadRecent();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user