Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
70 lines
2.6 KiB
C++
70 lines
2.6 KiB
C++
#include "stdafx.h"
|
|
#include "SendPacket.h"
|
|
#include "SendQuest.h"
|
|
|
|
#include <Network/ClientNetwork/ClientEventHandler.h>
|
|
#include <Network/Packet/PacketCommand.h>
|
|
#include <Network/Packet/PacketStruct/CharQuestPacket.h>
|
|
#include "GMMemory.h"
|
|
|
|
bool SendPacket::CharStartQuest(ClientNet::CClientEventHandler* lpHandler, unsigned long dwCharID_In,
|
|
unsigned long dwNPCID_In, unsigned short wQuestID_In)
|
|
{
|
|
CHECK_TRUE_RETURN(0 == dwCharID_In, false);
|
|
|
|
ClientNet::CNetworkMsgBlock* lpMsgBlock =
|
|
ClientNet::CNetworkMsgPool::GetInstance().GetNetworkMsgBlock(sizeof(PktStartQuest), lpHandler->GetPeerAddress());
|
|
|
|
CHECK_NULL_RETURN(lpMsgBlock, false);
|
|
|
|
PktStartQuest* lpSQPt = reinterpret_cast<PktStartQuest *>(lpMsgBlock->wr_ptr());
|
|
|
|
lpSQPt->m_dwCharID = dwCharID_In;
|
|
lpSQPt->m_dwNPCID = dwNPCID_In;
|
|
lpSQPt->m_wQuestID = wQuestID_In;
|
|
|
|
return SendPacket(lpHandler, lpMsgBlock, sizeof(PktStartQuest), CmdCharStartQuest, 0, 0);
|
|
}
|
|
|
|
|
|
bool SendPacket::CharCancelQuest(ClientNet::CClientEventHandler* lpHandler, unsigned long dwCharID_In, unsigned short wQuestID_In)
|
|
{
|
|
CHECK_TRUE_RETURN(0 == dwCharID_In, false);
|
|
|
|
ClientNet::CNetworkMsgBlock* lpMsgBlock =
|
|
ClientNet::CNetworkMsgPool::GetInstance().GetNetworkMsgBlock(sizeof(PktCancelQuest), lpHandler->GetPeerAddress());
|
|
|
|
CHECK_NULL_RETURN(lpMsgBlock, false);
|
|
|
|
PktCancelQuest* lpCQPt = reinterpret_cast<PktCancelQuest *>(lpMsgBlock->wr_ptr());
|
|
|
|
lpCQPt->m_dwCharID = dwCharID_In;
|
|
lpCQPt->m_wQuestID = wQuestID_In;
|
|
|
|
return SendPacket(lpHandler, lpMsgBlock, sizeof(PktCancelQuest), CmdCharCancelQuest, 0, 0);
|
|
}
|
|
|
|
|
|
bool SendPacket::CharOperateTrigger(ClientNet::CClientEventHandler* lpHandler, unsigned long dwCharID_In, unsigned short wQuestID_In,
|
|
unsigned char cPhase_In, unsigned char cTriggerKind_In, unsigned char cTrigger_In, unsigned char cCount_In)
|
|
{
|
|
CHECK_TRUE_RETURN(0 == dwCharID_In, false);
|
|
|
|
ClientNet::CNetworkMsgBlock* lpMsgBlock =
|
|
ClientNet::CNetworkMsgPool::GetInstance().GetNetworkMsgBlock(sizeof(PktOperateTrigger), lpHandler->GetPeerAddress());
|
|
|
|
CHECK_NULL_RETURN(lpMsgBlock, false);
|
|
|
|
PktOperateTrigger* lpOTPt = reinterpret_cast<PktOperateTrigger *>(lpMsgBlock->wr_ptr());
|
|
|
|
lpOTPt->m_dwCharID = dwCharID_In;
|
|
lpOTPt->m_wQuestID = wQuestID_In;
|
|
lpOTPt->m_cPhase = cPhase_In;
|
|
lpOTPt->m_cTriggerKind = cTriggerKind_In;
|
|
lpOTPt->m_cTrigger = cTrigger_In;
|
|
lpOTPt->m_cCount = cCount_In;
|
|
|
|
return SendPacket(lpHandler, lpMsgBlock, sizeof(PktOperateTrigger), CmdCharOperateTrigger, 0, 0);
|
|
}
|
|
|