|
|
|
@ -88,12 +88,23 @@ namespace MWMechanics
|
|
|
|
|
|
|
|
|
|
AiCombat::AiCombat(const MWWorld::Ptr& actor) :
|
|
|
|
|
mTargetActorId(actor.getClass().getCreatureStats(actor).getActorId())
|
|
|
|
|
, mMinMaxAttackDuration()
|
|
|
|
|
, mMovement()
|
|
|
|
|
{
|
|
|
|
|
init();
|
|
|
|
|
|
|
|
|
|
mLastTargetPos = Ogre::Vector3(actor.getRefData().getPosition().pos);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AiCombat::AiCombat(const ESM::AiSequence::AiCombat *combat)
|
|
|
|
|
: mMinMaxAttackDuration()
|
|
|
|
|
, mMovement()
|
|
|
|
|
{
|
|
|
|
|
mTargetActorId = combat->mTargetActorId;
|
|
|
|
|
|
|
|
|
|
init();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AiCombat::init()
|
|
|
|
|
{
|
|
|
|
|
mTimerAttack = 0;
|
|
|
|
@ -638,13 +649,6 @@ namespace MWMechanics
|
|
|
|
|
return new AiCombat(*this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AiCombat::AiCombat(const ESM::AiSequence::AiCombat *combat)
|
|
|
|
|
{
|
|
|
|
|
mTargetActorId = combat->mTargetActorId;
|
|
|
|
|
|
|
|
|
|
init();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AiCombat::writeState(ESM::AiSequence::AiSequence &sequence) const
|
|
|
|
|
{
|
|
|
|
|
std::auto_ptr<ESM::AiSequence::AiCombat> combat(new ESM::AiSequence::AiCombat());
|
|
|
|
|