mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-25 11:07:45 +00:00
Messy folder that is able to log in to 6.08. DO NOT merge this into any
other fork this is just a mess to be able to work with as a base. Thank you.
This commit is contained in:
parent
b46e7c2708
commit
109dc82ca0
12 changed files with 1415 additions and 688 deletions
|
@ -23,7 +23,7 @@ namespace Sapphire::Common
|
|||
const uint64_t INVALID_GAME_OBJECT_ID64 = 0xE0000000;
|
||||
|
||||
const uint16_t MAX_PLAYER_LEVEL = 80;
|
||||
const uint8_t CURRENT_EXPANSION_ID = 3;
|
||||
const uint8_t CURRENT_EXPANSION_ID = 4;
|
||||
|
||||
const uint8_t CLASSJOB_TOTAL = 38;
|
||||
const uint8_t CLASSJOB_SLOTS = 30;
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -43,67 +43,67 @@ namespace Sapphire::Network::Packets
|
|||
*/
|
||||
enum ServerZoneIpcType : uint16_t
|
||||
{
|
||||
Ping = 0x02CB, // updated 5.58
|
||||
Init = 0x02A8, // updated 5.58
|
||||
Ping = 0x02A8, // updated 5.58 hotfix
|
||||
Init = 0x0182, // updated 5.58 hotfix
|
||||
|
||||
ActorFreeSpawn = 0x0210, // updated 5.58
|
||||
InitZone = 0x0100, // updated 5.58
|
||||
ActorFreeSpawn = 0x0082, // updated 6.08
|
||||
InitZone = 0x01EB, // updated 6.08
|
||||
|
||||
EffectResult = 0x0151, // updated 5.58
|
||||
ActorControl = 0x0264, // updated 5.58
|
||||
ActorControlSelf = 0x0314, // updated 5.58
|
||||
ActorControlTarget = 0x00FC, // updated 5.58
|
||||
EffectResult = 0x0387, // updated 5.58 hotfix
|
||||
ActorControl = 0x022F, // updated 6.08
|
||||
ActorControlSelf = 0x006B, // updated 6.08
|
||||
ActorControlTarget = 0x0191, // updated 6.08
|
||||
|
||||
/*!
|
||||
* @brief Used when resting
|
||||
*/
|
||||
UpdateHpMpTp = 0x039B, // updated 5.58
|
||||
UpdateHpMpTp = 0x02C9, // updated 6.08
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
|
||||
ChatBanned = 0xF06B,
|
||||
Playtime = 0x02BE, // updated 5.58
|
||||
Logout = 0x0297, // updated 5.58
|
||||
CFNotify = 0x01AC, // updated 5.58
|
||||
Playtime = 0x00CE, // updated 6.08
|
||||
Logout = 0x03B2, // updated 6.08
|
||||
CFNotify = 0x01C5, // updated 6.08
|
||||
CFMemberStatus = 0x0079,
|
||||
CFDutyInfo = 0x0083, // updated 5.58
|
||||
CFDutyInfo = 0x0188, // updated 6.08
|
||||
CFPlayerInNeed = 0xF07F,
|
||||
CFPreferredRole = 0x02FB, // updated 5.58
|
||||
CFCancel = 0x0135, // updated 5.58
|
||||
CFPreferredRole = 0x02DA, // updated 6.08
|
||||
CFCancel = 0x00EB, // updated 6.08
|
||||
SocialRequestError = 0xF0AD,
|
||||
|
||||
CFRegistered = 0x037E, // updated 5.58
|
||||
SocialRequestResponse = 0x0254, // updated 5.58
|
||||
SocialMessage = 0x02F2, // updated 5.58
|
||||
SocialMessage2 = 0x017A, // updated 5.58
|
||||
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 = 0x020F, // updated 5.58
|
||||
LogMessage = 0x0142, // updated 6.08
|
||||
|
||||
Chat = 0x0220, // updated 5.58
|
||||
Chat = 0x0148, // updated 56.08
|
||||
PartyChat = 0x0065,
|
||||
|
||||
WorldVisitList = 0xF0FE, // added 4.5
|
||||
|
||||
SocialList = 0x0396, // updated 5.58
|
||||
SocialList = 0x039C, // updated 6.08
|
||||
|
||||
ExamineSearchInfo = 0x031F, // updated 5.58
|
||||
UpdateSearchInfo = 0x0219, // updated 5.58
|
||||
InitSearchInfo = 0x01A0, // updated 5.58
|
||||
ExamineSearchComment = 0x0315, // updated 5.58
|
||||
ExamineSearchInfo = 0x0297, // updated 6.08
|
||||
UpdateSearchInfo = 0x03D1, // updated 6.08
|
||||
InitSearchInfo = 0x01BB, // updated 6.08
|
||||
ExamineSearchComment = 0x02AE, // updated 6.08
|
||||
|
||||
ServerNoticeShort = 0x0211, // updated 5.58
|
||||
ServerNotice = 0x03B9, // updated 5.58
|
||||
SetOnlineStatus = 0x0163, // updated 5.58
|
||||
ServerNoticeShort = 0x01D7, // updated 6.08
|
||||
ServerNotice = 0x036E, // updated 6.08
|
||||
SetOnlineStatus = 0x0308, // updated 6.08
|
||||
|
||||
CountdownInitiate = 0x01F9, // updated 5.58
|
||||
CountdownCancel = 0x0206, // updated 5.58
|
||||
CountdownInitiate = 0x00E1, // updated 6.08
|
||||
CountdownCancel = 0x0284, // updated 6.08
|
||||
|
||||
PlayerAddedToBlacklist = 0x01FE, // updated 5.58
|
||||
PlayerRemovedFromBlacklist = 0x02D6, // updated 5.58
|
||||
BlackList = 0x028A, // updated 5.58
|
||||
PlayerAddedToBlacklist = 0x037D, // updated 6.08
|
||||
PlayerRemovedFromBlacklist = 0x0342, // updated 6.08
|
||||
BlackList = 0x0070, // updated 6.08
|
||||
|
||||
LinkshellList = 0x02DD, // updated 5.58
|
||||
LinkshellList = 0x0304, // updated 6.08
|
||||
|
||||
MailDeleteRequest = 0xF12B, // updated 5.0
|
||||
|
||||
|
@ -114,173 +114,183 @@ namespace Sapphire::Network::Packets
|
|||
|
||||
MarketTaxRates = 0x01F8, // updated 5.35 hotfix
|
||||
|
||||
MarketBoardSearchResult = 0x0355, // updated 5.58
|
||||
MarketBoardItemListingCount = 0x0275, // updated 5.58
|
||||
MarketBoardItemListingHistory = 0x0112, // updated 5.58
|
||||
MarketBoardItemListing = 0x00F5, // updated 5.58
|
||||
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 = 0x028D, // updated 5.58
|
||||
FreeCompanyInfo = 0x0346, // updated 5.58
|
||||
ExamineFreeCompanyInfo = 0x00B7, // updated 5.58
|
||||
FreeCompanyBoardMsg = 0x02F1, // updated 6.08
|
||||
FreeCompanyInfo = 0x01A2, // updated 6.08
|
||||
ExamineFreeCompanyInfo = 0x011E, // updated 6.08
|
||||
|
||||
FreeCompanyUpdateShortMessage = 0xF157, // added 5.0
|
||||
|
||||
StatusEffectList = 0x01C5, // updated 5.58
|
||||
StatusEffectList = 0x00BC, // updated 6.08
|
||||
EurekaStatusEffectList = 0x0167, // updated 5.18
|
||||
BossStatusEffectList = 0x0312, // added 5.1
|
||||
Effect = 0x0102, // updated 5.58
|
||||
AoeEffect8 = 0x0345, // updated 5.58
|
||||
AoeEffect16 = 0x02B6, // updated 5.58
|
||||
AoeEffect24 = 0x0298, // updated 5.58
|
||||
AoeEffect32 = 0x03A4, // updated 5.58
|
||||
PersistantEffect = 0x008D, // updated 5.58
|
||||
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 = 0x02B1, // updated 5.58
|
||||
GCAffiliation = 0x0264, // updated 6.08
|
||||
|
||||
PlayerSpawn = 0x0249, // updated 5.58
|
||||
NpcSpawn = 0x014B, // updated 5.58
|
||||
PlayerSpawn = 0x0226, // updated 6.08
|
||||
NpcSpawn = 0x032C, // updated 6.08
|
||||
NpcSpawn2 = 0x01CB, // ( Bigger statuseffectlist? ) updated 5.3
|
||||
ActorMove = 0x023D, // updated 5.58
|
||||
ActorMove = 0x0370, // updated 6.08
|
||||
|
||||
ActorSetPos = 0x0280, // updated 5.58
|
||||
ActorSetPos = 0x0395, // updated 6.08
|
||||
|
||||
ActorCast = 0x02A7, // updated 5.58
|
||||
ActorCast = 0x0104, // updated 6.08
|
||||
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
|
||||
|
||||
PartyList = 0x02BD, // updated 5.58
|
||||
PartyMessage = 0x0318, // updated 5.58
|
||||
HateRank = 0x02C0, // updated 5.58
|
||||
HateList = 0x01B4, // updated 5.58
|
||||
ObjectSpawn = 0x0104, // updated 5.58
|
||||
ObjectDespawn = 0x030D, // updated 5.58
|
||||
UpdateClassInfo = 0x0198, // updated 5.58
|
||||
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 = 0x0296, // updated 5.58
|
||||
PlayerStats = 0x00D5, // updated 5.58
|
||||
ActorOwner = 0x00AE, // updated 5.58
|
||||
PlayerStateFlags = 0x022A, // updated 5.58
|
||||
PlayerClassInfo = 0x02DF, // updated 5.58
|
||||
CharaVisualEffect = 0x0134, // updated 5.58
|
||||
PlayerSetup = 0x02C7, // updated 6.08
|
||||
PlayerStats = 0x0295, // updated 5.58 hotfix
|
||||
ActorOwner = 0x0261, // updated 6.08
|
||||
PlayerStateFlags = 0x03CF, // updated 6.08 (or 0x00CB)
|
||||
PlayerClassInfo = 0x025A, // updated 6.08
|
||||
CharaVisualEffect = 0x01D1, // updated 6.08
|
||||
|
||||
ModelEquip = 0x0312, // updated 5.58
|
||||
Examine = 0x00D3, // updated 5.58
|
||||
CharaNameReq = 0x031C, // updated 5.58
|
||||
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 = 0x01D3, // updated 5.58
|
||||
RetainerInformation = 0x0069, // updated 5.58
|
||||
RetainerSaleHistory = 0x0066, // updated 6.08
|
||||
RetainerInformation = 0x022F, // updated 5.58 hotfix
|
||||
|
||||
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
|
||||
|
||||
ItemInfo = 0x00A7, // updated 5.58
|
||||
ContainerInfo = 0x0208, // updated 5.58
|
||||
InventoryTransactionFinish = 0x01A3, // updated 5.58
|
||||
InventoryTransaction = 0x03AC, // updated 5.58
|
||||
CurrencyCrystalInfo = 0x0394, // updated 5.58
|
||||
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
|
||||
|
||||
InventoryActionAck = 0x0305, // updated 5.58
|
||||
UpdateInventorySlot = 0x0200, // updated 5.58
|
||||
InventoryActionAck = 0x008A, // updated 6.08
|
||||
UpdateInventorySlot = 0x0375, // updated 6.08
|
||||
|
||||
HuntingLogEntry = 0x00C5, // updated 5.58
|
||||
HuntingLogEntry = 0x0187, // updated 6.08
|
||||
|
||||
EventPlay = 0x01EF, // updated 5.58
|
||||
EventPlay4 = 0x021C, // updated 5.58
|
||||
EventPlay8 = 0x0337, // updated 5.58
|
||||
EventPlay16 = 0x0319, // updated 5.58
|
||||
EventPlay32 = 0x01E2, // updated 5.58
|
||||
EventPlay64 = 0x02FD, // updated 5.58
|
||||
EventPlay128 = 0x026E, // updated 5.58
|
||||
EventPlay255 = 0x039E, // updated 5.58
|
||||
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 = 0x0123, // updated 5.58
|
||||
EventContinue = 0x00B6, // updated 5.58 hotfix
|
||||
|
||||
EventStart = 0x01CC, // updated 5.58
|
||||
EventFinish = 0x0180, // updated 5.58
|
||||
EventStart = 0x00AE, // updated 6.08
|
||||
EventFinish = 0x0210, // updated 6.08
|
||||
|
||||
EventLinkshell = 0x1169,
|
||||
|
||||
QuestActiveList = 0x035D, // updated 5.58
|
||||
QuestUpdate = 0x029A, // updated 5.58
|
||||
QuestCompleteList = 0x03C5, // updated 5.58
|
||||
QuestActiveList = 0x03E0, // updated 6.08
|
||||
QuestUpdate = 0x029B, // updated 6.08
|
||||
QuestCompleteList = 0x0118, // updated 6.08
|
||||
|
||||
QuestFinish = 0x0274, // updated 5.58
|
||||
MSQTrackerComplete = 0x01C1, // updated 5.58
|
||||
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 = 0x0128, // updated 5.58
|
||||
QuestMessage = 0x0220, // updated 5.58 hotfix
|
||||
|
||||
QuestTracker = 0x038E, // updated 5.58
|
||||
QuestTracker = 0x01FB, // updated 6.08
|
||||
|
||||
Mount = 0x03C2, // updated 5.58
|
||||
Mount = 0x0373, // updated 6.08
|
||||
|
||||
DirectorVars = 0x01ED, // updated 5.58
|
||||
DirectorVars = 0x0138, // updated 6.08
|
||||
SomeDirectorUnk1 = 0x0084, // updated 5.18
|
||||
SomeDirectorUnk2 = 0xF0C1, // updated 5.18
|
||||
SomeDirectorUnk4 = 0x01BD, // updated 5.58
|
||||
SomeDirectorUnk4 = 0x03DD, // updated 5.58 hotfix
|
||||
SomeDirectorUnk8 = 0x028A, // updated 5.18
|
||||
SomeDirectorUnk16 = 0x028C, // updated 5.18
|
||||
DirectorPopUp = 0x02E3, // updated 5.58
|
||||
DirectorPopUp4 = 0x01DC, // updated 5.58
|
||||
DirectorPopUp8 = 0x011D, // updated 5.58
|
||||
DirectorPopUp = 0x03DF, // updated 5.58 hotfix
|
||||
DirectorPopUp4 = 0x019B, // updated 5.58 hotfix
|
||||
DirectorPopUp8 = 0x0271, // updated 5.58 hotfix
|
||||
|
||||
CFAvailableContents = 0xF1FD, // updated 4.2
|
||||
|
||||
WeatherChange = 0x01B1, // updated 5.58
|
||||
PlayerTitleList = 0x02B4, // updated 5.58
|
||||
Discovery = 0x00B8, // updated 5.58
|
||||
WeatherChange = 0x00ED, // updated 6.08
|
||||
PlayerTitleList = 0x02C2, // updated 6.08
|
||||
Discovery = 0x03A4, // updated 6.08
|
||||
|
||||
EorzeaTimeOffset = 0x03D9, // updated 5.58
|
||||
EorzeaTimeOffset = 0x0074, // updated 6.08
|
||||
|
||||
EquipDisplayFlags = 0x0199, // updated 5.58
|
||||
EquipDisplayFlags = 0x023A, // updated 6.08
|
||||
|
||||
MiniCactpotInit = 0x0286, // added 5.31
|
||||
ShopMessage = 0x00D0, // updated 5.58
|
||||
LootMessage = 0x038C, // updated 5.58
|
||||
ResultDialog = 0x00DF, // updated 5.58
|
||||
DesynthResult = 0x038F, // updated 5.58
|
||||
ShopMessage = 0x0287, // updated 5.58 hotfix
|
||||
LootMessage = 0x006C, // updated 6.08
|
||||
ResultDialog = 0x0273, // updated 5.58 hotfix
|
||||
DesynthResult = 0x0238, // updated 5.58 hotfix
|
||||
|
||||
/// Housing //////////////////////////////////////
|
||||
|
||||
LandSetInitialize = 0x03E3, // updated 5.58
|
||||
LandUpdate = 0x029E, // updated 5.58
|
||||
YardObjectSpawn = 0x0367, // updated 5.58
|
||||
HousingIndoorInitialize = 0x02A6, // updated 5.58
|
||||
LandPriceUpdate = 0x0143, // updated 5.58
|
||||
LandInfoSign = 0x0269, // updated 5.58
|
||||
LandRename = 0x0107, // updated 5.58
|
||||
HousingEstateGreeting = 0x0340, // updated 5.58
|
||||
HousingUpdateLandFlagsSlot = 0x02D2, // updated 5.58
|
||||
HousingLandFlags = 0x0156, // updated 5.58
|
||||
HousingShowEstateGuestAccess = 0x015C, // updated 5.58
|
||||
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 = 0x0245, // updated 5.58
|
||||
HousingInternalObjectSpawn = 0x0194, // updated 5.58
|
||||
HousingObjectInitialize = 0x02DF, // updated 6.08
|
||||
HousingInternalObjectSpawn = 0x01C2, // updated 6.08
|
||||
|
||||
HousingWardInfo = 0x00A4, // updated 5.58
|
||||
HousingObjectMove = 0x01AE, // updated 5.58
|
||||
HousingWardInfo = 0x0145, // updated 6.08
|
||||
HousingObjectMove = 0x0242, // updated 6.08
|
||||
|
||||
SharedEstateSettingsResponse = 0x0378, // updated 5.58
|
||||
SharedEstateSettingsResponse = 0x02F0, // updated 6.08
|
||||
|
||||
LandUpdateHouseName = 0x034B, // updated 5.58
|
||||
LandUpdateHouseName = 0x0132, // updated 6.08
|
||||
|
||||
LandSetMap = 0x02F6, // updated 5.58
|
||||
LandSetMap = 0x008B, // updated 6.08
|
||||
|
||||
CeremonySetActorAppearance = 0x00EB, // updated 5.58
|
||||
CeremonySetActorAppearance = 0x0222, // updated 6.08
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui
|
||||
PerformNote = 0x00BE, // updated 5.58
|
||||
DuelChallenge = 0xF277, // 4.2; this is responsible for opening the ui
|
||||
PerformNote = 0x009B, // updated 6.08
|
||||
|
||||
PrepareZoning = 0x0171, // updated 5.58
|
||||
ActorGauge = 0x0335, // updated 5.58
|
||||
DutyGauge = 0x02F6, // updated 5.58
|
||||
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 = 0x0331, // updated 5.58
|
||||
DailyQuestRepeatFlags = 0x01D1, // updated 5.58
|
||||
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
|
||||
|
@ -295,14 +305,14 @@ namespace Sapphire::Network::Packets
|
|||
MahjongEndGame = 0x02C6, // finished oorasu(all-last) round; shows a result screen.
|
||||
|
||||
/// Airship & Submarine //////////////////////////////////////
|
||||
AirshipExplorationResult = 0x036C, // updated 5.58
|
||||
AirshipStatus = 0x021F, // updated 5.58
|
||||
AirshipStatusList = 0x0073, // updated 5.58
|
||||
AirshipTimers = 0x0250, // updated 5.58
|
||||
SubmarineExplorationResult = 0x01D0, // updated 5.58
|
||||
SubmarineProgressionStatus = 0x0377, // updated 5.58
|
||||
SubmarineStatusList = 0x0338, // updated 5.58
|
||||
SubmarineTimers = 0x0292, // updated 5.58
|
||||
AirshipExplorationResult = 0x023E, // updated 6.08
|
||||
AirshipStatus = 0x01F5, // updated 6.08
|
||||
AirshipStatusList = 0x0250, // updated 6.08
|
||||
AirshipTimers = 0x0225, // updated 6.08
|
||||
SubmarineExplorationResult = 0x0092, // updated 6.08
|
||||
SubmarineProgressionStatus = 0x0357, // updated 5.58 hotfix
|
||||
SubmarineStatusList = 0x0212, // updated 6.08
|
||||
SubmarineTimers = 0x0346, // updated 6.08
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -310,111 +320,110 @@ namespace Sapphire::Network::Packets
|
|||
*/
|
||||
enum ClientZoneIpcType : uint16_t
|
||||
{
|
||||
PingHandler = 0x03A3, // updated 5.58
|
||||
InitHandler = 0x03B3, // updated 5.58
|
||||
PingHandler = 0x0315, // updated 6.08
|
||||
InitHandler = 0x0068, // updated 6.08
|
||||
|
||||
FinishLoadingHandler = 0x0217, // updated 5.58
|
||||
FinishLoadingHandler = 0x0182, // updated 6.08
|
||||
CFCommenceHandler = 0x0381, // updated 5.58 hotfix
|
||||
|
||||
CFCommenceHandler = 0x02A3, // updated 5.58
|
||||
|
||||
CFCancelHandler = 0x00A9, // updated 5.58
|
||||
CFRegisterDuty = 0x036A, // updated 5.58
|
||||
CFRegisterRoulette = 0x038C, // updated 5.58
|
||||
PlayTimeHandler = 0x01A8, // updated 5.58
|
||||
LogoutHandler = 0x02A5, // updated 5.58
|
||||
CancelLogout = 0x03CC, // updated 5.58
|
||||
CFCancelHandler = 0x02B2, // updated 5.58 hotfix
|
||||
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
|
||||
CFDutyInfoHandler = 0xF078, // updated 4.2
|
||||
|
||||
SocialReqSendHandler = 0x0366, // updated 5.58
|
||||
SocialResponseHandler = 0x0311, // updated 5.58
|
||||
CreateCrossWorldLS = 0x0125, // updated 5.58
|
||||
SocialReqSendHandler = 0x00D7, // updated 5.58 hotfix
|
||||
SocialResponseHandler = 0x023B, // updated 5.58 hotfix
|
||||
CreateCrossWorldLS = 0x035D, // updated 5.58 hotfix
|
||||
|
||||
ChatHandler = 0x02F4, // updated 5.58
|
||||
ChatHandler = 0x01C8, // updated 6.08
|
||||
PartyChatHandler = 0x0065,
|
||||
PartySetLeaderHandler = 0x03C2, // updated 5.58
|
||||
LeavePartyHandler = 0x028A, // updated 5.58
|
||||
KickPartyMemberHandler = 0x01D1, // updated 5.58
|
||||
DisbandPartyHandler = 0x032B, // updated 5.58
|
||||
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 = 0x006E, // updated 5.58
|
||||
SetSearchInfoHandler = 0x010A, // updated 5.58
|
||||
ReqSearchInfoHandler = 0x0255, // updated 5.58
|
||||
SocialListHandler = 0x012A, // updated 6.08
|
||||
SetSearchInfoHandler = 0x01D4, // updated 5.58 hotfix
|
||||
ReqSearchInfoHandler = 0x014F, // updated 5.58 hotfix
|
||||
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
|
||||
|
||||
ReqRemovePlayerFromBlacklist = 0x015A, // updated 5.58
|
||||
BlackListHandler = 0x02C5, // updated 5.58
|
||||
PlayerSearchHandler = 0x0259, // updated 5.58
|
||||
ReqRemovePlayerFromBlacklist = 0x00B4, // updated 5.58 hotfix
|
||||
BlackListHandler = 0x019E, // updated 6.08
|
||||
PlayerSearchHandler = 0x037D, // updated 5.58 hotfix
|
||||
|
||||
LinkshellListHandler = 0x01F0, // updated 5.58
|
||||
LinkshellListHandler = 0x010C, // updated 6.08
|
||||
|
||||
MarketBoardRequestItemListingInfo = 0x02D3, // updated 5.58
|
||||
MarketBoardRequestItemListings = 0x00AD, // updated 5.58
|
||||
MarketBoardSearch = 0x00D6, // updated 5.58
|
||||
MarketBoardRequestItemListingInfo = 0x00F4, // updated 5.58 hotfix
|
||||
MarketBoardRequestItemListings = 0x0122, // updated 5.58 hotfix
|
||||
MarketBoardSearch = 0x0082, // updated 5.58 hotfix
|
||||
|
||||
ReqExamineFcInfo = 0x0359, // updated 5.58
|
||||
ReqExamineFcInfo = 0x037B, // updated 5.58 hotfix
|
||||
|
||||
FcInfoReqHandler = 0x0078, // updated 5.58
|
||||
FcInfoReqHandler = 0x03D4, // updated 5.58 hotfix
|
||||
|
||||
FreeCompanyUpdateShortMessageHandler = 0x0123, // added 5.0
|
||||
|
||||
ReqMarketWishList = 0x0364, // updated 5.58
|
||||
ReqMarketWishList = 0x00C3, // updated 5.58 hotfix
|
||||
|
||||
ReqJoinNoviceNetwork = 0x0129, // updated 4.2
|
||||
|
||||
ReqCountdownInitiate = 0x020E, // updated 5.58
|
||||
ReqCountdownCancel = 0x03BE, // updated 5.58
|
||||
ReqCountdownInitiate = 0x02EC, // updated 5.58 hotfix
|
||||
ReqCountdownCancel = 0x0068, // updated 5.58 hotfix
|
||||
|
||||
ZoneLineHandler = 0x00B0, // updated 5.58
|
||||
ClientTrigger = 0x008B, // updated 5.58
|
||||
DiscoveryHandler = 0x01B4, // updated 5.58
|
||||
ZoneLineHandler = 0x008D, // updated 5.58 hotfix
|
||||
ClientTrigger = 0x02F1, // updated 6.08
|
||||
DiscoveryHandler = 0x038B, // updated 5.58 hotfix
|
||||
|
||||
PlaceFieldMarkerPreset = 0x03B0, // updated 5.58
|
||||
PlaceFieldMarker = 0x011A, // updated 5.58
|
||||
SkillHandler = 0x0175, // updated 5.58
|
||||
GMCommand1 = 0x0353, // updated 5.58
|
||||
GMCommand2 = 0x03E7, // updated 5.58
|
||||
AoESkillHandler = 0x021D, // updated 5.58
|
||||
PlaceFieldMarkerPreset = 0x026D, // updated 5.58 hotfix
|
||||
PlaceFieldMarker = 0x0371, // updated 5.58 hotfix
|
||||
SkillHandler = 0x008E, // updated 6.08
|
||||
GMCommand1 = 0x0272, // updated 5.58 hotfix
|
||||
GMCommand2 = 0x00E9, // updated 5.58 hotfix
|
||||
AoESkillHandler = 0x0152, // updated 5.58 hotfix
|
||||
|
||||
UpdatePositionHandler = 0x0212, // updated 5.58
|
||||
UpdatePositionHandler = 0x0147, // updated 6.08
|
||||
|
||||
InventoryModifyHandler = 0x014A, // updated 5.58
|
||||
InventoryModifyHandler = 0x029E, // updated 5.58 hotfix
|
||||
|
||||
InventoryEquipRecommendedItems = 0x01D7, // updated 5.58
|
||||
InventoryEquipRecommendedItems = 0x01C9, // updated 5.58 hotfix
|
||||
|
||||
ReqPlaceHousingItem = 0x0354, // updated 5.58
|
||||
BuildPresetHandler = 0x00DC, // updated 5.58
|
||||
ReqPlaceHousingItem = 0x02D4, // updated 5.58 hotfix
|
||||
BuildPresetHandler = 0x0223, // updated 5.58 hotfix
|
||||
|
||||
TalkEventHandler = 0x012D, // updated 5.58
|
||||
EmoteEventHandler = 0x039E, // updated 5.58
|
||||
WithinRangeEventHandler = 0x022C, // updated 5.58
|
||||
OutOfRangeEventHandler = 0x0294, // updated 5.58
|
||||
EnterTeriEventHandler = 0x00C1, // updated 5.58
|
||||
ShopEventHandler = 0x02B8, // updated 5.58
|
||||
EventYieldHandler = 0x03A2, // updated 5.58
|
||||
ReturnEventHandler = 0x0333, // updated 5.58
|
||||
TradeReturnEventHandler = 0x0179, // updated 5.58
|
||||
TradeReturnEventHandler2 = 0x02E1, // updated 5.58
|
||||
EventYield16Handler = 0x03D7, // updated 5.58
|
||||
TalkEventHandler = 0x0387, // updated 5.58 hotfix
|
||||
EmoteEventHandler = 0x00B0, // updated 5.58 hotfix
|
||||
WithinRangeEventHandler = 0x02B6, // updated 5.58 hotfix
|
||||
OutOfRangeEventHandler = 0x03C5, // updated 5.58 hotfix
|
||||
EnterTeriEventHandler = 0x01A7, // updated 5.58 hotfix
|
||||
ShopEventHandler = 0x0384, // updated 5.58 hotfix
|
||||
ReturnEventHandler = 0x00FA, // updated 5.58 hotfix
|
||||
TradeReturnEventHandler = 0x0339, // updated 5.58 hotfix
|
||||
TradeReturnEventHandler2 = 0x023C, // updated 5.58 hotfix
|
||||
EventYield2Handler = 0x021D, // updated 5.58 hotfix
|
||||
EventYield16Handler = 0x0207, // updated 5.58 hotfix
|
||||
|
||||
LinkshellEventHandler = 0x016B, // updated 4.5
|
||||
LinkshellEventHandler1 = 0x016C, // updated 4.5
|
||||
|
||||
ReqEquipDisplayFlagsChange = 0x01AD, // updated 5.58
|
||||
ReqEquipDisplayFlagsChange = 0x02A5, // updated 5.58 hotfix
|
||||
|
||||
LandRenameHandler = 0x0083, // updated 5.58
|
||||
HousingUpdateHouseGreeting = 0x031A, // updated 5.58
|
||||
HousingUpdateObjectPosition = 0x010E, // updated 5.58
|
||||
HousingEditExterior = 0x0324, // updated 5.58
|
||||
HousingEditInterior = 0x02F7, // updated 5.58
|
||||
LandRenameHandler = 0x028E, // updated 5.58 hotfix
|
||||
HousingUpdateHouseGreeting = 0x0343, // updated 5.58 hotfix
|
||||
HousingUpdateObjectPosition = 0x012C, // updated 5.58 hotfix
|
||||
HousingEditExterior = 0x027B, // updated 5.58 hotfix
|
||||
HousingEditInterior = 0x02E3, // updated 5.58 hotfix
|
||||
|
||||
SetSharedEstateSettings = 0x0342, // updated 5.58
|
||||
SetSharedEstateSettings = 0x00D2, // updated 5.58 hotfix
|
||||
|
||||
UpdatePositionInstance = 0x01A3, // updated 5.58
|
||||
UpdatePositionInstance = 0x00F8, // updated 5.58 hotfix
|
||||
|
||||
PerformNoteHandler = 0x015E, // updated 5.58
|
||||
PerformNoteHandler = 0x0243, // updated 5.58 hotfix
|
||||
|
||||
WorldInteractionHandler = 0x03CE, // updated 5.58
|
||||
Dive = 0x034C, // updated 5.58
|
||||
WorldInteractionHandler = 0x0274, // updated 5.58 hotfix
|
||||
Dive = 0x0320, // updated 5.58 hotfix
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -447,7 +447,7 @@ struct FFXIVIpcHousingEditInterior :
|
|||
};
|
||||
|
||||
struct FFXIVIpcEventYieldHandler :
|
||||
FFXIVIpcBasePacket< EventYieldHandler >
|
||||
FFXIVIpcBasePacket< EventYield2Handler >
|
||||
{
|
||||
uint32_t eventId;
|
||||
uint16_t scene;
|
||||
|
|
|
@ -950,7 +950,7 @@ 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;
|
||||
uint64_t unknown8;
|
||||
unsigned int unknownC;
|
||||
unsigned int charId;
|
||||
unsigned int restedExp;
|
||||
|
@ -960,7 +960,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
unsigned int useBaitCatalogId;
|
||||
unsigned int unknown28;
|
||||
unsigned short unknownPvp2C;
|
||||
unsigned short unknown3;
|
||||
unsigned short unknown2E;
|
||||
unsigned int pvpFrontlineOverallCampaigns;
|
||||
unsigned int unknownTimestamp34;
|
||||
unsigned int unknownTimestamp38;
|
||||
|
@ -985,7 +985,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
unsigned char expansion;
|
||||
unsigned char unknown76;
|
||||
unsigned char unknown77;
|
||||
unsigned char very_unknown;
|
||||
unsigned char unknown78;
|
||||
unsigned char race;
|
||||
unsigned char tribe;
|
||||
unsigned char gender;
|
||||
|
@ -996,7 +996,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
unsigned char namedayDay;
|
||||
unsigned char cityState;
|
||||
unsigned char homepoint;
|
||||
unsigned char unknown82;
|
||||
unsigned char unknown83;
|
||||
unsigned char petHotBar;
|
||||
unsigned char companionRank;
|
||||
unsigned char companionStars;
|
||||
|
@ -1004,117 +1004,97 @@ namespace Sapphire::Network::Packets::Server
|
|||
unsigned char companionUnk86;
|
||||
unsigned char companionColor;
|
||||
unsigned char companionFavoFeed;
|
||||
unsigned char unknown89;
|
||||
unsigned char unknown8A[4];
|
||||
unsigned char favAetheryteCount;
|
||||
unsigned char unknown8C[4];
|
||||
unsigned char hasRelicBook;
|
||||
unsigned char relicBookId;
|
||||
unsigned char unknown90[4];
|
||||
unsigned char sightseeing21to80Unlock;
|
||||
unsigned char sightseeingHeavenswardUnlock;
|
||||
unsigned char unknown94[2];
|
||||
unsigned char craftingMasterMask;
|
||||
unsigned char unknown95[9];
|
||||
unsigned char unknown9F[2];
|
||||
unsigned char unknownA1[6];
|
||||
unsigned char unknown97[9];
|
||||
unsigned char unknownA0[2];
|
||||
unsigned char unknownA2[3];
|
||||
unsigned char unknownA5[3];
|
||||
unsigned int exp[Common::CLASSJOB_SLOTS];
|
||||
unsigned int unknown108;
|
||||
unsigned int pvpTotalExp;
|
||||
unsigned int unknownPvp110;
|
||||
unsigned int unknownPvp124;
|
||||
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 unknown178[8];
|
||||
unsigned short fishingRecordsFishId[30];
|
||||
unsigned short fishingRecordsFishLength[30];
|
||||
unsigned short beastExp[14];
|
||||
unsigned short unknown21C[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 short unknownMask22C[7];
|
||||
unsigned char companionName[21];
|
||||
unsigned char companionDefRank;
|
||||
unsigned char companionAttRank;
|
||||
unsigned char companionHealRank;
|
||||
unsigned char mountGuideMask[29];
|
||||
//==
|
||||
unsigned char unknown26F[4];
|
||||
char name[32];
|
||||
unsigned char unknownOword[16];
|
||||
unsigned char unknownOw;
|
||||
unsigned char unknown293[16];
|
||||
unsigned char unknown2A3;
|
||||
unsigned char unlockBitmask[64];
|
||||
unsigned char aetheryte[21];
|
||||
unsigned char discovery[445];
|
||||
unsigned char howto[34];
|
||||
unsigned char minions[55];
|
||||
unsigned char favoriteAetheryteIds[4];
|
||||
unsigned char freeAetheryteId;
|
||||
unsigned char discovery[464];
|
||||
unsigned char howto[35];
|
||||
unsigned char minions[56];
|
||||
unsigned char chocoboTaxiMask[10];
|
||||
unsigned char watchedCutscenes[137];
|
||||
unsigned char watchedCutscenes[144];
|
||||
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 unknown5D1[4];
|
||||
unsigned char unknownMask5D5[11];
|
||||
unsigned char fishingGuideMask[142];
|
||||
unsigned char fishingSpotVisited[38];
|
||||
unsigned char unknown694[34];
|
||||
unsigned char unknown6B6[7];
|
||||
unsigned char unknownPvp6BD[3];
|
||||
unsigned char beastRank[14];
|
||||
unsigned char unknownPvp6CE[12];
|
||||
unsigned char pose;
|
||||
/*
|
||||
unsigned char unknown5B91;
|
||||
unsigned char challengeLogComplete[9];
|
||||
unsigned char weaponPose;
|
||||
unsigned char unknownMask673[10];
|
||||
unsigned char unknownMask5DD[28];
|
||||
unsigned char pose2[4];
|
||||
unsigned char unknown6DF[3];
|
||||
unsigned char challengeLogComplete[13];
|
||||
unsigned char unknownMask6EF[8];
|
||||
unsigned char unknownMask6F7[31];
|
||||
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 sightseeingMask[37];
|
||||
unsigned char huntingMarkMask[101];
|
||||
unsigned char tripleTriadCards[43];
|
||||
unsigned char unknown7D7;
|
||||
unsigned char unknown7D8[14];
|
||||
unsigned char unknown7E6[36];
|
||||
unsigned char unknown80A[6];
|
||||
unsigned char orchestrionMask[64];
|
||||
unsigned char hallOfNoviceCompletion[3];
|
||||
unsigned char animaCompletion[11];
|
||||
unsigned char unknown5_55c[35];
|
||||
unsigned char unknown85E[16];
|
||||
unsigned char unknown86E[4];
|
||||
unsigned char unknown872[14];
|
||||
unsigned char unknown880;
|
||||
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 unlockedTrials[11];
|
||||
unsigned char unlockedPvp[5];
|
||||
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];
|
||||
//==
|
||||
unsigned char clearedTrials[11];
|
||||
unsigned char clearedPvp[5];
|
||||
unsigned char unknown911[4];
|
||||
unsigned char unknown915[2];
|
||||
unsigned char unknown917[3];
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -239,10 +239,12 @@ public:
|
|||
packetData.actors[0].charId = p1->getId();
|
||||
packetData.actors[0].guardianDeity = p1->getGuardianDeity();
|
||||
packetData.actors[0].models[ Common::GearModelSlot::ModelHead ] = p1->getModelForSlot( Common::GearModelSlot::ModelHead );
|
||||
player.sendUrgent("p1 Head Model: {}", p1->getModelForSlot(Common::GearModelSlot::ModelHead));
|
||||
if ((p1->getModelForSlot(Common::GearModelSlot::ModelHead) & 0xFF) == 208)
|
||||
{
|
||||
player.sendUrgent("Replacing p1 Model");
|
||||
instance.foreachPlayer( []( auto p )
|
||||
{
|
||||
p->sendUrgent("Replacing p1 Model");
|
||||
});
|
||||
uint32_t gear = p1->getModelForSlot(Common::GearModelSlot::ModelHead) & 0xFFFFFF00;
|
||||
packetData.actors[0].models[Common::GearModelSlot::ModelHead] = gear | 0xC7;
|
||||
}
|
||||
|
@ -256,7 +258,6 @@ public:
|
|||
packetData.actors[0].models[ Common::GearModelSlot::ModelRing2 ] = p1->getModelForSlot( Common::GearModelSlot::ModelRing2 );
|
||||
packetData.actors[0].models[ Common::GearModelSlot::ModelWrist ] = p1->getModelForSlot( Common::GearModelSlot::ModelWrist );
|
||||
memcpy( packetData.actors[0].look, p1->getLookArray(), sizeof( packetData.actors[0].look ) );
|
||||
player.sendUrgent("p2 Head Model: {}", p2->getModelForSlot(Common::GearModelSlot::ModelHead));
|
||||
if( !( p2->getEquipDisplayFlags() & Sapphire::Common::EquipDisplayFlags::HideWeapon ) )
|
||||
{
|
||||
packetData.actors[1].mainWeaponModel = p2->getModelMainWeapon();
|
||||
|
@ -267,7 +268,10 @@ public:
|
|||
packetData.actors[1].models[ Common::GearModelSlot::ModelHead ] = p2->getModelForSlot( Common::GearModelSlot::ModelHead );
|
||||
if ((p2->getModelForSlot(Common::GearModelSlot::ModelHead) & 0xFF) == 208)
|
||||
{
|
||||
player.sendUrgent("Replacing p2 Model");
|
||||
instance.foreachPlayer([](auto p)
|
||||
{
|
||||
p->sendUrgent("Replacing p2 Model");
|
||||
});
|
||||
uint32_t gear = p2->getModelForSlot(Common::GearModelSlot::ModelHead) & 0xFFFFFF00;
|
||||
packetData.actors[1].models[Common::GearModelSlot::ModelHead] = gear | 0xC7;
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ std::vector< std::string > reservedWords
|
|||
};
|
||||
|
||||
//std::string datLocation( "/home/mordred/sqpack" );
|
||||
std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" );
|
||||
std::string datLocation( "D:\\Program Files (x86)\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" );
|
||||
std::map< uint8_t, std::string > g_typeMap;
|
||||
|
||||
|
||||
|
@ -408,6 +408,8 @@ int main( int argc, char** argv )
|
|||
|
||||
auto name = path.stem().string();
|
||||
|
||||
Logger::info("Filename: " + name);
|
||||
|
||||
if( std::find( cats.begin(), cats.end(), name ) == cats.end() )
|
||||
{
|
||||
Logger::warn( "have definition for {} but the sheet doesn't exist", name );
|
||||
|
@ -441,7 +443,7 @@ int main( int argc, char** argv )
|
|||
result = std::regex_replace( result, std::regex( "\\IDLISTGETTERS" ), idListGetters );
|
||||
|
||||
|
||||
// g_log.info( result );
|
||||
Logger::info( result );
|
||||
|
||||
std::ofstream outH( "ExdDataGenerated.h" );
|
||||
outH << result;
|
||||
|
@ -455,7 +457,7 @@ int main( int argc, char** argv )
|
|||
outC << result;
|
||||
outC.close();
|
||||
|
||||
// g_log.info( result );
|
||||
Logger::info(result);
|
||||
|
||||
Logger::info( "done." );
|
||||
|
||||
|
|
|
@ -1052,8 +1052,8 @@ bool Sapphire::Entity::Player::giveQuestRewards( uint32_t questId, uint32_t opti
|
|||
|
||||
exp = questInfo->expFactor;
|
||||
|
||||
auto rewardItemCount = questInfo->itemReward0.size();
|
||||
uint16_t optionalItemCount = static_cast< uint16_t >( questInfo->itemReward1.size() );
|
||||
auto rewardItemCount = questInfo->itemReward.size();
|
||||
uint16_t optionalItemCount = static_cast< uint16_t >( questInfo->optionalItemReward.size() );
|
||||
|
||||
uint32_t gilReward = questInfo->gilReward;
|
||||
|
||||
|
@ -1065,10 +1065,10 @@ bool Sapphire::Entity::Player::giveQuestRewards( uint32_t questId, uint32_t opti
|
|||
{
|
||||
for( uint32_t i = 0; i < rewardItemCount; i++ )
|
||||
{
|
||||
auto itemId = questInfo->itemReward0.at( i );
|
||||
auto itemId = questInfo->itemReward.at( i );
|
||||
if( itemId > 0 )
|
||||
{
|
||||
addItem( itemId, questInfo->itemCountReward0.at( i ), false, false, true, true );
|
||||
addItem( itemId, questInfo->itemCountReward.at( i ), false, false, true, true );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1077,10 +1077,10 @@ bool Sapphire::Entity::Player::giveQuestRewards( uint32_t questId, uint32_t opti
|
|||
{
|
||||
for( uint32_t i = 0; i < optionalItemCount; i++ )
|
||||
{
|
||||
auto itemId = questInfo->itemReward1.at( i );
|
||||
auto itemId = questInfo->optionalItemReward.at( i );
|
||||
if( itemId > 0 && itemId == optionalChoice )
|
||||
{
|
||||
addItem( itemId, questInfo->itemCountReward1.at( i ), false, false, true, true );
|
||||
addItem( itemId, questInfo->optionalItemReward.at( i ), false, false, true, true );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -304,6 +304,20 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player&
|
|||
{
|
||||
terriMgr.disableCurrentFestival();
|
||||
}
|
||||
else if(subCommand == "finishallquests")
|
||||
{
|
||||
for (int i = 65536; i < 69637; i++)
|
||||
{
|
||||
player.finishQuest(static_cast<uint16_t>(i));
|
||||
}
|
||||
}
|
||||
else if (subCommand == "unfinishallquests")
|
||||
{
|
||||
for (int i = 65536; i < 69637; i++)
|
||||
{
|
||||
player.unfinishQuest(static_cast<uint16_t>(i));
|
||||
}
|
||||
}
|
||||
else if( subCommand == "QuestVar" )
|
||||
{
|
||||
uint16_t questId;
|
||||
|
|
|
@ -106,7 +106,7 @@ Sapphire::Network::GameConnection::GameConnection( Sapphire::Network::HivePtr pH
|
|||
setZoneHandler( ClientZoneIpcType::TradeReturnEventHandler, "TradeReturnEventHandler",
|
||||
&GameConnection::eventHandlerReturn );
|
||||
setZoneHandler( ClientZoneIpcType::TradeReturnEventHandler2, "TradeReturnEventHandler2", &GameConnection::eventHandlerReturn );
|
||||
setZoneHandler( ClientZoneIpcType::EventYieldHandler, "EventYieldHandler", &GameConnection::eventYieldHandler );
|
||||
setZoneHandler( ClientZoneIpcType::EventYield2Handler, "EventYieldHandler", &GameConnection::eventYieldHandler );
|
||||
setZoneHandler( ClientZoneIpcType::EventYield16Handler, "EventYield16Handler", &GameConnection::eventYieldHandler );
|
||||
|
||||
setZoneHandler( ClientZoneIpcType::ShopEventHandler, "ShopEventHandler",
|
||||
|
|
|
@ -62,6 +62,8 @@ bool Sapphire::HousingZone::init()
|
|||
housingIndex = 2;
|
||||
else if( m_territoryTypeId == 641 )
|
||||
housingIndex = 3;
|
||||
else if (m_territoryTypeId == 979)
|
||||
housingIndex = 4;
|
||||
|
||||
auto& exdData = Common::Service< Data::ExdDataGenerated >::ref();
|
||||
auto info = exdData.get< Sapphire::Data::HousingLandSet >( housingIndex );
|
||||
|
|
Loading…
Add table
Reference in a new issue