1 #ifndef GAME_MWMECHANICS_MECHANICSMANAGERIMP_H
2 #define GAME_MWMECHANICS_MECHANICSMANAGERIMP_H
4 #include "../mwbase/mechanicsmanager.hpp"
6 #include "../mwworld/ptr.hpp"
42 typedef std::pair<std::string, bool>
Owner;
71 virtual void update (
float duration,
bool paused);
82 virtual void setPlayerRace (
const std::string&
id,
bool male,
const std::string &head,
const std::string &hair);
96 virtual void rest(
bool sleep);
109 virtual int countDeaths (
const std::string&
id)
const;
129 OffenseType type,
int arg=0,
bool victimAware=
false);
146 int count,
bool alarm =
true);
166 virtual void getObjectsInRange (
const osg::Vec3f& position,
float radius, std::vector<MWWorld::Ptr>& objects);
167 virtual void getActorsInRange(
const osg::Vec3f &position,
float radius, std::vector<MWWorld::Ptr> &objects);
195 virtual void clear();
217 virtual std::vector<std::pair<std::string, int> >
getStolenItemOwners(
const std::string& itemid);
DynamicStat< float > mWatchedHealth
Definition: mechanicsmanagerimp.hpp:27
virtual bool isReadyToBlock(const MWWorld::Ptr &ptr) const
Definition: mechanicsmanagerimp.cpp:1779
virtual int getDerivedDisposition(const MWWorld::Ptr &ptr, bool addTemporaryDispositionChange=true)
Calculate the diposition of an NPC toward the player.
Definition: mechanicsmanagerimp.cpp:543
DynamicStat< float > mWatchedMagicka
Definition: mechanicsmanagerimp.hpp:28
virtual int getBarterOffer(const MWWorld::Ptr &ptr, int basePrice, bool buying)
This is used by every service to determine the price of objects given the trading skills of the playe...
Definition: mechanicsmanagerimp.cpp:629
virtual void setPlayerName(const std::string &name)
Set player name.
Definition: mechanicsmanagerimp.cpp:472
virtual std::list< MWWorld::Ptr > getEnemiesNearby(const MWWorld::Ptr &actor)
Definition: mechanicsmanagerimp.cpp:1688
virtual bool toggleAI()
Definition: mechanicsmanagerimp.cpp:837
virtual void confiscateStolenItemToOwner(const MWWorld::Ptr &player, const MWWorld::Ptr &item, const MWWorld::Ptr &victim, int count)
Definition: mechanicsmanagerimp.cpp:1028
virtual bool isAttackPreparing(const MWWorld::Ptr &ptr)
Definition: mechanicsmanagerimp.cpp:439
virtual bool isSneaking(const MWWorld::Ptr &ptr)
Definition: mechanicsmanagerimp.cpp:449
bool mUpdatePlayer
Definition: mechanicsmanagerimp.hpp:34
Definition: esmreader.hpp:21
Definition: actors.hpp:24
PersuasionType
Definition: mechanicsmanager.hpp:152
virtual bool playAnimationGroup(const MWWorld::Ptr &ptr, const std::string &groupName, int mode, int number, bool persist=false)
Definition: mechanicsmanagerimp.cpp:804
StolenItemsMap mStolenItems
Definition: mechanicsmanagerimp.hpp:45
virtual bool isItemStolenFrom(const std::string &itemid, const MWWorld::Ptr &ptr)
Has the player stolen this item from the given owner?
Definition: mechanicsmanagerimp.cpp:1006
virtual void add(const MWWorld::Ptr &ptr)
Register an object for management.
Definition: mechanicsmanagerimp.cpp:249
virtual bool isAnyActorInRange(const osg::Vec3f &position, float radius)
Check if there are actors in selected range.
Definition: mechanicsmanagerimp.cpp:1664
virtual void drop(const MWWorld::CellStore *cellStore)
Deregister all objects in the given cell.
Definition: mechanicsmanagerimp.cpp:283
virtual void skipAnimation(const MWWorld::Ptr &ptr)
Definition: mechanicsmanagerimp.cpp:811
virtual void advanceTime(float duration)
Definition: mechanicsmanagerimp.cpp:295
virtual void actorKilled(const MWWorld::Ptr &victim, const MWWorld::Ptr &attacker)
Definition: mechanicsmanagerimp.cpp:1512
virtual bool isBoundItem(const MWWorld::Ptr &item)
Definition: mechanicsmanagerimp.cpp:856
virtual bool canCommitCrimeAgainst(const MWWorld::Ptr &victim, const MWWorld::Ptr &attacker)
Definition: mechanicsmanagerimp.cpp:1504
virtual void setPlayerBirthsign(const std::string &id)
Set player birthsign.
Definition: mechanicsmanagerimp.cpp:504
virtual bool sleepInBed(const MWWorld::Ptr &ptr, const MWWorld::Ptr &bed)
Definition: mechanicsmanagerimp.cpp:957
virtual bool isActorDetected(const MWWorld::Ptr &actor, const MWWorld::Ptr &observer)
Definition: mechanicsmanagerimp.cpp:434
Definition: loadinglistener.hpp:8
virtual void readRecord(ESM::ESMReader &reader, uint32_t type)
Definition: mechanicsmanagerimp.cpp:1717
virtual std::vector< std::pair< std::string, int > > getStolenItemOwners(const std::string &itemid)
Definition: mechanicsmanagerimp.cpp:991
Definition: objects.hpp:17
virtual int getHoursToRest() const
Calculate how many hours the player needs to rest in order to be fully healed.
Definition: mechanicsmanagerimp.cpp:467
virtual bool isAggressive(const MWWorld::Ptr &ptr, const MWWorld::Ptr &target)
Definition: mechanicsmanagerimp.cpp:1737
virtual void clear()
Definition: mechanicsmanagerimp.cpp:1729
virtual void confiscateStolenItems(const MWWorld::Ptr &player, const MWWorld::Ptr &targetContainer)
Definition: mechanicsmanagerimp.cpp:1072
virtual bool isCastingSpell(const MWWorld::Ptr &ptr) const
Definition: mechanicsmanagerimp.cpp:1774
Definition: esmwriter.hpp:17
virtual void getPersuasionDispositionChange(const MWWorld::Ptr &npc, PersuasionType type, bool &success, float &tempChange, float &permChange)
Perform a persuasion action on NPC.
Definition: mechanicsmanagerimp.cpp:661
bool mClassSelected
Definition: mechanicsmanagerimp.hpp:35
virtual std::list< MWWorld::Ptr > getActorsSidingWith(const MWWorld::Ptr &actor)
Returns the list of actors which are siding with the given actor in fights.
Definition: mechanicsmanagerimp.cpp:1669
virtual void rest(bool sleep)
Definition: mechanicsmanagerimp.cpp:454
virtual int countDeaths(const std::string &id) const
Return the number of deaths for actors with the given ID.
Definition: mechanicsmanagerimp.cpp:656
virtual bool awarenessCheck(const MWWorld::Ptr &ptr, const MWWorld::Ptr &observer)
Check if observer is potentially aware of ptr. Does not do a line of sight check! ...
Definition: mechanicsmanagerimp.cpp:1545
virtual void startCombat(const MWWorld::Ptr &ptr, const MWWorld::Ptr &target)
Makes ptr fight target. Also shouts a combat taunt.
Definition: mechanicsmanagerimp.cpp:1618
std::map< Owner, int > OwnerMap
Definition: mechanicsmanagerimp.hpp:43
bool mRaceSelected
Definition: mechanicsmanagerimp.hpp:36
bool mAI
is AI active?
Definition: mechanicsmanagerimp.hpp:37
virtual void updateMagicEffects(const MWWorld::Ptr &ptr)
Definition: mechanicsmanagerimp.cpp:832
DynamicStat< float > mWatchedFatigue
Definition: mechanicsmanagerimp.hpp:29
virtual void updateCell(const MWWorld::Ptr &old, const MWWorld::Ptr &ptr)
Moves an object to a new cell.
Definition: mechanicsmanagerimp.cpp:271
virtual bool checkAnimationPlaying(const MWWorld::Ptr &ptr, const std::string &groupName)
Definition: mechanicsmanagerimp.cpp:818
Mutable state of a cell.
Definition: cellstore.hpp:51
virtual void watchActor(const MWWorld::Ptr &ptr)
Definition: mechanicsmanagerimp.cpp:290
virtual bool isAttackingOrSpell(const MWWorld::Ptr &ptr) const
Is ptr casting spell or using weapon now?
Definition: mechanicsmanagerimp.cpp:1784
bool reportCrime(const MWWorld::Ptr &ptr, const MWWorld::Ptr &victim, OffenseType type, int arg=0)
Definition: mechanicsmanagerimp.cpp:1261
bool mWatchedStatsEmpty
Definition: mechanicsmanagerimp.hpp:33
virtual int countSavedGameRecords() const
Definition: mechanicsmanagerimp.cpp:1700
virtual void playerLoaded()
Definition: mechanicsmanagerimp.cpp:848
virtual bool actorAttacked(const MWWorld::Ptr &victim, const MWWorld::Ptr &attacker)
Definition: mechanicsmanagerimp.cpp:1452
MechanicsManager()
Definition: mechanicsmanagerimp.cpp:242
virtual void write(ESM::ESMWriter &writer, Loading::Listener &listener) const
Definition: mechanicsmanagerimp.cpp:1706
virtual void itemTaken(const MWWorld::Ptr &ptr, const MWWorld::Ptr &item, const MWWorld::Ptr &container, int count, bool alarm=true)
Definition: mechanicsmanagerimp.cpp:1102
Actors mActors
Definition: mechanicsmanagerimp.hpp:40
virtual bool isAllowedToUse(const MWWorld::Ptr &ptr, const MWWorld::Ptr &target, MWWorld::Ptr &victim)
Definition: mechanicsmanagerimp.cpp:895
virtual std::list< MWWorld::Ptr > getActorsFollowing(const MWWorld::Ptr &actor)
Definition: mechanicsmanagerimp.cpp:1674
virtual void update(float duration, bool paused)
Definition: mechanicsmanagerimp.cpp:303
virtual void setPlayerRace(const std::string &id, bool male, const std::string &head, const std::string &hair)
Set player race.
Definition: mechanicsmanagerimp.cpp:485
Definition: mechanicsmanagerimp.hpp:20
virtual void restoreDynamicStats(MWWorld::Ptr actor, bool sleep)
Definition: mechanicsmanagerimp.cpp:462
virtual bool commitCrime(const MWWorld::Ptr &ptr, const MWWorld::Ptr &victim, OffenseType type, int arg=0, bool victimAware=false)
Definition: mechanicsmanagerimp.cpp:1161
virtual void keepPlayerAlive()
Resurrects the player if necessary.
Definition: mechanicsmanagerimp.cpp:1766
virtual void persistAnimationStates()
Save the current animation state of managed references to their RefData.
Definition: mechanicsmanagerimp.cpp:826
virtual bool isRunning(const MWWorld::Ptr &ptr)
Definition: mechanicsmanagerimp.cpp:444
virtual void setWerewolf(const MWWorld::Ptr &actor, bool werewolf)
Turn actor into werewolf or normal form.
Definition: mechanicsmanagerimp.cpp:1789
Objects mObjects
Definition: mechanicsmanagerimp.hpp:39
Definition: loadclas.hpp:18
virtual std::list< int > getActorsFollowingIndices(const MWWorld::Ptr &actor)
Definition: mechanicsmanagerimp.cpp:1679
Interface for game mechanics manager (implemented in MWMechanics)
Definition: mechanicsmanager.hpp:40
virtual void applyWerewolfAcrobatics(const MWWorld::Ptr &actor)
Definition: mechanicsmanagerimp.cpp:1884
void buildPlayer()
Definition: mechanicsmanagerimp.cpp:72
virtual bool isAIActive()
Definition: mechanicsmanagerimp.cpp:843
Pointer to a LiveCellRef.
Definition: ptr.hpp:19
virtual void forceStateUpdate(const MWWorld::Ptr &ptr)
Forces an object to refresh its animation state.
Definition: mechanicsmanagerimp.cpp:798
virtual void castSpell(const MWWorld::Ptr &ptr, const std::string spellId, bool manualSpell=false)
Definition: mechanicsmanagerimp.cpp:257
virtual void getActorsInRange(const osg::Vec3f &position, float radius, std::vector< MWWorld::Ptr > &objects)
Definition: mechanicsmanagerimp.cpp:1659
std::map< std::string, OwnerMap > StolenItemsMap
Definition: mechanicsmanagerimp.hpp:44
virtual void cleanupSummonedCreature(const MWWorld::Ptr &caster, int creatureActorId)
Definition: mechanicsmanagerimp.cpp:1892
virtual void setPlayerClass(const std::string &id)
Set player class to stock class.
Definition: mechanicsmanagerimp.cpp:511
MWWorld::Ptr mWatched
Definition: mechanicsmanagerimp.hpp:22
SkillValue mWatchedSkills[27]
Definition: mechanicsmanagerimp.hpp:25
virtual std::list< MWWorld::Ptr > getActorsFighting(const MWWorld::Ptr &actor)
Returns a list of actors who are fighting the given actor within the fAlarmDistance.
Definition: mechanicsmanagerimp.cpp:1684
virtual void getObjectsInRange(const osg::Vec3f &position, float radius, std::vector< MWWorld::Ptr > &objects)
Definition: mechanicsmanagerimp.cpp:1653
bool canReportCrime(const MWWorld::Ptr &actor, const MWWorld::Ptr &victim, std::set< MWWorld::Ptr > &playerFollowers)
Definition: mechanicsmanagerimp.cpp:1238
OffenseType
Definition: mechanicsmanager.hpp:117
std::pair< std::string, bool > Owner
Definition: mechanicsmanagerimp.hpp:42
float mWatchedTimeToStartDrowning
Definition: mechanicsmanagerimp.hpp:31
AttributeValue mWatchedAttributes[8]
Definition: mechanicsmanagerimp.hpp:24
const char * name
Definition: crashcatcher.cpp:67
virtual void objectOpened(const MWWorld::Ptr &ptr, const MWWorld::Ptr &item)
Utility to check if opening (i.e. unlocking) this object is illegal and calling commitCrime if so...
Definition: mechanicsmanagerimp.cpp:983