1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-25 14:07:46 +00:00

Update 5.18 opcodes and packets.

This commit is contained in:
collett 2020-01-01 22:05:49 +09:00
parent 537d6e6ff0
commit b93dbbbaca
3 changed files with 128 additions and 112 deletions

View file

@ -45,27 +45,27 @@ namespace Sapphire::Network::Packets
{
// static opcode ( the ones that rarely, if ever, change )
Ping = 0x0065,
Init = 0x0066,
Ping = 0x0200, // updated 5.18
Init = 0x018E,
ActorFreeSpawn = 0x0249, // updated 5.11
InitZone = 0x01D8, // updated 5.11
ActorFreeSpawn = 0x009B, // updated 5.18
InitZone = 0x007C, // updated 5.18
EffectResult = 0x00B9, // updated 5.11
ActorControl = 0x008D, // updated 5.11
ActorControlSelf = 0x00EB, // updated 5.11
ActorControlTarget = 0x01F5, // updated 5.11
EffectResult = 0x0267, // updated 5.18
ActorControl = 0x03BE, // updated 5.18
ActorControlSelf = 0x00E3, // updated 5.18
ActorControlTarget = 0x24d, // updated 5.18
/*!
* @brief Used when resting
*/
UpdateHpMpTp = 0x012D, // updated 5.11
UpdateHpMpTp = 0x0125, // updated 5.18
///////////////////////////////////////////////////
ChatBanned = 0x006B,
Playtime = 0x01DB, // updated 5.1
Logout = 0x011D, // updated 5.1
Playtime = 0x00E7, // updated 5.18
Logout = 0x142, // updated 5.18
CFNotify = 0x0078,
CFMemberStatus = 0x0079,
CFDutyInfo = 0x007A,
@ -79,29 +79,29 @@ namespace Sapphire::Network::Packets
LogMessage = 0x00D0,
Chat = 0x02DC, // updated 5.1
Chat = 0x02A3, // updated 5.18
WorldVisitList = 0x00FE, // added 4.5
SocialList = 0x007A, // updated 5.1
SocialList = 0x01F1, // updated 5.18
ExamineSearchInfo = 0x03D7, // updated 5.1
UpdateSearchInfo = 0x0358, // updated 5.1
InitSearchInfo = 0x03A1, // updated 5.1
ExamineSearchInfo = 0x012B, // updated 5.18
UpdateSearchInfo = 0x01E5, // updated 5.18
InitSearchInfo = 0x01D0, // updated 5.18
ExamineSearchComment = 0x0102, // updated 4.1
ServerNoticeShort = 0x0115, // updated 5.0
ServerNotice = 0x0116, // updated 5.0
ServerNotice = 0x0088, // updated 5.18
SetOnlineStatus = 0x015E, // updated 5.1
CountdownInitiate = 0x0309, // updated 5.11
CountdownCancel = 0x013C, // updated 5.11
CountdownCancel = 0x00D9, // updated 5.18
PlayerAddedToBlacklist = 0x033F, // updated 5.1
PlayerRemovedFromBlacklist = 0x0385, // updated 5.1
BlackList = 0x031F, // updated 5.1
BlackList = 0x0253, // updated 5.18
LinkshellList = 0x012A, // updated 5.0
LinkshellList = 0x00AC, // updated 5.18
MailDeleteRequest = 0x012B, // updated 5.0
@ -110,12 +110,12 @@ namespace Sapphire::Network::Packets
ReqMoogleMailLetter = 0x0139, // updated 5.0
MailLetterNotification = 0x013A, // updated 5.0
MarketTaxRates = 0x039F, // updated 5.11
MarketTaxRates = 0x025E, // updated 5.18
MarketBoardItemListingCount = 0x00F2, // updated 5.11
MarketBoardItemListing = 0x01E2, // updated 5.11
MarketBoardItemListingHistory = 0x0123, // updated 5.11
MarketBoardSearchResult = 0x00B7, // updated 5.11
MarketBoardItemListingCount = 0x0328, // updated 5.18
MarketBoardItemListing = 0x015F, // updated 5.18
MarketBoardItemListingHistory = 0x0113, // updated 5.18
MarketBoardSearchResult = 0x01EA, // updated 5.18
CharaFreeCompanyTag = 0x013B, // updated 4.5
FreeCompanyBoardMsg = 0x013C, // updated 4.5
@ -124,83 +124,86 @@ namespace Sapphire::Network::Packets
FreeCompanyUpdateShortMessage = 0x0157, // added 5.0
StatusEffectList = 0x0399, // updated 5.11
EurekaStatusEffectList = 0x01C2, // updated 5.11
BossStatusEffectList = 0x00E6, // added 5.1
Effect = 0x0165, // updated 5.11
AoeEffect8 = 0x00E9, // updated 5.11
AoeEffect16 = 0x007F, // updated 5.11
AoeEffect24 = 0x0299, // updated 5.11
AoeEffect32 = 0x01DF, // updated 5.11
PersistantEffect = 0x0165, // updated 5.0
StatusEffectList = 0x0183, // updated 5.18
EurekaStatusEffectList = 0x0167, // updated 5.18
BossStatusEffectList = 0x0312, // added 5.1
Effect = 0x026B, // updated 5.18
AoeEffect8 = 0x033E, // updated 5.18
AoeEffect16 = 0x0305, // updated 5.18
AoeEffect24 = 0x023F, // updated 5.18
AoeEffect32 = 0x0352, // updated 5.18
PersistantEffect = 0x019C, // updated 5.18
GCAffiliation = 0x016F, // updated 5.0
PlayerSpawn = 0x0243, // updated 5.11
NpcSpawn = 0x021B, // updated 5.11
NpcSpawn2 = 0x0137, // ( Bigger statuseffectlist? ) updated 5.11
ActorMove = 0x00DD, // updated 5.11
PlayerSpawn = 0x0262, // updated 5.18
NpcSpawn = 0x0186, // updated 5.18
NpcSpawn2 = 0x010C, // ( Bigger statuseffectlist? ) updated 5.18
ActorMove = 0x021B, // updated 5.18
ActorSetPos = 0x0092, // updated 5.11
ActorSetPos = 0x0068, // updated 5.18
ActorCast = 0x028E, // updated 5.11
SomeCustomiseChangePacketProbably = 0x0187, // added 5.0
ActorCast = 0x03B1, // updated 5.18
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
PartyList = 0x022B, // updated 5.11
HateRank = 0x00B8, // updated 5.11
HateList = 0x03C5, // updated 5.11
ObjectSpawn = 0x02A0, // updated 5.11
ObjectDespawn = 0x036B, // updated 5.11
UpdateClassInfo = 0x00FC, // updated 5.11
PartyList = 0x0287, // updated 5.18
HateRank = 0x0226, // updated 5.18
HateList = 0x0361, // updated 5.18
ObjectSpawn = 0x027F, // updated 5.18
ObjectDespawn = 0x034B, // updated 5.18
UpdateClassInfo = 0x0362, // updated 5.18
SilentSetClassJob = 0x018E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything
PlayerSetup = 0x01A1, // updated 5.11
PlayerStats = 0x0324, // updated 5.11
PlayerSetup = 0x0295, // updated 5.18
PlayerStats = 0x017A, // updated 5.18
ActorOwner = 0x0322, // updated 5.11
PlayerStateFlags = 0x019F, // updated 5.1
PlayerClassInfo = 0x02D4, // updated 5.1
PlayerStateFlags = 0x02C6, // updated 5.18
PlayerClassInfo = 0x01B0, // updated 5.18
ModelEquip = 0x0170, // updated 5.11
Examine = 0x00EA, // updated 5.1
CharaNameReq = 0x006C, // updated 5.11
Examine = 0x0366, // updated 5.18
CharaNameReq = 0x0116, // updated 5.18
// nb: see #565 on github
UpdateRetainerItemSalePrice = 0x019F, // updated 5.0
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
ItemInfo = 0x01D4, // updated 5.11
ContainerInfo = 0x0145, // updated 5.1
ItemInfo = 0x00F2, // updated 5.18
ContainerInfo = 0x01F2, // updated 5.18
InventoryTransactionFinish = 0x01AB, // updated 5.1
InventoryTransaction = 0x023E, // updated 5.1
CurrencyCrystalInfo = 0x02CA, // updated 5.11
CurrencyCrystalInfo = 0x02BF, // updated 5.18
InventoryActionAck = 0x0084, // updated 5.1
UpdateInventorySlot = 0x0112, // updated 5.11
UpdateInventorySlot = 0x0370, // updated 5.18
HuntingLogEntry = 0x01B3, // updated 5.0
EventPlay = 0x0386, // updated 5.11
EventPlay = 0x0279, // updated 5.18
DirectorPlayScene = 0x01B9, // updated 5.0
EventOpenGilShop = 0x01BC, // updated 5.0
EventOpenGilShop = 0x01B1, // updated 5.18
EventStart = 0x00C9, // updated 5.11
EventFinish = 0x0387, // updated 5.11
EventStart = 0x0230, // updated 5.18
EventFinish = 0x01E4, // updated 5.18
EventUnk0 = 0x02F7, // updated 5.18
EventUnk1 = 0x0100, // updated 5.18
UseMooch = 0x0233, // updated 5.18
EventLinkshell = 0x1169,
QuestActiveList = 0x01D2, // updated 5.0
QuestUpdate = 0x01D3, // updated 5.0
QuestCompleteList = 0x01D4, // updated 5.0
QuestActiveList = 0x031E, // updated 5.18
QuestUpdate = 0x0066, // updated 5.18
QuestCompleteList = 0x025D, // updated 5.18
QuestFinish = 0x01D5, // updated 5.0
QuestFinish = 0x013A, // updated 5.18
MSQTrackerComplete = 0x01D6, // updated 5.0
MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474
QuestMessage = 0x01DE, // updated 5.0
QuestMessage = 0x00BF, // updated 5.18
QuestTracker = 0x01E3, // updated 5.0
QuestTracker = 0x0289, // updated 5.18
Mount = 0x01F3, // updated 5.0
Mount = 0x02F0, // updated 5.18
DirectorVars = 0x01F5, // updated 5.0
DirectorPopUp = 0x0200, // updated 5.0 - display dialogue pop-ups in duties and FATEs, for example, Teraflare's countdown
@ -209,11 +212,11 @@ namespace Sapphire::Network::Packets
WeatherChange = 0x02FB, // updated 5.11
PlayerTitleList = 0x037D, // updated 5.1
Discovery = 0x0094, // updated 5.1
Discovery = 0x02E7, // updated 5.18
EorzeaTimeOffset = 0x03B8, // updated 5.1
EquipDisplayFlags = 0x011D, // updated 5.11
EquipDisplayFlags = 0x00FF, // updated 5.18
/// Housing //////////////////////////////////////
@ -226,7 +229,7 @@ namespace Sapphire::Network::Packets
LandRename = 0x023A, // updated 5.0
HousingEstateGreeting = 0x023B, // updated 5.0
HousingUpdateLandFlagsSlot = 0x023C, // updated 5.0
HousingLandFlags = 0x023D, // updated 5.0
HousingLandFlags = 0x01F3, // updated 5.18
HousingShowEstateGuestAccess = 0x023E, // updated 5.0
HousingObjectInitialize = 0x0240, // updated 5.0
@ -247,11 +250,11 @@ namespace Sapphire::Network::Packets
PerformNote = 0x0286, // updated 4.3
PrepareZoning = 0x02A4, // updated 5.0
ActorGauge = 0x0292, // updated 4.3
ActorGauge = 0x016D, // updated 5.18
// daily quest info -> without them sent, login will take longer...
DailyQuests = 0x02B6, // updated 5.1
DailyQuestRepeatFlags = 0x0124, // updated 5.1
DailyQuests = 0x02D8, // updated 5.18
DailyQuestRepeatFlags = 0x03A3, // updated 5.18
/// Doman Mahjong //////////////////////////////////////
MahjongOpenGui = 0x02A4, // only available in mahjong instance
@ -272,10 +275,10 @@ namespace Sapphire::Network::Packets
enum ClientZoneIpcType : uint16_t
{
PingHandler = 0x0065, // unchanged 5.0
InitHandler = 0x03D2, // updated 5.1
PingHandler = 0x0200, // updated 5.18
InitHandler = 0x018E, // updated 5.18
FinishLoadingHandler = 0x01DC, // updated 5.1
FinishLoadingHandler = 0x01F5, // updated 5.18
CFCommenceHandler = 0x006F,
@ -283,7 +286,7 @@ namespace Sapphire::Network::Packets
CFRegisterDuty = 0x0071,
CFRegisterRoulette = 0x0072,
PlayTimeHandler = 0x0276, // updated 5.1
LogoutHandler = 0x02D6, // updated 5.1
LogoutHandler = 0x015D, // updated 5.18
CancelLogout = 0x008F, // updated 5.1
CFDutyInfoHandler = 0x0078, // updated 4.2
@ -291,18 +294,18 @@ namespace Sapphire::Network::Packets
SocialReqSendHandler = 0x00AE, // updated 4.1
CreateCrossWorldLS = 0x00AF, // updated 4.3
ChatHandler = 0x02FF, // updated 5.1
ChatHandler = 0x0130, // updated 5.18
SocialListHandler = 0x01F6, // updated 5.1
SetSearchInfoHandler = 0x00E4, // updated 5.0
ReqSearchInfoHandler = 0x024D, // updated 5.1
SocialListHandler = 0x0090, // updated 5.18
SetSearchInfoHandler = 0x0320, // updated 5.18
ReqSearchInfoHandler = 0x0374, // updated 5.18
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
ReqRemovePlayerFromBlacklist = 0x00F1, // updated 5.0
BlackListHandler = 0x0167, // updated 5.1
BlackListHandler = 0x01EB, // updated 5.18
PlayerSearchHandler = 0x00F4, // updated 5.0
LinkshellListHandler = 0x00D3, // updated 5.1
LinkshellListHandler = 0x014A, // updated 5.18
MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5
MarketBoardRequestItemListings = 0x0103, // updated 4.5
@ -321,40 +324,39 @@ namespace Sapphire::Network::Packets
ReqCountdownInitiate = 0x0135, // updated 5.0
ReqCountdownCancel = 0x0136, // updated 5.0
ZoneLineHandler = 0x02E0, // updated 5.1
ClientTrigger = 0x01F2, // updated 5.11
DiscoveryHandler = 0x0177, // updated 5.1
ZoneLineHandler = 0x0174, // updated 5.18
ClientTrigger = 0x03C0, // updated 5.18
DiscoveryHandler = 0x017B, // updated 5.18
PlaceFieldMarker = 0x013C, // updated 5.0
SkillHandler = 0x013D, // updated 5.0
SkillHandler = 0x01BE, // updated 5.18
GMCommand1 = 0x00A4, // updated 5.1
GMCommand2 = 0x013F, // updated 5.0
AoESkillHandler = 0x140, // updated 5.0
UpdatePositionHandler = 0x01BF, // updated 5.11
UpdatePositionHandler = 0x0318, // updated 5.18
InventoryModifyHandler = 0x029B, // updated 5.11
InventoryModifyHandler = 0x03C5, // updated 5.18
InventoryEquipRecommendedItems = 0x0149, // updated 5.0
ReqPlaceHousingItem = 0x014B, // updated 5.0
BuildPresetHandler = 0x014F, // updated 5.0
TalkEventHandler = 0x0151, // updated 5.0
EmoteEventHandler = 0x0152, // updated 5.0
WithinRangeEventHandler = 0x0165, // updated 5.11
OutOfRangeEventHandler = 0x0154, // updated 5.0
EnterTeriEventHandler = 0x0155, // updated 5.0
TalkEventHandler = 0x02FD, // updated 5.18
EmoteEventHandler = 0x0183, // updated 5.18
WithinRangeEventHandler = 0x0167, // updated 5.18
OutOfRangeEventHandler = 0x02B5, // updated 5.18
EnterTeriEventHandler = 0x0267, // updated 5.18
ShopEventHandler = 0x0156, // updated 5.0
ReturnEventHandler = 0x015A, // updated 5.0?
TradeReturnEventHandler = 0x015B, // updated 5.0?
ReturnEventHandler = 0x026B, // updated 5.18
TradeReturnEventHandler = 0x02DD, // updated 5.18
LinkshellEventHandler = 0x016B, // updated 4.5
LinkshellEventHandler1 = 0x016C, // updated 4.5
ReqEquipDisplayFlagsChange = 0x0175, // updated 5.0
ReqEquipDisplayFlagsChange = 0x01FE, // updated 5.18
LandRenameHandler = 0xF177, // updated 5.0
HousingUpdateHouseGreeting = 0x0178, // updated 5.0
@ -366,8 +368,6 @@ namespace Sapphire::Network::Packets
PerformNoteHandler = 0x029B, // updated 4.3
};
////////////////////////////////////////////////////////////////////////////////

View file

@ -244,6 +244,7 @@ namespace Sapphire::Network::Packets::Server
uint8_t rank;
uint16_t padding;
uint8_t lsName[20];
uint8_t unk[16];
} entry[8];
};
@ -440,15 +441,25 @@ namespace Sapphire::Network::Packets::Server
{
uint32_t unknown;
uint32_t actor_id;
uint8_t unknown1;
uint8_t unknown2;
uint16_t padding1;
//uint8_t unknown1;
//uint8_t unknown2;
//uint16_t padding1;
//uint32_t current_hp;
//uint16_t current_mp;
//uint16_t current_tp;
//uint32_t max_hp;
//uint16_t max_mp;
//uint16_t max_something;
uint32_t current_hp;
uint16_t current_mp;
uint16_t current_tp;
uint32_t max_hp;
uint16_t current_mp;
uint16_t unknown1;
uint16_t max_mp;
uint16_t max_something;
uint8_t unknown2;
uint8_t classId;
uint8_t unknown4;
uint8_t unkFlag;
uint16_t unknown6;
struct StatusEntry
{
@ -461,7 +472,7 @@ namespace Sapphire::Network::Packets::Server
uint32_t sourceActorId;
} statusEntries[4];
uint32_t unknown4;
uint32_t unknown7;
};
/**
@ -930,8 +941,10 @@ namespace Sapphire::Network::Packets::Server
uint32_t unknown10;
uint32_t unknown11;
uint32_t unknown12[4];
uint32_t unknown13[3];
Common::FFXIVARR_POSITION3 pos;
uint32_t unknown13;
uint32_t unknown14[3];
uint32_t unknown15;
};
@ -1028,6 +1041,7 @@ namespace Sapphire::Network::Packets::Server
unsigned char companionHealRank;
unsigned char u19[2];
unsigned char mountGuideMask[19];
uint8_t unk1[9];
char name[32];
unsigned char unknownOword[16];
unsigned char unknownOw;
@ -1496,7 +1510,7 @@ namespace Sapphire::Network::Packets::Server
struct FFXIVIpcQuestCompleteList : FFXIVIpcBasePacket< QuestCompleteList >
{
uint8_t questCompleteMask[480];
uint8_t unknownCompleteMask[32];
uint8_t unknownCompleteMask[80];
};
/**

View file

@ -523,11 +523,13 @@ void Sapphire::Entity::Chara::addStatusEffect( StatusEffect::StatusEffectPtr pEf
statusEffectAdd->data().actor_id = pEffect->getTargetActorId();
statusEffectAdd->data().current_hp = getHp();
statusEffectAdd->data().current_mp = getMp();
statusEffectAdd->data().current_tp = getTp();
//statusEffectAdd->data().current_tp = getTp();
statusEffectAdd->data().max_hp = getMaxHp();
statusEffectAdd->data().max_mp = getMaxMp();
statusEffectAdd->data().max_something = 1;
//statusEffectAdd->data().max_something = 1;
//statusEffectAdd->data().unknown2 = 28;
statusEffectAdd->data().classId = static_cast< uint8_t >(getClass());
statusEffectAdd->data().unkFlag = 1;
auto& status = statusEffectAdd->data().statusEntries[0];