mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 14:57:44 +00:00
Added packet for linkshell events
This commit is contained in:
parent
b8fc46d7cb
commit
ebd11f1a7c
4 changed files with 36 additions and 2 deletions
|
@ -98,6 +98,9 @@ namespace Packets {
|
||||||
EventPlay = 0x0154, // updated for sb
|
EventPlay = 0x0154, // updated for sb
|
||||||
EventStart = 0x015D, // updated for sb
|
EventStart = 0x015D, // updated for sb
|
||||||
EventFinish = 0x015E, // updated for sb
|
EventFinish = 0x015E, // updated for sb
|
||||||
|
|
||||||
|
EventLinkshell = 0x0169,
|
||||||
|
|
||||||
QuestActiveList = 0x0171, // updated for sb
|
QuestActiveList = 0x0171, // updated for sb
|
||||||
QuestUpdate = 0x0172, // updated for sb
|
QuestUpdate = 0x0172, // updated for sb
|
||||||
QuestCompleteList = 0x0173, // updated for sb
|
QuestCompleteList = 0x0173, // updated for sb
|
||||||
|
@ -173,7 +176,8 @@ namespace Packets {
|
||||||
ReturnEventHandler = 0x0128,
|
ReturnEventHandler = 0x0128,
|
||||||
TradeReturnEventHandler = 0x0129,
|
TradeReturnEventHandler = 0x0129,
|
||||||
|
|
||||||
LinkshellEventHandler = 0x013C,
|
LinkshellEventHandler = 0x013B,
|
||||||
|
LinkshellEventHandler1 = 0x013C,
|
||||||
};
|
};
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -1050,6 +1050,24 @@ struct FFXIVIpcEventFinish : FFXIVIpcBasePacket<EventFinish>
|
||||||
/* 000C */ uint32_t padding1;
|
/* 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
|
* Structural representation of the packet sent by the server
|
||||||
* to send the active quests
|
* 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::TradeReturnEventHandler, "EventHandlerReturn", &GameConnection::eventHandler );
|
||||||
|
|
||||||
setZoneHandler( ClientZoneIpcType::LinkshellEventHandler, "LinkshellEventHandler", &GameConnection::eventHandler );
|
setZoneHandler( ClientZoneIpcType::LinkshellEventHandler, "LinkshellEventHandler", &GameConnection::eventHandler );
|
||||||
|
setZoneHandler( ClientZoneIpcType::LinkshellEventHandler1, "LinkshellEventHandler1", &GameConnection::eventHandler );
|
||||||
|
|
||||||
setZoneHandler( ClientZoneIpcType::CFDutyInfoHandler, "CFDutyInfoRequest", &GameConnection::cfDutyInfoRequest );
|
setZoneHandler( ClientZoneIpcType::CFDutyInfoHandler, "CFDutyInfoRequest", &GameConnection::cfDutyInfoRequest );
|
||||||
setZoneHandler( ClientZoneIpcType::CFRegisterDuty, "CFRegisterDuty", &GameConnection::cfRegisterDuty );
|
setZoneHandler( ClientZoneIpcType::CFRegisterDuty, "CFRegisterDuty", &GameConnection::cfRegisterDuty );
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include <src/servers/Server_Common/Network/CommonNetwork.h>
|
#include <src/servers/Server_Common/Network/CommonNetwork.h>
|
||||||
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
#include <src/servers/Server_Common/Network/GamePacketNew.h>
|
||||||
#include <src/servers/Server_Common/Network/PacketContainer.h>
|
#include <src/servers/Server_Common/Network/PacketContainer.h>
|
||||||
|
#include <src/servers/Server_Common/Network/PacketDef/Zone/ServerZoneDef.h>
|
||||||
|
|
||||||
#include <boost/format.hpp>
|
#include <boost/format.hpp>
|
||||||
|
|
||||||
|
@ -130,12 +131,22 @@ void Core::Network::GameConnection::eventHandler( const Packets::GamePacket& inP
|
||||||
}
|
}
|
||||||
|
|
||||||
case ClientZoneIpcType::LinkshellEventHandler:
|
case ClientZoneIpcType::LinkshellEventHandler:
|
||||||
|
case ClientZoneIpcType::LinkshellEventHandler1:
|
||||||
{
|
{
|
||||||
uint32_t eventId = inPacket.getValAt< uint32_t >( 0x20 );
|
uint32_t eventId = inPacket.getValAt< uint32_t >( 0x20 );
|
||||||
uint16_t subEvent = inPacket.getValAt< uint16_t >( 0x24 );
|
uint16_t subEvent = inPacket.getValAt< uint16_t >( 0x24 );
|
||||||
std::string lsName = inPacket.getStringAt( 0x27 );
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue