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,
|
CFDutyInfo = 0x007A,
|
||||||
CFPlayerInNeed = 0xF07F,
|
CFPlayerInNeed = 0xF07F,
|
||||||
CFPreferredRole = 0x0186, // added 5.25
|
CFPreferredRole = 0x0186, // added 5.25
|
||||||
|
CFCancel = 0x00B7, // updated 5.25
|
||||||
SocialRequestError = 0xF0AD,
|
SocialRequestError = 0xF0AD,
|
||||||
|
|
||||||
CFRegistered = 0x00B8, // updated 4.1
|
CFRegistered = 0x00B8, // updated 4.1
|
||||||
|
@ -119,9 +119,9 @@ namespace Sapphire::Network::Packets
|
||||||
CharaFreeCompanyTag = 0x013B, // updated 4.5
|
CharaFreeCompanyTag = 0x013B, // updated 4.5
|
||||||
FreeCompanyBoardMsg = 0x013C, // updated 4.5
|
FreeCompanyBoardMsg = 0x013C, // updated 4.5
|
||||||
FreeCompanyInfo = 0x0000,//0x013D, // 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
|
StatusEffectList = 0x01D7, // updated 5.25
|
||||||
EurekaStatusEffectList = 0x0167, // updated 5.18
|
EurekaStatusEffectList = 0x0167, // updated 5.18
|
||||||
|
@ -177,13 +177,13 @@ namespace Sapphire::Network::Packets
|
||||||
InventoryActionAck = 0x01AE, // updated 5.25
|
InventoryActionAck = 0x01AE, // updated 5.25
|
||||||
UpdateInventorySlot = 0x0151, // updated 5.25
|
UpdateInventorySlot = 0x0151, // updated 5.25
|
||||||
|
|
||||||
HuntingLogEntry = 0x01B3, // updated 5.0
|
HuntingLogEntry = 0xF1B3, // updated 5.0
|
||||||
|
|
||||||
EventPlay = 0x02C3, // updated 5.25
|
EventPlay = 0x02C3, // updated 5.25
|
||||||
EventPlay4 = 0x029A, // updated 5.25
|
EventPlay4 = 0x029A, // updated 5.25
|
||||||
EventPlay8 = 0x0119, // updated 5.18
|
EventPlay8 = 0x0119, // updated 5.18
|
||||||
EventPlay16 = 0x01FB, // updated 5.18
|
EventPlay16 = 0x01FB, // updated 5.18
|
||||||
EventPlay32 = 0x017D, // updated 5.21
|
EventPlay32 = 0x02D9, // updated 5.25
|
||||||
EventPlay64 = 0x00E5, // updated 5.18
|
EventPlay64 = 0x00E5, // updated 5.18
|
||||||
EventPlay128 = 0x02BE, // updated 5.18
|
EventPlay128 = 0x02BE, // updated 5.18
|
||||||
EventPlay255 = 0x01AC, // updated 5.25
|
EventPlay255 = 0x01AC, // updated 5.25
|
||||||
|
@ -290,7 +290,7 @@ namespace Sapphire::Network::Packets
|
||||||
|
|
||||||
CFCommenceHandler = 0x0228, // updated 5.25
|
CFCommenceHandler = 0x0228, // updated 5.25
|
||||||
|
|
||||||
|
CFCancelHandler = 0x013E, // updated 5.25
|
||||||
CFRegisterDuty = 0x0180, // updated 5.25
|
CFRegisterDuty = 0x0180, // updated 5.25
|
||||||
CFRegisterRoulette = 0x0395, // updated 5.25
|
CFRegisterRoulette = 0x0395, // updated 5.25
|
||||||
PlayTimeHandler = 0x02FE, // updated 5.25
|
PlayTimeHandler = 0x02FE, // updated 5.25
|
||||||
|
|
|
@ -1999,6 +1999,12 @@ namespace Sapphire::Network::Packets::Server
|
||||||
uint32_t padding;
|
uint32_t padding;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct FFXIVIpcCFCancel : FFXIVIpcBasePacket< CFCancel >
|
||||||
|
{
|
||||||
|
uint32_t cancelReason;
|
||||||
|
uint32_t unknown2;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /*_CORE_NETWORK_PACKETS_SERVER_IPC_H*/
|
#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::CFRegisterDuty, "CFRegisterDuty", &GameConnection::cfRegisterDuty );
|
||||||
setZoneHandler( ClientZoneIpcType::CFRegisterRoulette, "CFRegisterRoulette", &GameConnection::cfRegisterRoulette );
|
setZoneHandler( ClientZoneIpcType::CFRegisterRoulette, "CFRegisterRoulette", &GameConnection::cfRegisterRoulette );
|
||||||
setZoneHandler( ClientZoneIpcType::CFCommenceHandler, "CFDutyAccepted", &GameConnection::cfDutyAccepted );
|
setZoneHandler( ClientZoneIpcType::CFCommenceHandler, "CFDutyAccepted", &GameConnection::cfDutyAccepted );
|
||||||
|
setZoneHandler( ClientZoneIpcType::CFCancelHandler, "CFCancel", &GameConnection::cfCancel );
|
||||||
|
|
||||||
setZoneHandler( ClientZoneIpcType::ReqEquipDisplayFlagsChange, "ReqEquipDisplayFlagsChange",
|
setZoneHandler( ClientZoneIpcType::ReqEquipDisplayFlagsChange, "ReqEquipDisplayFlagsChange",
|
||||||
&GameConnection::reqEquipDisplayFlagsHandler );
|
&GameConnection::reqEquipDisplayFlagsHandler );
|
||||||
|
|
|
@ -155,6 +155,8 @@ namespace Sapphire::Network
|
||||||
|
|
||||||
DECLARE_HANDLER( cfDutyAccepted );
|
DECLARE_HANDLER( cfDutyAccepted );
|
||||||
|
|
||||||
|
DECLARE_HANDLER( cfCancel );
|
||||||
|
|
||||||
DECLARE_HANDLER( actionHandler );
|
DECLARE_HANDLER( actionHandler );
|
||||||
|
|
||||||
DECLARE_HANDLER( placedActionHandler );
|
DECLARE_HANDLER( placedActionHandler );
|
||||||
|
|
|
@ -66,10 +66,15 @@ void Sapphire::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_
|
||||||
player.sendDebug( "Duty register request for contentid#{0}", contentId );
|
player.sendDebug( "Duty register request for contentid#{0}", contentId );
|
||||||
|
|
||||||
// let's cancel it because otherwise you can't register it again
|
// let's cancel it because otherwise you can't register it again
|
||||||
|
/*
|
||||||
auto cfCancelPacket = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
auto cfCancelPacket = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
||||||
cfCancelPacket->data().state1 = 3;
|
cfCancelPacket->data().state1 = 3;
|
||||||
cfCancelPacket->data().state2 = 1; // Your registration is withdrawn.
|
cfCancelPacket->data().state2 = 1; // Your registration is withdrawn.
|
||||||
queueOutPacket( cfCancelPacket );
|
queueOutPacket( cfCancelPacket );
|
||||||
|
*/
|
||||||
|
auto packet = makeZonePacket< FFXIVIpcCFCancel >( player.getId() );
|
||||||
|
packet->data().cancelReason = 890;
|
||||||
|
queueOutPacket( packet );
|
||||||
|
|
||||||
auto cfCondition = exdData.get< Sapphire::Data::ContentFinderCondition >( contentId );
|
auto cfCondition = exdData.get< Sapphire::Data::ContentFinderCondition >( contentId );
|
||||||
if( !cfCondition )
|
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,
|
void Sapphire::Network::GameConnection::cfRegisterRoulette( const Packets::FFXIVARR_PACKET_RAW& inPacket,
|
||||||
Entity::Player& player )
|
Entity::Player& player )
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
auto cfCancelPacket = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
auto cfCancelPacket = makeZonePacket< FFXIVIpcCFNotify >( player.getId() );
|
||||||
cfCancelPacket->data().state1 = 3;
|
cfCancelPacket->data().state1 = 3;
|
||||||
cfCancelPacket->data().state2 = 1; // Your registration is withdrawn.
|
cfCancelPacket->data().state2 = 1; // Your registration is withdrawn.
|
||||||
queueOutPacket( cfCancelPacket );
|
queueOutPacket( cfCancelPacket );
|
||||||
|
*/
|
||||||
|
auto packet = makeZonePacket< FFXIVIpcCFCancel >( player.getId() );
|
||||||
|
packet->data().cancelReason = 890;
|
||||||
|
queueOutPacket( packet );
|
||||||
|
|
||||||
player.sendDebug( "Roulette register" );
|
player.sendDebug( "Roulette register" );
|
||||||
}
|
}
|
||||||
|
@ -103,3 +113,11 @@ void Sapphire::Network::GameConnection::cfDutyAccepted( const Packets::FFXIVARR_
|
||||||
{
|
{
|
||||||
player.sendDebug( "TODO: Duty accept" );
|
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