6#ifndef SKYFIRESERVER_PET_H
7#define SKYFIRESERVER_PET_H
12#define PET_FOCUS_REGEN_INTERVAL 4 * IN_MILLISECONDS
13#define HAPPINESS_LEVEL_SIZE 333000
std::vector< uint32 > AutoSpellList
UNORDERED_MAP< uint32, PetSpell > PetSpellMap
Skyfire::AutoPtr< Transaction, Skyfire::Mutex > SQLTransaction
Guardian(SummonPropertiesEntry const *properties, Unit *owner, bool isWorldObject)
uint8 GetByteValue(uint16 index, uint8 offset) const
void SetByteValue(uint16 index, uint8 offset, uint8 value)
uint16 GetSpecialization() const
void _SaveAuras(SQLTransaction &trans)
void ResetAuraUpdateMaskForRaid()
uint8 GetFreeTalentPoints() const
void GivePetLevel(uint8 level)
void SetDuration(int32 dur)
void _SaveSpellCooldowns(SQLTransaction &trans)
Player * GetOwner() const
uint32 m_transportExitGraceTimer
bool IsPetAura(Aura const *aura)
bool unlearnSpell(uint32 spell_id, bool learn_prev, bool clear_ab=true)
void UnlearnSpecializationSpells()
DeclinedName * m_declinedname
void _LoadAuras(uint32 timediff)
void ToggleAutocast(SpellInfo const *spellInfo, bool apply)
virtual void ProhibitSpellSchool(SpellSchoolMask idSchoolMask, uint32 unTimeMs)
void ClearTransportExitGrace()
void setDeathState(DeathState s)
void _LoadSpellCooldowns()
uint32 GetPetAutoSpellOnPos(uint8 pos) const
void StartTransportExitGrace(uint32 duration)
void InitTalentForLevel()
void CastPetAuras(bool current)
void setPetType(PetType type)
void SavePetToDB(PetSaveMode mode)
void SetDisplayId(uint32 modelId)
PetType getPetType() const
void SynchronizeLevelWithOwner()
uint8 GetPetAutoSpellSize() const
void learnSpellHighRank(uint32 spellid)
bool IsPermanentPetFor(Player *owner) const
bool HaveInDiet(ItemTemplate const *item) const
bool addSpell(uint32 spellId, ActiveStates active=ACT_DECIDE, PetSpellState state=PETSPELL_NEW, PetSpellType type=PETSPELL_NORMAL)
AutoSpellList m_autospells
uint16 GetPetSpecByTalentTab(uint16 talenttab)
bool CreateBaseAtTamed(CreatureTemplate const *cinfo, Map *map)
bool Create(uint32 guidlow, Map *map, uint32 Entry, uint32 pet_number)
uint64 GetAuraUpdateMaskForRaid() const
bool CreateBaseAtCreatureInfo(CreatureTemplate const *cinfo, Unit *owner)
bool LoadPetFromDB(Player *owner, uint32 petentry=0, uint32 petnumber=0, bool current=false)
void SaveToDB(uint32, uint32)
DeclinedName const * GetDeclinedNames() const
bool removeSpell(uint32 spell_id, bool learn_prev, bool clear_ab=true)
void SetSpec(uint16 spec)
bool CreateBaseAtCreature(Creature *creature)
bool isTemporarySummoned() const
void CastPetAura(PetAura const *aura)
int32 GetDuration() const
bool isControlled() const
bool HasTransportExitGrace() const
void _SaveSpells(SQLTransaction &trans)
bool HasSpell(uint32 spell) const
void SetFreeTalentPoints(uint8 points)
void Remove(PetSaveMode mode, bool returnreagent=false)
uint8 GetMaxTalentPointsForLevel(uint8 level)
bool isBeingLoaded() const
void InitPetCreateSpells()
void LearnSpecializationSpells()
uint64 m_auraRaidUpdateMask
uint32 GetCurrentFoodBenefitLevel(uint32 itemlevel) const
static void resetTalentsForAllPetsOf(Player *owner, Pet *online_pet=NULL)
Pet(Player *owner, PetType type=PetType::MAX_PET_TYPE)
void GivePetXP(uint32 xp)
void SetAuraUpdateMaskForRaid(uint8 slot)
bool learnSpell(uint32 spell_id)
void InitLevelupSpellsForLevel()