mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-16 17:29:55 +00:00
teleporting to an underwater marked location will remove water walking spell effects from actor
fix formatting addressing hasWaterWalking comment refactor to address remaining comments clean up formatter changes adding suggested condition to if statement move isWaterWalking check into if statement refactor if block to see if actor needs to have water walking purged added entry to changelog.md and authors.md removing redundant check from if statement Sort previous changelog entry
This commit is contained in:
parent
22c62a8c38
commit
273a2ae323
3 changed files with 9 additions and 0 deletions
|
@ -101,6 +101,7 @@ Programmers
|
|||
Jacob Turnbull (Tankinfrank)
|
||||
Jake Westrip (16bitint)
|
||||
James Carty (MrTopCat)
|
||||
James Deciutiis (JamesDeciutiis)
|
||||
James Moore (moore.work)
|
||||
James Stephens (james-h-stephens)
|
||||
Jan-Peter Nilsson (peppe)
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
Bug #7054: Quests aren't sorted by name
|
||||
Bug #7084: Resurrecting an actor doesn't take into account base record changes
|
||||
Bug #7088: Deleting last save game of last character doesn't clear character name/details
|
||||
Bug #7122: Teleportation to underwater should cancel active water walking effect
|
||||
Bug #7172: Current music playlist continues playing indefinitely if next playlist is empty
|
||||
Feature #5492: Let rain and snow collide with statics
|
||||
Feature #6447: Add LOD support to Object Paging
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
#include "actionteleport.hpp"
|
||||
|
||||
#include <components/esm3/loadcell.hpp>
|
||||
#include <components/esm3/loadmgef.hpp>
|
||||
|
||||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/mechanicsmanager.hpp"
|
||||
#include "../mwbase/world.hpp"
|
||||
|
||||
#include "../mwmechanics/actorutil.hpp"
|
||||
#include "../mwmechanics/creaturestats.hpp"
|
||||
|
||||
#include "../mwworld/cellstore.hpp"
|
||||
|
@ -45,6 +47,7 @@ namespace MWWorld
|
|||
MWBase::World* world = MWBase::Environment::get().getWorld();
|
||||
MWWorld::WorldModel* worldModel = MWBase::Environment::get().getWorldModel();
|
||||
actor.getClass().getCreatureStats(actor).land(actor == world->getPlayerPtr());
|
||||
|
||||
if (actor == world->getPlayerPtr())
|
||||
{
|
||||
world->getPlayer().setTeleported(true);
|
||||
|
@ -65,6 +68,10 @@ namespace MWWorld
|
|||
else
|
||||
world->moveObject(actor, worldModel->getInterior(mCellName), mPosition.asVec3(), true, true);
|
||||
}
|
||||
|
||||
if (!world->isWaterWalkingCastableOnTarget(actor) && MWMechanics::hasWaterWalking(actor))
|
||||
actor.getClass().getCreatureStats(actor).getActiveSpells().purgeEffect(
|
||||
actor, ESM::MagicEffect::WaterWalking);
|
||||
}
|
||||
|
||||
void ActionTeleport::getFollowers(
|
||||
|
|
Loading…
Reference in a new issue