Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
LootMgr.h File Reference
#include "ByteBuffer.h"
#include "ConditionMgr.h"
#include "ItemEnchantmentMgr.h"
#include "Object.h"
#include "RefManager.h"
#include "SharedDefines.h"
#include <list>
#include <map>
#include <vector>
Include dependency graph for LootMgr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Loot
struct  LootItem
class  LootStore
struct  LootStoreItem
class  LootTemplate
class  LootValidatorRef
class  LootValidatorRefManager
struct  LootView
struct  QuestItem

Macros

#define MAX_NR_LOOT_ITEMS   16
#define MAX_NR_QUEST_ITEMS   32

Typedefs

typedef std::set< uint32AllowedLooterSet
typedef std::set< uint32LootIdSet
typedef std::vector< LootItemLootItemList
typedef std::list< LootStoreItem * > LootStoreItemList
typedef UNORDERED_MAP< uint32, LootTemplate * > LootTemplateMap
typedef std::vector< QuestItemQuestItemList
typedef std::map< uint32, QuestItemList * > QuestItemMap

Enumerations

enum class  LootMethod {
  FREE_FOR_ALL = 0 , ROUND_ROBIN = 1 , MASTER_LOOT = 2 , GROUP_LOOT = 3 ,
  NEED_BEFORE_GREED = 4
}
enum class  LootSlotType {
  LOOT_SLOT_TYPE_ROLL_ONGOING = 0 , LOOT_SLOT_TYPE_LOCKED = 1 , LOOT_SLOT_TYPE_MASTER = 2 , LOOT_SLOT_TYPE_ALLOW_LOOT = 5 ,
  LOOT_SLOT_TYPE_OWNER = 6
}
enum class  LootType {
  LOOT_CORPSE = 1 , LOOT_PICKPOCKETING = 2 , LOOT_FISHING = 3 , LOOT_DISENCHANTING = 4 ,
  LOOT_SKINNING = 6 , LOOT_PROSPECTING = 7 , LOOT_MILLING = 8 , LOOT_FISHINGHOLE = 20 ,
  LOOT_INSIGNIA = 21
}
enum class  PermissionTypes {
  ALL_PERMISSION = 0 , GROUP_PERMISSION = 1 , MASTER_PERMISSION = 2 , ROUND_ROBIN_PERMISSION = 3 ,
  OWNER_PERMISSION = 4 , NONE_PERMISSION = 5
}
enum class  RollMask {
  ROLL_FLAG_TYPE_PASS = 0x01 , ROLL_FLAG_TYPE_NEED = 0x02 , ROLL_FLAG_TYPE_GREED = 0x04 , ROLL_FLAG_TYPE_DISENCHANT = 0x08 ,
  ROLL_ALL_TYPE_NO_DISENCHANT = 0x07 , ROLL_ALL_TYPE_MASK = 0x0F
}
enum class  RollType {
  ROLL_PASS = 0 , ROLL_NEED = 1 , ROLL_GREED = 2 , ROLL_DISENCHANT = 3 ,
  MAX_ROLL_TYPE = 4 , ROLL_INVALID = 5
}

Functions

void LoadLootTables ()
void LoadLootTemplates_Creature ()
void LoadLootTemplates_Disenchant ()
void LoadLootTemplates_Fishing ()
void LoadLootTemplates_Gameobject ()
void LoadLootTemplates_Item ()
void LoadLootTemplates_Mail ()
void LoadLootTemplates_Milling ()
void LoadLootTemplates_Pickpocketing ()
void LoadLootTemplates_Prospecting ()
void LoadLootTemplates_Reference ()
void LoadLootTemplates_Skinning ()
void LoadLootTemplates_Spell ()

Variables

LootStore LootTemplates_Creature
LootStore LootTemplates_Disenchant
LootStore LootTemplates_Fishing
LootStore LootTemplates_Gameobject
LootStore LootTemplates_Item
LootStore LootTemplates_Mail
LootStore LootTemplates_Milling
LootStore LootTemplates_Pickpocketing
LootStore LootTemplates_Prospecting
LootStore LootTemplates_Reference
LootStore LootTemplates_Skinning
LootStore LootTemplates_Spell

Macro Definition Documentation

◆ MAX_NR_LOOT_ITEMS

#define MAX_NR_LOOT_ITEMS   16

Definition at line 41 of file LootMgr.h.

Referenced by Loot::AddItem(), Loot::FillLoot(), and Loot::FillQuestLoot().

◆ MAX_NR_QUEST_ITEMS

#define MAX_NR_QUEST_ITEMS   32

Definition at line 43 of file LootMgr.h.

Referenced by Loot::AddItem(), and Loot::FillLoot().

