-started updating DBC formats for 14545
-added new dbc files for dev usage
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.
@@ -1965,7 +1965,7 @@ void AchievementMgr::StartTimedAchievement(AchievementCriteriaTimedTypes type, u
|
|||||||
AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetTimedAchievementCriteriaByType(type);
|
AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetTimedAchievementCriteriaByType(type);
|
||||||
for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList.begin(); i != achievementCriteriaList.end(); ++i)
|
for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList.begin(); i != achievementCriteriaList.end(); ++i)
|
||||||
{
|
{
|
||||||
if ((*i)->timerStartEvent != entry)
|
if ((*i)->timedCriteriaMiscId != entry)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
AchievementEntry const* achievement = sAchievementStore.LookupEntry((*i)->referredAchievement);
|
AchievementEntry const* achievement = sAchievementStore.LookupEntry((*i)->referredAchievement);
|
||||||
@@ -1988,7 +1988,7 @@ void AchievementMgr::RemoveTimedAchievement(AchievementCriteriaTimedTypes type,
|
|||||||
AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetTimedAchievementCriteriaByType(type);
|
AchievementCriteriaEntryList const& achievementCriteriaList = sAchievementMgr->GetTimedAchievementCriteriaByType(type);
|
||||||
for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList.begin(); i!=achievementCriteriaList.end(); ++i)
|
for (AchievementCriteriaEntryList::const_iterator i = achievementCriteriaList.begin(); i!=achievementCriteriaList.end(); ++i)
|
||||||
{
|
{
|
||||||
if ((*i)->timerStartEvent != entry)
|
if ((*i)->timedCriteriaMiscId != entry)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
TimedAchievementMap::iterator timedIter = m_timedAchievements.find((*i)->ID);
|
TimedAchievementMap::iterator timedIter = m_timedAchievements.find((*i)->ID);
|
||||||
@@ -2194,7 +2194,7 @@ void AchievementGlobalMgr::LoadAchievementCriteriaList()
|
|||||||
m_AchievementCriteriaListByAchievement[criteria->referredAchievement].push_back(criteria);
|
m_AchievementCriteriaListByAchievement[criteria->referredAchievement].push_back(criteria);
|
||||||
|
|
||||||
if (criteria->timeLimit)
|
if (criteria->timeLimit)
|
||||||
m_AchievementCriteriasByTimedType[criteria->timedType].push_back(criteria);
|
m_AchievementCriteriasByTimedType[criteria->timedCriteriaStartType].push_back(criteria);
|
||||||
}
|
}
|
||||||
|
|
||||||
sLog->outString(">> Loaded %lu achievement criteria in %u ms", (unsigned long)m_AchievementCriteriasByType->size(), GetMSTimeDiffToNow(oldMSTime));
|
sLog->outString(">> Loaded %lu achievement criteria in %u ms", (unsigned long)m_AchievementCriteriasByType->size(), GetMSTimeDiffToNow(oldMSTime));
|
||||||
|
|||||||
@@ -765,7 +765,7 @@ void BattlegroundMgr::CreateInitialBattlegrounds()
|
|||||||
|
|
||||||
selectionWeight = fields[9].GetUInt8();
|
selectionWeight = fields[9].GetUInt8();
|
||||||
data.scriptId = sObjectMgr->GetScriptId(fields[10].GetCString());
|
data.scriptId = sObjectMgr->GetScriptId(fields[10].GetCString());
|
||||||
data.BattlegroundName = bl->name[sWorld->GetDefaultDbcLocale()];
|
//data.BattlegroundName = bl->name[sWorld->GetDefaultDbcLocale()];
|
||||||
data.MapID = bl->mapid[0];
|
data.MapID = bl->mapid[0];
|
||||||
|
|
||||||
if (!CreateBattleground(data))
|
if (!CreateBattleground(data))
|
||||||
|
|||||||
@@ -68,6 +68,14 @@ enum AchievementFlags
|
|||||||
ACHIEVEMENT_FLAG_BAR = 0x00000080, // Show as progress bar (value / max vale) depend from other flag (by def use last criteria value)
|
ACHIEVEMENT_FLAG_BAR = 0x00000080, // Show as progress bar (value / max vale) depend from other flag (by def use last criteria value)
|
||||||
ACHIEVEMENT_FLAG_REALM_FIRST_REACH = 0x00000100, //
|
ACHIEVEMENT_FLAG_REALM_FIRST_REACH = 0x00000100, //
|
||||||
ACHIEVEMENT_FLAG_REALM_FIRST_KILL = 0x00000200, //
|
ACHIEVEMENT_FLAG_REALM_FIRST_KILL = 0x00000200, //
|
||||||
|
ACHIEVEMENT_FLAG_UNK3 = 0x00000400, // ACHIEVEMENT_FLAG_HIDE_NAME_IN_TIE
|
||||||
|
ACHIEVEMENT_FLAG_REALM_FIRST_GUILD = 0x00000800, // first guild on realm done something
|
||||||
|
ACHIEVEMENT_FLAG_UNK4 = 0x00001000, // as guild group?
|
||||||
|
ACHIEVEMENT_FLAG_UNK5 = 0x00002000, // as guild group?
|
||||||
|
ACHIEVEMENT_FLAG_GUILD = 0x00004000, //
|
||||||
|
ACHIEVEMENT_FLAG_SHOW_GUILD_MEMBERS = 0x00008000, //
|
||||||
|
ACHIEVEMENT_FLAG_SHOW_CRITERIA_MEMBERS = 0x00010000, //
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_CRITERIA_REQUIREMENTS 2
|
#define MAX_CRITERIA_REQUIREMENTS 2
|
||||||
@@ -102,6 +110,7 @@ enum AchievementCriteriaTimedTypes
|
|||||||
ACHIEVEMENT_TIMED_TYPE_SPELL_TARGET = 6, // Timer is started by being target of spell with entry in timerStartEvent
|
ACHIEVEMENT_TIMED_TYPE_SPELL_TARGET = 6, // Timer is started by being target of spell with entry in timerStartEvent
|
||||||
ACHIEVEMENT_TIMED_TYPE_CREATURE = 7, // Timer is started by killing creature with entry in timerStartEvent
|
ACHIEVEMENT_TIMED_TYPE_CREATURE = 7, // Timer is started by killing creature with entry in timerStartEvent
|
||||||
ACHIEVEMENT_TIMED_TYPE_ITEM = 9, // Timer is started by using item with entry in timerStartEvent
|
ACHIEVEMENT_TIMED_TYPE_ITEM = 9, // Timer is started by using item with entry in timerStartEvent
|
||||||
|
ACHIEVEMENT_TIMED_TYPE_UNK = 10, // Unknown
|
||||||
|
|
||||||
ACHIEVEMENT_TIMED_TYPE_MAX,
|
ACHIEVEMENT_TIMED_TYPE_MAX,
|
||||||
};
|
};
|
||||||
@@ -215,17 +224,56 @@ enum AchievementCriteriaTypes
|
|||||||
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE= 112,
|
ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE= 112,
|
||||||
ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL = 113,
|
ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL = 113,
|
||||||
ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS = 114,
|
ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS = 114,
|
||||||
// 0..115 => 116 criteria types total
|
|
||||||
ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS = 115,
|
ACHIEVEMENT_CRITERIA_TYPE_EARN_ACHIEVEMENT_POINTS = 115,
|
||||||
ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS = 119,
|
ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS = 119,
|
||||||
// 120
|
// 120 -
|
||||||
// 121
|
// 121 -
|
||||||
// 122
|
// 122 -
|
||||||
// 123
|
// 123 -
|
||||||
// 0..123 => 124 criteria types total
|
ACHIEVEMENT_CRITERIA_TYPE_SPENT_GOLD_GUILD_REPAIRS = 124,
|
||||||
ACHIEVEMENT_CRITERIA_TYPE_TOTAL = 124,
|
ACHIEVEMENT_CRITERIA_TYPE_REACH_GUILD_LEVEL = 125,
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_CRAFT_ITEMS_GUILD = 126,
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_CATCH_FROM_POOL = 127,
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_BUY_GUILD_BANK_SLOTS = 128,
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_EARN_GUILD_ACHIEVEMENT_POINTS = 129,
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_BATTLEGROUND = 130,
|
||||||
|
// 131 -
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_REACH_BG_RATING = 132,
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_BUY_GUILD_TABARD = 133,
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_GUILD = 134,
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILLS_GUILD = 135,
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE_GUILD = 136,
|
||||||
|
// 0..136 => 137 criteria types total
|
||||||
|
ACHIEVEMENT_CRITERIA_TYPE_TOTAL = 137,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum AchievementCriteriaMoreReqType
|
||||||
|
{
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_ITEM_LEVEL = 3,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_CREATURE_ID = 4,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_SPELL = 8,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_SPELL_ON_TARGET = 10,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_ITEM_QUALITY_EQUIPPED = 14,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_ITEM_QUALITY_LOOTED = 15,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_AREA_ID = 17,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_AREA_ID2 = 18,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_RAID_DIFFICULTY = 20,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_ARENA_TYPE = 24,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_CLASS = 26,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_RACE = 27,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_CLASS2 = 28,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_CREATURE_TYPE = 30,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_MAP_ID = 32,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_TIMED_QUEST = 35,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_TITLE = 38,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_LEVEL = 39,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_PLAYER_LEVEL2 = 40,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_AREA_ID3 = 41,
|
||||||
|
ACHIEVEMENT_CRITERIA_MORE_REQ_TYPE_GUILD_REP = 62,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
enum AchievementCategory
|
enum AchievementCategory
|
||||||
{
|
{
|
||||||
CATEGORY_CHILDRENS_WEEK = 163,
|
CATEGORY_CHILDRENS_WEEK = 163,
|
||||||
@@ -233,7 +281,7 @@ enum AchievementCategory
|
|||||||
|
|
||||||
enum AreaFlags
|
enum AreaFlags
|
||||||
{
|
{
|
||||||
AREA_FLAG_UNK0 = 0x00000001, // Unknown
|
AREA_FLAG_SNOW = 0x00000001, // snow (only Dun Morogh, Naxxramas, Razorfen Downs and Winterspring)
|
||||||
AREA_FLAG_UNK1 = 0x00000002, // Razorfen Downs, Naxxramas and Acherus: The Ebon Hold (3.3.5a)
|
AREA_FLAG_UNK1 = 0x00000002, // Razorfen Downs, Naxxramas and Acherus: The Ebon Hold (3.3.5a)
|
||||||
AREA_FLAG_UNK2 = 0x00000004, // Only used for areas on map 571 (development before)
|
AREA_FLAG_UNK2 = 0x00000004, // Only used for areas on map 571 (development before)
|
||||||
AREA_FLAG_SLAVE_CAPITAL = 0x00000008, // city and city subsones
|
AREA_FLAG_SLAVE_CAPITAL = 0x00000008, // city and city subsones
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ static WMOAreaInfoByTripple sWMOAreaInfoByTripple;
|
|||||||
DBCStorage <AchievementEntry> sAchievementStore(Achievementfmt);
|
DBCStorage <AchievementEntry> sAchievementStore(Achievementfmt);
|
||||||
DBCStorage <AchievementCriteriaEntry> sAchievementCriteriaStore(AchievementCriteriafmt);
|
DBCStorage <AchievementCriteriaEntry> sAchievementCriteriaStore(AchievementCriteriafmt);
|
||||||
DBCStorage <AreaTriggerEntry> sAreaTriggerStore(AreaTriggerEntryfmt);
|
DBCStorage <AreaTriggerEntry> sAreaTriggerStore(AreaTriggerEntryfmt);
|
||||||
|
DBCStorage <ArmorLocationEntry> sArmorLocationStore(ArmorLocationfmt);
|
||||||
DBCStorage <AuctionHouseEntry> sAuctionHouseStore(AuctionHouseEntryfmt);
|
DBCStorage <AuctionHouseEntry> sAuctionHouseStore(AuctionHouseEntryfmt);
|
||||||
DBCStorage <BankBagSlotPricesEntry> sBankBagSlotPricesStore(BankBagSlotPricesEntryfmt);
|
DBCStorage <BankBagSlotPricesEntry> sBankBagSlotPricesStore(BankBagSlotPricesEntryfmt);
|
||||||
DBCStorage <BattlemasterListEntry> sBattlemasterListStore(BattlemasterListEntryfmt);
|
DBCStorage <BattlemasterListEntry> sBattlemasterListStore(BattlemasterListEntryfmt);
|
||||||
@@ -275,20 +276,21 @@ void LoadDBCStores(const std::string& dataPath)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sAchievementStore, dbcPath, "Achievement.dbc", &CustomAchievementfmt, &CustomAchievementIndex);
|
LoadDBC(availableDbcLocales, bad_dbc_files, sAchievementStore, dbcPath, "Achievement.dbc"/*, &CustomAchievementfmt, &CustomAchievementIndex*/);//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sAchievementCriteriaStore, dbcPath, "Achievement_Criteria.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sAchievementCriteriaStore, dbcPath, "Achievement_Criteria.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sAreaTriggerStore, dbcPath, "AreaTrigger.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sAreaTriggerStore, dbcPath, "AreaTrigger.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sAreaGroupStore, dbcPath, "AreaGroup.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sAreaGroupStore, dbcPath, "AreaGroup.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sAreaPOIStore, dbcPath, "AreaPOI.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sAreaPOIStore, dbcPath, "AreaPOI.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sAuctionHouseStore, dbcPath, "AuctionHouse.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sAuctionHouseStore, dbcPath, "AuctionHouse.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sBankBagSlotPricesStore, dbcPath, "BankBagSlotPrices.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sArmorLocationStore, dbcPath, "ArmorLocation.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sBattlemasterListStore, dbcPath, "BattlemasterList.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sBankBagSlotPricesStore, dbcPath, "BankBagSlotPrices.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sBarberShopStyleStore, dbcPath, "BarberShopStyle.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sBattlemasterListStore, dbcPath, "BattlemasterList.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sCharStartOutfitStore, dbcPath, "CharStartOutfit.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sBarberShopStyleStore, dbcPath, "BarberShopStyle.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sCharTitlesStore, dbcPath, "CharTitles.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCharStartOutfitStore, dbcPath, "CharStartOutfit.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sChatChannelsStore, dbcPath, "ChatChannels.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCharTitlesStore, dbcPath, "CharTitles.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sChrClassesStore, dbcPath, "ChrClasses.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sChatChannelsStore, dbcPath, "ChatChannels.dbc");//14545
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sChrRacesStore, dbcPath, "ChrRaces.dbc");
|
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, sCinematicSequencesStore, dbcPath, "CinematicSequences.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCinematicSequencesStore, dbcPath, "CinematicSequences.dbc");
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureDisplayInfoStore, dbcPath, "CreatureDisplayInfo.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureDisplayInfoStore, dbcPath, "CreatureDisplayInfo.dbc");
|
||||||
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureFamilyStore, dbcPath, "CreatureFamily.dbc");
|
LoadDBC(availableDbcLocales, bad_dbc_files, sCreatureFamilyStore, dbcPath, "CreatureFamily.dbc");
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ extern DBCStorage <AreaTableEntry> sAreaStore;// recommend access
|
|||||||
extern DBCStorage <AreaGroupEntry> sAreaGroupStore;
|
extern DBCStorage <AreaGroupEntry> sAreaGroupStore;
|
||||||
extern DBCStorage <AreaPOIEntry> sAreaPOIStore;
|
extern DBCStorage <AreaPOIEntry> sAreaPOIStore;
|
||||||
extern DBCStorage <AreaTriggerEntry> sAreaTriggerStore;
|
extern DBCStorage <AreaTriggerEntry> sAreaTriggerStore;
|
||||||
|
extern DBCStorage <ArmorLocationEntry> sArmorLocationStore;
|
||||||
extern DBCStorage <AuctionHouseEntry> sAuctionHouseStore;
|
extern DBCStorage <AuctionHouseEntry> sAuctionHouseStore;
|
||||||
extern DBCStorage <BankBagSlotPricesEntry> sBankBagSlotPricesStore;
|
extern DBCStorage <BankBagSlotPricesEntry> sBankBagSlotPricesStore;
|
||||||
extern DBCStorage <BarberShopStyleEntry> sBarberShopStyleStore;
|
extern DBCStorage <BarberShopStyleEntry> sBarberShopStyleStore;
|
||||||
|
|||||||
@@ -44,28 +44,24 @@ struct AchievementEntry
|
|||||||
int32 requiredFaction; // 1 -1=all, 0=horde, 1=alliance
|
int32 requiredFaction; // 1 -1=all, 0=horde, 1=alliance
|
||||||
int32 mapID; // 2 -1=none
|
int32 mapID; // 2 -1=none
|
||||||
//uint32 parentAchievement; // 3 its Achievement parent (can`t start while parent uncomplete, use its Criteria if don`t have own, use its progress on begin)
|
//uint32 parentAchievement; // 3 its Achievement parent (can`t start while parent uncomplete, use its Criteria if don`t have own, use its progress on begin)
|
||||||
char *name[16]; // 4-19
|
DBCString name; // 4
|
||||||
//uint32 name_flags; // 20
|
//DBCString description; // 5
|
||||||
//char *description[16]; // 21-36
|
uint32 categoryId; // 6
|
||||||
//uint32 desc_flags; // 37
|
uint32 points; // 7 reward points
|
||||||
uint32 categoryId; // 38
|
//uint32 OrderInCategory; // 8
|
||||||
uint32 points; // 39 reward points
|
uint32 flags; // 9
|
||||||
//uint32 OrderInCategory; // 40
|
//uint32 icon; // 10 icon (from SpellIcon.dbc)
|
||||||
uint32 flags; // 41
|
//DBCString reward; // 11
|
||||||
//uint32 icon; // 42 icon (from SpellIcon.dbc)
|
uint32 count; // 12 - need this count of completed criterias (own or referenced achievement criterias)
|
||||||
//char *titleReward[16]; // 43-58
|
uint32 refAchievement; // 13 - referenced achievement (counting of all completed criterias)
|
||||||
//uint32 titleReward_flags; // 59
|
|
||||||
uint32 count; // 60 - need this count of completed criterias (own or referenced achievement criterias)
|
|
||||||
uint32 refAchievement; // 61 - referenced achievement (counting of all completed criterias)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct AchievementCategoryEntry
|
struct AchievementCategoryEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0
|
uint32 ID; // 0
|
||||||
uint32 parentCategory; // 1 -1 for main category
|
uint32 parentCategory; // 1 -1 for main category
|
||||||
//char *name[16]; // 2-17
|
//DBCString name; // 2
|
||||||
//uint32 name_flags; // 18
|
//uint32 sortOrder; // 3
|
||||||
//uint32 sortOrder; // 19
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct AchievementCriteriaEntry
|
struct AchievementCriteriaEntry
|
||||||
@@ -258,6 +254,13 @@ struct AchievementCriteriaEntry
|
|||||||
|
|
||||||
// ACHIEVEMENT_CRITERIA_TYPE_REACH_TEAM_RATING = 39
|
// ACHIEVEMENT_CRITERIA_TYPE_REACH_TEAM_RATING = 39
|
||||||
struct
|
struct
|
||||||
|
{
|
||||||
|
uint32 teamtype; // 3 {2, 3, 5}
|
||||||
|
uint32 teamrating; // 4
|
||||||
|
} reach_team_rating;
|
||||||
|
|
||||||
|
// ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_PERSONAL_RATING = 39
|
||||||
|
struct
|
||||||
{
|
{
|
||||||
uint32 teamtype; // 3 {2, 3, 5}
|
uint32 teamtype; // 3 {2, 3, 5}
|
||||||
uint32 PersonalRating; // 4
|
uint32 PersonalRating; // 4
|
||||||
@@ -370,6 +373,7 @@ struct AchievementCriteriaEntry
|
|||||||
} do_emote;
|
} do_emote;
|
||||||
// ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE = 13
|
// ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE = 13
|
||||||
// ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE = 55
|
// ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE = 55
|
||||||
|
// ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS = 56
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
uint32 unused; // 3
|
uint32 unused; // 3
|
||||||
@@ -504,15 +508,19 @@ struct AchievementCriteriaEntry
|
|||||||
uint32 additionalRequirement_value;
|
uint32 additionalRequirement_value;
|
||||||
} additionalRequirements[MAX_CRITERIA_REQUIREMENTS];
|
} additionalRequirements[MAX_CRITERIA_REQUIREMENTS];
|
||||||
|
|
||||||
//char* name[16]; // 9-24
|
char* name; // 9 m_description_lang
|
||||||
//uint32 name_flags; // 25
|
uint32 completionFlag; // 10 m_flags
|
||||||
uint32 flags; // 26
|
uint32 timedCriteriaStartType; // 11 m_timer_start_event Only appears with timed achievements, seems to be the type of starting a timed Achievement, only type 1 and some of type 6 need manual starting
|
||||||
uint32 timedType; // 27
|
// 1: ByEventId(?) (serverside IDs), 2: ByQuestId, 5: ByCastSpellId(?)
|
||||||
uint32 timerStartEvent; // 28 Alway appears with timed events
|
// 6: BySpellIdTarget(some of these are unknown spells, some not, some maybe spells)
|
||||||
// for timed spells it is spell id for
|
// 7: ByKillNpcId, 9: ByUseItemId
|
||||||
// timed kills it is creature id
|
uint32 timedCriteriaMiscId; // 12 m_timer_asset_id Alway appears with timed events, used internally to start the achievement, store
|
||||||
uint32 timeLimit; // 29 time limit in seconds
|
uint32 timeLimit; // 13 m_timer_time time limit in seconds
|
||||||
//uint32 showOrder; // 30 show order
|
uint32 showOrder; // 14 m_ui_order also used in achievement shift-links as index in state bitmask
|
||||||
|
//uint32 unk1; // 15 only one value, still unknown
|
||||||
|
//uint32 unk2; // 16 all zeros
|
||||||
|
//uint32 moreRequirement[3]; // 17-19
|
||||||
|
//uint32 moreRequirementValue[3]; // 20-22
|
||||||
};
|
};
|
||||||
|
|
||||||
struct AreaTableEntry
|
struct AreaTableEntry
|
||||||
@@ -524,9 +532,15 @@ struct AreaTableEntry
|
|||||||
uint32 flags; // 4, unknown value but 312 for all cities
|
uint32 flags; // 4, unknown value but 312 for all cities
|
||||||
// 5-9 unused
|
// 5-9 unused
|
||||||
int32 area_level; // 10
|
int32 area_level; // 10
|
||||||
char* area_name[16]; // 11-26
|
DBCString area_name; // 11
|
||||||
// 27, string flags, unused
|
uint32 team; // 12
|
||||||
uint32 team; // 28
|
// 13-19 unknown
|
||||||
|
//uint32 unk20; // 20 4.0.0
|
||||||
|
//uint32 unk21; // 21 4.0.0
|
||||||
|
//uint32 unk22; // 22 4.0.0
|
||||||
|
//uint32 unk23; // 23 4.0.0
|
||||||
|
//uint32 unk24; // 24 - worldStateId
|
||||||
|
//uint32 unk25 // 25
|
||||||
|
|
||||||
// helpers
|
// helpers
|
||||||
bool IsSanctuary() const
|
bool IsSanctuary() const
|
||||||
@@ -552,16 +566,14 @@ struct AreaPOIEntry
|
|||||||
uint32 icon[11]; //1-11
|
uint32 icon[11]; //1-11
|
||||||
float x; //12
|
float x; //12
|
||||||
float y; //13
|
float y; //13
|
||||||
float z; //14
|
uint32 mapId; //14
|
||||||
uint32 mapId; //15
|
//uint32 val1; //15
|
||||||
//uint32 val1; //16
|
uint32 zoneId; //16
|
||||||
uint32 zoneId; //17
|
//DBCString name; //17 - name
|
||||||
//char* name[16]; //18-33
|
//DBCString name2; //18 - name2
|
||||||
//uint32 name_flag; //34
|
uint32 worldState; //19
|
||||||
//char* name2[16]; //35-50
|
//uint32 val2; //20
|
||||||
//uint32 name_flag2; //51
|
//uint32 unk; //21
|
||||||
uint32 worldState; //52
|
|
||||||
//uint32 val2; //53
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct AreaTriggerEntry
|
struct AreaTriggerEntry
|
||||||
@@ -571,11 +583,20 @@ struct AreaTriggerEntry
|
|||||||
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
|
||||||
float radius; // 5 m_radius
|
//uint32 // 5
|
||||||
float box_x; // 6 m_box_length
|
//uint32 // 6
|
||||||
float box_y; // 7 m_box_width
|
//uint32 // 7
|
||||||
float box_z; // 8 m_box_heigh
|
float radius; // 8 m_radius
|
||||||
float box_orientation; // 9 m_box_yaw
|
float box_x; // 9 m_box_length
|
||||||
|
float box_y; // 10 m_box_width
|
||||||
|
float box_z; // 11 m_box_heigh
|
||||||
|
float box_orientation; // 12 m_box_yaw
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ArmorLocationEntry
|
||||||
|
{
|
||||||
|
uint32 InventoryType; // 0
|
||||||
|
float Value[5]; // 1-5 multiplier for armor types (cloth...plate, no armor?)
|
||||||
};
|
};
|
||||||
|
|
||||||
struct AuctionHouseEntry
|
struct AuctionHouseEntry
|
||||||
@@ -584,8 +605,7 @@ struct AuctionHouseEntry
|
|||||||
uint32 faction; // 1 id of faction.dbc for player factions associated with city
|
uint32 faction; // 1 id of faction.dbc for player factions associated with city
|
||||||
uint32 depositPercent; // 2 1/3 from real
|
uint32 depositPercent; // 2 1/3 from real
|
||||||
uint32 cutPercent; // 3
|
uint32 cutPercent; // 3
|
||||||
//char* name[16]; // 4-19
|
//DBCString name; // 4
|
||||||
// 20 string flag, unused
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BankBagSlotPricesEntry
|
struct BankBagSlotPricesEntry
|
||||||
@@ -598,14 +618,12 @@ struct BarberShopStyleEntry
|
|||||||
{
|
{
|
||||||
uint32 Id; // 0
|
uint32 Id; // 0
|
||||||
uint32 type; // 1 value 0 -> hair, value 2 -> facialhair
|
uint32 type; // 1 value 0 -> hair, value 2 -> facialhair
|
||||||
//char* name[16]; // 2-17 name of hair style
|
//DBCString name; // 2 m_DisplayName_lang
|
||||||
//uint32 name_flags; // 18
|
//uint32 unk_name; // 3 m_Description_lang
|
||||||
//uint32 unk_name[16]; // 19-34, all empty
|
//float CostMultiplier; // 4 m_Cost_Modifier
|
||||||
//uint32 unk_flags; // 35
|
uint32 race; // 5 m_race
|
||||||
//float CostMultiplier; // 36 values 1 and 0.75
|
uint32 gender; // 6 m_sex
|
||||||
uint32 race; // 37 race
|
uint32 hair_id; // 7 m_data (real ID to hair/facial hair)
|
||||||
uint32 gender; // 38 0 -> male, 1 -> female
|
|
||||||
uint32 hair_id; // 39 real ID to hair/facial hair
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BattlemasterListEntry
|
struct BattlemasterListEntry
|
||||||
@@ -614,12 +632,15 @@ struct BattlemasterListEntry
|
|||||||
int32 mapid[8]; // 1-8 mapid
|
int32 mapid[8]; // 1-8 mapid
|
||||||
uint32 type; // 9 (3 - BG, 4 - arena)
|
uint32 type; // 9 (3 - BG, 4 - arena)
|
||||||
//uint32 canJoinAsGroup; // 10 (0 or 1)
|
//uint32 canJoinAsGroup; // 10 (0 or 1)
|
||||||
char* name[16]; // 11-26
|
DBCString name; // 11
|
||||||
//uint32 nameFlags // 27 string flag, unused
|
uint32 maxGroupSize; // 12 maxGroupSize, used for checking if queue as group
|
||||||
uint32 maxGroupSize; // 28 maxGroupSize, used for checking if queue as group
|
uint32 HolidayWorldStateId; // 13 new 3.1
|
||||||
uint32 HolidayWorldStateId; // 29 new 3.1
|
uint32 minLevel; // 14, min level (sync with PvPDifficulty.dbc content)
|
||||||
//uint32 MinLevel; // 30
|
uint32 maxLevel; // 15, max level (sync with PvPDifficulty.dbc content)
|
||||||
//uint32 SomeLevel; // 31, may be max level
|
//uint32 maxGroupSizeRated; // 16 4.0.1
|
||||||
|
//uint32 unk; // 17 - 4.0.6.13596
|
||||||
|
//uint32 maxPlayers; // 18 4.0.1
|
||||||
|
//uint32 unk1; // 19 4.0.3, value 2 for Rated Battlegrounds
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_OUTFIT_ITEMS 24
|
#define MAX_OUTFIT_ITEMS 24
|
||||||
@@ -634,46 +655,45 @@ struct CharStartOutfitEntry
|
|||||||
//uint32 Unknown1; // 38, unique values (index-like with gaps ordered in other way as ids)
|
//uint32 Unknown1; // 38, unique values (index-like with gaps ordered in other way as ids)
|
||||||
//uint32 Unknown2; // 39
|
//uint32 Unknown2; // 39
|
||||||
//uint32 Unknown3; // 40
|
//uint32 Unknown3; // 40
|
||||||
|
//uint32 Unknown4; // 41
|
||||||
|
//uint32 Unknown5; // 42
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CharTitlesEntry
|
struct CharTitlesEntry
|
||||||
{
|
{
|
||||||
uint32 ID; // 0, title ids, for example in Quest::GetCharTitleId()
|
uint32 ID; // 0, title ids, for example in Quest::GetCharTitleId()
|
||||||
//uint32 unk1; // 1 flags?
|
//uint32 unk1; // 1 flags?
|
||||||
char* name[16]; // 2-17
|
DBCString name; // 2 m_name_lang
|
||||||
// 18 string flag, unused
|
//char* name2; // 3 m_name1_lang
|
||||||
//char* name2[16]; // 19-34, unused
|
uint32 bit_index; // 4 m_mask_ID used in PLAYER_CHOSEN_TITLE and 1<<index in PLAYER__FIELD_KNOWN_TITLES
|
||||||
// 35 string flag, unused
|
//uint32 // 5
|
||||||
uint32 bit_index; // 36 used in PLAYER_CHOSEN_TITLE and 1<<index in PLAYER__FIELD_KNOWN_TITLES
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ChatChannelsEntry
|
struct ChatChannelsEntry
|
||||||
{
|
{
|
||||||
uint32 ChannelID; // 0
|
uint32 ChannelID; // 0
|
||||||
uint32 flags; // 1
|
uint32 flags; // 1
|
||||||
char* pattern[16]; // 3-18
|
//uint32 // 2 m_factionGroup
|
||||||
// 19 string flags, unused
|
DBCString pattern; // 3 m_name_lang
|
||||||
//char* name[16]; // 20-35 unused
|
//DBCString name; // 4 m_shortcut_lang
|
||||||
// 36 string flag, unused
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ChrClassesEntry
|
struct ChrClassesEntry
|
||||||
{
|
{
|
||||||
uint32 ClassID; // 0
|
uint32 ClassID; // 0
|
||||||
// 1, unused
|
uint32 powerType; // 1 m_DisplayPower
|
||||||
uint32 powerType; // 2
|
// 2 m_petNameToken
|
||||||
// 3-4, unused
|
DBCString name; // 3 m_name_lang
|
||||||
//char* name[16]; // 5-20 unused
|
//DBCString nameFemale; // 4 m_name_female_lang
|
||||||
// 21 string flag, unused
|
//DBCString nameNeutralGender; // 5 m_name_male_lang
|
||||||
//char* nameFemale[16]; // 21-36 unused, if different from base (male) case
|
//DBCString capitalizedName // 6, m_filename
|
||||||
// 37 string flag, unused
|
uint32 spellfamily; // 7 m_spellClassSet
|
||||||
//char* nameNeutralGender[16]; // 38-53 unused, if different from base (male) case
|
//uint32 flags2; // 8 m_flags (0x08 HasRelicSlot)
|
||||||
// 54 string flag, unused
|
uint32 CinematicSequence; // 9 m_cinematicSequenceID
|
||||||
// 55, unused
|
uint32 expansion; // 10 m_required_expansion
|
||||||
uint32 spellfamily; // 56
|
//uint32 // 11
|
||||||
// 57, unused
|
//uint32 // 12
|
||||||
uint32 CinematicSequence; // 58 id from CinematicSequences.dbc
|
//uint32 // 13
|
||||||
uint32 expansion; // 59 (0 - original race, 1 - tbc addon, ...)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ChrRacesEntry
|
struct ChrRacesEntry
|
||||||
@@ -688,15 +708,16 @@ struct ChrRacesEntry
|
|||||||
uint32 TeamID; // 7 (7-Alliance 1-Horde)
|
uint32 TeamID; // 7 (7-Alliance 1-Horde)
|
||||||
// 8-11 unused
|
// 8-11 unused
|
||||||
uint32 CinematicSequence; // 12 id from CinematicSequences.dbc
|
uint32 CinematicSequence; // 12 id from CinematicSequences.dbc
|
||||||
//uint32 unk_322; // 13 faction (0 alliance, 1 horde, 2 not available?)
|
//uint32 unk_322; // 13 m_alliance (0 alliance, 1 horde, 2 not available?)
|
||||||
char* name[16]; // 14-29 used for DBC language detection/selection
|
DBCString name; // 14 m_name_lang used for DBC language detection/selection
|
||||||
// 30 string flags, unused
|
//DBCString nameFemale; // 15 m_name_female_lang
|
||||||
//char* nameFemale[16]; // 31-46, if different from base (male) case
|
//DBCString nameNeutralGender; // 16 m_name_male_lang
|
||||||
// 47 string flags, unused
|
// 17-18 m_facialHairCustomization[2]
|
||||||
//char* nameNeutralGender[16]; // 48-63, if different from base (male) case
|
// 19 m_hairCustomization
|
||||||
// 64 string flags, unused
|
uint32 expansion; // 20 m_required_expansion
|
||||||
// 65-67 unused
|
//uint32 // 21 (23 for worgens)
|
||||||
uint32 expansion; // 68 (0 - original race, 1 - tbc addon, ...)
|
//uint32 // 22 4.0.0
|
||||||
|
//uint32 // 23 4.0.0
|
||||||
};
|
};
|
||||||
|
|
||||||
/* not used
|
/* not used
|
||||||
|
|||||||
@@ -19,24 +19,26 @@
|
|||||||
#ifndef TRINITY_DBCSFRM_H
|
#ifndef TRINITY_DBCSFRM_H
|
||||||
#define TRINITY_DBCSFRM_H
|
#define TRINITY_DBCSFRM_H
|
||||||
|
|
||||||
const char Achievementfmt[]="niixssssssssssssssssxxxxxxxxxxxxxxxxxxiixixxxxxxxxxxxxxxxxxxii";
|
const char Achievementfmt[]="niixsxiixixxii";
|
||||||
const std::string CustomAchievementfmt="pppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapapaaaaaaaaaaaaaaaaaapp";
|
//const std::string CustomAchievementfmt="pppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapapaaaaaaaaaaaaaaaaaapp";
|
||||||
const std::string CustomAchievementIndex = "ID";
|
//const std::string CustomAchievementIndex = "ID";
|
||||||
const char AchievementCriteriafmt[]="niiiiiiiixxxxxxxxxxxxxxxxxiiiix";
|
const char AchievementCriteriafmt[]="niiiiiiiisiiiiixxxxxxxx";
|
||||||
const char AreaTableEntryfmt[]="iiinixxxxxissssssssssssssssxixxxxxxx";
|
const char AreaTableEntryfmt[]="iiinixxxxxisixxxxxxxxxxxxx";
|
||||||
const char AreaGroupEntryfmt[]="niiiiiii";
|
const char AreaGroupEntryfmt[]="niiiiiii";
|
||||||
const char AreaPOIEntryfmt[]="niiiiiiiiiiifffixixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxix";
|
const char AreaPOIEntryfmt[]="niiiiiiiiiiiffixixxixx";
|
||||||
const char AreaTriggerEntryfmt[]="niffffffff";
|
const char AreaTriggerEntryfmt[]="nifffxxxfffff";
|
||||||
const char AuctionHouseEntryfmt[]="niiixxxxxxxxxxxxxxxxx";
|
const char ArmorLocationfmt[]="nfffff";
|
||||||
|
const char AuctionHouseEntryfmt[]="niiix";
|
||||||
const char BankBagSlotPricesEntryfmt[]="ni";
|
const char BankBagSlotPricesEntryfmt[]="ni";
|
||||||
const char BarberShopStyleEntryfmt[]="nixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiii";
|
const char BarberShopStyleEntryfmt[]="nixxxiii";
|
||||||
const char BattlemasterListEntryfmt[]="niiiiiiiiixssssssssssssssssxiixx";
|
const char BattlemasterListEntryfmt[]="niiiiiiiiixsiiiixxxx";
|
||||||
const char CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
|
const char CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
|
||||||
const char CharTitlesEntryfmt[]="nxssssssssssssssssxxxxxxxxxxxxxxxxxxi";
|
const char CharTitlesEntryfmt[]="nxsxix";
|
||||||
const char ChatChannelsEntryfmt[]="nixssssssssssssssssxxxxxxxxxxxxxxxxxx";
|
const char ChatChannelsEntryfmt[]="nixsx";
|
||||||
// ChatChannelsEntryfmt, index not used (more compact store)
|
|
||||||
const char ChrClassesEntryfmt[]="nxixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxixii";
|
const char ChrClassesEntryfmt[]="nixsxxxixiixxx";
|
||||||
const char ChrRacesEntryfmt[]="nxixiixixxxxixssssssssssssssssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi";
|
const char ChrRacesEntryfmt[]="nxixiixixxxxixsxxxxxixxx";
|
||||||
|
|
||||||
const char CinematicSequencesEntryfmt[]="nxxxxxxxxx";
|
const char CinematicSequencesEntryfmt[]="nxxxxxxxxx";
|
||||||
const char CreatureDisplayInfofmt[]="nxxxfxxxxxxxxxxx";
|
const char CreatureDisplayInfofmt[]="nxxxfxxxxxxxxxxx";
|
||||||
const char CreatureFamilyfmt[]="nfifiiiiixssssssssssssssssxx";
|
const char CreatureFamilyfmt[]="nfifiiiiixssssssssssssssssxx";
|
||||||
|
|||||||
@@ -2007,7 +2007,6 @@ bool Player::BuildEnumData(QueryResult result, ByteBuffer* data)
|
|||||||
if (enchant)
|
if (enchant)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sLog->outError("entry %u aura %u invtype %u display %u", itemId, enchant ? enchant->aura_id : uint32(0), proto->InventoryType,db2Item->DisplayId);
|
|
||||||
*data << uint32(enchant ? enchant->aura_id : 0);
|
*data << uint32(enchant ? enchant->aura_id : 0);
|
||||||
*data << uint8(proto->InventoryType);
|
*data << uint8(proto->InventoryType);
|
||||||
*data << uint32(db2Item->DisplayId);
|
*data << uint32(db2Item->DisplayId);
|
||||||
|
|||||||
@@ -1765,7 +1765,7 @@ void World::DetectDBCLang()
|
|||||||
std::string availableLocalsStr;
|
std::string availableLocalsStr;
|
||||||
|
|
||||||
uint8 default_locale = TOTAL_LOCALES;
|
uint8 default_locale = TOTAL_LOCALES;
|
||||||
for (uint8 i = default_locale-1; i < TOTAL_LOCALES; --i) // -1 will be 255 due to uint8
|
/*for (uint8 i = default_locale-1; i < TOTAL_LOCALES; --i) // -1 will be 255 due to uint8
|
||||||
{
|
{
|
||||||
if (race->name[i][0] != '\0') // check by race names
|
if (race->name[i][0] != '\0') // check by race names
|
||||||
{
|
{
|
||||||
@@ -1774,7 +1774,7 @@ void World::DetectDBCLang()
|
|||||||
availableLocalsStr += localeNames[i];
|
availableLocalsStr += localeNames[i];
|
||||||
availableLocalsStr += " ";
|
availableLocalsStr += " ";
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if (default_locale != m_lang_confid && m_lang_confid < TOTAL_LOCALES &&
|
if (default_locale != m_lang_confid && m_lang_confid < TOTAL_LOCALES &&
|
||||||
(m_availableDbcLocaleMask & (1 << m_lang_confid)))
|
(m_availableDbcLocaleMask & (1 << m_lang_confid)))
|
||||||
@@ -1785,7 +1785,7 @@ void World::DetectDBCLang()
|
|||||||
if (default_locale >= TOTAL_LOCALES)
|
if (default_locale >= TOTAL_LOCALES)
|
||||||
{
|
{
|
||||||
sLog->outError("Unable to determine your DBC Locale! (corrupt DBC?)");
|
sLog->outError("Unable to determine your DBC Locale! (corrupt DBC?)");
|
||||||
exit(1);
|
//exit(1); TODO: enable after updated all dbc structures
|
||||||
}
|
}
|
||||||
|
|
||||||
m_defaultDbcLocale = LocaleConstant(default_locale);
|
m_defaultDbcLocale = LocaleConstant(default_locale);
|
||||||
|
|||||||
Reference in New Issue
Block a user