mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-01-23 05:26:22 +00:00
Big update.
This commit is contained in:
73
src/strategy/values/LastMovementValue.h
Normal file
73
src/strategy/values/LastMovementValue.h
Normal file
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU GPL v2 license, you may redistribute it and/or modify it under version 2 of the License, or (at your option), any later version.
|
||||
*/
|
||||
|
||||
#ifndef _PLAYERBOT_LASTMOVEMENTVALUE_H
|
||||
#define _PLAYERBOT_LASTMOVEMENTVALUE_H
|
||||
|
||||
#include "ObjectGuid.h"
|
||||
#include "TravelNode.h"
|
||||
#include "Value.h"
|
||||
|
||||
class PlayerbotAI;
|
||||
class Unit;
|
||||
|
||||
class LastMovement
|
||||
{
|
||||
public:
|
||||
LastMovement();
|
||||
LastMovement(LastMovement& other);
|
||||
|
||||
LastMovement& operator=(LastMovement const& other)
|
||||
{
|
||||
taxiNodes = other.taxiNodes;
|
||||
taxiMaster = other.taxiMaster;
|
||||
lastFollow = other.lastFollow;
|
||||
lastAreaTrigger = other.lastAreaTrigger;
|
||||
lastMoveShort = other.lastMoveShort;
|
||||
lastPath = other.lastPath;
|
||||
nextTeleport = other.nextTeleport;
|
||||
|
||||
return *this;
|
||||
};
|
||||
|
||||
void clear();
|
||||
|
||||
void Set(Unit* follow);
|
||||
void Set(uint32 mapId, float x, float y, float z, float ori);
|
||||
|
||||
void setShort(WorldPosition point);
|
||||
void setPath(TravelPath path);
|
||||
|
||||
std::vector<uint32> taxiNodes;
|
||||
ObjectGuid taxiMaster;
|
||||
Unit* lastFollow;
|
||||
uint32 lastAreaTrigger;
|
||||
time_t lastFlee;
|
||||
uint32 lastMoveToMapId;
|
||||
float lastMoveToX;
|
||||
float lastMoveToY;
|
||||
float lastMoveToZ;
|
||||
float lastMoveToOri;
|
||||
WorldPosition lastMoveShort;
|
||||
TravelPath lastPath;
|
||||
time_t nextTeleport;
|
||||
std::future<TravelPath> future;
|
||||
};
|
||||
|
||||
class LastMovementValue : public ManualSetValue<LastMovement&>
|
||||
{
|
||||
public:
|
||||
LastMovementValue(PlayerbotAI* botAI) : ManualSetValue<LastMovement&>(botAI, data) { }
|
||||
|
||||
private:
|
||||
LastMovement data = LastMovement();
|
||||
};
|
||||
|
||||
class StayTimeValue : public ManualSetValue<time_t>
|
||||
{
|
||||
public:
|
||||
StayTimeValue(PlayerbotAI* botAI) : ManualSetValue<time_t>(botAI, 0) { }
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user