From 058e77a740e4c75ddb0b2eb429d356b47450dcef Mon Sep 17 00:00:00 2001 From: tomrus88 Date: Wed, 4 Mar 2009 16:10:36 +0300 Subject: [PATCH] Added lost code --- src/game/Opcodes.cpp | 2 +- src/game/Opcodes.h | 2 +- src/game/Player.cpp | 16 +++++++++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/game/Opcodes.cpp b/src/game/Opcodes.cpp index 1445b8426..3dc225241 100644 --- a/src/game/Opcodes.cpp +++ b/src/game/Opcodes.cpp @@ -337,7 +337,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x134*/ { "SMSG_SPELL_COOLDOWN", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x135*/ { "SMSG_COOLDOWN_EVENT", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x136*/ { "CMSG_CANCEL_AURA", STATUS_LOGGEDIN, &WorldSession::HandleCancelAuraOpcode }, - /*0x137*/ { "SMSG_UPDATE_AURA_DURATION_OBSOLETE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, + /*0x137*/ { "SMSG_EQUIPMENT_SET_SAVED", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x138*/ { "SMSG_PET_CAST_FAILED", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x139*/ { "MSG_CHANNEL_START", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x13A*/ { "MSG_CHANNEL_UPDATE", STATUS_NEVER, &WorldSession::Handle_NULL }, diff --git a/src/game/Opcodes.h b/src/game/Opcodes.h index bd355f169..c36042815 100644 --- a/src/game/Opcodes.h +++ b/src/game/Opcodes.h @@ -345,7 +345,7 @@ enum Opcodes SMSG_SPELL_COOLDOWN = 0x134, SMSG_COOLDOWN_EVENT = 0x135, CMSG_CANCEL_AURA = 0x136, - SMSG_UPDATE_AURA_DURATION_OBSOLETE = 0x137, // 3.1 - equipment manager? uint32+PGUID + SMSG_EQUIPMENT_SET_SAVED = 0x137, SMSG_PET_CAST_FAILED = 0x138, MSG_CHANNEL_START = 0x139, MSG_CHANNEL_UPDATE = 0x13A, diff --git a/src/game/Player.cpp b/src/game/Player.cpp index b5b92f401..5e8674ea5 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -18076,7 +18076,7 @@ void Player::SendInitialPacketsBeforeAddToMap() m_achievementMgr.SendAllAchievementData(); UpdateZone(GetZoneId()); - data.Initialize(SMSG_EQUIPMENT_SET_LIST); + data.Initialize(SMSG_EQUIPMENT_SET_LIST, 4); data << uint32(m_EquipmentSets.size()); // count for(EquipmentSets::iterator itr = m_EquipmentSets.begin(); itr != m_EquipmentSets.end(); ++itr) { @@ -19940,9 +19940,23 @@ void Player::SaveEquipmentSet(EquipmentSet eqset) } else { + QueryResult *result = CharacterDatabase.PQuery("SELECT MAX(setguid) FROM character_equipmentsets"); + if(!result) + eqset.Guid++; + else + { + eqset.Guid = result->Fetch()[0].GetUInt64() + 1; + delete result; + } + CharacterDatabase.PExecute("INSERT INTO character_equipmentsets VALUES ('%u', '"I64FMTD"', '%u', '%s', '%s', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u', '%u')", GetGUIDLow(), eqset.Guid, eqset.Index, eqset.Name.c_str(), eqset.IconName.c_str(), eqset.Items[0], eqset.Items[1], eqset.Items[2], eqset.Items[3], eqset.Items[4], eqset.Items[5], eqset.Items[6], eqset.Items[7], eqset.Items[8], eqset.Items[9], eqset.Items[10], eqset.Items[11], eqset.Items[12], eqset.Items[13], eqset.Items[14], eqset.Items[15], eqset.Items[16], eqset.Items[17], eqset.Items[18]); + + WorldPacket data(SMSG_EQUIPMENT_SET_SAVED, 4+1); + data << uint32(eqset.Index); + data.appendPackGUID(eqset.Guid); + GetSession()->SendPacket(&data); } m_EquipmentSets[eqset.Index] = eqset;