Reworked BotDatabase into a functional add-on for ZoneDatabase

This commit is contained in:
Uleat
2019-06-24 18:13:25 -04:00
parent 2e9cf7dbd7
commit ee49ad3ce9
11 changed files with 211 additions and 255 deletions
+95 -126
View File
@@ -23,48 +23,17 @@
#include "../common/string_util.h"
#include "../common/eqemu_logsys.h"
#include "bot_database.h"
#include "zonedb.h"
#include "bot.h"
#include "client.h"
BotDatabase botdb;
BotDatabase::BotDatabase()
{
}
BotDatabase::BotDatabase(const char* host, const char* user, const char* passwd, const char* database, uint32 port)
{
Connect(host, user, passwd, database, port);
}
BotDatabase::~BotDatabase()
{
}
bool BotDatabase::Connect(const char* host, const char* user, const char* passwd, const char* database, uint32 port) {
uint32 errnum = 0;
char errbuf[MYSQL_ERRMSG_SIZE];
if (!Open(host, user, passwd, database, port, &errnum, errbuf)) {
Log(Logs::General, Logs::Error, "Failed to connect to bot database: Error: %s", errbuf);
return false;
}
else {
Log(Logs::General, Logs::Status, "Using bot database '%s' at %s:%d", database, host, port);
return true;
}
}
bool BotDatabase::LoadBotCommandSettings(std::map<std::string, std::pair<uint8, std::vector<std::string>>> &bot_command_settings)
{
bot_command_settings.clear();
query = "SELECT `bot_command`, `access`, `aliases` FROM `bot_command_settings`";
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -109,7 +78,7 @@ bool BotDatabase::LoadBotSpellCastingChances()
"FROM"
" `bot_spell_casting_chances`";
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success() || !results.RowCount())
return false;
@@ -147,7 +116,7 @@ bool BotDatabase::QueryNameAvailablity(const std::string& bot_name, bool& availa
return false;
query = StringFormat("SELECT `id` FROM `vw_bot_character_mobs` WHERE `name` LIKE '%s' LIMIT 1", bot_name.c_str());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (results.RowCount())
@@ -164,7 +133,7 @@ bool BotDatabase::QueryBotCount(const uint32 owner_id, uint32& bot_count)
return false;
query = StringFormat("SELECT COUNT(`bot_id`) FROM `bot_data` WHERE `owner_id` = '%i'", owner_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -200,7 +169,7 @@ bool BotDatabase::LoadBotsList(const uint32 owner_id, std::list<BotsAvailableLis
return false;
query = StringFormat("SELECT `bot_id`, `name`, `class`, `level`, `race`, `gender` FROM `bot_data` WHERE `owner_id` = '%u'", owner_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -235,7 +204,7 @@ bool BotDatabase::LoadOwnerID(const std::string& bot_name, uint32& owner_id)
return false;
query = StringFormat("SELECT `owner_id` FROM `bot_data` WHERE `name` = '%s' LIMIT 1", bot_name.c_str());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -253,7 +222,7 @@ bool BotDatabase::LoadOwnerID(const uint32 bot_id, uint32& owner_id)
return false;
query = StringFormat("SELECT `owner_id` FROM `bot_data` WHERE `bot_id` = '%u' LIMIT 1", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -274,7 +243,7 @@ bool BotDatabase::LoadBotID(const uint32 owner_id, const std::string& bot_name,
"SELECT `bot_id` FROM `bot_data` WHERE `owner_id` = '%u' AND `name` = '%s' LIMIT 1",
owner_id, bot_name.c_str()
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -345,7 +314,7 @@ bool BotDatabase::LoadBot(const uint32 bot_id, Bot*& loaded_bot)
bot_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -546,7 +515,7 @@ bool BotDatabase::SaveNewBot(Bot* bot_inst, uint32& bot_id)
BOT_FOLLOW_DISTANCE_DEFAULT,
(IsCasterClass(bot_inst->GetClass()) ? (uint8)RuleI(Bots, CasterStopMeleeLevel) : 255)
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -649,7 +618,7 @@ bool BotDatabase::SaveBot(Bot* bot_inst)
bot_inst->GetStopMeleeLevel(),
bot_inst->GetBotID()
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -662,7 +631,7 @@ bool BotDatabase::DeleteBot(const uint32 bot_id)
return false;
query = StringFormat("DELETE FROM `bot_data` WHERE `bot_id` = '%u'", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -698,7 +667,7 @@ bool BotDatabase::LoadBuffs(Bot* bot_inst)
" WHERE `bot_id` = '%u'",
bot_inst->GetBotID()
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -817,7 +786,7 @@ bool BotDatabase::SaveBuffs(Bot* bot_inst)
bot_buffs[buff_index].caston_z,
bot_buffs[buff_index].ExtraDIChance
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeleteBuffs(bot_inst->GetBotID());
return false;
@@ -833,7 +802,7 @@ bool BotDatabase::DeleteBuffs(const uint32 bot_id)
return false;
query = StringFormat("DELETE FROM `bot_buffs` WHERE `bot_id` = '%u'", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -846,7 +815,7 @@ bool BotDatabase::LoadStance(const uint32 bot_id, int& bot_stance)
return false;
query = StringFormat("SELECT `stance_id` FROM `bot_stances` WHERE `bot_id` = '%u' LIMIT 1", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -866,7 +835,7 @@ bool BotDatabase::LoadStance(Bot* bot_inst, bool& stance_flag)
bot_inst->SetDefaultBotStance();
query = StringFormat("SELECT `stance_id` FROM `bot_stances` WHERE `bot_id` = '%u' LIMIT 1", bot_inst->GetBotID());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -888,7 +857,7 @@ bool BotDatabase::SaveStance(const uint32 bot_id, const int bot_stance)
return false;
query = StringFormat("INSERT INTO `bot_stances` (`bot_id`, `stance_id`) VALUES ('%u', '%u')", bot_id, bot_stance);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeleteStance(bot_id);
return false;
@@ -906,7 +875,7 @@ bool BotDatabase::SaveStance(Bot* bot_inst)
return false;
query = StringFormat("INSERT INTO `bot_stances` (`bot_id`, `stance_id`) VALUES ('%u', '%u')", bot_inst->GetBotID(), bot_inst->GetBotStance());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeleteStance(bot_inst->GetBotID());
return false;
@@ -921,7 +890,7 @@ bool BotDatabase::DeleteStance(const uint32 bot_id)
return false;
query = StringFormat("DELETE FROM `bot_stances` WHERE `bot_id` = '%u'", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -952,7 +921,7 @@ bool BotDatabase::LoadTimers(Bot* bot_inst)
bot_inst->GetClass(),
bot_inst->GetLevel()
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -994,7 +963,7 @@ bool BotDatabase::SaveTimers(Bot* bot_inst)
continue;
query = StringFormat("INSERT INTO `bot_timers` (`bot_id`, `timer_id`, `timer_value`) VALUES ('%u', '%u', '%u')", bot_inst->GetBotID(), (timer_index + 1), bot_timers[timer_index]);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeleteTimers(bot_inst->GetBotID());
return false;
@@ -1010,7 +979,7 @@ bool BotDatabase::DeleteTimers(const uint32 bot_id)
return false;
query = StringFormat("DELETE FROM `bot_timers` WHERE `bot_id` = '%u'", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1035,7 +1004,7 @@ bool BotDatabase::LoadGuildMembership(const uint32 bot_id, uint32& guild_id, uin
" LIMIT 1",
bot_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1058,7 +1027,7 @@ bool BotDatabase::SaveGuildMembership(const uint32 bot_id, const uint32 guild_id
return false;
query = StringFormat("INSERT INTO `bot_guild_members` SET `bot_id` = '%u', `guild_id` = '%u', `rank` = '%u'", bot_id, guild_id, guild_rank);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeleteGuildMembership(bot_id);
return false;
@@ -1073,7 +1042,7 @@ bool BotDatabase::DeleteGuildMembership(const uint32 bot_id)
return false;
query = StringFormat("DELETE FROM `bot_guild_members` WHERE `bot_id` = '%u'", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1088,7 +1057,7 @@ bool BotDatabase::QueryInventoryCount(const uint32 bot_id, uint32& item_count)
return false;
query = StringFormat("SELECT COUNT(`inventories_index`) FROM `bot_inventories` WHERE `bot_id` = '%u'", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1127,7 +1096,7 @@ bool BotDatabase::LoadItems(const uint32 bot_id, EQEmu::InventoryProfile& invent
" ORDER BY `slot_id`",
bot_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1224,7 +1193,7 @@ bool BotDatabase::DeleteItems(const uint32 bot_id)
return false;
query = StringFormat("DELETE FROM `bot_inventories` WHERE `bot_id` = '%u'", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1242,7 +1211,7 @@ bool BotDatabase::LoadItemBySlot(const uint32 bot_id, const uint32 slot_id, uint
return false;
query = StringFormat("SELECT `item_id` FROM `bot_inventories` WHERE `bot_id` = '%i' AND `slot_id` = '%i' LIMIT 1", bot_id, slot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1329,7 +1298,7 @@ bool BotDatabase::SaveItemBySlot(Bot* bot_inst, const uint32 slot_id, const EQEm
(unsigned long)augment_id[4],
(unsigned long)augment_id[5]
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeleteItemBySlot(bot_inst->GetBotID(), slot_id);
return false;
@@ -1344,7 +1313,7 @@ bool BotDatabase::DeleteItemBySlot(const uint32 bot_id, const uint32 slot_id)
return false;
query = StringFormat("DELETE FROM `bot_inventories` WHERE `bot_id` = '%u' AND `slot_id` = '%u'", bot_id, slot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1361,7 +1330,7 @@ bool BotDatabase::LoadEquipmentColor(const uint32 bot_id, const uint8 material_s
return false;
query = StringFormat("SELECT `inst_color` FROM `bot_inventories` WHERE `bot_id` = '%u' AND `slot_id` = '%u' LIMIT 1", bot_id, slot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1397,7 +1366,7 @@ bool BotDatabase::SaveEquipmentColor(const uint32 bot_id, const int16 slot_id, c
bot_id,
where_clause.c_str()
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1412,7 +1381,7 @@ bool BotDatabase::LoadPetIndex(const uint32 bot_id, uint32& pet_index)
return false;
query = StringFormat("SELECT `pets_index` FROM `bot_pets` WHERE `bot_id` = '%u' LIMIT 1", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1430,7 +1399,7 @@ bool BotDatabase::LoadPetSpellID(const uint32 bot_id, uint32& pet_spell_id)
return false;
query = StringFormat("SELECT `spell_id` FROM `bot_pets` WHERE `bot_id` = '%u' LIMIT 1", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1454,7 +1423,7 @@ bool BotDatabase::LoadPetStats(const uint32 bot_id, std::string& pet_name, uint3
return true;
query = StringFormat("SELECT `spell_id`, `name`, `mana`, `hp` FROM `bot_pets` WHERE `pets_index` = '%u' LIMIT 1", saved_pet_index);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1502,7 +1471,7 @@ bool BotDatabase::SavePetStats(const uint32 bot_id, const std::string& pet_name,
pet_mana,
pet_hp
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeletePetStats(bot_id);
return false;
@@ -1523,7 +1492,7 @@ bool BotDatabase::DeletePetStats(const uint32 bot_id)
return true;
query = StringFormat("DELETE FROM `bot_pets` WHERE `pets_index` = '%u'", saved_pet_index);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1542,7 +1511,7 @@ bool BotDatabase::LoadPetBuffs(const uint32 bot_id, SpellBuff_Struct* pet_buffs)
return true;
query = StringFormat("SELECT `spell_id`, `caster_level`, `duration` FROM `bot_pet_buffs` WHERE `pets_index` = '%u'", saved_pet_index);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1608,7 +1577,7 @@ bool BotDatabase::SavePetBuffs(const uint32 bot_id, const SpellBuff_Struct* pet_
pet_buffs[buff_index].level,
pet_buffs[buff_index].duration
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeletePetBuffs(bot_id);
return false;
@@ -1630,7 +1599,7 @@ bool BotDatabase::DeletePetBuffs(const uint32 bot_id)
return true;
query = StringFormat("DELETE FROM `bot_pet_buffs` WHERE `pets_index` = '%u'", saved_pet_index);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1649,7 +1618,7 @@ bool BotDatabase::LoadPetItems(const uint32 bot_id, uint32* pet_items)
return true;
query = StringFormat("SELECT `item_id` FROM `bot_pet_inventories` WHERE `pets_index` = '%u'", saved_pet_index);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1685,7 +1654,7 @@ bool BotDatabase::SavePetItems(const uint32 bot_id, const uint32* pet_items, boo
continue;
query = StringFormat("INSERT INTO `bot_pet_inventories` (`pets_index`, `item_id`) VALUES ('%u', '%u')", saved_pet_index, pet_items[item_index]);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeletePetItems(bot_id);
return false;
@@ -1707,7 +1676,7 @@ bool BotDatabase::DeletePetItems(const uint32 bot_id)
return true;
query = StringFormat("DELETE FROM `bot_pet_inventories` WHERE `pets_index` = '%u'", saved_pet_index);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1722,7 +1691,7 @@ bool BotDatabase::LoadInspectMessage(const uint32 bot_id, InspectMessage_Struct&
return false;
query = StringFormat("SELECT `inspect_message` FROM `bot_inspect_messages` WHERE `bot_id` = '%u' LIMIT 1", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -1755,7 +1724,7 @@ bool BotDatabase::SaveInspectMessage(const uint32 bot_id, const InspectMessage_S
return true;
query = StringFormat("INSERT INTO `bot_inspect_messages` (`bot_id`, `inspect_message`) VALUES ('%u', '%s')", bot_id, bot_message.c_str());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeleteInspectMessage(bot_id);
return false;
@@ -1770,7 +1739,7 @@ bool BotDatabase::DeleteInspectMessage(const uint32 bot_id)
return false;
query = StringFormat("DELETE FROM `bot_inspect_messages` WHERE `bot_id` = '%u'", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1792,7 +1761,7 @@ bool BotDatabase::SaveAllInspectMessages(const uint32 owner_id, const InspectMes
return true;
query = StringFormat("INSERT INTO `bot_inspect_messages` (`bot_id`, `inspect_message`) SELECT `bot_id`, '%s' inspect_message FROM `bot_data` WHERE `owner_id` = '%u'", bot_message.c_str(), owner_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeleteAllInspectMessages(owner_id);
return false;
@@ -1807,7 +1776,7 @@ bool BotDatabase::DeleteAllInspectMessages(const uint32 owner_id)
return false;
query = StringFormat("DELETE FROM `bot_inspect_messages` WHERE `bot_id` IN (SELECT `bot_id` FROM `bot_data` WHERE `owner_id` = '%u')", owner_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1832,7 +1801,7 @@ bool BotDatabase::SaveAllArmorColorBySlot(const uint32 owner_id, const int16 slo
EQEmu::invslot::slotHead, EQEmu::invslot::slotChest, EQEmu::invslot::slotArms, EQEmu::invslot::slotWrist1, EQEmu::invslot::slotWrist2, EQEmu::invslot::slotHands, EQEmu::invslot::slotLegs, EQEmu::invslot::slotFeet,
slot_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1855,7 +1824,7 @@ bool BotDatabase::SaveAllArmorColors(const uint32 owner_id, const uint32 rgb_val
rgb_value,
EQEmu::invslot::slotHead, EQEmu::invslot::slotChest, EQEmu::invslot::slotArms, EQEmu::invslot::slotWrist1, EQEmu::invslot::slotWrist2, EQEmu::invslot::slotHands, EQEmu::invslot::slotLegs, EQEmu::invslot::slotFeet
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1876,7 +1845,7 @@ bool BotDatabase::SaveHelmAppearance(const uint32 owner_id, const uint32 bot_id,
owner_id,
bot_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1895,7 +1864,7 @@ bool BotDatabase::SaveAllHelmAppearances(const uint32 owner_id, const bool show_
(show_flag ? 1 : 0),
owner_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1915,7 +1884,7 @@ bool BotDatabase::ToggleHelmAppearance(const uint32 owner_id, const uint32 bot_i
owner_id,
bot_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1933,7 +1902,7 @@ bool BotDatabase::ToggleAllHelmAppearances(const uint32 owner_id)
" WHERE `owner_id` = '%u'",
owner_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1954,7 +1923,7 @@ bool BotDatabase::SaveFollowDistance(const uint32 owner_id, const uint32 bot_id,
owner_id,
bot_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -1973,7 +1942,7 @@ bool BotDatabase::SaveAllFollowDistances(const uint32 owner_id, const uint32 fol
follow_distance,
owner_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -2091,7 +2060,7 @@ bool BotDatabase::CreateCloneBot(const uint32 owner_id, const uint32 bot_id, con
owner_id,
bot_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -2152,7 +2121,7 @@ bool BotDatabase::CreateCloneBotInventory(const uint32 owner_id, const uint32 bo
owner_id,
bot_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeleteItems(clone_id);
return false;
@@ -2175,7 +2144,7 @@ bool BotDatabase::SaveStopMeleeLevel(const uint32 owner_id, const uint32 bot_id,
owner_id,
bot_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -2192,12 +2161,12 @@ bool BotDatabase::LoadOwnerOptions(Client *owner)
" WHERE `owner_id` = '%u'",
owner->CharacterID()
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount()) {
query = StringFormat("REPLACE INTO `bot_owner_options` (`owner_id`) VALUES ('%u')", owner->CharacterID());
results = QueryDatabase(query);
results = database.QueryDatabase(query);
return false;
}
@@ -2221,7 +2190,7 @@ bool BotDatabase::SaveOwnerOptionDeathMarquee(const uint32 owner_id, const bool
(flag == true ? 1 : 0),
owner_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -2240,7 +2209,7 @@ bool BotDatabase::SaveOwnerOptionStatsUpdate(const uint32 owner_id, const bool f
(flag == true ? 1 : 0),
owner_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -2255,7 +2224,7 @@ bool BotDatabase::QueryBotGroupExistence(const std::string& group_name, bool& ex
return false;
query = StringFormat("SELECT `group_name` FROM `vw_bot_groups` WHERE `group_name` LIKE '%s' LIMIT 1", group_name.c_str());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2272,7 +2241,7 @@ bool BotDatabase::LoadBotGroupIDByBotGroupName(const std::string& group_name, ui
return false;
query = StringFormat("SELECT `groups_index` FROM `bot_groups` WHERE `group_name` = '%s' LIMIT 1", group_name.c_str());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2290,7 +2259,7 @@ bool BotDatabase::LoadBotGroupIDByLeaderID(const uint32 leader_id, uint32& botgr
return false;
query = StringFormat("SELECT `groups_index` FROM `bot_groups` WHERE `group_leader_id` = '%u' LIMIT 1", leader_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2308,7 +2277,7 @@ bool BotDatabase::LoadBotGroupIDByMemberID(const uint32 member_id, uint32& botgr
return false;
query = StringFormat("SELECT `groups_index` FROM `bot_group_members` WHERE `bot_id` = '%u' LIMIT 1", member_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2326,7 +2295,7 @@ bool BotDatabase::LoadLeaderIDByBotGroupName(const std::string& group_name, uint
return false;
query = StringFormat("SELECT `group_leader_id` FROM `bot_groups` WHERE `group_name` = '%s' LIMIT 1", group_name.c_str());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2344,7 +2313,7 @@ bool BotDatabase::LoadLeaderIDByBotGroupID(const uint32 group_id, uint32& leader
return false;
query = StringFormat("SELECT `group_leader_id` FROM `bot_groups` WHERE `groups_index` = '%u' LIMIT 1", group_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2362,7 +2331,7 @@ bool BotDatabase::LoadBotGroupNameByBotGroupID(const uint32 group_id, std::strin
false;
query = StringFormat("SELECT `group_name` FROM `bot_groups` WHERE `groups_index` = '%u' LIMIT 1", group_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2380,7 +2349,7 @@ bool BotDatabase::LoadBotGroupNameByLeaderID(const uint32 leader_id, std::string
return false;
query = StringFormat("SELECT `group_name` FROM `bot_groups` WHERE `group_leader_id` = '%u' LIMIT 1", leader_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2404,7 +2373,7 @@ bool BotDatabase::CreateBotGroup(const std::string& group_name, const uint32 lea
return true;
query = StringFormat("INSERT INTO `bot_groups` (`group_leader_id`, `group_name`) VALUES ('%u', '%s')", leader_id, group_name.c_str());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
DeleteBotGroup(leader_id);
return false;
@@ -2417,7 +2386,7 @@ bool BotDatabase::CreateBotGroup(const std::string& group_name, const uint32 lea
}
query = StringFormat("INSERT INTO `bot_group_members` (`groups_index`, `bot_id`) VALUES ('%u', '%u')", botgroup_id, leader_id);
results = QueryDatabase(query);
results = database.QueryDatabase(query);
if (!results.Success()) {
RemoveMemberFromBotGroup(leader_id);
return false;
@@ -2438,12 +2407,12 @@ bool BotDatabase::DeleteBotGroup(const uint32 leader_id)
return true;
query = StringFormat("DELETE FROM `bot_group_members` WHERE `groups_index` = '%u'", botgroup_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
query = StringFormat("DELETE FROM `bot_groups` WHERE `groups_index` = '%u'", botgroup_id);
results = QueryDatabase(query);
results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -2462,7 +2431,7 @@ bool BotDatabase::AddMemberToBotGroup(const uint32 leader_id, const uint32 membe
return true;
query = StringFormat("INSERT INTO `bot_group_members` (`groups_index`, `bot_id`) VALUES ('%u', '%u')", botgroup_id, member_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
RemoveMemberFromBotGroup(member_id);
return false;
@@ -2483,7 +2452,7 @@ bool BotDatabase::RemoveMemberFromBotGroup(const uint32 member_id)
return DeleteBotGroup(member_id);
query = StringFormat("DELETE FROM `bot_group_members` WHERE `bot_id` = '%u'", member_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -2496,7 +2465,7 @@ bool BotDatabase::LoadBotGroupIDForLoadBotGroup(const uint32 owner_id, const std
return false;
query = StringFormat("SELECT `groups_index`, `group_name` FROM `vw_bot_groups` WHERE `owner_id` = '%u'", owner_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2524,7 +2493,7 @@ bool BotDatabase::LoadBotGroup(const std::string& group_name, std::map<uint32, s
return true;
query = StringFormat("SELECT `bot_id` FROM `bot_group_members` WHERE `groups_index` = '%u' LIMIT 6", botgroup_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2542,7 +2511,7 @@ bool BotDatabase::LoadBotGroupsListByOwnerID(const uint32 owner_id, std::list<st
return false;
query = StringFormat("SELECT `group_name`, `group_leader_name` FROM `vw_bot_groups` WHERE `owner_id` = '%u'", owner_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2575,7 +2544,7 @@ bool BotDatabase::LoadGroupedBotsByGroupID(const uint32 owner_id, const uint32 g
owner_id
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2595,7 +2564,7 @@ bool BotDatabase::LoadHealRotationIDByBotID(const uint32 bot_id, uint32& hr_inde
return false;
query = StringFormat("SELECT `heal_rotation_index` FROM `bot_heal_rotations` WHERE `bot_id` = '%u' LIMIT 1", bot_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2642,7 +2611,7 @@ bool BotDatabase::LoadHealRotation(Bot* hr_member, std::list<uint32>& member_lis
" LIMIT 1",
hr_index
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2681,7 +2650,7 @@ bool BotDatabase::LoadHealRotationMembers(const uint32 hr_index, std::list<uint3
return false;
query = StringFormat("SELECT `bot_id` FROM `bot_heal_rotation_members` WHERE `heal_rotation_index` = '%u'", hr_index);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2701,7 +2670,7 @@ bool BotDatabase::LoadHealRotationTargets(const uint32 hr_index, std::list<std::
return false;
query = StringFormat("SELECT `target_name` FROM `bot_heal_rotation_targets` WHERE `heal_rotation_index` = '%u'", hr_index);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
if (!results.RowCount())
@@ -2777,7 +2746,7 @@ bool BotDatabase::SaveHealRotation(Bot* hr_member, bool& member_fail, bool& targ
((*hr_member->MemberOfHealRotation())->ArmorTypeCriticalHPRatio(ARMOR_TYPE_CHAIN)),
((*hr_member->MemberOfHealRotation())->ArmorTypeCriticalHPRatio(ARMOR_TYPE_PLATE))
);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -2792,7 +2761,7 @@ bool BotDatabase::SaveHealRotation(Bot* hr_member, bool& member_fail, bool& targ
continue;
query = StringFormat("INSERT INTO `bot_heal_rotation_members` (`heal_rotation_index`, `bot_id`) VALUES ('%u', '%u')", hr_index, member_iter->GetBotID());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
member_fail = true;
break;
@@ -2806,7 +2775,7 @@ bool BotDatabase::SaveHealRotation(Bot* hr_member, bool& member_fail, bool& targ
continue;
query = StringFormat("INSERT INTO `bot_heal_rotation_targets` (`heal_rotation_index`, `target_name`) VALUES ('%u', '%s')", hr_index, target_iter->GetCleanName());
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success()) {
target_fail = true;
break;
@@ -2828,17 +2797,17 @@ bool BotDatabase::DeleteHealRotation(const uint32 creator_id)
return true;
query = StringFormat("DELETE FROM `bot_heal_rotation_targets` WHERE `heal_rotation_index` = '%u'", hr_index);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;
query = StringFormat("DELETE FROM `bot_heal_rotation_members` WHERE `heal_rotation_index` = '%u'", hr_index);
results = QueryDatabase(query);
results = database.QueryDatabase(query);
if (!results.Success())
return false;
query = StringFormat("DELETE FROM `bot_heal_rotations` WHERE `heal_rotation_index` = '%u'", hr_index);
results = QueryDatabase(query);
results = database.QueryDatabase(query);
if (!results.Success())
return false;
@@ -2851,7 +2820,7 @@ bool BotDatabase::DeleteAllHealRotations(const uint32 owner_id)
return false;
query = StringFormat("SELECT `bot_id` FROM `bot_heal_rotations` WHERE `bot_id` IN (SELECT `bot_id` FROM `bot_data` WHERE `owner_id` = '%u')", owner_id);
auto results = QueryDatabase(query);
auto results = database.QueryDatabase(query);
if (!results.Success())
return false;