1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 19:19:55 +00:00
openmw-tes3mp/apps/openmw/mwmp/LocalActor.hpp
David Cernat bf0a42fdad [General] Implement ActorSpellsActive packet, part 1
The packet can now set the active spells of DedicatedActors.
2021-04-20 03:25:14 +02:00

60 lines
1.5 KiB
C++

#ifndef OPENMW_LOCALACTOR_HPP
#define OPENMW_LOCALACTOR_HPP
#include <components/openmw-mp/Base/BaseActor.hpp>
#include "../mwmechanics/creaturestats.hpp"
#include "../mwworld/manualref.hpp"
namespace mwmp
{
class LocalActor : public BaseActor
{
public:
LocalActor();
virtual ~LocalActor();
void update(bool forceUpdate);
void updateCell();
void updatePosition(bool forceUpdate);
void updateAnimFlags(bool forceUpdate);
void updateAnimPlay();
void updateSpeech();
void updateStatsDynamic(bool forceUpdate);
void updateEquipment(bool forceUpdate, bool sendImmediately = false);
void updateAttackOrCast();
void sendEquipment();
void sendSpellsActiveAddition(const std::string id, ESM::ActiveSpells::ActiveSpellParams params);
void sendSpellsActiveRemoval(const std::string id);
void sendDeath(char newDeathState);
MWWorld::Ptr getPtr();
void setPtr(const MWWorld::Ptr& newPtr);
bool hasSentData;
private:
MWWorld::Ptr ptr;
bool posWasChanged;
bool equipmentChanged;
bool wasRunning;
bool wasSneaking;
bool wasForceJumping;
bool wasForceMoveJumping;
bool wasJumping;
bool wasFlying;
MWMechanics::DrawState_ lastDrawState;
MWMechanics::DynamicStat<float> oldHealth;
MWMechanics::DynamicStat<float> oldMagicka;
MWMechanics::DynamicStat<float> oldFatigue;
};
}
#endif //OPENMW_LOCALACTOR_HPP