1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-24 18:47:45 +00:00

Can load in now. Need more opcodes to make loading in more streamlined

and changing zones possible. Gpose still crashes. Test again to make
sure playersetup is right struct. Same with other opcodes.
This commit is contained in:
Rey 2022-05-03 23:28:40 -05:00
parent 10c679c01e
commit fdf3096694
4 changed files with 145 additions and 122 deletions

View file

@ -6409,6 +6409,12 @@ Sapphire::Data::Item::Item(uint32_t row_id, Sapphire::Data::ExdDataGenerated* ex
isPvP = exdData->getField< bool >(row, 88);
subStatCategory = exdData->getField< uint8_t >(row, 89);
isGlamourous = exdData->getField< bool >(row, 90);
for (int i = 0; i < 6; ++i)
{
param[i].baseparam = exdData->getField< uint8_t >(row, 59 + i * 2);
param[i].value = exdData->getField< int16_t >(row, 60 + i * 2);
}
}
Sapphire::Data::ItemAction::ItemAction(uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData)

View file

@ -5235,6 +5235,12 @@ struct Item
uint8_t subStatCategory;
bool isGlamourous;
struct
{
uint8_t baseparam;
int16_t value;
} param[6];
Item( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};

View file

@ -43,27 +43,67 @@ namespace Sapphire::Network::Packets
*/
enum ServerZoneIpcType : uint16_t
{
Ping = 0x00FA, // updated 6.08
Init = 0x0182, // updated 6.08
// Old Definitions that need to be here to compile
ActorFreeSpawn = 0x0082, // updated 6.08
InitZone = 0x01EB, // updated 6.08
ChatBanned = 0xF06B,
InitSearchInfo = 0x01BB, // 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
Ping = 0x028B, // updated 6.11
Init = 0x0104, // updated 6.11
InitZone = 0x01F5, // Updated 6.11
PrepareZoning = 0x01CF, // Updated 6.11
EffectResult = 0x0309, // Updated 6.11
EffectResultBasic = 0x00A8, // updated 6.11
ActorControl = 0x016F, // Updated 6.11
ActorControlSelf = 0x03AE, // Updated 6.11
ActorControlTarget = 0x01B2, // Updated 6.11
ActorCast = 0x0163, // Updated 6.11
ActorMove = 0x0397, // Updated 6.11
ActorSetPos = 0x0317, // Updated 6.11
EventPlay = 0x313, // Updated for 6.11
EventPlay4 = 0x36D, // Updated for 6.11
EventPlay8 = 0x364, // Updated for 6.11
EventPlay16 = 0x9E, // Updated for 6.11
EventPlay32 = 0x3C8, // Updated for 6.11
EventPlay64 = 0x16B, // Updated for 6.11
EventPlay128 = 0x2FB, // Updated for 6.11
EventPlay255 = 0xD8, // Updated for 6.11
EventStart = 0x0217, // Updated 6.11
EventFinish = 0x0096, // Updated 6.11
DirectorVars = 0x0138, // updated 6.08
SomeDirectorUnk1 = 0x00EF, // updated 6.08
SomeDirectorUnk2 = 0xF0C1, // updated 5.18
SomeDirectorUnk4 = 0x01AD, // Updated 6.11
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
///////////////////////////////////////////////////
ChatBanned = 0xF06B,
Playtime = 0x00CE, // updated 6.08
Logout = 0x03B2, // updated 6.08
PlayerSetup = 0x0312, // Updated 6.11
PlayerStats = 0x0370, // Updated 6.11
PlayerSpawn = 0x018F, // Updated 6.11
PlayerClassInfo = 0x0370, // updated 6.11
UpdateHpMpTp = 0x028B, // Updated 6.11
UpdateClassInfo = 0x00D4, // Updated 6.11
UpdateSearchInfo = 0x0334, // Updated 6.11
ExamineSearchInfo = 0x022B, // Updated 6.11
Playtime = 0x009D, // Updated 6.11
Logout = 0x0109, // updated 6.11
CFNotify = 0x01C5, // updated 6.08
CFMemberStatus = 0x0079,
CFDutyInfo = 0x0188, // updated 6.08
@ -87,9 +127,6 @@ namespace Sapphire::Network::Packets
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
@ -114,53 +151,46 @@ namespace Sapphire::Network::Packets
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
MarketBoardSearchResult = 0x0389, // Updated 6.11
MarketBoardItemListingCount = 0x01AC, // Updated 6.11
MarketBoardItemListingHistory = 0x02E5, // Updated 6.11
MarketBoardItemListing = 0x03AC, // Updated 6.11
CharaFreeCompanyTag = 0x013B, // updated 4.5
FreeCompanyBoardMsg = 0x02F1, // updated 6.08
FreeCompanyInfo = 0x01A2, // updated 6.08
FreeCompanyInfo = 0x0084, // Updated 6.11
FreeCompanyDialog = 0x03B8, // Updated 6.11
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
StatusEffectList = 0x00D2, // Updated 6.11
EurekaStatusEffectList = 0x0182, // updated 6.11
BossStatusEffectList = 0x0299, // updated 6.11
Effect = 0x0398, // Updated 6.11
AoeEffect8 = 0x0359, // Updated 6.11
AoeEffect16 = 0x0260, // Updated 6.11
AoeEffect24 = 0x0209, // updated 6.11
AoeEffect32 = 0x039F, // updated 6.11
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
NpcSpawn = 0x02B1, // Updated 6.11
NpcSpawn2 = 0x0083, // updated 6.11
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
ObjectSpawn = 0x02D3, // Updated 6.11
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
@ -172,35 +202,23 @@ namespace Sapphire::Network::Packets
// nb: see #565 on github
UpdateRetainerItemSalePrice = 0xF19F, // updated 5.0
RetainerSaleHistory = 0x0066, // updated 6.08
RetainerInformation = 0x023B, // updated 6.08
RetainerInformation = 0x029B, // Updated 6.11
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
ItemInfo = 0x00E1, // updated 6.11
ContainerInfo = 0x035D, // Updated 6.11
InventoryTransactionFinish = 0x00B8, // Updated 6.11
InventoryTransaction = 0x0382, //updated 6.08
CurrencyCrystalInfo = 0x02BE, // updated 6.08 hotfix
CurrencyCrystalInfo = 0x01E2,
InventoryActionAck = 0x008A, // updated 6.08
UpdateInventorySlot = 0x0375, // updated 6.08
InventoryActionAck = 0x0190, // Updated 6.11
UpdateInventorySlot = 0x0322, // Updated 6.11
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
@ -217,16 +235,6 @@ namespace Sapphire::Network::Packets
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
@ -240,8 +248,8 @@ namespace Sapphire::Network::Packets
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
ResultDialog = 0x0361, // Updated 6.11
DesynthResult = 0x035A, // Updated 6.11
/// Housing //////////////////////////////////////
@ -276,7 +284,6 @@ namespace Sapphire::Network::Packets
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
@ -305,14 +312,14 @@ namespace Sapphire::Network::Packets
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
AirshipExplorationResult = 0x0328, // Updated 6.11
AirshipStatus = 0x011B, // Updated 6.11
AirshipStatusList = 0x01B4, // Updated 6.11
AirshipTimers = 0x024B, // Updated 6.11
SubmarineExplorationResult = 0x00B9, // Updated 6.11
SubmarineProgressionStatus = 0x00C7, // Updated 6.11
SubmarineStatusList = 0x0236, // Updated 6.11
SubmarineTimers = 0x0254, // Updated 6.11
};
/**
@ -320,10 +327,10 @@ namespace Sapphire::Network::Packets
*/
enum ClientZoneIpcType : uint16_t
{
PingHandler = 0x0315, // updated 6.08
InitHandler = 0x0068, // updated 6.08
PingHandler = 0x00B6, // updated 6.11
InitHandler = 0x0216, // updated 6.11
FinishLoadingHandler = 0x0104, // updated 6.11
FinishLoadingHandler = 0x0182, // updated 6.08
CFCommenceHandler = 0x0381, // updated 5.58 hotfix
CFCancelHandler = 0x02B2, // updated 5.58 hotfix
@ -338,23 +345,23 @@ namespace Sapphire::Network::Packets
SocialResponseHandler = 0x0193, // updated 6.08
CreateCrossWorldLS = 0x035D, // updated 5.58 hotfix
ChatHandler = 0x01C8, // updated 6.08
ChatHandler = 0x0133, // Updated 6.11
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
SocialListHandler = 0x0283, // updated 6.11
SetSearchInfoHandler = 0x01F0, // Updated 6.11
ReqSearchInfoHandler = 0x014F, // updated 5.58 hotfix
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
ReqRemovePlayerFromBlacklist = 0x00B4, // updated 5.58 hotfix
BlackListHandler = 0x019E, // updated 6.08
BlackListHandler = 0x023C, // updated 6.11
PlayerSearchHandler = 0x037D, // updated 5.58 hotfix
LinkshellListHandler = 0x010C, // updated 6.08
LinkshellListHandler = 0x0082, // updated 6.11
MarketBoardRequestItemListingInfo = 0x00F4, // updated 5.58 hotfix
MarketBoardRequestItemListings = 0x0122, // updated 5.58 hotfix
@ -374,19 +381,19 @@ namespace Sapphire::Network::Packets
ReqCountdownCancel = 0x0068, // updated 5.58 hotfix
ZoneLineHandler = 0x00C3, // updated 5.58 hotfix
ClientTrigger = 0x02F1, // updated 6.08
ClientTrigger = 0x0283, // Updated 6.11
DiscoveryHandler = 0x00D9, // updated 6.08
PlaceFieldMarkerPreset = 0x01FE, // updated 6.08
PlaceFieldMarker = 0x0067, // updated 6.08
PlaceFieldMarkerPreset = 0x0068, // Updated 6.11
PlaceFieldMarker = 0x028F, // Updated 6.11
SkillHandler = 0x008E, // updated 6.08
GMCommand1 = 0x0290, // updated 6.08
GMCommand1 = 0x0145, // updated 6.11
GMCommand2 = 0x0203, // updated 6.08
AoESkillHandler = 0x0152, // updated 5.58 hotfix
UpdatePositionHandler = 0x0147, // updated 6.08
UpdatePositionHandler = 0x0187, // Updated 6.11
InventoryModifyHandler = 0x0154, // updated 6.08
InventoryModifyHandler = 0x0350, // Updated 6.11
InventoryEquipRecommendedItems = 0x01C9, // updated 5.58 hotfix
@ -420,7 +427,7 @@ namespace Sapphire::Network::Packets
SetSharedEstateSettings = 0x00D2, // updated 5.58 hotfix
UpdatePositionInstance = 0x0209, // updated 6.08
UpdatePositionInstance = 0x031E, // Updated 6.11
PerformNoteHandler = 0x0243, // updated 5.58 hotfix

View file

@ -1012,9 +1012,12 @@ namespace Sapphire::Network::Packets::Server
uint8_t unknown94[2];
uint8_t craftingMasterMask;
uint8_t unknown97[9];
uint8_t unknownA0[2];
uint8_t unknownA2[3];
uint8_t unknownA5[3];
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;
@ -1025,16 +1028,17 @@ namespace Sapphire::Network::Packets::Server
uint16_t unknown178[8];
uint16_t fishingRecordsFishId[30];
uint16_t fishingRecordsFishLength[30];
uint16_t beastExp[14];
uint16_t beastExp[15];
uint16_t unknown21C[5];
uint16_t pvpFrontlineWeeklyRanks[3];
uint16_t unknownMask22C[7];
uint16_t unknownMask22C[8];
uint8_t companionName[21];
uint8_t companionDefRank;
uint8_t companionAttRank;
uint8_t companionHealRank;
uint8_t mountGuideMask[29];
uint8_t unknown26F[4];
uint8_t mountGuideMask[31];
uint8_t ornamentMask[4];
uint8_t unknown281[5];
char name[32];
uint8_t unknown293[16];
uint8_t unknown2A3;
@ -1044,42 +1048,42 @@ namespace Sapphire::Network::Packets::Server
uint8_t freeAetheryteId;
uint8_t discovery[464];
uint8_t howto[36];
uint8_t minions[56];
uint8_t minions[58];
uint8_t chocoboTaxiMask[12];
uint8_t watchedCutscenes[144];
uint8_t companionBardingMask[11];
uint8_t watchedCutscenes[146];
uint8_t companionBardingMask[12];
uint8_t companionEquippedHead;
uint8_t companionEquippedBody;
uint8_t companionEquippedLegs;
uint8_t unknown5D1[4];
uint8_t unknownMask5D5[11];
uint8_t fishingGuideMask[142];
uint8_t fishingGuideMask[144];
uint8_t fishingSpotVisited[38];
uint8_t unknown694[34];
uint8_t unknown6B6[7];
uint8_t unknownPvp6BD[3];
uint8_t beastRank[14];
uint8_t beastRank[15];
uint8_t unknownPvp6CE[12];
uint8_t pose;
uint8_t pose2[4];
uint8_t pose2[6];
uint8_t unknown6DF[3];
uint8_t challengeLogComplete[13];
uint8_t unknownMask6EF[8];
uint8_t unknownMask6F7[31];
uint8_t secretRecipeBookMask[10];
uint8_t unknownMask6F7[29];
uint8_t relicCompletion[12];
uint8_t sightseeingMask[37];
uint8_t huntingMarkMask[101];
uint8_t tripleTriadCards[43];
uint8_t unknown7D7;
uint8_t unknown7D8[14];
uint8_t unknown7E6[47];
uint8_t unknown80A[6];
uint8_t orchestrionMask[64];
uint8_t tripleTriadCards[45];
uint8_t unknown7D7[14];
uint8_t unknown7D8;
uint8_t unknown7E6[46];
uint8_t regionalFolkloreMask[6];
uint8_t orchestrionMask[68];
uint8_t hallOfNoviceCompletion[3];
uint8_t animaCompletion[11];
uint8_t unknown85E[16];
uint8_t unknown86E[4];
uint8_t unknown872[14];
uint8_t unknown872[16];
uint8_t unknown880;
uint8_t unlockedRaids[28];
uint8_t unlockedDungeons[18];
@ -1091,9 +1095,9 @@ namespace Sapphire::Network::Packets::Server
uint8_t clearedGuildhests[10];
uint8_t clearedTrials[11];
uint8_t clearedPvp[5];
uint8_t unknown911[4];
uint8_t unknown915[2];
uint8_t unknown917[3];
uint8_t unknown948[4];
uint8_t unknown94C[2];
uint8_t unknown94E[2];
};