|
| | BankMoveItemData (Guild *guild, Player *player, uint8 container, uint8 slotId) |
| |
| bool | IsBank () const override |
| |
| bool | InitItem () override |
| |
| bool | HasStoreRights (MoveItemData *pOther) const override |
| |
| bool | HasWithdrawRights (MoveItemData *pOther) const override |
| |
| void | RemoveItem (CharacterDatabaseTransaction trans, MoveItemData *pOther, uint32 splitedAmount) override |
| |
| Item * | StoreItem (CharacterDatabaseTransaction trans, Item *pItem) override |
| |
| void | LogBankEvent (CharacterDatabaseTransaction trans, MoveItemData *pFrom, uint32 count) const override |
| |
| void | LogAction (MoveItemData *pFrom) const override |
| |
| | MoveItemData (Guild *guild, Player *player, uint8 container, uint8 slotId) |
| |
| virtual | ~MoveItemData () |
| |
| virtual bool | CheckItem (uint32 &splitedAmount) |
| |
| bool | CanStore (Item *pItem, bool swap, bool sendError) |
| |
| bool | CloneItem (uint32 count) |
| |
| void | CopySlots (SlotIds &ids) const |
| |
| Item * | GetItem (bool isCloned=false) const |
| |
| uint8 | GetContainer () const |
| |
| uint8 | GetSlotId () const |
| |
|
| Item * | _StoreItem (CharacterDatabaseTransaction trans, BankTab *pTab, Item *pItem, ItemPosCount &pos, bool clone) const |
| |
| bool | _ReserveSpace (uint8 slotId, Item *pItem, Item *pItemDest, uint32 &count) |
| |
| void | CanStoreItemInTab (Item *pItem, uint8 skipSlotId, bool merge, uint32 &count) |
| |
◆ BankMoveItemData()
| Guild::BankMoveItemData::BankMoveItemData |
( |
Guild * |
guild, |
|
|
Player * |
player, |
|
|
uint8 |
container, |
|
|
uint8 |
slotId |
|
) |
| |
|
inline |
654 :
MoveItemData(Guild *guild, Player *player, uint8 container, uint8 slotId)
Definition Guild.h:592
◆ _ReserveSpace()
| bool Guild::BankMoveItemData::_ReserveSpace |
( |
uint8 |
slotId, |
|
|
Item * |
pItem, |
|
|
Item * |
pItemDest, |
|
|
uint32 & |
count |
|
) |
| |
|
private |
950{
952 if (pItemDest)
953 {
954
956 return false;
957 requiredSpace -= pItemDest->
GetCount();
958 }
959
960 requiredSpace = std::min(requiredSpace, count);
961
962
964 if (!pos.isContainedIn(
m_vec))
965 {
966 m_vec.push_back(pos);
967 count -= requiredSpace;
968 }
969 return true;
970}
std::uint32_t uint32
Definition Define.h:107
ItemPosCountVec m_vec
Definition Guild.h:633
uint32 GetCount() const
Definition Item.h:272
uint32 GetMaxStackCount() const
Definition Item.h:274
uint32 GetEntry() const
Definition Object.h:117
References Item::GetCount(), Object::GetEntry(), Item::GetMaxStackCount(), and ItemPosCount::isContainedIn().
◆ _StoreItem()
917{
920 if (
Item* pItemDest = pTab->GetItem(slotId))
921 {
922 pItemDest->SetCount(pItemDest->GetCount() + count);
924 pItemDest->SaveToDB(trans);
925 if (!clone)
926 {
929 delete pItem;
930 }
931 return pItemDest;
932 }
933
934 if (clone)
936 else
938
939 if (pItem && pTab->SetItem(trans, slotId, pItem))
940 return pItem;
941
942 return nullptr;
943}
std::uint8_t uint8
Definition Define.h:109
@ ITEM_CHANGED
Definition Item.h:210
Item * CloneItem(uint32 count, Player const *player=nullptr) const
Definition Item.cpp:1118
void SetCount(uint32 value)
Definition Item.h:273
static void DeleteFromDB(CharacterDatabaseTransaction trans, ObjectGuid::LowType itemGuid)
Definition Item.cpp:518
virtual void RemoveFromWorld()
Definition Object.cpp:155
uint32 count
Definition Player.h:755
uint16 pos
Definition Player.h:754
References Item::CloneItem(), ItemPosCount::count, Item::DeleteFromDB(), Guild::BankTab::GetItem(), ITEM_CHANGED, ItemPosCount::pos, Object::RemoveFromWorld(), Item::SetCount(), and Guild::BankTab::SetItem().
◆ CanStore()
Implements Guild::MoveItemData.
993{
994 LOG_DEBUG(
"guild",
"GUILD STORAGE: CanStore() tab = {}, slot = {}, item = {}, count = {}",
997
1000
1001
1004
1005
1008
1009
1011 {
1013
1014 if ((pItemDest == pItem) || swap)
1015 pItemDest = nullptr;
1016
1019
1020 if (count == 0)
1022 }
1023
1024
1025
1027 {
1029 if (count == 0)
1031 }
1032
1033
1035 if (count == 0)
1037
1039}
@ EQUIP_ERR_BANK_FULL
Definition Item.h:98
@ EQUIP_ERR_CANT_DROP_SOULBOUND
Definition Item.h:71
@ EQUIP_ERR_OK
Definition Item.h:47
@ EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG
Definition Item.h:62
@ EQUIP_ERR_ITEM_CANT_STACK
Definition Item.h:66
@ EQUIP_ERR_ITEMS_CANT_BE_SWAPPED
Definition Item.h:68
@ NULL_SLOT
Definition Item.h:41
#define LOG_DEBUG(filterType__,...)
Definition Log.h:157
bool _ReserveSpace(uint8 slotId, Item *pItem, Item *pItemDest, uint32 &count)
Definition Guild.cpp:949
void CanStoreItemInTab(Item *pItem, uint8 skipSlotId, bool merge, uint32 &count)
Definition Guild.cpp:972
uint8 m_slotId
Definition Guild.h:630
Guild * m_pGuild
Definition Guild.h:627
uint8 m_container
Definition Guild.h:629
uint8 _GetPurchasedTabsSize() const
Definition Guild.h:816
Item * _GetItem(uint8 tabId, uint8 slotId) const
Definition Guild.cpp:2665
ItemTemplate const * GetTemplate() const
Definition Item.cpp:544
bool IsSoulBound() const
Definition Item.h:236
uint32 Duration
Definition ItemTemplate.h:686
References ItemTemplate::Duration, EQUIP_ERR_BANK_FULL, EQUIP_ERR_CANT_DROP_SOULBOUND, EQUIP_ERR_ITEM_CANT_STACK, EQUIP_ERR_ITEM_DOESNT_GO_INTO_BAG, EQUIP_ERR_ITEMS_CANT_BE_SWAPPED, EQUIP_ERR_OK, Item::GetCount(), Object::GetEntry(), Item::GetMaxStackCount(), Item::GetTemplate(), Item::IsSoulBound(), LOG_DEBUG, and NULL_SLOT.
◆ CanStoreItemInTab()
| void Guild::BankMoveItemData::CanStoreItemInTab |
( |
Item * |
pItem, |
|
|
uint8 |
skipSlotId, |
|
|
bool |
merge, |
|
|
uint32 & |
count |
|
) |
| |
|
private |
973{
975 {
976
977 if (slotId == skipSlotId)
978 continue;
979
981 if (pItemDest == pItem)
982 pItemDest = nullptr;
983
984
985 if ((pItemDest != nullptr) != merge)
986 continue;
987
989 }
990}
@ GUILD_BANK_MAX_SLOTS
Definition Guild.h:43
References GUILD_BANK_MAX_SLOTS.
◆ HasStoreRights()
| bool Guild::BankMoveItemData::HasStoreRights |
( |
MoveItemData * |
pOther | ) |
const |
|
overridevirtual |
◆ HasWithdrawRights()
| bool Guild::BankMoveItemData::HasWithdrawRights |
( |
MoveItemData * |
pOther | ) |
const |
|
overridevirtual |
◆ InitItem()
| bool Guild::BankMoveItemData::InitItem |
( |
| ) |
|
|
overridevirtual |
◆ IsBank()
| bool Guild::BankMoveItemData::IsBank |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ LogAction()
| void Guild::BankMoveItemData::LogAction |
( |
MoveItemData * |
pFrom | ) |
const |
|
overridevirtual |
Reimplemented from Guild::MoveItemData.
905{
908 {
911 pFrom->GetItem()->GetTemplate()->Name1, pFrom->GetItem()->GetEntry(), pFrom->GetItem()->GetCount(),
913 }
914}
#define LOG_GM(accountId__,...)
Definition Log.h:164
virtual void LogAction(MoveItemData *pFrom) const
Definition Guild.cpp:746
uint32 GetId() const
Definition Guild.h:686
std::string const & GetName() const
Definition Guild.h:688
WorldSession * GetSession() const
Definition Player.h:2020
std::string const & GetName() const
Definition Object.h:528
bool HasPermission(uint32 permissionId)
Definition WorldSession.cpp:1551
uint32 GetAccountId() const
Definition WorldSession.h:453
@ RBAC_PERM_LOG_GM_TRADE
Definition RBAC.h:62
References Item::GetCount(), Object::GetEntry(), Guild::MoveItemData::GetItem(), Item::GetTemplate(), Guild::MoveItemData::IsBank(), LOG_GM, Guild::MoveItemData::LogAction(), ItemTemplate::Name1, and rbac::RBAC_PERM_LOG_GM_TRADE.
◆ LogBankEvent()
Implements Guild::MoveItemData.
892{
894 if (pFrom->IsBank())
895
898 else
899
901 pFrom->GetItem()->
GetEntry(), count);
902}
@ GUILD_BANK_LOG_MOVE_ITEM
Definition Guild.h:199
@ GUILD_BANK_LOG_DEPOSIT_ITEM
Definition Guild.h:197
void _LogBankEvent(CharacterDatabaseTransaction trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid playerGuid, uint32 itemOrMoney, uint16 itemStackCount=0, uint8 destTabId=0)
Definition Guild.cpp:2644
uint32 GetEntry() const
Definition ObjectGuid.h:144
References ASSERT, Guild::MoveItemData::GetContainer(), Object::GetEntry(), Guild::MoveItemData::GetItem(), GUILD_BANK_LOG_DEPOSIT_ITEM, GUILD_BANK_LOG_MOVE_ITEM, and Guild::MoveItemData::IsBank().
◆ RemoveItem()
Implements Guild::MoveItemData.
851{
853 if (splitedAmount)
854 {
858 }
859 else
860 {
863 }
864
865 if (!pOther->IsBank() || pOther->GetContainer() !=
m_container)
867}
void _RemoveItem(CharacterDatabaseTransaction trans, uint8 tabId, uint8 slotId)
Definition Guild.cpp:2672
void _UpdateMemberWithdrawSlots(CharacterDatabaseTransaction trans, ObjectGuid guid, uint8 tabId)
Definition Guild.cpp:2610
virtual void SaveToDB(CharacterDatabaseTransaction trans)
Definition Item.cpp:336
void FSetState(ItemUpdateState state)
Definition Item.h:330
References ASSERT, Guild::MoveItemData::GetContainer(), Guild::MoveItemData::IsBank(), and ITEM_CHANGED.
◆ StoreItem()
Implements Guild::MoveItemData.
870{
871 if (!pItem)
872 return nullptr;
873
875 if (!pTab)
876 return nullptr;
877
878 Item* pLastItem = pItem;
879 for (ItemPosCountVec::const_iterator itr =
m_vec.begin(); itr !=
m_vec.end(); )
880 {
882 ++itr;
883
884 LOG_DEBUG(
"guild",
"GUILD STORAGE: StoreItem tab = {}, slot = {}, item = {}, count = {}",
887 }
888 return pLastItem;
889}
Item * _StoreItem(CharacterDatabaseTransaction trans, BankTab *pTab, Item *pItem, ItemPosCount &pos, bool clone) const
Definition Guild.cpp:916
BankTab * GetBankTab(uint8 tabId)
Definition Guild.h:817
References Item::GetCount(), Object::GetEntry(), and LOG_DEBUG.
The documentation for this class was generated from the following files:
- azerothcore-wotlk/src/server/game/Guilds/Guild.h
- azerothcore-wotlk/src/server/game/Guilds/Guild.cpp