mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-25 22:17:45 +00:00
Added packet for linkshell events
This commit is contained in:
parent
6403a1ae47
commit
3dd37773a1
4 changed files with 36 additions and 2 deletions
|
@ -98,6 +98,9 @@ namespace Packets {
|
|||
EventPlay = 0x0154, // updated for sb
|
||||
EventStart = 0x015D, // updated for sb
|
||||
EventFinish = 0x015E, // updated for sb
|
||||
|
||||
EventLinkshell = 0x0169,
|
||||
|
||||
QuestActiveList = 0x0171, // updated for sb
|
||||
QuestUpdate = 0x0172, // updated for sb
|
||||
QuestCompleteList = 0x0173, // updated for sb
|
||||
|
@ -173,7 +176,8 @@ namespace Packets {
|
|||
ReturnEventHandler = 0x0128,
|
||||
TradeReturnEventHandler = 0x0129,
|
||||
|
||||
LinkshellEventHandler = 0x013C,
|
||||
LinkshellEventHandler = 0x013B,
|
||||
LinkshellEventHandler1 = 0x013C,
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -1050,6 +1050,24 @@ struct FFXIVIpcEventFinish : FFXIVIpcBasePacket<EventFinish>
|
|||
/* 000C */ uint32_t padding1;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Structural representation of the packet sent by the server
|
||||
* to respond to a linkshell creation event
|
||||
*/
|
||||
struct FFXIVIpcEventLinkshell : FFXIVIpcBasePacket<EventLinkshell>
|
||||
{
|
||||
uint32_t eventId;
|
||||
uint8_t scene;
|
||||
uint8_t param1;
|
||||
uint8_t param2;
|
||||
uint8_t param3;
|
||||
uint32_t unknown1;
|
||||
uint32_t unknown2;
|
||||
uint32_t unknown3;
|
||||
uint32_t unknown4;
|
||||
};
|
||||
|
||||
/**
|
||||
* Structural representation of the packet sent by the server
|
||||
* to send the active quests
|
||||
|
|
|
@ -86,6 +86,7 @@ Core::Network::GameConnection::GameConnection( Core::Network::HivePtr pHive,
|
|||
setZoneHandler( ClientZoneIpcType::TradeReturnEventHandler, "EventHandlerReturn", &GameConnection::eventHandler );
|
||||
|
||||
setZoneHandler( ClientZoneIpcType::LinkshellEventHandler, "LinkshellEventHandler", &GameConnection::eventHandler );
|
||||
setZoneHandler( ClientZoneIpcType::LinkshellEventHandler1, "LinkshellEventHandler1", &GameConnection::eventHandler );
|
||||
|
||||
setZoneHandler( ClientZoneIpcType::CFDutyInfoHandler, "CFDutyInfoRequest", &GameConnection::cfDutyInfoRequest );
|
||||
setZoneHandler( ClientZoneIpcType::CFRegisterDuty, "CFRegisterDuty", &GameConnection::cfRegisterDuty );
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include <src/servers/Server_Common/Network/CommonNetwork.h>
|
||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||
#include <src/servers/Server_Common/Network/PacketContainer.h>
|
||||
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||
|
||||
#include <boost/format.hpp>
|
||||
|
||||
|
@ -130,12 +131,22 @@ void Core::Network::GameConnection::eventHandler( const Packets::GamePacket& inP
|
|||
}
|
||||
|
||||
case ClientZoneIpcType::LinkshellEventHandler:
|
||||
case ClientZoneIpcType::LinkshellEventHandler1:
|
||||
{
|
||||
uint32_t eventId = inPacket.getValAt< uint32_t >( 0x20 );
|
||||
uint16_t subEvent = inPacket.getValAt< uint16_t >( 0x24 );
|
||||
std::string lsName = inPacket.getStringAt( 0x27 );
|
||||
|
||||
abortEventFunc( pPlayer, 0, eventId );
|
||||
|
||||
|
||||
GamePacketNew< FFXIVIpcEventLinkshell, ServerZoneIpcType > linkshellEvent( pPlayer->getId() );
|
||||
linkshellEvent.data().eventId = eventId;
|
||||
linkshellEvent.data().scene = subEvent;
|
||||
linkshellEvent.data().param3 = 1;
|
||||
linkshellEvent.data().unknown1 = 0x15a;
|
||||
pPlayer->queuePacket( linkshellEvent );
|
||||
|
||||
// abortEventFunc( pPlayer, 0, eventId );
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue