mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 01:11:29 +00:00
LoadMercSpells converted to QueryDatabase
This commit is contained in:
parent
5da5e9b5de
commit
826f7d0efd
@ -628,46 +628,38 @@ void Zone::LoadLevelEXPMods(){
|
||||
|
||||
void Zone::LoadMercSpells(){
|
||||
|
||||
std::string errorMessage;
|
||||
char* Query = 0;
|
||||
char TempErrorMessageBuffer[MYSQL_ERRMSG_SIZE];
|
||||
MYSQL_RES* DatasetResult;
|
||||
MYSQL_ROW DataRow;
|
||||
merc_spells_list.clear();
|
||||
const std::string query = "SELECT msl.class_id, msl.proficiency_id, msle.spell_id, msle.spell_type, "
|
||||
"msle.stance_id, msle.minlevel, msle.maxlevel, msle.slot, msle.procChance "
|
||||
"FROM merc_spell_lists msl, merc_spell_list_entries msle "
|
||||
"WHERE msle.merc_spell_list_id = msl.merc_spell_list_id "
|
||||
"ORDER BY msl.class_id, msl.proficiency_id, msle.spell_type, msle.minlevel, msle.slot;";
|
||||
auto results = database.QueryDatabase(query);
|
||||
if (!results.Success()) {
|
||||
LogFile->write(EQEMuLog::Error, "Error in Zone::LoadMercSpells()");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!database.RunQuery(Query, MakeAnyLenString(&Query, "SELECT msl.class_id, msl.proficiency_id, msle.spell_id, msle.spell_type, msle.stance_id, msle.minlevel, msle.maxlevel, msle.slot, msle.procChance FROM merc_spell_lists msl, merc_spell_list_entries msle WHERE msle.merc_spell_list_id = msl.merc_spell_list_id ORDER BY msl.class_id, msl.proficiency_id, msle.spell_type, msle.minlevel, msle.slot;"), TempErrorMessageBuffer, &DatasetResult)) {
|
||||
errorMessage = std::string(TempErrorMessageBuffer);
|
||||
}
|
||||
else {
|
||||
while(DataRow = mysql_fetch_row(DatasetResult)) {
|
||||
uint32 classid;
|
||||
MercSpellEntry tempMercSpellEntry;
|
||||
for (auto row = results.begin(); row != results.end(); ++row) {
|
||||
uint32 classid;
|
||||
MercSpellEntry tempMercSpellEntry;
|
||||
|
||||
classid = atoi(DataRow[0]);
|
||||
tempMercSpellEntry.proficiencyid = atoi(DataRow[1]);
|
||||
tempMercSpellEntry.spellid = atoi(DataRow[2]);
|
||||
tempMercSpellEntry.type = atoi(DataRow[3]);
|
||||
tempMercSpellEntry.stance = atoi(DataRow[4]);
|
||||
tempMercSpellEntry.minlevel = atoi(DataRow[5]);
|
||||
tempMercSpellEntry.maxlevel = atoi(DataRow[6]);
|
||||
tempMercSpellEntry.slot = atoi(DataRow[7]);
|
||||
tempMercSpellEntry.proc_chance = atoi(DataRow[8]);
|
||||
classid = atoi(row[0]);
|
||||
tempMercSpellEntry.proficiencyid = atoi(row[1]);
|
||||
tempMercSpellEntry.spellid = atoi(row[2]);
|
||||
tempMercSpellEntry.type = atoi(row[3]);
|
||||
tempMercSpellEntry.stance = atoi(row[4]);
|
||||
tempMercSpellEntry.minlevel = atoi(row[5]);
|
||||
tempMercSpellEntry.maxlevel = atoi(row[6]);
|
||||
tempMercSpellEntry.slot = atoi(row[7]);
|
||||
tempMercSpellEntry.proc_chance = atoi(row[8]);
|
||||
|
||||
merc_spells_list[classid].push_back(tempMercSpellEntry);
|
||||
}
|
||||
merc_spells_list[classid].push_back(tempMercSpellEntry);
|
||||
}
|
||||
|
||||
mysql_free_result(DatasetResult);
|
||||
if(MERC_DEBUG > 0)
|
||||
LogFile->write(EQEMuLog::Debug, "Mercenary Debug: Loaded %i merc spells.", merc_spells_list[1].size() + merc_spells_list[2].size() + merc_spells_list[9].size() + merc_spells_list[12].size());
|
||||
|
||||
if(MERC_DEBUG > 0)
|
||||
LogFile->write(EQEMuLog::Debug, "Mercenary Debug: Loaded %i merc spells.", merc_spells_list[1].size() + merc_spells_list[2].size() + merc_spells_list[9].size() + merc_spells_list[12].size());
|
||||
}
|
||||
|
||||
safe_delete_array(Query);
|
||||
Query = 0;
|
||||
|
||||
if(!errorMessage.empty()) {
|
||||
LogFile->write(EQEMuLog::Error, "Error in Zone::LoadMercSpells()");
|
||||
}
|
||||
}
|
||||
|
||||
void Zone::DBAWComplete(uint8 workpt_b1, DBAsyncWork* dbaw) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user