#ifndef _CORE_NETWORK_PACKETS_IPCS_H #define _CORE_NETWORK_PACKETS_IPCS_H #include namespace Sapphire::Network::Packets { //////////////////////////////////////////////////////////////////////////////// /// Lobby Connection IPC Codes /** * Server IPC Lobby Type Codes. */ enum ServerLobbyIpcType : uint16_t { LobbyError = 0x0002, LobbyServiceAccountList = 0x000C, LobbyCharList = 0x000D, LobbyCharCreate = 0x000E, LobbyEnterWorld = 0x000F, LobbyServerList = 0x0015, LobbyRetainerList = 0x0017, }; /** * Client IPC Lobby Type Codes. */ enum ClientLobbyIpcType : uint16_t { ReqCharList = 0x0003, ReqEnterWorld = 0x0004, ClientVersionInfo = 0x0005, ReqCharDelete = 0x000A, ReqCharCreate = 0x000B, }; //////////////////////////////////////////////////////////////////////////////// /// Zone Connection IPC Codes /** * Server IPC Zone Type Codes. */ enum ServerZoneIpcType : uint16_t { Ping = 0x0183, // updated 5.45 hotfix Init = 0x01EA, // updated 5.45 hotfix ActorFreeSpawn = 0x01C5, // updated 5.55 hotfix InitZone = 0x021C, // updated 5.55 hotfix diff EffectResult = 0x01E9, // updated 5.55 hotfix diff ActorControl = 0x01C8, // updated 5.55 hotfix diff ActorControlSelf = 0x035A, // updated 5.55 hotfix diff ActorControlTarget = 0x0338, // updated 5.55 hotfix diff /*! * @brief Used when resting */ UpdateHpMpTp = 0x0077, // updated 5.55 hotfix diff /////////////////////////////////////////////////// ChatBanned = 0xF06B, Playtime = 0x0348, // updated 5.55 hotfix diff Logout = 0x0292, // updated 5.55 hotfix diff CFNotify = 0x00DC, // updated 5.55 hotfix diff CFMemberStatus = 0x0079, CFDutyInfo = 0x02A3, // updated 5.55 hotfix diff CFPlayerInNeed = 0xF07F, CFPreferredRole = 0x02B6, // updated 5.55 hotfix diff CFCancel = 0x01BE, // updated 5.55 hotfix diff SocialRequestError = 0xF0AD, CFRegistered = 0x0114, // updated 5.55 hotfix diff SocialRequestResponse = 0x033C, // updated 5.55 hotfix diff SocialMessage = 0x0304, // updated 5.55 hotfix diff SocialMessage2 = 0x01B4, // updated 5.55 hotfix diff CancelAllianceForming = 0xF0C6, // updated 4.2 LogMessage = 0x00D0, Chat = 0x0384, // updated 5.55 hotfix diff PartyChat = 0x0065, WorldVisitList = 0xF0FE, // added 4.5 SocialList = 0x00DD, // updated 5.55 hotfix diff ExamineSearchInfo = 0x022A, // updated 5.55 hotfix diff UpdateSearchInfo = 0x03DF, // updated 5.55 hotfix diff InitSearchInfo = 0x00F8, // updated 5.55 hotfix diff ExamineSearchComment = 0x0102, // updated 4.1 ServerNoticeShort = 0x032D, // updated 5.55 hotfix diff ServerNotice = 0x032D, // updated 5.55 hotfix diff SetOnlineStatus = 0x03A9, // updated 5.55 hotfix diff CountdownInitiate = 0x0237, // updated 5.25 CountdownCancel = 0x00D9, // updated 5.18 PlayerAddedToBlacklist = 0x033F, // updated 5.1 PlayerRemovedFromBlacklist = 0x0385, // updated 5.1 BlackList = 0x0093, // updated 5.55 hotfix diff LinkshellList = 0x0160, // updated 5.55 hotfix diff MailDeleteRequest = 0xF12B, // updated 5.0 // 12D - 137 - constant gap between 4.5x -> 5.0 ReqMoogleMailList = 0xF138, // updated 5.0 ReqMoogleMailLetter = 0xF139, // updated 5.0 MailLetterNotification = 0x013A, // updated 5.0 MarketTaxRates = 0x01F8, // updated 5.35 hotfix MarketBoardSearchResult = 0x039D, // updated 5.55 hotfix diff MarketBoardItemListingCount = 0x0277, // updated 5.55 hotfix diff MarketBoardItemListingHistory = 0x0320, // updated 5.55 hotfix diff MarketBoardItemListing = 0x026B, // updated 5.55 hotfix diff CharaFreeCompanyTag = 0x013B, // updated 4.5 FreeCompanyBoardMsg = 0x013C, // updated 4.5 FreeCompanyInfo = 0x0332, // updated 5.55 hotfix ExamineFreeCompanyInfo = 0xF13E, // updated 4.5 FreeCompanyUpdateShortMessage = 0xF157, // added 5.0 StatusEffectList = 0x018A, // updated 5.55 hotfix diff EurekaStatusEffectList = 0x0167, // updated 5.18 BossStatusEffectList = 0x0312, // added 5.1 Effect = 0x0283, // updated 5.55 hotfix diff AoeEffect8 = 0x025B, // updated 5.55 hotfix diff AoeEffect16 = 0x015D, // updated 5.55 hotfix diff AoeEffect24 = 0x0091, // updated 5.55 hotfix diff AoeEffect32 = 0x0169, // updated 5.55 hotfix diff PersistantEffect = 0x035E, // updated 5.55 hotfix diff GCAffiliation = 0x0258, // updated 5.55 hotfix diff PlayerSpawn = 0x02C1, // updated 5.55 hotfix diff NpcSpawn = 0x00F1, // updated 5.55 hotfix diff NpcSpawn2 = 0x01CB, // ( Bigger statuseffectlist? ) updated 5.3 ActorMove = 0x009D, // updated 5.55 hotfix diff ActorSetPos = 0x0266, // updated 5.55 hotfix diff ActorCast = 0x00A9, // updated 5.55 hotfix diff SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18 PartyList = 0x01B7, // updated 5.55 hotfix diff PartyMessage = 0x01C1, // updated 5.55 hotfix diff HateRank = 0x006E, // updated 5.55 hotfix diff HateList = 0x01F1, // updated 5.55 hotfix diff ObjectSpawn = 0x00FE, // updated 5.55 hotfix diff ObjectDespawn = 0x0201, // updated 5.55 hotfix diff UpdateClassInfo = 0x0065, // updated 5.55 hotfix SilentSetClassJob = 0xF18E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything PlayerSetup = 0x01E7, // updated 5.55 hotfix diff PlayerStats = 0x012E, // updated 5.55 hotfix diff ActorOwner = 0x00EB, // updated 5.55 hotfix diff PlayerStateFlags = 0x0190, // updated 5.55 hotfix diff PlayerClassInfo = 0x022B, // updated 5.55 hotfix diff CharaVisualEffect = 0x033A, // updated 5.55 hotfix diff ModelEquip = 0x0264, // updated 5.55 hotfix diff Examine = 0x027C, // updated 5.55 hotfix diff CharaNameReq = 0x02EC, // updated 5.55 hotfix diff // nb: see #565 on github UpdateRetainerItemSalePrice = 0xF19F, // updated 5.0 RetainerSaleHistory = 0x020E, // updated 5.21 hotfix RetainerInformation = 0x02DE, // updated 5.55 hotfix SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore ItemInfo = 0x02D3, // updated 5.55 hotfix ContainerInfo = 0x00CF, // updated 5.55 hotfix InventoryTransactionFinish = 0x02EE, // updated 5.55 hotfix InventoryTransaction = 0x02FA, // updated 5.55 hotfix CurrencyCrystalInfo = 0x0166, // updated 5.55 hotfix InventoryActionAck = 0x027D, // updated 5.55 hotfix diff UpdateInventorySlot = 0x0073, // updated 5.55 hotfix diff HuntingLogEntry = 0x0080, // updated 5.55 hotfix diff EventPlay = 0x0369, // updated 5.55 hotfix EventPlay4 = 0x0247, // updated 5.55 hotfix EventPlay8 = 0x0227, // updated 5.55 hotfix EventPlay16 = 0x00C5, // updated 5.55 hotfix EventPlay32 = 0x0184, // updated 5.55 hotfix EventPlay64 = 0x011A, // updated 5.55 hotfix EventPlay128 = 0x01B3, // updated 5.55 hotfix EventPlay255 = 0x0240, // updated 5.55 hotfix EventYield = 0x02CB, // updated 5.55 hotfix diff //EventYield4 = 0x0000, //EventYield8 = 0x0000, //EventYield16 = 0x0000, //EventYield32 = 0x0000, //EventYield64 = 0x0000, //EventYield128 = 0x0000, //EventYield255 = 0x0000, EventStart = 0x0145, // updated 5.55 hotfix diff EventFinish = 0x0174, // updated 5.55 hotfix diff EventLinkshell = 0x1169, QuestActiveList = 0x0381, // updated 5.55 hotfix diff QuestUpdate = 0x031B, // updated 5.55 hotfix diff QuestCompleteList = 0x031A, // updated 5.55 hotfix diff QuestFinish = 0x00E0, // updated 5.55 hotfix diff MSQTrackerComplete = 0xF1D6, // updated 5.0 MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474 QuestMessage = 0x036E, // updated 5.55 hotfix diff QuestTracker = 0x0294, // updated 5.55 hotfix diff Mount = 0x016B, // updated 5.55 hotfix diff DirectorVars = 0x0391, // updated 5.55 hotfix diff SomeDirectorUnk1 = 0x0084, // updated 5.18 SomeDirectorUnk2 = 0xF0C1, // updated 5.18 SomeDirectorUnk4 = 0x0101, // updated 5.55 hotfix SomeDirectorUnk8 = 0x028A, // updated 5.18 SomeDirectorUnk16 = 0x028C, // updated 5.18 DirectorPopUp = 0xF162, // updated 5.18 - display dialogue pop-ups in duties and FATEs, for example, Teraflare's countdown DirectorPopUp4 = 0x0214, // updated 5.18 DirectorPopUp8 = 0x00F8, // updated 5.18 CFAvailableContents = 0xF1FD, // updated 4.2 WeatherChange = 0x0386, // updated 5.55 hotfix diff PlayerTitleList = 0x0181, // updated 5.55 hotfix diff Discovery = 0x019E, // updated 5.55 hotfix diff EorzeaTimeOffset = 0x01AE, // updated 5.55 hotfix diff EquipDisplayFlags = 0x01C5, // updated 5.55 hotfix diff MiniCactpotInit = 0x0286, // added 5.31 ShopMessage = 0x0162, // updated 5.55 hotfix diff LootMessage = 0x0065, // updated 5.55 hotfix diff ResultDialog = 0x025D, // updated 5.55 hotfix DesynthResult = 0x0323, // updated 5.55 hotfix /// Housing ////////////////////////////////////// LandSetInitialize = 0x0109, // updated 5.55 hotfix diff LandUpdate = 0x01E4, // updated 5.55 hotfix diff YardObjectSpawn = 0x0219, // updated 5.55 hotfix diff HousingIndoorInitialize = 0x00EE, // updated 5.55 hotfix diff LandPriceUpdate = 0x00EE, // updated 5.55 hotfix diff LandInfoSign = 0x02D9, // updated 5.55 hotfix diff LandRename = 0x02D9, // updated 5.55 hotfix diff HousingEstateGreeting = 0x011C, // updated 5.55 hotfix diff HousingUpdateLandFlagsSlot = 0x03C8, // updated 5.55 hotfix diff HousingLandFlags = 0x01B9, // updated 5.55 hotfix diff HousingShowEstateGuestAccess = 0x025F, // updated 5.55 hotfix diff HousingObjectInitialize = 0x02D9, // updated 5.55 hotfix diff HousingInternalObjectSpawn = 0x0084, // updated 5.55 hotfix diff HousingWardInfo = 0x0234, // updated 5.55 hotfix diff HousingObjectMove = 0x0234, // updated 5.55 hotfix diff SharedEstateSettingsResponse = 0x0263, // updated 5.55 hotfix diff LandUpdateHouseName = 0x01C6, // updated 5.55 hotfix diff LandSetMap = 0x00EE, // updated 5.55 hotfix diff ////////////////////////////////////////////////// DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui PerformNote = 0x038B, // updated 5.55 hotfix diff PrepareZoning = 0x00A4, // updated 5.55 hotfix ActorGauge = 0x03B1, // updated 5.55 hotfix DutyGauge = 0x01D3, // updated 5.55 hotfix diff // daily quest info -> without them sent, login will take longer... DailyQuests = 0x0371, // updated 5.55 hotfix diff DailyQuestRepeatFlags = 0x021F, // updated 5.55 hotfix diff /// Doman Mahjong ////////////////////////////////////// MahjongOpenGui = 0x02A4, // only available in mahjong instance MahjongNextRound = 0x02BD, // initial hands(baipai), # of riichi(wat), winds, honba, score and stuff MahjongPlayerAction = 0x02BE, // tsumo(as in drawing a tile) called chi/pon/kan/riichi MahjongEndRoundTsumo = 0x02BF, // called tsumo MahjongEndRoundRon = 0x2C0, // called ron or double ron (waiting for action must be flagged from discard packet to call) MahjongTileDiscard = 0x02C1, // giri (discarding a tile.) chi(1)/pon(2)/kan(4)/ron(8) flags etc.. MahjongPlayersInfo = 0x02C2, // actor id, name, rating and stuff.. // 2C3 and 2C4 are currently unknown MahjongEndRoundDraw = 0x02C5, // self explanatory MahjongEndGame = 0x02C6, // finished oorasu(all-last) round; shows a result screen. /// Airship & Submarine ////////////////////////////////////// AirshipExplorationResult = 0x007C, // updated 5.55 hotfix AirshipStatus = 0x00AB, // updated 5.55 hotfix AirshipStatusList = 0x027B, // updated 5.55 hotfix AirshipTimers = 0x02A5, // updated 5.55 hotfix diff SubmarineExplorationResult = 0x0099, // updated 5.55 hotfix SubmarineProgressionStatus = 0x0081, // updated 5.55 hotfix diff SubmarineStatusList = 0x0072, // updated 5.55 hotfix diff SubmarineTimers = 0x037A, // updated 5.55 hotfix }; /** * Client IPC Zone Type Codes. */ enum ClientZoneIpcType : uint16_t { PingHandler = 0x0183, // updated 5.45 hotfix InitHandler = 0x01EA, // updated 5.45 hotfix FinishLoadingHandler = 0x023F, // updated 5.45 hotfix CFCommenceHandler = 0x0118, // updated 5.35 hotfix CFCancelHandler = 0x0332, // updated 5.35 hotfix CFRegisterDuty = 0x033C, // updated 5.45 hotfix CFRegisterRoulette = 0x0121, // updated 5.45 hotfix PlayTimeHandler = 0x0365, // updated 5.55 hotfix diff LogoutHandler = 0x01BE, // updated 5.55 hotfix diff CancelLogout = 0x010F, // updated 5.55 hotfix diff CFDutyInfoHandler = 0x0078, // updated 4.2 SocialReqSendHandler = 0x01B1, // updated 5.55 hotfix diff SocialResponseHandler = 0x029B, // updated 5.45 hotfix CreateCrossWorldLS = 0x00AF, // updated 4.3 ChatHandler = 0x01B8, // updated 5.55 hotfix PartyChatHandler = 0x0065, PartySetLeaderHandler = 0x02EF, // updated 5.45 hotfix LeavePartyHandler = 0x01A4, // updated 5.55 hotfix diff KickPartyMemberHandler = 0x0070, // updated 5.45 hotfix DisbandPartyHandler = 0x037A, // updated 5.45 hotfix SocialListHandler = 0x0152, // updated 5.55 hotfix diff SetSearchInfoHandler = 0x009C, // updated 5.55 hotfix ReqSearchInfoHandler = 0x02B8, // updated 5.55 hotfix diff ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0 ReqRemovePlayerFromBlacklist = 0x00F1, // updated 5.0 BlackListHandler = 0x03DE, // updated 5.55 hotfix diff PlayerSearchHandler = 0x00F4, // updated 5.0 LinkshellListHandler = 0x038F, // updated 5.55 hotfix diff MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5 MarketBoardRequestItemListings = 0x0103, // updated 4.5 MarketBoardSearch = 0x0107, // updated 4.5 ReqExamineFcInfo = 0x0113, // updated 4.1 FcInfoReqHandler = 0x011A, // updated 4.2 FreeCompanyUpdateShortMessageHandler = 0x0123, // added 5.0 ReqMarketWishList = 0x012C, // updated 4.3 ReqJoinNoviceNetwork = 0x0129, // updated 4.2 ReqCountdownInitiate = 0x025F, // updated 5.35 hotfix ReqCountdownCancel = 0x0244, // updated 5.25 ZoneLineHandler = 0x0337, // updated 5.55 hotfix diff ClientTrigger = 0x0337, // updated 5.55 hotfix DiscoveryHandler = 0x00E3, // updated 5.35 hotfix PlaceFieldMarkerPreset = 0x010C, // updated 5.55 hotfix diff PlaceFieldMarker = 0x02E2, // updated 5.55 hotfix diff SkillHandler = 0x01F0, // updated 5.55 hotfix diff GMCommand1 = 0x03DC, // updated 5.55 hotfix diff GMCommand2 = 0x013D, // updated 5.55 hotfix diff AoESkillHandler = 0x024B, // updated 5.55 hotfix diff UpdatePositionHandler = 0x024B, // updated 5.55 hotfix InventoryModifyHandler = 0x01D7, // updated 5.55 hotfix InventoryEquipRecommendedItems = 0x0186, // updated 5.45 hotfix ReqPlaceHousingItem = 0x0313, // updated 5.55 hotfix diff BuildPresetHandler = 0x01E9, // updated 5.55 hotfix diff TalkEventHandler = 0x01C8, // updated 5.55 hotfix diff EmoteEventHandler = 0x035A, // updated 5.55 hotfix diff WithinRangeEventHandler = 0x0338, // updated 5.55 hotfix diff OutOfRangeEventHandler = 0x0077, // updated 5.55 hotfix diff EnterTeriEventHandler = 0x0283, // updated 5.55 hotfix diff ShopEventHandler = 0x03D4, // updated 5.45 hotfix EventYieldHandler = 0x02A0, // updated 5.55 hotfix diff ReturnEventHandler = 0x0091, // updated 5.55 hotfix diff TradeReturnEventHandler = 0x0169, // updated 5.55 hotfix diff TradeMultipleReturnEventHander = 0x035C, // updated 5.35 hotfix LinkshellEventHandler = 0x016B, // updated 4.5 LinkshellEventHandler1 = 0x016C, // updated 4.5 ReqEquipDisplayFlagsChange = 0x025E, // updated 5.55 hotfix diff LandRenameHandler = 0x0330, // updated 5.55 hotfix diff HousingUpdateHouseGreeting = 0x01BD, // updated 5.55 hotfix diff HousingUpdateObjectPosition = 0x03A5, // updated 5.55 hotfix diff HousingEditExterior = 0x01D7, // updated 5.55 hotfix diff SetSharedEstateSettings = 0x03DC, // updated 5.55 hotfix diff UpdatePositionInstance = 0x009D, // updated 5.55 hotfix PerformNoteHandler = 0x00FE, // updated 5.55 hotfix diff WorldInteractionHandler = 0x007D, // updated 5.55 hotfix diff Dive = 0x0306, // updated 5.55 hotfix diff }; //////////////////////////////////////////////////////////////////////////////// /// Chat Connection IPC Codes /** * Server IPC Chat Type Codes. */ enum ServerChatIpcType : uint16_t { Tell = 0x0064, // updated for sb PublicContentTell = 0x00FB, // added 4.5, this is used when receiving a /tell in PublicContent instances such as Eureka or Bozja TellErrNotFound = 0x0066, FreeCompanyEvent = 0x012C, // added 5.0 }; /** * Client IPC Chat Type Codes. */ enum ClientChatIpcType : uint16_t { TellReq = 0x0064, PublicContentTellReq = 0x0326, // updated 5.35 hotfix, this is used when sending a /tell in PublicContent instances such as Eureka or Bozja }; } #endif /*_CORE_NETWORK_PACKETS_IPCS_H*/