-updated all DBC formats, except spell* ones
-added dbc.zip (all 4.2.2 files + 3.3.5 spells) -hardcoded map 0's entry for mapdifficulty (dbc has no data for it)
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -618,7 +618,7 @@ void AuctionHouseObject::BuildListAuctionItems(WorldPacket& data, Player* player
|
|||||||
|
|
||||||
if (itemRandProp)
|
if (itemRandProp)
|
||||||
{
|
{
|
||||||
char* const* temp = itemRandProp->nameSuffix;
|
DBCString temp = itemRandProp->nameSuffix;
|
||||||
//char* temp = itemRandProp->nameSuffix;
|
//char* temp = itemRandProp->nameSuffix;
|
||||||
|
|
||||||
// dbc local name
|
// dbc local name
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ bool ItemChatLink::Initialize(std::istringstream& iss)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline std::string ItemChatLink::FormatName(uint8 index, ItemLocale const* locale, char* const* suffixStrings) const
|
inline std::string ItemChatLink::FormatName(uint8 index, ItemLocale const *locale, DBCString suffixStrings) const
|
||||||
{
|
{
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
if (locale == NULL || index >= locale->Name.size())
|
if (locale == NULL || index >= locale->Name.size())
|
||||||
@@ -181,7 +181,7 @@ bool ItemChatLink::ValidateName(char* buffer, const char* context)
|
|||||||
{
|
{
|
||||||
ChatLink::ValidateName(buffer, context);
|
ChatLink::ValidateName(buffer, context);
|
||||||
|
|
||||||
char* const* suffixStrings = _suffix ? _suffix->nameSuffix : (_property ? _property->nameSuffix : NULL);
|
DBCString suffixStrings = _suffix ? _suffix->nameSuffix : (_property ? _property->nameSuffix : NULL);
|
||||||
|
|
||||||
bool res = (FormatName(LOCALE_enUS, NULL, suffixStrings) == buffer);
|
bool res = (FormatName(LOCALE_enUS, NULL, suffixStrings) == buffer);
|
||||||
if (!res)
|
if (!res)
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public:
|
|||||||
virtual bool ValidateName(char* buffer, const char* context);
|
virtual bool ValidateName(char* buffer, const char* context);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::string FormatName(uint8 index, ItemLocale const* locale, char* const* suffixStrings) const;
|
std::string FormatName(uint8 index, ItemLocale const* locale, DBCString suffixStrings) const;
|
||||||
|
|
||||||
ItemTemplate const* _item;
|
ItemTemplate const* _item;
|
||||||
int32 _data[8];
|
int32 _data[8];
|
||||||
|
|||||||
@@ -334,7 +334,7 @@ enum Difficulty
|
|||||||
|
|
||||||
enum SpawnMask
|
enum SpawnMask
|
||||||
{
|
{
|
||||||
SPAWNMASK_CONTINENT = (1 << REGULAR_DIFFICULTY), // any any maps without spawn modes
|
SPAWNMASK_CONTINENT = (1 << REGULAR_DIFFICULTY), // any maps without spawn modes
|
||||||
|
|
||||||
SPAWNMASK_DUNGEON_NORMAL = (1 << DUNGEON_DIFFICULTY_NORMAL),
|
SPAWNMASK_DUNGEON_NORMAL = (1 << DUNGEON_DIFFICULTY_NORMAL),
|
||||||
SPAWNMASK_DUNGEON_HEROIC = (1 << DUNGEON_DIFFICULTY_HEROIC),
|
SPAWNMASK_DUNGEON_HEROIC = (1 << DUNGEON_DIFFICULTY_HEROIC),
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ DBCStorage <CharTitlesEntry> sCharTitlesStore(CharTitlesEntryfmt);
|
|||||||
DBCStorage <ChatChannelsEntry> sChatChannelsStore(ChatChannelsEntryfmt);
|
DBCStorage <ChatChannelsEntry> sChatChannelsStore(ChatChannelsEntryfmt);
|
||||||
DBCStorage <ChrClassesEntry> sChrClassesStore(ChrClassesEntryfmt);
|
DBCStorage <ChrClassesEntry> sChrClassesStore(ChrClassesEntryfmt);
|
||||||
DBCStorage <ChrRacesEntry> sChrRacesStore(ChrRacesEntryfmt);
|
DBCStorage <ChrRacesEntry> sChrRacesStore(ChrRacesEntryfmt);
|
||||||
|
DBCStorage <ChrPowerTypesEntry> sChrPowerTypesStore(ChrClassesXPowerTypesfmt);
|
||||||
DBCStorage <CinematicSequencesEntry> sCinematicSequencesStore(CinematicSequencesEntryfmt);
|
DBCStorage <CinematicSequencesEntry> sCinematicSequencesStore(CinematicSequencesEntryfmt);
|
||||||
DBCStorage <CreatureDisplayInfoEntry> sCreatureDisplayInfoStore(CreatureDisplayInfofmt);
|
DBCStorage <CreatureDisplayInfoEntry> sCreatureDisplayInfoStore(CreatureDisplayInfofmt);
|
||||||
DBCStorage <CreatureFamilyEntry> sCreatureFamilyStore(CreatureFamilyfmt);
|
DBCStorage <CreatureFamilyEntry> sCreatureFamilyStore(CreatureFamilyfmt);
|
||||||
@@ -104,10 +105,12 @@ DBCStorage <GtOCTClassCombatRatingScalarEntry> sGtOCTClassCombatRatingScalarStor
|
|||||||
DBCStorage <GtOCTRegenHPEntry> sGtOCTRegenHPStore(GtOCTRegenHPfmt);
|
DBCStorage <GtOCTRegenHPEntry> sGtOCTRegenHPStore(GtOCTRegenHPfmt);
|
||||||
//DBCStorage <GtOCTRegenMPEntry> sGtOCTRegenMPStore(GtOCTRegenMPfmt); -- not used currently
|
//DBCStorage <GtOCTRegenMPEntry> sGtOCTRegenMPStore(GtOCTRegenMPfmt); -- not used currently
|
||||||
DBCStorage <GtRegenHPPerSptEntry> sGtRegenHPPerSptStore(GtRegenHPPerSptfmt);
|
DBCStorage <GtRegenHPPerSptEntry> sGtRegenHPPerSptStore(GtRegenHPPerSptfmt);
|
||||||
|
DBCStorage <gtOCTHpPerStaminaEntry> sGtOCTHpPerStaminaStore(GtOCTHpPerStaminafmt);
|
||||||
DBCStorage <GtRegenMPPerSptEntry> sGtRegenMPPerSptStore(GtRegenMPPerSptfmt);
|
DBCStorage <GtRegenMPPerSptEntry> sGtRegenMPPerSptStore(GtRegenMPPerSptfmt);
|
||||||
|
|
||||||
DBCStorage <HolidaysEntry> sHolidaysStore(Holidaysfmt);
|
DBCStorage <HolidaysEntry> sHolidaysStore(Holidaysfmt);
|
||||||
|
|
||||||
|
DBCStorage <ItemClassEntry> sItemClassStore(ItemClassfmt);
|
||||||
//DBCStorage <ItemEntry> sItemStore(Itemfmt);
|
//DBCStorage <ItemEntry> sItemStore(Itemfmt);
|
||||||
DBCStorage <ItemBagFamilyEntry> sItemBagFamilyStore(ItemBagFamilyfmt);
|
DBCStorage <ItemBagFamilyEntry> sItemBagFamilyStore(ItemBagFamilyfmt);
|
||||||
//DBCStorage <ItemCondExtCostsEntry> sItemCondExtCostsStore(ItemCondExtCostsEntryfmt);
|
//DBCStorage <ItemCondExtCostsEntry> sItemCondExtCostsStore(ItemCondExtCostsEntryfmt);
|
||||||
@@ -193,6 +196,7 @@ DBCStorage <WMOAreaTableEntry> sWMOAreaTableStore(WMOAreaTableEntryfmt);
|
|||||||
DBCStorage <WorldMapAreaEntry> sWorldMapAreaStore(WorldMapAreaEntryfmt);
|
DBCStorage <WorldMapAreaEntry> sWorldMapAreaStore(WorldMapAreaEntryfmt);
|
||||||
DBCStorage <WorldMapOverlayEntry> sWorldMapOverlayStore(WorldMapOverlayEntryfmt);
|
DBCStorage <WorldMapOverlayEntry> sWorldMapOverlayStore(WorldMapOverlayEntryfmt);
|
||||||
DBCStorage <WorldSafeLocsEntry> sWorldSafeLocsStore(WorldSafeLocsEntryfmt);
|
DBCStorage <WorldSafeLocsEntry> sWorldSafeLocsStore(WorldSafeLocsEntryfmt);
|
||||||
|
DBCStorage <PhaseEntry> sPhaseStores(PhaseEntryfmt);
|
||||||
|
|
||||||
typedef std::list<std::string> StoreProblemList;
|
typedef std::list<std::string> StoreProblemList;
|
||||||
|
|
||||||
@@ -291,19 +295,20 @@ void LoadDBCStores(const std::string& dataPath)
|
|||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sChatChannelsStore, dbcPath, "ChatChannels.dbc");//14545
|
LoadDBC(availableDbcLocales, bad_dbc_files, sChatChannelsStore, dbcPath, "ChatChannels.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sChrClassesStore, dbcPath, "ChrClasses.dbc");//14545
|
LoadDBC(availableDbcLocales, bad_dbc_files, sChrClassesStore, dbcPath, "ChrClasses.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sChrRacesStore, dbcPath, "ChrRaces.dbc");//14545
|
LoadDBC(availableDbcLocales, bad_dbc_files, sChrRacesStore, dbcPath, "ChrRaces.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sCinematicSequencesStore, dbcPath, "CinematicSequences.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sChrPowerTypesStore, dbcPath, "ChrClassesXPowerTypes.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureDisplayInfoStore, dbcPath, "CreatureDisplayInfo.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCinematicSequencesStore, dbcPath, "CinematicSequences.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureFamilyStore, dbcPath, "CreatureFamily.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureDisplayInfoStore, dbcPath, "CreatureDisplayInfo.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureSpellDataStore, dbcPath, "CreatureSpellData.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureFamilyStore, dbcPath, "CreatureFamily.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureTypeStore, dbcPath, "CreatureType.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureSpellDataStore, dbcPath, "CreatureSpellData.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sCurrencyTypesStore, dbcPath, "CurrencyTypes.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureTypeStore, dbcPath, "CreatureType.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sDestructibleModelDataStore, dbcPath, "DestructibleModelData.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCurrencyTypesStore, dbcPath, "CurrencyTypes.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sDungeonEncounterStore, dbcPath, "DungeonEncounter.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sDestructibleModelDataStore, dbcPath, "DestructibleModelData.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sDurabilityCostsStore, dbcPath, "DurabilityCosts.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sDungeonEncounterStore, dbcPath, "DungeonEncounter.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sDurabilityQualityStore, dbcPath, "DurabilityQuality.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sDurabilityCostsStore, dbcPath, "DurabilityCosts.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sEmotesStore, dbcPath, "Emotes.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sDurabilityQualityStore, dbcPath, "DurabilityQuality.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sEmotesTextStore, dbcPath, "EmotesText.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sEmotesStore, dbcPath, "Emotes.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sFactionStore, dbcPath, "Faction.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sEmotesTextStore, dbcPath, "EmotesText.dbc");//14545
|
||||||
|
LoadDBC(availableDbcLocales, bad_dbc_files, sFactionStore, dbcPath, "Faction.dbc");//14545
|
||||||
for (uint32 i=0; i<sFactionStore.GetNumRows(); ++i)
|
for (uint32 i=0; i<sFactionStore.GetNumRows(); ++i)
|
||||||
{
|
{
|
||||||
FactionEntry const* faction = sFactionStore.LookupEntry(i);
|
FactionEntry const* faction = sFactionStore.LookupEntry(i);
|
||||||
@@ -314,8 +319,8 @@ void LoadDBCStores(const std::string& dataPath)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sFactionTemplateStore, dbcPath, "FactionTemplate.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sFactionTemplateStore, dbcPath, "FactionTemplate.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGameObjectDisplayInfoStore, dbcPath, "GameObjectDisplayInfo.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGameObjectDisplayInfoStore, dbcPath, "GameObjectDisplayInfo.dbc");//14545
|
||||||
for (uint32 i = 0; i < sGameObjectDisplayInfoStore.GetNumRows(); ++i)
|
for (uint32 i = 0; i < sGameObjectDisplayInfoStore.GetNumRows(); ++i)
|
||||||
{
|
{
|
||||||
if (GameObjectDisplayInfoEntry const* info = sGameObjectDisplayInfoStore.LookupEntry(i))
|
if (GameObjectDisplayInfoEntry const* info = sGameObjectDisplayInfoStore.LookupEntry(i))
|
||||||
@@ -329,67 +334,71 @@ void LoadDBCStores(const std::string& dataPath)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGemPropertiesStore, dbcPath, "GemProperties.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGemPropertiesStore, dbcPath, "GemProperties.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGlyphPropertiesStore, dbcPath, "GlyphProperties.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGlyphPropertiesStore, dbcPath, "GlyphProperties.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGlyphSlotStore, dbcPath, "GlyphSlot.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGlyphSlotStore, dbcPath, "GlyphSlot.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGtBarberShopCostBaseStore, dbcPath, "gtBarberShopCostBase.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGtBarberShopCostBaseStore, dbcPath, "gtBarberShopCostBase.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGtCombatRatingsStore, dbcPath, "gtCombatRatings.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGtCombatRatingsStore, dbcPath, "gtCombatRatings.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGtChanceToMeleeCritBaseStore, dbcPath, "gtChanceToMeleeCritBase.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGtChanceToMeleeCritBaseStore, dbcPath, "gtChanceToMeleeCritBase.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGtChanceToMeleeCritStore, dbcPath, "gtChanceToMeleeCrit.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGtChanceToMeleeCritStore, dbcPath, "gtChanceToMeleeCrit.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGtChanceToSpellCritBaseStore, dbcPath, "gtChanceToSpellCritBase.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGtChanceToSpellCritBaseStore, dbcPath, "gtChanceToSpellCritBase.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGtChanceToSpellCritStore, dbcPath, "gtChanceToSpellCrit.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGtChanceToSpellCritStore, dbcPath, "gtChanceToSpellCrit.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGtOCTClassCombatRatingScalarStore, dbcPath, "gtOCTClassCombatRatingScalar.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGtOCTClassCombatRatingScalarStore, dbcPath, "gtOCTClassCombatRatingScalar.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGtOCTRegenHPStore, dbcPath, "gtOCTRegenHP.dbc");
|
//LoadDBC(availableDbcLocales, bad_dbc_files, sGtOCTRegenHPStore, dbcPath, "gtOCTRegenHP.dbc");//14545
|
||||||
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGtOCTHpPerStaminaStore, dbcPath, "gtOCTHpPerStamina.dbc");//14545
|
||||||
//LoadDBC(dbcCount, availableDbcLocales, bad_dbc_files, sGtOCTRegenMPStore, dbcPath, "gtOCTRegenMP.dbc"); -- not used currently
|
//LoadDBC(dbcCount, availableDbcLocales, bad_dbc_files, sGtOCTRegenMPStore, dbcPath, "gtOCTRegenMP.dbc"); -- not used currently
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGtRegenHPPerSptStore, dbcPath, "gtRegenHPPerSpt.dbc");
|
//LoadDBC(availableDbcLocales, bad_dbc_files, sGtRegenHPPerSptStore, dbcPath, "gtRegenHPPerSpt.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sGtRegenMPPerSptStore, dbcPath, "gtRegenMPPerSpt.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sGtRegenMPPerSptStore, dbcPath, "gtRegenMPPerSpt.dbc");//14545
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sHolidaysStore, dbcPath, "Holidays.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sHolidaysStore, dbcPath, "Holidays.dbc");//14545
|
||||||
|
|
||||||
// LoadDBC(availableDbcLocales, bad_dbc_files, sItemStore, dbcPath, "Item.dbc");
|
// LoadDBC(availableDbcLocales, bad_dbc_files, sItemStore, dbcPath, "Item.dbc");
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sItemBagFamilyStore, dbcPath, "ItemBagFamily.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sItemBagFamilyStore, dbcPath, "ItemBagFamily.dbc");//14545
|
||||||
//LoadDBC(dbcCount, availableDbcLocales, bad_dbc_files, sItemDisplayInfoStore, dbcPath, "ItemDisplayInfo.dbc"); -- not used currently
|
//LoadDBC(dbcCount, availableDbcLocales, bad_dbc_files, sItemDisplayInfoStore, dbcPath, "ItemDisplayInfo.dbc"); -- not used currently
|
||||||
//LoadDBC(dbcCount, availableDbcLocales, bad_dbc_files, sItemCondExtCostsStore, dbcPath, "ItemCondExtCosts.dbc");
|
//LoadDBC(dbcCount, availableDbcLocales, bad_dbc_files, sItemCondExtCostsStore, dbcPath, "ItemCondExtCosts.dbc");
|
||||||
// LoadDBC(availableDbcLocales, bad_dbc_files, sItemExtendedCostStore, dbcPath, "ItemExtendedCost.dbc");
|
// LoadDBC(availableDbcLocales, bad_dbc_files, sItemExtendedCostStore, dbcPath, "ItemExtendedCost.dbc");
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sItemLimitCategoryStore, dbcPath, "ItemLimitCategory.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sItemLimitCategoryStore, dbcPath, "ItemLimitCategory.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sItemRandomPropertiesStore, dbcPath, "ItemRandomProperties.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sItemRandomPropertiesStore, dbcPath, "ItemRandomProperties.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sItemRandomSuffixStore, dbcPath, "ItemRandomSuffix.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sItemRandomSuffixStore, dbcPath, "ItemRandomSuffix.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sItemSetStore, dbcPath, "ItemSet.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sItemSetStore, dbcPath, "ItemSet.dbc");//14545
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sLFGDungeonStore, dbcPath, "LFGDungeons.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sItemClassStore, dbcPath,"ItemClass.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sLockStore, dbcPath, "Lock.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sLFGDungeonStore, dbcPath, "LFGDungeons.dbc");//14545
|
||||||
|
LoadDBC(availableDbcLocales, bad_dbc_files, sLockStore, dbcPath, "Lock.dbc");//14545
|
||||||
|
LoadDBC(availableDbcLocales, bad_dbc_files, sPhaseStores, dbcPath, "Phase.dbc");//14545
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sMailTemplateStore, dbcPath, "MailTemplate.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sMailTemplateStore, dbcPath, "MailTemplate.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sMapStore, dbcPath, "Map.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sMapStore, dbcPath, "Map.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sMapDifficultyStore, dbcPath, "MapDifficulty.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sMapDifficultyStore, dbcPath, "MapDifficulty.dbc");//14545
|
||||||
// fill data
|
// fill data
|
||||||
for (uint32 i = 1; i < sMapDifficultyStore.GetNumRows(); ++i)
|
sMapDifficultyMap[MAKE_PAIR32(0, 0)] = MapDifficulty(0, 0, 0);//map 0 is missingg from MapDifficulty.dbc use this till its ported to sql
|
||||||
|
for (uint32 i = 0; i < sMapDifficultyStore.GetNumRows(); ++i)
|
||||||
if (MapDifficultyEntry const* entry = sMapDifficultyStore.LookupEntry(i))
|
if (MapDifficultyEntry const* entry = sMapDifficultyStore.LookupEntry(i))
|
||||||
sMapDifficultyMap[MAKE_PAIR32(entry->MapId, entry->Difficulty)] = MapDifficulty(entry->resetTime, entry->maxPlayers, entry->areaTriggerText[0] != '\0');
|
sMapDifficultyMap[MAKE_PAIR32(entry->MapId, entry->Difficulty)] = MapDifficulty(entry->resetTime, entry->maxPlayers, entry->areaTriggerText[0] > 0);
|
||||||
sMapDifficultyStore.Clear();
|
sMapDifficultyStore.Clear();
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sMovieStore, dbcPath, "Movie.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sMovieStore, dbcPath, "Movie.dbc");//14545
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sOverrideSpellDataStore, dbcPath, "OverrideSpellData.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sOverrideSpellDataStore, dbcPath, "OverrideSpellData.dbc");//14545
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sPvPDifficultyStore, dbcPath, "PvpDifficulty.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sPvPDifficultyStore, dbcPath, "PvpDifficulty.dbc");//14545
|
||||||
for (uint32 i = 0; i < sPvPDifficultyStore.GetNumRows(); ++i)
|
for (uint32 i = 0; i < sPvPDifficultyStore.GetNumRows(); ++i)
|
||||||
if (PvPDifficultyEntry const* entry = sPvPDifficultyStore.LookupEntry(i))
|
if (PvPDifficultyEntry const* entry = sPvPDifficultyStore.LookupEntry(i))
|
||||||
if (entry->bracketId > MAX_BATTLEGROUND_BRACKETS)
|
if (entry->bracketId > MAX_BATTLEGROUND_BRACKETS)
|
||||||
ASSERT(false && "Need update MAX_BATTLEGROUND_BRACKETS by DBC data");
|
ASSERT(false && "Need update MAX_BATTLEGROUND_BRACKETS by DBC data");
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sQuestXPStore, dbcPath, "QuestXP.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sQuestXPStore, dbcPath, "QuestXP.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sQuestFactionRewardStore, dbcPath, "QuestFactionReward.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sQuestFactionRewardStore, dbcPath, "QuestFactionReward.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sQuestSortStore, dbcPath, "QuestSort.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sQuestSortStore, dbcPath, "QuestSort.dbc");//14545
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sRandomPropertiesPointsStore, dbcPath, "RandPropPoints.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sRandomPropertiesPointsStore, dbcPath, "RandPropPoints.dbc");//14545
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sScalingStatDistributionStore, dbcPath, "ScalingStatDistribution.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sScalingStatDistributionStore, dbcPath, "ScalingStatDistribution.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sScalingStatValuesStore, dbcPath, "ScalingStatValues.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sScalingStatValuesStore, dbcPath, "ScalingStatValues.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sSkillLineStore, dbcPath, "SkillLine.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sSkillLineStore, dbcPath, "SkillLine.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sSkillLineAbilityStore, dbcPath, "SkillLineAbility.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sSkillLineAbilityStore, dbcPath, "SkillLineAbility.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sSoundEntriesStore, dbcPath, "SoundEntries.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sSoundEntriesStore, dbcPath, "SoundEntries.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellStore, dbcPath, "Spell.dbc", &CustomSpellEntryfmt, &CustomSpellEntryIndex);
|
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellStore, dbcPath, "Spell.dbc", &CustomSpellEntryfmt, &CustomSpellEntryIndex);//todo
|
||||||
for (uint32 i = 1; i < sSpellStore.GetNumRows(); ++i)
|
for (uint32 i = 1; i < sSpellStore.GetNumRows(); ++i)
|
||||||
{
|
{
|
||||||
SpellEntry const* spell = sSpellStore.LookupEntry(i);
|
SpellEntry const* spell = sSpellStore.LookupEntry(i);
|
||||||
@@ -437,10 +446,10 @@ void LoadDBCStores(const std::string& dataPath)
|
|||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellRangeStore, dbcPath, "SpellRange.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellRangeStore, dbcPath, "SpellRange.dbc");
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellRuneCostStore, dbcPath, "SpellRuneCost.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellRuneCostStore, dbcPath, "SpellRuneCost.dbc");
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellShapeshiftStore, dbcPath, "SpellShapeshiftForm.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sSpellShapeshiftStore, dbcPath, "SpellShapeshiftForm.dbc");
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sStableSlotPricesStore, dbcPath, "StableSlotPrices.dbc");
|
//LoadDBC(availableDbcLocales, bad_dbc_files, sStableSlotPricesStore, dbcPath, "StableSlotPrices.dbc");
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sSummonPropertiesStore, dbcPath, "SummonProperties.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sSummonPropertiesStore, dbcPath, "SummonProperties.dbc");//14545
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sTalentStore, dbcPath, "Talent.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sTalentStore, dbcPath, "Talent.dbc");//14545
|
||||||
|
|
||||||
// Create Spelldifficulty searcher
|
// Create Spelldifficulty searcher
|
||||||
for (uint32 i = 0; i < sSpellDifficultyStore.GetNumRows(); ++i)
|
for (uint32 i = 0; i < sSpellDifficultyStore.GetNumRows(); ++i)
|
||||||
@@ -479,7 +488,7 @@ void LoadDBCStores(const std::string& dataPath)
|
|||||||
sTalentSpellPosMap[talentInfo->RankID[j]] = TalentSpellPos(i, j);
|
sTalentSpellPosMap[talentInfo->RankID[j]] = TalentSpellPos(i, j);
|
||||||
}
|
}
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sTalentTabStore, dbcPath, "TalentTab.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sTalentTabStore, dbcPath, "TalentTab.dbc");//14545
|
||||||
|
|
||||||
// prepare fast data access to bit pos of talent ranks for use at inspecting
|
// prepare fast data access to bit pos of talent ranks for use at inspecting
|
||||||
{
|
{
|
||||||
@@ -502,15 +511,15 @@ void LoadDBCStores(const std::string& dataPath)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sTaxiNodesStore, dbcPath, "TaxiNodes.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sTaxiNodesStore, dbcPath, "TaxiNodes.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sTaxiPathStore, dbcPath, "TaxiPath.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sTaxiPathStore, dbcPath, "TaxiPath.dbc");//14545
|
||||||
for (uint32 i = 1; i < sTaxiPathStore.GetNumRows(); ++i)
|
for (uint32 i = 1; i < sTaxiPathStore.GetNumRows(); ++i)
|
||||||
if (TaxiPathEntry const* entry = sTaxiPathStore.LookupEntry(i))
|
if (TaxiPathEntry const* entry = sTaxiPathStore.LookupEntry(i))
|
||||||
sTaxiPathSetBySource[entry->from][entry->to] = TaxiPathBySourceAndDestination(entry->ID, entry->price);
|
sTaxiPathSetBySource[entry->from][entry->to] = TaxiPathBySourceAndDestination(entry->ID, entry->price);
|
||||||
uint32 pathCount = sTaxiPathStore.GetNumRows();
|
uint32 pathCount = sTaxiPathStore.GetNumRows();
|
||||||
|
|
||||||
//## TaxiPathNode.dbc ## Loaded only for initialization different structures
|
//## TaxiPathNode.dbc ## Loaded only for initialization different structures
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sTaxiPathNodeStore, dbcPath, "TaxiPathNode.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sTaxiPathNodeStore, dbcPath, "TaxiPathNode.dbc");//14545
|
||||||
// Calculate path nodes count
|
// Calculate path nodes count
|
||||||
std::vector<uint32> pathLength;
|
std::vector<uint32> pathLength;
|
||||||
pathLength.resize(pathCount); // 0 and some other indexes not used
|
pathLength.resize(pathCount); // 0 and some other indexes not used
|
||||||
@@ -591,19 +600,19 @@ void LoadDBCStores(const std::string& dataPath)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sTeamContributionPointsStore, dbcPath, "TeamContributionPoints.dbc");
|
//LoadDBC(availableDbcLocales, bad_dbc_files, sTeamContributionPointsStore, dbcPath, "TeamContributionPoints.dbc");
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sTotemCategoryStore, dbcPath, "TotemCategory.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sTotemCategoryStore, dbcPath, "TotemCategory.dbc");//14545
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sVehicleStore, dbcPath, "Vehicle.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sVehicleStore, dbcPath, "Vehicle.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sVehicleSeatStore, dbcPath, "VehicleSeat.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sVehicleSeatStore, dbcPath, "VehicleSeat.dbc");//14545
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sWMOAreaTableStore, dbcPath, "WMOAreaTable.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sWMOAreaTableStore, dbcPath, "WMOAreaTable.dbc");//14545
|
||||||
for (uint32 i = 0; i < sWMOAreaTableStore.GetNumRows(); ++i)
|
for (uint32 i = 0; i < sWMOAreaTableStore.GetNumRows(); ++i)
|
||||||
if (WMOAreaTableEntry const* entry = sWMOAreaTableStore.LookupEntry(i))
|
if (WMOAreaTableEntry const* entry = sWMOAreaTableStore.LookupEntry(i))
|
||||||
sWMOAreaInfoByTripple.insert(WMOAreaInfoByTripple::value_type(WMOAreaTableTripple(entry->rootId, entry->adtId, entry->groupId), entry));
|
sWMOAreaInfoByTripple.insert(WMOAreaInfoByTripple::value_type(WMOAreaTableTripple(entry->rootId, entry->adtId, entry->groupId), entry));
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sWorldMapAreaStore, dbcPath, "WorldMapArea.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sWorldMapAreaStore, dbcPath, "WorldMapArea.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sWorldMapOverlayStore, dbcPath, "WorldMapOverlay.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sWorldMapOverlayStore, dbcPath, "WorldMapOverlay.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sWorldSafeLocsStore, dbcPath, "WorldSafeLocs.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sWorldSafeLocsStore, dbcPath, "WorldSafeLocs.dbc");//14545
|
||||||
|
|
||||||
// error checks
|
// error checks
|
||||||
if (bad_dbc_files.size() >= DBCFileCount)
|
if (bad_dbc_files.size() >= DBCFileCount)
|
||||||
@@ -647,7 +656,7 @@ SimpleFactionsList const* GetFactionTeamList(uint32 faction)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* GetPetName(uint32 petfamily, uint32 dbclang)
|
char const* GetPetName(uint32 petfamily, uint32 dbclang)
|
||||||
{
|
{
|
||||||
if (!petfamily)
|
if (!petfamily)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
typedef std::list<uint32> SimpleFactionsList;
|
typedef std::list<uint32> SimpleFactionsList;
|
||||||
SimpleFactionsList const* GetFactionTeamList(uint32 faction);
|
SimpleFactionsList const* GetFactionTeamList(uint32 faction);
|
||||||
|
|
||||||
char* GetPetName(uint32 petfamily, uint32 dbclang);
|
char const* GetPetName(uint32 petfamily, uint32 dbclang);
|
||||||
uint32 GetTalentSpellCost(uint32 spellId);
|
uint32 GetTalentSpellCost(uint32 spellId);
|
||||||
TalentSpellPos const* GetTalentSpellPos(uint32 spellId);
|
TalentSpellPos const* GetTalentSpellPos(uint32 spellId);
|
||||||
|
|
||||||
@@ -79,6 +79,7 @@ extern DBCStorage <CharStartOutfitEntry> sCharStartOutfitStore;
|
|||||||
extern DBCStorage <CharTitlesEntry> sCharTitlesStore;
|
extern DBCStorage <CharTitlesEntry> sCharTitlesStore;
|
||||||
extern DBCStorage <ChrClassesEntry> sChrClassesStore;
|
extern DBCStorage <ChrClassesEntry> sChrClassesStore;
|
||||||
extern DBCStorage <ChrRacesEntry> sChrRacesStore;
|
extern DBCStorage <ChrRacesEntry> sChrRacesStore;
|
||||||
|
extern DBCStorage <ChrPowerTypesEntry> sChrPowerTypesStore;
|
||||||
extern DBCStorage <CinematicSequencesEntry> sCinematicSequencesStore;
|
extern DBCStorage <CinematicSequencesEntry> sCinematicSequencesStore;
|
||||||
extern DBCStorage <CreatureDisplayInfoEntry> sCreatureDisplayInfoStore;
|
extern DBCStorage <CreatureDisplayInfoEntry> sCreatureDisplayInfoStore;
|
||||||
extern DBCStorage <CreatureFamilyEntry> sCreatureFamilyStore;
|
extern DBCStorage <CreatureFamilyEntry> sCreatureFamilyStore;
|
||||||
|
|||||||
@@ -720,6 +720,13 @@ struct ChrRacesEntry
|
|||||||
//uint32 // 23 4.0.0
|
//uint32 // 23 4.0.0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct ChrPowerTypesEntry
|
||||||
|
{
|
||||||
|
uint32 entry; // 0
|
||||||
|
uint32 classId; // 1
|
||||||
|
uint32 power; // 2
|
||||||
|
};
|
||||||
|
|
||||||
/* not used
|
/* not used
|
||||||
struct CinematicCameraEntry
|
struct CinematicCameraEntry
|
||||||
{
|
{
|
||||||
@@ -757,6 +764,7 @@ struct CreatureDisplayInfoEntry
|
|||||||
// 13 m_particleColorID
|
// 13 m_particleColorID
|
||||||
// 14 m_creatureGeosetData
|
// 14 m_creatureGeosetData
|
||||||
// 15 m_objectEffectPackageID
|
// 15 m_objectEffectPackageID
|
||||||
|
// 16
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CreatureFamilyEntry
|
struct CreatureFamilyEntry
|
||||||
@@ -770,9 +778,8 @@ struct CreatureFamilyEntry
|
|||||||
uint32 petFoodMask; // 7 m_petFoodMask
|
uint32 petFoodMask; // 7 m_petFoodMask
|
||||||
int32 petTalentType; // 8 m_petTalentType
|
int32 petTalentType; // 8 m_petTalentType
|
||||||
// 9 m_categoryEnumID
|
// 9 m_categoryEnumID
|
||||||
char* Name[16]; // 10-25 m_name_lang
|
DBCString Name; // 10 m_name_lang
|
||||||
// 26 string flags
|
// 11 m_iconFile
|
||||||
// 27 m_iconFile
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_CREATURE_SPELL_DATA_SLOT 4
|
#define MAX_CREATURE_SPELL_DATA_SLOT 4
|
||||||
@@ -787,9 +794,8 @@ struct CreatureSpellDataEntry
|
|||||||
struct CreatureTypeEntry
|
struct CreatureTypeEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0 m_ID
|
uint32 ID; // 0 m_ID
|
||||||
//char* Name[16]; // 1-16 name
|
//DBCString Name; // 1 m_name_lang
|
||||||
// 17 string flags
|
//uint32 no_expirience; // 2 m_flags no exp? critters, non-combat pets, gas cloud.
|
||||||
//uint32 no_expirience; // 18 no exp? critters, non-combat pets, gas cloud.
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* not used
|
/* not used
|
||||||
@@ -820,24 +826,29 @@ struct CurrencyTypesEntry
|
|||||||
struct DestructibleModelDataEntry
|
struct DestructibleModelDataEntry
|
||||||
{
|
{
|
||||||
uint32 Id;
|
uint32 Id;
|
||||||
|
uint32 DamagedDisplayId;
|
||||||
//uint32 DamagedUnk1;
|
//uint32 DamagedUnk1;
|
||||||
//uint32 DamagedUnk2;
|
//uint32 DamagedUnk2;
|
||||||
uint32 DamagedDisplayId;
|
|
||||||
//uint32 DamagedUnk3;
|
//uint32 DamagedUnk3;
|
||||||
|
uint32 DestroyedDisplayId;
|
||||||
//uint32 DestroyedUnk1;
|
//uint32 DestroyedUnk1;
|
||||||
//uint32 DestroyedUnk2;
|
//uint32 DestroyedUnk2;
|
||||||
uint32 DestroyedDisplayId;
|
|
||||||
//uint32 DestroyedUnk3;
|
//uint32 DestroyedUnk3;
|
||||||
|
//uint32 DestroyedUnk4;
|
||||||
|
uint32 RebuildingDisplayId;
|
||||||
//uint32 RebuildingUnk1;
|
//uint32 RebuildingUnk1;
|
||||||
//uint32 RebuildingUnk2;
|
//uint32 RebuildingUnk2;
|
||||||
uint32 RebuildingDisplayId;
|
|
||||||
//uint32 RebuildingUnk3;
|
//uint32 RebuildingUnk3;
|
||||||
|
//uint32 RebuildingUnk4;
|
||||||
|
uint32 SmokeDisplayId;
|
||||||
//uint32 SmokeUnk1;
|
//uint32 SmokeUnk1;
|
||||||
//uint32 SmokeUnk2;
|
//uint32 SmokeUnk2;
|
||||||
uint32 SmokeDisplayId;
|
|
||||||
//uint32 SmokeUnk3;
|
//uint32 SmokeUnk3;
|
||||||
//uint32 Unk4;
|
//uint32 SmokeUnk4;
|
||||||
//uint32 Unk5;
|
//uint32 UnkDisplayid;
|
||||||
|
//uint32 Unk6;
|
||||||
|
//uint32 Unk7;
|
||||||
|
//uint32 Unk8;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct DungeonEncounterEntry
|
struct DungeonEncounterEntry
|
||||||
@@ -847,7 +858,7 @@ struct DungeonEncounterEntry
|
|||||||
uint32 difficulty; // 2 instance mode
|
uint32 difficulty; // 2 instance mode
|
||||||
//uint32 unk0; // 3
|
//uint32 unk0; // 3
|
||||||
uint32 encounterIndex; // 4 encounter index for creating completed mask
|
uint32 encounterIndex; // 4 encounter index for creating completed mask
|
||||||
char* encounterName[16]; // 5-20 encounter name
|
DBCString encounterName; // 5-20 encounter name
|
||||||
//uint32 nameFlags; // 21
|
//uint32 nameFlags; // 21
|
||||||
//uint32 unk1; // 22
|
//uint32 unk1; // 22
|
||||||
};
|
};
|
||||||
@@ -867,12 +878,13 @@ struct DurabilityQualityEntry
|
|||||||
struct EmotesEntry
|
struct EmotesEntry
|
||||||
{
|
{
|
||||||
uint32 Id; // 0
|
uint32 Id; // 0
|
||||||
//char* Name; // 1, internal name
|
//DBCString Name; // 1, internal name
|
||||||
//uint32 AnimationId; // 2, ref to animationData
|
//uint32 AnimationId; // 2, ref to animationData
|
||||||
uint32 Flags; // 3, bitmask, may be unit_flags
|
uint32 Flags; // 3, bitmask, may be unit_flags
|
||||||
uint32 EmoteType; // 4, Can be 0, 1 or 2 (determine how emote are shown)
|
uint32 EmoteType; // 4, Can be 0, 1 or 2 (determine how emote are shown)
|
||||||
uint32 UnitStandState; // 5, uncomfirmed, may be enum UnitStandStateType
|
uint32 UnitStandState; // 5, uncomfirmed, may be enum UnitStandStateType
|
||||||
//uint32 SoundId; // 6, ref to soundEntries
|
//uint32 SoundId; // 6, ref to soundEntries
|
||||||
|
//uint32 unk7 // 7
|
||||||
};
|
};
|
||||||
|
|
||||||
struct EmotesTextEntry
|
struct EmotesTextEntry
|
||||||
@@ -894,10 +906,9 @@ struct FactionEntry
|
|||||||
float spilloverRateOut; // 20 Faction outputs rep * spilloverRateOut as spillover reputation
|
float spilloverRateOut; // 20 Faction outputs rep * spilloverRateOut as spillover reputation
|
||||||
uint32 spilloverMaxRankIn; // 21 The highest rank the faction will profit from incoming spillover
|
uint32 spilloverMaxRankIn; // 21 The highest rank the faction will profit from incoming spillover
|
||||||
//uint32 spilloverRank_unk; // 22 It does not seem to be the max standing at which a faction outputs spillover ...so no idea
|
//uint32 spilloverRank_unk; // 22 It does not seem to be the max standing at which a faction outputs spillover ...so no idea
|
||||||
char* name[16]; // 23-38 m_name_lang
|
DBCString name; // 23 m_name_lang
|
||||||
// 39 string flags
|
//DBCString description; // 24 m_description_lang
|
||||||
//char* description[16]; // 40-55 m_description_lang
|
//uint32 // 25
|
||||||
// 56 string flags
|
|
||||||
|
|
||||||
// helpers
|
// helpers
|
||||||
bool CanHaveReputation() const
|
bool CanHaveReputation() const
|
||||||
@@ -923,6 +934,8 @@ struct FactionTemplateEntry
|
|||||||
// helpers
|
// helpers
|
||||||
bool IsFriendlyTo(FactionTemplateEntry const& entry) const
|
bool IsFriendlyTo(FactionTemplateEntry const& entry) const
|
||||||
{
|
{
|
||||||
|
if (ID == entry.ID)
|
||||||
|
return true;
|
||||||
if (entry.faction)
|
if (entry.faction)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
|
for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
|
||||||
@@ -936,6 +949,8 @@ struct FactionTemplateEntry
|
|||||||
}
|
}
|
||||||
bool IsHostileTo(FactionTemplateEntry const& entry) const
|
bool IsHostileTo(FactionTemplateEntry const& entry) const
|
||||||
{
|
{
|
||||||
|
if (ID == entry.ID)
|
||||||
|
return false;
|
||||||
if (entry.faction)
|
if (entry.faction)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
|
for (int i = 0; i < MAX_FACTION_RELATIONS; ++i)
|
||||||
@@ -974,9 +989,12 @@ struct GameObjectDisplayInfoEntry
|
|||||||
|
|
||||||
struct GemPropertiesEntry
|
struct GemPropertiesEntry
|
||||||
{
|
{
|
||||||
uint32 ID;
|
uint32 ID; // 0 m_id
|
||||||
uint32 spellitemenchantement;
|
uint32 spellitemenchantement; // 1 m_enchant_id
|
||||||
uint32 color;
|
// 2 m_maxcount_inv
|
||||||
|
// 3 m_maxcount_item
|
||||||
|
uint32 color; // 4 m_type
|
||||||
|
//uint32 // 5
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GlyphPropertiesEntry
|
struct GlyphPropertiesEntry
|
||||||
@@ -1001,21 +1019,25 @@ struct GlyphSlotEntry
|
|||||||
|
|
||||||
struct GtBarberShopCostBaseEntry
|
struct GtBarberShopCostBaseEntry
|
||||||
{
|
{
|
||||||
|
//uint32 level;
|
||||||
float cost;
|
float cost;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GtCombatRatingsEntry
|
struct GtCombatRatingsEntry
|
||||||
{
|
{
|
||||||
|
//uint32 level;
|
||||||
float ratio;
|
float ratio;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GtChanceToMeleeCritBaseEntry
|
struct GtChanceToMeleeCritBaseEntry
|
||||||
{
|
{
|
||||||
|
//uint32 level;
|
||||||
float base;
|
float base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GtChanceToMeleeCritEntry
|
struct GtChanceToMeleeCritEntry
|
||||||
{
|
{
|
||||||
|
//uint32 level;
|
||||||
float ratio;
|
float ratio;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1039,10 +1061,15 @@ struct GtOCTRegenHPEntry
|
|||||||
float ratio;
|
float ratio;
|
||||||
};
|
};
|
||||||
|
|
||||||
//struct GtOCTRegenMPEntry
|
struct GtOCTRegenMPEntry
|
||||||
//{
|
{
|
||||||
// float ratio;
|
float ratio;
|
||||||
//};
|
};
|
||||||
|
|
||||||
|
struct gtOCTHpPerStaminaEntry
|
||||||
|
{
|
||||||
|
float ratio;
|
||||||
|
};
|
||||||
|
|
||||||
struct GtRegenHPPerSptEntry
|
struct GtRegenHPPerSptEntry
|
||||||
{
|
{
|
||||||
@@ -1058,7 +1085,7 @@ struct GtRegenMPPerSptEntry
|
|||||||
struct HolidayDescriptionsEntry
|
struct HolidayDescriptionsEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0, this is NOT holiday id
|
uint32 ID; // 0, this is NOT holiday id
|
||||||
//char* name[16] // 1-16 m_name_lang
|
//DBCString name[16] // 1-16 m_name_lang
|
||||||
// 17 name flags
|
// 17 name flags
|
||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
@@ -1067,25 +1094,26 @@ struct HolidayDescriptionsEntry
|
|||||||
struct HolidayNamesEntry
|
struct HolidayNamesEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0, this is NOT holiday id
|
uint32 ID; // 0, this is NOT holiday id
|
||||||
//char* name[16] // 1-16 m_name_lang
|
//DBCString name[16] // 1-16 m_name_lang
|
||||||
// 17 name flags
|
// 17 name flags
|
||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct HolidaysEntry
|
struct HolidaysEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0 m_ID
|
uint32 ID; // 0, holiday id
|
||||||
//uint32 duration[10]; // 1-10 m_duration
|
//uint32 unk1; // 1
|
||||||
//uint32 date[26]; // 11-36 m_date (dates in unix time starting at January, 1, 2000)
|
//uint32 unk2; // 2
|
||||||
//uint32 region; // 37 m_region (wow region)
|
//uint32 unk3[8] // 3-10, empty fields
|
||||||
//uint32 looping; // 38 m_looping
|
//uint32 unk11[13] // 11-23, some unknown data (bit strings?)
|
||||||
//uint32 calendarFlags[10]; // 39-48 m_calendarFlags
|
//uint32 unk11[13] // 24-36, some empty fields (continue prev?)
|
||||||
//uint32 holidayNameId; // 49 m_holidayNameID (HolidayNames.dbc)
|
//uint32 unk11[12] // 37-48, counters?
|
||||||
//uint32 holidayDescriptionId; // 50 m_holidayDescriptionID (HolidayDescriptions.dbc)
|
//uint32 holidayNameId; // 49, id for HolidayNames.dbc
|
||||||
//char *textureFilename; // 51 m_textureFilename
|
//uint32 holidayDescriptionId; // 50, id for HolidayDescriptions.dbc
|
||||||
//uint32 priority; // 52 m_priority
|
//uint32 unk51; // 51
|
||||||
//uint32 calendarFilterType; // 53 m_calendarFilterType (-1 = Fishing Contest, 0 = Unk, 1 = Darkmoon Festival, 2 = Yearly holiday)
|
//uint32 unk52; // 52
|
||||||
//uint32 flags; // 54 m_flags (0 = Darkmoon Faire, Fishing Contest and Wotlk Launch, rest is 1)
|
//uint32 unk53; // 53
|
||||||
|
//uint32 unk54; // 54
|
||||||
};
|
};
|
||||||
|
|
||||||
/*struct ItemEntry
|
/*struct ItemEntry
|
||||||
@@ -1100,11 +1128,19 @@ struct HolidaysEntry
|
|||||||
uint32 Sheath; // 7
|
uint32 Sheath; // 7
|
||||||
};*/
|
};*/
|
||||||
|
|
||||||
|
struct ItemClassEntry
|
||||||
|
{
|
||||||
|
//uint32 id; // 0
|
||||||
|
uint32 Class; // 1 equal to id
|
||||||
|
//uint32 unk2; // 2 looks like second class
|
||||||
|
//uint32 unk3; // 3 1 for weapons
|
||||||
|
//DBCString name; // 4
|
||||||
|
};
|
||||||
|
|
||||||
struct ItemBagFamilyEntry
|
struct ItemBagFamilyEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0
|
uint32 ID; // 0
|
||||||
//char* name[16] // 1-16 m_name_lang
|
//DBCString name; // 1 m_name_lang
|
||||||
// // 17 name flags
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ItemDisplayInfoEntry
|
struct ItemDisplayInfoEntry
|
||||||
@@ -1147,10 +1183,9 @@ struct ItemDisplayInfoEntry
|
|||||||
struct ItemLimitCategoryEntry
|
struct ItemLimitCategoryEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0 Id
|
uint32 ID; // 0 Id
|
||||||
//char* name[16] // 1-16 m_name_lang
|
//DBCString name; // 1 m_name_lang
|
||||||
// 17 name flags
|
uint32 maxCount; // 2, m_quantity max allowed equipped as item or in gem slot
|
||||||
uint32 maxCount; // 18, max allowed equipped as item or in gem slot
|
uint32 mode; // 3, m_flags 0 = have, 1 = equip (enum ItemLimitCategoryMode)
|
||||||
uint32 mode; // 19, 0 = have, 1 = equip (enum ItemLimitCategoryMode)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_ITEM_ENCHANTMENT_EFFECTS 3
|
#define MAX_ITEM_ENCHANTMENT_EFFECTS 3
|
||||||
@@ -1158,23 +1193,19 @@ struct ItemLimitCategoryEntry
|
|||||||
struct ItemRandomPropertiesEntry
|
struct ItemRandomPropertiesEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0 m_ID
|
uint32 ID; // 0 m_ID
|
||||||
//char* internalName // 1 m_Name
|
//DBCString internalName // 1 m_Name
|
||||||
uint32 enchant_id[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 2-4 m_Enchantment
|
uint32 enchant_id[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 2-4 m_Enchantment
|
||||||
// 5-6 unused
|
// 5-6 unused
|
||||||
char* nameSuffix[16]; // 7-22 m_name_lang
|
DBCString nameSuffix; // 7 m_name_lang
|
||||||
// 23 name flags
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ItemRandomSuffixEntry
|
struct ItemRandomSuffixEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0 m_ID
|
uint32 ID; // 0 m_ID
|
||||||
char* nameSuffix[16]; // 1-16 m_name_lang
|
DBCString nameSuffix; // 1 m_name_lang
|
||||||
// 17, name flags
|
// 2 m_internalName
|
||||||
// 18 m_internalName
|
uint32 enchant_id[5]; // 3-7 m_enchantment
|
||||||
uint32 enchant_id[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 19-21 m_enchantment
|
uint32 prefix[5]; // 8-12 m_allocationPct
|
||||||
//uint32 unk1[2] // 22-23 unknown
|
|
||||||
uint32 prefix[MAX_ITEM_ENCHANTMENT_EFFECTS]; // 24-26 m_allocationPct
|
|
||||||
//uint32 unk2[2] // 27-28 unknown
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_ITEM_SET_ITEMS 10
|
#define MAX_ITEM_SET_ITEMS 10
|
||||||
@@ -1183,20 +1214,18 @@ struct ItemRandomSuffixEntry
|
|||||||
struct ItemSetEntry
|
struct ItemSetEntry
|
||||||
{
|
{
|
||||||
//uint32 id // 0 m_ID
|
//uint32 id // 0 m_ID
|
||||||
char* name[16]; // 1-16 m_name_lang
|
DBCString name; // 1 m_name_lang
|
||||||
// 17 string flags, unused
|
uint32 itemId[MAX_ITEM_SET_ITEMS]; // 2-18 m_itemID
|
||||||
uint32 itemId[MAX_ITEM_SET_ITEMS]; // 18-27 m_itemID
|
uint32 spells[MAX_ITEM_SET_SPELLS]; // 19-26 m_setSpellID
|
||||||
//uint32 unknown[7]; // 28-34 unk, all 0
|
uint32 items_to_triggerspell[MAX_ITEM_SET_SPELLS]; // 27-34 m_setThreshold
|
||||||
uint32 spells[MAX_ITEM_SET_SPELLS]; // 35-42 m_setSpellID
|
uint32 required_skill_id; // 35 m_requiredSkill
|
||||||
uint32 items_to_triggerspell[MAX_ITEM_SET_SPELLS]; // 43-50 m_setThreshold
|
uint32 required_skill_value; // 36 m_requiredSkillRank
|
||||||
uint32 required_skill_id; // 51 m_requiredSkill
|
|
||||||
uint32 required_skill_value; // 52 m_requiredSkillRank
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct LFGDungeonEntry
|
struct LFGDungeonEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0
|
uint32 ID; // 0
|
||||||
//char* name[16]; // 1-17 Name lang
|
//DBCString name[16]; // 1-17 Name lang
|
||||||
uint32 minlevel; // 18
|
uint32 minlevel; // 18
|
||||||
uint32 maxlevel; // 19
|
uint32 maxlevel; // 19
|
||||||
uint32 reclevel; // 20
|
uint32 reclevel; // 20
|
||||||
@@ -1204,14 +1233,14 @@ struct LFGDungeonEntry
|
|||||||
uint32 recmaxlevel; // 22
|
uint32 recmaxlevel; // 22
|
||||||
int32 map; // 23
|
int32 map; // 23
|
||||||
uint32 difficulty; // 24
|
uint32 difficulty; // 24
|
||||||
//uint32 flags; // 25
|
//uint32 unk; // 25
|
||||||
uint32 type; // 26
|
uint32 type; // 26
|
||||||
//uint32 unk; // 27
|
//uint32 unk2; // 27
|
||||||
//char* iconname; // 28
|
//DBCString unk3; // 28
|
||||||
uint32 expansion; // 29
|
uint32 expansion; // 29
|
||||||
//uint32 unk4; // 30
|
//uint32 unk4; // 30
|
||||||
uint32 grouptype; // 31
|
uint32 grouptype; // 31
|
||||||
//char* desc[16]; // 32-47 Description
|
//DBCString desc; // 32-47 Description
|
||||||
// Helpers
|
// Helpers
|
||||||
uint32 Entry() const { return ID + (type << 24); }
|
uint32 Entry() const { return ID + (type << 24); }
|
||||||
};
|
};
|
||||||
@@ -1249,37 +1278,42 @@ struct LockEntry
|
|||||||
//uint32 Action[MAX_LOCK_CASE]; // 25-32 m_Action
|
//uint32 Action[MAX_LOCK_CASE]; // 25-32 m_Action
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct PhaseEntry
|
||||||
|
{
|
||||||
|
uint32 ID; // 0
|
||||||
|
DBCString Name; // 1
|
||||||
|
uint32 phaseShift; // 2
|
||||||
|
};
|
||||||
|
|
||||||
struct MailTemplateEntry
|
struct MailTemplateEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0
|
uint32 ID; // 0
|
||||||
//char* subject[16]; // 1-16
|
//DBCString subject; // 1 m_subject_lang
|
||||||
// 17 name flags, unused
|
DBCString content; // 2 m_body_lang
|
||||||
char* content[16]; // 18-33
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MapEntry
|
struct MapEntry
|
||||||
{
|
{
|
||||||
uint32 MapID; // 0
|
uint32 MapID; // 0
|
||||||
//char* internalname; // 1 unused
|
//DBCString internalname; // 1 unused
|
||||||
uint32 map_type; // 2
|
uint32 map_type; // 2
|
||||||
//uint32 unk_330; // 3
|
//uint32 unk_330; // 3
|
||||||
// 4 0 or 1 for battlegrounds (not arenas)
|
//uint32 unk4; // 4 4.0.1
|
||||||
char* name[16]; // 5-20
|
//uint32 isPvP; // 5 m_PVP 0 or 1 for battlegrounds (not arenas)
|
||||||
// 21 name flags, unused
|
DBCString name; // 6 m_MapName_lang
|
||||||
uint32 linked_zone; // 22 common zone for instance and continent map
|
uint32 linked_zone; // 7 m_areaTableID
|
||||||
//char* hordeIntro[16]; // 23-38 text for PvP Zones
|
//DBCString hordeIntro; // 8 m_MapDescription0_lang
|
||||||
// 39 intro text flags
|
//DBCString allianceIntro; // 9 m_MapDescription1_lang
|
||||||
//char* allianceIntro[16]; // 40-55 text for PvP Zones
|
uint32 multimap_id; // 10 m_LoadingScreenID (LoadingScreens.dbc)
|
||||||
// 56 intro text flags
|
//float BattlefieldMapIconScale; // 11 m_minimapIconScale
|
||||||
uint32 multimap_id; // 57
|
int32 entrance_map; // 12 m_corpseMapID map_id of entrance map in ghost mode (continent always and in most cases = normal entrance)
|
||||||
// 58
|
float entrance_x; // 13 m_corpseX entrance x coordinate in ghost mode (in most cases = normal entrance)
|
||||||
int32 entrance_map; // 59 map_id of entrance map
|
float entrance_y; // 14 m_corpseY entrance y coordinate in ghost mode (in most cases = normal entrance)
|
||||||
float entrance_x; // 60 entrance x coordinate (if exist single entry)
|
//uint32 timeOfDayOverride; // 15 m_timeOfDayOverride
|
||||||
float entrance_y; // 61 entrance y coordinate (if exist single entry)
|
uint32 addon; // 16 m_expansionID
|
||||||
// 62 -1, 0 and 720
|
uint32 unk_time; // 17 m_raidOffset
|
||||||
uint32 addon; // 63 (0-original maps, 1-tbc addon)
|
//uint32 maxPlayers; // 18 m_maxPlayers
|
||||||
uint32 unk_time; // 64 some kind of time?
|
//uint32 unk400; // 19 new 4.0.0, mapid, related to phasing
|
||||||
//uint32 maxPlayers; // 65 max players
|
|
||||||
|
|
||||||
// Helpers
|
// Helpers
|
||||||
uint32 Expansion() const { return addon; }
|
uint32 Expansion() const { return addon; }
|
||||||
@@ -1313,18 +1347,18 @@ struct MapDifficultyEntry
|
|||||||
//uint32 Id; // 0
|
//uint32 Id; // 0
|
||||||
uint32 MapId; // 1
|
uint32 MapId; // 1
|
||||||
uint32 Difficulty; // 2 (for arenas: arena slot)
|
uint32 Difficulty; // 2 (for arenas: arena slot)
|
||||||
char* areaTriggerText; // 3-18 text showed when transfer to map failed (missing requirements)
|
DBCString areaTriggerText; // 3 m_message_lang (text showed when transfer to map failed)
|
||||||
//uint32 textFlags; // 19
|
uint32 resetTime; // 4, m_raidDuration in secs, 0 if no fixed reset time
|
||||||
uint32 resetTime; // 20
|
uint32 maxPlayers; // 5, m_maxPlayers some heroic versions have 0 when expected same amount as in normal version
|
||||||
uint32 maxPlayers; // 21
|
//DBCString difficultyString; // 6 m_difficultystring
|
||||||
//char* difficultyString; // 22
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MovieEntry
|
struct MovieEntry
|
||||||
{
|
{
|
||||||
uint32 Id; // 0 index
|
uint32 Id; // 0 index
|
||||||
//char* filename; // 1
|
//DBCString filename; // 1
|
||||||
//uint32 unk2; // 2 always 100
|
//uint32 unk1; // 2 m_volume
|
||||||
|
//uint32 unk2; // 3 4.0.0
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_OVERRIDE_SPELL 10
|
#define MAX_OVERRIDE_SPELL 10
|
||||||
@@ -1334,6 +1368,7 @@ struct OverrideSpellDataEntry
|
|||||||
uint32 id; // 0
|
uint32 id; // 0
|
||||||
uint32 spellId[MAX_OVERRIDE_SPELL]; // 1-10
|
uint32 spellId[MAX_OVERRIDE_SPELL]; // 1-10
|
||||||
//uint32 unk0; // 11
|
//uint32 unk0; // 11
|
||||||
|
//uint32 unk3; // 12 possibly flag
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PvPDifficultyEntry
|
struct PvPDifficultyEntry
|
||||||
@@ -1352,8 +1387,7 @@ struct PvPDifficultyEntry
|
|||||||
struct QuestSortEntry
|
struct QuestSortEntry
|
||||||
{
|
{
|
||||||
uint32 id; // 0 m_ID
|
uint32 id; // 0 m_ID
|
||||||
//char* name[16]; // 1-16 m_SortName_lang
|
//DBCString name; // 1 m_SortName_lang
|
||||||
// 17 name flags
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct QuestXPEntry
|
struct QuestXPEntry
|
||||||
@@ -1382,32 +1416,38 @@ struct ScalingStatDistributionEntry
|
|||||||
uint32 Id; // 0
|
uint32 Id; // 0
|
||||||
int32 StatMod[10]; // 1-10
|
int32 StatMod[10]; // 1-10
|
||||||
uint32 Modifier[10]; // 11-20
|
uint32 Modifier[10]; // 11-20
|
||||||
uint32 MaxLevel; // 21
|
//uint32 unk1; // 21
|
||||||
|
uint32 MaxLevel; // 22 m_maxlevel
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ScalingStatValuesEntry
|
struct ScalingStatValuesEntry
|
||||||
{
|
{
|
||||||
uint32 Id; // 0
|
uint32 Id; // 0
|
||||||
uint32 Level; // 1
|
uint32 Level; // 1
|
||||||
uint32 ssdMultiplier[4]; // 2-5 Multiplier for ScalingStatDistribution
|
uint32 dpsMod[6]; // 2-7 DPS mod for level
|
||||||
uint32 armorMod[4]; // 6-9 Armor for level
|
uint32 spellBonus; // 8 spell power for level
|
||||||
uint32 dpsMod[6]; // 10-15 DPS mod for level
|
uint32 ssdMultiplier[5]; // 9-13 Multiplier for ScalingStatDistribution
|
||||||
uint32 spellBonus; // 16 spell power for level
|
uint32 armorMod[4]; // 14-17 Armor for level
|
||||||
uint32 ssdMultiplier2; // 17 there's data from 3.1 dbc ssdMultiplier[3]
|
uint32 armorMod2[4]; // 18-21 Armor for level
|
||||||
uint32 ssdMultiplier3; // 18 3.3
|
//uint32 trash[24]; // 22-45
|
||||||
//uint32 unk2; // 19 unk, probably also Armor for level (flag 0x80000?)
|
//uint32 unk2; // 46 unk, probably also Armor for level (flag 0x80000?)
|
||||||
uint32 armorMod2[4]; // 20-23 Armor for level
|
|
||||||
|
|
||||||
uint32 getssdMultiplier(uint32 mask) const
|
uint32 getssdMultiplier(uint32 mask) const
|
||||||
{
|
{
|
||||||
if (mask & 0x4001F)
|
if (mask & 0x4001F)
|
||||||
{
|
{
|
||||||
if (mask & 0x00000001) return ssdMultiplier[0];
|
if (mask & 0x00000001)
|
||||||
if (mask & 0x00000002) return ssdMultiplier[1];
|
return ssdMultiplier[1];
|
||||||
if (mask & 0x00000004) return ssdMultiplier[2];
|
if (mask & 0x00000002)
|
||||||
if (mask & 0x00000008) return ssdMultiplier2;
|
return ssdMultiplier[2]; // 0 and 1 were duplicated
|
||||||
if (mask & 0x00000010) return ssdMultiplier[3];
|
if (mask & 0x00000004)
|
||||||
if (mask & 0x00040000) return ssdMultiplier3;
|
return ssdMultiplier[3];
|
||||||
|
if (mask & 0x00000008)
|
||||||
|
return ssdMultiplier[0];
|
||||||
|
if (mask & 0x00000010)
|
||||||
|
return ssdMultiplier[4];
|
||||||
|
if (mask & 0x00040000)
|
||||||
|
return ssdMultiplier[2]; // 4.0.0
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -1416,15 +1456,23 @@ struct ScalingStatValuesEntry
|
|||||||
{
|
{
|
||||||
if (mask & 0x00F001E0)
|
if (mask & 0x00F001E0)
|
||||||
{
|
{
|
||||||
if (mask & 0x00000020) return armorMod[0];
|
if (mask & 0x00000020)
|
||||||
if (mask & 0x00000040) return armorMod[1];
|
return armorMod[0];
|
||||||
if (mask & 0x00000080) return armorMod[2];
|
if (mask & 0x00000040)
|
||||||
if (mask & 0x00000100) return armorMod[3];
|
return armorMod[1];
|
||||||
|
if (mask & 0x00000080)
|
||||||
|
return armorMod[2];
|
||||||
|
if (mask & 0x00000100)
|
||||||
|
return armorMod[3];
|
||||||
|
|
||||||
if (mask & 0x00100000) return armorMod2[0]; // cloth
|
if (mask & 0x00100000)
|
||||||
if (mask & 0x00200000) return armorMod2[1]; // leather
|
return armorMod2[0]; // cloth
|
||||||
if (mask & 0x00400000) return armorMod2[2]; // mail
|
if (mask & 0x00200000)
|
||||||
if (mask & 0x00800000) return armorMod2[3]; // plate
|
return armorMod2[1]; // leather
|
||||||
|
if (mask & 0x00400000)
|
||||||
|
return armorMod2[2]; // mail
|
||||||
|
if (mask & 0x00800000)
|
||||||
|
return armorMod2[3]; // plate
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -1432,23 +1480,31 @@ struct ScalingStatValuesEntry
|
|||||||
{
|
{
|
||||||
if (mask&0x7E00)
|
if (mask&0x7E00)
|
||||||
{
|
{
|
||||||
if (mask & 0x00000200) return dpsMod[0];
|
if (mask & 0x00000200)
|
||||||
if (mask & 0x00000400) return dpsMod[1];
|
return dpsMod[0];
|
||||||
if (mask & 0x00000800) return dpsMod[2];
|
if (mask & 0x00000400)
|
||||||
if (mask & 0x00001000) return dpsMod[3];
|
return dpsMod[1];
|
||||||
if (mask & 0x00002000) return dpsMod[4];
|
if (mask & 0x00000800)
|
||||||
if (mask & 0x00004000) return dpsMod[5]; // not used?
|
return dpsMod[2];
|
||||||
|
if (mask & 0x00001000)
|
||||||
|
return dpsMod[3];
|
||||||
|
if (mask & 0x00002000)
|
||||||
|
return dpsMod[4];
|
||||||
|
if (mask & 0x00004000)
|
||||||
|
return dpsMod[5]; // not used?
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
uint32 getSpellBonus(uint32 mask) const
|
uint32 getSpellBonus(uint32 mask) const
|
||||||
{
|
{
|
||||||
if (mask & 0x00008000) return spellBonus;
|
if (mask & 0x00008000)
|
||||||
|
return spellBonus;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
uint32 getFeralBonus(uint32 mask) const // removed in 3.2.x?
|
uint32 getFeralBonus(uint32 mask) const // removed in 3.2.x?
|
||||||
{
|
{
|
||||||
if (mask & 0x00010000) return 0; // not used?
|
if (mask & 0x00010000)
|
||||||
|
return 0; // not used?
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -1482,14 +1538,11 @@ struct SkillLineEntry
|
|||||||
uint32 id; // 0 m_ID
|
uint32 id; // 0 m_ID
|
||||||
int32 categoryId; // 1 m_categoryID
|
int32 categoryId; // 1 m_categoryID
|
||||||
//uint32 skillCostID; // 2 m_skillCostsID
|
//uint32 skillCostID; // 2 m_skillCostsID
|
||||||
char* name[16]; // 3-18 m_displayName_lang
|
DBCString name; // 3 m_displayName_lang
|
||||||
// 19 string flags
|
//DBCString description; // 4 m_description_lang
|
||||||
//char* description[16]; // 20-35 m_description_lang
|
uint32 spellIcon; // 5 m_spellIconID
|
||||||
// 36 string flags
|
//DBCString alternateVerb; // 6 m_alternateVerb_lang
|
||||||
uint32 spellIcon; // 37 m_spellIconID
|
uint32 canLink; // 7 m_canLink (prof. with recipes)
|
||||||
//char* alternateVerb[16]; // 38-53 m_alternateVerb_lang
|
|
||||||
// 54 string flags
|
|
||||||
uint32 canLink; // 55 m_canLink (prof. with recipes
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SkillLineAbilityEntry
|
struct SkillLineAbilityEntry
|
||||||
@@ -1506,23 +1559,28 @@ struct SkillLineAbilityEntry
|
|||||||
uint32 learnOnGetSkill; // 9 m_acquireMethod
|
uint32 learnOnGetSkill; // 9 m_acquireMethod
|
||||||
uint32 max_value; // 10 m_trivialSkillLineRankHigh
|
uint32 max_value; // 10 m_trivialSkillLineRankHigh
|
||||||
uint32 min_value; // 11 m_trivialSkillLineRankLow
|
uint32 min_value; // 11 m_trivialSkillLineRankLow
|
||||||
//uint32 characterPoints[2]; // 12-13 m_characterPoints[2]
|
//uint32 // 12
|
||||||
|
//uint32 // 13 4.0.0
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SoundEntriesEntry
|
struct SoundEntriesEntry
|
||||||
{
|
{
|
||||||
uint32 Id; // 0 m_ID
|
uint32 Id; // 0 m_ID
|
||||||
//uint32 Type; // 1 m_soundType
|
//uint32 Type; // 1 m_soundType
|
||||||
//char* InternalName; // 2 m_name
|
//DBCString InternalName; // 2 m_name
|
||||||
//char* FileName[10]; // 3-12 m_File[10]
|
//DBCString FileName[10]; // 3-12 m_File[10]
|
||||||
//uint32 Unk13[10]; // 13-22 m_Freq[10]
|
//uint32 Unk13[10]; // 13-22 m_Freq[10]
|
||||||
//char* Path; // 23 m_DirectoryBase
|
//DBCString Path; // 23 m_DirectoryBase
|
||||||
// 24 m_volumeFloat
|
// 24 m_volumeFloat
|
||||||
// 25 m_flags
|
// 25 m_flags
|
||||||
// 26 m_minDistance
|
// 26 m_minDistance
|
||||||
// 27 m_distanceCutoff
|
// 27 m_distanceCutoff
|
||||||
// 28 m_EAXDef
|
// 28 m_EAXDef
|
||||||
// 29 new in 3.1
|
// 29 m_soundEntriesAdvancedID, new in 3.1
|
||||||
|
//unk // 30 4.0.0
|
||||||
|
//unk // 31 4.0.0
|
||||||
|
//unk // 32 4.0.0
|
||||||
|
//unk // 33 4.0.0
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_SPELL_EFFECTS 3
|
#define MAX_SPELL_EFFECTS 3
|
||||||
@@ -1782,27 +1840,27 @@ struct TalentEntry
|
|||||||
uint32 Row; // 2
|
uint32 Row; // 2
|
||||||
uint32 Col; // 3
|
uint32 Col; // 3
|
||||||
uint32 RankID[MAX_TALENT_RANK]; // 4-8
|
uint32 RankID[MAX_TALENT_RANK]; // 4-8
|
||||||
// 9-12 not used, always 0, maybe not used high ranks
|
uint32 DependsOn; // 9 m_prereqTalent (Talent.dbc)
|
||||||
uint32 DependsOn; // 13 index in Talent.dbc (TalentEntry)
|
// 10-11 part of prev field
|
||||||
// 14-15 not used
|
uint32 DependsOnRank; // 12 m_prereqRank
|
||||||
uint32 DependsOnRank; // 16
|
// 13-14 part of prev field
|
||||||
// 17-18 not used
|
//uint32 needAddInSpellBook; // 15 m_flags also need disable higest ranks on reset talent tree
|
||||||
//uint32 needAddInSpellBook; // 19 also need disable higest ranks on reset talent tree
|
//uint32 unk2; // 16 m_requiredSpellID
|
||||||
//uint32 unk2; // 20, all 0
|
//uint64 allowForPet; // 17 m_categoryMask its a 64 bit mask for pet 1<<m_categoryEnumID in CreatureFamily.dbc
|
||||||
//uint64 allowForPet; // 21 its a 64 bit mask for pet 1<<m_categoryEnumID in CreatureFamily.dbc
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TalentTabEntry
|
struct TalentTabEntry
|
||||||
{
|
{
|
||||||
uint32 TalentTabID; // 0
|
uint32 TalentTabID; // 0
|
||||||
//char* name[16]; // 1-16, unused
|
//DBCString name; // 1 m_name_lang
|
||||||
//uint32 nameFlags; // 17, unused
|
//unit32 spellicon; // 2 m_spellIconID
|
||||||
//unit32 spellicon; // 18
|
uint32 ClassMask; // 3 m_classMask
|
||||||
// 19 not used
|
uint32 petTalentMask; // 4 m_petTalentMask
|
||||||
uint32 ClassMask; // 20
|
uint32 tabpage; // 5 m_orderIndex
|
||||||
uint32 petTalentMask; // 21
|
//DBCString internalname; // 6 m_backgroundFile
|
||||||
uint32 tabpage; // 22
|
//DBCString description; // 7
|
||||||
//char* internalname; // 23
|
//uint32 rolesMask; // 8 4.0.0
|
||||||
|
//uint32 spellIds[2]; // 9-10 passive mastery bonus spells?
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TaxiNodesEntry
|
struct TaxiNodesEntry
|
||||||
@@ -1812,9 +1870,8 @@ struct TaxiNodesEntry
|
|||||||
float x; // 2 m_x
|
float x; // 2 m_x
|
||||||
float y; // 3 m_y
|
float y; // 3 m_y
|
||||||
float z; // 4 m_z
|
float z; // 4 m_z
|
||||||
char* name[16]; // 5-21 m_Name_lang
|
DBCString name; // 5 m_Name_lang
|
||||||
// 22 string flags
|
uint32 MountCreatureID[2]; // 6-7 m_MountCreatureID[2]
|
||||||
uint32 MountCreatureID[2]; // 23-24 m_MountCreatureID[2]
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TaxiPathEntry
|
struct TaxiPathEntry
|
||||||
@@ -1849,10 +1906,9 @@ struct TeamContributionPointsEntry
|
|||||||
struct TotemCategoryEntry
|
struct TotemCategoryEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0
|
uint32 ID; // 0
|
||||||
//char* name[16]; // 1-16
|
//DBCString name; // 1 m_name_lang
|
||||||
// 17 string flags, unused
|
uint32 categoryType; // 2 m_totemCategoryType (one for specialization)
|
||||||
uint32 categoryType; // 18 (one for specialization)
|
uint32 categoryMask; // 3 m_totemCategoryMask (compatibility mask for same type: different for totems, compatible from high to low for rods)
|
||||||
uint32 categoryMask; // 19 (compatibility mask for same type: different for totems, compatible from high to low for rods)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_VEHICLE_SEATS 8
|
#define MAX_VEHICLE_SEATS 8
|
||||||
@@ -1882,9 +1938,9 @@ struct VehicleEntry
|
|||||||
float m_msslTrgtArcRepeat; // 25
|
float m_msslTrgtArcRepeat; // 25
|
||||||
float m_msslTrgtArcWidth; // 26
|
float m_msslTrgtArcWidth; // 26
|
||||||
float m_msslTrgtImpactRadius[2]; // 27-28
|
float m_msslTrgtImpactRadius[2]; // 27-28
|
||||||
char* m_msslTrgtArcTexture; // 29
|
DBCString m_msslTrgtArcTexture; // 29
|
||||||
char* m_msslTrgtImpactTexture; // 30
|
DBCString m_msslTrgtImpactTexture; // 30
|
||||||
char* m_msslTrgtImpactModel[2]; // 31-32
|
DBCString m_msslTrgtImpactModel[2]; // 31-32
|
||||||
float m_cameraYawOffset; // 33
|
float m_cameraYawOffset; // 33
|
||||||
uint32 m_uiLocomotionType; // 34
|
uint32 m_uiLocomotionType; // 34
|
||||||
float m_msslTrgtImpactTexRadius; // 35
|
float m_msslTrgtImpactTexRadius; // 35
|
||||||
@@ -1964,8 +2020,10 @@ struct WMOAreaTableEntry
|
|||||||
//uint32 field8;
|
//uint32 field8;
|
||||||
uint32 Flags; // 9 used for indoor/outdoor determination
|
uint32 Flags; // 9 used for indoor/outdoor determination
|
||||||
uint32 areaId; // 10 link to AreaTableEntry.ID
|
uint32 areaId; // 10 link to AreaTableEntry.ID
|
||||||
//char *Name[16];
|
//char *Name; // 11 m_AreaName_lang
|
||||||
//uint32 nameFlags;
|
//uint32 field12; // 12
|
||||||
|
//uint32 field13; // 13
|
||||||
|
//uint32 field14; // 14
|
||||||
};
|
};
|
||||||
|
|
||||||
struct WorldMapAreaEntry
|
struct WorldMapAreaEntry
|
||||||
@@ -1973,7 +2031,7 @@ struct WorldMapAreaEntry
|
|||||||
//uint32 ID; // 0
|
//uint32 ID; // 0
|
||||||
uint32 map_id; // 1
|
uint32 map_id; // 1
|
||||||
uint32 area_id; // 2 index (continent 0 areas ignored)
|
uint32 area_id; // 2 index (continent 0 areas ignored)
|
||||||
//char* internal_name // 3
|
//DBCString internal_name // 3
|
||||||
float y1; // 4
|
float y1; // 4
|
||||||
float y2; // 5
|
float y2; // 5
|
||||||
float x1; // 6
|
float x1; // 6
|
||||||
@@ -1990,9 +2048,15 @@ struct WorldMapOverlayEntry
|
|||||||
uint32 ID; // 0
|
uint32 ID; // 0
|
||||||
//uint32 worldMapAreaId; // 1 idx in WorldMapArea.dbc
|
//uint32 worldMapAreaId; // 1 idx in WorldMapArea.dbc
|
||||||
uint32 areatableID[MAX_WORLD_MAP_OVERLAY_AREA_IDX]; // 2-5
|
uint32 areatableID[MAX_WORLD_MAP_OVERLAY_AREA_IDX]; // 2-5
|
||||||
// 6-7 always 0, possible part of areatableID[]
|
//DBCString internal_name // 6 m_textureName
|
||||||
//char* internal_name // 8
|
// 7 m_textureWidth
|
||||||
// 9-16 some ints
|
// 8 m_textureHeight
|
||||||
|
// 9 m_offsetX
|
||||||
|
// 10 m_offsetY
|
||||||
|
// 11 m_hitRectTop
|
||||||
|
// 12 m_hitRectLeft
|
||||||
|
// 13 m_hitRectBottom
|
||||||
|
// 14 m_hitRectRight
|
||||||
};
|
};
|
||||||
|
|
||||||
struct WorldSafeLocsEntry
|
struct WorldSafeLocsEntry
|
||||||
@@ -2002,8 +2066,7 @@ struct WorldSafeLocsEntry
|
|||||||
float x; // 2
|
float x; // 2
|
||||||
float y; // 3
|
float y; // 3
|
||||||
float z; // 4
|
float z; // 4
|
||||||
//char* name[16] // 5-20 name, unused
|
//DBCString name; // 5 m_AreaName_lang
|
||||||
// 21 name flags, unused
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -38,64 +38,72 @@ const char ChatChannelsEntryfmt[]="nixsx";
|
|||||||
|
|
||||||
const char ChrClassesEntryfmt[]="nixsxxxixiixxx";
|
const char ChrClassesEntryfmt[]="nixsxxxixiixxx";
|
||||||
const char ChrRacesEntryfmt[]="nxixiixixxxxixsxxxxxixxx";
|
const char ChrRacesEntryfmt[]="nxixiixixxxxixsxxxxxixxx";
|
||||||
|
const char ChrClassesXPowerTypesfmt[]="nii";
|
||||||
|
|
||||||
const char CinematicSequencesEntryfmt[]="nxxxxxxxxx";
|
const char CinematicSequencesEntryfmt[]="nxxxxxxxxx";
|
||||||
const char CreatureDisplayInfofmt[]="nxxxfxxxxxxxxxxx";
|
const char CreatureDisplayInfofmt[]="nxxxfxxxxxxxxxxxx";
|
||||||
const char CreatureFamilyfmt[]="nfifiiiiixssssssssssssssssxx";
|
const char CreatureFamilyfmt[]="nfifiiiiixsx";
|
||||||
const char CreatureSpellDatafmt[]="niiiixxxx";
|
const char CreatureSpellDatafmt[]="niiiixxxx";
|
||||||
const char CreatureTypefmt[]="nxxxxxxxxxxxxxxxxxx";
|
const char CreatureTypefmt[]="nxx";
|
||||||
const char CurrencyTypesfmt[]="nxxxxxxiixx";//14545
|
const char CurrencyTypesfmt[]="nxxxxxxiixx";
|
||||||
const char DestructibleModelDatafmt[]="nxxixxxixxxixxxixxx";
|
|
||||||
const char DungeonEncounterfmt[]="niixissssssssssssssssxx";
|
const char DestructibleModelDatafmt[]="ixxixxxixxxixxxixxxxxxxx";
|
||||||
|
const char DungeonEncounterfmt[]="iiixisxx";
|
||||||
const char DurabilityCostsfmt[]="niiiiiiiiiiiiiiiiiiiiiiiiiiiii";
|
const char DurabilityCostsfmt[]="niiiiiiiiiiiiiiiiiiiiiiiiiiiii";
|
||||||
const char DurabilityQualityfmt[]="nf";
|
const char DurabilityQualityfmt[]="nf";
|
||||||
const char EmotesEntryfmt[]="nxxiiix";
|
const char EmotesEntryfmt[]="nxxiiixx";
|
||||||
const char EmotesTextEntryfmt[]="nxixxxxxxxxxxxxxxxx";
|
const char EmotesTextEntryfmt[]="nxixxxxxxxxxxxxxxxx";
|
||||||
const char FactionEntryfmt[]="niiiiiiiiiiiiiiiiiiffixssssssssssssssssxxxxxxxxxxxxxxxxxx";
|
const char FactionEntryfmt[]="niiiiiiiiiiiiiiiiiiffixsxx";
|
||||||
const char FactionTemplateEntryfmt[]="niiiiiiiiiiiii";
|
const char FactionTemplateEntryfmt[]="niiiiiiiiiiiii";
|
||||||
const char GameObjectDisplayInfofmt[]="nxxxxxxxxxxxffffffx";
|
const char GameObjectDisplayInfofmt[]="nxxxxxxxxxxxffffffxxx";
|
||||||
const char GemPropertiesEntryfmt[]="nixxi";
|
|
||||||
|
const char GemPropertiesEntryfmt[]="nixxix";
|
||||||
const char GlyphPropertiesfmt[]="niii";
|
const char GlyphPropertiesfmt[]="niii";
|
||||||
const char GlyphSlotfmt[]="nii";
|
const char GlyphSlotfmt[]="nii";
|
||||||
const char GtBarberShopCostBasefmt[]="f";
|
|
||||||
const char GtCombatRatingsfmt[]="f";
|
const char GtBarberShopCostBasefmt[]="xf";
|
||||||
const char GtChanceToMeleeCritBasefmt[]="f";
|
const char GtCombatRatingsfmt[]="xf";
|
||||||
const char GtChanceToMeleeCritfmt[]="f";
|
const char GtOCTHpPerStaminafmt[]="xf";
|
||||||
const char GtChanceToSpellCritBasefmt[]="f";
|
const char GtChanceToMeleeCritBasefmt[]="xf";
|
||||||
const char GtChanceToSpellCritfmt[]="f";
|
const char GtChanceToMeleeCritfmt[]="xf";
|
||||||
|
const char GtChanceToSpellCritBasefmt[]="xf";
|
||||||
|
const char GtChanceToSpellCritfmt[]="xf";
|
||||||
const char GtOCTClassCombatRatingScalarfmt[]="df";
|
const char GtOCTClassCombatRatingScalarfmt[]="df";
|
||||||
const char GtOCTRegenHPfmt[]="f";
|
const char GtOCTRegenHPfmt[]="f";
|
||||||
//const char GtOCTRegenMPfmt[]="f";
|
//const char GtOCTRegenMPfmt[]="f";
|
||||||
const char GtRegenHPPerSptfmt[]="f";
|
const char GtRegenHPPerSptfmt[]="f";
|
||||||
const char GtRegenMPPerSptfmt[]="f";
|
const char GtRegenMPPerSptfmt[]="xf";
|
||||||
|
|
||||||
const char Holidaysfmt[]="nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
|
const char Holidaysfmt[]="nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
|
||||||
const char Itemfmt[]="niiiiiii";
|
const char Itemfmt[]="niiiiiii";
|
||||||
const char ItemBagFamilyfmt[]="nxxxxxxxxxxxxxxxxx";
|
const char ItemBagFamilyfmt[]="nx";
|
||||||
|
const char ItemClassfmt[]="dixxx";
|
||||||
//const char ItemDisplayTemplateEntryfmt[]="nxxxxxxxxxxixxxxxxxxxxx";
|
//const char ItemDisplayTemplateEntryfmt[]="nxxxxxxxxxxixxxxxxxxxxx";
|
||||||
//const char ItemCondExtCostsEntryfmt[]="xiii";
|
//const char ItemCondExtCostsEntryfmt[]="xiii";
|
||||||
const char ItemExtendedCostEntryfmt[]="niiiiiiiiiiiiiix";
|
const char ItemExtendedCostEntryfmt[]="niiiiiiiiiiiiiix";
|
||||||
const char ItemLimitCategoryEntryfmt[]="nxxxxxxxxxxxxxxxxxii";
|
const char ItemLimitCategoryEntryfmt[]="nxii";
|
||||||
const char ItemRandomPropertiesfmt[]="nxiiixxssssssssssssssssx";
|
const char ItemRandomPropertiesfmt[]="nxiiixxs";
|
||||||
const char ItemRandomSuffixfmt[]="nssssssssssssssssxxiiixxiiixx";
|
const char ItemRandomSuffixfmt[]="nsxiiiiiiiiii";
|
||||||
const char ItemSetEntryfmt[]="dssssssssssssssssxiiiiiiiiiixxxxxxxiiiiiiiiiiiiiiiiii";
|
const char ItemSetEntryfmt[]="dsiiiiiiiiiixxxxxxxiiiiiiiiiiiiiiiiii";
|
||||||
const char LFGDungeonEntryfmt[]="nxxxxxxxxxxxxxxxxxiiiiiiixixxixixxxxxxxxxxxxxxxxx";
|
const char LFGDungeonEntryfmt[]="nxiiiiiiixixxixixx";
|
||||||
//const char LiquidTypeEntryfmt[]="nsiiiiffffifiiisssssiiffffffffffffffffffiiii";
|
//const char LiquidTypeEntryfmt[]="nsiiiiffffifiiisssssiiffffffffffffffffffiiii";
|
||||||
const char LockEntryfmt[]="niiiiiiiiiiiiiiiiiiiiiiiixxxxxxxx";
|
const char LockEntryfmt[]="niiiiiiiiiiiiiiiiiiiiiiiixxxxxxxx";
|
||||||
const char MailTemplateEntryfmt[]="nxxxxxxxxxxxxxxxxxssssssssssssssssx";
|
const char PhaseEntryfmt[]="nsi";
|
||||||
const char MapEntryfmt[]="nxixxssssssssssssssssxixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxixiffxiix";
|
const char MailTemplateEntryfmt[]="nxs";
|
||||||
const char MapDifficultyEntryfmt[]="diisxxxxxxxxxxxxxxxxiix";
|
const char MapEntryfmt[]="nxixxxsixxixiffxiixx";
|
||||||
const char MovieEntryfmt[]="nxx";
|
const char MapDifficultyEntryfmt[]="diisiix";
|
||||||
const char OverrideSpellDatafmt[]="niiiiiiiiiix";
|
const char MovieEntryfmt[]="nxxx";
|
||||||
const char QuestSortEntryfmt[]="nxxxxxxxxxxxxxxxxx";
|
const char OverrideSpellDatafmt[]="niiiiiiiiiixx";
|
||||||
|
const char QuestSortEntryfmt[]="nx";
|
||||||
const char QuestXPfmt[]="niiiiiiiiii";
|
const char QuestXPfmt[]="niiiiiiiiii";
|
||||||
const char QuestFactionRewardfmt[]="niiiiiiiiii";
|
const char QuestFactionRewardfmt[]="niiiiiiiiii";
|
||||||
const char PvPDifficultyfmt[]="diiiii";
|
const char PvPDifficultyfmt[]="diiiii";
|
||||||
const char RandomPropertiesPointsfmt[]="niiiiiiiiiiiiiii";
|
const char RandomPropertiesPointsfmt[]="niiiiiiiiiiiiiii";
|
||||||
const char ScalingStatDistributionfmt[]="niiiiiiiiiiiiiiiiiiiii";
|
const char ScalingStatDistributionfmt[]="niiiiiiiiiiiiiiiiiiiixi";
|
||||||
const char ScalingStatValuesfmt[]="iniiiiiiiiiiiiiiiiixiiii";
|
const char ScalingStatValuesfmt[]="iniiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxx";
|
||||||
const char SkillLinefmt[]="nixssssssssssssssssxxxxxxxxxxxxxxxxxxixxxxxxxxxxxxxxxxxi";
|
const char SkillLinefmt[]="nisxixi";
|
||||||
const char SkillLineAbilityfmt[]="niiiixxiiiiixx";
|
const char SkillLineAbilityfmt[]="niiiixxiiiiixx";
|
||||||
const char SoundEntriesfmt[]="nxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
|
const char SoundEntriesfmt[]="nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
|
||||||
const char SpellCastTimefmt[]="nixx";
|
const char SpellCastTimefmt[]="nixx";
|
||||||
const char SpellDifficultyfmt[]="niiii";
|
const char SpellDifficultyfmt[]="niiii";
|
||||||
const std::string CustomSpellDifficultyfmt="ppppp";
|
const std::string CustomSpellDifficultyfmt="ppppp";
|
||||||
@@ -113,18 +121,18 @@ const char SpellRuneCostfmt[]="niiii";
|
|||||||
const char SpellShapeshiftfmt[]="nxxxxxxxxxxxxxxxxxxiixiiixxiiiiiiii";
|
const char SpellShapeshiftfmt[]="nxxxxxxxxxxxxxxxxxxiixiiixxiiiiiiii";
|
||||||
const char StableSlotPricesfmt[] = "ni";
|
const char StableSlotPricesfmt[] = "ni";
|
||||||
const char SummonPropertiesfmt[] = "niiiii";
|
const char SummonPropertiesfmt[] = "niiiii";
|
||||||
const char TalentEntryfmt[]="niiiiiiiixxxxixxixxxxxx";
|
const char TalentEntryfmt[]="niiiiiiiiixxixxxxxx";
|
||||||
const char TalentTabEntryfmt[]="nxxxxxxxxxxxxxxxxxxxiiix";
|
const char TalentTabEntryfmt[]="nxxiiixxxxx";
|
||||||
const char TaxiNodesEntryfmt[]="nifffssssssssssssssssxii";
|
const char TaxiNodesEntryfmt[]="nifffsiixxx";
|
||||||
const char TaxiPathEntryfmt[]="niii";
|
const char TaxiPathEntryfmt[]="niii";
|
||||||
const char TaxiPathNodeEntryfmt[]="diiifffiiii";
|
const char TaxiPathNodeEntryfmt[]="diiifffiiii";
|
||||||
const char TeamContributionPointsfmt[]="df";
|
const char TeamContributionPointsfmt[]="df";
|
||||||
const char TotemCategoryEntryfmt[]="nxxxxxxxxxxxxxxxxxii";
|
const char TotemCategoryEntryfmt[]="nxii";
|
||||||
const char VehicleEntryfmt[]="niffffiiiiiiiifffffffffffffffssssfifiixx";
|
const char VehicleEntryfmt[]="niffffiiiiiiiifffffffffffffffssssfifiixx";
|
||||||
const char VehicleSeatEntryfmt[]="niiffffffffffiiiiiifffffffiiifffiiiiiiiffiiiiixxxxxxxxxxxx";
|
const char VehicleSeatEntryfmt[]="niiffffffffffiiiiiifffffffiiifffiiiiiiiffiiiiixxxxxxxxxxxxxxxxxxxx";
|
||||||
const char WMOAreaTableEntryfmt[]="niiixxxxxiixxxxxxxxxxxxxxxxx";
|
const char WMOAreaTableEntryfmt[]="niiixxxxxiixxxx";
|
||||||
const char WorldMapAreaEntryfmt[]="xinxffffixx";
|
const char WorldMapAreaEntryfmt[]="xinxffffixxx";
|
||||||
const char WorldMapOverlayEntryfmt[]="nxiiiixxxxxxxxxxx";
|
const char WorldMapOverlayEntryfmt[]="nxiiiixxxxxxxxx";
|
||||||
const char WorldSafeLocsEntryfmt[]="nifffxxxxxxxxxxxxxxxxx";
|
const char WorldSafeLocsEntryfmt[]="nifffx";
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5909,18 +5909,13 @@ float Player::OCTRegenHPPerSpirit()
|
|||||||
if (level > GT_MAX_LEVEL)
|
if (level > GT_MAX_LEVEL)
|
||||||
level = GT_MAX_LEVEL;
|
level = GT_MAX_LEVEL;
|
||||||
|
|
||||||
GtOCTRegenHPEntry const* baseRatio = sGtOCTRegenHPStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
|
|
||||||
GtRegenHPPerSptEntry const* moreRatio = sGtRegenHPPerSptStore.LookupEntry((pclass-1)*GT_MAX_LEVEL + level-1);
|
|
||||||
if (baseRatio == NULL || moreRatio == NULL)
|
|
||||||
return 0.0f;
|
|
||||||
|
|
||||||
// Formula from PaperDollFrame script
|
// Formula from PaperDollFrame script
|
||||||
float spirit = GetStat(STAT_SPIRIT);
|
float spirit = GetStat(STAT_SPIRIT);
|
||||||
float baseSpirit = spirit;
|
float baseSpirit = spirit;
|
||||||
if (baseSpirit > 50)
|
if (baseSpirit > 50)
|
||||||
baseSpirit = 50;
|
baseSpirit = 50;
|
||||||
float moreSpirit = spirit - baseSpirit;
|
float moreSpirit = spirit - baseSpirit;
|
||||||
float regen = baseSpirit * baseRatio->ratio + moreSpirit * moreRatio->ratio;
|
float regen = baseSpirit + moreSpirit;
|
||||||
return regen;
|
return regen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6712,7 +6712,7 @@ std::string ObjectMgr::GeneratePetName(uint32 entry)
|
|||||||
if (list0.empty() || list1.empty())
|
if (list0.empty() || list1.empty())
|
||||||
{
|
{
|
||||||
CreatureTemplate const* cinfo = GetCreatureTemplate(entry);
|
CreatureTemplate const* cinfo = GetCreatureTemplate(entry);
|
||||||
char* petname = GetPetName(cinfo->family, sWorld->GetDefaultDbcLocale());
|
const char* petname = GetPetName(cinfo->family, sWorld->GetDefaultDbcLocale());
|
||||||
if (!petname)
|
if (!petname)
|
||||||
return cinfo->Name;
|
return cinfo->Name;
|
||||||
|
|
||||||
|
|||||||
@@ -753,7 +753,7 @@ void WorldSession::HandleBuyStableSlot(WorldPacket & recv_data)
|
|||||||
|
|
||||||
if (GetPlayer()->m_stableSlots < MAX_PET_STABLES)
|
if (GetPlayer()->m_stableSlots < MAX_PET_STABLES)
|
||||||
{
|
{
|
||||||
StableSlotPricesEntry const* SlotPrice = sStableSlotPricesStore.LookupEntry(GetPlayer()->m_stableSlots+1);
|
/*StableSlotPricesEntry const* SlotPrice = sStableSlotPricesStore.LookupEntry(GetPlayer()->m_stableSlots+1);
|
||||||
if (_player->HasEnoughMoney(SlotPrice->Price))
|
if (_player->HasEnoughMoney(SlotPrice->Price))
|
||||||
{
|
{
|
||||||
++GetPlayer()->m_stableSlots;
|
++GetPlayer()->m_stableSlots;
|
||||||
@@ -761,7 +761,7 @@ void WorldSession::HandleBuyStableSlot(WorldPacket & recv_data)
|
|||||||
SendStableResult(STABLE_SUCCESS_BUY_SLOT);
|
SendStableResult(STABLE_SUCCESS_BUY_SLOT);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
SendStableResult(STABLE_ERR_MONEY);
|
SendStableResult(STABLE_ERR_MONEY);*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
SendStableResult(STABLE_ERR_STABLE);
|
SendStableResult(STABLE_ERR_STABLE);
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ public:
|
|||||||
indexTable = NULL;
|
indexTable = NULL;
|
||||||
delete[] ((char*)m_dataTable);
|
delete[] ((char*)m_dataTable);
|
||||||
m_dataTable = NULL;
|
m_dataTable = NULL;
|
||||||
for (DataTableEx::const_iterator itr = m_dataTableEx.begin(); itr != m_dataTableEx.end(); ++itr)
|
for (typename DataTableEx::const_iterator itr = m_dataTableEx.begin(); itr != m_dataTableEx.end(); ++itr)
|
||||||
delete *itr;
|
delete *itr;
|
||||||
m_dataTableEx.clear();
|
m_dataTableEx.clear();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user