OpenMW
|
#include <mechanicsmanagerimp.hpp>
Public Member Functions | |
void | buildPlayer () |
MechanicsManager () | |
virtual void | add (const MWWorld::Ptr &ptr) |
Register an object for management. More... | |
virtual void | remove (const MWWorld::Ptr &ptr) |
Deregister an object for management. More... | |
virtual void | updateCell (const MWWorld::Ptr &old, const MWWorld::Ptr &ptr) |
Moves an object to a new cell. More... | |
virtual void | drop (const MWWorld::CellStore *cellStore) |
Deregister all objects in the given cell. More... | |
virtual void | watchActor (const MWWorld::Ptr &ptr) |
virtual void | update (float duration, bool paused) |
virtual void | advanceTime (float duration) |
virtual void | setPlayerName (const std::string &name) |
Set player name. More... | |
virtual void | setPlayerRace (const std::string &id, bool male, const std::string &head, const std::string &hair) |
Set player race. More... | |
virtual void | setPlayerBirthsign (const std::string &id) |
Set player birthsign. More... | |
virtual void | setPlayerClass (const std::string &id) |
Set player class to stock class. More... | |
virtual void | setPlayerClass (const ESM::Class &class_) |
Set player class to custom class. More... | |
virtual void | rest (bool sleep) |
virtual int | getHoursToRest () const |
Calculate how many hours the player needs to rest in order to be fully healed. More... | |
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 player and NPC. More... | |
virtual int | getDerivedDisposition (const MWWorld::Ptr &ptr, bool addTemporaryDispositionChange=true) |
Calculate the diposition of an NPC toward the player. More... | |
virtual int | countDeaths (const std::string &id) const |
Return the number of deaths for actors with the given ID. More... | |
virtual void | getPersuasionDispositionChange (const MWWorld::Ptr &npc, PersuasionType type, bool &success, float &tempChange, float &permChange) |
Perform a persuasion action on NPC. More... | |
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! More... | |
virtual void | startCombat (const MWWorld::Ptr &ptr, const MWWorld::Ptr &target) |
Makes ptr fight target. Also shouts a combat taunt. More... | |
virtual bool | commitCrime (const MWWorld::Ptr &ptr, const MWWorld::Ptr &victim, OffenseType type, int arg=0, bool victimAware=false) |
virtual bool | actorAttacked (const MWWorld::Ptr &victim, const MWWorld::Ptr &attacker) |
virtual void | actorKilled (const MWWorld::Ptr &victim, const MWWorld::Ptr &attacker) |
virtual void | itemTaken (const MWWorld::Ptr &ptr, const MWWorld::Ptr &item, const MWWorld::Ptr &container, int count) |
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. More... | |
virtual bool | sleepInBed (const MWWorld::Ptr &ptr, const MWWorld::Ptr &bed) |
virtual void | forceStateUpdate (const MWWorld::Ptr &ptr) |
Forces an object to refresh its animation state. More... | |
virtual bool | playAnimationGroup (const MWWorld::Ptr &ptr, const std::string &groupName, int mode, int number, bool persist=false) |
virtual void | skipAnimation (const MWWorld::Ptr &ptr) |
virtual bool | checkAnimationPlaying (const MWWorld::Ptr &ptr, const std::string &groupName) |
virtual void | persistAnimationStates () |
Save the current animation state of managed references to their RefData. More... | |
virtual void | updateMagicEffects (const MWWorld::Ptr &ptr) |
virtual void | getObjectsInRange (const osg::Vec3f &position, float radius, std::vector< MWWorld::Ptr > &objects) |
virtual void | getActorsInRange (const osg::Vec3f &position, float radius, std::vector< MWWorld::Ptr > &objects) |
virtual std::list< MWWorld::Ptr > | getActorsSidingWith (const MWWorld::Ptr &actor) |
Returns the list of actors which are siding with the given actor in fights. More... | |
virtual std::list< MWWorld::Ptr > | getActorsFollowing (const MWWorld::Ptr &actor) |
virtual std::list< int > | getActorsFollowingIndices (const MWWorld::Ptr &actor) |
virtual std::list< MWWorld::Ptr > | getActorsFighting (const MWWorld::Ptr &actor) |
Returns a list of actors who are fighting the given actor within the fAlarmDistance. More... | |
virtual std::list< MWWorld::Ptr > | getEnemiesNearby (const MWWorld::Ptr &actor) |
virtual void | getActorsFollowing (const MWWorld::Ptr &actor, std::set< MWWorld::Ptr > &out) |
Recursive version of getActorsFollowing. More... | |
virtual void | getActorsSidingWith (const MWWorld::Ptr &actor, std::set< MWWorld::Ptr > &out) |
Recursive version of getActorsSidingWith. More... | |
virtual bool | toggleAI () |
virtual bool | isAIActive () |
virtual void | playerLoaded () |
virtual int | countSavedGameRecords () const |
virtual void | write (ESM::ESMWriter &writer, Loading::Listener &listener) const |
virtual void | readRecord (ESM::ESMReader &reader, uint32_t type) |
virtual void | clear () |
virtual bool | isAggressive (const MWWorld::Ptr &ptr, const MWWorld::Ptr &target) |
virtual void | keepPlayerAlive () |
Resurrects the player if necessary. More... | |
virtual bool | isReadyToBlock (const MWWorld::Ptr &ptr) const |
virtual void | confiscateStolenItems (const MWWorld::Ptr &player, const MWWorld::Ptr &targetContainer) |
virtual std::vector< std::pair < std::string, int > > | getStolenItemOwners (const std::string &itemid) |
virtual bool | isItemStolenFrom (const std::string &itemid, const std::string &ownerid) |
Has the player stolen this item from the given owner? More... | |
virtual bool | isAllowedToUse (const MWWorld::Ptr &ptr, const MWWorld::CellRef &cellref, MWWorld::Ptr &victim) |
virtual void | setWerewolf (const MWWorld::Ptr &actor, bool werewolf) |
Turn actor into werewolf or normal form. More... | |
virtual void | applyWerewolfAcrobatics (const MWWorld::Ptr &actor) |
virtual void | cleanupSummonedCreature (const MWWorld::Ptr &caster, int creatureActorId) |
Public Member Functions inherited from MWBase::MechanicsManager | |
MechanicsManager () | |
virtual | ~MechanicsManager () |
Private Types | |
typedef std::pair< std::string, bool > | Owner |
typedef std::map< Owner, int > | OwnerMap |
typedef std::map< std::string, OwnerMap > | StolenItemsMap |
Private Member Functions | |
void | reportCrime (const MWWorld::Ptr &ptr, const MWWorld::Ptr &victim, OffenseType type, int arg=0) |
Private Attributes | |
MWWorld::Ptr | mWatched |
AttributeValue | mWatchedAttributes [8] |
SkillValue | mWatchedSkills [27] |
DynamicStat< float > | mWatchedHealth |
DynamicStat< float > | mWatchedMagicka |
DynamicStat< float > | mWatchedFatigue |
float | mWatchedTimeToStartDrowning |
bool | mWatchedStatsEmpty |
bool | mUpdatePlayer |
bool | mClassSelected |
bool | mRaceSelected |
bool | mAI |
is AI active? More... | |
Objects | mObjects |
Actors | mActors |
StolenItemsMap | mStolenItems |
Additional Inherited Members | |
Public Types inherited from MWBase::MechanicsManager | |
enum | OffenseType { OT_Theft, OT_Assault, OT_Murder, OT_Trespassing, OT_SleepingInOwnedBed, OT_Pickpocket } |
enum | PersuasionType { PT_Admire, PT_Intimidate, PT_Taunt, PT_Bribe10, PT_Bribe100, PT_Bribe1000 } |
|
private |
|
private |
|
private |
MWMechanics::MechanicsManager::MechanicsManager | ( | ) |
|
virtual |
Implements MWBase::MechanicsManager.
|
virtual |
Notify that actor was killed, add a murder bounty if applicable
Implements MWBase::MechanicsManager.
|
virtual |
Register an object for management.
Implements MWBase::MechanicsManager.
|
virtual |
|
virtual |
Sets the NPC's Acrobatics skill to match the fWerewolfAcrobatics GMST. It only applies to the current form the NPC is in.
Implements MWBase::MechanicsManager.
|
virtual |
Check if observer is potentially aware of ptr. Does not do a line of sight check!
Implements MWBase::MechanicsManager.
void MWMechanics::MechanicsManager::buildPlayer | ( | ) |
build player according to stored class/race/birthsign information. Will default to the values of the ESM::NPC object, if no explicit information is given.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
arg | Depends on type, e.g. for Theft, the value of the item that was stolen. |
victimAware | Is the victim already aware of the crime? If this parameter is false, it will be determined by a line-of-sight and awareness check. |
Implements MWBase::MechanicsManager.
|
virtual |
|
virtual |
Return the number of deaths for actors with the given ID.
Implements MWBase::MechanicsManager.
|
virtual |
Implements MWBase::MechanicsManager.
|
virtual |
Deregister all objects in the given cell.
Implements MWBase::MechanicsManager.
|
virtual |
Forces an object to refresh its animation state.
Implements MWBase::MechanicsManager.
|
virtual |
Returns a list of actors who are fighting the given actor within the fAlarmDistance.
ie AiCombat is active and the target is the actor
Implements MWBase::MechanicsManager.
|
virtual |
|
virtual |
Recursive version of getActorsFollowing.
Implements MWBase::MechanicsManager.
|
virtual |
|
virtual |
Implements MWBase::MechanicsManager.
|
virtual |
Returns the list of actors which are siding with the given actor in fights.
ie AiFollow or AiEscort is active and the target is the actor
Implements MWBase::MechanicsManager.
|
virtual |
Recursive version of getActorsSidingWith.
Implements MWBase::MechanicsManager.
|
virtual |
This is used by every service to determine the price of objects given the trading skills of the player and NPC.
Implements MWBase::MechanicsManager.
|
virtual |
Calculate the diposition of an NPC toward the player.
Implements MWBase::MechanicsManager.
|
virtual |
|
virtual |
Calculate how many hours the player needs to rest in order to be fully healed.
Implements MWBase::MechanicsManager.
|
virtual |
|
virtual |
Perform a persuasion action on NPC.
Implements MWBase::MechanicsManager.
|
virtual |
List the owners that the player has stolen this item from (the owner can be an NPC or a faction). <Owner, item count>
Implements MWBase::MechanicsManager.
|
virtual |
Implements MWBase::MechanicsManager.
|
virtual |
Implements MWBase::MechanicsManager.
|
virtual |
Implements MWBase::MechanicsManager.
|
virtual |
Has the player stolen this item from the given owner?
Implements MWBase::MechanicsManager.
|
virtual |
Implements MWBase::MechanicsManager.
|
virtual |
Utility to check if taking this item is illegal and calling commitCrime if so
container | The container the item is in; may be empty for an item in the world |
Implements MWBase::MechanicsManager.
|
virtual |
Resurrects the player if necessary.
Implements MWBase::MechanicsManager.
|
virtual |
Utility to check if opening (i.e. unlocking) this object is illegal and calling commitCrime if so.
Implements MWBase::MechanicsManager.
|
virtual |
Save the current animation state of managed references to their RefData.
Implements MWBase::MechanicsManager.
|
virtual |
Attempt to play an animation group
Implements MWBase::MechanicsManager.
|
virtual |
Implements MWBase::MechanicsManager.
|
virtual |
|
virtual |
Deregister an object for management.
Implements MWBase::MechanicsManager.
|
private |
|
virtual |
If the player is sleeping or waiting, this should be called every hour.
sleep | is the player sleeping or waiting? |
Implements MWBase::MechanicsManager.
|
virtual |
Set player birthsign.
Implements MWBase::MechanicsManager.
|
virtual |
Set player class to stock class.
Implements MWBase::MechanicsManager.
|
virtual |
Set player class to custom class.
Implements MWBase::MechanicsManager.
|
virtual |
|
virtual |
|
virtual |
Turn actor into werewolf or normal form.
Implements MWBase::MechanicsManager.
|
virtual |
Skip the animation for the given MW-reference for one frame. Calls to this function for references that are currently not in the scene should be ignored.
Implements MWBase::MechanicsManager.
|
virtual |
Attempt sleeping in a bed. If this is illegal, call commitCrime.
Implements MWBase::MechanicsManager.
|
virtual |
Makes ptr fight target. Also shouts a combat taunt.
Implements MWBase::MechanicsManager.
|
virtual |
Implements MWBase::MechanicsManager.
|
virtual |
Update objects
paused | In game type does not currently advance (this usually means some GUI component is up). |
Implements MWBase::MechanicsManager.
|
virtual |
Moves an object to a new cell.
Implements MWBase::MechanicsManager.
|
virtual |
Update magic effects for an actor. Usually done automatically once per frame, but if we're currently paused we may want to do it manually (after equipping permanent enchantment)
Implements MWBase::MechanicsManager.
|
virtual |
On each update look for changes in a previously registered actor and update the GUI accordingly.
Implements MWBase::MechanicsManager.
|
virtual |
|
private |
|
private |
is AI active?
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |