diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 2b3cb211..9f02925d 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -44,20 +44,20 @@ namespace Sapphire::Network::Packets enum ServerZoneIpcType : uint16_t { Ping = 0x0106, // updated 5.2 - Init = 0x0307, // updated 5.2 + Init = 0x00F2, // updated 5.21 - ActorFreeSpawn = 0x01D1, // updated 5.2 - InitZone = 0x033A, // updated 5.2 + ActorFreeSpawn = 0x034F, // updated 5.21 + InitZone = 0x019C, // updated 5.21 - EffectResult = 0x0340, // updated 5.2 - ActorControl = 0x01E1, // updated 5.2 - ActorControlSelf = 0x010E, // updated 5.2 - ActorControlTarget = 0x00AE, // updated 5.2 + EffectResult = 0x02CF, // updated 5.21 + ActorControl = 0x0246, // updated 5.21 + ActorControlSelf = 0x02D1, // updated 5.21 + ActorControlTarget = 0x02FB, // updated 5.21 /*! * @brief Used when resting */ - UpdateHpMpTp = 0x00C1, // updated 5.2 + UpdateHpMpTp = 0x0284, // updated 5.21 /////////////////////////////////////////////////// @@ -82,25 +82,25 @@ namespace Sapphire::Network::Packets WorldVisitList = 0x00FE, // added 4.5 - SocialList = 0x033E, // updated 5.2 + SocialList = 0x00CE, // updated 5.21 ExamineSearchInfo = 0x0186, // updated 5.2 UpdateSearchInfo = 0x017D, // updated 5.2 - InitSearchInfo = 0x021C, // updated 5.2 + InitSearchInfo = 0x0143, // updated 5.21 ExamineSearchComment = 0x0102, // updated 4.1 ServerNoticeShort = 0x0115, // updated 5.0 - ServerNotice = 0x0308, // updated 5.2 - SetOnlineStatus = 0x0185, // updated 5.2 + ServerNotice = 0x016F, // updated 5.21 + SetOnlineStatus = 0x01EA, // updated 5.21 CountdownInitiate = 0x0309, // updated 5.11 CountdownCancel = 0x00D9, // updated 5.18 PlayerAddedToBlacklist = 0x033F, // updated 5.1 PlayerRemovedFromBlacklist = 0x0385, // updated 5.1 - BlackList = 0x01A2, // updated 5.2 + BlackList = 0x01DE, // updated 5.21 - LinkshellList = 0x028C, // updated 5.2 + LinkshellList = 0x01EB, // updated 5.21 MailDeleteRequest = 0x012B, // updated 5.0 @@ -123,42 +123,42 @@ namespace Sapphire::Network::Packets FreeCompanyUpdateShortMessage = 0x0157, // added 5.0 - StatusEffectList = 0x0374, // updated 5.2 + StatusEffectList = 0x01B8, // updated 5.21 EurekaStatusEffectList = 0x0167, // updated 5.18 BossStatusEffectList = 0x0312, // added 5.1 - Effect = 0x028A, // updated 5.2 - AoeEffect8 = 0x01F5, // updated 5.2 + Effect = 0x0371, // updated 5.21 + AoeEffect8 = 0x02DA, // updated 5.21 AoeEffect16 = 0x0305, // updated 5.18 AoeEffect24 = 0x023F, // updated 5.18 AoeEffect32 = 0x0352, // updated 5.18 - PersistantEffect = 0x00CE, // updated 5.2 + PersistantEffect = 0x03E7, // updated 5.21 GCAffiliation = 0x016F, // updated 5.0 - PlayerSpawn = 0x027D, // updated 5.2 - NpcSpawn = 0x034B, // updated 5.2 + PlayerSpawn = 0x018E, // updated 5.21 + NpcSpawn = 0x023A, // updated 5.21 NpcSpawn2 = 0x010C, // ( Bigger statuseffectlist? ) updated 5.18 - ActorMove = 0x0130, // updated 5.2 + ActorMove = 0x0213, // updated 5.21 ActorSetPos = 0x00CF, // updated 5.2 - ActorCast = 0x00F6, // updated 5.2 + ActorCast = 0x0262, // updated 5.21 SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18 PartyList = 0x0287, // updated 5.18 - HateRank = 0x03AC, // updated 5.2 - HateList = 0x00C8, // updated 5.2 + HateRank = 0x008F, // updated 5.21 + HateList = 0x01C5, // updated 5.21 ObjectSpawn = 0x01B3, // updated 5.2 ObjectDespawn = 0x034B, // updated 5.18 - UpdateClassInfo = 0x0131, // updated 5.2 + UpdateClassInfo = 0x0145, // updated 5.21 SilentSetClassJob = 0x018E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything - PlayerSetup = 0x0278, // updated 5.2 - PlayerStats = 0x03C8, // updated 5.2 - ActorOwner = 0x0290, // updated 5.2 - PlayerStateFlags = 0x032B, // updated 5.2 - PlayerClassInfo = 0x039A, // updated 5.2 + PlayerSetup = 0x028A, // updated 5.21 + PlayerStats = 0x0112, // updated 5.21 + ActorOwner = 0x0385, // updated 5.21 + PlayerStateFlags = 0x02E1, // updated 5.21 + PlayerClassInfo = 0x016B, // updated 5.21 - ModelEquip = 0x03C9, // updated 5.2 + ModelEquip = 0x0292, // updated 5.21 Examine = 0x038B, // updated 5.2 CharaNameReq = 0x0116, // updated 5.18 @@ -167,35 +167,35 @@ namespace Sapphire::Network::Packets SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore - ItemInfo = 0x03D4, // updated 5.2 - ContainerInfo = 0x01A5, // updated 5.2 - InventoryTransactionFinish = 0x02D7, // updated 5.2 - InventoryTransaction = 0x01D8, // updated 5.2 - CurrencyCrystalInfo = 0x0277, // updated 5.2 + ItemInfo = 0x009E, // updated 5.21 + ContainerInfo = 0x0315, // updated 5.21 + InventoryTransactionFinish = 0x030E, // updated 5.21 + InventoryTransaction = 0x006E, // updated 5.21 + CurrencyCrystalInfo = 0x00E9, // updated 5.21 - InventoryActionAck = 0x0094, // updated 5.2 - UpdateInventorySlot = 0x02E9, // updated 5.2 + InventoryActionAck = 0x01F8, // updated 5.21 + UpdateInventorySlot = 0x006F, // updated 5.21 HuntingLogEntry = 0x01B3, // updated 5.0 - EventPlay = 0x01F3, // updated 5.2 + EventPlay = 0x0167, // updated 5.21 EventPlay4 = 0x02F7, // updated 5.18 EventPlay8 = 0x0119, // updated 5.18 EventPlay16 = 0x01FB, // updated 5.18 EventPlay32 = 0x0364, // updated 5.18 EventPlay64 = 0x00E5, // updated 5.18 EventPlay128 = 0x02BE, // updated 5.18 - EventPlay255 = 0x03B0, // updated 5.2 + EventPlay255 = 0x0249, // updated 5.21 - EventStart = 0x023D, // updated 5.2 - EventFinish = 0x0318, // updated 5.2 + EventStart = 0x0392, // updated 5.21 + EventFinish = 0x00EF, // updated 5.21 UseMooch = 0x0233, // updated 5.18 EventLinkshell = 0x1169, - QuestActiveList = 0x017B, // updated 5.2 + QuestActiveList = 0x01FA, // updated 5.21 QuestUpdate = 0x02CE, // updated 5.2 - QuestCompleteList = 0x0255, // updated 5.2 + QuestCompleteList = 0x0093, // updated 5.21 QuestFinish = 0x006F, // updated 5.2 MSQTrackerComplete = 0x01D6, // updated 5.0 @@ -203,9 +203,9 @@ namespace Sapphire::Network::Packets QuestMessage = 0x00BF, // updated 5.18 - QuestTracker = 0x0306, // updated 5.2 + QuestTracker = 0x00B0, // updated 5.21 - Mount = 0x023C, // updated 5.2 + Mount = 0x036C, // updated 5.21 DirectorVars = 0x00E6, // updated 5.18 SomeDirectorUnk1 = 0x0084, // updated 5.18 @@ -225,7 +225,7 @@ namespace Sapphire::Network::Packets EorzeaTimeOffset = 0x03B8, // updated 5.1 - EquipDisplayFlags = 0x0173, // updated 5.2 + EquipDisplayFlags = 0x012F, // updated 5.21 /// Housing ////////////////////////////////////// @@ -238,7 +238,7 @@ namespace Sapphire::Network::Packets LandRename = 0x023A, // updated 5.0 HousingEstateGreeting = 0x023B, // updated 5.0 HousingUpdateLandFlagsSlot = 0x023C, // updated 5.0 - HousingLandFlags = 0x00FE, // updated 5.2 + HousingLandFlags = 0x0291, // updated 5.21 HousingShowEstateGuestAccess = 0x023E, // updated 5.0 HousingObjectInitialize = 0x0240, // updated 5.0 @@ -258,12 +258,12 @@ namespace Sapphire::Network::Packets DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui PerformNote = 0x0286, // updated 4.3 - PrepareZoning = 0x0208, // updated 5.2 - ActorGauge = 0x0162, // updated 5.2 + PrepareZoning = 0x01BE, // updated 5.21 + ActorGauge = 0x03BB, // updated 5.21 // daily quest info -> without them sent, login will take longer... - DailyQuests = 0x00A2, // updated 5.2 - DailyQuestRepeatFlags = 0x013D, // updated 5.2 + DailyQuests = 0x00E4, // updated 5.21 + DailyQuestRepeatFlags = 0x0068, // updated 5.21 /// Doman Mahjong ////////////////////////////////////// MahjongOpenGui = 0x02A4, // only available in mahjong instance @@ -284,9 +284,9 @@ namespace Sapphire::Network::Packets enum ClientZoneIpcType : uint16_t { PingHandler = 0x0106, // updated 5.2 - InitHandler = 0x0307, // updated 5.2 + InitHandler = 0x00F2, // updated 5.21 - FinishLoadingHandler = 0x012B, // updated 5.2 + FinishLoadingHandler = 0x007D, // updated 5.21 CFCommenceHandler = 0x006F, @@ -304,16 +304,16 @@ namespace Sapphire::Network::Packets ChatHandler = 0x013A, // updated 5.2 - SocialListHandler = 0x03E7, // updated 5.2 + SocialListHandler = 0x0123, // updated 5.21 SetSearchInfoHandler = 0x00A8, // updated 5.2 - ReqSearchInfoHandler = 0x007B, // updated 5.2 + ReqSearchInfoHandler = 0x01CD, // updated 5.21 ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0 ReqRemovePlayerFromBlacklist = 0x00F1, // updated 5.0 - BlackListHandler = 0x0329, // updated 5.2 + BlackListHandler = 0x0358, // updated 5.21 PlayerSearchHandler = 0x00F4, // updated 5.0 - LinkshellListHandler = 0x00A7, // updated 5.2 + LinkshellListHandler = 0x01CF, // updated 5.21 MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5 MarketBoardRequestItemListings = 0x0103, // updated 4.5 @@ -332,39 +332,39 @@ namespace Sapphire::Network::Packets ReqCountdownInitiate = 0x0135, // updated 5.0 ReqCountdownCancel = 0x0136, // updated 5.0 - ZoneLineHandler = 0x00B9, // updated 5.2 - ClientTrigger = 0x017C, // updated 5.2 + ZoneLineHandler = 0x0163, // updated 5.21 + ClientTrigger = 0x01A0, // updated 5.21 DiscoveryHandler = 0x019A, // updated 5.2 PlaceFieldMarker = 0x013C, // updated 5.0 - SkillHandler = 0x0225, // updated 5.2 + SkillHandler = 0x0372, // updated 5.21 GMCommand1 = 0x0393, // updated 5.2 GMCommand2 = 0x020B, // updated 5.2 AoESkillHandler = 0x0072, // updated 5.18 - UpdatePositionHandler = 0x0270, // updated 5.2 + UpdatePositionHandler = 0x031A, // updated 5.21 - InventoryModifyHandler = 0x02E4, // updated 5.2 + InventoryModifyHandler = 0x0073, // updated 5.21 InventoryEquipRecommendedItems = 0x0149, // updated 5.0 ReqPlaceHousingItem = 0x014B, // updated 5.0 BuildPresetHandler = 0x0150, // updated 5.0 - TalkEventHandler = 0x0340, // updated 5.2 + TalkEventHandler = 0x02CF, // updated 5.21 EmoteEventHandler = 0x01E1, // updated 5.2 WithinRangeEventHandler = 0x010E, // updated 5.2 OutOfRangeEventHandler = 0x00AE, // updated 5.2 EnterTeriEventHandler = 0x00C1, // updated 5.2 ShopEventHandler = 0x0156, // updated 5.0 - ReturnEventHandler = 0x027F, // updated 5.2 - TradeReturnEventHandler = 0x02DB, // updated 5.2 + ReturnEventHandler = 0x012E, // updated 5.21 + TradeReturnEventHandler = 0x0089, // updated 5.21 LinkshellEventHandler = 0x016B, // updated 4.5 LinkshellEventHandler1 = 0x016C, // updated 4.5 - ReqEquipDisplayFlagsChange = 0x02E2, // updated 5.2 + ReqEquipDisplayFlagsChange = 0x0083, // updated 5.21 LandRenameHandler = 0xF177, // updated 5.0 HousingUpdateHouseGreeting = 0x0178, // updated 5.0 diff --git a/src/world/Actor/Player.cpp b/src/world/Actor/Player.cpp index 73f420f5..8559955a 100644 --- a/src/world/Actor/Player.cpp +++ b/src/world/Actor/Player.cpp @@ -1803,6 +1803,15 @@ void Sapphire::Entity::Player::sendZonePackets() queuePacket( unk320 ); } + //this is needed from 5.21, after InitZone and before FinishLoadingHandler + auto classInfoPacket = makeZonePacket< FFXIVIpcUpdateClassInfo >( getId() ); + classInfoPacket->data().classId = static_cast< uint8_t > ( getClass() ); + classInfoPacket->data().level1 = getLevel(); + classInfoPacket->data().level = getLevel(); + classInfoPacket->data().nextLevelIndex = getLevel(); + classInfoPacket->data().currentExp = getExp(); + queuePacket( classInfoPacket ); + // if( getLastPing() == 0 ) // sendQuestInfo();