mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-25 19:17:45 +00:00
Fix CFCancel so we can enter more than one instance.
This commit is contained in:
parent
587e2937de
commit
eab07e1edf
5 changed files with 33 additions and 6 deletions
|
@ -69,7 +69,7 @@ namespace Sapphire::Network::Packets
|
|||
CFDutyInfo = 0x007A,
|
||||
CFPlayerInNeed = 0xF07F,
|
||||
CFPreferredRole = 0x0186, // added 5.25
|
||||
|
||||
CFCancel = 0x00B7, // updated 5.25
|
||||
SocialRequestError = 0xF0AD,
|
||||
|
||||
CFRegistered = 0x00B8, // updated 4.1
|
||||
|
@ -119,9 +119,9 @@ namespace Sapphire::Network::Packets
|
|||
CharaFreeCompanyTag = 0x013B, // updated 4.5
|
||||
FreeCompanyBoardMsg = 0x013C, // updated 4.5
|
||||
FreeCompanyInfo = 0x0000,//0x013D, // updated 4.5
|
||||
ExamineFreeCompanyInfo = 0x013E, // updated 4.5
|
||||
ExamineFreeCompanyInfo = 0xF13E, // updated 4.5
|
||||
|
||||
FreeCompanyUpdateShortMessage = 0x0157, // added 5.0
|
||||
FreeCompanyUpdateShortMessage = 0xF157, // added 5.0
|
||||
|
||||
StatusEffectList = 0x01D7, // updated 5.25
|
||||
EurekaStatusEffectList = 0x0167, // updated 5.18
|
||||
|
@ -177,13 +177,13 @@ namespace Sapphire::Network::Packets
|
|||
InventoryActionAck = 0x01AE, // updated 5.25
|
||||
UpdateInventorySlot = 0x0151, // updated 5.25
|
||||
|
||||
HuntingLogEntry = 0x01B3, // updated 5.0
|
||||
HuntingLogEntry = 0xF1B3, // updated 5.0
|
||||
|
||||
EventPlay = 0x02C3, // updated 5.25
|
||||
EventPlay4 = 0x029A, // updated 5.25
|
||||
EventPlay8 = 0x0119, // updated 5.18
|
||||
EventPlay16 = 0x01FB, // updated 5.18
|
||||
EventPlay32 = 0x017D, // updated 5.21
|
||||
EventPlay32 = 0x02D9, // updated 5.25
|
||||
EventPlay64 = 0x00E5, // updated 5.18
|
||||
EventPlay128 = 0x02BE, // updated 5.18
|
||||
EventPlay255 = 0x01AC, // updated 5.25
|
||||
|
@ -290,7 +290,7 @@ namespace Sapphire::Network::Packets
|
|||
|
||||
CFCommenceHandler = 0x0228, // updated 5.25
|
||||
|
||||
|
||||
CFCancelHandler = 0x013E, // updated 5.25
|
||||
CFRegisterDuty = 0x0180, // updated 5.25
|
||||
CFRegisterRoulette = 0x0395, // updated 5.25
|
||||
PlayTimeHandler = 0x02FE, // updated 5.25
|
||||
|
|
|
@ -1999,6 +1999,12 @@ namespace Sapphire::Network::Packets::Server
|
|||
uint32_t padding;
|
||||
};
|
||||
|
||||
struct FFXIVIpcCFCancel : FFXIVIpcBasePacket< CFCancel >
|
||||
{
|
||||
uint32_t cancelReason;
|
||||
uint32_t unknown2;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /*_CORE_NETWORK_PACKETS_SERVER_IPC_H*/
|
||||
|
|
|
@ -117,6 +117,7 @@ Sapphire::Network::GameConnection::GameConnection( Sapphire::Network::HivePtr pH
|
|||
setZoneHandler( ClientZoneIpcType::CFRegisterDuty, "CFRegisterDuty", &GameConnection::cfRegisterDuty );
|
||||
setZoneHandler( ClientZoneIpcType::CFRegisterRoulette, "CFRegisterRoulette", &GameConnection::cfRegisterRoulette );
|
||||
setZoneHandler( ClientZoneIpcType::CFCommenceHandler, "CFDutyAccepted", &GameConnection::cfDutyAccepted );
|
||||
setZoneHandler( ClientZoneIpcType::CFCancelHandler, "CFCancel", &GameConnection::cfCancel );
|
||||
|
||||
setZoneHandler( ClientZoneIpcType::ReqEquipDisplayFlagsChange, "ReqEquipDisplayFlagsChange",
|
||||
&GameConnection::reqEquipDisplayFlagsHandler );
|
||||
|
|
|
@ -155,6 +155,8 @@ namespace Sapphire::Network
|
|||
|
||||
DECLARE_HANDLER( cfDutyAccepted );
|
||||
|
||||
DECLARE_HANDLER( cfCancel );
|
||||
|
||||
DECLARE_HANDLER( actionHandler );
|
||||
|
||||
DECLARE_HANDLER( placedActionHandler );
|
||||
|
|
|
@ -66,10 +66,15 @@ void Sapphire::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_
|
|||
player.sendDebug( "Duty register request for contentid#{0}", contentId );
|
||||
|
||||
// let's cancel it because otherwise you can't register it again
|
||||
/*
|
||||
auto cfCancelPacket = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
||||
cfCancelPacket->data().state1 = 3;
|
||||
cfCancelPacket->data().state2 = 1; // Your registration is withdrawn.
|
||||
queueOutPacket( cfCancelPacket );
|
||||
*/
|
||||
auto packet = makeZonePacket< FFXIVIpcCFCancel >( player.getId() );
|
||||
packet->data().cancelReason = 890;
|
||||
queueOutPacket( packet );
|
||||
|
||||
auto cfCondition = exdData.get< Sapphire::Data::ContentFinderCondition >( contentId );
|
||||
if( !cfCondition )
|
||||
|
@ -90,10 +95,15 @@ void Sapphire::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_
|
|||
void Sapphire::Network::GameConnection::cfRegisterRoulette( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
/*
|
||||
auto cfCancelPacket = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
||||
cfCancelPacket->data().state1 = 3;
|
||||
cfCancelPacket->data().state2 = 1; // Your registration is withdrawn.
|
||||
queueOutPacket( cfCancelPacket );
|
||||
*/
|
||||
auto packet = makeZonePacket< FFXIVIpcCFCancel >( player.getId() );
|
||||
packet->data().cancelReason = 890;
|
||||
queueOutPacket( packet );
|
||||
|
||||
player.sendDebug( "Roulette register" );
|
||||
}
|
||||
|
@ -103,3 +113,11 @@ void Sapphire::Network::GameConnection::cfDutyAccepted( const Packets::FFXIVARR_
|
|||
{
|
||||
player.sendDebug( "TODO: Duty accept" );
|
||||
}
|
||||
|
||||
void Sapphire::Network::GameConnection::cfCancel( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||
Entity::Player& player )
|
||||
{
|
||||
auto packet = makeZonePacket< FFXIVIpcCFCancel >( player.getId() );
|
||||
packet->data().cancelReason = 890;
|
||||
queueOutPacket( packet );
|
||||
}
|
Loading…
Add table
Reference in a new issue