Клиент 4.3.4?
Код:
enum ArchaeologyBranches
{
ARCHAEOLOGY_BRANCH_DWARF = 1,
ARCHAEOLOGY_BRANCH_DRAENEI = 2,
ARCHAEOLOGY_BRANCH_FOSSIL = 3,
ARCHAEOLOGY_BRANCH_NIGHT_ELF = 4,
ARCHAEOLOGY_BRANCH_NERUBIAN = 5,
ARCHAEOLOGY_BRANCH_ORC = 6,
ARCHAEOLOGY_BRANCH_TOLVIR = 7,
ARCHAEOLOGY_BRANCH_TROLL = 8,
ARCHAEOLOGY_BRANCH_VRYKUL = 27,
ARCHAEOLOGY_BRANCH_OTHER = 29,
};
struct ResearchBranchEntry
{
uint32 ID; // 0
DBCString name; // 1
//uint32 FieldID; // 2
uint32 currency; // 3
//char* icon; // 4
uint32 specItemId; // 5
};
struct ResearchProjectEntry
{
uint32 ID; // 0
DBCString name; // 1
DBCString description; // 2
uint32 rare; // 3
uint32 branchId; // 4
uint32 spellId; // 5
uint32 Complexity; // 6
//char* iconPath; // 7
uint32 req_currency_amt; // 8
bool IsVaid() const
{
return branchId != ARCHAEOLOGY_BRANCH_OTHER;
}
};
struct ResearchSiteEntry
{
uint32 ID; // 0
uint32 mapId; // 1
uint32 POIid; // 2
DBCString areaName; // 3
//uint32 flags; // 4 all entries have same flags
bool IsValid() const
{
return ID != 140 && // template
ID != 142 && // template
ID != 161 && // template
ID != 471 && // vashj'ir
ID != 473 && // vashj'ir
ID != 475; // vashj'ir
}
};
PLAYER_FIELD_RESEARCHING_1 - сюда кладутся текущие исследуемые проекты, значение - ID из ResearchProject.dbc, размер - 2 байта. Размер 4 * 8 = 32 байта, т.е. 16 проектов, но реально используется только 9 - количество используемых бранчей из ResearchBranch.dbc, отображает прокты в интерфейсе
PLAYER_FIELD_RESERACH_SITE_1 - места текущих раскопок, 2 байта, значение из ResearchSite.dbc. Длина 32 байта, все используются. Отображает на карте точки.
CMSG_REQUEST_RESEARCH_HISTORY - 0x3306
пустой пакет
SMSG_RESEARCH_SETUP_HISTORY - 0x10B6
ответ сервера на предыдущий опкод, содержит информацию о завершенных исследованиях - количество каждого из собранных артифактов и дату последней сборки
SMSG_RESEARCH_COMPLETE - 0x35A6
три 4-байтовых числа, одно из них - бранч, остальные - неизвестно