[8449] Deprecate healing/damage item mods and merge internal data in to spell power.
[getmangos.git] / src / game / DBCStores.h
blobb41a3c94e455b8948018ae55ffc4a537db7b61af
1 /*
2 * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef MANGOS_DBCSTORES_H
20 #define MANGOS_DBCSTORES_H
22 #include "Common.h"
23 #include "Database/DBCStore.h"
24 #include "DBCStructure.h"
26 #include <list>
28 typedef std::list<uint32> SimpleFactionsList;
30 SimpleFactionsList const* GetFactionTeamList(uint32 faction);
31 char* GetPetName(uint32 petfamily, uint32 dbclang);
32 uint32 GetTalentSpellCost(uint32 spellId);
33 TalentSpellPos const* GetTalentSpellPos(uint32 spellId);
35 int32 GetAreaFlagByAreaID(uint32 area_id); // -1 if not found
36 AreaTableEntry const* GetAreaEntryByAreaID(uint32 area_id);
37 AreaTableEntry const* GetAreaEntryByAreaFlagAndMap(uint32 area_flag,uint32 map_id);
38 uint32 GetAreaFlagByMapId(uint32 mapid);
40 uint32 GetVirtualMapForMapAndZone(uint32 mapid, uint32 zoneId);
42 enum ContentLevels
44 CONTENT_1_60 = 0,
45 CONTENT_61_70,
46 CONTENT_71_80
48 ContentLevels GetContentLevelsForMapAndZone(uint32 mapid, uint32 zoneId);
50 ChatChannelsEntry const* GetChannelEntryFor(uint32 channel_id);
52 bool IsTotemCategoryCompatiableWith(uint32 itemTotemCategoryId, uint32 requiredTotemCategoryId);
54 void Zone2MapCoordinates(float& x,float& y,uint32 zone);
55 void Map2ZoneCoordinates(float& x,float& y,uint32 zone);
57 uint32 const* /*[3]*/ GetTalentTabPages(uint32 cls);
59 extern DBCStorage <AchievementEntry> sAchievementStore;
60 extern DBCStorage <AchievementCriteriaEntry> sAchievementCriteriaStore;
61 extern DBCStorage <AreaTableEntry> sAreaStore;// recommend access using functions
62 extern DBCStorage <AreaGroupEntry> sAreaGroupStore;
63 extern DBCStorage <AreaTriggerEntry> sAreaTriggerStore;
64 extern DBCStorage <AuctionHouseEntry> sAuctionHouseStore;
65 extern DBCStorage <BankBagSlotPricesEntry> sBankBagSlotPricesStore;
66 extern DBCStorage <BarberShopStyleEntry> sBarberShopStyleStore;
67 extern DBCStorage <BattlemasterListEntry> sBattlemasterListStore;
68 //extern DBCStorage <ChatChannelsEntry> sChatChannelsStore; -- accessed using function, no usable index
69 extern DBCStorage <CharStartOutfitEntry> sCharStartOutfitStore;
70 extern DBCStorage <CharTitlesEntry> sCharTitlesStore;
71 extern DBCStorage <ChrClassesEntry> sChrClassesStore;
72 extern DBCStorage <ChrRacesEntry> sChrRacesStore;
73 extern DBCStorage <CinematicSequencesEntry> sCinematicSequencesStore;
74 extern DBCStorage <CreatureDisplayInfoEntry> sCreatureDisplayInfoStore;
75 extern DBCStorage <CreatureFamilyEntry> sCreatureFamilyStore;
76 extern DBCStorage <CreatureSpellDataEntry> sCreatureSpellDataStore;
77 extern DBCStorage <CreatureTypeEntry> sCreatureTypeStore;
78 extern DBCStorage <CurrencyTypesEntry> sCurrencyTypesStore;
79 extern DBCStorage <DurabilityCostsEntry> sDurabilityCostsStore;
80 extern DBCStorage <DurabilityQualityEntry> sDurabilityQualityStore;
81 extern DBCStorage <EmotesEntry> sEmotesStore;
82 extern DBCStorage <EmotesTextEntry> sEmotesTextStore;
83 extern DBCStorage <FactionEntry> sFactionStore;
84 extern DBCStorage <FactionTemplateEntry> sFactionTemplateStore;
85 extern DBCStorage <GameObjectDisplayInfoEntry> sGameObjectDisplayInfoStore;
86 extern DBCStorage <GemPropertiesEntry> sGemPropertiesStore;
87 extern DBCStorage <GlyphPropertiesEntry> sGlyphPropertiesStore;
88 extern DBCStorage <GlyphSlotEntry> sGlyphSlotStore;
90 extern DBCStorage <GtBarberShopCostBaseEntry> sGtBarberShopCostBaseStore;
91 extern DBCStorage <GtCombatRatingsEntry> sGtCombatRatingsStore;
92 extern DBCStorage <GtChanceToMeleeCritBaseEntry> sGtChanceToMeleeCritBaseStore;
93 extern DBCStorage <GtChanceToMeleeCritEntry> sGtChanceToMeleeCritStore;
94 extern DBCStorage <GtChanceToSpellCritBaseEntry> sGtChanceToSpellCritBaseStore;
95 extern DBCStorage <GtChanceToSpellCritEntry> sGtChanceToSpellCritStore;
96 extern DBCStorage <GtOCTRegenHPEntry> sGtOCTRegenHPStore;
97 //extern DBCStorage <GtOCTRegenMPEntry> sGtOCTRegenMPStore; -- not used currently
98 extern DBCStorage <GtRegenHPPerSptEntry> sGtRegenHPPerSptStore;
99 extern DBCStorage <GtRegenMPPerSptEntry> sGtRegenMPPerSptStore;
100 extern DBCStorage <HolidaysEntry> sHolidaysStore;
101 extern DBCStorage <ItemEntry> sItemStore;
102 extern DBCStorage <ItemBagFamilyEntry> sItemBagFamilyStore;
103 //extern DBCStorage <ItemDisplayInfoEntry> sItemDisplayInfoStore; -- not used currently
104 extern DBCStorage <ItemExtendedCostEntry> sItemExtendedCostStore;
105 extern DBCStorage <ItemLimitCategoryEntry> sItemLimitCategoryStore;
106 extern DBCStorage <ItemRandomPropertiesEntry> sItemRandomPropertiesStore;
107 extern DBCStorage <ItemRandomSuffixEntry> sItemRandomSuffixStore;
108 extern DBCStorage <ItemSetEntry> sItemSetStore;
109 extern DBCStorage <LockEntry> sLockStore;
110 extern DBCStorage <MailTemplateEntry> sMailTemplateStore;
111 extern DBCStorage <MapEntry> sMapStore;
112 extern DBCStorage <MovieEntry> sMovieStore;
113 extern DBCStorage <QuestSortEntry> sQuestSortStore;
114 extern DBCStorage <RandomPropertiesPointsEntry> sRandomPropertiesPointsStore;
115 extern DBCStorage <ScalingStatDistributionEntry> sScalingStatDistributionStore;
116 extern DBCStorage <ScalingStatValuesEntry> sScalingStatValuesStore;
117 extern DBCStorage <SkillLineEntry> sSkillLineStore;
118 extern DBCStorage <SkillLineAbilityEntry> sSkillLineAbilityStore;
119 extern DBCStorage <SoundEntriesEntry> sSoundEntriesStore;
120 extern DBCStorage <SpellCastTimesEntry> sSpellCastTimesStore;
121 extern DBCStorage <SpellDurationEntry> sSpellDurationStore;
122 extern DBCStorage <SpellFocusObjectEntry> sSpellFocusObjectStore;
123 extern DBCStorage <SpellItemEnchantmentEntry> sSpellItemEnchantmentStore;
124 extern DBCStorage <SpellItemEnchantmentConditionEntry> sSpellItemEnchantmentConditionStore;
125 extern SpellCategoryStore sSpellCategoryStore;
126 extern PetFamilySpellsStore sPetFamilySpellsStore;
127 extern DBCStorage <SpellRadiusEntry> sSpellRadiusStore;
128 extern DBCStorage <SpellRangeEntry> sSpellRangeStore;
129 extern DBCStorage <SpellRuneCostEntry> sSpellRuneCostStore;
130 extern DBCStorage <SpellShapeshiftEntry> sSpellShapeshiftStore;
131 extern DBCStorage <SpellEntry> sSpellStore;
132 extern DBCStorage <StableSlotPricesEntry> sStableSlotPricesStore;
133 //extern DBCStorage <SummonPropertiesEntry> sSummonPropertiesStore;
134 extern DBCStorage <TalentEntry> sTalentStore;
135 extern DBCStorage <TalentTabEntry> sTalentTabStore;
136 extern DBCStorage <TaxiNodesEntry> sTaxiNodesStore;
137 extern DBCStorage <TaxiPathEntry> sTaxiPathStore;
138 extern TaxiMask sTaxiNodesMask;
139 extern TaxiMask sOldContinentsNodesMask;
140 extern TaxiPathSetBySource sTaxiPathSetBySource;
141 extern TaxiPathNodesByPath sTaxiPathNodesByPath;
142 extern DBCStorage <TotemCategoryEntry> sTotemCategoryStore;
143 extern DBCStorage <VehicleEntry> sVehicleStore;
144 extern DBCStorage <VehicleSeatEntry> sVehicleSeatStore;
145 //extern DBCStorage <WorldMapAreaEntry> sWorldMapAreaStore; -- use Zone2MapCoordinates and Map2ZoneCoordinates
146 extern DBCStorage <WorldMapOverlayEntry> sWorldMapOverlayStore;
147 extern DBCStorage <WorldSafeLocsEntry> sWorldSafeLocsStore;
149 void LoadDBCStores(const std::string& dataPath);
151 // script support functions
152 MANGOS_DLL_SPEC DBCStorage <SoundEntriesEntry> const* GetSoundEntriesStore();
153 MANGOS_DLL_SPEC DBCStorage <SpellEntry> const* GetSpellStore();
154 MANGOS_DLL_SPEC DBCStorage <SpellRangeEntry> const* GetSpellRangeStore();
155 MANGOS_DLL_SPEC DBCStorage <FactionEntry> const* GetFactionStore();
156 MANGOS_DLL_SPEC DBCStorage <ItemEntry> const* GetItemDisplayStore();
157 MANGOS_DLL_SPEC DBCStorage <CreatureDisplayInfoEntry> const* GetCreatureDisplayStore();
158 MANGOS_DLL_SPEC DBCStorage <EmotesEntry> const* GetEmotesStore();
159 MANGOS_DLL_SPEC DBCStorage <EmotesTextEntry> const* GetEmotesTextStore();
160 #endif