TrinityCore
EquipmentSet.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef EquipmentSet_h__
19#define EquipmentSet_h__
20
21#include "Define.h"
22#include "ObjectGuid.h"
23#include <array>
24#include <map>
25
27{
32};
33
34#define EQUIPMENT_SET_SLOTS 19
35
37{
39 {
41 TRANSMOG = 1
42 };
43
46 {
52 std::string SetName;
53 std::string SetIcon;
54 std::array<ObjectGuid, EQUIPMENT_SET_SLOTS> Pieces = {};
55 std::array<int32, EQUIPMENT_SET_SLOTS> Appearances = {};
56 std::array<int32, 2> Enchants = {};
62
65};
66
67#define MAX_EQUIPMENT_SET_INDEX 20 // client limit
68
69typedef std::map<uint64, EquipmentSetInfo> EquipmentSetContainer;
70
71#endif // EquipmentSet_h__
int32_t int32
Definition: Define.h:138
uint64_t uint64
Definition: Define.h:141
uint32_t uint32
Definition: Define.h:142
std::map< uint64, EquipmentSetInfo > EquipmentSetContainer
Definition: EquipmentSet.h:69
EquipmentSetUpdateState
Definition: EquipmentSet.h:27
@ EQUIPMENT_SET_CHANGED
Definition: EquipmentSet.h:29
@ EQUIPMENT_SET_UNCHANGED
Definition: EquipmentSet.h:28
@ EQUIPMENT_SET_DELETED
Definition: EquipmentSet.h:31
@ EQUIPMENT_SET_NEW
Definition: EquipmentSet.h:30
Data sent in EquipmentSet related packets.
Definition: EquipmentSet.h:46
std::array< ObjectGuid, EQUIPMENT_SET_SLOTS > Pieces
Definition: EquipmentSet.h:54
uint32 IgnoreMask
Mask of EquipmentSlot.
Definition: EquipmentSet.h:50
uint64 Guid
Set Identifier.
Definition: EquipmentSet.h:48
int32 SecondaryShoulderSlot
Always 2 if secondary shoulder apperance is used.
Definition: EquipmentSet.h:58
int32 AssignedSpecIndex
Index of character specialization that this set is automatically equipped for.
Definition: EquipmentSet.h:51
std::array< int32, 2 > Enchants
SpellItemEnchantmentID.
Definition: EquipmentSet.h:56
int32 SecondaryWeaponAppearanceID
For legion artifacts: linked child item appearance.
Definition: EquipmentSet.h:59
int32 SecondaryShoulderApparanceID
Secondary shoulder appearance.
Definition: EquipmentSet.h:57
std::array< int32, EQUIPMENT_SET_SLOTS > Appearances
ItemModifiedAppearanceID.
Definition: EquipmentSet.h:55
int32 SecondaryWeaponSlot
For legion artifacts: which slot is used by child item.
Definition: EquipmentSet.h:60
EquipmentSetUpdateState State
Server-side data.
Definition: EquipmentSet.h:64
struct EquipmentSetInfo::EquipmentSetData Data