1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-24 18:47:45 +00:00
sapphire/src/common/Network/PacketDef/Ipcs.h
Rey 4736e431ac Added EventYieldHandler16 opcode to be able to set wedding settings.
Need an EventContinue opcode to have things mostly working again.
Wedding event script WILL CRASH if the second client is not up during
the entire cutscene. Not meant to be merged into main at all.
2022-02-15 09:04:01 -06:00

457 lines
No EOL
16 KiB
C++

#ifndef _CORE_NETWORK_PACKETS_IPCS_H
#define _CORE_NETWORK_PACKETS_IPCS_H
#include <stdint.h>
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 = 0x00FA, // updated 6.08
Init = 0x0182, // updated 6.08
ActorFreeSpawn = 0x0082, // updated 6.08
InitZone = 0x01EB, // updated 6.08
EffectResult = 0x00DE, // updated 6.08
ActorControl = 0x022F, // updated 6.08
ActorControlSelf = 0x006B, // updated 6.08
ActorControlTarget = 0x0191, // updated 6.08
/*!
* @brief Used when resting
*/
UpdateHpMpTp = 0x02C9, // updated 6.08
///////////////////////////////////////////////////
ChatBanned = 0xF06B,
Playtime = 0x00CE, // updated 6.08
Logout = 0x03B2, // updated 6.08
CFNotify = 0x01C5, // updated 6.08
CFMemberStatus = 0x0079,
CFDutyInfo = 0x0188, // updated 6.08
CFPlayerInNeed = 0xF07F,
CFPreferredRole = 0x02DA, // updated 6.08
CFCancel = 0x00EB, // updated 6.08
SocialRequestError = 0xF0AD,
CFRegistered = 0x00A9, // updated 6.08
SocialRequestResponse = 0x024D, // updated 6.08
SocialMessage = 0x02B4, // updated 6.08
SocialMessage2 = 0x011C, // updated 6.08
CancelAllianceForming = 0xF0C6, // updated 4.2
LogMessage = 0x0142, // updated 6.08
Chat = 0x0148, // updated 6.08
PartyChat = 0x0065,
WorldVisitList = 0xF0FE, // added 4.5
SocialList = 0x039C, // updated 6.08
ExamineSearchInfo = 0x0297, // updated 6.08
UpdateSearchInfo = 0x03D1, // updated 6.08
InitSearchInfo = 0x01BB, // updated 6.08
ExamineSearchComment = 0x02AE, // updated 6.08
ServerNoticeShort = 0x01D7, // updated 6.08
ServerNotice = 0x036E, // updated 6.08
SetOnlineStatus = 0x0308, // updated 6.08
CountdownInitiate = 0x00E1, // updated 6.08
CountdownCancel = 0x0284, // updated 6.08
PlayerAddedToBlacklist = 0x037D, // updated 6.08
PlayerRemovedFromBlacklist = 0x0342, // updated 6.08
BlackList = 0x0070, // updated 6.08
LinkshellList = 0x0304, // updated 6.08
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 = 0x00B2, // updated 6.08
MarketBoardItemListingCount = 0x026A, // updated 6.08
MarketBoardItemListingHistory = 0x013A, // updated 6.08
MarketBoardItemListing = 0x01E2, // updated 6.08
CharaFreeCompanyTag = 0x013B, // updated 4.5
FreeCompanyBoardMsg = 0x02F1, // updated 6.08
FreeCompanyInfo = 0x01A2, // updated 6.08
ExamineFreeCompanyInfo = 0x011E, // updated 6.08
FreeCompanyUpdateShortMessage = 0xF157, // added 5.0
StatusEffectList = 0x00BC, // updated 6.08
EurekaStatusEffectList = 0x0167, // updated 5.18
BossStatusEffectList = 0x0312, // added 5.1
Effect = 0x03C7, // updated 6.08
AoeEffect8 = 0x0149, // updated 6.08
AoeEffect16 = 0x00C1, // updated 6.08
AoeEffect24 = 0x0213, // updated 6.08
AoeEffect32 = 0x038B, // updated 6.08
PersistantEffect = 0x02AF, // updated 6.08
GCAffiliation = 0x0264, // updated 6.08
PlayerSpawn = 0x0226, // updated 6.08
NpcSpawn = 0x032C, // updated 6.08
NpcSpawn2 = 0x01CB, // ( Bigger statuseffectlist? ) updated 5.3
ActorMove = 0x0370, // updated 6.08
ActorSetPos = 0x0395, // updated 6.08
ActorCast = 0x0104, // updated 6.08
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
PartyList = 0x03AF, // updated 6.08
PartyMessage = 0x0352, // updated 6.08
HateRank = 0x03C3, // updated 6.08
HateList = 0x032B, // updated 6.08
ObjectSpawn = 0x03A3, // updated 6.08
ObjectDespawn = 0x0137, // updated 6.08
UpdateClassInfo = 0x00FE, // updated 6.08
SilentSetClassJob = 0xF18E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything
PlayerSetup = 0x0261, // updated 6.08
PlayerStats = 0x02C7, // updated 6.08
ActorOwner = 0x0261, // updated 6.08
PlayerStateFlags = 0x03CF, // updated 6.08 (or 0x00CB)
PlayerClassInfo = 0x025A, // updated 6.08
CharaVisualEffect = 0x01D1, // updated 6.08
InstanceDecorAnimation = 0x0338, // updated 6.08
ModelEquip = 0x00E4, // updated 6.08
Examine = 0x03E2, // updated 6.08
CharaNameReq = 0x0343, // updated 6.08
// nb: see #565 on github
UpdateRetainerItemSalePrice = 0xF19F, // updated 5.0
RetainerSaleHistory = 0x0066, // updated 6.08
RetainerInformation = 0x023B, // updated 6.08
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
ItemInfo = 0x02A9, // updated 6.08
ContainerInfo = 0x037A, // updated 6.08
InventoryTransactionFinish = 0x0299, // updated 6.08
InventoryTransaction = 0x0382, //updated 6.08
CurrencyCrystalInfo = 0x02BE, // updated 6.08 hotfix
InventoryActionAck = 0x008A, // updated 6.08
UpdateInventorySlot = 0x0375, // updated 6.08
HuntingLogEntry = 0x0187, // updated 6.08
EventPlay = 0x0113, // updated for 6.08
EventPlay4 = 0x0302, // updated for 6.08
EventPlay8 = 0x0078, // updated for 6.08
EventPlay16 = 0x0223, // updated for 6.08
EventPlay32 = 0x02F2, // updated for 6.08
EventPlay64 = 0x03BC, // updated for 6.08
EventPlay128 = 0x033E, // updated for 6.08
EventPlay255 = 0x0079, // updated for 6.08
EventContinue = 0x00B6, // updated 5.58 hotfix
EventStart = 0x00AE, // updated 6.08
EventFinish = 0x0210, // updated 6.08
EventLinkshell = 0x1169,
QuestActiveList = 0x03E0, // updated 6.08
QuestUpdate = 0x029B, // updated 6.08
QuestCompleteList = 0x0118, // updated 6.08
QuestFinish = 0x015A, // updated 6.08
MSQTrackerComplete = 0x00E5, // updated 6.08
MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474
QuestMessage = 0x0220, // updated 5.58 hotfix
QuestTracker = 0x01FB, // updated 6.08
Mount = 0x0373, // updated 6.08
DirectorVars = 0x0138, // updated 6.08
SomeDirectorUnk1 = 0x00EF, // updated 6.08
SomeDirectorUnk2 = 0xF0C1, // updated 5.18
SomeDirectorUnk4 = 0x03DD, // updated 5.58 hotfix
SomeDirectorUnk8 = 0x028A, // updated 5.18
SomeDirectorUnk16 = 0x028C, // updated 5.18
DirectorPopUp = 0x03DF, // updated 5.58 hotfix
DirectorPopUp4 = 0x019B, // updated 5.58 hotfix
DirectorPopUp8 = 0x0271, // updated 5.58 hotfix
CFAvailableContents = 0xF1FD, // updated 4.2
WeatherChange = 0x00ED, // updated 6.08
PlayerTitleList = 0x02C2, // updated 6.08
Discovery = 0x03A4, // updated 6.08
EorzeaTimeOffset = 0x0074, // updated 6.08
EquipDisplayFlags = 0x023A, // updated 6.08
MiniCactpotInit = 0x0286, // added 5.31
ShopMessage = 0x0287, // updated 5.58 hotfix
LootMessage = 0x006C, // updated 6.08
ResultDialog = 0x0273, // updated 5.58 hotfix
DesynthResult = 0x0143, // updated 6.08
/// Housing //////////////////////////////////////
LandSetInitialize = 0x0280, // updated 6.08
LandUpdate = 0x03C6, // updated 6.08
YardObjectSpawn = 0x01AC, // updated 6.08
HousingIndoorInitialize = 0x00E6, // updated 6.08
LandPriceUpdate = 0x03CB, // updated 6.08
LandInfoSign = 0x0276, // updated 6.08
LandRename = 0x0158, // updated 6.08
HousingEstateGreeting = 0x029E, // updated 6.08
HousingUpdateLandFlagsSlot = 0x01B4, // updated 6.08
HousingLandFlags = 0x03DD, // updated 6.08
HousingShowEstateGuestAccess = 0x011B, // updated 6.08
HousingObjectInitialize = 0x02DF, // updated 6.08
HousingInternalObjectSpawn = 0x01C2, // updated 6.08
HousingWardInfo = 0x0145, // updated 6.08
HousingObjectMove = 0x0242, // updated 6.08
SharedEstateSettingsResponse = 0x02F0, // updated 6.08
LandUpdateHouseName = 0x0132, // updated 6.08
LandSetMap = 0x008B, // updated 6.08
CeremonySetActorAppearance = 0x0222, // updated 6.08
//////////////////////////////////////////////////
DuelChallenge = 0xF277, // 4.2; this is responsible for opening the ui
PerformNote = 0x009B, // updated 6.08
PrepareZoning = 0x039A, // updated 6.08
ActorGauge = 0x03B5, // updated 6.08
DutyGauge = 0x008B, // updated 6.08
// daily quest info -> without them sent, login will take longer...
DailyQuests = 0x0136, // updated 6.08
DailyQuestRepeatFlags = 0x0348, // updated 6.08
MapUpdate = 0x0364, // updated 6.08
MapUpdate4 = 0x0128, // updated 6.08
MapUpdate8 = 0x0286, // updated 6.08
MapUpdate16 = 0x01AA, // updated 6.08
MapUpdate32 = 0x0151, // updated 6.08
MapUpdate64 = 0x00CD, // updated 6.08
MapUpdate128 = 0x017D, // updated 6.08
/// 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 = 0xF2C2, // 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 = 0x023E, // updated 6.08
AirshipStatus = 0x01F5, // updated 6.08
AirshipStatusList = 0x0250, // updated 6.08
AirshipTimers = 0x0225, // updated 6.08
SubmarineExplorationResult = 0x00C9, // updated 6.08
SubmarineProgressionStatus = 0x0092, // updated 6.08
SubmarineStatusList = 0x0212, // updated 6.08
SubmarineTimers = 0x0346, // updated 6.08
};
/**
* Client IPC Zone Type Codes.
*/
enum ClientZoneIpcType : uint16_t
{
PingHandler = 0x0315, // updated 6.08
InitHandler = 0x0068, // updated 6.08
FinishLoadingHandler = 0x0182, // updated 6.08
CFCommenceHandler = 0x0381, // updated 5.58 hotfix
CFCancelHandler = 0x02B2, // updated 5.58 hotfix
CFRegisterDuty = 0x01BD, // updated 5.58 hotfix
CFRegisterRoulette = 0x037A, // updated 5.58 hotfix
PlayTimeHandler = 0x0279, // updated 6.08
LogoutHandler = 0x0125, // updated 6.08
CancelLogout = 0x01AC, // updated 5.58 hotfix
CFDutyInfoHandler = 0xF078, // updated 4.2
SocialReqSendHandler = 0x00D7, // updated 5.58 hotfix
SocialResponseHandler = 0x0193, // updated 6.08
CreateCrossWorldLS = 0x035D, // updated 5.58 hotfix
ChatHandler = 0x01C8, // updated 6.08
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 = 0x012A, // updated 6.08
SetSearchInfoHandler = 0x02BB, // updated 6.08
ReqSearchInfoHandler = 0x014F, // updated 5.58 hotfix
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
ReqRemovePlayerFromBlacklist = 0x00B4, // updated 5.58 hotfix
BlackListHandler = 0x019E, // updated 6.08
PlayerSearchHandler = 0x037D, // updated 5.58 hotfix
LinkshellListHandler = 0x010C, // updated 6.08
MarketBoardRequestItemListingInfo = 0x00F4, // updated 5.58 hotfix
MarketBoardRequestItemListings = 0x0122, // updated 5.58 hotfix
MarketBoardSearch = 0x0082, // updated 5.58 hotfix
ReqExamineFcInfo = 0x037B, // updated 5.58 hotfix
FcInfoReqHandler = 0x03D4, // updated 5.58 hotfix
FreeCompanyUpdateShortMessageHandler = 0x0123, // added 5.0
ReqMarketWishList = 0x00C3, // updated 5.58 hotfix
ReqJoinNoviceNetwork = 0x0129, // updated 4.2
ReqCountdownInitiate = 0x02EC, // updated 5.58 hotfix
ReqCountdownCancel = 0x0068, // updated 5.58 hotfix
ZoneLineHandler = 0x00C3, // updated 5.58 hotfix
ClientTrigger = 0x02F1, // updated 6.08
DiscoveryHandler = 0x00D9, // updated 6.08
PlaceFieldMarkerPreset = 0x01FE, // updated 6.08
PlaceFieldMarker = 0x0067, // updated 6.08
SkillHandler = 0x008E, // updated 6.08
GMCommand1 = 0x0290, // updated 6.08
GMCommand2 = 0x0203, // updated 6.08
AoESkillHandler = 0x0152, // updated 5.58 hotfix
UpdatePositionHandler = 0x0147, // updated 6.08
InventoryModifyHandler = 0x0154, // updated 6.08
InventoryEquipRecommendedItems = 0x01C9, // updated 5.58 hotfix
ReqPlaceHousingItem = 0x0192, // updated 6.08
BuildPresetHandler = 0x0223, // updated 5.58 hotfix
TalkEventHandler = 0x036B, // updated 6.08
EmoteEventHandler = 0x00B0, // updated 5.58 hotfix
WithinRangeEventHandler = 0x02B6, // updated 5.58 hotfix
OutOfRangeEventHandler = 0x03C5, // updated 5.58 hotfix
EnterTeriEventHandler = 0x03AB, // updated 6.08
ShopEventHandler = 0x0384, // updated 5.58 hotfix
ReturnEventHandler = 0x008D, // updated 6.08
TradeReturnEventHandler = 0x0116, // updated 6.08
TradeReturnEventHandler2 = 0x0388, // updated 6.08
EventYield2Handler = 0x021D, // updated 5.58 hotfix
EventYield16Handler = 0x0213, // updated 6.08
LinkshellEventHandler = 0x016B, // updated 4.5
LinkshellEventHandler1 = 0x016C, // updated 4.5
ReqEquipDisplayFlagsChange = 0x0252, // updated 6.08
LandRenameHandler = 0x028E, // updated 5.58 hotfix
HousingUpdateHouseGreeting = 0x0343, // updated 5.58 hotfix
HousingUpdateObjectPosition = 0x012C, // updated 5.58 hotfix
HousingEditExterior = 0x03B6, // updated 6.08
HousingEditInterior = 0x0249, // updated 6.08
SetSharedEstateSettings = 0x00D2, // updated 5.58 hotfix
UpdatePositionInstance = 0x0209, // updated 6.08
PerformNoteHandler = 0x0243, // updated 5.58 hotfix
WorldInteractionHandler = 0x0274, // updated 5.58 hotfix
Dive = 0x0320, // updated 5.58 hotfix
};
////////////////////////////////////////////////////////////////////////////////
/// 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*/