TrinityCore
Loading...
Searching...
No Matches
Loot.h File Reference
#include "Define.h"
#include "ConditionMgr.h"
#include "ObjectGuid.h"
#include "RefManager.h"
#include "SharedDefines.h"
#include <unordered_map>
#include <vector>
+ Include dependency graph for Loot.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  LootItem
 
struct  NotNormalLootItem
 
class  LootValidatorRef
 
class  LootValidatorRefManager
 
struct  Loot
 
struct  LootView
 

Macros

#define MAX_NR_LOOT_ITEMS   18
 
#define MAX_NR_QUEST_ITEMS   32
 

Typedefs

typedef std::vector< NotNormalLootItemNotNormalLootItemList
 
typedef std::vector< LootItemLootItemList
 
typedef std::unordered_map< ObjectGuid, NotNormalLootItemList * > NotNormalLootItemMap
 

Enumerations

enum  RollType {
  ROLL_PASS = 0 , ROLL_NEED = 1 , ROLL_GREED = 2 , ROLL_DISENCHANT = 3 ,
  MAX_ROLL_TYPE = 4
}
 
enum  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  LootMethod : uint8 {
  FREE_FOR_ALL = 0 , ROUND_ROBIN = 1 , MASTER_LOOT = 2 , GROUP_LOOT = 3 ,
  NEED_BEFORE_GREED = 4
}
 
enum  PermissionTypes {
  ALL_PERMISSION = 0 , GROUP_PERMISSION = 1 , MASTER_PERMISSION = 2 , RESTRICTED_PERMISSION = 3 ,
  ROUND_ROBIN_PERMISSION = 4 , OWNER_PERMISSION = 5 , NONE_PERMISSION = 6
}
 
enum  LootType : uint8 {
  LOOT_NONE = 0 , 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 , LOOT_FISHING_JUNK = 22
}
 
enum  LootError : uint8 {
  LOOT_ERROR_DIDNT_KILL = 0 , LOOT_ERROR_TOO_FAR = 4 , LOOT_ERROR_BAD_FACING = 5 , LOOT_ERROR_LOCKED = 6 ,
  LOOT_ERROR_NOTSTANDING = 8 , LOOT_ERROR_STUNNED = 9 , LOOT_ERROR_PLAYER_NOT_FOUND = 10 , LOOT_ERROR_PLAY_TIME_EXCEEDED = 11 ,
  LOOT_ERROR_MASTER_INV_FULL = 12 , LOOT_ERROR_MASTER_UNIQUE_ITEM = 13 , LOOT_ERROR_MASTER_OTHER = 14 , LOOT_ERROR_ALREADY_PICKPOCKETED = 15 ,
  LOOT_ERROR_NOT_WHILE_SHAPESHIFTED = 16
}
 
enum  LootSlotType {
  LOOT_SLOT_TYPE_ALLOW_LOOT = 0 , LOOT_SLOT_TYPE_ROLL_ONGOING = 1 , LOOT_SLOT_TYPE_MASTER = 2 , LOOT_SLOT_TYPE_LOCKED = 3 ,
  LOOT_SLOT_TYPE_OWNER = 4
}
 

Functions

ByteBufferoperator<< (ByteBuffer &b, LootItem const &li)
 
ByteBufferoperator<< (ByteBuffer &b, LootView const &lv)
 

Macro Definition Documentation

◆ MAX_NR_LOOT_ITEMS

#define MAX_NR_LOOT_ITEMS   18

Definition at line 55 of file Loot.h.

◆ MAX_NR_QUEST_ITEMS

#define MAX_NR_QUEST_ITEMS   32

Definition at line 57 of file Loot.h.

Typedef Documentation

◆ LootItemList

typedef std::vector<LootItem> LootItemList

Definition at line 176 of file Loot.h.

◆ NotNormalLootItemList

Definition at line 175 of file Loot.h.

◆ NotNormalLootItemMap

typedef std::unordered_map<ObjectGuid, NotNormalLootItemList*> NotNormalLootItemMap

Definition at line 177 of file Loot.h.

Enumeration Type Documentation

◆ LootError

enum LootError : uint8
Enumerator
LOOT_ERROR_DIDNT_KILL 
LOOT_ERROR_TOO_FAR 
LOOT_ERROR_BAD_FACING 
LOOT_ERROR_LOCKED 
LOOT_ERROR_NOTSTANDING 
LOOT_ERROR_STUNNED 
LOOT_ERROR_PLAYER_NOT_FOUND 
LOOT_ERROR_PLAY_TIME_EXCEEDED 
LOOT_ERROR_MASTER_INV_FULL 
LOOT_ERROR_MASTER_UNIQUE_ITEM 
LOOT_ERROR_MASTER_OTHER 
LOOT_ERROR_ALREADY_PICKPOCKETED 
LOOT_ERROR_NOT_WHILE_SHAPESHIFTED 

Definition at line 98 of file Loot.h.

◆ LootMethod

enum LootMethod : uint8
Enumerator
FREE_FOR_ALL 
ROUND_ROBIN 
MASTER_LOOT 
GROUP_LOOT 
NEED_BEFORE_GREED 

Definition at line 60 of file Loot.h.

◆ LootSlotType

Enumerator
LOOT_SLOT_TYPE_ALLOW_LOOT 
LOOT_SLOT_TYPE_ROLL_ONGOING 
LOOT_SLOT_TYPE_MASTER 
LOOT_SLOT_TYPE_LOCKED 
LOOT_SLOT_TYPE_OWNER 

Definition at line 116 of file Loot.h.

◆ LootType

enum LootType : uint8
Enumerator
LOOT_NONE 
LOOT_CORPSE 
LOOT_PICKPOCKETING 
LOOT_FISHING 
LOOT_DISENCHANTING 
LOOT_SKINNING 
LOOT_PROSPECTING 
LOOT_MILLING 
LOOT_FISHINGHOLE 
LOOT_INSIGNIA 
LOOT_FISHING_JUNK 

Definition at line 80 of file Loot.h.

◆ PermissionTypes

Enumerator
ALL_PERMISSION 
GROUP_PERMISSION 
MASTER_PERMISSION 
RESTRICTED_PERMISSION 
ROUND_ROBIN_PERMISSION 
OWNER_PERMISSION 
NONE_PERMISSION 

Definition at line 69 of file Loot.h.

◆ RollMask

enum RollMask
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 44 of file Loot.h.

◆ RollType

enum RollType
Enumerator
ROLL_PASS 
ROLL_NEED 
ROLL_GREED 
ROLL_DISENCHANT 
MAX_ROLL_TYPE 

Definition at line 35 of file Loot.h.

Function Documentation

◆ operator<<() [1/2]

ByteBuffer & operator<< ( ByteBuffer b,
LootItem const &  li 
)

Definition at line 617 of file Loot.cpp.

◆ operator<<() [2/2]

ByteBuffer & operator<< ( ByteBuffer b,
LootView const &  lv 
)

Definition at line 208 of file Loot.cpp.