TrinityCore
Loading...
Searching...
No Matches
TransmogMgr.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 TRINITYCORE_TRANSMOG_MGR_H
19#define TRINITYCORE_TRANSMOG_MGR_H
20
21#include "Common.h"
22#include <span>
23
24class Player;
30struct TransmogSetEntry;
35enum class TransmogOutfitSlot : int8;
37
39{
40struct TransmogOutfitSituationInfo;
41struct TransmogOutfitSlotData;
42}
43
44namespace TransmogMgr
45{
52
53inline constexpr std::array<std::string_view, TOTAL_LOCALES> DefaultOutfitName =
54{
55 "Outfit"sv,
56 "\354\235\230\354\203\201"sv,
57 "Tenue"sv,
58 "Outfit"sv,
59 "\345\244\226\350\247\202\346\226\271\346\241\210"sv,
60 "\346\234\215\350\243\235"sv,
61 "Atuendo"sv,
62 "Indumentaria"sv,
63 "\320\241\320\275\320\260\321\200\321\217\320\266\320\265\320\275\320\270\320\265"sv,
64 ""sv,
65 "Roupa"sv,
66 "Completo"sv
67};
68
69inline constexpr uint32 DefaultOutfitIcon = 134400;
70
71void Load();
72
76std::span<TransmogSetEntry const* const> GetTransmogSetsForItemModifiedAppearance(uint32 itemModifiedAppearanceId);
77std::span<TransmogSetItemEntry const* const> GetTransmogSetItems(uint32 transmogSetId);
78std::span<TransmogOutfitEntryEntry const* const> GetAutomaticallyUnlockedOutfits();
79std::span<TransmogOutfitSlotAndOptionInfo const> GetAllSlots();
82std::span<TransmogSituationEntry const* const> GetDefaultSituations();
84bool ValidateSituations(std::span<WorldPackets::Transmogrification::TransmogOutfitSituationInfo const> situations);
85bool ValidateSlots(std::span<WorldPackets::Transmogrification::TransmogOutfitSlotData const> slots);
86}
87
88#endif // TRINITYCORE_TRANSMOG_MGR_H
TransmogOutfitSlotOption
Definition DBCEnums.h:2622
TransmogOutfitEntrySource
Definition DBCEnums.h:2576
TransmogOutfitSlot
Definition DBCEnums.h:2592
uint8_t uint8
Definition Define.h:156
int8_t int8
Definition Define.h:152
uint32_t uint32
Definition Define.h:154
EquipmentSlots
Definition Player.h:727
std::span< TransmogSetItemEntry const *const > GetTransmogSetItems(uint32 transmogSetId)
constexpr uint32 DefaultOutfitIcon
Definition TransmogMgr.h:69
bool ValidateSituations(std::span< WorldPackets::Transmogrification::TransmogOutfitSituationInfo const > situations)
TransmogIllusionEntry const * GetTransmogIllusionForSpellItemEnchantment(uint32 spellItemEnchantmentId)
ItemModifiedAppearanceEntry const * GetDefaultItemModifiedAppearance(uint32 itemId)
std::span< TransmogSetEntry const *const > GetTransmogSetsForItemModifiedAppearance(uint32 itemModifiedAppearanceId)
ItemModifiedAppearanceEntry const * GetItemModifiedAppearance(uint32 itemId, uint32 appearanceModId)
std::span< TransmogSituationEntry const *const > GetDefaultSituations()
std::span< TransmogOutfitSlotAndOptionInfo const > GetAllSlots()
bool ValidateSlots(std::span< WorldPackets::Transmogrification::TransmogOutfitSlotData const > slots)
constexpr std::array< std::string_view, TOTAL_LOCALES > DefaultOutfitName
Definition TransmogMgr.h:53
TransmogOutfitSlotAndOptionInfo const * GetSlotAndOption(TransmogOutfitSlot slot, TransmogOutfitSlotOption slotOption)
std::span< TransmogOutfitEntryEntry const *const > GetAutomaticallyUnlockedOutfits()
TransmogOutfitEntryEntry const * GetNextOutfitToUnlock(TransmogOutfitEntrySource source, Player const *player)
TransmogOutfitSlotInfoEntry const * Slot
Definition TransmogMgr.h:48
TransmogOutfitSlotOptionEntry const * SlotOption
Definition TransmogMgr.h:49