Typedef Documentation

◆ AllowedLooterSet

typedef std::set<uint32> AllowedLooterSet

Definition at line 116 of file LootMgr.h.

◆ LootIdSet

typedef std::set<uint32> LootIdSet

Definition at line 173 of file LootMgr.h.

◆ LootItemList

typedef std::vector<LootItem> LootItemList

Definition at line 168 of file LootMgr.h.

◆ LootStoreItemList

typedef std::list<LootStoreItem*> LootStoreItemList

Definition at line 170 of file LootMgr.h.

◆ LootTemplateMap

Definition at line 171 of file LootMgr.h.

◆ QuestItemList

typedef std::vector<QuestItem> QuestItemList

Definition at line 167 of file LootMgr.h.

◆ QuestItemMap

typedef std::map<uint32, QuestItemList*> QuestItemMap

Definition at line 169 of file LootMgr.h.

Enumeration Type Documentation

◆ LootMethod

enum class LootMethod
strong
Enumerator
FREE_FOR_ALL 
ROUND_ROBIN 
MASTER_LOOT 
GROUP_LOOT 
NEED_BEFORE_GREED 

Definition at line 46 of file LootMgr.h.

◆ LootSlotType

enum class LootSlotType
strong
Enumerator
LOOT_SLOT_TYPE_ROLL_ONGOING 
LOOT_SLOT_TYPE_LOCKED 
LOOT_SLOT_TYPE_MASTER 
LOOT_SLOT_TYPE_ALLOW_LOOT 
LOOT_SLOT_TYPE_OWNER 

Definition at line 81 of file LootMgr.h.

◆ LootType

enum class LootType
strong
Enumerator
LOOT_CORPSE 
LOOT_PICKPOCKETING 
LOOT_FISHING 
LOOT_DISENCHANTING 
LOOT_SKINNING 
LOOT_PROSPECTING 
LOOT_MILLING 
LOOT_FISHINGHOLE 
LOOT_INSIGNIA 

Definition at line 65 of file LootMgr.h.

◆ PermissionTypes

enum class PermissionTypes
strong
Enumerator
ALL_PERMISSION 
GROUP_PERMISSION 
MASTER_PERMISSION 
ROUND_ROBIN_PERMISSION 
OWNER_PERMISSION 
NONE_PERMISSION 

Definition at line 55 of file LootMgr.h.

◆ RollMask

enum class RollMask
strong
Enumerator
ROLL_FLAG_TYPE_PASS 
ROLL_FLAG_TYPE_NEED 
ROLL_FLAG_TYPE_GREED 
ROLL_FLAG_TYPE_DISENCHANT 
ROLL_ALL_TYPE_NO_DISENCHANT 
ROLL_ALL_TYPE_MASK 

Definition at line 30 of file LootMgr.h.

◆ RollType

enum class RollType
strong
Enumerator
ROLL_PASS 
ROLL_NEED 
ROLL_GREED 
ROLL_DISENCHANT 
MAX_ROLL_TYPE 
ROLL_INVALID 

Definition at line 20 of file LootMgr.h.

Function Documentation

◆ LoadLootTables()

◆ LoadLootTemplates_Creature()

◆ LoadLootTemplates_Disenchant()

◆ LoadLootTemplates_Fishing()

◆ LoadLootTemplates_Gameobject()

◆ LoadLootTemplates_Item()

◆ LoadLootTemplates_Mail()

◆ LoadLootTemplates_Milling()

◆ LoadLootTemplates_Pickpocketing()

◆ LoadLootTemplates_Prospecting()

◆ LoadLootTemplates_Reference()

◆ LoadLootTemplates_Skinning()

◆ LoadLootTemplates_Spell()

Variable Documentation

◆ LootTemplates_Creature

LootStore LootTemplates_Creature
extern

◆ LootTemplates_Disenchant

LootStore LootTemplates_Disenchant
extern

◆ LootTemplates_Fishing

LootStore LootTemplates_Fishing
extern

◆ LootTemplates_Gameobject

LootStore LootTemplates_Gameobject
extern

◆ LootTemplates_Item

LootStore LootTemplates_Item
extern

◆ LootTemplates_Mail

LootStore LootTemplates_Mail
extern

◆ LootTemplates_Milling

LootStore LootTemplates_Milling
extern

◆ LootTemplates_Pickpocketing

LootStore LootTemplates_Pickpocketing
extern

◆ LootTemplates_Prospecting

LootStore LootTemplates_Prospecting
extern

◆ LootTemplates_Reference

◆ LootTemplates_Skinning

LootStore LootTemplates_Skinning
extern

◆ LootTemplates_Spell

LootStore LootTemplates_Spell
extern