28 _isCommandAttack(false), _isCommandFollow(false), _isAtStay(false), _isFollowing(false), _isReturning(false),
29 _stayX(0.0f), _stayY(0.0f), _stayZ(0.0f)
255 auto iter = tokens.begin();
261 if (!type || !action)
#define MAX_UNIT_ACTION_BAR_INDEX
@ ACTION_BAR_INDEX_PET_SPELL_START
@ ACTION_BAR_INDEX_PET_SPELL_END
constexpr uint8 MAX_SPELL_CHARM
const uint32 MAX_CREATURE_SPELLS
std::optional< T > Optional
Optional helper class to wrap optional values within.
@ SPELL_ATTR5_NOT_AVAILABLE_WHILE_CHARMED
uint32 m_spells[MAX_CREATURE_SPELLS]
Difficulty GetDifficultyID() const
static Creature * ToCreature(Object *o)
bool IsAutocastEnabledByDefault() const
SpellInfo const * GetFirstRankSpell() const
bool IsAutocastable() const
bool HasAttribute(SpellAttr0 attribute) const
bool NeedsExplicitUnitTarget() const
void SetPetNumberForClient(uint32 petNumber)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TC_COMMON_API std::vector< std::string_view > Tokenize(std::string_view str, char sep, bool keepEmpty)
void LoadPetActionBar(const std::string &data)
void SetActionBar(uint8 index, uint32 spellOrAction, ActiveStates type)
bool AddSpellToActionBar(SpellInfo const *spellInfo, ActiveStates newstate=ACT_DECIDE, uint8 preferredSlot=0)
void InitPossessCreateSpells()
void SetPetNumber(uint32 petnumber, bool statwindow)
UnitActionBarEntry PetActionBar[MAX_UNIT_ACTION_BAR_INDEX]
void InitCharmCreateSpells()
void BuildActionBar(WorldPacket *data)
bool RemoveSpellFromActionBar(uint32 spell_id)
void SetSpellAutocast(SpellInfo const *spellInfo, bool state)
ReactStates _oldReactState
void ToggleCreatureAutocast(SpellInfo const *spellInfo, bool apply)
void InitEmptyActionBar(bool withAttack=true)
CharmSpellInfo _charmspells[4]
void SetActionAndType(uint32 action, ActiveStates type)
bool IsActionBarForSpell() const
void SetType(ActiveStates type)
void SetAction(uint32 action)