18#ifndef TRINITYCORE_CORPSE_H
19#define TRINITYCORE_CORPSE_H
35#define MAX_CORPSE_TYPE 3
38#define CORPSE_RECLAIM_RADIUS 39
75 void operator()(
Player const* player)
const;
111 template<
typename Iter>
115 for (
auto&& customization : customizations)
124 void ResetGhostTime();
135 bool IsExpired(time_t t)
const;
@ CORPSE_RESURRECTABLE_PVE
@ CORPSE_RESURRECTABLE_PVP
SQLTransaction< CharacterDatabaseConnection > CharacterDatabaseTransaction
static void SaveToDB(QuestPool const &pool, CharacterDatabaseTransaction trans)
void ReplaceAllFlags(uint32 flags)
void SetFaction(uint32 faction) override
void SetClass(uint8 playerClass)
Loot * GetLootForPlayer(Player const *) const override
void SetGuildGUID(ObjectGuid guildGuid)
void SetDisplayId(uint32 displayId)
void RemoveCorpseDynamicFlag(CorpseDynFlags dynamicFlags)
void SetCustomizations(Trinity::IteratorPair< Iter > customizations)
CorpseDynFlags GetCorpseDynamicFlags() const
void SetFactionTemplate(int32 factionTemplate)
void SetOwnerGUID(ObjectGuid owner)
void SetCorpseDynamicFlag(CorpseDynFlags dynamicFlags)
void SetPartyGUID(ObjectGuid partyGuid)
UF::UpdateField< UF::CorpseData, 0, TYPEID_CORPSE > m_corpseData
uint32 GetFaction() const override
std::unique_ptr< Loot > m_loot
time_t const & GetGhostTime() const
CellCoord const & GetCellCoord() const
void ReplaceAllCorpseDynamicFlags(CorpseDynFlags dynamicFlags)
ObjectGuid GetOwnerGUID() const override
void SetCellCoord(CellCoord const &cellCoord)
CorpseType GetType() const
void SetItem(uint32 slot, uint32 item)
Class used to access individual fields of database query result.
void ClearDynamicUpdateFieldValues(UF::DynamicUpdateFieldSetter< T > setter)
void RemoveUpdateFieldFlagValue(UF::UpdateFieldSetter< T > setter, typename UF::UpdateFieldSetter< T >::value_type flag)
UF::DynamicUpdateFieldSetter< T >::insert_result AddDynamicUpdateFieldValue(UF::DynamicUpdateFieldSetter< T > setter)
void SetUpdateFieldFlagValue(UF::UpdateFieldSetter< T > setter, typename UF::UpdateFieldSetter< T >::value_type flag)
virtual void BuildValuesCreate(ByteBuffer *data, Player const *target) const =0
virtual void ClearUpdateMask(bool remove)
void SetUpdateFieldValue(UF::UpdateFieldSetter< T > setter, typename UF::UpdateFieldSetter< T >::value_type value)
virtual void BuildValuesUpdate(ByteBuffer *data, Player const *target) const =0
Utility class to enable range for loop syntax for multimap.equal_range uses.
void AddToWorld() override
void RemoveFromWorld() override
virtual void Update(uint32 diff)
ValuesUpdateForPlayerWithMaskSender(Corpse const *owner)
UF::ObjectData::Base ObjectMask
UF::CorpseData::Base CorpseMask
uint32 ChrCustomizationChoiceID
uint32 ChrCustomizationOptionID
UpdateFieldArray< uint32, 19, 13, 14 > Items
UpdateField< uint32, 0, 6 > DisplayID
UpdateField< uint8, 0, 7 > RaceID
UpdateField< uint8, 0, 9 > Class
DynamicUpdateField< UF::ChrCustomizationChoice, 0, 1 > Customizations
UpdateField< uint32, 0, 10 > Flags
UpdateField< ObjectGuid, 0, 4 > PartyGUID
UpdateField< ObjectGuid, 0, 3 > Owner
UpdateField< uint8, 0, 8 > Sex
UpdateField< int32, 0, 11 > FactionTemplate
UpdateField< uint32, 0, 2 > DynamicFlags
UpdateField< ObjectGuid, 0, 5 > GuildGUID