1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-19 23:53:52 +00:00
openmw-tes3mp/components/openmw-mp/Base/BaseActor.hpp

101 lines
1.8 KiB
C++
Raw Normal View History

#ifndef OPENMW_BASEACTOR_HPP
#define OPENMW_BASEACTOR_HPP
#include <components/esm/loadcell.hpp>
#include <components/openmw-mp/Base/BaseStructs.hpp>
2017-04-09 07:50:35 +00:00
#include <RakNetTypes.h>
namespace mwmp
{
class BaseActor
{
public:
BaseActor()
{
hasPositionData = false;
hasStatsDynamicData = false;
}
std::string refId;
int refNum;
int mpNum;
2017-04-10 04:22:03 +00:00
ESM::Position position;
ESM::Position direction;
2017-04-10 04:22:03 +00:00
ESM::Cell cell;
unsigned int movementFlags;
char drawState;
bool isFlying;
std::string sound;
SimpleCreatureStats creatureStats;
Animation animation;
Attack attack;
Target killer;
bool hasAiTarget;
Target aiTarget;
unsigned int aiAction;
unsigned int aiDistance;
unsigned int aiDuration;
bool aiShouldRepeat;
ESM::Position aiCoordinates;
bool hasPositionData;
bool hasStatsDynamicData;
Item equipmentItems[19];
};
2017-04-09 07:50:35 +00:00
class BaseActorList
2017-04-09 07:50:35 +00:00
{
public:
BaseActorList()
2017-04-09 07:50:35 +00:00
{
}
enum ACTOR_ACTION
{
SET = 0,
ADD = 1,
REMOVE = 2,
REQUEST = 3
};
enum AI_ACTION
{
CANCEL = 0,
ACTIVATE = 1,
COMBAT = 2,
ESCORT = 3,
FOLLOW = 4,
TRAVEL = 5,
WANDER = 6
};
2017-04-09 07:50:35 +00:00
RakNet::RakNetGUID guid;
std::vector<BaseActor> baseActors;
2017-04-09 07:50:35 +00:00
unsigned int count;
ESM::Cell cell;
unsigned char action; // 0 - Clear and set in entirety, 1 - Add item, 2 - Remove item, 3 - Request items
bool isValid;
2017-04-09 07:50:35 +00:00
};
}
#endif //OPENMW_BASEACTOR_HPP