mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-16 17:59:56 +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)
|
Jacob Turnbull (Tankinfrank)
|
||||||
Jake Westrip (16bitint)
|
Jake Westrip (16bitint)
|
||||||
James Carty (MrTopCat)
|
James Carty (MrTopCat)
|
||||||
|
James Deciutiis (JamesDeciutiis)
|
||||||
James Moore (moore.work)
|
James Moore (moore.work)
|
||||||
James Stephens (james-h-stephens)
|
James Stephens (james-h-stephens)
|
||||||
Jan-Peter Nilsson (peppe)
|
Jan-Peter Nilsson (peppe)
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
Bug #7054: Quests aren't sorted by name
|
Bug #7054: Quests aren't sorted by name
|
||||||
Bug #7084: Resurrecting an actor doesn't take into account base record changes
|
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 #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
|
Bug #7172: Current music playlist continues playing indefinitely if next playlist is empty
|
||||||
Feature #5492: Let rain and snow collide with statics
|
Feature #5492: Let rain and snow collide with statics
|
||||||
Feature #6447: Add LOD support to Object Paging
|
Feature #6447: Add LOD support to Object Paging
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
#include "actionteleport.hpp"
|
#include "actionteleport.hpp"
|
||||||
|
|
||||||
#include <components/esm3/loadcell.hpp>
|
#include <components/esm3/loadcell.hpp>
|
||||||
|
#include <components/esm3/loadmgef.hpp>
|
||||||
|
|
||||||
#include "../mwbase/environment.hpp"
|
#include "../mwbase/environment.hpp"
|
||||||
#include "../mwbase/mechanicsmanager.hpp"
|
#include "../mwbase/mechanicsmanager.hpp"
|
||||||
#include "../mwbase/world.hpp"
|
#include "../mwbase/world.hpp"
|
||||||
|
|
||||||
|
#include "../mwmechanics/actorutil.hpp"
|
||||||
#include "../mwmechanics/creaturestats.hpp"
|
#include "../mwmechanics/creaturestats.hpp"
|
||||||
|
|
||||||
#include "../mwworld/cellstore.hpp"
|
#include "../mwworld/cellstore.hpp"
|
||||||
|
@ -45,6 +47,7 @@ namespace MWWorld
|
||||||
MWBase::World* world = MWBase::Environment::get().getWorld();
|
MWBase::World* world = MWBase::Environment::get().getWorld();
|
||||||
MWWorld::WorldModel* worldModel = MWBase::Environment::get().getWorldModel();
|
MWWorld::WorldModel* worldModel = MWBase::Environment::get().getWorldModel();
|
||||||
actor.getClass().getCreatureStats(actor).land(actor == world->getPlayerPtr());
|
actor.getClass().getCreatureStats(actor).land(actor == world->getPlayerPtr());
|
||||||
|
|
||||||
if (actor == world->getPlayerPtr())
|
if (actor == world->getPlayerPtr())
|
||||||
{
|
{
|
||||||
world->getPlayer().setTeleported(true);
|
world->getPlayer().setTeleported(true);
|
||||||
|
@ -65,6 +68,10 @@ namespace MWWorld
|
||||||
else
|
else
|
||||||
world->moveObject(actor, worldModel->getInterior(mCellName), mPosition.asVec3(), true, true);
|
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(
|
void ActionTeleport::getFollowers(
|
||||||
|
|
Loading…
Reference in a new issue