From a2bdb4e3472d4c3e9f9e634815bd431abdded3f0 Mon Sep 17 00:00:00 2001 From: Maple Date: Thu, 26 Jan 2023 04:25:51 -0300 Subject: [PATCH] Update Network definitions to 6.30hf1 (Thanks Moydow, Reyli, Guaiguaijun) --- src/common/Network/PacketDef/Ipcs.h | 338 ++++++++--------- .../Network/PacketDef/Lobby/ServerLobbyDef.h | 5 +- .../Network/PacketDef/Zone/ServerZoneDef.h | 348 +++++++++--------- 3 files changed, 341 insertions(+), 350 deletions(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 0db60930..8c72b80d 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -43,67 +43,69 @@ namespace Sapphire::Network::Packets */ enum ServerZoneIpcType : uint16_t { - Ping = 0x02A8, // updated 5.58 hotfix - Init = 0x013C, // updated 5.58 hotfix + Ping = 0x00DA, // updated 6.30h + Init = 0x01E4, // updated 6.30h - ActorFreeSpawn = 0x00B5, // updated 5.58 hotfix - InitZone = 0x0320, // updated 5.58 hotfix + ActorFreeSpawn = 0x28a, // updated 6.30h + InitZone = 0x222, // updated 6.30h - EffectResult = 0x0387, // updated 5.58 hotfix - ActorControl = 0x00B0, // updated 5.58 hotfix - ActorControlSelf = 0x02B6, // updated 5.58 hotfix - ActorControlTarget = 0x03C5, // updated 5.58 hotfix + EffectResult = 0x22c, // updated 6.30h + EffectResultBasic = 0x384, // updated 6.30h + + ActorControl = 0x179, // updated 6.30h + ActorControlSelf = 0x26f, // updated 6.30h + ActorControlTarget = 0x220, // updated 6.30h /*! * @brief Used when resting */ - UpdateHpMpTp = 0x01A7, // updated 5.58 hotfix + UpdateHpMpTp = 0x383, // updated 6.30h /////////////////////////////////////////////////// ChatBanned = 0xF06B, - Playtime = 0x0179, // updated 5.58 hotfix - Logout = 0x0214, // updated 5.58 hotfix - CFNotify = 0x0327, // updated 5.58 hotfix + Playtime = 0x326, // updated 6.30h + Logout = 0x1d0, // updated 6.30h + CFNotify = 0x38b, // updated 6.30h CFMemberStatus = 0x0079, - CFDutyInfo = 0x03AA, // updated 5.58 hotfix + CFDutyInfo = 0x1f8, // updated 6.30h CFPlayerInNeed = 0xF07F, - CFPreferredRole = 0x024B, // updated 5.58 hotfix - CFCancel = 0x01AC, // updated 5.58 hotfix + CFPreferredRole = 0xde, // updated 6.30h + CFCancel = 0x102, // updated 6.30h SocialRequestError = 0xF0AD, CFRegistered = 0x029F, // updated 5.58 hotfix - SocialRequestResponse = 0x0082, // updated 5.58 hotfix + SocialRequestResponse = 0x95, // updated 6.30h SocialMessage = 0x03CB, // updated 5.58 hotfix SocialMessage2 = 0x01D7, // updated 5.58 hotfix CancelAllianceForming = 0xF0C6, // updated 4.2 - LogMessage = 0x0118, // updated 5.58 hotfix + LogMessage = 0x343, // updated 6.30h - Chat = 0x00FE, // updated 5.58 hotfix + Chat = 0x10a, // updated 6.30h PartyChat = 0x0065, WorldVisitList = 0xF0FE, // added 4.5 - SocialList = 0x015F, // updated 5.58 hotfix + SocialList = 0x01f1, // updated 6.30h - ExamineSearchInfo = 0x0133, // updated 5.58 hotfix - UpdateSearchInfo = 0x03E5, // updated 5.58 hotfix + ExamineSearchInfo = 0x30e, // updated 6.30h + UpdateSearchInfo = 0x34a, // updated 6.30h InitSearchInfo = 0x0321, // updated 5.58 hotfix - ExamineSearchComment = 0x03AD, // updated 5.58 hotfix + ExamineSearchComment = 0x30c, // updated 6.30h ServerNoticeShort = 0x0333, // updated 5.58 hotfix - ServerNotice = 0x0171, // updated 5.58 hotfix - SetOnlineStatus = 0x037B, // updated 5.58 hotfix + ServerNotice = 0x0363, // updated 5.58 hotfix + SetOnlineStatus = 0x324, // updated 6.30h - CountdownInitiate = 0x0111, // updated 5.58 hotfix - CountdownCancel = 0x0231, // updated 5.58 hotfix + CountdownInitiate = 0x3b1, // updated 6.30h + CountdownInitiate = 0x3b1, // updated 6.30h - PlayerAddedToBlacklist = 0x024E, // updated 5.58 hotfix - PlayerRemovedFromBlacklist = 0x011D, // updated 5.58 hotfix - BlackList = 0x03C0, // updated 5.58 hotfix + PlayerAddedToBlacklist = 0x399, // updated 6.30h + PlayerRemovedFromBlacklist = 0x1dc, // updated 6.30h + BlackList = 0x016B, // updated 6.30h - LinkshellList = 0x02E2, // updated 5.58 hotfix + LinkshellList = 0x1e2, // updated 6.30h MailDeleteRequest = 0xF12B, // updated 5.0 @@ -114,108 +116,108 @@ namespace Sapphire::Network::Packets MarketTaxRates = 0x01F8, // updated 5.35 hotfix - MarketBoardSearchResult = 0x01F1, // updated 5.58 hotfix - MarketBoardItemListingCount = 0x0068, // updated 5.58 hotfix - MarketBoardItemListingHistory = 0x01BA, // updated 5.58 hotfix - MarketBoardItemListing = 0x0076, // updated 5.58 hotfix + MarketBoardSearchResult = 0x21e, // updated 6.30h + MarketBoardItemListingCount = 0xaa, // updated 6.30h + MarketBoardItemListingHistory = 0xa8, // updated 6.30h + MarketBoardItemListing = 0x2f1, // updated 6.30h CharaFreeCompanyTag = 0x013B, // updated 4.5 FreeCompanyBoardMsg = 0x03DB, // updated 5.58 hotfix - FreeCompanyInfo = 0x01F7, // updated 5.58 hotfix - ExamineFreeCompanyInfo = 0x0324, // updated 5.58 hotfix + FreeCompanyInfo = 0x1dd, // updated 5.58 hotfix + ExamineFreeCompanyInfo = 0xcd, // updated 5.58 hotfix FreeCompanyUpdateShortMessage = 0xF157, // added 5.0 - StatusEffectList = 0x0074, // updated 5.58 hotfix - EurekaStatusEffectList = 0x0167, // updated 5.18 - BossStatusEffectList = 0x0312, // added 5.1 - Effect = 0x03CA, // updated 5.58 hotfix - AoeEffect8 = 0x03C4, // updated 5.58 hotfix - AoeEffect16 = 0x00FA, // updated 5.58 hotfix - AoeEffect24 = 0x0339, // updated 5.58 hotfix - AoeEffect32 = 0x023C, // updated 5.58 hotfix - PersistantEffect = 0x025D, // updated 5.58 hotfix + StatusEffectList = 0x2bc, // updated 6.30h + EurekaStatusEffectList = 0x353, // updated 6.30h + BossStatusEffectList = 0x1ee, // updated 6.30h + Effect = 0x1c9, // updated 6.30h + AoeEffect8 = 0x24a, // updated 6.30h + AoeEffect16 = 0x38a, // updated 6.30h + AoeEffect24 = 0xc8, // updated 6.30h + AoeEffect32 = 0x32b, // updated 6.30h + PersistantEffect = 0x24c, // updated 6.30h - GCAffiliation = 0x0094, // updated 5.58 hotfix + GCAffiliation = 0x372, // updated 6.30h - PlayerSpawn = 0x01D8, // updated 5.58 hotfix - NpcSpawn = 0x00D2, // updated 5.58 hotfix - NpcSpawn2 = 0x01CB, // ( Bigger statuseffectlist? ) updated 5.3 - ActorMove = 0x00F8, // updated 5.58 hotfix + PlayerSpawn = 0x007f, // updated 6.30h + NpcSpawn = 0x39e, // updated 6.30h + NpcSpawn2 = 0x2e5, // updated 6.30h + ActorMove = 0x1db, // updated 6.30h - ActorSetPos = 0x0299, // updated 5.58 hotfix + ActorSetPos = 0x18c, // updated 6.30h - ActorCast = 0x015D, // updated 5.58 hotfix + ActorCast = 0x29c, // updated 6.30h SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18 - PartyList = 0x0349, // updated 5.58 hotfix - PartyMessage = 0x00A4, // updated 5.58 hotfix - HateRank = 0x0150, // updated 5.58 hotfix - HateList = 0x0243, // updated 5.58 hotfix - ObjectSpawn = 0x0125, // updated 5.58 hotfix - ObjectDespawn = 0x0148, // updated 5.58 hotfix - UpdateClassInfo = 0x0084, // updated 5.58 hotfix + PartyList = 0x1f6, // updated 6.30h + PartyMessage = 0x1e8, // updated 6.30h + HateRank = 0x134, // updated 6.30h + HateList = 0x2f9, // updated 6.30h + ObjectSpawn = 0x31b, // updated 6.30h + ObjectDespawn = 0x1b3, // updated 6.30h + UpdateClassInfo = 0x2d9, // updated 6.30h SilentSetClassJob = 0xF18E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything - PlayerSetup = 0x01D5, // updated 5.58 hotfix - PlayerStats = 0x0295, // updated 5.58 hotfix - ActorOwner = 0x0260, // updated 5.58 hotfix - PlayerStateFlags = 0x03BF, // updated 5.58 hotfix - PlayerClassInfo = 0x0131, // updated 5.58 hotfix - CharaVisualEffect = 0x0292, // updated 5.58 hotfix + PlayerSetup = 0x2b3, // updated 6.30h + PlayerStats = 0x1b8, // updated 6.30h + ActorOwner = 0x2b3, // updated 6.30h + PlayerStateFlags = 0xd5, // updated 6.30h + PlayerClassInfo = 0x2a6, // updated 6.30h + CharaVisualEffect = 0x1e9, // updated 6.30h - ModelEquip = 0x03A2, // updated 5.58 hotfix - Examine = 0x0365, // updated 5.58 hotfix - CharaNameReq = 0x01F0, // updated 5.58 hotfix + ModelEquip = 0x286, // updated 6.30h + Examine = 0x1BC, // updated 6.30h + CharaNameReq = 0x35c, // updated 6.30h // nb: see #565 on github UpdateRetainerItemSalePrice = 0xF19F, // updated 5.0 - RetainerSaleHistory = 0x03CE, // updated 5.58 hotfix - RetainerInformation = 0x022F, // updated 5.58 hotfix + RetainerSaleHistory = 0x14a, // updated 6.30h + RetainerInformation = 0x39c, // Updated 6.30h SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore - ItemInfo = 0x01CC, // updated 5.58 hotfix - ContainerInfo = 0x025C, // updated 5.58 hotfix - InventoryTransactionFinish = 0x0176, // updated 5.58 hotfix - InventoryTransaction = 0x027F, // updated 5.58 hotfix - CurrencyCrystalInfo = 0x0345, // updated 5.58 hotfix + ItemInfo = 0x302, // updated 6.30h + ContainerInfo = 0x255, // updated 6.30h + InventoryTransactionFinish = 0x1be, // updated 6.30h + InventoryTransaction = 0x77, // updated 6.30h + CurrencyCrystalInfo = 0x2bb, // updated 6.30h - InventoryActionAck = 0x03B8, // updated 5.58 hotfix - UpdateInventorySlot = 0x02F7, // updated 5.58 hotfix + InventoryActionAck = 0x1eb, // updated 6.30h + UpdateInventorySlot = 0x10e, // updated 6.30h - HuntingLogEntry = 0x01D9, // updated 5.58 hotfix + HuntingLogEntry = 0x2ca, // updated 6.30h - EventPlay = 0x016B, // updated 5.58 hotfix - EventPlay4 = 0x010A, // updated 5.58 hotfix - EventPlay8 = 0x0337, // updated 5.58 hotfix - EventPlay16 = 0x0269, // updated 5.58 hotfix - EventPlay32 = 0x023E, // updated 5.58 hotfix - EventPlay64 = 0x00DE, // updated 5.58 hotfix - EventPlay128 = 0x02D0, // updated 5.58 hotfix - EventPlay255 = 0x0362, // updated 5.58 hotfix + EventPlay = 0x2de, // updated 6.30h + EventPlay4 = 0x317, // updated 6.30h + EventPlay8 = 0x1cd, // updated 6.30h + EventPlay16 = 0x1fe, // updated 6.30h + EventPlay32 = 0x2fc, // updated 6.30h + EventPlay64 = 0x7c, // updated 6.30h + EventPlay128 = 0x337, // updated 6.30h + EventPlay255 = 0x1d2, // updated 6.30h - EventContinue = 0x00B6, // updated 5.58 hotfix + EventContinue = 0x240, // updated 6.30h or 0x3a2 or 0x3c3 or 0x270 or 0x391 or 0x159 or 0x2da or 0x3bb - EventStart = 0x02DA, // updated 5.58 hotfix - EventFinish = 0x0235, // updated 5.58 hotfix + EventStart = 0x1a1, // updated 6.30h + EventFinish = 0x194, // updated 6.30h EventLinkshell = 0x1169, - QuestActiveList = 0x0097, // updated 5.58 hotfix - QuestUpdate = 0x01B2, // updated 5.58 hotfix - QuestCompleteList = 0x006D, // updated 5.58 hotfix + QuestActiveList = 0x140, // updated 6.30h + QuestUpdate = 0x382, // updated 6.30h + QuestCompleteList = 0x39a, // updated 6.30h - QuestFinish = 0x021B, // updated 5.58 hotfix - MSQTrackerComplete = 0x0348, // updated 5.58 hotfix + QuestFinish = 0x237, // updated 6.30h + MSQTrackerComplete = 0xf0, // updated 6.30h MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474 QuestMessage = 0x0220, // updated 5.58 hotfix - QuestTracker = 0x00D8, // updated 5.58 hotfix + QuestTracker = 0x2d5, // updated 6.30h - Mount = 0x01E1, // updated 5.58 hotfix + Mount = 0x322, // updated 6.30h - DirectorVars = 0x0154, // updated 5.58 hotfix + DirectorVars = 0x27b, // updated 6.30h SomeDirectorUnk1 = 0x0084, // updated 5.18 SomeDirectorUnk2 = 0xF0C1, // updated 5.18 SomeDirectorUnk4 = 0x03DD, // updated 5.58 hotfix @@ -227,68 +229,68 @@ namespace Sapphire::Network::Packets CFAvailableContents = 0xF1FD, // updated 4.2 - WeatherChange = 0x0323, // updated 5.58 hotfix - PlayerTitleList = 0x014E, // updated 5.58 hotfix - Discovery = 0x01C2, // updated 5.58 hotfix + WeatherChange = 0xc7, // updated 6.30h + PlayerTitleList = 0x1ab, // updated 6.30h + Discovery = 0x3ca, // updated 6.30h - EorzeaTimeOffset = 0x0070, // updated 5.58 hotfix + EorzeaTimeOffset = 0x96, // updated 6.30h - EquipDisplayFlags = 0x02C6, // updated 5.58 hotfix + EquipDisplayFlags = 0x303, // updated 6.30h MiniCactpotInit = 0x0286, // added 5.31 ShopMessage = 0x0287, // updated 5.58 hotfix - LootMessage = 0x0383, // updated 5.58 hotfix - ResultDialog = 0x0273, // updated 5.58 hotfix - DesynthResult = 0x0238, // updated 5.58 hotfix + LootMessage = 0x2c0, // updated 6.30h + ResultDialog = 0x3bb, // updated 6.30h + DesynthResult = 0x270, // updated 6.30h /// Housing ////////////////////////////////////// - LandSetInitialize = 0x0159, // updated 5.58 hotfix - LandUpdate = 0x0228, // updated 5.58 hotfix - YardObjectSpawn = 0x023D, // updated 5.58 hotfix - HousingIndoorInitialize = 0x0210, // updated 5.58 hotfix - LandPriceUpdate = 0x0300, // updated 5.58 hotfix - LandInfoSign = 0x03E7, // updated 5.58 hotfix - LandRename = 0x01BF, // updated 5.58 hotfix - HousingEstateGreeting = 0x0126, // updated 5.58 hotfix - HousingUpdateLandFlagsSlot = 0x0157, // updated 5.58 hotfix - HousingLandFlags = 0x03B1, // updated 5.58 hotfix - HousingShowEstateGuestAccess = 0x00CC, // updated 5.58 hotfix + LandSetInitialize = 0x1fc, // updated 6.30h + LandUpdate = 0x30d, // updated 6.30h + YardObjectSpawn = 0x30b, // updated 6.30h + HousingIndoorInitialize = 0xa3, // updated 6.30h + LandPriceUpdate = 0x3d2, // updated 6.30h + LandInfoSign = 0xf9, // updated 6.30h + LandRename = 0x16d, // updated 6.30h + HousingEstateGreeting = 0x193, // updated 6.30h + HousingUpdateLandFlagsSlot = 0x1ff, // updated 6.30h + HousingLandFlags = 0x1f7, // updated 6.30h + HousingShowEstateGuestAccess = 0x71, // updated 6.30h - HousingObjectInitialize = 0x0112, // updated 5.58 hotfix - HousingInternalObjectSpawn = 0x02C8, // updated 5.58 hotfix + HousingObjectInitialize = 0x11d, // updated 6.30h + HousingInternalObjectSpawn = 0x378, // updated 6.30h - HousingWardInfo = 0x012A, // updated 5.58 hotfix - HousingObjectMove = 0x0265, // updated 5.58 hotfix + HousingWardInfo = 0xe4, // updated 6.30h + HousingObjectMove = 0x2b9, // updated 6.30h - SharedEstateSettingsResponse = 0x030E, // updated 5.58 hotfix + SharedEstateSettingsResponse = 0x144, // updated 6.30h - LandUpdateHouseName = 0x017C, // updated 5.58 hotfix + LandUpdateHouseName = 0x22b, // updated 6.30h - LandSetMap = 0x02E5, // updated 5.58 hotfix + LandSetMap = 0xbc, // updated 6.30h - CeremonySetActorAppearance = 0x02ED, // updated 5.58 hotfix + CeremonySetActorAppearance = 0xba, // updated 6.30h ////////////////////////////////////////////////// DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui - PerformNote = 0x0127, // updated 5.58 hotfix + PerformNote = 0xe9, // updated 6.30h - PrepareZoning = 0x02AB, // updated 5.58 hotfix - ActorGauge = 0x01C1, // updated 5.58 hotfix + PrepareZoning = 0x195, // updated 6.30h + ActorGauge = 0x171, // updated 6.30h DutyGauge = 0x02E5, // updated 5.58 hotfix // daily quest info -> without them sent, login will take longer... - DailyQuests = 0x02D6, // updated 5.58 hotfix - DailyQuestRepeatFlags = 0x01AB, // updated 5.58 hotfix + DailyQuests = 0x17e, // updated 6.30h + DailyQuestRepeatFlags = 0x3cc, // updated 6.30h - MapUpdate = 0x0394, // updated 5.58 hotfix - MapUpdate4 = 0x036F, // updated 5.58 hotfix - MapUpdate8 = 0x0311, // updated 5.58 hotfix - MapUpdate16 = 0x0108, // updated 5.58 hotfix - MapUpdate32 = 0x007A, // updated 5.58 hotfix - MapUpdate64 = 0x02A0, // updated 5.58 hotfix - MapUpdate128 = 0x0303, // updated 5.58 hotfix + MapUpdate = 0x1b7, // updated 6.30h + MapUpdate4 = 0x1c4, // updated 6.30h + MapUpdate8 = 0x35e, // updated 6.30h + MapUpdate16 = 0x293, // updated 6.30h + MapUpdate32 = 0x67, // updated 6.30h + MapUpdate64 = 0x1ad, // updated 6.30h + MapUpdate128 = 0x323, // updated 6.30h /// Doman Mahjong ////////////////////////////////////// MahjongOpenGui = 0x02A4, // only available in mahjong instance @@ -303,14 +305,14 @@ namespace Sapphire::Network::Packets MahjongEndGame = 0x02C6, // finished oorasu(all-last) round; shows a result screen. /// Airship & Submarine ////////////////////////////////////// - AirshipExplorationResult = 0x0203, // updated 5.58 hotfix - AirshipStatus = 0x030C, // updated 5.58 hotfix - AirshipStatusList = 0x02FE, // updated 5.58 hotfix - AirshipTimers = 0x0166, // updated 5.58 hotfix - SubmarineExplorationResult = 0x00AA, // updated 5.58 hotfix - SubmarineProgressionStatus = 0x0357, // updated 5.58 hotfix - SubmarineStatusList = 0x01EF, // updated 5.58 hotfix - SubmarineTimers = 0x0247, // updated 5.58 hotfix + AirshipExplorationResult = 0x34f, // updated 6.30h + AirshipStatus = 0x142, // updated 6.30h + AirshipStatusList = 0x70, // updated 6.30h + AirshipTimers = 0x26b, // updated 6.30h + SubmarineExplorationResult = 0x1a8, // updated 6.30h + SubmarineProgressionStatus = 0x148, // updated 6.30h + SubmarineStatusList = 0x232, // updated 6.30h + SubmarineTimers = 0x103, // updated 6.30h }; /** @@ -318,10 +320,10 @@ namespace Sapphire::Network::Packets */ enum ClientZoneIpcType : uint16_t { - PingHandler = 0x0288, // updated 5.58 hotfix - InitHandler = 0x02EB, // updated 5.58 hotfix + PingHandler = 0x011B, // updated 6.30h + InitHandler = 0x01F0, // updated 6.30h - FinishLoadingHandler = 0x013C, // updated 5.58 hotfix + FinishLoadingHandler = 0x01E4, // updated 6.30h CFCommenceHandler = 0x0381, // updated 5.58 hotfix @@ -329,28 +331,28 @@ namespace Sapphire::Network::Packets CFRegisterDuty = 0x01BD, // updated 5.58 hotfix CFRegisterRoulette = 0x037A, // updated 5.58 hotfix PlayTimeHandler = 0x02B7, // updated 5.58 hotfix - LogoutHandler = 0x00A0, // updated 5.58 hotfix - CancelLogout = 0x01AC, // updated 5.58 hotfix + LogoutHandler = 0x01C7, // updated 6.30h + CancelLogout = 0x0102, // updated 6.30h CFDutyInfoHandler = 0xF078, // updated 4.2 SocialReqSendHandler = 0x00D7, // updated 5.58 hotfix SocialResponseHandler = 0x023B, // updated 5.58 hotfix CreateCrossWorldLS = 0x035D, // updated 5.58 hotfix - ChatHandler = 0x03B0, // updated 5.58 hotfix + ChatHandler = 0x02C6, // Updated 6.30h PartyChatHandler = 0x0065, PartySetLeaderHandler = 0x036C, // updated 5.58 hotfix LeavePartyHandler = 0x019D, // updated 5.58 hotfix KickPartyMemberHandler = 0x0262, // updated 5.58 hotfix DisbandPartyHandler = 0x0276, // updated 5.58 hotfix - SocialListHandler = 0x01CA, // updated 5.58 hotfix + SocialListHandler = 0x0145, // updated 6.30h SetSearchInfoHandler = 0x01D4, // updated 5.58 hotfix ReqSearchInfoHandler = 0x014F, // updated 5.58 hotfix ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0 ReqRemovePlayerFromBlacklist = 0x00B4, // updated 5.58 hotfix - BlackListHandler = 0x00F2, // updated 5.58 hotfix + BlackListHandler = 0x0235, // updated 6.30h PlayerSearchHandler = 0x037D, // updated 5.58 hotfix LinkshellListHandler = 0x03B6, // updated 5.58 hotfix @@ -372,34 +374,34 @@ namespace Sapphire::Network::Packets ReqCountdownInitiate = 0x02EC, // updated 5.58 hotfix ReqCountdownCancel = 0x0068, // updated 5.58 hotfix - ZoneLineHandler = 0x008D, // updated 5.58 hotfix - ClientTrigger = 0x03DB, // updated 5.58 hotfix + ZoneLineHandler = 0x01EC, // updated 6.30h + ClientTrigger = 0x0174, // updated 6.30h DiscoveryHandler = 0x038B, // updated 5.58 hotfix - PlaceFieldMarkerPreset = 0x026D, // updated 5.58 hotfix - PlaceFieldMarker = 0x0371, // updated 5.58 hotfix - SkillHandler = 0x02DC, // updated 5.58 hotfix - GMCommand1 = 0x0272, // updated 5.58 hotfix - GMCommand2 = 0x00E9, // updated 5.58 hotfix + PlaceFieldMarkerPreset = 0x204, // updated 6.30h + PlaceFieldMarker = 0x38e, // updated 6.30h + SkillHandler = 0x0249, // updated 6.30h + GMCommand1 = 0x0182, // updated 6.30h + GMCommand2 = 0x02AD, // updated 6.30h AoESkillHandler = 0x0152, // updated 5.58 hotfix - UpdatePositionHandler = 0x01AF, // updated 5.58 hotfix + UpdatePositionHandler = 0x10F, // Updated 6.30h - InventoryModifyHandler = 0x029E, // updated 5.58 hotfix + InventoryModifyHandler = 0x008F, // Updated 6.30h InventoryEquipRecommendedItems = 0x01C9, // updated 5.58 hotfix ReqPlaceHousingItem = 0x02D4, // updated 5.58 hotfix BuildPresetHandler = 0x0223, // updated 5.58 hotfix - TalkEventHandler = 0x0387, // updated 5.58 hotfix + TalkEventHandler = 0x0384, // updated 6.30h EmoteEventHandler = 0x00B0, // updated 5.58 hotfix WithinRangeEventHandler = 0x02B6, // updated 5.58 hotfix OutOfRangeEventHandler = 0x03C5, // updated 5.58 hotfix - EnterTeriEventHandler = 0x01A7, // updated 5.58 hotfix + EnterTeriEventHandler = 0x0332, // updated 6.30h ShopEventHandler = 0x0384, // updated 5.58 hotfix - ReturnEventHandler = 0x00FA, // updated 5.58 hotfix - TradeReturnEventHandler = 0x0339, // updated 5.58 hotfix + ReturnEventHandler = 0x0383, // updated 6.30h + TradeReturnEventHandler = 0x0398, // updated 6.30h TradeReturnEventHandler2 = 0x023C, // updated 5.58 hotfix EventYield2Handler = 0x021D, // updated 5.58 hotfix EventYield16Handler = 0x0207, // updated 5.58 hotfix @@ -407,7 +409,7 @@ namespace Sapphire::Network::Packets LinkshellEventHandler = 0x016B, // updated 4.5 LinkshellEventHandler1 = 0x016C, // updated 4.5 - ReqEquipDisplayFlagsChange = 0x02A5, // updated 5.58 hotfix + ReqEquipDisplayFlagsChange = 0x03BC, // updated 6.30h LandRenameHandler = 0x028E, // updated 5.58 hotfix HousingUpdateHouseGreeting = 0x0343, // updated 5.58 hotfix @@ -417,12 +419,12 @@ namespace Sapphire::Network::Packets SetSharedEstateSettings = 0x00D2, // updated 5.58 hotfix - UpdatePositionInstance = 0x00F8, // updated 5.58 hotfix + UpdatePositionInstance = 0x00DB, // Updated 6.30h PerformNoteHandler = 0x0243, // updated 5.58 hotfix WorldInteractionHandler = 0x0274, // updated 5.58 hotfix - Dive = 0x0320, // updated 5.58 hotfix + Dive = 0x018C, // updated 6.30h }; //////////////////////////////////////////////////////////////////////////////// diff --git a/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h b/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h index 811a6e4f..eab5498f 100644 --- a/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h +++ b/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h @@ -90,11 +90,12 @@ struct FFXIVIpcCharList : FFXIVIpcBasePacket< LobbyCharList > uint32_t padding2; uint16_t serverId; uint16_t serverId1; - uint8_t unknown[9]; + uint8_t unknown1[16]; char nameChara[32]; char nameServer[32]; char nameServer1[32]; - char charDetailJson[1051]; + char charDetailJson[1024]; + uint8_t unknown2[20]; } charaDetails[2]; }; diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 87ab1c3d..125d477c 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -456,23 +456,24 @@ namespace Sapphire::Network::Packets::Server struct FFXIVIpcEffectResult : FFXIVIpcBasePacket< EffectResult > { uint32_t globalSequence; + uint32_t unknown1; uint32_t actor_id; uint32_t current_hp; uint32_t max_hp; uint16_t current_mp; - uint8_t unknown1; + uint8_t unknown2; uint8_t classId; uint8_t shieldPercentage; uint8_t entryCount; - uint16_t unknown2; + uint16_t unknown3; struct StatusEntry { uint8_t index; // which position do i display this - uint8_t unknown3; + uint8_t unknown4; uint16_t id; uint16_t param; - uint16_t unknown4; // Sort this out (old right half of power/param property) + uint16_t unknown5; // Sort this out (old right half of power/param property) float duration; uint32_t sourceActorId; } statusEntries[4]; @@ -572,7 +573,7 @@ namespace Sapphire::Network::Packets::Server uint16_t padding_22[3]; - uint8_t effects[8*8]; + uint8_t effects[65]; uint16_t padding_6A[3]; @@ -682,6 +683,8 @@ namespace Sapphire::Network::Packets::Server uint16_t rotation; uint16_t currentMount; uint16_t activeMinion; + uint8_t u23; + uint8_t u24; uint8_t spawnIndex; uint8_t state; uint8_t persistentEmote; @@ -700,7 +703,7 @@ namespace Sapphire::Network::Packets::Server uint8_t mountColor; uint8_t scale; uint8_t elementData[6]; - uint8_t unknown5_5[3]; + uint8_t unknown5_5; Common::StatusEffect effect[30]; Common::FFXIVARR_POSITION3 pos; uint32_t models[10]; @@ -756,6 +759,8 @@ namespace Sapphire::Network::Packets::Server uint16_t currentMount; uint16_t rotation; uint16_t activeMinion; + uint8_t u23; + uint8_t u24; uint8_t spawnIndex; uint8_t state; uint8_t persistantEmote; @@ -774,7 +779,7 @@ namespace Sapphire::Network::Packets::Server uint8_t mountColor; uint8_t scale; uint8_t elemental[6]; - uint8_t unknown5_5[3]; + uint8_t unknown5_5; Common::StatusEffect effect[30]; Common::FFXIVARR_POSITION3 pos; uint32_t models[10]; @@ -927,13 +932,13 @@ namespace Sapphire::Network::Packets::Server //Current instance can be confirmed at any time using the /instance text command." ( 7B F8 69 ) uint8_t unknown5; - uint32_t unknown7; uint32_t unknown8; + uint16_t festivalId; + uint16_t additionalFestivalId; uint32_t unknown9; uint32_t unknown10; - uint32_t festivalId; - uint32_t unknown12[3]; - uint32_t additionalFestivalId; + uint32_t unknown11; + uint32_t unknown12[4]; uint32_t unknown13[3]; Common::FFXIVARR_POSITION3 pos; uint32_t unknown14[3]; @@ -950,171 +955,154 @@ namespace Sapphire::Network::Packets::Server // plain C types for a bit until the packet is actually fixed. // makes conversion between different editors easier. uint64_t contentId; - unsigned int unknown8; - unsigned int unknownC; - unsigned int charId; - unsigned int restedExp; - unsigned int companionCurrentExp; - unsigned int unknown1C; - unsigned int fishCaught; - unsigned int useBaitCatalogId; - unsigned int unknown28; - unsigned short unknownPvp2C; - unsigned short unknown3; - unsigned int pvpFrontlineOverallCampaigns; - unsigned int unknownTimestamp34; - unsigned int unknownTimestamp38; - unsigned int unknown3C; - unsigned int unknown40; - unsigned int unknown44; + uint64_t crest; + uint32_t charId; + uint32_t restedExp; + uint32_t companionCurrentExp; + uint32_t unknown1C; + uint32_t fishCaught; + uint32_t useBaitCatalogId; + uint32_t unknown28; + uint16_t unknownPvp2C; + uint16_t unknown2E; + uint32_t pvpFrontlineOverallCampaigns; + uint32_t unknownTimestamp34; + uint32_t unknownTimestamp38; + uint32_t unknown3C; + uint32_t unknown40; + uint32_t unknown44; float companionTimePassed; - unsigned int unknown4C; - unsigned short unknown50; - unsigned short unknownPvp52[4]; - unsigned short playerCommendations; - unsigned short unknown5C; - unsigned short unknown5E; - unsigned short pvpFrontlineWeeklyCampaigns; - unsigned short enhancedAnimaGlassProgress; - unsigned short unknown64[4]; - unsigned short pvpRivalWingsTotalMatches; - unsigned short pvpRivalWingsTotalVictories; - unsigned short pvpRivalWingsWeeklyMatches; - unsigned short pvpRivalWingsWeeklyVictories; - unsigned char maxLevel; - unsigned char expansion; - unsigned char unknown76; - unsigned char unknown77; - unsigned char very_unknown; - unsigned char race; - unsigned char tribe; - unsigned char gender; - unsigned char currentJob; - unsigned char currentClass; - unsigned char deity; - unsigned char namedayMonth; - unsigned char namedayDay; - unsigned char cityState; - unsigned char homepoint; - unsigned char unknown82; - unsigned char petHotBar; - unsigned char companionRank; - unsigned char companionStars; - unsigned char companionSp; - unsigned char companionUnk86; - unsigned char companionColor; - unsigned char companionFavoFeed; - unsigned char unknown89; - unsigned char unknown8A[4]; - unsigned char hasRelicBook; - unsigned char relicBookId; - unsigned char unknown90[4]; - unsigned char craftingMasterMask; - unsigned char unknown95[9]; - unsigned char unknown9F[2]; - unsigned char unknownA1[6]; - unsigned int exp[Common::CLASSJOB_SLOTS]; - unsigned int unknown108; - unsigned int pvpTotalExp; - unsigned int unknownPvp110; - unsigned int pvpExp; - unsigned int pvpFrontlineOverallRanks[3]; - unsigned short levels[Common::CLASSJOB_SLOTS]; - /* - unsigned short unknown15C[9]; - unsigned short u1; - unsigned short u2; - unsigned short unknown112[23]; - unsigned short fishingRecordsFish[26]; - unsigned short beastExp[11]; - unsigned short unknown1EA[5]; - unsigned short pvpFrontlineWeeklyRanks[3]; - unsigned short unknownMask1FA[4]; - unsigned char companionName[21]; - unsigned char companionDefRank; - unsigned char companionAttRank; - unsigned char companionHealRank; - unsigned char u19[8]; - unsigned char mountGuideMask[22]; - unsigned char u19_2; - */ - unsigned char unknown5_55a[178]; - unsigned char companionName[21]; - unsigned char companionDefRank; - unsigned char companionAttRank; - unsigned char companionHealRank; - unsigned char mountGuideMask[29]; - //== + uint32_t unknown4C; + uint16_t unknown50; + uint16_t unknownPvp52[4]; + uint16_t pvpSeriesExp; + uint16_t playerCommendations; + uint16_t unknown5C; + uint16_t unknown5E; + uint16_t pvpFrontlineWeeklyCampaigns; + uint16_t enhancedAnimaGlassProgress; + uint16_t unknown64[4]; + uint16_t pvpRivalWingsTotalMatches; + uint16_t pvpRivalWingsTotalVictories; + uint16_t pvpRivalWingsWeeklyMatches; + uint16_t pvpRivalWingsWeeklyVictories; + uint8_t maxLevel; + uint8_t expansion; + uint8_t unknown76; + uint8_t unknown77; + uint8_t unknown78; + uint8_t race; + uint8_t tribe; + uint8_t gender; + uint8_t currentJob; + uint8_t currentClass; + uint8_t deity; + uint8_t namedayMonth; + uint8_t namedayDay; + uint8_t cityState; + uint8_t homepoint; + uint8_t unknown83; + uint8_t petHotBar; + uint8_t companionRank; + uint8_t companionStars; + uint8_t companionSp; + uint8_t companionUnk86; + uint8_t companionColor; + uint8_t companionFavFeed; + uint8_t favAetheryteCount; + uint8_t unknown8C[4]; + uint8_t hasRelicBook; + uint8_t relicBookId; + uint8_t sightseeing21To80Unlock; + uint8_t sightseeingHeavenswardUnlock; + uint8_t unknown94[2]; + uint8_t craftingMasterMask; + uint8_t unknown97[9]; + uint8_t unknownA0[3]; + uint8_t pvpSeriesLevel; + uint8_t pvpMalmstonesClaimed; + uint8_t lastSeasonMalmstonesEarned; + uint8_t lastSeasonMalmstonesClaimed; + uint8_t unknownA7[7]; + uint32_t exp[30]; + uint32_t pvpTotalExp; + uint32_t unknownPvp124; + uint32_t pvpExp; + uint32_t pvpFrontlineOverallRanks[3]; + uint32_t unknown138; + uint16_t levels[30]; + uint16_t unknown178[8]; + uint16_t fishingRecordsFishId[33]; + uint16_t fishingRecordsFishLength[33]; + uint16_t beastExp[17]; + uint16_t unknown21C[6]; + uint16_t pvpFrontlineWeeklyRanks[3]; + uint16_t unknownMask22C[8]; + uint8_t companionName[21]; + uint8_t companionDefRank; + uint8_t companionAttRank; + uint8_t companionHealRank; + uint8_t mountGuideMask[33]; + uint8_t ornamentMask[4]; + uint8_t unknown281[13]; char name[32]; - unsigned char unknownOword[16]; - unsigned char unknownOw; - unsigned char unlockBitmask[64]; - unsigned char aetheryte[21]; - unsigned char discovery[445]; - unsigned char howto[34]; - unsigned char minions[55]; - unsigned char chocoboTaxiMask[10]; - unsigned char watchedCutscenes[137]; - unsigned char companionBardingMask[11]; - unsigned char companionEquippedHead; - unsigned char companionEquippedBody; - unsigned char companionEquippedLegs; - /* - unsigned char unknown52A[4]; - unsigned char unknownMask52E[11]; - unsigned char fishingGuideMask[105]; - unsigned char fishingSpotVisited[31]; - unsigned char unknown59A[27]; - unsigned char unknown5A9[7]; - unsigned char beastRank[11]; - unsigned char unknownPvp5AB[11]; - unsigned char unknown5B9[5]; - */ - unsigned char unknown5_45b[236]; - //== - unsigned char pose; - /* - unsigned char unknown5B91; - unsigned char challengeLogComplete[9]; - unsigned char weaponPose; - unsigned char unknownMask673[10]; - unsigned char unknownMask5DD[28]; - unsigned char relicCompletion[12]; - unsigned char sightseeingMask[26]; - unsigned char huntingMarkMask[55]; - unsigned char tripleTriadCards[32]; - unsigned char u12[11]; - unsigned char u13; - unsigned char aetherCurrentMask[22]; - unsigned char u10[3]; - */ - unsigned char unknown5_55b[295]; - //== - unsigned char orchestrionMask[40]; // this field may already be extended, if it is, the beginning bytes are at the end of unknown5_55b - unsigned char hallOfNoviceCompletion[3]; - unsigned char animaCompletion[11]; - unsigned char unknown5_55c[35]; - unsigned char unlockedRaids[28]; - unsigned char unlockedDungeons[18]; - unsigned char unlockedGuildhests[10]; - /* - at least 8 bytes at most 10 bytes in unlockedTrials not confirmed, adjust unlockedPvp so they share a total of 15 bytes and sync with clearedTrials/clearedPvp. - */ - unsigned char unlockedTrials[9]; - unsigned char unlockedPvp[6]; - //== - unsigned char clearedRaids[28]; - unsigned char clearedDungeons[18]; - unsigned char clearedGuildhests[10]; - unsigned char clearedTrials[9]; - unsigned char clearedPvp[6]; - /* - unsigned short fishingRecordsFishWeight[26]; - unsigned int exploratoryMissionNextTimestamp; - unsigned char pvpLevel; - */ - unsigned char unknown5_55d[9]; - //== + uint8_t unknown293[16]; + uint8_t unknown2A3; + uint8_t unlockBitmask[64]; + uint8_t aetheryte[26]; + uint8_t favoriteAetheryteIds[4]; + uint8_t freeAetheryteId; + uint8_t discovery[472]; + uint8_t howto[36]; + uint8_t minions[60]; + uint8_t chocoboTaxiMask[12]; + uint8_t watchedCutscenes[152]; + uint8_t companionBardingMask[12]; + uint8_t companionEquippedHead; + uint8_t companionEquippedBody; + uint8_t companionEquippedLegs; + uint8_t unknown5D1[4]; + uint8_t unknownMask5D5[11]; + uint8_t fishingGuideMask[161]; + uint8_t fishingSpotVisited[38]; + uint8_t unknown694[34]; + uint8_t unknown6B6[7]; + uint8_t unknownPvp6BD[3]; + uint8_t beastRank[17]; + uint8_t unknownPvp6CE[12]; + uint8_t pose[7]; + uint8_t unknown6DF[3]; + uint8_t challengeLogComplete[13]; + uint8_t secretRecipeBookMask[10]; + uint8_t unknownMask6F7[29]; + uint8_t relicCompletion[12]; + uint8_t sightseeingMask[37]; + uint8_t huntingMarkMask[102]; + uint8_t tripleTriadCards[45]; + uint8_t unknown7D7[14]; + uint8_t unknown7D8; + uint8_t unknown7E6[49]; + uint8_t regionalFolkloreMask[6]; + uint8_t orchestrionMask[75]; + uint8_t hallOfNoviceCompletion[3]; + uint8_t animaCompletion[11]; + uint8_t unknown85E[16]; + uint8_t unknown86E[4]; + uint8_t unknown872[18]; + uint8_t unknown880; + uint8_t unlockedRaids[28]; + uint8_t unlockedDungeons[18]; + uint8_t unlockedGuildhests[10]; + uint8_t unlockedTrials[11]; + uint8_t unlockedPvp[5]; + uint8_t clearedRaids[28]; + uint8_t clearedDungeons[18]; + uint8_t clearedGuildhests[10]; + uint8_t clearedTrials[11]; + uint8_t clearedPvp[5]; + uint8_t unknown948[4]; + uint8_t unknown94C[2]; + uint8_t unknown94E[2]; }; @@ -1874,15 +1862,15 @@ namespace Sapphire::Network::Packets::Server struct FFXIVIpcHousingLandFlags : FFXIVIpcBasePacket< HousingLandFlags > { Common::LandFlagSet freeCompanyHouse; // 00 - uint64_t unkown1; + uint64_t unknown1; Common::LandFlagSet privateHouse; // 24 - uint64_t unkown2; + uint64_t unknown2; Common::LandFlagSet apartment; // 48 - uint64_t unkown3; + uint64_t unknown3; Common::LandFlagSet sharedHouse[2]; //72 - uint64_t unkown4; - Common::LandFlagSet unkownHouse; - uint64_t unkown5; + uint64_t unknown4; + Common::LandFlagSet unknownHouse; + uint64_t unknown5; }; //Structs