|
OpenMW
|
#include <actors.hpp>
Public Types | |
| typedef std::map< MWWorld::Ptr, Actor * > | PtrActorMap |
Public Member Functions | |
| Actors () | |
| ~Actors () | |
| PtrActorMap::const_iterator | begin () |
| PtrActorMap::const_iterator | end () |
| bool | isActorDetected (const MWWorld::Ptr &actor, const MWWorld::Ptr &observer) |
| void | updateMagicEffects (const MWWorld::Ptr &ptr) |
| void | addActor (const MWWorld::Ptr &ptr, bool updateImmediately=false) |
| void | removeActor (const MWWorld::Ptr &ptr) |
| void | castSpell (const MWWorld::Ptr &ptr, const std::string spellId, bool manualSpell=false) |
| void | updateActor (const MWWorld::Ptr &old, const MWWorld::Ptr &ptr) |
| Updates an actor with a new Ptr. More... | |
| void | dropActors (const MWWorld::CellStore *cellStore, const MWWorld::Ptr &ignore) |
| Deregister all actors (except for ignore) in the given cell. More... | |
| void | updateCombatMusic () |
| Update combat music state. More... | |
| void | update (float duration, bool paused) |
| Update actor stats and store desired velocity vectors in movement. More... | |
| void | updateActor (const MWWorld::Ptr &ptr, float duration) |
| void | engageCombat (const MWWorld::Ptr &actor1, const MWWorld::Ptr &actor2, std::map< const MWWorld::Ptr, const std::set< MWWorld::Ptr > > &cachedAllies, bool againstPlayer) |
| void | updateHeadTracking (const MWWorld::Ptr &actor, const MWWorld::Ptr &targetActor, MWWorld::Ptr &headTrackTarget, float &sqrHeadTrackDistance) |
| void | rest (bool sleep) |
| Update actors while the player is waiting or sleeping. This should be called every hour. More... | |
| void | restoreDynamicStats (const MWWorld::Ptr &actor, bool sleep) |
| int | getHoursToRest (const MWWorld::Ptr &ptr) const |
| Calculate how many hours the given actor needs to rest in order to be fully healed. More... | |
| void | fastForwardAi () |
| Simulate the passing of time. More... | |
| int | countDeaths (const std::string &id) const |
| Return the number of deaths for actors with the given ID. More... | |
| bool | isAttackPreparing (const MWWorld::Ptr &ptr) |
| bool | isRunning (const MWWorld::Ptr &ptr) |
| bool | isSneaking (const MWWorld::Ptr &ptr) |
| void | forceStateUpdate (const MWWorld::Ptr &ptr) |
| bool | playAnimationGroup (const MWWorld::Ptr &ptr, const std::string &groupName, int mode, int number, bool persist=false) |
| void | skipAnimation (const MWWorld::Ptr &ptr) |
| bool | checkAnimationPlaying (const MWWorld::Ptr &ptr, const std::string &groupName) |
| void | persistAnimationStates () |
| void | getObjectsInRange (const osg::Vec3f &position, float radius, std::vector< MWWorld::Ptr > &out) |
| bool | isAnyObjectInRange (const osg::Vec3f &position, float radius) |
| void | cleanupSummonedCreature (CreatureStats &casterStats, int creatureActorId) |
| std::list< MWWorld::Ptr > | getActorsSidingWith (const MWWorld::Ptr &actor) |
| Returns the list of actors which are siding with the given actor in fights. More... | |
| std::list< MWWorld::Ptr > | getActorsFollowing (const MWWorld::Ptr &actor) |
| void | getActorsFollowing (const MWWorld::Ptr &actor, std::set< MWWorld::Ptr > &out) |
| Recursive version of getActorsFollowing. More... | |
| void | getActorsSidingWith (const MWWorld::Ptr &actor, std::set< MWWorld::Ptr > &out) |
| Recursive version of getActorsSidingWith. More... | |
| void | getActorsSidingWith (const MWWorld::Ptr &actor, std::set< MWWorld::Ptr > &out, std::map< const MWWorld::Ptr, const std::set< MWWorld::Ptr > > &cachedAllies) |
| Recursive version of getActorsSidingWith that takes, adds to and returns a cache of actors mapped to their allies. More... | |
| std::list< int > | getActorsFollowingIndices (const MWWorld::Ptr &actor) |
| Get the list of AiFollow::mFollowIndex for all actors following this target. More... | |
| std::list< MWWorld::Ptr > | getActorsFighting (const MWWorld::Ptr &actor) |
| Returns the list of actors which are fighting the given actor. More... | |
| std::list< MWWorld::Ptr > | getEnemiesNearby (const MWWorld::Ptr &actor) |
| Unlike getActorsFighting, also returns actors that would fight the given actor if they saw him. More... | |
| void | write (ESM::ESMWriter &writer, Loading::Listener &listener) const |
| void | readRecord (ESM::ESMReader &reader, uint32_t type) |
| void | clear () |
| bool | isCastingSpell (const MWWorld::Ptr &ptr) const |
| bool | isReadyToBlock (const MWWorld::Ptr &ptr) const |
| bool | isAttackingOrSpell (const MWWorld::Ptr &ptr) const |
Private Member Functions | |
| void | addBoundItem (const std::string &itemId, const MWWorld::Ptr &actor) |
| void | removeBoundItem (const std::string &itemId, const MWWorld::Ptr &actor) |
| void | adjustMagicEffects (const MWWorld::Ptr &creature) |
| void | calculateDynamicStats (const MWWorld::Ptr &ptr) |
| void | calculateCreatureStatModifiers (const MWWorld::Ptr &ptr, float duration) |
| void | calculateNpcStatModifiers (const MWWorld::Ptr &ptr, float duration) |
| void | calculateRestoration (const MWWorld::Ptr &ptr, float duration) |
| void | updateDrowning (const MWWorld::Ptr &ptr, float duration, bool isKnockedOut, bool isPlayer) |
| void | updateEquippedLight (const MWWorld::Ptr &ptr, float duration, bool mayEquip) |
| void | updateCrimePursuit (const MWWorld::Ptr &ptr, float duration) |
| void | killDeadActors () |
| void | purgeSpellEffects (int casterActorId) |
Private Attributes | |
| std::map< std::string, int > | mDeathCount |
| PtrActorMap | mActors |
| float | mTimerDisposeSummonsCorpses |
| typedef std::map<MWWorld::Ptr,Actor*> MWMechanics::Actors::PtrActorMap |
| MWMechanics::Actors::Actors | ( | ) |
| MWMechanics::Actors::~Actors | ( | ) |
| void MWMechanics::Actors::addActor | ( | const MWWorld::Ptr & | ptr, |
| bool | updateImmediately = false |
||
| ) |
Register an actor for stats management
|
private |
|
private |
|
inline |
|
private |
|
private |
|
private |
|
private |
| void MWMechanics::Actors::castSpell | ( | const MWWorld::Ptr & | ptr, |
| const std::string | spellId, | ||
| bool | manualSpell = false |
||
| ) |
| bool MWMechanics::Actors::checkAnimationPlaying | ( | const MWWorld::Ptr & | ptr, |
| const std::string & | groupName | ||
| ) |
| void MWMechanics::Actors::cleanupSummonedCreature | ( | MWMechanics::CreatureStats & | casterStats, |
| int | creatureActorId | ||
| ) |
| void MWMechanics::Actors::clear | ( | ) |
| int MWMechanics::Actors::countDeaths | ( | const std::string & | id | ) | const |
Return the number of deaths for actors with the given ID.
| void MWMechanics::Actors::dropActors | ( | const MWWorld::CellStore * | cellStore, |
| const MWWorld::Ptr & | ignore | ||
| ) |
Deregister all actors (except for ignore) in the given cell.
|
inline |
| void MWMechanics::Actors::engageCombat | ( | const MWWorld::Ptr & | actor1, |
| const MWWorld::Ptr & | actor2, | ||
| std::map< const MWWorld::Ptr, const std::set< MWWorld::Ptr > > & | cachedAllies, | ||
| bool | againstPlayer | ||
| ) |
Start combat between two actors : If againstPlayer = true then actor2 should be the Player. If one of the combatants is creature it should be actor1.
| void MWMechanics::Actors::fastForwardAi | ( | ) |
Simulate the passing of time.
| void MWMechanics::Actors::forceStateUpdate | ( | const MWWorld::Ptr & | ptr | ) |
| std::list< MWWorld::Ptr > MWMechanics::Actors::getActorsFighting | ( | const MWWorld::Ptr & | actor | ) |
Returns the list of actors which are fighting the given actor.
ie AiCombat is active and the target is the actor
| std::list< MWWorld::Ptr > MWMechanics::Actors::getActorsFollowing | ( | const MWWorld::Ptr & | actor | ) |
| void MWMechanics::Actors::getActorsFollowing | ( | const MWWorld::Ptr & | actor, |
| std::set< MWWorld::Ptr > & | out | ||
| ) |
Recursive version of getActorsFollowing.
| std::list< int > MWMechanics::Actors::getActorsFollowingIndices | ( | const MWWorld::Ptr & | actor | ) |
Get the list of AiFollow::mFollowIndex for all actors following this target.
| std::list< MWWorld::Ptr > MWMechanics::Actors::getActorsSidingWith | ( | const MWWorld::Ptr & | actor | ) |
| void MWMechanics::Actors::getActorsSidingWith | ( | const MWWorld::Ptr & | actor, |
| std::set< MWWorld::Ptr > & | out | ||
| ) |
Recursive version of getActorsSidingWith.
| void MWMechanics::Actors::getActorsSidingWith | ( | const MWWorld::Ptr & | actor, |
| std::set< MWWorld::Ptr > & | out, | ||
| std::map< const MWWorld::Ptr, const std::set< MWWorld::Ptr > > & | cachedAllies | ||
| ) |
Recursive version of getActorsSidingWith that takes, adds to and returns a cache of actors mapped to their allies.
| std::list< MWWorld::Ptr > MWMechanics::Actors::getEnemiesNearby | ( | const MWWorld::Ptr & | actor | ) |
Unlike getActorsFighting, also returns actors that would fight the given actor if they saw him.
| int MWMechanics::Actors::getHoursToRest | ( | const MWWorld::Ptr & | ptr | ) | const |
Calculate how many hours the given actor needs to rest in order to be fully healed.
| void MWMechanics::Actors::getObjectsInRange | ( | const osg::Vec3f & | position, |
| float | radius, | ||
| std::vector< MWWorld::Ptr > & | out | ||
| ) |
| bool MWMechanics::Actors::isActorDetected | ( | const MWWorld::Ptr & | actor, |
| const MWWorld::Ptr & | observer | ||
| ) |
Check if the target actor was detected by an observer If the observer is a non-NPC, check all actors in AI processing distance as observers
| bool MWMechanics::Actors::isAnyObjectInRange | ( | const osg::Vec3f & | position, |
| float | radius | ||
| ) |
| bool MWMechanics::Actors::isAttackingOrSpell | ( | const MWWorld::Ptr & | ptr | ) | const |
| bool MWMechanics::Actors::isAttackPreparing | ( | const MWWorld::Ptr & | ptr | ) |
| bool MWMechanics::Actors::isCastingSpell | ( | const MWWorld::Ptr & | ptr | ) | const |
| bool MWMechanics::Actors::isReadyToBlock | ( | const MWWorld::Ptr & | ptr | ) | const |
| bool MWMechanics::Actors::isRunning | ( | const MWWorld::Ptr & | ptr | ) |
| bool MWMechanics::Actors::isSneaking | ( | const MWWorld::Ptr & | ptr | ) |
|
private |
| void MWMechanics::Actors::persistAnimationStates | ( | ) |
| bool MWMechanics::Actors::playAnimationGroup | ( | const MWWorld::Ptr & | ptr, |
| const std::string & | groupName, | ||
| int | mode, | ||
| int | number, | ||
| bool | persist = false |
||
| ) |
|
private |
| void MWMechanics::Actors::readRecord | ( | ESM::ESMReader & | reader, |
| uint32_t | type | ||
| ) |
| void MWMechanics::Actors::removeActor | ( | const MWWorld::Ptr & | ptr | ) |
Deregister an actor for stats management
|
private |
| void MWMechanics::Actors::rest | ( | bool | sleep | ) |
Update actors while the player is waiting or sleeping. This should be called every hour.
| void MWMechanics::Actors::restoreDynamicStats | ( | const MWWorld::Ptr & | actor, |
| bool | sleep | ||
| ) |
| void MWMechanics::Actors::skipAnimation | ( | const MWWorld::Ptr & | ptr | ) |
| void MWMechanics::Actors::update | ( | float | duration, |
| bool | paused | ||
| ) |
| void MWMechanics::Actors::updateActor | ( | const MWWorld::Ptr & | old, |
| const MWWorld::Ptr & | ptr | ||
| ) |
Updates an actor with a new Ptr.
| void MWMechanics::Actors::updateActor | ( | const MWWorld::Ptr & | ptr, |
| float | duration | ||
| ) |
This function is normally called automatically during the update process, but it can also be called explicitly at any time to force an update.
| void MWMechanics::Actors::updateCombatMusic | ( | ) |
Update combat music state.
|
private |
|
private |
|
private |
Automatically equip NPCs torches at night and unequip them at day
| void MWMechanics::Actors::updateHeadTracking | ( | const MWWorld::Ptr & | actor, |
| const MWWorld::Ptr & | targetActor, | ||
| MWWorld::Ptr & | headTrackTarget, | ||
| float & | sqrHeadTrackDistance | ||
| ) |
| void MWMechanics::Actors::updateMagicEffects | ( | const MWWorld::Ptr & | ptr | ) |
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)
| void MWMechanics::Actors::write | ( | ESM::ESMWriter & | writer, |
| Loading::Listener & | listener | ||
| ) | const |
|
private |
|
private |
|
private |
1.8.6