mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-27 14:57:44 +00:00
Merge pull request #709 from collett8192/update_5.45hotfix
Update to 5.45 hotfix.
This commit is contained in:
commit
b1ab980d01
9 changed files with 1606 additions and 867 deletions
|
@ -51,11 +51,11 @@ namespace Sapphire::Common
|
|||
|
||||
enum InventoryOperation : uint16_t
|
||||
{
|
||||
Discard = 0x013C,
|
||||
Move = 0x013D,
|
||||
Swap = 0x013E,
|
||||
Split = 0x013F,
|
||||
Merge = 0x0141,
|
||||
Discard = 0x0117,
|
||||
Move = 0x0118,
|
||||
Swap = 0x0119,
|
||||
Split = 0x011A,
|
||||
Merge = 0x011C,
|
||||
};
|
||||
|
||||
enum ClientLanguage : uint8_t
|
||||
|
@ -161,44 +161,27 @@ namespace Sapphire::Common
|
|||
|
||||
enum class EquipSlotCategory : uint8_t
|
||||
{
|
||||
// main slots
|
||||
|
||||
CharaMainHand = 0,
|
||||
CharaOffHand = 1,
|
||||
CharaHead = 2,
|
||||
CharaBody = 3,
|
||||
CharaHands = 4,
|
||||
CharaWaist = 5,
|
||||
CharaLegs = 6,
|
||||
CharaFeet = 7,
|
||||
CharaEars = 8,
|
||||
CharaNeck = 9,
|
||||
CharaWrist = 10,
|
||||
CharaRing = 11,
|
||||
CharaSoulCrystal = 12,
|
||||
|
||||
/* following slots not seem to exist any more.
|
||||
when multi-slot gear is moved into equipment slot, normal slot listed above is used.
|
||||
client will move any incompatible gears into armory but no InventoryModifiyHandler is sent.
|
||||
server need to move those silently in order to sync with client.
|
||||
*/
|
||||
|
||||
/*! Cannot equip gear to offhand slot */
|
||||
//MainTwoHandedWeapon = 13,
|
||||
/*! Can be equipped in either main or offhand slot */
|
||||
//MainOrOffHand = 14, // unused
|
||||
/*! Cannot equip gear to head */
|
||||
//BodyDisallowHead = 15,
|
||||
/*! Cannot equip gear to hands, legs and feet slots */
|
||||
//BodyDisallowHandsLegsFeet = 16,
|
||||
/*! Cannot equip gear to feet slot */
|
||||
//LegsDisallowFeet = 18,
|
||||
/*! Cannot equp gear to head, hands, legs, feet slots */
|
||||
//BodyDisallowAll = 19,
|
||||
/*! Cannot equip gear to hands slot */
|
||||
//BodyDisallowHands = 20,
|
||||
/*! Cannot equip gear to legs & feet slots */
|
||||
//BodyDisallowLegsFeet = 21,
|
||||
MainHand = 1,
|
||||
OffHand = 2,
|
||||
Head = 3,
|
||||
Body = 4,
|
||||
Hands = 5,
|
||||
Waist = 6,
|
||||
Legs = 7,
|
||||
Feet = 8,
|
||||
Ears = 9,
|
||||
Neck = 10,
|
||||
Wrist = 11,
|
||||
Ring = 12,
|
||||
MainTwoHandedWeapon = 13,
|
||||
//MainOrOffHand = 14, // unused
|
||||
BodyDisallowHead = 15,
|
||||
BodyDisallowHandsLegsFeet = 16,
|
||||
SoulCrystal = 17,
|
||||
LegsDisallowFeet = 18,
|
||||
BodyDisallowAll = 19,
|
||||
BodyDisallowHands = 20,
|
||||
BodyDisallowLegsFeet = 21,
|
||||
};
|
||||
|
||||
enum InventoryType : uint16_t
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -167,6 +167,8 @@ struct ContentRoulette;
|
|||
struct ContentRouletteOpenRule;
|
||||
struct ContentRouletteRoleBonus;
|
||||
struct ContentsNote;
|
||||
struct ContentsTutorial;
|
||||
struct ContentsTutorialPage;
|
||||
struct ContentTalk;
|
||||
struct ContentTalkParam;
|
||||
struct ContentType;
|
||||
|
@ -179,7 +181,6 @@ struct CreditBackImage;
|
|||
struct CreditCast;
|
||||
struct CreditList;
|
||||
struct CreditListText;
|
||||
struct Currency;
|
||||
struct CustomTalk;
|
||||
struct CustomTalkDynamicIcon;
|
||||
struct CustomTalkNestHandlers;
|
||||
|
@ -368,6 +369,7 @@ struct HugeCraftworksRank;
|
|||
struct HWDAnnounce;
|
||||
struct HWDCrafterSupply;
|
||||
struct HWDCrafterSupplyReward;
|
||||
struct HWDCrafterSupplyTerm;
|
||||
struct HWDDevLayerControl;
|
||||
struct HWDDevLevelUI;
|
||||
struct HWDDevLively;
|
||||
|
@ -466,6 +468,7 @@ struct MountSpeed;
|
|||
struct MountTransient;
|
||||
struct MoveTimeline;
|
||||
struct MoveVfx;
|
||||
struct MovieStaffList;
|
||||
struct MovieSubtitle;
|
||||
struct MovieSubtitle500;
|
||||
struct MovieSubtitleVoyage;
|
||||
|
@ -546,6 +549,7 @@ struct RelicItem;
|
|||
struct RelicNote;
|
||||
struct RelicNoteCategory;
|
||||
struct Resident;
|
||||
struct ResistanceWeaponAdjust;
|
||||
struct RetainerTask;
|
||||
struct RetainerTaskLvRange;
|
||||
struct RetainerTaskNormal;
|
||||
|
@ -626,6 +630,8 @@ struct Weather;
|
|||
struct WeatherGroup;
|
||||
struct WeatherRate;
|
||||
struct WeatherReportReplace;
|
||||
struct WebGuidance;
|
||||
struct WebURL;
|
||||
struct WeddingBGM;
|
||||
struct WeeklyBingoOrderData;
|
||||
struct WeeklyBingoRewardData;
|
||||
|
@ -983,6 +989,7 @@ struct AirshipExplorationParamType
|
|||
|
||||
struct AirshipExplorationPart
|
||||
{
|
||||
uint8_t slot;
|
||||
uint8_t rank;
|
||||
uint8_t components;
|
||||
int16_t surveillance;
|
||||
|
@ -990,6 +997,7 @@ struct AirshipExplorationPart
|
|||
int16_t speed;
|
||||
int16_t range;
|
||||
int16_t favor;
|
||||
uint16_t _class;
|
||||
uint8_t repairMaterials;
|
||||
|
||||
AirshipExplorationPart( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
|
@ -1112,9 +1120,22 @@ struct AozActionTransient
|
|||
uint32_t icon;
|
||||
std::string stats;
|
||||
std::string description;
|
||||
uint8_t locationKey;
|
||||
uint16_t location;
|
||||
uint32_t startQuest;
|
||||
uint32_t nextQuest;
|
||||
uint32_t requiredForQuest;
|
||||
uint32_t previousQuest;
|
||||
bool targetsEnemy;
|
||||
bool targetsSelfOrAlly;
|
||||
bool causeSlow;
|
||||
bool causePetrify;
|
||||
bool causeParalysis;
|
||||
bool causeInterrupt;
|
||||
bool causeBlind;
|
||||
bool causeStun;
|
||||
bool causeSleep;
|
||||
bool causeBind;
|
||||
bool causeHeavy;
|
||||
bool causeDeath;
|
||||
|
||||
AozActionTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -1122,6 +1143,7 @@ struct AozActionTransient
|
|||
struct AOZArrangement
|
||||
{
|
||||
uint16_t aOZContentBriefingBNpc;
|
||||
uint16_t position;
|
||||
|
||||
AOZArrangement( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -1129,6 +1151,7 @@ struct AOZArrangement
|
|||
struct AOZBoss
|
||||
{
|
||||
uint16_t boss;
|
||||
uint16_t position;
|
||||
|
||||
AOZBoss( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -1160,6 +1183,7 @@ struct AOZContentBriefingBNpc
|
|||
uint32_t bNpcName;
|
||||
uint32_t targetSmall;
|
||||
uint32_t targetLarge;
|
||||
bool hideStats;
|
||||
uint8_t endurance;
|
||||
uint8_t fire;
|
||||
uint8_t ice;
|
||||
|
@ -1171,16 +1195,16 @@ struct AOZContentBriefingBNpc
|
|||
uint8_t piercing;
|
||||
uint8_t blunt;
|
||||
uint8_t magic;
|
||||
bool slowResistance;
|
||||
bool petrificationResistance;
|
||||
bool paralysisResistance;
|
||||
bool silenceResistance;
|
||||
bool blindResistance;
|
||||
bool stunResistance;
|
||||
bool sleepResistance;
|
||||
bool bindResistance;
|
||||
bool heavyResistance;
|
||||
bool instaDeathResistance;
|
||||
bool slowVuln;
|
||||
bool petrificationVuln;
|
||||
bool paralysisVuln;
|
||||
bool interruptionVuln;
|
||||
bool blindVuln;
|
||||
bool stunVuln;
|
||||
bool sleepVuln;
|
||||
bool bindVuln;
|
||||
bool heavyVuln;
|
||||
bool flatOrDeathVuln;
|
||||
|
||||
AOZContentBriefingBNpc( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -1646,6 +1670,7 @@ struct BuddyEquip
|
|||
uint16_t iconHead;
|
||||
uint16_t iconBody;
|
||||
uint16_t iconLegs;
|
||||
uint8_t order;
|
||||
|
||||
BuddyEquip( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -1924,6 +1949,7 @@ struct ClassJob
|
|||
int8_t expArrayIndex;
|
||||
int8_t battleClassIndex;
|
||||
uint8_t jobIndex;
|
||||
int8_t dohDolJobIndex;
|
||||
uint16_t modifierHitPoints;
|
||||
uint16_t modifierManaPoints;
|
||||
uint16_t modifierStrength;
|
||||
|
@ -2294,6 +2320,8 @@ struct ContentFinderCondition
|
|||
bool addedIn53;
|
||||
bool allowUndersized;
|
||||
bool allowReplacement;
|
||||
bool allowExplorerMode;
|
||||
bool unknown54;
|
||||
bool highEndDuty;
|
||||
bool dutyRecorderAllowed;
|
||||
std::string name;
|
||||
|
@ -2304,13 +2332,13 @@ struct ContentFinderCondition
|
|||
uint32_t image;
|
||||
uint32_t icon;
|
||||
bool levelingRoulette;
|
||||
bool level5060Roulette;
|
||||
bool level506070Roulette;
|
||||
bool mSQRoulette;
|
||||
bool guildHestRoulette;
|
||||
bool expertRoulette;
|
||||
bool trialRoulette;
|
||||
bool dailyFrontlineChallenge;
|
||||
bool level70Roulette;
|
||||
bool level80Roulette;
|
||||
bool mentorRoulette;
|
||||
bool allianceRoulette;
|
||||
bool normalRaidRoulette;
|
||||
|
@ -2349,6 +2377,7 @@ struct ContentMemberType
|
|||
uint8_t healersPerParty;
|
||||
uint8_t meleesPerParty;
|
||||
uint8_t rangedPerParty;
|
||||
uint8_t unknown54;
|
||||
|
||||
ContentMemberType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -2371,22 +2400,23 @@ struct ContentRandomSelect
|
|||
struct ContentRoulette
|
||||
{
|
||||
std::string name;
|
||||
std::string category;
|
||||
std::string description;
|
||||
std::string dutyType;
|
||||
bool isInDutyFinder;
|
||||
bool openRule;
|
||||
bool requiredLevel;
|
||||
uint8_t itemLevelRequired;
|
||||
uint16_t icon;
|
||||
uint32_t contentRouletteRoleBonus;
|
||||
uint8_t rewardTomeA;
|
||||
uint8_t openRule;
|
||||
uint8_t requiredLevel;
|
||||
uint16_t itemLevelRequired;
|
||||
uint32_t icon;
|
||||
uint8_t contentRouletteRoleBonus;
|
||||
uint16_t rewardTomeA;
|
||||
uint16_t rewardTomeB;
|
||||
uint16_t rewardTomeC;
|
||||
uint16_t sortKey;
|
||||
uint8_t sortKey;
|
||||
uint8_t contentMemberType;
|
||||
bool requireAllDuties;
|
||||
bool contentRouletteOpenRule;
|
||||
uint8_t instanceContent;
|
||||
uint8_t contentRouletteOpenRule;
|
||||
uint16_t instanceContent;
|
||||
|
||||
ContentRoulette( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -2426,6 +2456,23 @@ struct ContentsNote
|
|||
ContentsNote( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct ContentsTutorial
|
||||
{
|
||||
std::string name;
|
||||
std::string description;
|
||||
std::vector< int32_t > page;
|
||||
|
||||
ContentsTutorial( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct ContentsTutorialPage
|
||||
{
|
||||
int32_t image;
|
||||
std::string description;
|
||||
|
||||
ContentsTutorialPage( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct ContentTalk
|
||||
{
|
||||
uint8_t contentTalkParam;
|
||||
|
@ -2521,6 +2568,7 @@ struct Credit
|
|||
|
||||
struct CreditBackImage
|
||||
{
|
||||
bool unknown54;
|
||||
uint32_t backImage;
|
||||
|
||||
CreditBackImage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
|
@ -2550,14 +2598,6 @@ struct CreditListText
|
|||
CreditListText( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct Currency
|
||||
{
|
||||
uint32_t item;
|
||||
uint32_t limit;
|
||||
|
||||
Currency( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct CustomTalk
|
||||
{
|
||||
uint32_t iconActor;
|
||||
|
@ -2566,6 +2606,7 @@ struct CustomTalk
|
|||
std::vector< std::string > scriptInstruction;
|
||||
std::vector< uint32_t > scriptArg;
|
||||
bool text;
|
||||
bool unknown54;
|
||||
|
||||
CustomTalk( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -2996,6 +3037,7 @@ struct Emote
|
|||
uint8_t emoteMode;
|
||||
bool hasCancelEmote;
|
||||
bool drawsWeapon;
|
||||
uint16_t order;
|
||||
int32_t textCommand;
|
||||
uint16_t icon;
|
||||
uint16_t logMessageTargeted;
|
||||
|
@ -3676,7 +3718,7 @@ struct GatheringItem
|
|||
{
|
||||
int32_t item;
|
||||
uint16_t gatheringItemLevel;
|
||||
uint32_t isHidden;
|
||||
bool isHidden;
|
||||
|
||||
GatheringItem( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -3767,7 +3809,8 @@ struct GatheringPointBonus
|
|||
uint32_t conditionValue;
|
||||
uint8_t bonusType;
|
||||
uint16_t bonusValue;
|
||||
bool addedIn53;
|
||||
bool unknown53;
|
||||
uint32_t unknown54;
|
||||
|
||||
GatheringPointBonus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -4169,6 +4212,7 @@ struct GroupPoseFrame
|
|||
{
|
||||
int32_t image;
|
||||
std::string gridText;
|
||||
int32_t unknown54;
|
||||
std::string text;
|
||||
|
||||
GroupPoseFrame( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
|
@ -4178,6 +4222,8 @@ struct GroupPoseStamp
|
|||
{
|
||||
int32_t stampIcon;
|
||||
int32_t category;
|
||||
int32_t unknown540;
|
||||
bool unknown541;
|
||||
std::string name;
|
||||
|
||||
GroupPoseStamp( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
|
@ -4493,6 +4539,9 @@ struct HWDCrafterSupply
|
|||
std::vector< uint16_t > baseCollectableReward;
|
||||
std::vector< uint16_t > midCollectableReward;
|
||||
std::vector< uint16_t > highCollectableReward;
|
||||
std::vector< uint16_t > baseCollectableRewardPostPhase;
|
||||
std::vector< uint16_t > midCollectableRewardPostPhase;
|
||||
std::vector< uint16_t > highCollectableRewardPostPhase;
|
||||
std::vector< uint8_t > termName;
|
||||
|
||||
HWDCrafterSupply( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
|
@ -4507,6 +4556,13 @@ struct HWDCrafterSupplyReward
|
|||
HWDCrafterSupplyReward( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct HWDCrafterSupplyTerm
|
||||
{
|
||||
std::string name;
|
||||
|
||||
HWDCrafterSupplyTerm( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct HWDDevLayerControl
|
||||
{
|
||||
|
||||
|
@ -4621,14 +4677,13 @@ struct IKDFishParam
|
|||
{
|
||||
uint32_t fish;
|
||||
uint8_t iKDContentBonus;
|
||||
uint8_t unknown54;
|
||||
|
||||
IKDFishParam( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct IKDRoute
|
||||
{
|
||||
std::vector< uint32_t > spot;
|
||||
uint8_t timeDefine;
|
||||
uint32_t image;
|
||||
uint32_t territoryType;
|
||||
std::string name;
|
||||
|
@ -4713,6 +4768,8 @@ struct InstanceContent
|
|||
uint32_t instanceContentBuff;
|
||||
int32_t reqInstance;
|
||||
int16_t partyCondition;
|
||||
uint16_t unknown540;
|
||||
uint16_t unknown541;
|
||||
|
||||
InstanceContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -4729,6 +4786,8 @@ struct InstanceContentCSBonus
|
|||
{
|
||||
uint16_t instance;
|
||||
uint32_t item;
|
||||
uint8_t unknown540;
|
||||
uint8_t unknown541;
|
||||
|
||||
InstanceContentCSBonus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -4771,7 +4830,7 @@ struct Item
|
|||
bool isUnique;
|
||||
bool isUntradable;
|
||||
bool isIndisposable;
|
||||
bool isEquippable;
|
||||
bool lot;
|
||||
uint32_t priceMid;
|
||||
uint32_t priceLow;
|
||||
bool canBeHq;
|
||||
|
@ -4786,6 +4845,7 @@ struct Item
|
|||
bool isCollectable;
|
||||
bool alwaysCollectable;
|
||||
uint16_t aetherialReduce;
|
||||
uint16_t unknown54;
|
||||
uint8_t levelEquip;
|
||||
uint8_t equipRestriction;
|
||||
uint8_t classJobCategory;
|
||||
|
@ -5179,6 +5239,8 @@ struct LotteryExchangeShop
|
|||
{
|
||||
std::vector< int32_t > itemAccepted;
|
||||
std::vector< uint32_t > amountAccepted;
|
||||
std::vector< uint8_t > unknown540;
|
||||
std::vector< uint8_t > unknown541;
|
||||
std::string lua;
|
||||
std::vector< uint32_t > logMessage;
|
||||
|
||||
|
@ -5311,7 +5373,7 @@ struct Materia
|
|||
{
|
||||
std::vector< int32_t > item;
|
||||
uint8_t baseParam;
|
||||
std::vector< uint8_t > value;
|
||||
std::vector< int16_t > value;
|
||||
|
||||
Materia( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -5342,6 +5404,7 @@ struct MateriaTomestoneRate
|
|||
struct MiniGameRA
|
||||
{
|
||||
int32_t icon;
|
||||
int32_t image;
|
||||
int32_t bGM;
|
||||
|
||||
MiniGameRA( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
|
@ -5623,6 +5686,15 @@ struct MoveVfx
|
|||
MoveVfx( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct MovieStaffList
|
||||
{
|
||||
uint32_t image;
|
||||
float startTime;
|
||||
float endTime;
|
||||
|
||||
MovieStaffList( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct MovieSubtitle
|
||||
{
|
||||
float startTime;
|
||||
|
@ -5669,6 +5741,9 @@ struct MYCTemporaryItemUICategory
|
|||
struct MYCWarResultNotebook
|
||||
{
|
||||
uint8_t number;
|
||||
uint8_t unknown540;
|
||||
uint8_t unknown541;
|
||||
int32_t quest;
|
||||
int32_t icon;
|
||||
int32_t image;
|
||||
uint8_t rarity;
|
||||
|
@ -5752,7 +5827,8 @@ struct NpcYell
|
|||
float balloonTime;
|
||||
bool isBalloonSlow;
|
||||
bool battleTalkTime;
|
||||
float text;
|
||||
uint8_t unknown54;
|
||||
std::string text;
|
||||
|
||||
NpcYell( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -5812,7 +5888,8 @@ struct Orchestrion
|
|||
struct OrchestrionCategory
|
||||
{
|
||||
std::string name;
|
||||
uint8_t hideCategory;
|
||||
uint8_t hideOrder;
|
||||
uint32_t icon;
|
||||
uint8_t order;
|
||||
|
||||
OrchestrionCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
|
@ -5878,6 +5955,9 @@ struct PartyContent
|
|||
bool name;
|
||||
uint32_t textDataStart;
|
||||
uint32_t textDataEnd;
|
||||
std::vector< uint32_t > lGBEventObject0;
|
||||
std::vector< uint32_t > lGBEventRange;
|
||||
std::vector< uint32_t > lGBEventObject1;
|
||||
uint16_t contentFinderCondition;
|
||||
uint32_t image;
|
||||
|
||||
|
@ -6064,6 +6144,9 @@ struct PublicContent
|
|||
uint32_t textDataEnd;
|
||||
uint16_t contentFinderCondition;
|
||||
uint16_t additionalData;
|
||||
int32_t unknown540;
|
||||
uint16_t unknown541;
|
||||
uint16_t unknown542;
|
||||
|
||||
PublicContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -6232,6 +6315,7 @@ struct Quest
|
|||
bool hideOfferIcon;
|
||||
uint8_t eventIconType;
|
||||
uint16_t sortKey;
|
||||
bool unknown54;
|
||||
|
||||
Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -6278,7 +6362,7 @@ struct QuestClassJobSupply
|
|||
|
||||
struct QuestDerivedClass
|
||||
{
|
||||
uint32_t quest;
|
||||
uint8_t classJob;
|
||||
|
||||
QuestDerivedClass( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -6373,6 +6457,7 @@ struct Race
|
|||
int32_t rSEFHands;
|
||||
int32_t rSEFLegs;
|
||||
int32_t rSEFFeet;
|
||||
uint8_t unknown54;
|
||||
uint8_t exPac;
|
||||
|
||||
Race( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
|
@ -6474,6 +6559,7 @@ struct RecipeLevelTable
|
|||
uint16_t difficulty;
|
||||
uint32_t quality;
|
||||
uint16_t durability;
|
||||
uint16_t conditionsFlag;
|
||||
|
||||
RecipeLevelTable( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -6585,6 +6671,16 @@ struct Resident
|
|||
Resident( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct ResistanceWeaponAdjust
|
||||
{
|
||||
uint16_t maxTotalStats;
|
||||
uint16_t maxEachStat;
|
||||
std::vector< uint8_t > baseParam;
|
||||
uint32_t image;
|
||||
|
||||
ResistanceWeaponAdjust( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct RetainerTask
|
||||
{
|
||||
bool isRandom;
|
||||
|
@ -6717,6 +6813,9 @@ struct ScenarioTree
|
|||
{
|
||||
uint8_t type;
|
||||
uint16_t image;
|
||||
uint32_t unknown540;
|
||||
std::string unknown541;
|
||||
int32_t unknown542;
|
||||
|
||||
ScenarioTree( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -6861,7 +6960,7 @@ struct SpecialShop
|
|||
std::vector< int32_t > unknown;
|
||||
std::vector< int32_t > achievementUnlock;
|
||||
std::vector< uint16_t > patchNumber;
|
||||
bool useCurrencyType;
|
||||
uint8_t useCurrencyType;
|
||||
uint32_t questUnlock;
|
||||
int32_t completeText;
|
||||
int32_t notCompleteText;
|
||||
|
@ -6901,7 +7000,7 @@ struct Status
|
|||
uint8_t maxStacks;
|
||||
uint8_t category;
|
||||
uint8_t hitEffect;
|
||||
uint8_t vFX;
|
||||
uint16_t vFX;
|
||||
bool lockMovement;
|
||||
bool lockActions;
|
||||
bool lockControl;
|
||||
|
@ -6994,6 +7093,7 @@ struct SubmarinePart
|
|||
int16_t speed;
|
||||
int16_t range;
|
||||
int16_t favor;
|
||||
uint16_t _class;
|
||||
uint8_t repairMaterials;
|
||||
|
||||
SubmarinePart( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
|
@ -7056,6 +7156,7 @@ struct TerritoryType
|
|||
uint8_t exVersion;
|
||||
uint8_t addedIn53;
|
||||
uint8_t mountSpeed;
|
||||
bool unknown54;
|
||||
|
||||
TerritoryType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -7171,6 +7272,7 @@ struct Transformation
|
|||
uint16_t endVFX;
|
||||
uint32_t action6;
|
||||
uint16_t action7;
|
||||
bool unknown54;
|
||||
|
||||
Transformation( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -7273,6 +7375,13 @@ struct TripleTriadCardResident
|
|||
uint8_t tripleTriadCardType;
|
||||
uint16_t saleValue;
|
||||
uint8_t sortKey;
|
||||
uint16_t order;
|
||||
uint8_t uIPriority;
|
||||
bool unknown54;
|
||||
uint8_t acquisitionType;
|
||||
uint32_t acquisition;
|
||||
uint32_t location;
|
||||
uint32_t quest;
|
||||
|
||||
TripleTriadCardResident( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -7294,6 +7403,8 @@ struct TripleTriadCompetition
|
|||
struct TripleTriadRule
|
||||
{
|
||||
std::string name;
|
||||
std::string description;
|
||||
bool unknown54;
|
||||
|
||||
TripleTriadRule( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
@ -7435,6 +7546,24 @@ struct WeatherReportReplace
|
|||
WeatherReportReplace( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct WebGuidance
|
||||
{
|
||||
int32_t image;
|
||||
uint8_t url;
|
||||
std::string name;
|
||||
std::string unknown54;
|
||||
std::string description;
|
||||
|
||||
WebGuidance( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct WebURL
|
||||
{
|
||||
std::string uRL;
|
||||
|
||||
WebURL( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
|
||||
};
|
||||
|
||||
struct WeddingBGM
|
||||
{
|
||||
uint16_t song;
|
||||
|
@ -7733,6 +7862,8 @@ struct ZoneSharedGroup
|
|||
xiv::exd::Exd m_ContentRouletteOpenRuleDat;
|
||||
xiv::exd::Exd m_ContentRouletteRoleBonusDat;
|
||||
xiv::exd::Exd m_ContentsNoteDat;
|
||||
xiv::exd::Exd m_ContentsTutorialDat;
|
||||
xiv::exd::Exd m_ContentsTutorialPageDat;
|
||||
xiv::exd::Exd m_ContentTalkDat;
|
||||
xiv::exd::Exd m_ContentTalkParamDat;
|
||||
xiv::exd::Exd m_ContentTypeDat;
|
||||
|
@ -7745,7 +7876,6 @@ struct ZoneSharedGroup
|
|||
xiv::exd::Exd m_CreditCastDat;
|
||||
xiv::exd::Exd m_CreditListDat;
|
||||
xiv::exd::Exd m_CreditListTextDat;
|
||||
xiv::exd::Exd m_CurrencyDat;
|
||||
xiv::exd::Exd m_CustomTalkDat;
|
||||
xiv::exd::Exd m_CustomTalkDynamicIconDat;
|
||||
xiv::exd::Exd m_CustomTalkNestHandlersDat;
|
||||
|
@ -7934,6 +8064,7 @@ struct ZoneSharedGroup
|
|||
xiv::exd::Exd m_HWDAnnounceDat;
|
||||
xiv::exd::Exd m_HWDCrafterSupplyDat;
|
||||
xiv::exd::Exd m_HWDCrafterSupplyRewardDat;
|
||||
xiv::exd::Exd m_HWDCrafterSupplyTermDat;
|
||||
xiv::exd::Exd m_HWDDevLayerControlDat;
|
||||
xiv::exd::Exd m_HWDDevLevelUIDat;
|
||||
xiv::exd::Exd m_HWDDevLivelyDat;
|
||||
|
@ -8032,6 +8163,7 @@ struct ZoneSharedGroup
|
|||
xiv::exd::Exd m_MountTransientDat;
|
||||
xiv::exd::Exd m_MoveTimelineDat;
|
||||
xiv::exd::Exd m_MoveVfxDat;
|
||||
xiv::exd::Exd m_MovieStaffListDat;
|
||||
xiv::exd::Exd m_MovieSubtitleDat;
|
||||
xiv::exd::Exd m_MovieSubtitle500Dat;
|
||||
xiv::exd::Exd m_MovieSubtitleVoyageDat;
|
||||
|
@ -8112,6 +8244,7 @@ struct ZoneSharedGroup
|
|||
xiv::exd::Exd m_RelicNoteDat;
|
||||
xiv::exd::Exd m_RelicNoteCategoryDat;
|
||||
xiv::exd::Exd m_ResidentDat;
|
||||
xiv::exd::Exd m_ResistanceWeaponAdjustDat;
|
||||
xiv::exd::Exd m_RetainerTaskDat;
|
||||
xiv::exd::Exd m_RetainerTaskLvRangeDat;
|
||||
xiv::exd::Exd m_RetainerTaskNormalDat;
|
||||
|
@ -8192,6 +8325,8 @@ struct ZoneSharedGroup
|
|||
xiv::exd::Exd m_WeatherGroupDat;
|
||||
xiv::exd::Exd m_WeatherRateDat;
|
||||
xiv::exd::Exd m_WeatherReportReplaceDat;
|
||||
xiv::exd::Exd m_WebGuidanceDat;
|
||||
xiv::exd::Exd m_WebURLDat;
|
||||
xiv::exd::Exd m_WeddingBGMDat;
|
||||
xiv::exd::Exd m_WeeklyBingoOrderDataDat;
|
||||
xiv::exd::Exd m_WeeklyBingoRewardDataDat;
|
||||
|
@ -8350,6 +8485,8 @@ struct ZoneSharedGroup
|
|||
using ContentRouletteOpenRulePtr = std::shared_ptr< ContentRouletteOpenRule >;
|
||||
using ContentRouletteRoleBonusPtr = std::shared_ptr< ContentRouletteRoleBonus >;
|
||||
using ContentsNotePtr = std::shared_ptr< ContentsNote >;
|
||||
using ContentsTutorialPtr = std::shared_ptr< ContentsTutorial >;
|
||||
using ContentsTutorialPagePtr = std::shared_ptr< ContentsTutorialPage >;
|
||||
using ContentTalkPtr = std::shared_ptr< ContentTalk >;
|
||||
using ContentTalkParamPtr = std::shared_ptr< ContentTalkParam >;
|
||||
using ContentTypePtr = std::shared_ptr< ContentType >;
|
||||
|
@ -8362,7 +8499,6 @@ struct ZoneSharedGroup
|
|||
using CreditCastPtr = std::shared_ptr< CreditCast >;
|
||||
using CreditListPtr = std::shared_ptr< CreditList >;
|
||||
using CreditListTextPtr = std::shared_ptr< CreditListText >;
|
||||
using CurrencyPtr = std::shared_ptr< Currency >;
|
||||
using CustomTalkPtr = std::shared_ptr< CustomTalk >;
|
||||
using CustomTalkDynamicIconPtr = std::shared_ptr< CustomTalkDynamicIcon >;
|
||||
using CustomTalkNestHandlersPtr = std::shared_ptr< CustomTalkNestHandlers >;
|
||||
|
@ -8551,6 +8687,7 @@ struct ZoneSharedGroup
|
|||
using HWDAnnouncePtr = std::shared_ptr< HWDAnnounce >;
|
||||
using HWDCrafterSupplyPtr = std::shared_ptr< HWDCrafterSupply >;
|
||||
using HWDCrafterSupplyRewardPtr = std::shared_ptr< HWDCrafterSupplyReward >;
|
||||
using HWDCrafterSupplyTermPtr = std::shared_ptr< HWDCrafterSupplyTerm >;
|
||||
using HWDDevLayerControlPtr = std::shared_ptr< HWDDevLayerControl >;
|
||||
using HWDDevLevelUIPtr = std::shared_ptr< HWDDevLevelUI >;
|
||||
using HWDDevLivelyPtr = std::shared_ptr< HWDDevLively >;
|
||||
|
@ -8649,6 +8786,7 @@ struct ZoneSharedGroup
|
|||
using MountTransientPtr = std::shared_ptr< MountTransient >;
|
||||
using MoveTimelinePtr = std::shared_ptr< MoveTimeline >;
|
||||
using MoveVfxPtr = std::shared_ptr< MoveVfx >;
|
||||
using MovieStaffListPtr = std::shared_ptr< MovieStaffList >;
|
||||
using MovieSubtitlePtr = std::shared_ptr< MovieSubtitle >;
|
||||
using MovieSubtitle500Ptr = std::shared_ptr< MovieSubtitle500 >;
|
||||
using MovieSubtitleVoyagePtr = std::shared_ptr< MovieSubtitleVoyage >;
|
||||
|
@ -8729,6 +8867,7 @@ struct ZoneSharedGroup
|
|||
using RelicNotePtr = std::shared_ptr< RelicNote >;
|
||||
using RelicNoteCategoryPtr = std::shared_ptr< RelicNoteCategory >;
|
||||
using ResidentPtr = std::shared_ptr< Resident >;
|
||||
using ResistanceWeaponAdjustPtr = std::shared_ptr< ResistanceWeaponAdjust >;
|
||||
using RetainerTaskPtr = std::shared_ptr< RetainerTask >;
|
||||
using RetainerTaskLvRangePtr = std::shared_ptr< RetainerTaskLvRange >;
|
||||
using RetainerTaskNormalPtr = std::shared_ptr< RetainerTaskNormal >;
|
||||
|
@ -8809,6 +8948,8 @@ struct ZoneSharedGroup
|
|||
using WeatherGroupPtr = std::shared_ptr< WeatherGroup >;
|
||||
using WeatherRatePtr = std::shared_ptr< WeatherRate >;
|
||||
using WeatherReportReplacePtr = std::shared_ptr< WeatherReportReplace >;
|
||||
using WebGuidancePtr = std::shared_ptr< WebGuidance >;
|
||||
using WebURLPtr = std::shared_ptr< WebURL >;
|
||||
using WeddingBGMPtr = std::shared_ptr< WeddingBGM >;
|
||||
using WeeklyBingoOrderDataPtr = std::shared_ptr< WeeklyBingoOrderData >;
|
||||
using WeeklyBingoRewardDataPtr = std::shared_ptr< WeeklyBingoRewardData >;
|
||||
|
@ -8967,6 +9108,8 @@ struct ZoneSharedGroup
|
|||
std::set< uint32_t > m_ContentRouletteOpenRuleIdList;
|
||||
std::set< uint32_t > m_ContentRouletteRoleBonusIdList;
|
||||
std::set< uint32_t > m_ContentsNoteIdList;
|
||||
std::set< uint32_t > m_ContentsTutorialIdList;
|
||||
std::set< uint32_t > m_ContentsTutorialPageIdList;
|
||||
std::set< uint32_t > m_ContentTalkIdList;
|
||||
std::set< uint32_t > m_ContentTalkParamIdList;
|
||||
std::set< uint32_t > m_ContentTypeIdList;
|
||||
|
@ -8979,7 +9122,6 @@ struct ZoneSharedGroup
|
|||
std::set< uint32_t > m_CreditCastIdList;
|
||||
std::set< uint32_t > m_CreditListIdList;
|
||||
std::set< uint32_t > m_CreditListTextIdList;
|
||||
std::set< uint32_t > m_CurrencyIdList;
|
||||
std::set< uint32_t > m_CustomTalkIdList;
|
||||
std::set< uint32_t > m_CustomTalkDynamicIconIdList;
|
||||
std::set< uint32_t > m_CustomTalkNestHandlersIdList;
|
||||
|
@ -9168,6 +9310,7 @@ struct ZoneSharedGroup
|
|||
std::set< uint32_t > m_HWDAnnounceIdList;
|
||||
std::set< uint32_t > m_HWDCrafterSupplyIdList;
|
||||
std::set< uint32_t > m_HWDCrafterSupplyRewardIdList;
|
||||
std::set< uint32_t > m_HWDCrafterSupplyTermIdList;
|
||||
std::set< uint32_t > m_HWDDevLayerControlIdList;
|
||||
std::set< uint32_t > m_HWDDevLevelUIIdList;
|
||||
std::set< uint32_t > m_HWDDevLivelyIdList;
|
||||
|
@ -9266,6 +9409,7 @@ struct ZoneSharedGroup
|
|||
std::set< uint32_t > m_MountTransientIdList;
|
||||
std::set< uint32_t > m_MoveTimelineIdList;
|
||||
std::set< uint32_t > m_MoveVfxIdList;
|
||||
std::set< uint32_t > m_MovieStaffListIdList;
|
||||
std::set< uint32_t > m_MovieSubtitleIdList;
|
||||
std::set< uint32_t > m_MovieSubtitle500IdList;
|
||||
std::set< uint32_t > m_MovieSubtitleVoyageIdList;
|
||||
|
@ -9346,6 +9490,7 @@ struct ZoneSharedGroup
|
|||
std::set< uint32_t > m_RelicNoteIdList;
|
||||
std::set< uint32_t > m_RelicNoteCategoryIdList;
|
||||
std::set< uint32_t > m_ResidentIdList;
|
||||
std::set< uint32_t > m_ResistanceWeaponAdjustIdList;
|
||||
std::set< uint32_t > m_RetainerTaskIdList;
|
||||
std::set< uint32_t > m_RetainerTaskLvRangeIdList;
|
||||
std::set< uint32_t > m_RetainerTaskNormalIdList;
|
||||
|
@ -9426,6 +9571,8 @@ struct ZoneSharedGroup
|
|||
std::set< uint32_t > m_WeatherGroupIdList;
|
||||
std::set< uint32_t > m_WeatherRateIdList;
|
||||
std::set< uint32_t > m_WeatherReportReplaceIdList;
|
||||
std::set< uint32_t > m_WebGuidanceIdList;
|
||||
std::set< uint32_t > m_WebURLIdList;
|
||||
std::set< uint32_t > m_WeddingBGMIdList;
|
||||
std::set< uint32_t > m_WeeklyBingoOrderDataIdList;
|
||||
std::set< uint32_t > m_WeeklyBingoRewardDataIdList;
|
||||
|
@ -10309,6 +10456,18 @@ const std::set< uint32_t >& getContentsNoteIdList()
|
|||
loadIdList( m_ContentsNoteDat, m_ContentsNoteIdList );
|
||||
return m_ContentsNoteIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getContentsTutorialIdList()
|
||||
{
|
||||
if( m_ContentsTutorialIdList.size() == 0 )
|
||||
loadIdList( m_ContentsTutorialDat, m_ContentsTutorialIdList );
|
||||
return m_ContentsTutorialIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getContentsTutorialPageIdList()
|
||||
{
|
||||
if( m_ContentsTutorialPageIdList.size() == 0 )
|
||||
loadIdList( m_ContentsTutorialPageDat, m_ContentsTutorialPageIdList );
|
||||
return m_ContentsTutorialPageIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getContentTalkIdList()
|
||||
{
|
||||
if( m_ContentTalkIdList.size() == 0 )
|
||||
|
@ -10381,12 +10540,6 @@ const std::set< uint32_t >& getCreditListTextIdList()
|
|||
loadIdList( m_CreditListTextDat, m_CreditListTextIdList );
|
||||
return m_CreditListTextIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getCurrencyIdList()
|
||||
{
|
||||
if( m_CurrencyIdList.size() == 0 )
|
||||
loadIdList( m_CurrencyDat, m_CurrencyIdList );
|
||||
return m_CurrencyIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getCustomTalkIdList()
|
||||
{
|
||||
if( m_CustomTalkIdList.size() == 0 )
|
||||
|
@ -11515,6 +11668,12 @@ const std::set< uint32_t >& getHWDCrafterSupplyRewardIdList()
|
|||
loadIdList( m_HWDCrafterSupplyRewardDat, m_HWDCrafterSupplyRewardIdList );
|
||||
return m_HWDCrafterSupplyRewardIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getHWDCrafterSupplyTermIdList()
|
||||
{
|
||||
if( m_HWDCrafterSupplyTermIdList.size() == 0 )
|
||||
loadIdList( m_HWDCrafterSupplyTermDat, m_HWDCrafterSupplyTermIdList );
|
||||
return m_HWDCrafterSupplyTermIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getHWDDevLayerControlIdList()
|
||||
{
|
||||
if( m_HWDDevLayerControlIdList.size() == 0 )
|
||||
|
@ -12103,6 +12262,12 @@ const std::set< uint32_t >& getMoveVfxIdList()
|
|||
loadIdList( m_MoveVfxDat, m_MoveVfxIdList );
|
||||
return m_MoveVfxIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getMovieStaffListIdList()
|
||||
{
|
||||
if( m_MovieStaffListIdList.size() == 0 )
|
||||
loadIdList( m_MovieStaffListDat, m_MovieStaffListIdList );
|
||||
return m_MovieStaffListIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getMovieSubtitleIdList()
|
||||
{
|
||||
if( m_MovieSubtitleIdList.size() == 0 )
|
||||
|
@ -12583,6 +12748,12 @@ const std::set< uint32_t >& getResidentIdList()
|
|||
loadIdList( m_ResidentDat, m_ResidentIdList );
|
||||
return m_ResidentIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getResistanceWeaponAdjustIdList()
|
||||
{
|
||||
if( m_ResistanceWeaponAdjustIdList.size() == 0 )
|
||||
loadIdList( m_ResistanceWeaponAdjustDat, m_ResistanceWeaponAdjustIdList );
|
||||
return m_ResistanceWeaponAdjustIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getRetainerTaskIdList()
|
||||
{
|
||||
if( m_RetainerTaskIdList.size() == 0 )
|
||||
|
@ -13063,6 +13234,18 @@ const std::set< uint32_t >& getWeatherReportReplaceIdList()
|
|||
loadIdList( m_WeatherReportReplaceDat, m_WeatherReportReplaceIdList );
|
||||
return m_WeatherReportReplaceIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getWebGuidanceIdList()
|
||||
{
|
||||
if( m_WebGuidanceIdList.size() == 0 )
|
||||
loadIdList( m_WebGuidanceDat, m_WebGuidanceIdList );
|
||||
return m_WebGuidanceIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getWebURLIdList()
|
||||
{
|
||||
if( m_WebURLIdList.size() == 0 )
|
||||
loadIdList( m_WebURLDat, m_WebURLIdList );
|
||||
return m_WebURLIdList;
|
||||
}
|
||||
const std::set< uint32_t >& getWeddingBGMIdList()
|
||||
{
|
||||
if( m_WeddingBGMIdList.size() == 0 )
|
||||
|
|
|
@ -43,67 +43,67 @@ namespace Sapphire::Network::Packets
|
|||
*/
|
||||
enum ServerZoneIpcType : uint16_t
|
||||
{
|
||||
Ping = 0x0219, // updated 5.35 hotfix
|
||||
Init = 0x0185, // updated 5.35 hotfix
|
||||
Ping = 0x0183, // updated 5.45 hotfix
|
||||
Init = 0x01EA, // updated 5.45 hotfix
|
||||
|
||||
ActorFreeSpawn = 0x0239, // updated 5.35 hotfix
|
||||
InitZone = 0x03CD, // updated 5.35 hotfix
|
||||
ActorFreeSpawn = 0x0185, // updated 5.45 hotfix
|
||||
InitZone = 0x0233, // updated 5.45 hotfix
|
||||
|
||||
EffectResult = 0x01C2, // updated 5.35 hotfix
|
||||
ActorControl = 0x02A4, // updated 5.35 hotfix
|
||||
ActorControlSelf = 0x02C8, // updated 5.35 hotfix
|
||||
ActorControlTarget = 0x0209, // updated 5.35 hotfix
|
||||
EffectResult = 0x01D7, // updated 5.45 hotfix
|
||||
ActorControl = 0x00C2, // updated 5.45 hotfix
|
||||
ActorControlSelf = 0x03D5, // updated 5.45 hotfix
|
||||
ActorControlTarget = 0x0171, // updated 5.45 hotfix
|
||||
|
||||
/*!
|
||||
* @brief Used when resting
|
||||
*/
|
||||
UpdateHpMpTp = 0x0319, // updated 5.35 hotfix
|
||||
UpdateHpMpTp = 0x019B, // updated 5.45 hotfix
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
|
||||
ChatBanned = 0xF06B,
|
||||
Playtime = 0x03A4, // updated 5.35 hotfix
|
||||
Logout = 0x02AD, // updated 5.35 hotfix
|
||||
CFNotify = 0x02C4, // updated 5.35 hotfix
|
||||
Playtime = 0x0302, // updated 5.45 hotfix
|
||||
Logout = 0x012A, // updated 5.45 hotfix
|
||||
CFNotify = 0x026E, // updated 5.45 hotfix
|
||||
CFMemberStatus = 0x0079,
|
||||
CFDutyInfo = 0x0193, // updated 5.35 hotfix
|
||||
CFDutyInfo = 0x0145, // updated 5.45 hotfix
|
||||
CFPlayerInNeed = 0xF07F,
|
||||
CFPreferredRole = 0x0196, // updated 5.35 hotfix
|
||||
CFCancel = 0x00EC, // updated 5.35 hotfix
|
||||
CFPreferredRole = 0x012E, // updated 5.45 hotfix
|
||||
CFCancel = 0x0312, // updated 5.45 hotfix
|
||||
SocialRequestError = 0xF0AD,
|
||||
|
||||
CFRegistered = 0x010C, // updated 5.35 hotfix
|
||||
SocialRequestResponse = 0x01C7, // updated 5.35 hotfix
|
||||
SocialMessage = 0x0308, // updated 5.35 hotfix
|
||||
SocialMessage2 = 0x037C, // updated 5.35 hotfix
|
||||
CFRegistered = 0x01FB, // updated 5.45 hotfix
|
||||
SocialRequestResponse = 0x03A5, // updated 5.45 hotfix
|
||||
SocialMessage = 0x030C, // updated 5.45 hotfix
|
||||
SocialMessage2 = 0x00BB, // updated 5.45 hotfix
|
||||
CancelAllianceForming = 0x00C6, // updated 4.2
|
||||
|
||||
LogMessage = 0x00D0,
|
||||
|
||||
Chat = 0x0349, // updated 5.35 hotfix
|
||||
Chat = 0x01BA, // updated 5.45 hotfix
|
||||
PartyChat = 0x0065,
|
||||
|
||||
WorldVisitList = 0xF0FE, // added 4.5
|
||||
|
||||
SocialList = 0x0216, // updated 5.35 hotfix
|
||||
SocialList = 0x0315, // updated 5.45 hotfix
|
||||
|
||||
ExamineSearchInfo = 0x03C3, // updated 5.35 hotfix
|
||||
UpdateSearchInfo = 0x0121, // updated 5.35 hotfix
|
||||
InitSearchInfo = 0x036F, // updated 5.35 hotfix
|
||||
ExamineSearchInfo = 0x035F, // updated 5.45 hotfix
|
||||
UpdateSearchInfo = 0x0310, // updated 5.45 hotfix
|
||||
InitSearchInfo = 0x01ED, // updated 5.45 hotfix
|
||||
ExamineSearchComment = 0x0102, // updated 4.1
|
||||
|
||||
ServerNoticeShort = 0x017A, // updated 5.35 hotfix
|
||||
ServerNotice = 0x02F8, // updated 5.35 hotfix
|
||||
SetOnlineStatus = 0x03D7, // updated 5.35 hotfix
|
||||
ServerNoticeShort = 0x03B4, // updated 5.45 hotfix
|
||||
ServerNotice = 0x0354, // updated 5.45 hotfix
|
||||
SetOnlineStatus = 0x0166, // updated 5.45 hotfix
|
||||
|
||||
CountdownInitiate = 0x0237, // updated 5.25
|
||||
CountdownCancel = 0x00D9, // updated 5.18
|
||||
|
||||
PlayerAddedToBlacklist = 0x033F, // updated 5.1
|
||||
PlayerRemovedFromBlacklist = 0x0385, // updated 5.1
|
||||
BlackList = 0x02DB, // updated 5.35 hotfix
|
||||
BlackList = 0x02BD, // updated 5.45 hotfix
|
||||
|
||||
LinkshellList = 0x01F0, // updated 5.35 hotfix
|
||||
LinkshellList = 0x021A, // updated 5.45 hotfix
|
||||
|
||||
MailDeleteRequest = 0xF12B, // updated 5.0
|
||||
|
||||
|
@ -114,87 +114,87 @@ namespace Sapphire::Network::Packets
|
|||
|
||||
MarketTaxRates = 0x01F8, // updated 5.35 hotfix
|
||||
|
||||
MarketBoardSearchResult = 0x032C, // updated 5.35 hotfix
|
||||
MarketBoardItemListingCount = 0x038F, // updated 5.35 hotfix
|
||||
MarketBoardItemListingHistory = 0x0186, // updated 5.35 hotfix
|
||||
MarketBoardItemListing = 0x025F, // updated 5.35 hotfix
|
||||
MarketBoardSearchResult = 0x01D6, // updated 5.45 hotfix
|
||||
MarketBoardItemListingCount = 0x00C0, // updated 5.45 hotfix
|
||||
MarketBoardItemListingHistory = 0x01C3, // updated 5.45 hotfix
|
||||
MarketBoardItemListing = 0x016B, // updated 5.45 hotfix
|
||||
|
||||
CharaFreeCompanyTag = 0x013B, // updated 4.5
|
||||
FreeCompanyBoardMsg = 0x013C, // updated 4.5
|
||||
FreeCompanyInfo = 0xF13D, // updated 4.5
|
||||
FreeCompanyInfo = 0x03D0, // updated 5.45 hotfix
|
||||
ExamineFreeCompanyInfo = 0xF13E, // updated 4.5
|
||||
|
||||
FreeCompanyUpdateShortMessage = 0xF157, // added 5.0
|
||||
|
||||
StatusEffectList = 0x0382, // updated 5.35 hotfix
|
||||
StatusEffectList = 0x0243, // updated 5.45 hotfix
|
||||
EurekaStatusEffectList = 0x0167, // updated 5.18
|
||||
BossStatusEffectList = 0x0312, // added 5.1
|
||||
Effect = 0x0192, // updated 5.35 hotfix
|
||||
AoeEffect8 = 0x012C, // updated 5.35 hotfix
|
||||
AoeEffect16 = 0x01B9, // updated 5.35 hotfix
|
||||
AoeEffect24 = 0x02B4, // updated 5.35 hotfix
|
||||
AoeEffect32 = 0x00A4, // updated 5.35 hotfix
|
||||
PersistantEffect = 0x0317, // updated 5.35 hotfix
|
||||
Effect = 0x027F, // updated 5.45 hotfix
|
||||
AoeEffect8 = 0x009B, // updated 5.45 hotfix
|
||||
AoeEffect16 = 0x028C, // updated 5.45 hotfix
|
||||
AoeEffect24 = 0x02AD, // updated 5.45 hotfix
|
||||
AoeEffect32 = 0x00A7, // updated 5.45 hotfix
|
||||
PersistantEffect = 0x0244, // updated 5.45 hotfix
|
||||
|
||||
GCAffiliation = 0x0105, // updated 5.35 hotfix
|
||||
GCAffiliation = 0x0155, // updated 5.45 hotfix
|
||||
|
||||
PlayerSpawn = 0x0179, // updated 5.35 hotfix
|
||||
NpcSpawn = 0x03A8, // updated 5.35 hotfix
|
||||
PlayerSpawn = 0x01AB, // updated 5.45 hotfix
|
||||
NpcSpawn = 0x02C9, // updated 5.45 hotfix
|
||||
NpcSpawn2 = 0x01CB, // ( Bigger statuseffectlist? ) updated 5.3
|
||||
ActorMove = 0x01BF, // updated 5.35 hotfix
|
||||
ActorMove = 0x006B, // updated 5.45 hotfix
|
||||
|
||||
ActorSetPos = 0x03DF, // updated 5.35 hotfix
|
||||
ActorSetPos = 0x00C6, // updated 5.45 hotfix
|
||||
|
||||
ActorCast = 0x0302, // updated 5.35 hotfix
|
||||
ActorCast = 0x034C, // updated 5.45 hotfix
|
||||
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
|
||||
|
||||
PartyList = 0x02B2, // updated 5.35 hotfix
|
||||
PartyMessage = 0x00AE, // updated 5.35 hotfix
|
||||
HateRank = 0x02CC, // updated 5.35 hotfix
|
||||
HateList = 0x0198, // updated 5.35 hotfix
|
||||
ObjectSpawn = 0x02B8, // updated 5.35 hotfix
|
||||
ObjectDespawn = 0x00C0, // updated 5.35 hotfix
|
||||
UpdateClassInfo = 0x0235, // updated 5.35 hotfix
|
||||
SilentSetClassJob = 0x018E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything
|
||||
PlayerSetup = 0x0290, // updated 5.35 hotfix
|
||||
PlayerStats = 0x023B, // updated 5.35 hotfix
|
||||
ActorOwner = 0x00E8, // updated 5.35 hotfix
|
||||
PlayerStateFlags = 0x00F8, // updated 5.35 hotfix
|
||||
PlayerClassInfo = 0x02C3, // updated 5.35 hotfix
|
||||
CharaVisualEffect = 0x02E2, // updated 5.35 hotfix
|
||||
PartyList = 0x00F5, // updated 5.45 hotfix
|
||||
PartyMessage = 0x01BC, // updated 5.45 hotfix
|
||||
HateRank = 0x0217, // updated 5.45 hotfix
|
||||
HateList = 0x00E5, // updated 5.45 hotfix
|
||||
ObjectSpawn = 0x0336, // updated 5.45 hotfix
|
||||
ObjectDespawn = 0x02D0, // updated 5.45 hotfix
|
||||
UpdateClassInfo = 0x0179, // updated 5.45 hotfix
|
||||
SilentSetClassJob = 0xF18E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything
|
||||
PlayerSetup = 0x01E9, // updated 5.45 hotfix
|
||||
PlayerStats = 0x01CC, // updated 5.45 hotfix
|
||||
ActorOwner = 0x0153, // updated 5.45 hotfix
|
||||
PlayerStateFlags = 0x02DC, // updated 5.45 hotfix
|
||||
PlayerClassInfo = 0x02F0, // updated 5.45 hotfix
|
||||
CharaVisualEffect = 0x026A, // updated 5.45 hotfix
|
||||
|
||||
ModelEquip = 0x0277, // updated 5.35 hotfix
|
||||
Examine = 0x00BC, // updated 5.35 hotfix
|
||||
CharaNameReq = 0x008E, // updated 5.35 hotfix
|
||||
ModelEquip = 0x024A, // updated 5.45 hotfix
|
||||
Examine = 0x0261, // updated 5.45 hotfix
|
||||
CharaNameReq = 0x0380, // updated 5.45 hotfix
|
||||
|
||||
// nb: see #565 on github
|
||||
UpdateRetainerItemSalePrice = 0xF19F, // updated 5.0
|
||||
RetainerSaleHistory = 0x020E, // updated 5.21 hotfix
|
||||
RetainerInformation = 0x01F9, // updated 5.35 hotfix
|
||||
RetainerInformation = 0x026B, // updated 5.45 hotfix
|
||||
|
||||
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
|
||||
|
||||
ItemInfo = 0x0214, // updated 5.35 hotfix
|
||||
ContainerInfo = 0x00C5, // updated 5.35 hotfix
|
||||
InventoryTransactionFinish = 0x02F0, // updated 5.35 hotfix
|
||||
InventoryTransaction = 0x01FD, // updated 5.35 hotfix
|
||||
CurrencyCrystalInfo = 0x0379, // updated 5.35 hotfix
|
||||
ItemInfo = 0x0175, // updated 5.45 hotfix
|
||||
ContainerInfo = 0x0193, // updated 5.45 hotfix
|
||||
InventoryTransactionFinish = 0x00BD, // updated 5.45 hotfix
|
||||
InventoryTransaction = 0x02EE, // updated 5.45 hotfix
|
||||
CurrencyCrystalInfo = 0x0363, // updated 5.45 hotfix
|
||||
|
||||
InventoryActionAck = 0x03E4, // updated 5.35 hotfix
|
||||
UpdateInventorySlot = 0x036A, // updated 5.35 hotfix
|
||||
InventoryActionAck = 0x02FA, // updated 5.45 hotfix
|
||||
UpdateInventorySlot = 0x017D, // updated 5.45 hotfix
|
||||
|
||||
HuntingLogEntry = 0x0146, // updated 5.35 hotfix
|
||||
HuntingLogEntry = 0x0232, // updated 5.45 hotfix
|
||||
|
||||
EventPlay = 0x00F3, // updated 5.35 hotfix
|
||||
EventPlay4 = 0x00AC, // updated 5.35 hotfix
|
||||
EventPlay8 = 0x023F, // updated 5.35 hotfix
|
||||
EventPlay16 = 0x025B, // updated 5.35 hotfix
|
||||
EventPlay32 = 0x029A, // updated 5.35 hotfix
|
||||
EventPlay64 = 0x02C1, // updated 5.35 hotfix
|
||||
EventPlay128 = 0x038A, // updated 5.35 hotfix
|
||||
EventPlay255 = 0x034B, // updated 5.35 hotfix
|
||||
EventPlay = 0x0276, // updated 5.45 hotfix
|
||||
EventPlay4 = 0x028D, // updated 5.45 hotfix
|
||||
EventPlay8 = 0x0318, // updated 5.45 hotfix
|
||||
EventPlay16 = 0x020D, // updated 5.45 hotfix
|
||||
EventPlay32 = 0x03B5, // updated 5.45 hotfix
|
||||
EventPlay64 = 0x039E, // updated 5.45 hotfix
|
||||
EventPlay128 = 0x02F4, // updated 5.45 hotfix
|
||||
EventPlay255 = 0x009D, // updated 5.45 hotfix
|
||||
|
||||
EventYield = 0x037D, // updated 5.35 hotfix
|
||||
EventYield = 0x0268, // updated 5.45 hotfix
|
||||
//EventYield4 = 0x0000,
|
||||
//EventYield8 = 0x0000,
|
||||
//EventYield16 = 0x0000,
|
||||
|
@ -203,29 +203,29 @@ namespace Sapphire::Network::Packets
|
|||
//EventYield128 = 0x0000,
|
||||
//EventYield255 = 0x0000,
|
||||
|
||||
EventStart = 0x009A, // updated 5.35 hotfix
|
||||
EventFinish = 0x007E, // updated 5.35 hotfix
|
||||
EventStart = 0x02DE, // updated 5.45 hotfix
|
||||
EventFinish = 0x01A3, // updated 5.45 hotfix
|
||||
|
||||
EventLinkshell = 0x1169,
|
||||
|
||||
QuestActiveList = 0x0117, // updated 5.35 hotfix
|
||||
QuestUpdate = 0x0073, // updated 5.35 hotfix
|
||||
QuestCompleteList = 0x0240, // updated 5.35 hotfix
|
||||
QuestActiveList = 0x015A, // updated 5.45 hotfix
|
||||
QuestUpdate = 0x037B, // updated 5.45 hotfix
|
||||
QuestCompleteList = 0x0287, // updated 5.45 hotfix
|
||||
|
||||
QuestFinish = 0x00E9, // updated 5.35 hotfix
|
||||
QuestFinish = 0x0066, // updated 5.45 hotfix
|
||||
MSQTrackerComplete = 0xF1D6, // updated 5.0
|
||||
MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474
|
||||
|
||||
QuestMessage = 0x0381, // updated 5.35 hotfix
|
||||
QuestMessage = 0x017B, // updated 5.45 hotfix
|
||||
|
||||
QuestTracker = 0x018B, // updated 5.35 hotfix
|
||||
QuestTracker = 0x01E8, // updated 5.45 hotfix
|
||||
|
||||
Mount = 0x01B5, // updated 5.35 hotfix
|
||||
Mount = 0x0122, // updated 5.45 hotfix
|
||||
|
||||
DirectorVars = 0x011D, // updated 5.35 hotfix
|
||||
DirectorVars = 0x0252, // updated 5.45 hotfix
|
||||
SomeDirectorUnk1 = 0x0084, // updated 5.18
|
||||
SomeDirectorUnk2 = 0xF0C1, // updated 5.18
|
||||
SomeDirectorUnk4 = 0x0202, // updated 5.35 hotfix
|
||||
SomeDirectorUnk4 = 0x0071, // updated 5.45 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
|
||||
|
@ -234,55 +234,58 @@ namespace Sapphire::Network::Packets
|
|||
|
||||
CFAvailableContents = 0xF1FD, // updated 4.2
|
||||
|
||||
WeatherChange = 0x027B, // updated 5.35 hotfix
|
||||
PlayerTitleList = 0x0251, // updated 5.35 hotfix
|
||||
Discovery = 0x031B, // updated 5.35 hotfix
|
||||
WeatherChange = 0x0167, // updated 5.45 hotfix
|
||||
PlayerTitleList = 0x00F3, // updated 5.45 hotfix
|
||||
Discovery = 0x0247, // updated 5.45 hotfix
|
||||
|
||||
EorzeaTimeOffset = 0x01D4, // updated 5.35 hotfix
|
||||
EorzeaTimeOffset = 0x00C5, // updated 5.45 hotfix
|
||||
|
||||
EquipDisplayFlags = 0x00BE, // updated 5.35 hotfix
|
||||
EquipDisplayFlags = 0x0316, // updated 5.45 hotfix
|
||||
|
||||
MiniCactpotInit = 0x0286, // added 5.31
|
||||
ShopMessage = 0x0197, // updated 5.35 hotfix
|
||||
LootMessage = 0x01B7, // updated 5.35 hotfix
|
||||
ShopMessage = 0x02FC, // updated 5.45 hotfix
|
||||
LootMessage = 0x03B8, // updated 5.45 hotfix
|
||||
ResultDialog = 0x0296, // updated 5.45 hotfix
|
||||
DesynthResult = 0x0323, // updated 5.45 hotfix
|
||||
|
||||
/// Housing //////////////////////////////////////
|
||||
|
||||
LandSetInitialize = 0x0095, // updated 5.35 hotfix
|
||||
LandUpdate = 0x00BF, // updated 5.35 hotfix
|
||||
YardObjectSpawn = 0x01CA, // updated 5.35 hotfix
|
||||
HousingIndoorInitialize = 0x01FF, // updated 5.35 hotfix
|
||||
LandPriceUpdate = 0x0380, // updated 5.35 hotfix
|
||||
LandInfoSign = 0x023D, // updated 5.35 hotfix
|
||||
LandRename = 0x0140, // updated 5.35 hotfix
|
||||
HousingEstateGreeting = 0x00C7, // updated 5.35 hotfix
|
||||
HousingUpdateLandFlagsSlot = 0x027E, // updated 5.35 hotfix
|
||||
HousingLandFlags = 0x022F, // updated 5.35 hotfix
|
||||
HousingShowEstateGuestAccess = 0x03B5, // updated 5.35 hotfix
|
||||
LandSetInitialize = 0x03E2, // updated 5.45 hotfix
|
||||
LandUpdate = 0x027E, // updated 5.45 hotfix
|
||||
YardObjectSpawn = 0x010E, // updated 5.45 hotfix
|
||||
HousingIndoorInitialize = 0x01A9, // updated 5.45 hotfix
|
||||
LandPriceUpdate = 0x0379, // updated 5.45 hotfix
|
||||
LandInfoSign = 0x0398, // updated 5.45 hotfix
|
||||
LandRename = 0x00F6, // updated 5.45 hotfix
|
||||
HousingEstateGreeting = 0x037D, // updated 5.45 hotfix
|
||||
HousingUpdateLandFlagsSlot = 0x03AF, // updated 5.45 hotfix
|
||||
HousingLandFlags = 0x033B, // updated 5.45 hotfix
|
||||
HousingShowEstateGuestAccess = 0x01B3, // updated 5.45 hotfix
|
||||
|
||||
HousingObjectInitialize = 0x01AA, // updated 5.35 hotfix
|
||||
HousingInternalObjectSpawn = 0x0234, // updated 5.35 hotfix
|
||||
HousingObjectInitialize = 0x00B5, // updated 5.45 hotfix
|
||||
HousingInternalObjectSpawn = 0x00BC, // updated 5.45 hotfix
|
||||
|
||||
HousingWardInfo = 0x02FD, // updated 5.35 hotfix
|
||||
HousingObjectMove = 0x022C, // updated 5.35 hotfix
|
||||
HousingWardInfo = 0x015E, // updated 5.45 hotfix
|
||||
HousingObjectMove = 0x03E6, // updated 5.45 hotfix
|
||||
|
||||
SharedEstateSettingsResponse = 0x006A, // updated 5.35 hotfix
|
||||
SharedEstateSettingsResponse = 0x03A4, // updated 5.45 hotfix
|
||||
|
||||
LandUpdateHouseName = 0x00B1, // updated 5.35 hotfix
|
||||
LandUpdateHouseName = 0x0215, // updated 5.45 hotfix
|
||||
|
||||
LandSetMap = 0x0149, // updated 5.35 hotfix
|
||||
LandSetMap = 0x0103, // updated 5.45 hotfix
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui
|
||||
PerformNote = 0x0286, // updated 4.3
|
||||
|
||||
PrepareZoning = 0x026C, // updated 5.35 hotfix
|
||||
ActorGauge = 0x0112, // updated 5.35 hotfix
|
||||
PrepareZoning = 0x01EE, // updated 5.45 hotfix
|
||||
ActorGauge = 0x018E, // updated 5.45 hotfix
|
||||
DutyGauge = 0x00D2, // updated 5.45 hotfix
|
||||
|
||||
// daily quest info -> without them sent, login will take longer...
|
||||
DailyQuests = 0x0139, // updated 5.35 hotfix
|
||||
DailyQuestRepeatFlags = 0x024C, // updated 5.35 hotfix
|
||||
DailyQuests = 0x02C4, // updated 5.45 hotfix
|
||||
DailyQuestRepeatFlags = 0x024D, // updated 5.45 hotfix
|
||||
|
||||
/// Doman Mahjong //////////////////////////////////////
|
||||
MahjongOpenGui = 0x02A4, // only available in mahjong instance
|
||||
|
@ -295,6 +298,16 @@ namespace Sapphire::Network::Packets
|
|||
// 2C3 and 2C4 are currently unknown
|
||||
MahjongEndRoundDraw = 0x02C5, // self explanatory
|
||||
MahjongEndGame = 0x02C6, // finished oorasu(all-last) round; shows a result screen.
|
||||
|
||||
/// Airship & Submarine //////////////////////////////////////
|
||||
AirshipExplorationResult = 0x0131, // updated 5.45 hotfix
|
||||
AirshipStatus = 0x0253, // updated 5.45 hotfix
|
||||
AirshipStatusList = 0x0391, // updated 5.45 hotfix
|
||||
AirshipTimers = 0x0206, // updated 5.45 hotfix
|
||||
SubmarineExplorationResult = 0x00EB, // updated 5.45 hotfix
|
||||
SubmarineProgressionStatus = 0x0333, // updated 5.45 hotfix
|
||||
SubmarineStatusList = 0x01F2, // updated 5.45 hotfix
|
||||
SubmarineTimers = 0x013B, // updated 5.45 hotfix
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -302,43 +315,43 @@ namespace Sapphire::Network::Packets
|
|||
*/
|
||||
enum ClientZoneIpcType : uint16_t
|
||||
{
|
||||
PingHandler = 0x0219, // updated 5.35 hotfix
|
||||
InitHandler = 0x0185, // updated 5.35 hotfix
|
||||
PingHandler = 0x0183, // updated 5.45 hotfix
|
||||
InitHandler = 0x01EA, // updated 5.45 hotfix
|
||||
|
||||
FinishLoadingHandler = 0x01BE, // updated 5.35 hotfix
|
||||
FinishLoadingHandler = 0x023F, // updated 5.45 hotfix
|
||||
|
||||
CFCommenceHandler = 0x0118, // updated 5.35 hotfix
|
||||
|
||||
CFCancelHandler = 0x0332, // updated 5.35 hotfix
|
||||
CFRegisterDuty = 0x0289, // updated 5.35 hotfix
|
||||
CFRegisterRoulette = 0x0088, // updated 5.35 hotfix
|
||||
PlayTimeHandler = 0x02A8, // updated 5.35 hotfix
|
||||
LogoutHandler = 0x00EC, // updated 5.35 hotfix
|
||||
CancelLogout = 0x03DB, // updated 5.35 hotfix
|
||||
CFRegisterDuty = 0x033C, // updated 5.45 hotfix
|
||||
CFRegisterRoulette = 0x0121, // updated 5.45 hotfix
|
||||
PlayTimeHandler = 0x0096, // updated 5.45 hotfix
|
||||
LogoutHandler = 0x0312, // updated 5.45 hotfix
|
||||
CancelLogout = 0x0307, // updated 5.45 hotfix
|
||||
|
||||
CFDutyInfoHandler = 0x0078, // updated 4.2
|
||||
|
||||
SocialReqSendHandler = 0x0387, // updated 5.35 hotfix
|
||||
SocialResponseHandler = 0x028D, // updated 5.35 hotfix
|
||||
SocialReqSendHandler = 0x0288, // updated 5.45 hotfix
|
||||
SocialResponseHandler = 0x029B, // updated 5.45 hotfix
|
||||
CreateCrossWorldLS = 0x00AF, // updated 4.3
|
||||
|
||||
ChatHandler = 0x0131, // updated 5.35 hotfix
|
||||
ChatHandler = 0x00A4, // updated 5.45 hotfix
|
||||
PartyChatHandler = 0x0065,
|
||||
PartySetLeaderHandler = 0x0208, // updated 5.35 hotfix
|
||||
LeavePartyHandler = 0x0337, // updated 5.35 hotfix
|
||||
KickPartyMemberHandler = 0x014C, // updated 5.35 hotfix
|
||||
DisbandPartyHandler = 0x0205, // updated 5.35 hotfix
|
||||
PartySetLeaderHandler = 0x02EF, // updated 5.45 hotfix
|
||||
LeavePartyHandler = 0x017E, // updated 5.45 hotfix
|
||||
KickPartyMemberHandler = 0x0070, // updated 5.45 hotfix
|
||||
DisbandPartyHandler = 0x037A, // updated 5.45 hotfix
|
||||
|
||||
SocialListHandler = 0x0340, // updated 5.35 hotfix
|
||||
SetSearchInfoHandler = 0x0314, // updated 5.35 hotfix
|
||||
ReqSearchInfoHandler = 0x01E9, // updated 5.35 hotfix
|
||||
SocialListHandler = 0x02B0, // updated 5.45 hotfix
|
||||
SetSearchInfoHandler = 0x0111, // updated 5.45 hotfix
|
||||
ReqSearchInfoHandler = 0x03AC, // updated 5.45 hotfix
|
||||
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
|
||||
|
||||
ReqRemovePlayerFromBlacklist = 0x00F1, // updated 5.0
|
||||
BlackListHandler = 0x0079, // updated 5.35 hotfix
|
||||
BlackListHandler = 0x02CD, // updated 5.45 hotfix
|
||||
PlayerSearchHandler = 0x00F4, // updated 5.0
|
||||
|
||||
LinkshellListHandler = 0x024B, // updated 5.35 hotfix
|
||||
LinkshellListHandler = 0x0258, // updated 5.45 hotfix
|
||||
|
||||
MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5
|
||||
MarketBoardRequestItemListings = 0x0103, // updated 4.5
|
||||
|
@ -357,55 +370,55 @@ namespace Sapphire::Network::Packets
|
|||
ReqCountdownInitiate = 0x025F, // updated 5.35 hotfix
|
||||
ReqCountdownCancel = 0x0244, // updated 5.25
|
||||
|
||||
ZoneLineHandler = 0x0279, // updated 5.35 hotfix
|
||||
ClientTrigger = 0x03D3, // updated 5.35 hotfix
|
||||
ZoneLineHandler = 0x00BA, // updated 5.45 hotfix
|
||||
ClientTrigger = 0x0146, // updated 5.45 hotfix
|
||||
DiscoveryHandler = 0x00E3, // updated 5.35 hotfix
|
||||
|
||||
PlaceFieldMarkerPreset = 0x023F, // updated 5.25
|
||||
PlaceFieldMarker = 0x01BA, // updated 5.25
|
||||
SkillHandler = 0x01CD, // updated 5.35 hotfix
|
||||
GMCommand1 = 0x02AC, // updated 5.35 hotfix
|
||||
GMCommand2 = 0x029F, // updated 5.35 hotfix
|
||||
AoESkillHandler = 0x030C, // updated 5.35 hotfix
|
||||
PlaceFieldMarkerPreset = 0x01D3, // updated 5.45 hotfix
|
||||
PlaceFieldMarker = 0x0392, // updated 5.45 hotfix
|
||||
SkillHandler = 0x0388, // updated 5.45 hotfix
|
||||
GMCommand1 = 0x01E0, // updated 5.45 hotfix
|
||||
GMCommand2 = 0x0114, // updated 5.45 hotfix
|
||||
AoESkillHandler = 0x03A0, // updated 5.45 hotfix
|
||||
|
||||
UpdatePositionHandler = 0x0236, // updated 5.35 hotfix
|
||||
UpdatePositionHandler = 0x031A, // updated 5.45 hotfix
|
||||
|
||||
InventoryModifyHandler = 0x0135, // updated 5.35 hotfix
|
||||
InventoryModifyHandler = 0x0110, // updated 5.45 hotfix
|
||||
|
||||
InventoryEquipRecommendedItems = 0x0116, // updated 5.35 hotfix
|
||||
InventoryEquipRecommendedItems = 0x0186, // updated 5.45 hotfix
|
||||
|
||||
ReqPlaceHousingItem = 0x02AE, // updated 5.35 hotfix
|
||||
BuildPresetHandler = 0x01C2, // updated 5.35 hotfix
|
||||
ReqPlaceHousingItem = 0x0360, // updated 5.45 hotfix
|
||||
BuildPresetHandler = 0x01D7, // updated 5.45 hotfix
|
||||
|
||||
TalkEventHandler = 0x02A4, // updated 5.35 hotfix
|
||||
EmoteEventHandler = 0x02C8, // updated 5.35 hotfix
|
||||
WithinRangeEventHandler = 0x0209, // updated 5.35 hotfix
|
||||
OutOfRangeEventHandler = 0x0319, // updated 5.35 hotfix
|
||||
EnterTeriEventHandler = 0x0192, // updated 5.35 hotfix
|
||||
ShopEventHandler = 0x01F6, // updated 5.35 hotfix
|
||||
EventYieldHandler = 0x0128, // updated 5.35 hotfix
|
||||
ReturnEventHandler = 0x02B4, // updated 5.35 hotfix
|
||||
TradeReturnEventHandler = 0x00A4, // updated 5.35 hotfix
|
||||
TalkEventHandler = 0x00C2, // updated 5.45 hotfix
|
||||
EmoteEventHandler = 0x03D5, // updated 5.45 hotfix
|
||||
WithinRangeEventHandler = 0x0171, // updated 5.45 hotfix
|
||||
OutOfRangeEventHandler = 0x019B, // updated 5.45 hotfix
|
||||
EnterTeriEventHandler = 0x027F, // updated 5.45 hotfix
|
||||
ShopEventHandler = 0x03D4, // updated 5.45 hotfix
|
||||
EventYieldHandler = 0x0230, // updated 5.45 hotfix
|
||||
ReturnEventHandler = 0x02AD, // updated 5.45 hotfix
|
||||
TradeReturnEventHandler = 0x00A7, // updated 5.45 hotfix
|
||||
TradeMultipleReturnEventHander = 0x035C, // updated 5.35 hotfix
|
||||
|
||||
LinkshellEventHandler = 0x016B, // updated 4.5
|
||||
LinkshellEventHandler1 = 0x016C, // updated 4.5
|
||||
|
||||
ReqEquipDisplayFlagsChange = 0x02F6, // updated 5.35 hotfix
|
||||
ReqEquipDisplayFlagsChange = 0x03B0, // updated 5.45 hotfix
|
||||
|
||||
LandRenameHandler = 0x0155, // updated 5.35 hotfix
|
||||
HousingUpdateHouseGreeting = 0x02EA, // updated 5.35 hotfix
|
||||
HousingUpdateObjectPosition = 0x00D5, // updated 5.35 hotfix
|
||||
HousingEditExterior = 0x0098, // updated 5.35 hotfix
|
||||
LandRenameHandler = 0x0187, // updated 5.45 hotfix
|
||||
HousingUpdateHouseGreeting = 0x0367, // updated 5.45 hotfix
|
||||
HousingUpdateObjectPosition = 0x0265, // updated 5.45 hotfix
|
||||
HousingEditExterior = 0x0297, // updated 5.45 hotfix
|
||||
|
||||
SetSharedEstateSettings = 0x017B, // updated 5.0
|
||||
SetSharedEstateSettings = 0x0146, // updated 5.45 hotfix
|
||||
|
||||
UpdatePositionInstance = 0x0345, // updated 5.35 hotfix
|
||||
UpdatePositionInstance = 0x034E, // updated 5.45 hotfix
|
||||
|
||||
PerformNoteHandler = 0x029B, // updated 4.3
|
||||
|
||||
WorldInteractionHandler = 0x00A9, // updated 5.35 hotfix
|
||||
Dive = 0x02CC, // updated 5.35 hotfix
|
||||
WorldInteractionHandler = 0x02E4, // updated 5.45 hotfix
|
||||
Dive = 0x00F1, // updated 5.45 hotfix
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -1046,8 +1046,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
unsigned char companionDefRank;
|
||||
unsigned char companionAttRank;
|
||||
unsigned char companionHealRank;
|
||||
unsigned char mountGuideMask[23];
|
||||
unsigned char maybeReservedMountSlots;
|
||||
unsigned char mountGuideMask[27];
|
||||
//==
|
||||
char name[32];
|
||||
unsigned char unknownOword[16];
|
||||
|
@ -1056,10 +1055,11 @@ namespace Sapphire::Network::Packets::Server
|
|||
unsigned char aetheryte[21];
|
||||
unsigned char discovery[445];
|
||||
unsigned char howto[34];
|
||||
unsigned char minions[51];
|
||||
unsigned char minions[53];
|
||||
unsigned char chocoboTaxiMask[10];
|
||||
unsigned char watchedCutscenes[131];
|
||||
unsigned char watchedCutscenes[135];
|
||||
unsigned char companionBardingMask[10];
|
||||
unsigned char unknown5_45a; // companionBardingMask[11]?
|
||||
unsigned char companionEquippedHead;
|
||||
unsigned char companionEquippedBody;
|
||||
unsigned char companionEquippedLegs;
|
||||
|
@ -1074,7 +1074,7 @@ namespace Sapphire::Network::Packets::Server
|
|||
unsigned char unknownPvp5AB[11];
|
||||
unsigned char unknown5B9[5];
|
||||
*/
|
||||
unsigned char unknown5_3c[234];
|
||||
unsigned char unknown5_45b[236];
|
||||
//==
|
||||
unsigned char pose;
|
||||
/*
|
||||
|
@ -1092,28 +1092,32 @@ namespace Sapphire::Network::Packets::Server
|
|||
unsigned char aetherCurrentMask[22];
|
||||
unsigned char u10[3];
|
||||
*/
|
||||
unsigned char unknown5_3d[292];
|
||||
unsigned char unknown5_45c[294];
|
||||
//==
|
||||
unsigned char orchestrionMask[40];
|
||||
unsigned char orchestrionMask[40]; // this field may already be extended, if it is, the beginning bytes are at the end of unknown5_45c
|
||||
unsigned char hallOfNoviceCompletion[3];
|
||||
unsigned char animaCompletion[11];
|
||||
unsigned char unknown5_3e[33];
|
||||
unsigned char unlockedRaids[28];
|
||||
unsigned char unlockedDungeons[18];
|
||||
unsigned char unlockedGuildhests[10];
|
||||
unsigned char unlockedTrials[9]; // 5.35 trial:pvp either 9:5 or 8:6 not confirmed
|
||||
unsigned char unlockedPvp[5];
|
||||
/*
|
||||
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 clearedRaids[28];
|
||||
unsigned char clearedDungeons[18];
|
||||
unsigned char clearedGuildhests[10];
|
||||
unsigned char clearedTrials[9];
|
||||
unsigned char clearedPvp[5];
|
||||
unsigned char clearedPvp[6];
|
||||
/*
|
||||
unsigned short fishingRecordsFishWeight[26];
|
||||
unsigned int exploratoryMissionNextTimestamp;
|
||||
unsigned char pvpLevel;
|
||||
*/
|
||||
unsigned char padding2[8];
|
||||
unsigned char unknown5_45d[8];
|
||||
//==
|
||||
};
|
||||
|
||||
|
|
|
@ -452,8 +452,8 @@ void Lobby::GameConnection::generateEncryptionKey( uint32_t key, const std::stri
|
|||
m_baseKey[ 2 ] = 0x34;
|
||||
m_baseKey[ 3 ] = 0x12;
|
||||
memcpy( m_baseKey + 0x04, &key, 4 );
|
||||
m_baseKey[ 8 ] = 0x88;
|
||||
m_baseKey[ 9 ] = 0x13;
|
||||
m_baseKey[ 8 ] = 0x18;
|
||||
m_baseKey[ 9 ] = 0x15;
|
||||
memcpy( ( char* ) m_baseKey + 0x0C, keyPhrase.c_str(), keyPhrase.size() );
|
||||
Common::Util::md5( m_baseKey, m_encKey, 0x2C );
|
||||
}
|
||||
|
|
|
@ -1068,7 +1068,7 @@ namespace Sapphire::Entity
|
|||
uint8_t m_titleList[48];
|
||||
uint8_t m_howTo[34];
|
||||
uint8_t m_minions[40];
|
||||
uint8_t m_mountGuide[22];
|
||||
uint8_t m_mountGuide[27];
|
||||
uint8_t m_homePoint;
|
||||
uint8_t m_startTown;
|
||||
uint16_t m_townWarpFstFlags;
|
||||
|
|
|
@ -580,9 +580,9 @@ Sapphire::ItemPtr Sapphire::Entity::Player::addItem( ItemPtr itemToAdd, bool sil
|
|||
bool foundFreeSlot = false;
|
||||
|
||||
std::vector< uint16_t > bags = { Bag0, Bag1, Bag2, Bag3 };
|
||||
|
||||
sendDebug( "adding item: {}, equipSlotCategory: {}, stackSize: {}", itemToAdd->getId(), itemInfo->equipSlotCategory, itemInfo->stackSize );
|
||||
// add the related armoury bag to the applicable bags and try and fill a free slot there before falling back to regular inventory
|
||||
if( itemInfo->isEquippable && getEquipDisplayFlags() & StoreNewItemsInArmouryChest )
|
||||
if( itemInfo->equipSlotCategory > 0 && getEquipDisplayFlags() & StoreNewItemsInArmouryChest )
|
||||
{
|
||||
auto bag = World::Manager::ItemMgr::getCharaEquipSlotCategoryToArmoryId( static_cast< Common::EquipSlotCategory >( itemInfo->equipSlotCategory ) );
|
||||
|
||||
|
@ -601,7 +601,7 @@ Sapphire::ItemPtr Sapphire::Entity::Player::addItem( ItemPtr itemToAdd, bool sil
|
|||
auto item = storage->getItem( slot );
|
||||
|
||||
// add any items that are stackable
|
||||
if( canMerge && item && !itemInfo->isEquippable && item->getId() == itemToAdd->getId() )
|
||||
if( canMerge && item && item->getMaxStackSize() > 1 && item->getId() == itemToAdd->getId() )
|
||||
{
|
||||
uint32_t count = item->getStackSize();
|
||||
uint32_t maxStack = item->getMaxStackSize();
|
||||
|
|
|
@ -32,51 +32,51 @@ uint16_t Sapphire::World::Manager::ItemMgr::getCharaEquipSlotCategoryToArmoryId(
|
|||
|
||||
switch( slot )
|
||||
{
|
||||
case Common::EquipSlotCategory::CharaHead:
|
||||
case Common::EquipSlotCategory::Head:
|
||||
return Common::ArmoryHead;
|
||||
|
||||
case Common::EquipSlotCategory::CharaBody:
|
||||
//case Common::EquipSlotCategory::BodyDisallowHead:
|
||||
//case Common::EquipSlotCategory::BodyDisallowHandsLegsFeet:
|
||||
//case Common::EquipSlotCategory::BodyDisallowAll:
|
||||
//case Common::EquipSlotCategory::BodyDisallowHands:
|
||||
//case Common::EquipSlotCategory::BodyDisallowLegsFeet:
|
||||
case Common::EquipSlotCategory::Body:
|
||||
case Common::EquipSlotCategory::BodyDisallowHead:
|
||||
case Common::EquipSlotCategory::BodyDisallowHandsLegsFeet:
|
||||
case Common::EquipSlotCategory::BodyDisallowAll:
|
||||
case Common::EquipSlotCategory::BodyDisallowHands:
|
||||
case Common::EquipSlotCategory::BodyDisallowLegsFeet:
|
||||
return Common::ArmoryBody;
|
||||
|
||||
case Common::EquipSlotCategory::CharaEars:
|
||||
case Common::EquipSlotCategory::Ears:
|
||||
return Common::ArmoryEar;
|
||||
|
||||
case Common::EquipSlotCategory::CharaFeet:
|
||||
case Common::EquipSlotCategory::Feet:
|
||||
return Common::ArmoryFeet;
|
||||
|
||||
case Common::EquipSlotCategory::CharaHands:
|
||||
case Common::EquipSlotCategory::Hands:
|
||||
return Common::ArmoryHand;
|
||||
|
||||
case Common::EquipSlotCategory::CharaLegs:
|
||||
//case Common::EquipSlotCategory::LegsDisallowFeet:
|
||||
case Common::EquipSlotCategory::Legs:
|
||||
case Common::EquipSlotCategory::LegsDisallowFeet:
|
||||
return Common::ArmoryLegs;
|
||||
|
||||
case Common::EquipSlotCategory::CharaMainHand:
|
||||
//case Common::EquipSlotCategory::MainTwoHandedWeapon:
|
||||
case Common::EquipSlotCategory::MainHand:
|
||||
case Common::EquipSlotCategory::MainTwoHandedWeapon:
|
||||
//case Common::EquipSlotCategory::MainOrOffHand:
|
||||
return Common::ArmoryMain;
|
||||
|
||||
case Common::EquipSlotCategory::CharaOffHand:
|
||||
case Common::EquipSlotCategory::OffHand:
|
||||
return Common::ArmoryOff;
|
||||
|
||||
case Common::EquipSlotCategory::CharaRing:
|
||||
case Common::EquipSlotCategory::Ring:
|
||||
return Common::ArmoryRing;
|
||||
|
||||
case Common::EquipSlotCategory::CharaWaist:
|
||||
case Common::EquipSlotCategory::Waist:
|
||||
return Common::ArmoryWaist;
|
||||
|
||||
case Common::EquipSlotCategory::CharaWrist:
|
||||
case Common::EquipSlotCategory::Wrist:
|
||||
return Common::ArmoryWrist;
|
||||
|
||||
case Common::EquipSlotCategory::CharaNeck:
|
||||
case Common::EquipSlotCategory::Neck:
|
||||
return Common::ArmoryNeck;
|
||||
|
||||
case Common::EquipSlotCategory::CharaSoulCrystal:
|
||||
case Common::EquipSlotCategory::SoulCrystal:
|
||||
return Common::ArmorySoulCrystal;
|
||||
|
||||
default:
|
||||
|
|
Loading…
Add table
Reference in a new issue