mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-27 04:12:40 +01:00
Core/Misc:
- Swap 2 quest opcodes and remove uneeded code; - Add worgen and goblin support to faction/race change - More opcode ids and enable handlers
This commit is contained in:
@@ -1757,6 +1757,7 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recv_data)
|
||||
switch (race)
|
||||
{
|
||||
case RACE_ORC:
|
||||
case RACE_GOBLIN:
|
||||
case RACE_TAUREN:
|
||||
case RACE_UNDEAD_PLAYER:
|
||||
case RACE_TROLL:
|
||||
@@ -1769,7 +1770,7 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recv_data)
|
||||
|
||||
// Switch Languages
|
||||
// delete all languages first
|
||||
trans->PAppend("DELETE FROM `character_skills` WHERE `skill` IN (98, 113, 759, 111, 313, 109, 115, 315, 673, 137) AND `guid`='%u'", lowGuid);
|
||||
trans->PAppend("DELETE FROM `character_skills` WHERE `skill` IN (98, 113, 759, 111, 313, 109, 115, 315, 673, 137, 791, 792) AND `guid`='%u'", lowGuid);
|
||||
|
||||
// now add them back
|
||||
if (team == BG_TEAM_ALLIANCE)
|
||||
@@ -1789,6 +1790,9 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recv_data)
|
||||
case RACE_NIGHTELF:
|
||||
trans->PAppend("INSERT INTO `character_skills` (guid, skill, value, max) VALUES (%u, 113, 300, 300)", lowGuid);
|
||||
break;
|
||||
case RACE_WORGEN:
|
||||
trans->PAppend("INSERT INTO `character_skills` (guid, skill, value, max) VALUES (%u, 791, 300, 300)", lowGuid);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (team == BG_TEAM_HORDE)
|
||||
@@ -1808,6 +1812,9 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recv_data)
|
||||
case RACE_BLOODELF:
|
||||
trans->PAppend("INSERT INTO `character_skills` (guid, skill, value, max) VALUES (%u, 137, 300, 300)", lowGuid);
|
||||
break;
|
||||
case RACE_GOBLIN:
|
||||
trans->PAppend("INSERT INTO `character_skills` (guid, skill, value, max) VALUES (%u, 792, 300, 300)", lowGuid);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -572,9 +572,9 @@ void WorldSession::HandleSummonResponseOpcode(WorldPacket& recv_data)
|
||||
if (!_player->isAlive() || _player->isInCombat())
|
||||
return;
|
||||
|
||||
uint64 summoner_guid;
|
||||
uint64 summonerGuid;
|
||||
bool agree;
|
||||
recv_data >> summoner_guid;
|
||||
recv_data >> summonerGuid;
|
||||
recv_data >> agree;
|
||||
|
||||
_player->SummonIfPossible(agree);
|
||||
|
||||
@@ -845,10 +845,10 @@ void WorldSession::HandlePetLearnTalent(WorldPacket & recv_data)
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: CMSG_PET_LEARN_TALENT");
|
||||
|
||||
uint64 guid;
|
||||
uint32 talent_id, requested_rank;
|
||||
recv_data >> guid >> talent_id >> requested_rank;
|
||||
uint32 talentId, requestedRank;
|
||||
recv_data >> guid >> talentId >> requestedRank;
|
||||
|
||||
_player->LearnPetTalent(guid, talent_id, requested_rank);
|
||||
_player->LearnPetTalent(guid, talentId, requestedRank);
|
||||
_player->SendTalentsInfoData(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -370,7 +370,7 @@ void WorldSession::SendPetitionQueryOpcode(uint64 petitionguid)
|
||||
|
||||
void WorldSession::HandlePetitionRenameOpcode(WorldPacket & recv_data)
|
||||
{
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode MSG_PETITION_RENAME"); // ok
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "Received opcode MSG_PETITION_RENAME");
|
||||
|
||||
uint64 petitionGuid;
|
||||
uint32 type;
|
||||
|
||||
@@ -451,21 +451,11 @@ void WorldSession::HandleQuestLogRemoveQuest(WorldPacket& recv_data)
|
||||
|
||||
void WorldSession::HandleQuestConfirmAccept(WorldPacket& recvData)
|
||||
{
|
||||
uint64 questGiverGuid;
|
||||
uint32 questId;
|
||||
uint32 unkInt;
|
||||
recvData >> questGiverGuid>> questId >> unkInt;
|
||||
recvData >> questId;
|
||||
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_QUEST_CONFIRM_ACCEPT questId = %u", questId);
|
||||
|
||||
if (IS_UNIT_GUID(questGiverGuid))
|
||||
if (!GetPlayer()->GetNPCIfCanInteractWith(questGiverGuid, UNIT_NPC_FLAG_QUESTGIVER))
|
||||
return;
|
||||
if (IS_GAMEOBJECT_GUID(questGiverGuid))
|
||||
if (!GetPlayer()->GetGameObjectIfCanInteractWith(questGiverGuid, GAMEOBJECT_TYPE_QUESTGIVER))
|
||||
return;
|
||||
// Can items be quest giver?
|
||||
|
||||
if (const Quest* quest = sObjectMgr->GetQuestTemplate(questId))
|
||||
{
|
||||
if (!quest->HasFlag(QUEST_FLAGS_PARTY_ACCEPT))
|
||||
|
||||
@@ -28,10 +28,10 @@
|
||||
|
||||
void WorldSession::HandleLearnTalentOpcode(WorldPacket & recv_data)
|
||||
{
|
||||
uint32 talent_id, requested_rank;
|
||||
recv_data >> talent_id >> requested_rank;
|
||||
uint32 talentId, requestedRank;
|
||||
recv_data >> talentId >> requestedRank;
|
||||
|
||||
_player->LearnTalent(talent_id, requested_rank);
|
||||
_player->LearnTalent(talentId, requestedRank);
|
||||
_player->SendTalentsInfoData(false);
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ void WorldSession::HandleTalentWipeConfirmOpcode(WorldPacket & recv_data)
|
||||
if (GetPlayer()->HasUnitState(UNIT_STAT_DIED))
|
||||
GetPlayer()->RemoveAurasByType(SPELL_AURA_FEIGN_DEATH);
|
||||
|
||||
if (!(_player->resetTalents()))
|
||||
if (!_player->resetTalents())
|
||||
{
|
||||
WorldPacket data(MSG_TALENT_WIPE_CONFIRM, 8+4); //you have not any talent
|
||||
data << uint64(0);
|
||||
|
||||
@@ -454,7 +454,7 @@ void InitOpcodes()
|
||||
DEFINE_OPCODE_HANDLER(CMSG_QUESTGIVER_QUERY_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestgiverQueryQuestOpcode);
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_QUESTGIVER_QUEST_AUTOLAUNCH, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestgiverQuestAutoLaunch );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_QUESTGIVER_QUEST_DETAILS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_QUESTGIVER_ACCEPT_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestgiverAcceptQuestOpcode);
|
||||
DEFINE_OPCODE_HANDLER(CMSG_QUESTGIVER_ACCEPT_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestgiverAcceptQuestOpcode);
|
||||
DEFINE_OPCODE_HANDLER(CMSG_QUESTGIVER_COMPLETE_QUEST, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestgiverCompleteQuest );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_QUESTGIVER_REQUEST_ITEMS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_QUESTGIVER_REQUEST_REWARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleQuestgiverRequestRewardOpcode);
|
||||
@@ -743,9 +743,9 @@ void InitOpcodes()
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_GAMEOBJECT_RESET_STATE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_REPAIR_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleRepairItemOpcode );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_CHAT_PLAYER_NOT_FOUND, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_TALENT_WIPE_CONFIRM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTalentWipeConfirmOpcode );
|
||||
DEFINE_OPCODE_HANDLER(MSG_TALENT_WIPE_CONFIRM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleTalentWipeConfirmOpcode );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_SUMMON_REQUEST, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_SUMMON_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSummonResponseOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_SUMMON_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSummonResponseOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_DEV_SHOWLABEL, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_MONSTER_MOVE_TRANSPORT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_PET_BROKEN, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
|
||||
@@ -337,7 +337,7 @@ enum Opcodes
|
||||
CMSG_QUERY_GUILD_XP = 0x00,
|
||||
CMSG_QUERY_QUESTS_COMPLETED = 0x98DF,
|
||||
CMSG_QUERY_TIME = 0x18FE,
|
||||
CMSG_QUESTGIVER_ACCEPT_QUEST = 0x8CD3,
|
||||
CMSG_QUESTGIVER_ACCEPT_QUEST = 0x0C63,
|
||||
CMSG_QUESTGIVER_CANCEL = 0xC86A,
|
||||
CMSG_QUESTGIVER_CHOOSE_REWARD = 0x18F3,
|
||||
CMSG_QUESTGIVER_COMPLETE_QUEST = 0xCCE3,
|
||||
@@ -349,7 +349,7 @@ enum Opcodes
|
||||
CMSG_QUESTGIVER_STATUS_QUERY = 0x88C6,
|
||||
CMSG_QUESTLOG_REMOVE_QUEST = 0x8EFF,
|
||||
CMSG_QUESTLOG_SWAP_QUEST = 0x00,
|
||||
CMSG_QUEST_CONFIRM_ACCEPT = 0xC63,
|
||||
CMSG_QUEST_CONFIRM_ACCEPT = 0x8CD3,
|
||||
CMSG_QUEST_POI_QUERY = 0x12A5,
|
||||
CMSG_QUEST_QUERY = 0xCE7F,
|
||||
CMSG_RANDOMIZE_CHAR_NAME = 0x8A99,
|
||||
@@ -386,7 +386,7 @@ enum Opcodes
|
||||
CMSG_SETDEATHBINDPOINT = 0x00,
|
||||
CMSG_SETSHEATHED = 0xCA5F,
|
||||
CMSG_SET_ACTIONBAR_TOGGLES = 0x584F,
|
||||
CMSG_SET_ACTION_BUTTON = 0x00,
|
||||
CMSG_SET_ACTION_BUTTON = 0xDAC3,
|
||||
CMSG_SET_ACTIVE_MOVER = 0x00,
|
||||
CMSG_SET_ACTIVE_VOICE_CHANNEL = 0x00,
|
||||
CMSG_SET_ALLOW_LOW_LEVEL_RAID1 = 0xC863,
|
||||
|
||||
Reference in New Issue
Block a user