1 #ifndef GAME_MWMECHANICS_AICOMBAT_H
2 #define GAME_MWMECHANICS_AICOMBAT_H
6 #include "../mwworld/cellstore.hpp"
8 #include "../mwbase/world.hpp"
bool mForceNoShortcut
Definition: aicombat.hpp:41
Definition: aicombat.hpp:49
base class for the temporary storage of AiPackages.
Definition: aistate.hpp:90
float mAttackCooldown
Definition: aicombat.hpp:29
Causes the actor to fight another actor.
Definition: aicombat.hpp:94
std::shared_ptr< Action > mCurrentAction
Definition: aicombat.hpp:38
MWWorld::Ptr getTarget() const
Returns target ID.
Definition: aicombat.cpp:415
void init()
Definition: aicombat.cpp:48
void stopAttack()
Definition: aicombat.cpp:551
void startCombatMove(bool isDistantCombat, float distToTarget, float rangeAttack, const MWWorld::Ptr &actor, const MWWorld::Ptr &target)
Definition: aicombat.cpp:436
AiCombatStorage()
Definition: aicombat.hpp:58
FleeState
Definition: aicombat.hpp:45
bool attack(const MWWorld::Ptr &actor, const MWWorld::Ptr &target, AiCombatStorage &storage, CharacterController &characterController)
Returns true if combat should end.
Definition: aicombat.cpp:156
void updateFleeing(const MWWorld::Ptr &actor, const MWWorld::Ptr &target, float duration, AiCombatStorage &storage)
Definition: aicombat.cpp:274
float mTimerReact
Definition: aicombat.hpp:30
osg::Vec3f mLastTargetPos
Definition: aicombat.hpp:36
Base class for AI packages.
Definition: aipackage.hpp:33
void stopFleeing()
Definition: aicombat.cpp:566
float mActionCooldown
Definition: aicombat.hpp:39
virtual AiCombat * clone() const
Clones the package.
Definition: aicombat.cpp:420
Definition: aicombat.hpp:48
bool isFleeing()
Definition: aicombat.cpp:575
bool mLOS
Definition: aicombat.hpp:53
Definition: character.hpp:154
ESM::Pathgrid::Point mFleeDest
Definition: aicombat.hpp:56
FleeState mFleeState
Definition: aicombat.hpp:52
float mStrength
Definition: aicombat.hpp:40
void startFleeing()
Definition: aicombat.cpp:560
void stopCombatMove()
Definition: aicombat.cpp:499
bool mCombatMove
Definition: aicombat.hpp:35
virtual int getTypeId() const
Definition: aicombat.cpp:405
void updateActorsMovement(const MWWorld::Ptr &actor, float duration, AiCombatStorage &storage)
Transfer desired movement (from AiCombatStorage) to Actor.
Definition: aicombat.cpp:367
Definition: aicombat.hpp:47
Desired movement for an actor.
Definition: movement.hpp:9
ESM::Position mShortcutFailPos
Definition: aicombat.hpp:42
Mutable state of a cell.
Definition: cellstore.hpp:51
const MWWorld::CellStore * mCell
Definition: aicombat.hpp:37
bool mReadyToAttack
Definition: aicombat.hpp:32
virtual bool shouldCancelPreviousAi() const
Upon adding this Ai package, should the Ai Sequence attempt to cancel previous Ai packages (default t...
Definition: aicombat.hpp:119
virtual void writeState(ESM::AiSequence::AiSequence &sequence) const
Definition: aicombat.cpp:425
void updateAttack(CharacterController &characterController)
Definition: aicombat.cpp:542
float mAttackRange
Definition: aicombat.hpp:34
virtual bool canCancel() const
Can this Ai package be canceled? (default true)
Definition: aicombat.hpp:118
This class holds the variables AiCombat needs which are deleted if the package becomes inactive...
Definition: aicombat.hpp:27
void rotateActorOnAxis(const MWWorld::Ptr &actor, int axis, MWMechanics::Movement &actorMovementSettings, AiCombatStorage &storage)
Definition: aicombat.cpp:379
const float AI_REACTION_TIME
Definition: aipackage.hpp:27
virtual bool execute(const MWWorld::Ptr &actor, CharacterController &characterController, AiState &state, float duration)
Definition: aicombat.cpp:100
AiCombat(const MWWorld::Ptr &actor)
Constructor.
Definition: aicombat.cpp:38
Definition: aisequence.hpp:151
void updateCombatMove(float duration)
Definition: aicombat.cpp:487
void updateLOS(const MWWorld::Ptr &actor, const MWWorld::Ptr &target, float duration, AiCombatStorage &storage)
Definition: aicombat.cpp:262
virtual unsigned int getPriority() const
Higher number is higher priority (0 being the lowest)
Definition: aicombat.cpp:410
MWMechanics::Movement mMovement
Definition: aicombat.hpp:43
Definition: loadpgrd.hpp:30
Definition: aicombat.hpp:50
Pointer to a LiveCellRef.
Definition: ptr.hpp:19
Definition: aisequence.hpp:128
bool mAttack
Definition: aicombat.hpp:33
float mUpdateLOSTimer
Definition: aicombat.hpp:54
float mTimerCombatMove
Definition: aicombat.hpp:31
void startAttackIfReady(const MWWorld::Ptr &actor, CharacterController &characterController, const ESM::Weapon *weapon, bool distantCombat)
Definition: aicombat.cpp:506
Definition: loadweap.hpp:16
float mFleeBlindRunTimer
Definition: aicombat.hpp:55