mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-23 21:56:22 +00:00
feat(Core/DBLayer): replace char const* to std::string_view (#10211)
* feat(Core/DBLayer): replace `char const*` to `std::string_view` * CString * 1 * chore(Core/Misc): code cleanup * cl * db fix * fmt style sql * to fmt * py * del old * 1 * 2 * 3 * 1 * 1
This commit is contained in:
@@ -95,23 +95,23 @@ void Corpse::SaveToDB()
|
||||
DeleteFromDB(trans);
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CORPSE);
|
||||
stmt->setUInt32(0, GetOwnerGUID().GetCounter()); // guid
|
||||
stmt->setFloat (1, GetPositionX()); // posX
|
||||
stmt->setFloat (2, GetPositionY()); // posY
|
||||
stmt->setFloat (3, GetPositionZ()); // posZ
|
||||
stmt->setFloat (4, GetOrientation()); // orientation
|
||||
stmt->setUInt16(5, GetMapId()); // mapId
|
||||
stmt->setUInt32(6, GetUInt32Value(CORPSE_FIELD_DISPLAY_ID)); // displayId
|
||||
stmt->setString(7, _ConcatFields(CORPSE_FIELD_ITEM, EQUIPMENT_SLOT_END)); // itemCache
|
||||
stmt->setUInt32(8, GetUInt32Value(CORPSE_FIELD_BYTES_1)); // bytes1
|
||||
stmt->setUInt32(9, GetUInt32Value(CORPSE_FIELD_BYTES_2)); // bytes2
|
||||
stmt->setUInt32(10, GetUInt32Value(CORPSE_FIELD_GUILD)); // guildId
|
||||
stmt->setUInt8 (11, GetUInt32Value(CORPSE_FIELD_FLAGS)); // flags
|
||||
stmt->setUInt8 (12, GetUInt32Value(CORPSE_FIELD_DYNAMIC_FLAGS)); // dynFlags
|
||||
stmt->setUInt32(13, uint32(m_time)); // time
|
||||
stmt->setUInt8 (14, GetType()); // corpseType
|
||||
stmt->setUInt32(15, GetInstanceId()); // instanceId
|
||||
stmt->setUInt32(16, GetPhaseMask()); // phaseMask
|
||||
stmt->SetData(0, GetOwnerGUID().GetCounter()); // guid
|
||||
stmt->SetData (1, GetPositionX()); // posX
|
||||
stmt->SetData (2, GetPositionY()); // posY
|
||||
stmt->SetData (3, GetPositionZ()); // posZ
|
||||
stmt->SetData (4, GetOrientation()); // orientation
|
||||
stmt->SetData(5, GetMapId()); // mapId
|
||||
stmt->SetData(6, GetUInt32Value(CORPSE_FIELD_DISPLAY_ID)); // displayId
|
||||
stmt->SetData(7, _ConcatFields(CORPSE_FIELD_ITEM, EQUIPMENT_SLOT_END)); // itemCache
|
||||
stmt->SetData(8, GetUInt32Value(CORPSE_FIELD_BYTES_1)); // bytes1
|
||||
stmt->SetData(9, GetUInt32Value(CORPSE_FIELD_BYTES_2)); // bytes2
|
||||
stmt->SetData(10, GetUInt32Value(CORPSE_FIELD_GUILD)); // guildId
|
||||
stmt->SetData (11, GetUInt32Value(CORPSE_FIELD_FLAGS)); // flags
|
||||
stmt->SetData (12, GetUInt32Value(CORPSE_FIELD_DYNAMIC_FLAGS)); // dynFlags
|
||||
stmt->SetData(13, uint32(m_time)); // time
|
||||
stmt->SetData (14, GetType()); // corpseType
|
||||
stmt->SetData(15, GetInstanceId()); // instanceId
|
||||
stmt->SetData(16, GetPhaseMask()); // phaseMask
|
||||
trans->Append(stmt);
|
||||
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
@@ -125,44 +125,44 @@ void Corpse::DeleteFromDB(CharacterDatabaseTransaction trans)
|
||||
void Corpse::DeleteFromDB(ObjectGuid const ownerGuid, CharacterDatabaseTransaction trans)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CORPSE);
|
||||
stmt->setUInt32(0, ownerGuid.GetCounter());
|
||||
stmt->SetData(0, ownerGuid.GetCounter());
|
||||
CharacterDatabase.ExecuteOrAppend(trans, stmt);
|
||||
}
|
||||
|
||||
bool Corpse::LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields)
|
||||
{
|
||||
ObjectGuid::LowType ownerGuid = fields[16].GetUInt32();
|
||||
ObjectGuid::LowType ownerGuid = fields[16].Get<uint32>();
|
||||
|
||||
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
||||
// SELECT posX, posY, posZ, orientation, mapId, displayId, itemCache, bytes1, bytes2, guildId, flags, dynFlags, time, corpseType, instanceId, phaseMask, guid FROM corpse WHERE mapId = ? AND instanceId = ?
|
||||
float posX = fields[0].GetFloat();
|
||||
float posY = fields[1].GetFloat();
|
||||
float posZ = fields[2].GetFloat();
|
||||
float o = fields[3].GetFloat();
|
||||
uint32 mapId = fields[4].GetUInt16();
|
||||
float posX = fields[0].Get<float>();
|
||||
float posY = fields[1].Get<float>();
|
||||
float posZ = fields[2].Get<float>();
|
||||
float o = fields[3].Get<float>();
|
||||
uint32 mapId = fields[4].Get<uint16>();
|
||||
|
||||
Object::_Create(guid, 0, HighGuid::Corpse);
|
||||
|
||||
SetObjectScale(1.0f);
|
||||
SetUInt32Value(CORPSE_FIELD_DISPLAY_ID, fields[5].GetUInt32());
|
||||
SetUInt32Value(CORPSE_FIELD_DISPLAY_ID, fields[5].Get<uint32>());
|
||||
|
||||
if (!_LoadIntoDataField(fields[6].GetString(), CORPSE_FIELD_ITEM, EQUIPMENT_SLOT_END))
|
||||
if (!_LoadIntoDataField(fields[6].Get<std::string>(), CORPSE_FIELD_ITEM, EQUIPMENT_SLOT_END))
|
||||
{
|
||||
LOG_ERROR("entities.player", "Corpse ({}, owner: {}) is not created, given equipment info is not valid ('{}')",
|
||||
GetGUID().ToString(), GetOwnerGUID().ToString(), fields[6].GetString());
|
||||
GetGUID().ToString(), GetOwnerGUID().ToString(), fields[6].Get<std::string>());
|
||||
}
|
||||
|
||||
SetUInt32Value(CORPSE_FIELD_BYTES_1, fields[7].GetUInt32());
|
||||
SetUInt32Value(CORPSE_FIELD_BYTES_2, fields[8].GetUInt32());
|
||||
SetUInt32Value(CORPSE_FIELD_GUILD, fields[9].GetUInt32());
|
||||
SetUInt32Value(CORPSE_FIELD_FLAGS, fields[10].GetUInt8());
|
||||
SetUInt32Value(CORPSE_FIELD_DYNAMIC_FLAGS, fields[11].GetUInt8());
|
||||
SetUInt32Value(CORPSE_FIELD_BYTES_1, fields[7].Get<uint32>());
|
||||
SetUInt32Value(CORPSE_FIELD_BYTES_2, fields[8].Get<uint32>());
|
||||
SetUInt32Value(CORPSE_FIELD_GUILD, fields[9].Get<uint32>());
|
||||
SetUInt32Value(CORPSE_FIELD_FLAGS, fields[10].Get<uint8>());
|
||||
SetUInt32Value(CORPSE_FIELD_DYNAMIC_FLAGS, fields[11].Get<uint8>());
|
||||
SetGuidValue(CORPSE_FIELD_OWNER, ObjectGuid::Create<HighGuid::Player>(ownerGuid));
|
||||
|
||||
m_time = time_t(fields[12].GetUInt32());
|
||||
m_time = time_t(fields[12].Get<uint32>());
|
||||
|
||||
uint32 instanceId = fields[14].GetUInt32();
|
||||
uint32 phaseMask = fields[15].GetUInt32();
|
||||
uint32 instanceId = fields[14].Get<uint32>();
|
||||
uint32 phaseMask = fields[15].Get<uint32>();
|
||||
|
||||
// place
|
||||
SetLocationInstanceId(instanceId);
|
||||
|
||||
@@ -1352,33 +1352,33 @@ void Creature::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask)
|
||||
WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction();
|
||||
|
||||
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CREATURE);
|
||||
stmt->setUInt32(0, m_spawnId);
|
||||
stmt->SetData(0, m_spawnId);
|
||||
trans->Append(stmt);
|
||||
|
||||
uint8 index = 0;
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_INS_CREATURE);
|
||||
stmt->setUInt32(index++, m_spawnId);
|
||||
stmt->setUInt32(index++, GetEntry());
|
||||
stmt->setUInt32(index++, 0);
|
||||
stmt->setUInt32(index++, 0);
|
||||
stmt->setUInt16(index++, uint16(mapid));
|
||||
stmt->setUInt8(index++, spawnMask);
|
||||
stmt->setUInt32(index++, GetPhaseMask());
|
||||
stmt->setInt32(index++, int32(GetCurrentEquipmentId()));
|
||||
stmt->setFloat(index++, GetPositionX());
|
||||
stmt->setFloat(index++, GetPositionY());
|
||||
stmt->setFloat(index++, GetPositionZ());
|
||||
stmt->setFloat(index++, GetOrientation());
|
||||
stmt->setUInt32(index++, m_respawnDelay);
|
||||
stmt->setFloat(index++, m_wanderDistance);
|
||||
stmt->setUInt32(index++, 0);
|
||||
stmt->setUInt32(index++, GetHealth());
|
||||
stmt->setUInt32(index++, GetPower(POWER_MANA));
|
||||
stmt->setUInt8(index++, uint8(GetDefaultMovementType()));
|
||||
stmt->setUInt32(index++, npcflag);
|
||||
stmt->setUInt32(index++, unit_flags);
|
||||
stmt->setUInt32(index++, dynamicflags);
|
||||
stmt->SetData(index++, m_spawnId);
|
||||
stmt->SetData(index++, GetEntry());
|
||||
stmt->SetData(index++, 0);
|
||||
stmt->SetData(index++, 0);
|
||||
stmt->SetData(index++, uint16(mapid));
|
||||
stmt->SetData(index++, spawnMask);
|
||||
stmt->SetData(index++, GetPhaseMask());
|
||||
stmt->SetData(index++, int32(GetCurrentEquipmentId()));
|
||||
stmt->SetData(index++, GetPositionX());
|
||||
stmt->SetData(index++, GetPositionY());
|
||||
stmt->SetData(index++, GetPositionZ());
|
||||
stmt->SetData(index++, GetOrientation());
|
||||
stmt->SetData(index++, m_respawnDelay);
|
||||
stmt->SetData(index++, m_wanderDistance);
|
||||
stmt->SetData(index++, 0);
|
||||
stmt->SetData(index++, GetHealth());
|
||||
stmt->SetData(index++, GetPower(POWER_MANA));
|
||||
stmt->SetData(index++, uint8(GetDefaultMovementType()));
|
||||
stmt->SetData(index++, npcflag);
|
||||
stmt->SetData(index++, unit_flags);
|
||||
stmt->SetData(index++, dynamicflags);
|
||||
trans->Append(stmt);
|
||||
|
||||
WorldDatabase.CommitTransaction(trans);
|
||||
@@ -1737,19 +1737,19 @@ void Creature::DeleteFromDB()
|
||||
WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction();
|
||||
|
||||
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CREATURE);
|
||||
stmt->setUInt32(0, m_spawnId);
|
||||
stmt->SetData(0, m_spawnId);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CREATURE_ADDON);
|
||||
stmt->setUInt32(0, m_spawnId);
|
||||
stmt->SetData(0, m_spawnId);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_GAME_EVENT_CREATURE);
|
||||
stmt->setUInt32(0, m_spawnId);
|
||||
stmt->SetData(0, m_spawnId);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_GAME_EVENT_MODEL_EQUIP);
|
||||
stmt->setUInt32(0, m_spawnId);
|
||||
stmt->SetData(0, m_spawnId);
|
||||
trans->Append(stmt);
|
||||
|
||||
WorldDatabase.CommitTransaction(trans);
|
||||
|
||||
@@ -98,13 +98,13 @@ void FormationMgr::LoadCreatureFormations()
|
||||
|
||||
//Load group member data
|
||||
FormationInfo group_member;
|
||||
group_member.leaderGUID = fields[0].GetUInt32();
|
||||
ObjectGuid::LowType const memberGUID = fields[1].GetUInt32();
|
||||
float const follow_dist = fields[2].GetFloat();
|
||||
float const follow_angle = fields[3].GetFloat() * (static_cast<float>(M_PI) / 180);
|
||||
group_member.groupAI = fields[4].GetUInt16();
|
||||
group_member.point_1 = fields[5].GetUInt16();
|
||||
group_member.point_2 = fields[6].GetUInt16();
|
||||
group_member.leaderGUID = fields[0].Get<uint32>();
|
||||
ObjectGuid::LowType const memberGUID = fields[1].Get<uint32>();
|
||||
float const follow_dist = fields[2].Get<float>();
|
||||
float const follow_angle = fields[3].Get<float>() * (static_cast<float>(M_PI) / 180);
|
||||
group_member.groupAI = fields[4].Get<uint16>();
|
||||
group_member.point_1 = fields[5].Get<uint16>();
|
||||
group_member.point_2 = fields[6].Get<uint16>();
|
||||
|
||||
//If creature is group leader we may skip loading of dist/angle
|
||||
if (group_member.leaderGUID != memberGUID)
|
||||
|
||||
@@ -1017,33 +1017,33 @@ void GameObject::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask, bool
|
||||
uint8 index = 0;
|
||||
|
||||
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_GAMEOBJECT);
|
||||
stmt->setUInt32(0, m_spawnId);
|
||||
stmt->SetData(0, m_spawnId);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_INS_GAMEOBJECT);
|
||||
stmt->setUInt32(index++, m_spawnId);
|
||||
stmt->setUInt32(index++, GetEntry());
|
||||
stmt->setUInt16(index++, uint16(mapid));
|
||||
stmt->setUInt8(index++, spawnMask);
|
||||
stmt->setUInt32(index++, GetPhaseMask());
|
||||
stmt->setFloat(index++, GetPositionX());
|
||||
stmt->setFloat(index++, GetPositionY());
|
||||
stmt->setFloat(index++, GetPositionZ());
|
||||
stmt->setFloat(index++, GetOrientation());
|
||||
stmt->setFloat(index++, m_localRotation.x);
|
||||
stmt->setFloat(index++, m_localRotation.y);
|
||||
stmt->setFloat(index++, m_localRotation.z);
|
||||
stmt->setFloat(index++, m_localRotation.w);
|
||||
stmt->setInt32(index++, int32(m_respawnDelayTime));
|
||||
stmt->setUInt8(index++, GetGoAnimProgress());
|
||||
stmt->setUInt8(index++, uint8(GetGoState()));
|
||||
stmt->SetData(index++, m_spawnId);
|
||||
stmt->SetData(index++, GetEntry());
|
||||
stmt->SetData(index++, uint16(mapid));
|
||||
stmt->SetData(index++, spawnMask);
|
||||
stmt->SetData(index++, GetPhaseMask());
|
||||
stmt->SetData(index++, GetPositionX());
|
||||
stmt->SetData(index++, GetPositionY());
|
||||
stmt->SetData(index++, GetPositionZ());
|
||||
stmt->SetData(index++, GetOrientation());
|
||||
stmt->SetData(index++, m_localRotation.x);
|
||||
stmt->SetData(index++, m_localRotation.y);
|
||||
stmt->SetData(index++, m_localRotation.z);
|
||||
stmt->SetData(index++, m_localRotation.w);
|
||||
stmt->SetData(index++, int32(m_respawnDelayTime));
|
||||
stmt->SetData(index++, GetGoAnimProgress());
|
||||
stmt->SetData(index++, uint8(GetGoState()));
|
||||
trans->Append(stmt);
|
||||
|
||||
if (saveAddon && !sObjectMgr->GetGameObjectAddon(m_spawnId))
|
||||
{
|
||||
index = 0;
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_INS_GAMEOBJECT_ADDON);
|
||||
stmt->setUInt32(index++, m_spawnId);
|
||||
stmt->SetData(index++, m_spawnId);
|
||||
trans->Append(stmt);
|
||||
}
|
||||
|
||||
@@ -1121,11 +1121,11 @@ void GameObject::DeleteFromDB()
|
||||
sObjectMgr->DeleteGOData(m_spawnId);
|
||||
|
||||
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_GAMEOBJECT);
|
||||
stmt->setUInt32(0, m_spawnId);
|
||||
stmt->SetData(0, m_spawnId);
|
||||
WorldDatabase.Execute(stmt);
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_EVENT_GAMEOBJECT);
|
||||
stmt->setUInt32(0, m_spawnId);
|
||||
stmt->SetData(0, m_spawnId);
|
||||
WorldDatabase.Execute(stmt);
|
||||
}
|
||||
|
||||
|
||||
@@ -329,19 +329,19 @@ void Item::SaveToDB(CharacterDatabaseTransaction trans)
|
||||
{
|
||||
uint8 index = 0;
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(uState == ITEM_NEW ? CHAR_REP_ITEM_INSTANCE : CHAR_UPD_ITEM_INSTANCE);
|
||||
stmt->setUInt32( index, GetEntry());
|
||||
stmt->setUInt32(++index, GetOwnerGUID().GetCounter());
|
||||
stmt->setUInt32(++index, GetGuidValue(ITEM_FIELD_CREATOR).GetCounter());
|
||||
stmt->setUInt32(++index, GetGuidValue(ITEM_FIELD_GIFTCREATOR).GetCounter());
|
||||
stmt->setUInt32(++index, GetCount());
|
||||
stmt->setUInt32(++index, GetUInt32Value(ITEM_FIELD_DURATION));
|
||||
stmt->SetData( index, GetEntry());
|
||||
stmt->SetData(++index, GetOwnerGUID().GetCounter());
|
||||
stmt->SetData(++index, GetGuidValue(ITEM_FIELD_CREATOR).GetCounter());
|
||||
stmt->SetData(++index, GetGuidValue(ITEM_FIELD_GIFTCREATOR).GetCounter());
|
||||
stmt->SetData(++index, GetCount());
|
||||
stmt->SetData(++index, GetUInt32Value(ITEM_FIELD_DURATION));
|
||||
|
||||
std::ostringstream ssSpells;
|
||||
for (uint8 i = 0; i < MAX_ITEM_PROTO_SPELLS; ++i)
|
||||
ssSpells << GetSpellCharges(i) << ' ';
|
||||
stmt->setString(++index, ssSpells.str());
|
||||
stmt->SetData(++index, ssSpells.str());
|
||||
|
||||
stmt->setUInt32(++index, GetUInt32Value(ITEM_FIELD_FLAGS));
|
||||
stmt->SetData(++index, GetUInt32Value(ITEM_FIELD_FLAGS));
|
||||
|
||||
std::ostringstream ssEnchants;
|
||||
for (uint8 i = 0; i < MAX_ENCHANTMENT_SLOT; ++i)
|
||||
@@ -350,21 +350,21 @@ void Item::SaveToDB(CharacterDatabaseTransaction trans)
|
||||
ssEnchants << GetEnchantmentDuration(EnchantmentSlot(i)) << ' ';
|
||||
ssEnchants << GetEnchantmentCharges(EnchantmentSlot(i)) << ' ';
|
||||
}
|
||||
stmt->setString(++index, ssEnchants.str());
|
||||
stmt->SetData(++index, ssEnchants.str());
|
||||
|
||||
stmt->setInt16 (++index, GetItemRandomPropertyId());
|
||||
stmt->setUInt16(++index, GetUInt32Value(ITEM_FIELD_DURABILITY));
|
||||
stmt->setUInt32(++index, GetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME));
|
||||
stmt->setString(++index, m_text);
|
||||
stmt->setUInt32(++index, guid);
|
||||
stmt->SetData (++index, GetItemRandomPropertyId());
|
||||
stmt->SetData(++index, GetUInt32Value(ITEM_FIELD_DURABILITY));
|
||||
stmt->SetData(++index, GetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME));
|
||||
stmt->SetData(++index, m_text);
|
||||
stmt->SetData(++index, guid);
|
||||
|
||||
trans->Append(stmt);
|
||||
|
||||
if ((uState == ITEM_CHANGED) && HasFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_WRAPPED))
|
||||
{
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_GIFT_OWNER);
|
||||
stmt->setUInt32(0, GetOwnerGUID().GetCounter());
|
||||
stmt->setUInt32(1, guid);
|
||||
stmt->SetData(0, GetOwnerGUID().GetCounter());
|
||||
stmt->SetData(1, guid);
|
||||
trans->Append(stmt);
|
||||
}
|
||||
break;
|
||||
@@ -372,13 +372,13 @@ void Item::SaveToDB(CharacterDatabaseTransaction trans)
|
||||
case ITEM_REMOVED:
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_INSTANCE);
|
||||
stmt->setUInt32(0, guid);
|
||||
stmt->SetData(0, guid);
|
||||
trans->Append(stmt);
|
||||
|
||||
if (HasFlag(ITEM_FIELD_FLAGS, ITEM_FIELD_FLAG_WRAPPED))
|
||||
{
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GIFT);
|
||||
stmt->setUInt32(0, guid);
|
||||
stmt->SetData(0, guid);
|
||||
trans->Append(stmt);
|
||||
}
|
||||
|
||||
@@ -401,7 +401,7 @@ void Item::SaveToDB(CharacterDatabaseTransaction trans)
|
||||
bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fields, uint32 entry)
|
||||
{
|
||||
// 0 1 2 3 4 5 6 7 8 9 10
|
||||
//result = CharacterDatabase.PQuery("SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text FROM item_instance WHERE guid = '%u'", guid);
|
||||
//result = CharacterDatabase.Query("SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text FROM item_instance WHERE guid = '{}'", guid);
|
||||
|
||||
// create item before any checks for store correct guid
|
||||
// and allow use "FSetState(ITEM_REMOVED); SaveToDB();" for deleting item from DB
|
||||
@@ -423,11 +423,11 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi
|
||||
SetOwnerGUID(owner_guid);
|
||||
|
||||
bool need_save = false; // need explicit save data at load fixes
|
||||
SetGuidValue(ITEM_FIELD_CREATOR, ObjectGuid::Create<HighGuid::Player>(fields[0].GetUInt32()));
|
||||
SetGuidValue(ITEM_FIELD_GIFTCREATOR, ObjectGuid::Create<HighGuid::Player>(fields[1].GetUInt32()));
|
||||
SetCount(fields[2].GetUInt32());
|
||||
SetGuidValue(ITEM_FIELD_CREATOR, ObjectGuid::Create<HighGuid::Player>(fields[0].Get<uint32>()));
|
||||
SetGuidValue(ITEM_FIELD_GIFTCREATOR, ObjectGuid::Create<HighGuid::Player>(fields[1].Get<uint32>()));
|
||||
SetCount(fields[2].Get<uint32>());
|
||||
|
||||
uint32 duration = fields[3].GetUInt32();
|
||||
uint32 duration = fields[3].Get<uint32>();
|
||||
SetUInt32Value(ITEM_FIELD_DURATION, duration);
|
||||
// update duration if need, and remove if not need
|
||||
if ((proto->Duration == 0) != (duration == 0))
|
||||
@@ -436,7 +436,7 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi
|
||||
need_save = true;
|
||||
}
|
||||
|
||||
std::vector<std::string_view> tokens = Acore::Tokenize(fields[4].GetStringView(), ' ', false);
|
||||
std::vector<std::string_view> tokens = Acore::Tokenize(fields[4].Get<std::string_view>(), ' ', false);
|
||||
if (tokens.size() == MAX_ITEM_PROTO_SPELLS)
|
||||
{
|
||||
for (uint8 i = 0; i < MAX_ITEM_PROTO_SPELLS; ++i)
|
||||
@@ -448,7 +448,7 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi
|
||||
}
|
||||
}
|
||||
|
||||
SetUInt32Value(ITEM_FIELD_FLAGS, fields[5].GetUInt32());
|
||||
SetUInt32Value(ITEM_FIELD_FLAGS, fields[5].Get<uint32>());
|
||||
// Remove bind flag for items vs NO_BIND set
|
||||
if (IsSoulBound() && proto->Bonding == NO_BIND && sScriptMgr->CanApplySoulboundFlag(this, proto))
|
||||
{
|
||||
@@ -456,19 +456,19 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi
|
||||
need_save = true;
|
||||
}
|
||||
|
||||
std::string enchants = fields[6].GetString();
|
||||
std::string enchants = fields[6].Get<std::string>();
|
||||
|
||||
if (!_LoadIntoDataField(fields[6].GetString(), ITEM_FIELD_ENCHANTMENT_1_1, MAX_ENCHANTMENT_SLOT * MAX_ENCHANTMENT_OFFSET))
|
||||
if (!_LoadIntoDataField(fields[6].Get<std::string>(), ITEM_FIELD_ENCHANTMENT_1_1, MAX_ENCHANTMENT_SLOT * MAX_ENCHANTMENT_OFFSET))
|
||||
{
|
||||
LOG_WARN("entities.item", "Invalid enchantment data '{}' for item {}. Forcing partial load.", fields[6].GetString(), GetGUID().ToString());
|
||||
LOG_WARN("entities.item", "Invalid enchantment data '{}' for item {}. Forcing partial load.", fields[6].Get<std::string>(), GetGUID().ToString());
|
||||
}
|
||||
|
||||
SetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID, fields[7].GetInt16());
|
||||
SetInt32Value(ITEM_FIELD_RANDOM_PROPERTIES_ID, fields[7].Get<int16>());
|
||||
// recalculate suffix factor
|
||||
if (GetItemRandomPropertyId() < 0)
|
||||
UpdateItemSuffixFactor();
|
||||
|
||||
uint32 durability = fields[8].GetUInt16();
|
||||
uint32 durability = fields[8].Get<uint16>();
|
||||
SetUInt32Value(ITEM_FIELD_DURABILITY, durability);
|
||||
|
||||
// update max durability (and durability) if need
|
||||
@@ -480,16 +480,16 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi
|
||||
need_save = true;
|
||||
}
|
||||
|
||||
SetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME, fields[9].GetUInt32());
|
||||
SetText(fields[10].GetString());
|
||||
SetUInt32Value(ITEM_FIELD_CREATE_PLAYED_TIME, fields[9].Get<uint32>());
|
||||
SetText(fields[10].Get<std::string>());
|
||||
|
||||
if (need_save) // normal item changed state set not work at loading
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ITEM_INSTANCE_ON_LOAD);
|
||||
stmt->setUInt32(0, GetUInt32Value(ITEM_FIELD_DURATION));
|
||||
stmt->setUInt32(1, GetUInt32Value(ITEM_FIELD_FLAGS));
|
||||
stmt->setUInt32(2, GetUInt32Value(ITEM_FIELD_DURABILITY));
|
||||
stmt->setUInt32(3, guid);
|
||||
stmt->SetData(0, GetUInt32Value(ITEM_FIELD_DURATION));
|
||||
stmt->SetData(1, GetUInt32Value(ITEM_FIELD_FLAGS));
|
||||
stmt->SetData(2, GetUInt32Value(ITEM_FIELD_DURABILITY));
|
||||
stmt->SetData(3, guid);
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
|
||||
@@ -501,7 +501,7 @@ void Item::DeleteFromDB(CharacterDatabaseTransaction trans, ObjectGuid::LowType
|
||||
{
|
||||
sScriptMgr->OnGlobalItemDelFromDB(trans, itemGuid);
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_INSTANCE);
|
||||
stmt->setUInt32(0, itemGuid);
|
||||
stmt->SetData(0, itemGuid);
|
||||
trans->Append(stmt);
|
||||
}
|
||||
|
||||
@@ -514,7 +514,7 @@ void Item::DeleteFromDB(CharacterDatabaseTransaction trans)
|
||||
void Item::DeleteFromInventoryDB(CharacterDatabaseTransaction trans, ObjectGuid::LowType itemGuid)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_INVENTORY_BY_ITEM);
|
||||
stmt->setUInt32(0, itemGuid);
|
||||
stmt->SetData(0, itemGuid);
|
||||
trans->Append(stmt);
|
||||
}
|
||||
|
||||
@@ -1156,14 +1156,14 @@ void Item::SaveRefundDataToDB()
|
||||
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_REFUND_INSTANCE);
|
||||
stmt->setUInt32(0, GetGUID().GetCounter());
|
||||
stmt->SetData(0, GetGUID().GetCounter());
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_ITEM_REFUND_INSTANCE);
|
||||
stmt->setUInt32(0, GetGUID().GetCounter());
|
||||
stmt->setUInt32(1, GetRefundRecipient());
|
||||
stmt->setUInt32(2, GetPaidMoney());
|
||||
stmt->setUInt16(3, uint16(GetPaidExtendedCost()));
|
||||
stmt->SetData(0, GetGUID().GetCounter());
|
||||
stmt->SetData(1, GetRefundRecipient());
|
||||
stmt->SetData(2, GetPaidMoney());
|
||||
stmt->SetData(3, uint16(GetPaidExtendedCost()));
|
||||
trans->Append(stmt);
|
||||
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
@@ -1174,7 +1174,7 @@ void Item::DeleteRefundDataFromDB(CharacterDatabaseTransaction* trans)
|
||||
if (trans)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_REFUND_INSTANCE);
|
||||
stmt->setUInt32(0, GetGUID().GetCounter());
|
||||
stmt->SetData(0, GetGUID().GetCounter());
|
||||
(*trans)->Append(stmt);
|
||||
}
|
||||
}
|
||||
@@ -1252,7 +1252,7 @@ void Item::ClearSoulboundTradeable(Player* currentOwner)
|
||||
allowedGUIDs.clear();
|
||||
SetState(ITEM_CHANGED, currentOwner);
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_BOP_TRADE);
|
||||
stmt->setUInt32(0, GetGUID().GetCounter());
|
||||
stmt->SetData(0, GetGUID().GetCounter());
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,9 +58,9 @@ void LoadRandomEnchantmentsTable()
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
uint32 entry = fields[0].GetUInt32();
|
||||
uint32 ench = fields[1].GetUInt32();
|
||||
float chance = fields[2].GetFloat();
|
||||
uint32 entry = fields[0].Get<uint32>();
|
||||
uint32 ench = fields[1].Get<uint32>();
|
||||
float chance = fields[2].Get<float>();
|
||||
|
||||
if (chance > 0.000001f && chance <= 100.0f)
|
||||
RandomItemEnch[entry].push_back(EnchStoreItem(ench, chance));
|
||||
|
||||
@@ -140,20 +140,20 @@ public:
|
||||
CharacterDatabasePreparedStatement* stmt = nullptr;
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PET_DECLINED_NAME);
|
||||
stmt->setUInt32(0, ownerGuid);
|
||||
stmt->setUInt32(1, petNumber);
|
||||
stmt->SetData(0, ownerGuid);
|
||||
stmt->SetData(1, petNumber);
|
||||
SetPreparedQuery(DECLINED_NAMES, stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PET_AURA);
|
||||
stmt->setUInt32(0, petNumber);
|
||||
stmt->SetData(0, petNumber);
|
||||
SetPreparedQuery(AURAS, stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PET_SPELL);
|
||||
stmt->setUInt32(0, petNumber);
|
||||
stmt->SetData(0, petNumber);
|
||||
SetPreparedQuery(SPELLS, stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_PET_SPELL_COOLDOWN);
|
||||
stmt->setUInt32(0, petNumber);
|
||||
stmt->SetData(0, petNumber);
|
||||
SetPreparedQuery(COOLDOWNS, stmt);
|
||||
}
|
||||
};
|
||||
@@ -455,7 +455,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c
|
||||
m_declinedname = std::make_unique<DeclinedName>();
|
||||
Field* fields = result->Fetch();
|
||||
for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i)
|
||||
m_declinedname->name[i] = fields[i].GetString();
|
||||
m_declinedname->name[i] = fields[i].Get<std::string>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -536,16 +536,16 @@ void Pet::SavePetToDB(PetSaveMode mode)
|
||||
// remove current data
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_BY_ID);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
trans->Append(stmt);
|
||||
|
||||
// prevent existence another hunter pet in PET_SAVE_AS_CURRENT and PET_SAVE_NOT_IN_SLOT
|
||||
if (getPetType() == HUNTER_PET && (mode == PET_SAVE_AS_CURRENT || mode > PET_SAVE_LAST_STABLE_SLOT))
|
||||
{
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_BY_SLOT);
|
||||
stmt->setUInt32(0, ownerLowGUID);
|
||||
stmt->setUInt8(1, uint8(PET_SAVE_AS_CURRENT));
|
||||
stmt->setUInt8(2, uint8(PET_SAVE_LAST_STABLE_SLOT));
|
||||
stmt->SetData(0, ownerLowGUID);
|
||||
stmt->SetData(1, uint8(PET_SAVE_AS_CURRENT));
|
||||
stmt->SetData(2, uint8(PET_SAVE_LAST_STABLE_SLOT));
|
||||
trans->Append(stmt);
|
||||
}
|
||||
|
||||
@@ -556,23 +556,23 @@ void Pet::SavePetToDB(PetSaveMode mode)
|
||||
FillPetInfo(&owner->GetPetStable()->CurrentPet.value());
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_CHAR_PET);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, GetEntry());
|
||||
stmt->setUInt32(2, ownerLowGUID);
|
||||
stmt->setUInt32(3, GetNativeDisplayId());
|
||||
stmt->setUInt32(4, GetUInt32Value(UNIT_CREATED_BY_SPELL));
|
||||
stmt->setUInt8(5, uint8(getPetType()));
|
||||
stmt->setUInt8(6, getLevel());
|
||||
stmt->setUInt32(7, GetUInt32Value(UNIT_FIELD_PETEXPERIENCE));
|
||||
stmt->setUInt8(8, uint8(GetReactState()));
|
||||
stmt->setString(9, GetName());
|
||||
stmt->setUInt8(10, uint8(HasByteFlag(UNIT_FIELD_BYTES_2, 2, UNIT_CAN_BE_RENAMED) ? 0 : 1));
|
||||
stmt->setUInt8(11, uint8(mode));
|
||||
stmt->setUInt32(12, curhealth);
|
||||
stmt->setUInt32(13, curmana);
|
||||
stmt->setUInt32(14, GetPower(POWER_HAPPINESS));
|
||||
stmt->setUInt32(15, GameTime::GetGameTime().count());
|
||||
stmt->setString(16, actionBar);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, GetEntry());
|
||||
stmt->SetData(2, ownerLowGUID);
|
||||
stmt->SetData(3, GetNativeDisplayId());
|
||||
stmt->SetData(4, GetUInt32Value(UNIT_CREATED_BY_SPELL));
|
||||
stmt->SetData(5, uint8(getPetType()));
|
||||
stmt->SetData(6, getLevel());
|
||||
stmt->SetData(7, GetUInt32Value(UNIT_FIELD_PETEXPERIENCE));
|
||||
stmt->SetData(8, uint8(GetReactState()));
|
||||
stmt->SetData(9, GetName());
|
||||
stmt->SetData(10, uint8(HasByteFlag(UNIT_FIELD_BYTES_2, 2, UNIT_CAN_BE_RENAMED) ? 0 : 1));
|
||||
stmt->SetData(11, uint8(mode));
|
||||
stmt->SetData(12, curhealth);
|
||||
stmt->SetData(13, curmana);
|
||||
stmt->SetData(14, GetPower(POWER_HAPPINESS));
|
||||
stmt->SetData(15, GameTime::GetGameTime().count());
|
||||
stmt->SetData(16, actionBar);
|
||||
|
||||
trans->Append(stmt);
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
@@ -590,23 +590,23 @@ void Pet::DeleteFromDB(ObjectGuid::LowType guidlow)
|
||||
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_BY_ID);
|
||||
stmt->setUInt32(0, guidlow);
|
||||
stmt->SetData(0, guidlow);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_DECLINEDNAME);
|
||||
stmt->setUInt32(0, guidlow);
|
||||
stmt->SetData(0, guidlow);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_AURAS);
|
||||
stmt->setUInt32(0, guidlow);
|
||||
stmt->SetData(0, guidlow);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_SPELLS);
|
||||
stmt->setUInt32(0, guidlow);
|
||||
stmt->SetData(0, guidlow);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_SPELL_COOLDOWNS);
|
||||
stmt->setUInt32(0, guidlow);
|
||||
stmt->SetData(0, guidlow);
|
||||
trans->Append(stmt);
|
||||
|
||||
CharacterDatabase.CommitTransaction(trans);
|
||||
@@ -1431,9 +1431,9 @@ void Pet::_LoadSpellCooldowns(PreparedQueryResult result)
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
uint32 spell_id = fields[0].GetUInt32();
|
||||
uint16 category = fields[1].GetUInt16();
|
||||
time_t db_time = time_t(fields[2].GetUInt32());
|
||||
uint32 spell_id = fields[0].Get<uint32>();
|
||||
uint16 category = fields[1].Get<uint16>();
|
||||
time_t db_time = time_t(fields[2].Get<uint32>());
|
||||
|
||||
if (!sSpellMgr->GetSpellInfo(spell_id))
|
||||
{
|
||||
@@ -1463,7 +1463,7 @@ void Pet::_LoadSpellCooldowns(PreparedQueryResult result)
|
||||
void Pet::_SaveSpellCooldowns(CharacterDatabaseTransaction trans)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_SPELL_COOLDOWNS);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
trans->Append(stmt);
|
||||
|
||||
time_t curTime = GameTime::GetGameTime().count();
|
||||
@@ -1485,10 +1485,10 @@ void Pet::_SaveSpellCooldowns(CharacterDatabaseTransaction trans)
|
||||
{
|
||||
uint32 cooldown = ((itr2->second.end - curMSTime) / IN_MILLISECONDS) + curTime;
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PET_SPELL_COOLDOWN);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, itr2->first);
|
||||
stmt->setUInt16(2, itr2->second.category);
|
||||
stmt->setUInt32(3, cooldown);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, itr2->first);
|
||||
stmt->SetData(2, itr2->second.category);
|
||||
stmt->SetData(3, cooldown);
|
||||
trans->Append(stmt);
|
||||
}
|
||||
}
|
||||
@@ -1502,7 +1502,7 @@ void Pet::_LoadSpells(PreparedQueryResult result)
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
addSpell(fields[0].GetUInt32(), ActiveStates(fields[1].GetUInt8()), PETSPELL_UNCHANGED);
|
||||
addSpell(fields[0].Get<uint32>(), ActiveStates(fields[1].Get<uint8>()), PETSPELL_UNCHANGED);
|
||||
} while (result->NextRow());
|
||||
}
|
||||
}
|
||||
@@ -1523,30 +1523,30 @@ void Pet::_SaveSpells(CharacterDatabaseTransaction trans)
|
||||
{
|
||||
case PETSPELL_REMOVED:
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_SPELL_BY_SPELL);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, itr->first);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, itr->first);
|
||||
trans->Append(stmt);
|
||||
|
||||
m_spells.erase(itr);
|
||||
continue;
|
||||
case PETSPELL_CHANGED:
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_SPELL_BY_SPELL);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, itr->first);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, itr->first);
|
||||
trans->Append(stmt);
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PET_SPELL);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, itr->first);
|
||||
stmt->setUInt8(2, itr->second.active);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, itr->first);
|
||||
stmt->SetData(2, itr->second.active);
|
||||
trans->Append(stmt);
|
||||
|
||||
break;
|
||||
case PETSPELL_NEW:
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PET_SPELL);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->setUInt32(1, itr->first);
|
||||
stmt->setUInt8(2, itr->second.active);
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(1, itr->first);
|
||||
stmt->SetData(2, itr->second.active);
|
||||
trans->Append(stmt);
|
||||
break;
|
||||
case PETSPELL_UNCHANGED:
|
||||
@@ -1567,23 +1567,23 @@ void Pet::_LoadAuras(PreparedQueryResult result, uint32 timediff)
|
||||
int32 damage[3];
|
||||
int32 baseDamage[3];
|
||||
Field* fields = result->Fetch();
|
||||
ObjectGuid caster_guid = ObjectGuid(fields[0].GetUInt64());
|
||||
ObjectGuid caster_guid = ObjectGuid(fields[0].Get<uint64>());
|
||||
// nullptr guid stored - pet is the caster of the spell - see Pet::_SaveAuras
|
||||
if (!caster_guid)
|
||||
caster_guid = GetGUID();
|
||||
uint32 spellid = fields[1].GetUInt32();
|
||||
uint8 effmask = fields[2].GetUInt8();
|
||||
uint8 recalculatemask = fields[3].GetUInt8();
|
||||
uint8 stackcount = fields[4].GetUInt8();
|
||||
damage[0] = fields[5].GetInt32();
|
||||
damage[1] = fields[6].GetInt32();
|
||||
damage[2] = fields[7].GetInt32();
|
||||
baseDamage[0] = fields[8].GetInt32();
|
||||
baseDamage[1] = fields[9].GetInt32();
|
||||
baseDamage[2] = fields[10].GetInt32();
|
||||
int32 maxduration = fields[11].GetInt32();
|
||||
int32 remaintime = fields[12].GetInt32();
|
||||
uint8 remaincharges = fields[13].GetUInt8();
|
||||
uint32 spellid = fields[1].Get<uint32>();
|
||||
uint8 effmask = fields[2].Get<uint8>();
|
||||
uint8 recalculatemask = fields[3].Get<uint8>();
|
||||
uint8 stackcount = fields[4].Get<uint8>();
|
||||
damage[0] = fields[5].Get<int32>();
|
||||
damage[1] = fields[6].Get<int32>();
|
||||
damage[2] = fields[7].Get<int32>();
|
||||
baseDamage[0] = fields[8].Get<int32>();
|
||||
baseDamage[1] = fields[9].Get<int32>();
|
||||
baseDamage[2] = fields[10].Get<int32>();
|
||||
int32 maxduration = fields[11].Get<int32>();
|
||||
int32 remaintime = fields[12].Get<int32>();
|
||||
uint8 remaincharges = fields[13].Get<uint8>();
|
||||
|
||||
SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellid);
|
||||
if (!spellInfo)
|
||||
@@ -1639,7 +1639,7 @@ void Pet::_LoadAuras(PreparedQueryResult result, uint32 timediff)
|
||||
void Pet::_SaveAuras(CharacterDatabaseTransaction trans)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_AURAS);
|
||||
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
|
||||
stmt->SetData(0, m_charmInfo->GetPetNumber());
|
||||
trans->Append(stmt);
|
||||
|
||||
for (AuraMap::const_iterator itr = m_ownedAuras.begin(); itr != m_ownedAuras.end(); ++itr)
|
||||
@@ -1699,21 +1699,21 @@ void Pet::_SaveAuras(CharacterDatabaseTransaction trans)
|
||||
uint8 index = 0;
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt2 = CharacterDatabase.GetPreparedStatement(CHAR_INS_PET_AURA);
|
||||
stmt2->setUInt32(index++, m_charmInfo->GetPetNumber());
|
||||
stmt2->setUInt64(index++, casterGUID.GetRawValue());
|
||||
stmt2->setUInt32(index++, itr->second->GetId());
|
||||
stmt2->setUInt8(index++, effMask);
|
||||
stmt2->setUInt8(index++, recalculateMask);
|
||||
stmt2->setUInt8(index++, itr->second->GetStackAmount());
|
||||
stmt2->setInt32(index++, damage[0]);
|
||||
stmt2->setInt32(index++, damage[1]);
|
||||
stmt2->setInt32(index++, damage[2]);
|
||||
stmt2->setInt32(index++, baseDamage[0]);
|
||||
stmt2->setInt32(index++, baseDamage[1]);
|
||||
stmt2->setInt32(index++, baseDamage[2]);
|
||||
stmt2->setInt32(index++, itr->second->GetMaxDuration());
|
||||
stmt2->setInt32(index++, itr->second->GetDuration());
|
||||
stmt2->setUInt8(index++, itr->second->GetCharges());
|
||||
stmt2->SetData(index++, m_charmInfo->GetPetNumber());
|
||||
stmt2->SetData(index++, casterGUID.GetRawValue());
|
||||
stmt2->SetData(index++, itr->second->GetId());
|
||||
stmt2->SetData(index++, effMask);
|
||||
stmt2->SetData(index++, recalculateMask);
|
||||
stmt2->SetData(index++, itr->second->GetStackAmount());
|
||||
stmt2->SetData(index++, damage[0]);
|
||||
stmt2->SetData(index++, damage[1]);
|
||||
stmt2->SetData(index++, damage[2]);
|
||||
stmt2->SetData(index++, baseDamage[0]);
|
||||
stmt2->SetData(index++, baseDamage[1]);
|
||||
stmt2->SetData(index++, baseDamage[2]);
|
||||
stmt2->SetData(index++, itr->second->GetMaxDuration());
|
||||
stmt2->SetData(index++, itr->second->GetDuration());
|
||||
stmt2->SetData(index++, itr->second->GetCharges());
|
||||
trans->Append(stmt2);
|
||||
}
|
||||
}
|
||||
@@ -1729,7 +1729,7 @@ bool Pet::addSpell(uint32 spellId, ActiveStates active /*= ACT_DECIDE*/, PetSpel
|
||||
LOG_ERROR("entities.pet", "Pet::addSpell: Non-existed in SpellStore spell #{} request, deleting for all pets in `pet_spell`.", spellId);
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_INVALID_PET_SPELL);
|
||||
stmt->setUInt32(0, spellId);
|
||||
stmt->SetData(0, spellId);
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
else
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -75,13 +75,13 @@ void Player::SavePositionInDB(uint32 mapid, float x, float y, float z, float o,
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHARACTER_POSITION);
|
||||
|
||||
stmt->setFloat(0, x);
|
||||
stmt->setFloat(1, y);
|
||||
stmt->setFloat(2, z);
|
||||
stmt->setFloat(3, o);
|
||||
stmt->setUInt16(4, uint16(mapid));
|
||||
stmt->setUInt16(5, uint16(zone));
|
||||
stmt->setUInt32(6, guid.GetCounter());
|
||||
stmt->SetData(0, x);
|
||||
stmt->SetData(1, y);
|
||||
stmt->SetData(2, z);
|
||||
stmt->SetData(3, o);
|
||||
stmt->SetData(4, uint16(mapid));
|
||||
stmt->SetData(5, uint16(zone));
|
||||
stmt->SetData(6, guid.GetCounter());
|
||||
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
@@ -90,13 +90,13 @@ void Player::SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGui
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHARACTER_POSITION);
|
||||
|
||||
stmt->setFloat(0, loc.GetPositionX());
|
||||
stmt->setFloat(1, loc.GetPositionY());
|
||||
stmt->setFloat(2, loc.GetPositionZ());
|
||||
stmt->setFloat(3, loc.GetOrientation());
|
||||
stmt->setUInt16(4, uint16(loc.GetMapId()));
|
||||
stmt->setUInt16(5, zoneId);
|
||||
stmt->setUInt32(6, guid.GetCounter());
|
||||
stmt->SetData(0, loc.GetPositionX());
|
||||
stmt->SetData(1, loc.GetPositionY());
|
||||
stmt->SetData(2, loc.GetPositionZ());
|
||||
stmt->SetData(3, loc.GetOrientation());
|
||||
stmt->SetData(4, uint16(loc.GetMapId()));
|
||||
stmt->SetData(5, zoneId);
|
||||
stmt->SetData(6, guid.GetCounter());
|
||||
|
||||
CharacterDatabase.ExecuteOrAppend(trans, stmt);
|
||||
}
|
||||
@@ -104,13 +104,13 @@ void Player::SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGui
|
||||
void Player::Customize(CharacterCustomizeInfo const* customizeInfo, CharacterDatabaseTransaction trans)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_GENDER_AND_APPEARANCE);
|
||||
stmt->setUInt8(0, customizeInfo->Gender);
|
||||
stmt->setUInt8(1, customizeInfo->Skin);
|
||||
stmt->setUInt8(2, customizeInfo->Face);
|
||||
stmt->setUInt8(3, customizeInfo->HairStyle);
|
||||
stmt->setUInt8(4, customizeInfo->HairColor);
|
||||
stmt->setUInt8(5, customizeInfo->FacialHair);
|
||||
stmt->setUInt32(6, customizeInfo->Guid.GetCounter());
|
||||
stmt->SetData(0, customizeInfo->Gender);
|
||||
stmt->SetData(1, customizeInfo->Skin);
|
||||
stmt->SetData(2, customizeInfo->Face);
|
||||
stmt->SetData(3, customizeInfo->HairStyle);
|
||||
stmt->SetData(4, customizeInfo->HairColor);
|
||||
stmt->SetData(5, customizeInfo->FacialHair);
|
||||
stmt->SetData(6, customizeInfo->Guid.GetCounter());
|
||||
|
||||
CharacterDatabase.ExecuteOrAppend(trans, stmt);
|
||||
}
|
||||
|
||||
@@ -578,10 +578,10 @@ void Player::AddQuest(Quest const* quest, Object* questGiver)
|
||||
{
|
||||
// prepare Quest Tracker datas
|
||||
auto stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_QUEST_TRACK);
|
||||
stmt->setUInt32(0, quest_id);
|
||||
stmt->setUInt32(1, GetGUID().GetCounter());
|
||||
stmt->setString(2, GitRevision::GetHash());
|
||||
stmt->setString(3, GitRevision::GetDate());
|
||||
stmt->SetData(0, quest_id);
|
||||
stmt->SetData(1, GetGUID().GetCounter());
|
||||
stmt->SetData(2, GitRevision::GetHash());
|
||||
stmt->SetData(3, GitRevision::GetDate());
|
||||
|
||||
// add to Quest Tracker
|
||||
CharacterDatabase.Execute(stmt);
|
||||
@@ -623,8 +623,8 @@ void Player::CompleteQuest(uint32 quest_id)
|
||||
{
|
||||
// prepare Quest Tracker datas
|
||||
auto stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_QUEST_TRACK_COMPLETE_TIME);
|
||||
stmt->setUInt32(0, quest_id);
|
||||
stmt->setUInt32(1, GetGUID().GetCounter());
|
||||
stmt->SetData(0, quest_id);
|
||||
stmt->SetData(1, GetGUID().GetCounter());
|
||||
|
||||
// add to Quest Tracker
|
||||
CharacterDatabase.Execute(stmt);
|
||||
|
||||
@@ -38,8 +38,8 @@ void Player::_LoadCharacterSettings(PreparedQueryResult result)
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
std::string source = fields[0].GetString();;
|
||||
std::string data = fields[1].GetString();
|
||||
std::string source = fields[0].Get<std::string>();;
|
||||
std::string data = fields[1].Get<std::string>();
|
||||
|
||||
std::vector<std::string_view> tokens = Acore::Tokenize(data, ' ', false);
|
||||
|
||||
@@ -98,9 +98,9 @@ void Player::_SavePlayerSettings(CharacterDatabaseTransaction trans)
|
||||
}
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_CHAR_SETTINGS);
|
||||
stmt->setUInt32(0, GetGUID().GetCounter());
|
||||
stmt->setString(1, itr.first);
|
||||
stmt->setString(2, data.str());
|
||||
stmt->SetData(0, GetGUID().GetCounter());
|
||||
stmt->SetData(1, itr.first);
|
||||
stmt->SetData(2, data.str());
|
||||
trans->Append(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -133,10 +133,10 @@ void Player::Update(uint32 p_time)
|
||||
GetSession()->m_muteTime = 0;
|
||||
LoginDatabasePreparedStatement* stmt =
|
||||
LoginDatabase.GetPreparedStatement(LOGIN_UPD_MUTE_TIME);
|
||||
stmt->setInt64(0, 0); // Set the mute time to 0
|
||||
stmt->setString(1, "");
|
||||
stmt->setString(2, "");
|
||||
stmt->setUInt32(3, GetSession()->GetAccountId());
|
||||
stmt->SetData(0, 0); // Set the mute time to 0
|
||||
stmt->SetData(1, "");
|
||||
stmt->SetData(2, "");
|
||||
stmt->SetData(3, GetSession()->GetAccountId());
|
||||
LoginDatabase.Execute(stmt);
|
||||
}
|
||||
|
||||
@@ -439,28 +439,28 @@ void Player::UpdateNextMailTimeAndUnreads()
|
||||
// Get the next delivery time
|
||||
CharacterDatabasePreparedStatement* stmtNextDeliveryTime =
|
||||
CharacterDatabase.GetPreparedStatement(CHAR_SEL_NEXT_MAIL_DELIVERYTIME);
|
||||
stmtNextDeliveryTime->setUInt32(0, GetGUID().GetCounter());
|
||||
stmtNextDeliveryTime->setUInt32(1, uint32(cTime));
|
||||
stmtNextDeliveryTime->SetData(0, GetGUID().GetCounter());
|
||||
stmtNextDeliveryTime->SetData(1, uint32(cTime));
|
||||
PreparedQueryResult resultNextDeliveryTime =
|
||||
CharacterDatabase.Query(stmtNextDeliveryTime);
|
||||
if (resultNextDeliveryTime)
|
||||
{
|
||||
Field* fields = resultNextDeliveryTime->Fetch();
|
||||
m_nextMailDelivereTime = time_t(fields[0].GetUInt32());
|
||||
m_nextMailDelivereTime = time_t(fields[0].Get<uint32>());
|
||||
}
|
||||
|
||||
// Get unread mails count
|
||||
CharacterDatabasePreparedStatement* stmtUnreadAmount =
|
||||
CharacterDatabase.GetPreparedStatement(
|
||||
CHAR_SEL_CHARACTER_MAILCOUNT_UNREAD_SYNCH);
|
||||
stmtUnreadAmount->setUInt32(0, GetGUID().GetCounter());
|
||||
stmtUnreadAmount->setUInt32(1, uint32(cTime));
|
||||
stmtUnreadAmount->SetData(0, GetGUID().GetCounter());
|
||||
stmtUnreadAmount->SetData(1, uint32(cTime));
|
||||
PreparedQueryResult resultUnreadAmount =
|
||||
CharacterDatabase.Query(stmtUnreadAmount);
|
||||
if (resultUnreadAmount)
|
||||
{
|
||||
Field* fields = resultUnreadAmount->Fetch();
|
||||
unReadMails = uint8(fields[0].GetUInt64());
|
||||
unReadMails = uint8(fields[0].Get<uint64>());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2235,11 +2235,11 @@ void Player::UpdateSpecCount(uint8 count)
|
||||
itr != m_actionButtons.end(); ++itr)
|
||||
{
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACTION);
|
||||
stmt->setUInt32(0, GetGUID().GetCounter());
|
||||
stmt->setUInt8(1, 1);
|
||||
stmt->setUInt8(2, itr->first);
|
||||
stmt->setUInt32(3, itr->second.GetAction());
|
||||
stmt->setUInt8(4, uint8(itr->second.GetType()));
|
||||
stmt->SetData(0, GetGUID().GetCounter());
|
||||
stmt->SetData(1, 1);
|
||||
stmt->SetData(2, itr->first);
|
||||
stmt->SetData(3, itr->second.GetAction());
|
||||
stmt->SetData(4, uint8(itr->second.GetType()));
|
||||
trans->Append(stmt);
|
||||
}
|
||||
}
|
||||
@@ -2250,8 +2250,8 @@ void Player::UpdateSpecCount(uint8 count)
|
||||
|
||||
stmt = CharacterDatabase.GetPreparedStatement(
|
||||
CHAR_DEL_CHAR_ACTION_EXCEPT_SPEC);
|
||||
stmt->setUInt8(0, m_activeSpec);
|
||||
stmt->setUInt32(1, GetGUID().GetCounter());
|
||||
stmt->SetData(0, m_activeSpec);
|
||||
stmt->SetData(1, GetGUID().GetCounter());
|
||||
trans->Append(stmt);
|
||||
|
||||
m_activeSpec = 0;
|
||||
|
||||
@@ -50,9 +50,9 @@ bool PlayerSocial::AddToSocialList(ObjectGuid friendGuid, SocialFlag flag)
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_CHARACTER_SOCIAL_FLAGS);
|
||||
|
||||
stmt->setUInt8(0, itr->second.Flags);
|
||||
stmt->setUInt32(1, GetPlayerGUID().GetCounter());
|
||||
stmt->setUInt32(2, friendGuid.GetCounter());
|
||||
stmt->SetData(0, itr->second.Flags);
|
||||
stmt->SetData(1, GetPlayerGUID().GetCounter());
|
||||
stmt->SetData(2, friendGuid.GetCounter());
|
||||
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
@@ -62,9 +62,9 @@ bool PlayerSocial::AddToSocialList(ObjectGuid friendGuid, SocialFlag flag)
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHARACTER_SOCIAL);
|
||||
|
||||
stmt->setUInt32(0, GetPlayerGUID().GetCounter());
|
||||
stmt->setUInt32(1, friendGuid.GetCounter());
|
||||
stmt->setUInt8(2, flag);
|
||||
stmt->SetData(0, GetPlayerGUID().GetCounter());
|
||||
stmt->SetData(1, friendGuid.GetCounter());
|
||||
stmt->SetData(2, flag);
|
||||
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
@@ -83,8 +83,8 @@ void PlayerSocial::RemoveFromSocialList(ObjectGuid friendGuid, SocialFlag flag)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_SOCIAL);
|
||||
|
||||
stmt->setUInt32(0, GetPlayerGUID().GetCounter());
|
||||
stmt->setUInt32(1, friendGuid.GetCounter());
|
||||
stmt->SetData(0, GetPlayerGUID().GetCounter());
|
||||
stmt->SetData(1, friendGuid.GetCounter());
|
||||
|
||||
CharacterDatabase.Execute(stmt);
|
||||
|
||||
@@ -94,9 +94,9 @@ void PlayerSocial::RemoveFromSocialList(ObjectGuid friendGuid, SocialFlag flag)
|
||||
{
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_REM_CHARACTER_SOCIAL_FLAGS);
|
||||
|
||||
stmt->setUInt8(0, flag);
|
||||
stmt->setUInt32(1, GetPlayerGUID().GetCounter());
|
||||
stmt->setUInt32(2, friendGuid.GetCounter());
|
||||
stmt->SetData(0, flag);
|
||||
stmt->SetData(1, GetPlayerGUID().GetCounter());
|
||||
stmt->SetData(2, friendGuid.GetCounter());
|
||||
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
@@ -112,9 +112,9 @@ void PlayerSocial::SetFriendNote(ObjectGuid friendGuid, std::string note)
|
||||
|
||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHARACTER_SOCIAL_NOTE);
|
||||
|
||||
stmt->setString(0, note);
|
||||
stmt->setUInt32(1, GetPlayerGUID().GetCounter());
|
||||
stmt->setUInt32(2, friendGuid.GetCounter());
|
||||
stmt->SetData(0, note);
|
||||
stmt->SetData(1, GetPlayerGUID().GetCounter());
|
||||
stmt->SetData(2, friendGuid.GetCounter());
|
||||
|
||||
CharacterDatabase.Execute(stmt);
|
||||
|
||||
@@ -328,9 +328,9 @@ PlayerSocial* SocialMgr::LoadFromDB(PreparedQueryResult result, ObjectGuid guid)
|
||||
{
|
||||
Field* fields = result->Fetch();
|
||||
|
||||
auto friendGuid = ObjectGuid::Create<HighGuid::Player>(fields[0].GetUInt32());
|
||||
auto flags = fields[1].GetUInt8();
|
||||
auto note = fields[2].GetString();
|
||||
auto friendGuid = ObjectGuid::Create<HighGuid::Player>(fields[0].Get<uint32>());
|
||||
auto flags = fields[1].Get<uint8>();
|
||||
auto note = fields[2].Get<std::string>();
|
||||
|
||||
social->m_playerSocialMap[friendGuid] = FriendInfo(flags, note);
|
||||
} while (result->NextRow());
|
||||
|
||||
Reference in New Issue
Block a user