|
Project SkyFire Core
SkyFire 5.4.8 server core API documentation
|
#include <LootMgr.h>
Public Attributes | |
| uint32 | containerID |
| uint32 | gold |
| std::vector< LootItem > | items |
| LootType | loot_type |
| uint8 | maxDuplicates |
| std::vector< LootItem > | quest_items |
| uint64 | roundRobinPlayer |
| uint8 | unlootedCount |
Private Member Functions | |
| QuestItemList * | FillFFALoot (Player *player) |
| QuestItemList * | FillNonQuestNonFFAConditionalLoot (Player *player, bool presentAtLooting) |
| void | FillNotNormalLootFor (Player *player, bool presentAtLooting) |
| QuestItemList * | FillQuestLoot (Player *player) |
|
inline |
Definition at line 294 of file LootMgr.h.
References containerID, gold, loot_type, maxDuplicates, roundRobinPlayer, and unlootedCount.
| void Loot::AddItem | ( | LootStoreItem const & | item | ) |
Definition at line 390 of file LootMgr.cpp.
References LootStoreItem::conditions, LootItem::count, ItemTemplate::Flags, ItemTemplate::GetMaxStackSize(), ITEM_PROTO_FLAG_PARTY_LOOT, LootStoreItem::itemid, items, MAX_NR_LOOT_ITEMS, MAX_NR_QUEST_ITEMS, LootStoreItem::maxcount, LootStoreItem::mincountOrRef, LootStoreItem::needs_quest, quest_items, sObjectMgr, and unlootedCount.
Referenced by LootTemplate::LootGroup::Process(), and LootTemplate::Process().
|
inline |
Definition at line 337 of file LootMgr.h.
References PlayersLooting.
Referenced by Player::SendLoot().
|
inline |
Definition at line 302 of file LootMgr.h.
References i_LootValidatorRefManager.
Referenced by Roll::targetObjectBuildLink().
|
inline |
Definition at line 308 of file LootMgr.h.
References gold, i_LootValidatorRefManager, items, PlayerFFAItems, PlayerNonQuestNonFFAConditionalItems, PlayerQuestItems, PlayersLooting, quest_items, roundRobinPlayer, and unlootedCount.
Referenced by WorldSession::DoLootRelease(), GameObject::getFishLoot(), Unit::Kill(), Player::SendLoot(), and ~Loot().
| void Loot::DeleteLootItemFromContainerItemDB | ( | uint32 | itemID | ) |
Definition at line 686 of file LootMgr.cpp.
References CHAR_DEL_ITEMCONTAINER_ITEM, CharacterDatabase, containerID, items, and PreparedStatement::setUInt32().
Referenced by Player::StoreLootItem().
| void Loot::DeleteLootMoneyFromContainerItemDB | ( | ) |
Definition at line 705 of file LootMgr.cpp.
References CHAR_DEL_ITEMCONTAINER_MONEY, CharacterDatabase, containerID, and PreparedStatement::setUInt32().
Referenced by WorldSession::HandleLootMoneyOpcode().
|
inline |
|
private |
Definition at line 500 of file LootMgr.cpp.
References LootItem::AllowedForPlayer(), LootItem::freeforall, Object::GetGUIDLow(), LootItem::is_looted, items, PlayerFFAItems, and unlootedCount.
Referenced by FillNotNormalLootFor().
| bool Loot::FillLoot | ( | uint32 | lootId, |
| LootStore const & | store, | ||
| Player * | lootOwner, | ||
| bool | personal, | ||
| bool | noEmptyError = false, | ||
| uint16 | lootMode = LOOT_MODE_DEFAULT ) |
Definition at line 418 of file LootMgr.cpp.
References FillNotNormalLootFor(), Group::GetFirstMember(), Player::GetGroup(), Object::GetGUID(), LootStore::GetLootFor(), Group::GetLootThreshold(), LootStore::GetName(), LootStore::IsRatesAllowed(), items, MAX_NR_LOOT_ITEMS, MAX_NR_QUEST_ITEMS, GroupReference::next(), LootTemplate::Process(), quest_items, roundRobinPlayer, SF_LOG_ERROR, and sObjectMgr.
Referenced by Player::AutoStoreLoot(), GameObject::getFishLoot(), Unit::Kill(), MailDraft::prepareItems(), and Player::SendLoot().
|
private |
Definition at line 563 of file LootMgr.cpp.
References LootItem::AddAllowedLooter(), LootItem::AllowedForPlayer(), LootItem::conditions, LootItem::follow_loot_rules, LootItem::freeforall, Player::GetGroup(), Object::GetGUID(), Object::GetGUIDLow(), Group::GetLooterGuid(), Group::GetLootMethod(), LootItem::is_counted, LootItem::is_looted, items, MASTER_LOOT, PlayerNonQuestNonFFAConditionalItems, and unlootedCount.
Referenced by FillNotNormalLootFor().
|
private |
Definition at line 462 of file LootMgr.cpp.
References LootItem::AllowedForPlayer(), FillFFALoot(), FillNonQuestNonFFAConditionalLoot(), FillQuestLoot(), LootItem::freeforall, Object::GetGUIDLow(), GetMaxSlotInLootFor(), LootItem::is_looted, LootItem::itemid, items, PlayerFFAItems, PlayerNonQuestNonFFAConditionalItems, PlayerQuestItems, quest_items, sObjectMgr, and Player::StoreLootItem().
Referenced by FillLoot().
|
private |
Definition at line 523 of file LootMgr.cpp.
References LootItem::AllowedForPlayer(), LootItem::follow_loot_rules, LootItem::freeforall, Player::GetGroup(), Object::GetGUID(), Object::GetGUIDLow(), Group::GetLooterGuid(), Group::GetLootMethod(), GROUP_LOOT, LootItem::is_blocked, LootItem::is_looted, items, MASTER_LOOT, MAX_NR_LOOT_ITEMS, PlayerQuestItems, quest_items, ROUND_ROBIN, and unlootedCount.
Referenced by FillNotNormalLootFor().
Definition at line 673 of file LootMgr.cpp.
References gold, RATE_DROP_MONEY, and sWorld.
Referenced by Unit::Kill(), and Player::SendLoot().
Definition at line 776 of file LootMgr.cpp.
References Object::GetGUIDLow(), items, and PlayerQuestItems.
Referenced by Player::AutoStoreLoot(), FillNotNormalLootFor(), and MailDraft::prepareItems().
|
inline |
|
inline |
Definition at line 280 of file LootMgr.h.
References PlayerNonQuestNonFFAConditionalItems.
Referenced by hasItemFor().
|
inline |
Definition at line 278 of file LootMgr.h.
References PlayerQuestItems.
Referenced by hasItemFor(), and Player::StoreLootItem().
| bool Loot::hasItemFor | ( | Player * | player | ) | const |
Definition at line 783 of file LootMgr.cpp.
References Object::GetGUIDLow(), GetPlayerFFAItems(), GetPlayerNonQuestNonFFAConditionalItems(), GetPlayerQuestItems(), LootItem::is_looted, items, and quest_items.
Referenced by Player::isAllowedToLoot().
|
inline |
Definition at line 339 of file LootMgr.h.
References PlayersLooting.
Referenced by WorldSession::HandleAutostoreLootItemOpcode().
| bool Loot::hasOverThresholdItem | ( | ) | const |
Definition at line 828 of file LootMgr.cpp.
References items.
Referenced by Player::isAllowedToLoot().
|
inline |
Definition at line 332 of file LootMgr.h.
References gold, and unlootedCount.
Referenced by Spell::CheckCast(), WorldSession::DoLootRelease(), WorldSession::HandleAutostoreLootItemOpcode(), WorldSession::HandleLootMoneyOpcode(), and Player::isAllowedToLoot().
| LootItem * Loot::LootItemInSlot | ( | uint32 | lootslot, |
| Player * | player, | ||
| QuestItem ** | qitem = NULL, | ||
| QuestItem ** | ffaitem = NULL, | ||
| QuestItem ** | conditem = NULL ) |
Definition at line 713 of file LootMgr.cpp.
References LootItem::conditions, LootItem::freeforall, Object::GetGUIDLow(), QuestItem::index, LootItem::is_looted, QuestItem::is_looted, items, PlayerFFAItems, PlayerNonQuestNonFFAConditionalItems, PlayerQuestItems, and quest_items.
Referenced by Player::AutoStoreLoot(), MailDraft::prepareItems(), and Player::StoreLootItem().
| void Loot::NotifyItemRemoved | ( | uint8 | lootIndex, |
| ObjectGuid | lootGuid = 0 ) |
Definition at line 599 of file LootMgr.cpp.
References ObjectAccessor::FindPlayer(), and PlayersLooting.
Referenced by Group::CountTheRoll(), WorldSession::HandleLootMasterGiveOpcode(), and Player::StoreLootItem().
| void Loot::NotifyMoneyRemoved | ( | ObjectGuid | lootGuid = 0 | ) |
Definition at line 618 of file LootMgr.cpp.
References ObjectAccessor::FindPlayer(), and PlayersLooting.
Referenced by WorldSession::HandleLootMoneyOpcode().
| void Loot::NotifyQuestItemRemoved | ( | uint8 | questIndex, |
| ObjectGuid | lootGuid = 0 ) |
Definition at line 636 of file LootMgr.cpp.
References ObjectAccessor::FindPlayer(), items, PlayerQuestItems, and PlayersLooting.
Referenced by Player::StoreLootItem().
|
inline |
Definition at line 338 of file LootMgr.h.
References PlayersLooting.
Referenced by WorldSession::DoLootRelease().
| uint32 Loot::containerID |
Definition at line 292 of file LootMgr.h.
Referenced by DeleteLootItemFromContainerItemDB(), DeleteLootMoneyFromContainerItemDB(), WorldSession::HandleLootMoneyOpcode(), Loot(), and Player::StoreLootItem().
| uint32 Loot::gold |
Definition at line 284 of file LootMgr.h.
Referenced by clear(), empty(), generateMoneyLoot(), WorldSession::HandleLootMoneyOpcode(), isLooted(), Loot(), Player::RemovedInsignia(), and Player::SendLoot().
|
private |
Definition at line 364 of file LootMgr.h.
Referenced by addLootValidatorRef(), and clear().
| std::vector<LootItem> Loot::items |
Definition at line 282 of file LootMgr.h.
Referenced by AddItem(), clear(), Group::CountRollVote(), Group::CountTheRoll(), DeleteLootItemFromContainerItemDB(), empty(), FillFFALoot(), FillLoot(), FillNonQuestNonFFAConditionalLoot(), FillNotNormalLootFor(), FillQuestLoot(), GetMaxSlotInLootFor(), Group::GroupLoot(), WorldSession::HandleLootMasterGiveOpcode(), hasItemFor(), hasOverThresholdItem(), LootItemInSlot(), Group::NeedBeforeGreed(), and NotifyQuestItemRemoved().
| LootType Loot::loot_type |
Definition at line 287 of file LootMgr.h.
Referenced by WorldSession::HandleLootMasterGiveOpcode(), Loot(), Player::SendLoot(), and Player::StoreLootItem().
|
private |
Definition at line 360 of file LootMgr.h.
Referenced by clear(), FillFFALoot(), FillNotNormalLootFor(), GetPlayerFFAItems(), and LootItemInSlot().
|
private |
Definition at line 361 of file LootMgr.h.
Referenced by clear(), FillNonQuestNonFFAConditionalLoot(), FillNotNormalLootFor(), GetPlayerNonQuestNonFFAConditionalItems(), and LootItemInSlot().
|
private |
Definition at line 359 of file LootMgr.h.
Referenced by clear(), FillNotNormalLootFor(), FillQuestLoot(), GetMaxSlotInLootFor(), GetPlayerQuestItems(), LootItemInSlot(), and NotifyQuestItemRemoved().
|
private |
Definition at line 358 of file LootMgr.h.
Referenced by AddLooter(), clear(), HasLooter(), NotifyItemRemoved(), NotifyMoneyRemoved(), NotifyQuestItemRemoved(), and RemoveLooter().
| std::vector<LootItem> Loot::quest_items |
Definition at line 283 of file LootMgr.h.
Referenced by AddItem(), clear(), Group::CountTheRoll(), FillLoot(), FillNotNormalLootFor(), FillQuestLoot(), Group::GroupLoot(), WorldSession::HandleLootMasterGiveOpcode(), hasItemFor(), LootItemInSlot(), and Group::NeedBeforeGreed().
| uint64 Loot::roundRobinPlayer |
Definition at line 286 of file LootMgr.h.
Referenced by clear(), WorldSession::DoLootRelease(), FillLoot(), Player::isAllowedToLoot(), and Loot().
| uint8 Loot::unlootedCount |
Definition at line 285 of file LootMgr.h.
Referenced by AddItem(), clear(), Group::CountTheRoll(), FillFFALoot(), FillNonQuestNonFFAConditionalLoot(), FillQuestLoot(), WorldSession::HandleLootMasterGiveOpcode(), isLooted(), Loot(), Player::SendLoot(), and Player::StoreLootItem().