64 TC_LOG_DEBUG(
"network",
"WORLD: HandleTabardVendorActivateOpcode - {} not found or you can not interact with him.", guid.
ToString());
94 TC_LOG_DEBUG(
"network",
"WorldSession: SendTrainerList - {} not found or you can not interact with him.", packet.
Unit.
ToString());
147 TC_LOG_DEBUG(
"network",
"WORLD: Received CMSG_GOSSIP_HELLO");
155 TC_LOG_DEBUG(
"network",
"WORLD: HandleGossipHelloOpcode - {} not found or you can not interact with him.", guid.
ToString());
196 TC_LOG_DEBUG(
"network",
"WORLD: CMSG_SPIRIT_HEALER_ACTIVATE");
204 TC_LOG_DEBUG(
"network",
"WORLD: HandleSpiritHealerActivateOpcode - {} not found or you can not interact with him.", guid.
ToString());
238 if (corpseGrave != ghostGrave)
254 TC_LOG_DEBUG(
"network",
"WORLD: HandleBinderActivateOpcode - {} not found or you can not interact with him.", npcGUID.
ToString());
268 if (
GetPlayer()->GetMap()->Instanceable())
278 data <<
uint32(bindspell);
286 TC_LOG_DEBUG(
"network",
"WORLD: Recv MSG_LIST_STABLED_PETS");
307 TC_LOG_DEBUG(
"network",
"WORLD: Recv MSG_LIST_STABLED_PETS Send.");
313 size_t wpos = data.
wpos();
342 data <<
uint32(pet->PetNumber);
343 data <<
uint32(pet->CreatureId);
344 data <<
uint32(pet->Level);
446 TC_LOG_DEBUG(
"network",
"WORLD: Recv CMSG_UNSTABLE_PET.");
450 recvData >> npcGUID >> petnumber;
471 return pet && pet->PetNumber == petnumber;
484 if (creatureInfo && creatureInfo->
IsTameable(
true))
559 TC_LOG_DEBUG(
"network",
"WORLD: Recv CMSG_BUY_STABLE_SLOT.");
593 TC_LOG_DEBUG(
"network",
"HandleStableRevivePet: Not implemented");
598 TC_LOG_DEBUG(
"network",
"WORLD: Recv CMSG_STABLE_SWAP_PET.");
602 recvData >> npcGUID >> petId;
624 return pet && pet->PetNumber == petId;
637 if (creatureInfo && creatureInfo->
IsTameable(
true))
716 recvData >> npcGUID >> itemGUID >> guildBank;
721 TC_LOG_DEBUG(
"network",
"WORLD: HandleRepairItemOpcode - {} not found or you can not interact with him.", npcGUID.
ToString());
@ CHAR_UPD_CHAR_PET_SLOT_BY_ID
DBCStorage< FactionTemplateEntry > sFactionTemplateStore(FactionTemplateEntryfmt)
DBCStorage< StableSlotPricesEntry > sStableSlotPricesStore(StableSlotPricesfmt)
DatabaseWorkerPool< CharacterDatabaseConnection > CharacterDatabase
Accessor to the character database.
#define TC_LOG_DEBUG(filterType__,...)
@ STABLE_ERR_INVALID_SLOT
@ STABLE_SUCCESS_BUY_SLOT
@ STABLE_SUCCESS_UNSTABLE
std::optional< T > Optional
Optional helper class to wrap optional values within.
@ PET_SAVE_FIRST_STABLE_SLOT
@ AURA_INTERRUPT_FLAG_TALK
@ UNIT_NPC_FLAG_TABARDDESIGNER
@ UNIT_NPC_FLAG_INNKEEPER
@ UNIT_NPC_FLAG_SPIRITHEALER
void AddPlayerToResurrectQueue(ObjectGuid npc_guid, ObjectGuid player_guid)
void put(std::size_t pos, T value)
virtual bool OnGossipHello(Player *)
void SetHomePosition(float x, float y, float z, float o)
CreatureTemplate const * GetCreatureTemplate() const
CreatureMovementData const & GetMovementTemplate() const
LowType GetCounter() const
std::string ToString() const
static ObjectGuid GetGUID(Object const *o)
PetInfo const * GetUnslottedHunterPet() const
std::array< Optional< PetInfo >, MAX_PET_STABLES > StabledPets
Optional< PetInfo > CurrentPet
std::vector< PetInfo > UnslottedPets
PetType getPetType() const
bool LoadPetFromDB(Player *owner, uint32 petEntry, uint32 petnumber, bool current)
WorldLocation const & GetCorpseLocation() const
PetStable & GetOrInitPetStable()
bool CanTameExoticPets() const
void DurabilityLossAll(double percent, bool inventory)
void DurabilityRepair(uint16 pos, bool takeCost, float discountMod)
bool ModifyMoney(int32 amount, bool sendError=true)
void SpawnCorpseBones(bool triggerSave=true)
void SendPreparedGossip(WorldObject *source)
float GetReputationPriceDiscount(Creature const *creature) const
PetStable * GetPetStable()
void DurabilityRepairAll(bool takeCost, float discountMod, bool guildBank)
bool HasEnoughMoney(uint32 amount) const
Creature * GetNPCIfCanInteractWith(ObjectGuid const &guid, NPCFlags npcFlags) const
void RemovePet(Pet *pet, PetSaveMode mode, bool returnreagent=false)
Battleground * GetBattleground() const
bool TeleportTo(uint32 mapid, float x, float y, float z, float orientation, uint32 options=0)
Item * GetItemByGuid(ObjectGuid guid) const
void PrepareGossipMenu(WorldObject *source, uint32 menuId=0, bool showQuests=false)
ReputationMgr & GetReputationMgr()
PlayerMenu * PlayerTalkClass
void ResurrectPlayer(float restore_percent, bool applySickness=false)
void setUInt32(uint8 index, uint32 value)
void setUInt8(uint8 index, uint8 value)
void SetVisible(FactionTemplateEntry const *factionTemplateEntry)
bool IsTrainerValidForPlayer(Player const *player) const
void SendSpells(Creature const *npc, Player const *player, LocaleConstant locale) const
void TeachSpell(Creature const *npc, Player *player, uint32 spellId) const
void RemoveAurasByType(AuraType auraType, std::function< bool(AuraApplication const *)> const &check, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void RemoveAurasWithInterruptFlags(uint32 flag, uint32 except=0)
void PauseMovement(uint32 timer=0, uint8 slot=0, bool forced=true)
uint32 GetFaction() const override
bool IsSpiritGuide() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
ObjectGuid PostmasterGUID
WorldPacket const * Write() override
bool CheckStableMaster(ObjectGuid guid)
void HandleUnstablePet(WorldPacket &recvPacket)
void SendPacket(WorldPacket const *packet)
Send a packet to the client.
LocaleConstant GetSessionDbLocaleIndex() const
void HandleStableRevivePet(WorldPacket &recvPacket)
void HandleTrainerListOpcode(WorldPackets::NPC::Hello &packet)
void HandleTrainerBuySpellOpcode(WorldPackets::NPC::TrainerBuySpell &packet)
void HandleBinderActivateOpcode(WorldPacket &recvPacket)
void HandleStablePet(WorldPacket &recvPacket)
std::string GetPlayerInfo() const
Player * GetPlayer() const
void SendBindPoint(Creature *npc)
void SendSpiritResurrect()
void HandleBuyStableSlot(WorldPacket &recvPacket)
void HandleRequestStabledPets(WorldPacket &recvPacket)
void HandleTabardVendorActivateOpcode(WorldPacket &recvPacket)
void HandleGossipHelloOpcode(WorldPacket &recvPacket)
void SendPetStableResult(uint8 guid)
void HandleRepairItemOpcode(WorldPacket &recvPacket)
void SendShowMailBox(ObjectGuid guid)
void HandleSpiritHealerActivateOpcode(WorldPacket &recvPacket)
void SendTrainerList(Creature *npc)
void SendStablePet(ObjectGuid guid)
void HandleStableSwapPet(WorldPacket &recvPacket)
void SendTabardVendorActivate(ObjectGuid guid)
@ SMSG_TRAINER_BUY_SUCCEEDED
@ MSG_TABARDVENDOR_ACTIVATE
uint32 GetInteractionPauseTimer() const
bool IsTameable(bool canTameExotic) const
float GetPositionZ() const
float GetOrientation() const
float GetPositionX() const
void GetPosition(float &x, float &y) const
float GetPositionY() const