Core/Housing: activate Start Tutorial opcode at runtime
This commit is contained in:
@@ -1,14 +1,43 @@
|
||||
/*
|
||||
* Copyright (C) WowCommunity Project
|
||||
*
|
||||
* This SourceCode is NOT free a software. Please hold everything Private
|
||||
* This SourceCode is NOT a free software. Please hold everything Private
|
||||
* and read our Terms
|
||||
*/
|
||||
|
||||
#include "Player.h"
|
||||
|
||||
#include "HousingTutorialPackets.h"
|
||||
#include "HousingTutorialSession.h"
|
||||
#include "Opcodes.h"
|
||||
#include "WorldPacket.h"
|
||||
#include "WorldSession.h"
|
||||
#include <utility>
|
||||
|
||||
namespace
|
||||
{
|
||||
void HandleHousingStartTutorialDirect(WorldSession* session, WorldPacket& rawPacket)
|
||||
{
|
||||
WorldPackets::Housing::HousingSvcsStartTutorial packet(std::move(rawPacket));
|
||||
Housing::HandleStartTutorial(session, packet);
|
||||
}
|
||||
}
|
||||
|
||||
void AddCustom_playerscript()
|
||||
{
|
||||
// The 12.1 Housing opcode is present in the client/core opcode table but is
|
||||
// still marked STATUS_UNHANDLED there. Install the already implemented
|
||||
// tutorial handler after OpcodeTable::Initialize() has completed.
|
||||
//
|
||||
// This keeps the compatibility change isolated from the generated/native
|
||||
// opcode list while allowing the retail client button to reach the server.
|
||||
if (!opcodeTable.IsValid(CMSG_HOUSING_SVCS_START_TUTORIAL))
|
||||
return;
|
||||
|
||||
ClientOpcodeHandler* handler = const_cast<ClientOpcodeHandler*>(
|
||||
opcodeTable[CMSG_HOUSING_SVCS_START_TUTORIAL]);
|
||||
if (!handler)
|
||||
return;
|
||||
|
||||
handler->Status = STATUS_LOGGEDIN;
|
||||
handler->Call = &HandleHousingStartTutorialDirect;
|
||||
handler->ProcessingPlace = PROCESS_THREADUNSAFE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user