diff --git a/src/common/Exd/ExdDataGenerated.cpp b/src/common/Exd/ExdDataGenerated.cpp index 04c8fa1e..a04c621e 100644 --- a/src/common/Exd/ExdDataGenerated.cpp +++ b/src/common/Exd/ExdDataGenerated.cpp @@ -22,7 +22,7 @@ Sapphire::Data::Achievement::Achievement( uint32_t row_id, Sapphire::Data::ExdDa data.push_back( exdData->getField< int32_t >( row, 16 ) ); data.push_back( exdData->getField< int32_t >( row, 17 ) ); order = exdData->getField< uint16_t >( row, 18 ); - initialHide = exdData->getField< uint8_t >( row, 20 ); + achievementHideCondition = exdData->getField< uint8_t >( row, 20 ); } Sapphire::Data::AchievementCategory::AchievementCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -33,6 +33,14 @@ Sapphire::Data::AchievementCategory::AchievementCategory( uint32_t row_id, Sapph hideCategory = exdData->getField< bool >( row, 3 ); } +Sapphire::Data::AchievementHideCondition::AchievementHideCondition( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AchievementHideConditionDat.get_row( row_id ); + hideAchievement = exdData->getField< bool >( row, 0 ); + hideName = exdData->getField< bool >( row, 1 ); + hideConditions = exdData->getField< bool >( row, 2 ); +} + Sapphire::Data::AchievementKind::AchievementKind( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_AchievementKindDat.get_row( row_id ); @@ -50,6 +58,7 @@ Sapphire::Data::Action::Action( uint32_t row_id, Sapphire::Data::ExdDataGenerate animationEnd = exdData->getField< int16_t >( row, 7 ); actionTimelineHit = exdData->getField< uint16_t >( row, 8 ); classJob = exdData->getField< int8_t >( row, 10 ); + behaviourType = exdData->getField< uint8_t >( row, 11 ); classJobLevel = exdData->getField< uint8_t >( row, 12 ); isRoleAction = exdData->getField< bool >( row, 13 ); range = exdData->getField< int8_t >( row, 14 ); @@ -71,6 +80,7 @@ Sapphire::Data::Action::Action( uint32_t row_id, Sapphire::Data::ExdDataGenerate cast100ms = exdData->getField< uint16_t >( row, 37 ); recast100ms = exdData->getField< uint16_t >( row, 38 ); cooldownGroup = exdData->getField< uint8_t >( row, 39 ); + maxCharges = exdData->getField< uint8_t >( row, 41 ); attackType = exdData->getField< int8_t >( row, 42 ); aspect = exdData->getField< uint8_t >( row, 43 ); actionProcStatus = exdData->getField< uint8_t >( row, 44 ); @@ -78,7 +88,7 @@ Sapphire::Data::Action::Action( uint32_t row_id, Sapphire::Data::ExdDataGenerate unlockLink = exdData->getField< uint32_t >( row, 47 ); classJobCategory = exdData->getField< uint8_t >( row, 48 ); affectsPosition = exdData->getField< bool >( row, 51 ); - omen = exdData->getField< uint8_t >( row, 52 ); + omen = exdData->getField< uint16_t >( row, 52 ); isPvP = exdData->getField< bool >( row, 53 ); isPlayerAction = exdData->getField< bool >( row, 65 ); } @@ -197,14 +207,6 @@ Sapphire::Data::Addon::Addon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* text = exdData->getField< std::string >( row, 0 ); } -Sapphire::Data::AddonHud::AddonHud( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) -{ - auto row = exdData->m_AddonHudDat.get_row( row_id ); - _long = exdData->getField< std::string >( row, 0 ); - _short = exdData->getField< std::string >( row, 1 ); - function = exdData->getField< std::string >( row, 2 ); -} - Sapphire::Data::Adventure::Adventure( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_AdventureDat.get_row( row_id ); @@ -284,11 +286,11 @@ Sapphire::Data::Aetheryte::Aetheryte( uint32_t row_id, Sapphire::Data::ExdDataGe level.push_back( exdData->getField< uint32_t >( row, 13 ) ); level.push_back( exdData->getField< uint32_t >( row, 14 ) ); isAetheryte = exdData->getField< bool >( row, 15 ); - aethernetGroup = exdData->getField< uint8_t >( row, 16 ); - requiredQuest = exdData->getField< uint32_t >( row, 18 ); - map = exdData->getField< uint16_t >( row, 19 ); - aetherstreamX = exdData->getField< int16_t >( row, 20 ); - aetherstreamY = exdData->getField< int16_t >( row, 21 ); + aethernetGroup = exdData->getField< uint8_t >( row, 17 ); + requiredQuest = exdData->getField< uint32_t >( row, 19 ); + map = exdData->getField< uint16_t >( row, 20 ); + aetherstreamX = exdData->getField< int16_t >( row, 21 ); + aetherstreamY = exdData->getField< int16_t >( row, 22 ); } Sapphire::Data::AetheryteSystemDefine::AetheryteSystemDefine( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -674,6 +676,35 @@ Sapphire::Data::Behavior::Behavior( uint32_t row_id, uint32_t subRow, Sapphire:: balloon = exdData->getField< uint16_t >( row, 7 ); } +Sapphire::Data::BenchmarkOverrideEquipment::BenchmarkOverrideEquipment( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BenchmarkOverrideEquipmentDat.get_row( row_id ); + modelMainHand = exdData->getField< uint64_t >( row, 4 ); + dyeMainHand = exdData->getField< uint8_t >( row, 5 ); + modelOffHand = exdData->getField< uint64_t >( row, 6 ); + dyeOffHand = exdData->getField< uint8_t >( row, 7 ); + modelHead = exdData->getField< uint32_t >( row, 10 ); + dyeHead = exdData->getField< uint8_t >( row, 11 ); + modelBody = exdData->getField< uint32_t >( row, 12 ); + dyeBody = exdData->getField< uint8_t >( row, 13 ); + modelHands = exdData->getField< uint32_t >( row, 14 ); + dyeHands = exdData->getField< uint8_t >( row, 15 ); + modelLegs = exdData->getField< uint32_t >( row, 16 ); + dyeLegs = exdData->getField< uint8_t >( row, 17 ); + modelFeet = exdData->getField< uint32_t >( row, 18 ); + dyeFeet = exdData->getField< uint8_t >( row, 19 ); + modelEars = exdData->getField< uint32_t >( row, 20 ); + dyeEars = exdData->getField< uint8_t >( row, 21 ); + modelNeck = exdData->getField< uint32_t >( row, 22 ); + dyeNeck = exdData->getField< uint8_t >( row, 23 ); + modelWrists = exdData->getField< uint32_t >( row, 24 ); + dyeWrists = exdData->getField< uint8_t >( row, 25 ); + modelLeftRing = exdData->getField< uint32_t >( row, 26 ); + dyeLeftRing = exdData->getField< uint8_t >( row, 27 ); + modelRightRing = exdData->getField< uint32_t >( row, 28 ); + dyeRightRing = exdData->getField< uint8_t >( row, 29 ); +} + Sapphire::Data::BGM::BGM( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_BGMDat.get_row( row_id ); @@ -955,6 +986,7 @@ Sapphire::Data::Calendar::Calendar( uint32_t row_id, Sapphire::Data::ExdDataGene Sapphire::Data::CharaMakeCustomize::CharaMakeCustomize( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_CharaMakeCustomizeDat.get_row( row_id ); + featureID = exdData->getField< uint8_t >( row, 0 ); icon = exdData->getField< uint32_t >( row, 1 ); data = exdData->getField< uint16_t >( row, 2 ); isPurchasable = exdData->getField< bool >( row, 3 ); @@ -966,6 +998,8 @@ Sapphire::Data::CharaMakeType::CharaMakeType( uint32_t row_id, Sapphire::Data::E race = exdData->getField< int32_t >( row, 0 ); tribe = exdData->getField< int32_t >( row, 1 ); gender = exdData->getField< int8_t >( row, 2 ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3291 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3292 ) ); facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3293 ) ); facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3294 ) ); facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3295 ) ); @@ -1115,6 +1149,7 @@ Sapphire::Data::ClassJob::ClassJob( uint32_t row_id, Sapphire::Data::ExdDataGene abbreviation = exdData->getField< std::string >( row, 1 ); classJobCategory = exdData->getField< uint8_t >( row, 3 ); expArrayIndex = exdData->getField< int8_t >( row, 4 ); + jobIndex = exdData->getField< uint8_t >( row, 7 ); modifierHitPoints = exdData->getField< uint16_t >( row, 9 ); modifierManaPoints = exdData->getField< uint16_t >( row, 10 ); modifierStrength = exdData->getField< uint16_t >( row, 11 ); @@ -1132,6 +1167,7 @@ Sapphire::Data::ClassJob::ClassJob( uint32_t row_id, Sapphire::Data::ExdDataGene limitBreak1 = exdData->getField< uint16_t >( row, 34 ); limitBreak2 = exdData->getField< uint16_t >( row, 35 ); limitBreak3 = exdData->getField< uint16_t >( row, 36 ); + uIPriority = exdData->getField< uint8_t >( row, 37 ); itemSoulCrystal = exdData->getField< uint32_t >( row, 38 ); unlockQuest = exdData->getField< uint32_t >( row, 39 ); relicQuest = exdData->getField< uint32_t >( row, 40 ); @@ -1139,6 +1175,7 @@ Sapphire::Data::ClassJob::ClassJob( uint32_t row_id, Sapphire::Data::ExdDataGene startingLevel = exdData->getField< uint8_t >( row, 42 ); partyBonus = exdData->getField< uint8_t >( row, 43 ); isLimitedJob = exdData->getField< bool >( row, 44 ); + canQueueForDuty = exdData->getField< bool >( row, 45 ); } Sapphire::Data::ClassJobCategory::ClassJobCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -1181,6 +1218,9 @@ Sapphire::Data::ClassJobCategory::ClassJobCategory( uint32_t row_id, Sapphire::D aST = exdData->getField< bool >( row, 34 ); sAM = exdData->getField< bool >( row, 35 ); rDM = exdData->getField< bool >( row, 36 ); + bLU = exdData->getField< bool >( row, 37 ); + gNB = exdData->getField< bool >( row, 38 ); + dNC = exdData->getField< bool >( row, 39 ); } Sapphire::Data::Companion::Companion( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -1383,6 +1423,7 @@ Sapphire::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, classJobLevelSync = exdData->getField< uint8_t >( row, 16 ); itemLevelRequired = exdData->getField< uint16_t >( row, 17 ); itemLevelSync = exdData->getField< uint16_t >( row, 18 ); + allowUndersized = exdData->getField< bool >( row, 19 ); allowReplacement = exdData->getField< bool >( row, 20 ); highEndDuty = exdData->getField< bool >( row, 26 ); dutyRecorderAllowed = exdData->getField< bool >( row, 30 ); @@ -1450,6 +1491,12 @@ Sapphire::Data::ContentNpcTalk::ContentNpcTalk( uint32_t row_id, Sapphire::Data: contentTalk.push_back( exdData->getField< uint32_t >( row, 8 ) ); } +Sapphire::Data::ContentRandomSelect::ContentRandomSelect( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ContentRandomSelectDat.get_row( row_id, subRow ); + name = exdData->getField< uint16_t >( row, 0 ); +} + Sapphire::Data::ContentRoulette::ContentRoulette( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ContentRouletteDat.get_row( row_id ); @@ -1556,6 +1603,14 @@ Sapphire::Data::CraftLeve::CraftLeve( uint32_t row_id, Sapphire::Data::ExdDataGe repeats = exdData->getField< uint8_t >( row, 2 ); } +Sapphire::Data::CraftLevelDifference::CraftLevelDifference( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CraftLevelDifferenceDat.get_row( row_id ); + difference = exdData->getField< int16_t >( row, 0 ); + progressFactor = exdData->getField< int16_t >( row, 1 ); + qualityFactor = exdData->getField< int16_t >( row, 2 ); +} + Sapphire::Data::CraftType::CraftType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_CraftTypeDat.get_row( row_id ); @@ -1710,6 +1765,43 @@ Sapphire::Data::DailySupplyItem::DailySupplyItem( uint32_t row_id, Sapphire::Dat auto row = exdData->m_DailySupplyItemDat.get_row( row_id ); } +Sapphire::Data::DawnContent::DawnContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DawnContentDat.get_row( row_id ); + content = exdData->getField< uint32_t >( row, 0 ); + exp = exdData->getField< uint32_t >( row, 1 ); +} + +Sapphire::Data::DawnGrowMember::DawnGrowMember( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DawnGrowMemberDat.get_row( row_id ); + member = exdData->getField< uint32_t >( row, 0 ); + imageName = exdData->getField< uint32_t >( row, 1 ); + bigImageOld = exdData->getField< uint32_t >( row, 2 ); + bigImageNew = exdData->getField< uint32_t >( row, 3 ); + smallImageOld = exdData->getField< uint32_t >( row, 4 ); + smallImageNew = exdData->getField< uint32_t >( row, 5 ); + _class = exdData->getField< uint8_t >( row, 6 ); +} + +Sapphire::Data::DawnMemberUIParam::DawnMemberUIParam( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DawnMemberUIParamDat.get_row( row_id ); + classSingular = exdData->getField< std::string >( row, 0 ); + voiceLine = exdData->getField< uint32_t >( row, 1 ); + classPlural = exdData->getField< std::string >( row, 2 ); +} + +Sapphire::Data::DawnQuestMember::DawnQuestMember( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DawnQuestMemberDat.get_row( row_id ); + member = exdData->getField< uint32_t >( row, 0 ); + imageName = exdData->getField< uint32_t >( row, 1 ); + bigImageOld = exdData->getField< uint32_t >( row, 2 ); + bigImageNew = exdData->getField< uint32_t >( row, 3 ); + _class = exdData->getField< uint8_t >( row, 4 ); +} + Sapphire::Data::DeepDungeon::DeepDungeon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_DeepDungeonDat.get_row( row_id ); @@ -1846,23 +1938,23 @@ Sapphire::Data::DeliveryQuest::DeliveryQuest( uint32_t row_id, Sapphire::Data::E Sapphire::Data::DescriptionPage::DescriptionPage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_DescriptionPageDat.get_row( row_id, subRow ); - text1 = exdData->getField< uint32_t >( row, 1 ); + text1 = exdData->getField< uint16_t >( row, 1 ); image1 = exdData->getField< uint32_t >( row, 2 ); - text2 = exdData->getField< uint32_t >( row, 3 ); + text2 = exdData->getField< uint16_t >( row, 3 ); image2 = exdData->getField< uint32_t >( row, 4 ); - text3 = exdData->getField< uint32_t >( row, 5 ); + text3 = exdData->getField< uint16_t >( row, 5 ); image3 = exdData->getField< uint32_t >( row, 6 ); - text4 = exdData->getField< uint32_t >( row, 7 ); + text4 = exdData->getField< uint16_t >( row, 7 ); image4 = exdData->getField< uint32_t >( row, 8 ); - text5 = exdData->getField< uint32_t >( row, 9 ); + text5 = exdData->getField< uint16_t >( row, 9 ); image5 = exdData->getField< uint32_t >( row, 10 ); - text6 = exdData->getField< uint32_t >( row, 11 ); + text6 = exdData->getField< uint16_t >( row, 11 ); image6 = exdData->getField< uint32_t >( row, 12 ); - text7 = exdData->getField< uint32_t >( row, 13 ); + text7 = exdData->getField< uint16_t >( row, 13 ); image7 = exdData->getField< uint32_t >( row, 14 ); - text8 = exdData->getField< uint32_t >( row, 15 ); + text8 = exdData->getField< uint16_t >( row, 15 ); image8 = exdData->getField< uint32_t >( row, 16 ); - text9 = exdData->getField< uint32_t >( row, 17 ); + text9 = exdData->getField< uint16_t >( row, 17 ); image9 = exdData->getField< uint32_t >( row, 18 ); } @@ -2325,13 +2417,23 @@ Sapphire::Data::Fate::Fate( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e iconMap = exdData->getField< uint32_t >( row, 10 ); music = exdData->getField< int32_t >( row, 12 ); hasWorldMapIcon = exdData->getField< bool >( row, 17 ); - name = exdData->getField< std::string >( row, 25 ); - description = exdData->getField< std::string >( row, 26 ); - objective = exdData->getField< std::string >( row, 27 ); - statusText.push_back( exdData->getField< std::string >( row, 28 ) ); + name = exdData->getField< std::string >( row, 26 ); + description = exdData->getField< std::string >( row, 27 ); + objective = exdData->getField< std::string >( row, 28 ); statusText.push_back( exdData->getField< std::string >( row, 29 ) ); statusText.push_back( exdData->getField< std::string >( row, 30 ) ); - arrayIndex = exdData->getField< uint32_t >( row, 31 ); + statusText.push_back( exdData->getField< std::string >( row, 31 ) ); + arrayIndex = exdData->getField< uint32_t >( row, 32 ); +} + +Sapphire::Data::FateProgressUI::FateProgressUI( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FateProgressUIDat.get_row( row_id ); + location = exdData->getField< int32_t >( row, 0 ); + achievement = exdData->getField< int32_t >( row, 1 ); + reqFatesToRank2 = exdData->getField< uint8_t >( row, 2 ); + reqFatesToRank3 = exdData->getField< uint8_t >( row, 3 ); + displayOrder = exdData->getField< uint8_t >( row, 4 ); } Sapphire::Data::FCActivity::FCActivity( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -2522,6 +2624,20 @@ Sapphire::Data::Frontline04::Frontline04( uint32_t row_id, Sapphire::Data::ExdDa unknownLevel.push_back( exdData->getField< int32_t >( row, 32 ) ); } +Sapphire::Data::FurnitureCatalogCategory::FurnitureCatalogCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FurnitureCatalogCategoryDat.get_row( row_id ); + category = exdData->getField< std::string >( row, 0 ); +} + +Sapphire::Data::FurnitureCatalogItemList::FurnitureCatalogItemList( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FurnitureCatalogItemListDat.get_row( row_id ); + category = exdData->getField< uint16_t >( row, 0 ); + item = exdData->getField< int32_t >( row, 1 ); + patch = exdData->getField< uint16_t >( row, 2 ); +} + Sapphire::Data::GardeningSeed::GardeningSeed( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GardeningSeedDat.get_row( row_id ); @@ -2538,7 +2654,7 @@ Sapphire::Data::GatheringCondition::GatheringCondition( uint32_t row_id, Sapphir Sapphire::Data::GatheringExp::GatheringExp( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GatheringExpDat.get_row( row_id ); - exp = exdData->getField< uint16_t >( row, 0 ); + exp = exdData->getField< int32_t >( row, 0 ); } Sapphire::Data::GatheringItem::GatheringItem( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -3047,6 +3163,32 @@ Sapphire::Data::GuardianDeity::GuardianDeity( uint32_t row_id, Sapphire::Data::E icon = exdData->getField< uint16_t >( row, 2 ); } +Sapphire::Data::Guide::Guide( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GuideDat.get_row( row_id ); + guideTitle = exdData->getField< uint16_t >( row, 0 ); + guidePage = exdData->getField< uint16_t >( row, 1 ); +} + +Sapphire::Data::GuidePage::GuidePage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GuidePageDat.get_row( row_id, subRow ); + key = exdData->getField< uint8_t >( row, 0 ); + output = exdData->getField< uint32_t >( row, 1 ); +} + +Sapphire::Data::GuidePageString::GuidePageString( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GuidePageStringDat.get_row( row_id ); + string = exdData->getField< std::string >( row, 0 ); +} + +Sapphire::Data::GuideTitle::GuideTitle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GuideTitleDat.get_row( row_id ); + title = exdData->getField< std::string >( row, 0 ); +} + Sapphire::Data::GuildleveAssignment::GuildleveAssignment( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GuildleveAssignmentDat.get_row( row_id ); @@ -3447,6 +3589,60 @@ Sapphire::Data::HowToPage::HowToPage( uint32_t row_id, Sapphire::Data::ExdDataGe image = exdData->getField< int32_t >( row, 2 ); } +Sapphire::Data::HugeCraftworksNpc::HugeCraftworksNpc( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HugeCraftworksNpcDat.get_row( row_id ); + eNpcResident = exdData->getField< uint32_t >( row, 0 ); + classJobCategory = exdData->getField< uint16_t >( row, 1 ); + itemRequested.push_back( exdData->getField< uint32_t >( row, 3 ) ); + itemRequested.push_back( exdData->getField< uint32_t >( row, 4 ) ); + itemRequested.push_back( exdData->getField< uint32_t >( row, 5 ) ); + itemRequested.push_back( exdData->getField< uint32_t >( row, 6 ) ); + qtyRequested.push_back( exdData->getField< uint8_t >( row, 9 ) ); + qtyRequested.push_back( exdData->getField< uint8_t >( row, 10 ) ); + qtyRequested.push_back( exdData->getField< uint8_t >( row, 11 ) ); + qtyRequested.push_back( exdData->getField< uint8_t >( row, 12 ) ); + itemReward.push_back( exdData->getField< uint32_t >( row, 52 ) ); + itemReward.push_back( exdData->getField< uint32_t >( row, 53 ) ); + itemReward.push_back( exdData->getField< uint32_t >( row, 54 ) ); + itemReward.push_back( exdData->getField< uint32_t >( row, 55 ) ); + qtyItemReward.push_back( exdData->getField< uint8_t >( row, 64 ) ); + qtyItemReward.push_back( exdData->getField< uint8_t >( row, 65 ) ); + qtyItemReward.push_back( exdData->getField< uint8_t >( row, 66 ) ); + qtyItemReward.push_back( exdData->getField< uint8_t >( row, 67 ) ); + itemUnkown.push_back( exdData->getField< uint32_t >( row, 70 ) ); + itemUnkown.push_back( exdData->getField< uint32_t >( row, 71 ) ); + itemUnkown.push_back( exdData->getField< uint32_t >( row, 72 ) ); + itemUnkown.push_back( exdData->getField< uint32_t >( row, 73 ) ); + qtyItemUnkown.push_back( exdData->getField< uint8_t >( row, 82 ) ); + qtyItemUnkown.push_back( exdData->getField< uint8_t >( row, 83 ) ); + qtyItemUnkown.push_back( exdData->getField< uint8_t >( row, 84 ) ); + qtyItemUnkown.push_back( exdData->getField< uint8_t >( row, 85 ) ); + transient = exdData->getField< std::string >( row, 86 ); +} + +Sapphire::Data::HugeCraftworksRank::HugeCraftworksRank( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HugeCraftworksRankDat.get_row( row_id ); + crafterLevel = exdData->getField< uint8_t >( row, 0 ); + expRewardPerItem = exdData->getField< uint32_t >( row, 1 ); +} + +Sapphire::Data::IndividualWeather::IndividualWeather( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_IndividualWeatherDat.get_row( row_id ); + weather.push_back( exdData->getField< uint8_t >( row, 0 ) ); + weather.push_back( exdData->getField< uint8_t >( row, 1 ) ); + weather.push_back( exdData->getField< uint8_t >( row, 2 ) ); + weather.push_back( exdData->getField< uint8_t >( row, 3 ) ); + weather.push_back( exdData->getField< uint8_t >( row, 4 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 10 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 11 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 12 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 13 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 14 ) ); +} + Sapphire::Data::InstanceContent::InstanceContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_InstanceContentDat.get_row( row_id ); @@ -3541,35 +3737,35 @@ Sapphire::Data::Item::Item( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e itemGlamour = exdData->getField< int32_t >( row, 34 ); salvage = exdData->getField< uint16_t >( row, 35 ); isCollectable = exdData->getField< bool >( row, 36 ); - aetherialReduce = exdData->getField< uint16_t >( row, 37 ); - levelEquip = exdData->getField< uint8_t >( row, 38 ); - equipRestriction = exdData->getField< uint8_t >( row, 40 ); - classJobCategory = exdData->getField< uint8_t >( row, 41 ); - grandCompany = exdData->getField< uint8_t >( row, 42 ); - itemSeries = exdData->getField< uint8_t >( row, 43 ); - baseParamModifier = exdData->getField< uint8_t >( row, 44 ); - modelMain = exdData->getField< uint64_t >( row, 45 ); - modelSub = exdData->getField< uint64_t >( row, 46 ); - classJobUse = exdData->getField< uint8_t >( row, 47 ); - damagePhys = exdData->getField< uint16_t >( row, 49 ); - damageMag = exdData->getField< uint16_t >( row, 50 ); - delayms = exdData->getField< uint16_t >( row, 51 ); - blockRate = exdData->getField< uint16_t >( row, 53 ); - block = exdData->getField< uint16_t >( row, 54 ); - defensePhys = exdData->getField< uint16_t >( row, 55 ); - defenseMag = exdData->getField< uint16_t >( row, 56 ); - itemSpecialBonus = exdData->getField< uint8_t >( row, 69 ); - itemSpecialBonusParam = exdData->getField< uint8_t >( row, 70 ); - materializeType = exdData->getField< uint8_t >( row, 83 ); - materiaSlotCount = exdData->getField< uint8_t >( row, 84 ); - isAdvancedMeldingPermitted = exdData->getField< bool >( row, 85 ); - isPvP = exdData->getField< bool >( row, 86 ); - isGlamourous = exdData->getField< bool >( row, 88 ); + aetherialReduce = exdData->getField< uint16_t >( row, 38 ); + levelEquip = exdData->getField< uint8_t >( row, 39 ); + equipRestriction = exdData->getField< uint8_t >( row, 41 ); + classJobCategory = exdData->getField< uint8_t >( row, 42 ); + grandCompany = exdData->getField< uint8_t >( row, 43 ); + itemSeries = exdData->getField< uint8_t >( row, 44 ); + baseParamModifier = exdData->getField< uint8_t >( row, 45 ); + modelMain = exdData->getField< uint64_t >( row, 46 ); + modelSub = exdData->getField< uint64_t >( row, 47 ); + classJobUse = exdData->getField< uint8_t >( row, 48 ); + damagePhys = exdData->getField< uint16_t >( row, 50 ); + damageMag = exdData->getField< uint16_t >( row, 51 ); + delayms = exdData->getField< uint16_t >( row, 52 ); + blockRate = exdData->getField< uint16_t >( row, 54 ); + block = exdData->getField< uint16_t >( row, 55 ); + defensePhys = exdData->getField< uint16_t >( row, 56 ); + defenseMag = exdData->getField< uint16_t >( row, 57 ); + itemSpecialBonus = exdData->getField< uint8_t >( row, 70 ); + itemSpecialBonusParam = exdData->getField< uint8_t >( row, 71 ); + materializeType = exdData->getField< uint8_t >( row, 84 ); + materiaSlotCount = exdData->getField< uint8_t >( row, 85 ); + isAdvancedMeldingPermitted = exdData->getField< bool >( row, 86 ); + isPvP = exdData->getField< bool >( row, 87 ); + isGlamourous = exdData->getField< bool >( row, 89 ); for( int i = 0; i < 6; ++i ) { - param[i].baseparam = exdData->getField< uint8_t >( row, 57 + i * 2 ); - param[i].value = exdData->getField< int16_t >( row, 58 + i * 2 ); + param[i].baseparam = exdData->getField< uint8_t >( row, 58 + i * 2 ); + param[i].value = exdData->getField< int16_t >( row, 59 + i * 2 ); } } @@ -3712,6 +3908,21 @@ Sapphire::Data::ItemUICategory::ItemUICategory( uint32_t row_id, Sapphire::Data: orderMajor = exdData->getField< uint8_t >( row, 3 ); } +Sapphire::Data::JobHudManual::JobHudManual( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_JobHudManualDat.get_row( row_id ); + action = exdData->getField< uint32_t >( row, 2 ); + guide = exdData->getField< uint16_t >( row, 5 ); +} + +Sapphire::Data::JobHudManualPriority::JobHudManualPriority( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_JobHudManualPriorityDat.get_row( row_id ); + jobHudManual.push_back( exdData->getField< uint8_t >( row, 0 ) ); + jobHudManual.push_back( exdData->getField< uint8_t >( row, 1 ) ); + jobHudManual.push_back( exdData->getField< uint8_t >( row, 2 ) ); +} + Sapphire::Data::JournalCategory::JournalCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_JournalCategoryDat.get_row( row_id ); @@ -3916,19 +4127,19 @@ Sapphire::Data::ManeuversArmor::ManeuversArmor( uint32_t row_id, Sapphire::Data: Sapphire::Data::Map::Map( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_MapDat.get_row( row_id ); - mapIndex = exdData->getField< int8_t >( row, 2 ); - hierarchy = exdData->getField< uint8_t >( row, 3 ); - mapMarkerRange = exdData->getField< uint16_t >( row, 4 ); - id = exdData->getField< std::string >( row, 5 ); - sizeFactor = exdData->getField< uint16_t >( row, 6 ); - offsetX = exdData->getField< int16_t >( row, 7 ); - offsetY = exdData->getField< int16_t >( row, 8 ); - placeNameRegion = exdData->getField< uint16_t >( row, 9 ); - placeName = exdData->getField< uint16_t >( row, 10 ); - placeNameSub = exdData->getField< uint16_t >( row, 11 ); - discoveryIndex = exdData->getField< int16_t >( row, 12 ); - territoryType = exdData->getField< uint16_t >( row, 14 ); - discoveryArrayByte = exdData->getField< bool >( row, 15 ); + mapIndex = exdData->getField< int8_t >( row, 3 ); + hierarchy = exdData->getField< uint8_t >( row, 4 ); + mapMarkerRange = exdData->getField< uint16_t >( row, 5 ); + id = exdData->getField< std::string >( row, 6 ); + sizeFactor = exdData->getField< uint16_t >( row, 7 ); + offsetX = exdData->getField< int16_t >( row, 8 ); + offsetY = exdData->getField< int16_t >( row, 9 ); + placeNameRegion = exdData->getField< uint16_t >( row, 10 ); + placeName = exdData->getField< uint16_t >( row, 11 ); + placeNameSub = exdData->getField< uint16_t >( row, 12 ); + discoveryIndex = exdData->getField< int16_t >( row, 13 ); + territoryType = exdData->getField< uint16_t >( row, 15 ); + discoveryArrayByte = exdData->getField< bool >( row, 16 ); } Sapphire::Data::MapMarker::MapMarker( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4008,6 +4219,32 @@ Sapphire::Data::Materia::Materia( uint32_t row_id, Sapphire::Data::ExdDataGenera value.push_back( exdData->getField< uint8_t >( row, 20 ) ); } +Sapphire::Data::MateriaJoinRate::MateriaJoinRate( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MateriaJoinRateDat.get_row( row_id ); + NQOvermeldSlot.push_back( exdData->getField< float >( row, 0 ) ); + NQOvermeldSlot.push_back( exdData->getField< float >( row, 1 ) ); + NQOvermeldSlot.push_back( exdData->getField< float >( row, 2 ) ); + NQOvermeldSlot.push_back( exdData->getField< float >( row, 3 ) ); + HQOvermeldSlot.push_back( exdData->getField< float >( row, 4 ) ); + HQOvermeldSlot.push_back( exdData->getField< float >( row, 5 ) ); + HQOvermeldSlot.push_back( exdData->getField< float >( row, 6 ) ); + HQOvermeldSlot.push_back( exdData->getField< float >( row, 7 ) ); +} + +Sapphire::Data::MateriaJoinRateGatherCraft::MateriaJoinRateGatherCraft( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MateriaJoinRateGatherCraftDat.get_row( row_id ); + NQOvermeldSlot.push_back( exdData->getField< float >( row, 0 ) ); + NQOvermeldSlot.push_back( exdData->getField< float >( row, 1 ) ); + NQOvermeldSlot.push_back( exdData->getField< float >( row, 2 ) ); + NQOvermeldSlot.push_back( exdData->getField< float >( row, 3 ) ); + HQOvermeldSlot.push_back( exdData->getField< float >( row, 4 ) ); + HQOvermeldSlot.push_back( exdData->getField< float >( row, 5 ) ); + HQOvermeldSlot.push_back( exdData->getField< float >( row, 6 ) ); + HQOvermeldSlot.push_back( exdData->getField< float >( row, 7 ) ); +} + Sapphire::Data::MiniGameRA::MiniGameRA( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_MiniGameRADat.get_row( row_id ); @@ -4034,11 +4271,35 @@ Sapphire::Data::MinionSkillType::MinionSkillType( uint32_t row_id, Sapphire::Dat name = exdData->getField< std::string >( row, 0 ); } +Sapphire::Data::MobHuntOrder::MobHuntOrder( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MobHuntOrderDat.get_row( row_id, subRow ); + target = exdData->getField< uint16_t >( row, 0 ); + stars = exdData->getField< uint8_t >( row, 1 ); + mobHuntReward = exdData->getField< uint8_t >( row, 4 ); +} + Sapphire::Data::MobHuntOrderType::MobHuntOrderType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_MobHuntOrderTypeDat.get_row( row_id ); quest = exdData->getField< uint32_t >( row, 1 ); eventItem = exdData->getField< uint32_t >( row, 2 ); + orderStart = exdData->getField< uint16_t >( row, 3 ); + orderAmount = exdData->getField< uint8_t >( row, 4 ); +} + +Sapphire::Data::MobHuntReward::MobHuntReward( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MobHuntRewardDat.get_row( row_id ); + expReward = exdData->getField< uint32_t >( row, 0 ); + gilReward = exdData->getField< uint16_t >( row, 1 ); + currencyReward = exdData->getField< uint16_t >( row, 3 ); +} + +Sapphire::Data::MobHuntRewardCap::MobHuntRewardCap( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MobHuntRewardCapDat.get_row( row_id ); + expCap = exdData->getField< uint32_t >( row, 0 ); } Sapphire::Data::MobHuntTarget::MobHuntTarget( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4132,18 +4393,38 @@ Sapphire::Data::MountAction::MountAction( uint32_t row_id, Sapphire::Data::ExdDa Sapphire::Data::MountCustomize::MountCustomize( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_MountCustomizeDat.get_row( row_id ); + hyurMaleScale = exdData->getField< uint16_t >( row, 1 ); + hyurFemaleScale = exdData->getField< uint16_t >( row, 2 ); + elezenMaleScale = exdData->getField< uint16_t >( row, 3 ); + elezenFemaleScale = exdData->getField< uint16_t >( row, 4 ); + lalaMaleScale = exdData->getField< uint16_t >( row, 5 ); + lalaFemaleScale = exdData->getField< uint16_t >( row, 6 ); + miqoMaleScale = exdData->getField< uint16_t >( row, 7 ); + miqoFemaleScale = exdData->getField< uint16_t >( row, 8 ); + roeMaleScale = exdData->getField< uint16_t >( row, 9 ); + roeFemaleScale = exdData->getField< uint16_t >( row, 10 ); + auRaMaleScale = exdData->getField< uint16_t >( row, 11 ); + auRaFemaleScale = exdData->getField< uint16_t >( row, 12 ); + hrothgarMaleScale = exdData->getField< uint16_t >( row, 13 ); + hrothgarFemaleScale = exdData->getField< uint16_t >( row, 14 ); + vieraMaleScale = exdData->getField< uint16_t >( row, 15 ); + vieraFemaleScale = exdData->getField< uint16_t >( row, 16 ); hyurMaleCameraHeight = exdData->getField< uint8_t >( row, 17 ); hyurFemaleCameraHeight = exdData->getField< uint8_t >( row, 18 ); - elezenMaleCameraHeight = exdData->getField< uint8_t >( row, 21 ); - elezenFemaleCameraHeight = exdData->getField< uint8_t >( row, 22 ); - lalaMaleCameraHeight = exdData->getField< uint8_t >( row, 23 ); - lalaFemaleCameraHeight = exdData->getField< uint8_t >( row, 24 ); - miqoMaleCameraHeight = exdData->getField< uint8_t >( row, 25 ); - miqoFemaleCameraHeight = exdData->getField< uint8_t >( row, 26 ); - roeMaleCameraHeight = exdData->getField< uint8_t >( row, 27 ); - roeFemaleCameraHeight = exdData->getField< uint8_t >( row, 28 ); - auRaMaleCameraHeight = exdData->getField< uint8_t >( row, 29 ); - auRaFemaleCameraHeight = exdData->getField< uint8_t >( row, 30 ); + elezenMaleCameraHeight = exdData->getField< uint8_t >( row, 19 ); + elezenFemaleCameraHeight = exdData->getField< uint8_t >( row, 20 ); + lalaMaleCameraHeight = exdData->getField< uint8_t >( row, 21 ); + lalaFemaleCameraHeight = exdData->getField< uint8_t >( row, 22 ); + miqoMaleCameraHeight = exdData->getField< uint8_t >( row, 23 ); + miqoFemaleCameraHeight = exdData->getField< uint8_t >( row, 24 ); + roeMaleCameraHeight = exdData->getField< uint8_t >( row, 25 ); + roeFemaleCameraHeight = exdData->getField< uint8_t >( row, 26 ); + auRaMaleCameraHeight = exdData->getField< uint8_t >( row, 27 ); + auRaFemaleCameraHeight = exdData->getField< uint8_t >( row, 28 ); + hrothgarMaleCameraHeight = exdData->getField< uint8_t >( row, 29 ); + hrothgarRoeFemaleCameraHeight = exdData->getField< uint8_t >( row, 30 ); + vieraMaleCameraHeight = exdData->getField< uint8_t >( row, 31 ); + vieraFemaleCameraHeight = exdData->getField< uint8_t >( row, 32 ); } Sapphire::Data::MountFlyingCondition::MountFlyingCondition( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4201,6 +4482,14 @@ Sapphire::Data::NotebookDivisionCategory::NotebookDivisionCategory( uint32_t row name = exdData->getField< std::string >( row, 0 ); } +Sapphire::Data::NotoriousMonster::NotoriousMonster( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_NotoriousMonsterDat.get_row( row_id ); + bNpcBase = exdData->getField< int32_t >( row, 0 ); + rank = exdData->getField< uint8_t >( row, 1 ); + bNpcName = exdData->getField< uint32_t >( row, 2 ); +} + Sapphire::Data::NpcEquip::NpcEquip( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_NpcEquipDat.get_row( row_id ); @@ -4251,6 +4540,49 @@ Sapphire::Data::OnlineStatus::OnlineStatus( uint32_t row_id, Sapphire::Data::Exd icon = exdData->getField< uint32_t >( row, 4 ); } +Sapphire::Data::OpenContent::OpenContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_OpenContentDat.get_row( row_id ); + content.push_back( exdData->getField< uint16_t >( row, 0 ) ); + content.push_back( exdData->getField< uint16_t >( row, 1 ) ); + content.push_back( exdData->getField< uint16_t >( row, 2 ) ); + content.push_back( exdData->getField< uint16_t >( row, 3 ) ); + content.push_back( exdData->getField< uint16_t >( row, 4 ) ); + content.push_back( exdData->getField< uint16_t >( row, 5 ) ); + content.push_back( exdData->getField< uint16_t >( row, 6 ) ); + content.push_back( exdData->getField< uint16_t >( row, 7 ) ); + content.push_back( exdData->getField< uint16_t >( row, 8 ) ); + content.push_back( exdData->getField< uint16_t >( row, 9 ) ); + content.push_back( exdData->getField< uint16_t >( row, 10 ) ); + content.push_back( exdData->getField< uint16_t >( row, 11 ) ); + content.push_back( exdData->getField< uint16_t >( row, 12 ) ); + content.push_back( exdData->getField< uint16_t >( row, 13 ) ); + content.push_back( exdData->getField< uint16_t >( row, 14 ) ); + content.push_back( exdData->getField< uint16_t >( row, 15 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 16 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 17 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 18 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 19 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 20 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 21 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 22 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 23 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 24 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 25 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 26 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 27 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 28 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 29 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 30 ) ); + candidateName.push_back( exdData->getField< uint32_t >( row, 31 ) ); +} + +Sapphire::Data::OpenContentCandidateName::OpenContentCandidateName( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_OpenContentCandidateNameDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); +} + Sapphire::Data::Opening::Opening( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_OpeningDat.get_row( row_id ); @@ -4297,6 +4629,7 @@ Sapphire::Data::ParamGrow::ParamGrow( uint32_t row_id, Sapphire::Data::ExdDataGe hpModifier = exdData->getField< uint16_t >( row, 8 ); huntingLogExpReward = exdData->getField< int32_t >( row, 9 ); itemLevelSync = exdData->getField< uint16_t >( row, 11 ); + craftingLevel = exdData->getField< uint16_t >( row, 14 ); } Sapphire::Data::PartyContent::PartyContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -4492,15 +4825,14 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* isHouseRequired = exdData->getField< bool >( row, 37 ); deliveryQuest = exdData->getField< uint8_t >( row, 38 ); issuerStart = exdData->getField< uint32_t >( row, 39 ); - behavior = exdData->getField< uint16_t >( row, 40 ); - targetEnd = exdData->getField< uint32_t >( row, 41 ); - isRepeatable = exdData->getField< bool >( row, 42 ); - repeatIntervalType = exdData->getField< uint8_t >( row, 43 ); - questRepeatFlag = exdData->getField< uint8_t >( row, 44 ); - unlocksSystemContent = exdData->getField< bool >( row, 45 ); - type = exdData->getField< uint8_t >( row, 47 ); - questClassJobSupply = exdData->getField< uint16_t >( row, 48 ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 49 ) ); + behavior = exdData->getField< uint32_t >( row, 40 ); + targetEnd = exdData->getField< uint32_t >( row, 42 ); + isRepeatable = exdData->getField< bool >( row, 43 ); + repeatIntervalType = exdData->getField< uint8_t >( row, 44 ); + questRepeatFlag = exdData->getField< uint8_t >( row, 45 ); + unlocksSystemContent = exdData->getField< bool >( row, 46 ); + type = exdData->getField< uint8_t >( row, 48 ); + questClassJobSupply = exdData->getField< uint16_t >( row, 49 ); scriptInstruction.push_back( exdData->getField< std::string >( row, 50 ) ); scriptInstruction.push_back( exdData->getField< std::string >( row, 51 ) ); scriptInstruction.push_back( exdData->getField< std::string >( row, 52 ) ); @@ -4550,7 +4882,7 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* scriptInstruction.push_back( exdData->getField< std::string >( row, 96 ) ); scriptInstruction.push_back( exdData->getField< std::string >( row, 97 ) ); scriptInstruction.push_back( exdData->getField< std::string >( row, 98 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 99 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 99 ) ); scriptArg.push_back( exdData->getField< uint32_t >( row, 100 ) ); scriptArg.push_back( exdData->getField< uint32_t >( row, 101 ) ); scriptArg.push_back( exdData->getField< uint32_t >( row, 102 ) ); @@ -4600,7 +4932,7 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* scriptArg.push_back( exdData->getField< uint32_t >( row, 146 ) ); scriptArg.push_back( exdData->getField< uint32_t >( row, 147 ) ); scriptArg.push_back( exdData->getField< uint32_t >( row, 148 ) ); - actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 149 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 149 ) ); actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 150 ) ); actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 151 ) ); actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 152 ) ); @@ -4664,7 +4996,7 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 210 ) ); actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 211 ) ); actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 212 ) ); - actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 213 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 213 ) ); actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 214 ) ); actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 215 ) ); actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 216 ) ); @@ -4728,7 +5060,7 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 274 ) ); actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 275 ) ); actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 276 ) ); - actorSpawn.push_back( exdData->getField< uint32_t >( row, 277 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 277 ) ); actorSpawn.push_back( exdData->getField< uint32_t >( row, 278 ) ); actorSpawn.push_back( exdData->getField< uint32_t >( row, 279 ) ); actorSpawn.push_back( exdData->getField< uint32_t >( row, 280 ) ); @@ -4792,7 +5124,7 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* actorSpawn.push_back( exdData->getField< uint32_t >( row, 338 ) ); actorSpawn.push_back( exdData->getField< uint32_t >( row, 339 ) ); actorSpawn.push_back( exdData->getField< uint32_t >( row, 340 ) ); - questUInt8A.push_back( exdData->getField< uint8_t >( row, 341 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 341 ) ); questUInt8A.push_back( exdData->getField< uint8_t >( row, 342 ) ); questUInt8A.push_back( exdData->getField< uint8_t >( row, 343 ) ); questUInt8A.push_back( exdData->getField< uint8_t >( row, 344 ) ); @@ -4824,7 +5156,7 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* questUInt8A.push_back( exdData->getField< uint8_t >( row, 370 ) ); questUInt8A.push_back( exdData->getField< uint8_t >( row, 371 ) ); questUInt8A.push_back( exdData->getField< uint8_t >( row, 372 ) ); - questUInt8B.push_back( exdData->getField< uint8_t >( row, 373 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 373 ) ); questUInt8B.push_back( exdData->getField< uint8_t >( row, 374 ) ); questUInt8B.push_back( exdData->getField< uint8_t >( row, 375 ) ); questUInt8B.push_back( exdData->getField< uint8_t >( row, 376 ) ); @@ -4856,7 +5188,7 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* questUInt8B.push_back( exdData->getField< uint8_t >( row, 402 ) ); questUInt8B.push_back( exdData->getField< uint8_t >( row, 403 ) ); questUInt8B.push_back( exdData->getField< uint8_t >( row, 404 ) ); - toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1173 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 405 ) ); toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1174 ) ); toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1175 ) ); toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1176 ) ); @@ -4880,7 +5212,7 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1194 ) ); toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1195 ) ); toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1196 ) ); - toDoQty.push_back( exdData->getField< uint8_t >( row, 1197 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1197 ) ); toDoQty.push_back( exdData->getField< uint8_t >( row, 1198 ) ); toDoQty.push_back( exdData->getField< uint8_t >( row, 1199 ) ); toDoQty.push_back( exdData->getField< uint8_t >( row, 1200 ) ); @@ -4904,7 +5236,7 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* toDoQty.push_back( exdData->getField< uint8_t >( row, 1218 ) ); toDoQty.push_back( exdData->getField< uint8_t >( row, 1219 ) ); toDoQty.push_back( exdData->getField< uint8_t >( row, 1220 ) ); - toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1221 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1221 ) ); toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1222 ) ); toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1223 ) ); toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1224 ) ); @@ -4928,76 +5260,78 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1242 ) ); toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1243 ) ); toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1244 ) ); - classJobRequired = exdData->getField< uint8_t >( row, 1438 ); - expFactor = exdData->getField< uint16_t >( row, 1440 ); - gilReward = exdData->getField< uint32_t >( row, 1441 ); - gCSeals = exdData->getField< uint16_t >( row, 1443 ); - itemCatalyst.push_back( exdData->getField< uint8_t >( row, 1444 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1245 ) ); + classJobRequired = exdData->getField< uint8_t >( row, 1439 ); + expFactor = exdData->getField< uint16_t >( row, 1441 ); + gilReward = exdData->getField< uint32_t >( row, 1442 ); + gCSeals = exdData->getField< uint16_t >( row, 1444 ); itemCatalyst.push_back( exdData->getField< uint8_t >( row, 1445 ) ); itemCatalyst.push_back( exdData->getField< uint8_t >( row, 1446 ) ); - itemCountCatalyst.push_back( exdData->getField< uint8_t >( row, 1447 ) ); + itemCatalyst.push_back( exdData->getField< uint8_t >( row, 1447 ) ); itemCountCatalyst.push_back( exdData->getField< uint8_t >( row, 1448 ) ); itemCountCatalyst.push_back( exdData->getField< uint8_t >( row, 1449 ) ); - itemRewardType = exdData->getField< uint8_t >( row, 1450 ); - itemReward0.push_back( exdData->getField< uint32_t >( row, 1451 ) ); + itemCountCatalyst.push_back( exdData->getField< uint8_t >( row, 1450 ) ); + itemRewardType = exdData->getField< uint8_t >( row, 1451 ); itemReward0.push_back( exdData->getField< uint32_t >( row, 1452 ) ); itemReward0.push_back( exdData->getField< uint32_t >( row, 1453 ) ); itemReward0.push_back( exdData->getField< uint32_t >( row, 1454 ) ); itemReward0.push_back( exdData->getField< uint32_t >( row, 1455 ) ); itemReward0.push_back( exdData->getField< uint32_t >( row, 1456 ) ); - itemCountReward0.push_back( exdData->getField< uint8_t >( row, 1458 ) ); + itemReward0.push_back( exdData->getField< uint32_t >( row, 1457 ) ); itemCountReward0.push_back( exdData->getField< uint8_t >( row, 1459 ) ); itemCountReward0.push_back( exdData->getField< uint8_t >( row, 1460 ) ); itemCountReward0.push_back( exdData->getField< uint8_t >( row, 1461 ) ); itemCountReward0.push_back( exdData->getField< uint8_t >( row, 1462 ) ); itemCountReward0.push_back( exdData->getField< uint8_t >( row, 1463 ) ); - stainReward0.push_back( exdData->getField< uint8_t >( row, 1465 ) ); + itemCountReward0.push_back( exdData->getField< uint8_t >( row, 1464 ) ); stainReward0.push_back( exdData->getField< uint8_t >( row, 1466 ) ); stainReward0.push_back( exdData->getField< uint8_t >( row, 1467 ) ); stainReward0.push_back( exdData->getField< uint8_t >( row, 1468 ) ); stainReward0.push_back( exdData->getField< uint8_t >( row, 1469 ) ); stainReward0.push_back( exdData->getField< uint8_t >( row, 1470 ) ); - itemReward1.push_back( exdData->getField< uint32_t >( row, 1472 ) ); + stainReward0.push_back( exdData->getField< uint8_t >( row, 1471 ) ); itemReward1.push_back( exdData->getField< uint32_t >( row, 1473 ) ); itemReward1.push_back( exdData->getField< uint32_t >( row, 1474 ) ); itemReward1.push_back( exdData->getField< uint32_t >( row, 1475 ) ); itemReward1.push_back( exdData->getField< uint32_t >( row, 1476 ) ); - itemCountReward1.push_back( exdData->getField< uint8_t >( row, 1477 ) ); + itemReward1.push_back( exdData->getField< uint32_t >( row, 1477 ) ); itemCountReward1.push_back( exdData->getField< uint8_t >( row, 1478 ) ); itemCountReward1.push_back( exdData->getField< uint8_t >( row, 1479 ) ); itemCountReward1.push_back( exdData->getField< uint8_t >( row, 1480 ) ); itemCountReward1.push_back( exdData->getField< uint8_t >( row, 1481 ) ); - isHQReward1.push_back( exdData->getField< bool >( row, 1482 ) ); + itemCountReward1.push_back( exdData->getField< uint8_t >( row, 1482 ) ); isHQReward1.push_back( exdData->getField< bool >( row, 1483 ) ); isHQReward1.push_back( exdData->getField< bool >( row, 1484 ) ); isHQReward1.push_back( exdData->getField< bool >( row, 1485 ) ); isHQReward1.push_back( exdData->getField< bool >( row, 1486 ) ); - stainReward1.push_back( exdData->getField< uint8_t >( row, 1487 ) ); + isHQReward1.push_back( exdData->getField< bool >( row, 1487 ) ); stainReward1.push_back( exdData->getField< uint8_t >( row, 1488 ) ); stainReward1.push_back( exdData->getField< uint8_t >( row, 1489 ) ); stainReward1.push_back( exdData->getField< uint8_t >( row, 1490 ) ); stainReward1.push_back( exdData->getField< uint8_t >( row, 1491 ) ); - emoteReward = exdData->getField< uint8_t >( row, 1492 ); - actionReward = exdData->getField< uint16_t >( row, 1493 ); - generalActionReward.push_back( exdData->getField< uint8_t >( row, 1494 ) ); + stainReward1.push_back( exdData->getField< uint8_t >( row, 1492 ) ); + emoteReward = exdData->getField< uint8_t >( row, 1493 ); + actionReward = exdData->getField< uint16_t >( row, 1494 ); generalActionReward.push_back( exdData->getField< uint8_t >( row, 1495 ) ); - otherReward = exdData->getField< uint8_t >( row, 1497 ); - instanceContentUnlock = exdData->getField< uint32_t >( row, 1500 ); - tomestoneReward = exdData->getField< uint8_t >( row, 1502 ); - tomestoneCountReward = exdData->getField< uint8_t >( row, 1503 ); - reputationReward = exdData->getField< uint8_t >( row, 1504 ); - placeName = exdData->getField< uint16_t >( row, 1505 ); - journalGenre = exdData->getField< uint8_t >( row, 1506 ); - icon = exdData->getField< uint32_t >( row, 1508 ); - iconSpecial = exdData->getField< uint32_t >( row, 1509 ); - eventIconType = exdData->getField< uint8_t >( row, 1512 ); - sortKey = exdData->getField< uint16_t >( row, 1514 ); + generalActionReward.push_back( exdData->getField< uint8_t >( row, 1496 ) ); + otherReward = exdData->getField< uint8_t >( row, 1498 ); + instanceContentUnlock = exdData->getField< uint32_t >( row, 1501 ); + tomestoneReward = exdData->getField< uint8_t >( row, 1503 ); + tomestoneCountReward = exdData->getField< uint8_t >( row, 1504 ); + reputationReward = exdData->getField< uint8_t >( row, 1505 ); + placeName = exdData->getField< uint16_t >( row, 1506 ); + journalGenre = exdData->getField< uint8_t >( row, 1507 ); + icon = exdData->getField< uint32_t >( row, 1509 ); + iconSpecial = exdData->getField< uint32_t >( row, 1510 ); + eventIconType = exdData->getField< uint8_t >( row, 1513 ); + sortKey = exdData->getField< uint16_t >( row, 1515 ); } Sapphire::Data::QuestBattle::QuestBattle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_QuestBattleDat.get_row( row_id ); quest = exdData->getField< int32_t >( row, 0 ); + questBattleScene = exdData->getField< uint8_t >( row, 1 ); timeLimit = exdData->getField< uint16_t >( row, 2 ); levelSync = exdData->getField< uint16_t >( row, 3 ); scriptInstruction.push_back( exdData->getField< std::string >( row, 4 ) ); @@ -5536,6 +5870,7 @@ Sapphire::Data::Recipe::Recipe( uint32_t row_id, Sapphire::Data::ExdDataGenerate itemResult = exdData->getField< int32_t >( row, 3 ); amountResult = exdData->getField< uint8_t >( row, 4 ); isSecondary = exdData->getField< bool >( row, 26 ); + materialQualityFactor = exdData->getField< uint8_t >( row, 27 ); difficultyFactor = exdData->getField< uint16_t >( row, 28 ); qualityFactor = exdData->getField< uint16_t >( row, 29 ); durabilityFactor = exdData->getField< uint16_t >( row, 30 ); @@ -5559,6 +5894,7 @@ Sapphire::Data::RecipeLevelTable::RecipeLevelTable( uint32_t row_id, Sapphire::D classJobLevel = exdData->getField< uint8_t >( row, 0 ); stars = exdData->getField< uint8_t >( row, 1 ); suggestedCraftsmanship = exdData->getField< uint16_t >( row, 2 ); + suggestedControl = exdData->getField< uint16_t >( row, 3 ); difficulty = exdData->getField< uint16_t >( row, 4 ); quality = exdData->getField< uint32_t >( row, 5 ); durability = exdData->getField< uint16_t >( row, 6 ); @@ -5985,6 +6321,19 @@ Sapphire::Data::SkyIsland2RangeType::SkyIsland2RangeType( uint32_t row_id, Sapph type = exdData->getField< uint8_t >( row, 0 ); } +Sapphire::Data::SnipeTalk::SnipeTalk( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_SnipeTalkDat.get_row( row_id ); + name = exdData->getField< uint16_t >( row, 2 ); + text = exdData->getField< std::string >( row, 3 ); +} + +Sapphire::Data::SnipeTalkName::SnipeTalkName( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_SnipeTalkNameDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); +} + Sapphire::Data::SpearfishingItem::SpearfishingItem( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_SpearfishingItemDat.get_row( row_id ); @@ -6336,6 +6685,13 @@ Sapphire::Data::SubmarineExploration::SubmarineExploration( uint32_t row_id, Sap expReward = exdData->getField< uint32_t >( row, 12 ); } +Sapphire::Data::SubmarineMap::SubmarineMap( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_SubmarineMapDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + image = exdData->getField< uint32_t >( row, 1 ); +} + Sapphire::Data::SubmarinePart::SubmarinePart( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_SubmarinePartDat.get_row( row_id ); @@ -6402,6 +6758,7 @@ Sapphire::Data::TerritoryType::TerritoryType( uint32_t row_id, Sapphire::Data::E placeNameZone = exdData->getField< uint16_t >( row, 4 ); placeName = exdData->getField< uint16_t >( row, 5 ); map = exdData->getField< uint16_t >( row, 6 ); + loadingImage = exdData->getField< uint8_t >( row, 7 ); territoryIntendedUse = exdData->getField< uint8_t >( row, 9 ); weatherRate = exdData->getField< uint8_t >( row, 12 ); placeNameRegionIcon = exdData->getField< int32_t >( row, 20 ); @@ -6673,7 +7030,7 @@ Sapphire::Data::Warp::Warp( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e { auto row = exdData->m_WarpDat.get_row( row_id ); level = exdData->getField< uint32_t >( row, 0 ); - placeName = exdData->getField< uint16_t >( row, 1 ); + territoryType = exdData->getField< uint16_t >( row, 1 ); conditionSuccessEvent = exdData->getField< uint32_t >( row, 2 ); conditionFailEvent = exdData->getField< uint32_t >( row, 3 ); confirmEvent = exdData->getField< uint32_t >( row, 4 ); @@ -6816,6 +7173,20 @@ Sapphire::Data::WorldDCGroupType::WorldDCGroupType( uint32_t row_id, Sapphire::D region = exdData->getField< uint8_t >( row, 1 ); } +Sapphire::Data::YardCatalogCategory::YardCatalogCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_YardCatalogCategoryDat.get_row( row_id ); + category = exdData->getField< std::string >( row, 0 ); +} + +Sapphire::Data::YardCatalogItemList::YardCatalogItemList( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_YardCatalogItemListDat.get_row( row_id ); + category = exdData->getField< uint16_t >( row, 0 ); + item = exdData->getField< int32_t >( row, 1 ); + patch = exdData->getField< uint16_t >( row, 2 ); +} + Sapphire::Data::YKW::YKW( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_YKWDat.get_row( row_id ); @@ -6872,6 +7243,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_AchievementDat = setupDatAccess( "Achievement", xiv::exd::Language::en ); m_AchievementCategoryDat = setupDatAccess( "AchievementCategory", xiv::exd::Language::en ); + m_AchievementHideConditionDat = setupDatAccess( "AchievementHideCondition", xiv::exd::Language::none ); m_AchievementKindDat = setupDatAccess( "AchievementKind", xiv::exd::Language::en ); m_ActionDat = setupDatAccess( "Action", xiv::exd::Language::en ); m_ActionCastTimelineDat = setupDatAccess( "ActionCastTimeline", xiv::exd::Language::none ); @@ -6890,7 +7262,6 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_ActivityFeedGroupCaptionsDat = setupDatAccess( "ActivityFeedGroupCaptions", xiv::exd::Language::none ); m_ActivityFeedImagesDat = setupDatAccess( "ActivityFeedImages", xiv::exd::Language::none ); m_AddonDat = setupDatAccess( "Addon", xiv::exd::Language::en ); - m_AddonHudDat = setupDatAccess( "AddonHud", xiv::exd::Language::en ); m_AdventureDat = setupDatAccess( "Adventure", xiv::exd::Language::en ); m_AdventureExPhaseDat = setupDatAccess( "AdventureExPhase", xiv::exd::Language::none ); m_AetherCurrentDat = setupDatAccess( "AetherCurrent", xiv::exd::Language::none ); @@ -6931,6 +7302,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_BeastReputationRankDat = setupDatAccess( "BeastReputationRank", xiv::exd::Language::en ); m_BeastTribeDat = setupDatAccess( "BeastTribe", xiv::exd::Language::en ); m_BehaviorDat = setupDatAccess( "Behavior", xiv::exd::Language::none ); + m_BenchmarkOverrideEquipmentDat = setupDatAccess( "BenchmarkOverrideEquipment", xiv::exd::Language::none ); m_BGMDat = setupDatAccess( "BGM", xiv::exd::Language::none ); m_BGMFadeDat = setupDatAccess( "BGMFade", xiv::exd::Language::none ); m_BGMSituationDat = setupDatAccess( "BGMSituation", xiv::exd::Language::none ); @@ -6989,6 +7361,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_ContentGaugeColorDat = setupDatAccess( "ContentGaugeColor", xiv::exd::Language::none ); m_ContentMemberTypeDat = setupDatAccess( "ContentMemberType", xiv::exd::Language::none ); m_ContentNpcTalkDat = setupDatAccess( "ContentNpcTalk", xiv::exd::Language::none ); + m_ContentRandomSelectDat = setupDatAccess( "ContentRandomSelect", xiv::exd::Language::none ); m_ContentRouletteDat = setupDatAccess( "ContentRoulette", xiv::exd::Language::en ); m_ContentRouletteOpenRuleDat = setupDatAccess( "ContentRouletteOpenRule", xiv::exd::Language::none ); m_ContentRouletteRoleBonusDat = setupDatAccess( "ContentRouletteRoleBonus", xiv::exd::Language::none ); @@ -6998,6 +7371,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_ContentTypeDat = setupDatAccess( "ContentType", xiv::exd::Language::en ); m_CraftActionDat = setupDatAccess( "CraftAction", xiv::exd::Language::en ); m_CraftLeveDat = setupDatAccess( "CraftLeve", xiv::exd::Language::none ); + m_CraftLevelDifferenceDat = setupDatAccess( "CraftLevelDifference", xiv::exd::Language::none ); m_CraftTypeDat = setupDatAccess( "CraftType", xiv::exd::Language::en ); m_CreditDat = setupDatAccess( "Credit", xiv::exd::Language::none ); m_CreditBackImageDat = setupDatAccess( "CreditBackImage", xiv::exd::Language::none ); @@ -7011,6 +7385,10 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_CutsceneDat = setupDatAccess( "Cutscene", xiv::exd::Language::none ); m_CutScreenImageDat = setupDatAccess( "CutScreenImage", xiv::exd::Language::none ); m_DailySupplyItemDat = setupDatAccess( "DailySupplyItem", xiv::exd::Language::none ); + m_DawnContentDat = setupDatAccess( "DawnContent", xiv::exd::Language::none ); + m_DawnGrowMemberDat = setupDatAccess( "DawnGrowMember", xiv::exd::Language::none ); + m_DawnMemberUIParamDat = setupDatAccess( "DawnMemberUIParam", xiv::exd::Language::en ); + m_DawnQuestMemberDat = setupDatAccess( "DawnQuestMember", xiv::exd::Language::none ); m_DeepDungeonDat = setupDatAccess( "DeepDungeon", xiv::exd::Language::en ); m_DeepDungeonBanDat = setupDatAccess( "DeepDungeonBan", xiv::exd::Language::none ); m_DeepDungeonDangerDat = setupDatAccess( "DeepDungeonDanger", xiv::exd::Language::none ); @@ -7063,6 +7441,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_ExportedSGDat = setupDatAccess( "ExportedSG", xiv::exd::Language::none ); m_ExVersionDat = setupDatAccess( "ExVersion", xiv::exd::Language::en ); m_FateDat = setupDatAccess( "Fate", xiv::exd::Language::en ); + m_FateProgressUIDat = setupDatAccess( "FateProgressUI", xiv::exd::Language::none ); m_FCActivityDat = setupDatAccess( "FCActivity", xiv::exd::Language::en ); m_FCActivityCategoryDat = setupDatAccess( "FCActivityCategory", xiv::exd::Language::en ); m_FCAuthorityDat = setupDatAccess( "FCAuthority", xiv::exd::Language::en ); @@ -7081,6 +7460,8 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_FishParameterDat = setupDatAccess( "FishParameter", xiv::exd::Language::en ); m_Frontline03Dat = setupDatAccess( "Frontline03", xiv::exd::Language::none ); m_Frontline04Dat = setupDatAccess( "Frontline04", xiv::exd::Language::none ); + m_FurnitureCatalogCategoryDat = setupDatAccess( "FurnitureCatalogCategory", xiv::exd::Language::en ); + m_FurnitureCatalogItemListDat = setupDatAccess( "FurnitureCatalogItemList", xiv::exd::Language::none ); m_GardeningSeedDat = setupDatAccess( "GardeningSeed", xiv::exd::Language::none ); m_GatheringConditionDat = setupDatAccess( "GatheringCondition", xiv::exd::Language::en ); m_GatheringExpDat = setupDatAccess( "GatheringExp", xiv::exd::Language::none ); @@ -7128,6 +7509,10 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_GrandCompanyDat = setupDatAccess( "GrandCompany", xiv::exd::Language::en ); m_GrandCompanyRankDat = setupDatAccess( "GrandCompanyRank", xiv::exd::Language::none ); m_GuardianDeityDat = setupDatAccess( "GuardianDeity", xiv::exd::Language::en ); + m_GuideDat = setupDatAccess( "Guide", xiv::exd::Language::none ); + m_GuidePageDat = setupDatAccess( "GuidePage", xiv::exd::Language::none ); + m_GuidePageStringDat = setupDatAccess( "GuidePageString", xiv::exd::Language::en ); + m_GuideTitleDat = setupDatAccess( "GuideTitle", xiv::exd::Language::en ); m_GuildleveAssignmentDat = setupDatAccess( "GuildleveAssignment", xiv::exd::Language::none ); m_GuildleveAssignmentCategoryDat = setupDatAccess( "GuildleveAssignmentCategory", xiv::exd::Language::none ); m_GuildOrderDat = setupDatAccess( "GuildOrder", xiv::exd::Language::en ); @@ -7151,6 +7536,9 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_HowToDat = setupDatAccess( "HowTo", xiv::exd::Language::en ); m_HowToCategoryDat = setupDatAccess( "HowToCategory", xiv::exd::Language::en ); m_HowToPageDat = setupDatAccess( "HowToPage", xiv::exd::Language::en ); + m_HugeCraftworksNpcDat = setupDatAccess( "HugeCraftworksNpc", xiv::exd::Language::en ); + m_HugeCraftworksRankDat = setupDatAccess( "HugeCraftworksRank", xiv::exd::Language::none ); + m_IndividualWeatherDat = setupDatAccess( "IndividualWeather", xiv::exd::Language::none ); m_InstanceContentDat = setupDatAccess( "InstanceContent", xiv::exd::Language::en ); m_InstanceContentBuffDat = setupDatAccess( "InstanceContentBuff", xiv::exd::Language::none ); m_InstanceContentCSBonusDat = setupDatAccess( "InstanceContentCSBonus", xiv::exd::Language::none ); @@ -7164,6 +7552,8 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_ItemSeriesDat = setupDatAccess( "ItemSeries", xiv::exd::Language::en ); m_ItemSpecialBonusDat = setupDatAccess( "ItemSpecialBonus", xiv::exd::Language::en ); m_ItemUICategoryDat = setupDatAccess( "ItemUICategory", xiv::exd::Language::en ); + m_JobHudManualDat = setupDatAccess( "JobHudManual", xiv::exd::Language::none ); + m_JobHudManualPriorityDat = setupDatAccess( "JobHudManualPriority", xiv::exd::Language::none ); m_JournalCategoryDat = setupDatAccess( "JournalCategory", xiv::exd::Language::en ); m_JournalGenreDat = setupDatAccess( "JournalGenre", xiv::exd::Language::en ); m_JournalSectionDat = setupDatAccess( "JournalSection", xiv::exd::Language::en ); @@ -7192,11 +7582,16 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_MasterpieceSupplyDutyDat = setupDatAccess( "MasterpieceSupplyDuty", xiv::exd::Language::none ); m_MasterpieceSupplyMultiplierDat = setupDatAccess( "MasterpieceSupplyMultiplier", xiv::exd::Language::none ); m_MateriaDat = setupDatAccess( "Materia", xiv::exd::Language::none ); + m_MateriaJoinRateDat = setupDatAccess( "MateriaJoinRate", xiv::exd::Language::none ); + m_MateriaJoinRateGatherCraftDat = setupDatAccess( "MateriaJoinRateGatherCraft", xiv::exd::Language::none ); m_MiniGameRADat = setupDatAccess( "MiniGameRA", xiv::exd::Language::none ); m_MinionRaceDat = setupDatAccess( "MinionRace", xiv::exd::Language::en ); m_MinionRulesDat = setupDatAccess( "MinionRules", xiv::exd::Language::en ); m_MinionSkillTypeDat = setupDatAccess( "MinionSkillType", xiv::exd::Language::en ); + m_MobHuntOrderDat = setupDatAccess( "MobHuntOrder", xiv::exd::Language::none ); m_MobHuntOrderTypeDat = setupDatAccess( "MobHuntOrderType", xiv::exd::Language::none ); + m_MobHuntRewardDat = setupDatAccess( "MobHuntReward", xiv::exd::Language::none ); + m_MobHuntRewardCapDat = setupDatAccess( "MobHuntRewardCap", xiv::exd::Language::none ); m_MobHuntTargetDat = setupDatAccess( "MobHuntTarget", xiv::exd::Language::none ); m_ModelCharaDat = setupDatAccess( "ModelChara", xiv::exd::Language::none ); m_ModelSkeletonDat = setupDatAccess( "ModelSkeleton", xiv::exd::Language::none ); @@ -7213,10 +7608,13 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_MoveVfxDat = setupDatAccess( "MoveVfx", xiv::exd::Language::none ); m_NotebookDivisionDat = setupDatAccess( "NotebookDivision", xiv::exd::Language::en ); m_NotebookDivisionCategoryDat = setupDatAccess( "NotebookDivisionCategory", xiv::exd::Language::en ); + m_NotoriousMonsterDat = setupDatAccess( "NotoriousMonster", xiv::exd::Language::none ); m_NpcEquipDat = setupDatAccess( "NpcEquip", xiv::exd::Language::none ); m_NpcYellDat = setupDatAccess( "NpcYell", xiv::exd::Language::en ); m_OmenDat = setupDatAccess( "Omen", xiv::exd::Language::none ); m_OnlineStatusDat = setupDatAccess( "OnlineStatus", xiv::exd::Language::en ); + m_OpenContentDat = setupDatAccess( "OpenContent", xiv::exd::Language::none ); + m_OpenContentCandidateNameDat = setupDatAccess( "OpenContentCandidateName", xiv::exd::Language::en ); m_OpeningDat = setupDatAccess( "Opening", xiv::exd::Language::none ); m_OrchestrionDat = setupDatAccess( "Orchestrion", xiv::exd::Language::en ); m_OrchestrionCategoryDat = setupDatAccess( "OrchestrionCategory", xiv::exd::Language::en ); @@ -7288,6 +7686,8 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_SkyIsland2MissionDetailDat = setupDatAccess( "SkyIsland2MissionDetail", xiv::exd::Language::en ); m_SkyIsland2MissionTypeDat = setupDatAccess( "SkyIsland2MissionType", xiv::exd::Language::none ); m_SkyIsland2RangeTypeDat = setupDatAccess( "SkyIsland2RangeType", xiv::exd::Language::none ); + m_SnipeTalkDat = setupDatAccess( "SnipeTalk", xiv::exd::Language::en ); + m_SnipeTalkNameDat = setupDatAccess( "SnipeTalkName", xiv::exd::Language::en ); m_SpearfishingItemDat = setupDatAccess( "SpearfishingItem", xiv::exd::Language::en ); m_SpearfishingNotebookDat = setupDatAccess( "SpearfishingNotebook", xiv::exd::Language::none ); m_SpearfishingRecordPageDat = setupDatAccess( "SpearfishingRecordPage", xiv::exd::Language::none ); @@ -7300,6 +7700,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_StatusLoopVFXDat = setupDatAccess( "StatusLoopVFX", xiv::exd::Language::none ); m_StoryDat = setupDatAccess( "Story", xiv::exd::Language::none ); m_SubmarineExplorationDat = setupDatAccess( "SubmarineExploration", xiv::exd::Language::en ); + m_SubmarineMapDat = setupDatAccess( "SubmarineMap", xiv::exd::Language::en ); m_SubmarinePartDat = setupDatAccess( "SubmarinePart", xiv::exd::Language::none ); m_SubmarineRankDat = setupDatAccess( "SubmarineRank", xiv::exd::Language::none ); m_SwitchTalkDat = setupDatAccess( "SwitchTalk", xiv::exd::Language::none ); @@ -7346,6 +7747,8 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_WeeklyLotBonusDat = setupDatAccess( "WeeklyLotBonus", xiv::exd::Language::none ); m_WorldDat = setupDatAccess( "World", xiv::exd::Language::none ); m_WorldDCGroupTypeDat = setupDatAccess( "WorldDCGroupType", xiv::exd::Language::none ); + m_YardCatalogCategoryDat = setupDatAccess( "YardCatalogCategory", xiv::exd::Language::en ); + m_YardCatalogItemListDat = setupDatAccess( "YardCatalogItemList", xiv::exd::Language::none ); m_YKWDat = setupDatAccess( "YKW", xiv::exd::Language::en ); m_ZoneSharedGroupDat = setupDatAccess( "ZoneSharedGroup", xiv::exd::Language::none ); diff --git a/src/common/Exd/ExdDataGenerated.h b/src/common/Exd/ExdDataGenerated.h index 725fb2a7..4f837cac 100644 --- a/src/common/Exd/ExdDataGenerated.h +++ b/src/common/Exd/ExdDataGenerated.h @@ -20,6 +20,7 @@ class ExdDataGenerated; struct Achievement; struct AchievementCategory; +struct AchievementHideCondition; struct AchievementKind; struct Action; struct ActionCastTimeline; @@ -38,7 +39,6 @@ struct ActivityFeedCaptions; struct ActivityFeedGroupCaptions; struct ActivityFeedImages; struct Addon; -struct AddonHud; struct Adventure; struct AdventureExPhase; struct AetherCurrent; @@ -79,6 +79,7 @@ struct BeastRankBonus; struct BeastReputationRank; struct BeastTribe; struct Behavior; +struct BenchmarkOverrideEquipment; struct BGM; struct BGMFade; struct BGMSituation; @@ -137,6 +138,7 @@ struct ContentGauge; struct ContentGaugeColor; struct ContentMemberType; struct ContentNpcTalk; +struct ContentRandomSelect; struct ContentRoulette; struct ContentRouletteOpenRule; struct ContentRouletteRoleBonus; @@ -146,6 +148,7 @@ struct ContentTalkParam; struct ContentType; struct CraftAction; struct CraftLeve; +struct CraftLevelDifference; struct CraftType; struct Credit; struct CreditBackImage; @@ -159,6 +162,10 @@ struct CustomTalkNestHandlers; struct Cutscene; struct CutScreenImage; struct DailySupplyItem; +struct DawnContent; +struct DawnGrowMember; +struct DawnMemberUIParam; +struct DawnQuestMember; struct DeepDungeon; struct DeepDungeonBan; struct DeepDungeonDanger; @@ -211,6 +218,7 @@ struct EventItemTimeline; struct ExportedSG; struct ExVersion; struct Fate; +struct FateProgressUI; struct FCActivity; struct FCActivityCategory; struct FCAuthority; @@ -229,6 +237,8 @@ struct FishingSpot; struct FishParameter; struct Frontline03; struct Frontline04; +struct FurnitureCatalogCategory; +struct FurnitureCatalogItemList; struct GardeningSeed; struct GatheringCondition; struct GatheringExp; @@ -276,6 +286,10 @@ struct GoldSaucerTextData; struct GrandCompany; struct GrandCompanyRank; struct GuardianDeity; +struct Guide; +struct GuidePage; +struct GuidePageString; +struct GuideTitle; struct GuildleveAssignment; struct GuildleveAssignmentCategory; struct GuildOrder; @@ -299,6 +313,9 @@ struct HousingYardObject; struct HowTo; struct HowToCategory; struct HowToPage; +struct HugeCraftworksNpc; +struct HugeCraftworksRank; +struct IndividualWeather; struct InstanceContent; struct InstanceContentBuff; struct InstanceContentCSBonus; @@ -312,6 +329,8 @@ struct ItemSearchCategory; struct ItemSeries; struct ItemSpecialBonus; struct ItemUICategory; +struct JobHudManual; +struct JobHudManualPriority; struct JournalCategory; struct JournalGenre; struct JournalSection; @@ -340,11 +359,16 @@ struct Marker; struct MasterpieceSupplyDuty; struct MasterpieceSupplyMultiplier; struct Materia; +struct MateriaJoinRate; +struct MateriaJoinRateGatherCraft; struct MiniGameRA; struct MinionRace; struct MinionRules; struct MinionSkillType; +struct MobHuntOrder; struct MobHuntOrderType; +struct MobHuntReward; +struct MobHuntRewardCap; struct MobHuntTarget; struct ModelChara; struct ModelSkeleton; @@ -361,10 +385,13 @@ struct MoveTimeline; struct MoveVfx; struct NotebookDivision; struct NotebookDivisionCategory; +struct NotoriousMonster; struct NpcEquip; struct NpcYell; struct Omen; struct OnlineStatus; +struct OpenContent; +struct OpenContentCandidateName; struct Opening; struct Orchestrion; struct OrchestrionCategory; @@ -436,6 +463,8 @@ struct SkyIsland2Mission; struct SkyIsland2MissionDetail; struct SkyIsland2MissionType; struct SkyIsland2RangeType; +struct SnipeTalk; +struct SnipeTalkName; struct SpearfishingItem; struct SpearfishingNotebook; struct SpearfishingRecordPage; @@ -448,6 +477,7 @@ struct StatusHitEffect; struct StatusLoopVFX; struct Story; struct SubmarineExploration; +struct SubmarineMap; struct SubmarinePart; struct SubmarineRank; struct SwitchTalk; @@ -494,6 +524,8 @@ struct WeeklyBingoText; struct WeeklyLotBonus; struct World; struct WorldDCGroupType; +struct YardCatalogCategory; +struct YardCatalogItemList; struct YKW; struct ZoneSharedGroup; @@ -511,7 +543,7 @@ struct Achievement int32_t key; std::vector< int32_t > data; uint16_t order; - uint8_t initialHide; + uint8_t achievementHideCondition; Achievement( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -525,6 +557,15 @@ struct AchievementCategory AchievementCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct AchievementHideCondition +{ + bool hideAchievement; + bool hideName; + bool hideConditions; + + AchievementHideCondition( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct AchievementKind { std::string name; @@ -542,6 +583,7 @@ struct Action int16_t animationEnd; uint16_t actionTimelineHit; int8_t classJob; + uint8_t behaviourType; uint8_t classJobLevel; bool isRoleAction; int8_t range; @@ -563,6 +605,7 @@ struct Action uint16_t cast100ms; uint16_t recast100ms; uint8_t cooldownGroup; + uint8_t maxCharges; int8_t attackType; uint8_t aspect; uint8_t actionProcStatus; @@ -570,7 +613,7 @@ struct Action uint32_t unlockLink; uint8_t classJobCategory; bool affectsPosition; - uint8_t omen; + uint16_t omen; bool isPvP; bool isPlayerAction; @@ -704,15 +747,6 @@ struct Addon Addon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; -struct AddonHud -{ - std::string _long; - std::string _short; - std::string function; - - AddonHud( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); -}; - struct Adventure { int32_t level; @@ -1131,6 +1165,36 @@ struct Behavior Behavior( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct BenchmarkOverrideEquipment +{ + uint64_t modelMainHand; + uint8_t dyeMainHand; + uint64_t modelOffHand; + uint8_t dyeOffHand; + uint32_t modelHead; + uint8_t dyeHead; + uint32_t modelBody; + uint8_t dyeBody; + uint32_t modelHands; + uint8_t dyeHands; + uint32_t modelLegs; + uint8_t dyeLegs; + uint32_t modelFeet; + uint8_t dyeFeet; + uint32_t modelEars; + uint8_t dyeEars; + uint32_t modelNeck; + uint8_t dyeNeck; + uint32_t modelWrists; + uint8_t dyeWrists; + uint32_t modelLeftRing; + uint8_t dyeLeftRing; + uint32_t modelRightRing; + uint8_t dyeRightRing; + + BenchmarkOverrideEquipment( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct BGM { std::string file; @@ -1368,6 +1432,7 @@ struct Calendar struct CharaMakeCustomize { + uint8_t featureID; uint32_t icon; uint16_t data; bool isPurchasable; @@ -1481,6 +1546,7 @@ struct ClassJob std::string abbreviation; uint8_t classJobCategory; int8_t expArrayIndex; + uint8_t jobIndex; uint16_t modifierHitPoints; uint16_t modifierManaPoints; uint16_t modifierStrength; @@ -1498,6 +1564,7 @@ struct ClassJob uint16_t limitBreak1; uint16_t limitBreak2; uint16_t limitBreak3; + uint8_t uIPriority; uint32_t itemSoulCrystal; uint32_t unlockQuest; uint32_t relicQuest; @@ -1505,6 +1572,7 @@ struct ClassJob uint8_t startingLevel; uint8_t partyBonus; bool isLimitedJob; + bool canQueueForDuty; ClassJob( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1548,6 +1616,9 @@ struct ClassJobCategory bool aST; bool sAM; bool rDM; + bool bLU; + bool gNB; + bool dNC; ClassJobCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -1737,6 +1808,7 @@ struct ContentFinderCondition uint8_t classJobLevelSync; uint16_t itemLevelRequired; uint16_t itemLevelSync; + bool allowUndersized; bool allowReplacement; bool highEndDuty; bool dutyRecorderAllowed; @@ -1804,6 +1876,13 @@ struct ContentNpcTalk ContentNpcTalk( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct ContentRandomSelect +{ + uint16_t name; + + ContentRandomSelect( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct ContentRoulette { std::string name; @@ -1919,6 +1998,15 @@ struct CraftLeve CraftLeve( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct CraftLevelDifference +{ + int16_t difference; + int16_t progressFactor; + int16_t qualityFactor; + + CraftLevelDifference( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct CraftType { std::string name; @@ -2028,6 +2116,47 @@ struct DailySupplyItem DailySupplyItem( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct DawnContent +{ + uint32_t content; + uint32_t exp; + + DawnContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct DawnGrowMember +{ + uint32_t member; + uint32_t imageName; + uint32_t bigImageOld; + uint32_t bigImageNew; + uint32_t smallImageOld; + uint32_t smallImageNew; + uint8_t _class; + + DawnGrowMember( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct DawnMemberUIParam +{ + std::string classSingular; + uint32_t voiceLine; + std::string classPlural; + + DawnMemberUIParam( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct DawnQuestMember +{ + uint32_t member; + uint32_t imageName; + uint32_t bigImageOld; + uint32_t bigImageNew; + uint8_t _class; + + DawnQuestMember( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct DeepDungeon { std::string name; @@ -2165,23 +2294,23 @@ struct DeliveryQuest struct DescriptionPage { - uint32_t text1; + uint16_t text1; uint32_t image1; - uint32_t text2; + uint16_t text2; uint32_t image2; - uint32_t text3; + uint16_t text3; uint32_t image3; - uint32_t text4; + uint16_t text4; uint32_t image4; - uint32_t text5; + uint16_t text5; uint32_t image5; - uint32_t text6; + uint16_t text6; uint32_t image6; - uint32_t text7; + uint16_t text7; uint32_t image7; - uint32_t text8; + uint16_t text8; uint32_t image8; - uint32_t text9; + uint16_t text9; uint32_t image9; DescriptionPage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); @@ -2612,6 +2741,17 @@ struct Fate Fate( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct FateProgressUI +{ + int32_t location; + int32_t achievement; + uint8_t reqFatesToRank2; + uint8_t reqFatesToRank3; + uint8_t displayOrder; + + FateProgressUI( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct FCActivity { std::string text; @@ -2775,6 +2915,22 @@ struct Frontline04 Frontline04( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct FurnitureCatalogCategory +{ + std::string category; + + FurnitureCatalogCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct FurnitureCatalogItemList +{ + uint16_t category; + int32_t item; + uint16_t patch; + + FurnitureCatalogItemList( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct GardeningSeed { uint32_t item; @@ -2792,7 +2948,7 @@ struct GatheringCondition struct GatheringExp { - uint16_t exp; + int32_t exp; GatheringExp( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -3223,6 +3379,36 @@ struct GuardianDeity GuardianDeity( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct Guide +{ + uint16_t guideTitle; + uint16_t guidePage; + + Guide( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct GuidePage +{ + uint8_t key; + uint32_t output; + + GuidePage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct GuidePageString +{ + std::string string; + + GuidePageString( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct GuideTitle +{ + std::string title; + + GuideTitle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct GuildleveAssignment { uint32_t assignmentTalk; @@ -3444,6 +3630,37 @@ struct HowToPage HowToPage( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct HugeCraftworksNpc +{ + uint32_t eNpcResident; + uint16_t classJobCategory; + std::vector< uint32_t > itemRequested; + std::vector< uint8_t > qtyRequested; + std::vector< uint32_t > itemReward; + std::vector< uint8_t > qtyItemReward; + std::vector< uint32_t > itemUnkown; + std::vector< uint8_t > qtyItemUnkown; + std::string transient; + + HugeCraftworksNpc( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct HugeCraftworksRank +{ + uint8_t crafterLevel; + uint32_t expRewardPerItem; + + HugeCraftworksRank( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct IndividualWeather +{ + std::vector< uint8_t > weather; + std::vector< uint32_t > quest; + + IndividualWeather( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct InstanceContent { uint8_t instanceContentType; @@ -3706,6 +3923,21 @@ struct ItemUICategory ItemUICategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct JobHudManual +{ + uint32_t action; + uint16_t guide; + + JobHudManual( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct JobHudManualPriority +{ + std::vector< uint8_t > jobHudManual; + + JobHudManualPriority( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct JournalCategory { std::string name; @@ -3975,6 +4207,22 @@ struct Materia Materia( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct MateriaJoinRate +{ + std::vector< float > NQOvermeldSlot; + std::vector< float > HQOvermeldSlot; + + MateriaJoinRate( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct MateriaJoinRateGatherCraft +{ + std::vector< float > NQOvermeldSlot; + std::vector< float > HQOvermeldSlot; + + MateriaJoinRateGatherCraft( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct MiniGameRA { int32_t icon; @@ -4005,14 +4253,41 @@ struct MinionSkillType MinionSkillType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct MobHuntOrder +{ + uint16_t target; + uint8_t stars; + uint8_t mobHuntReward; + + MobHuntOrder( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct MobHuntOrderType { uint32_t quest; uint32_t eventItem; + uint16_t orderStart; + uint8_t orderAmount; MobHuntOrderType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct MobHuntReward +{ + uint32_t expReward; + uint16_t gilReward; + uint16_t currencyReward; + + MobHuntReward( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct MobHuntRewardCap +{ + uint32_t expCap; + + MobHuntRewardCap( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct MobHuntTarget { uint16_t name; @@ -4100,6 +4375,22 @@ struct MountAction struct MountCustomize { + uint16_t hyurMaleScale; + uint16_t hyurFemaleScale; + uint16_t elezenMaleScale; + uint16_t elezenFemaleScale; + uint16_t lalaMaleScale; + uint16_t lalaFemaleScale; + uint16_t miqoMaleScale; + uint16_t miqoFemaleScale; + uint16_t roeMaleScale; + uint16_t roeFemaleScale; + uint16_t auRaMaleScale; + uint16_t auRaFemaleScale; + uint16_t hrothgarMaleScale; + uint16_t hrothgarFemaleScale; + uint16_t vieraMaleScale; + uint16_t vieraFemaleScale; uint8_t hyurMaleCameraHeight; uint8_t hyurFemaleCameraHeight; uint8_t elezenMaleCameraHeight; @@ -4112,6 +4403,10 @@ struct MountCustomize uint8_t roeFemaleCameraHeight; uint8_t auRaMaleCameraHeight; uint8_t auRaFemaleCameraHeight; + uint8_t hrothgarMaleCameraHeight; + uint8_t hrothgarRoeFemaleCameraHeight; + uint8_t vieraMaleCameraHeight; + uint8_t vieraFemaleCameraHeight; MountCustomize( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -4178,6 +4473,15 @@ struct NotebookDivisionCategory NotebookDivisionCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct NotoriousMonster +{ + int32_t bNpcBase; + uint8_t rank; + uint32_t bNpcName; + + NotoriousMonster( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct NpcEquip { uint64_t modelMainHand; @@ -4232,6 +4536,21 @@ struct OnlineStatus OnlineStatus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct OpenContent +{ + std::vector< uint16_t > content; + std::vector< uint32_t > candidateName; + + OpenContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct OpenContentCandidateName +{ + std::string name; + + OpenContentCandidateName( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Opening { std::string name; @@ -4282,6 +4601,7 @@ struct ParamGrow uint16_t hpModifier; int32_t huntingLogExpReward; uint16_t itemLevelSync; + uint16_t craftingLevel; ParamGrow( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -4486,7 +4806,7 @@ struct Quest bool isHouseRequired; uint8_t deliveryQuest; uint32_t issuerStart; - uint16_t behavior; + uint32_t behavior; uint32_t targetEnd; bool isRepeatable; uint8_t repeatIntervalType; @@ -4539,6 +4859,7 @@ struct Quest struct QuestBattle { int32_t quest; + uint8_t questBattleScene; uint16_t timeLimit; uint16_t levelSync; std::vector< std::string > scriptInstruction; @@ -4680,6 +5001,7 @@ struct Recipe int32_t itemResult; uint8_t amountResult; bool isSecondary; + uint8_t materialQualityFactor; uint16_t difficultyFactor; uint16_t qualityFactor; uint16_t durabilityFactor; @@ -4704,6 +5026,7 @@ struct RecipeLevelTable uint8_t classJobLevel; uint8_t stars; uint16_t suggestedCraftsmanship; + uint16_t suggestedControl; uint16_t difficulty; uint32_t quality; uint16_t durability; @@ -4985,6 +5308,21 @@ struct SkyIsland2RangeType SkyIsland2RangeType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct SnipeTalk +{ + uint16_t name; + std::string text; + + SnipeTalk( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct SnipeTalkName +{ + std::string name; + + SnipeTalkName( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct SpearfishingItem { std::string description; @@ -5112,6 +5450,14 @@ struct SubmarineExploration SubmarineExploration( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct SubmarineMap +{ + std::string name; + uint32_t image; + + SubmarineMap( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct SubmarinePart { uint8_t slot; @@ -5151,6 +5497,7 @@ struct TerritoryType uint16_t placeNameZone; uint16_t placeName; uint16_t map; + uint8_t loadingImage; uint8_t territoryIntendedUse; uint8_t weatherRate; int32_t placeNameRegionIcon; @@ -5432,7 +5779,7 @@ struct VFX struct Warp { uint32_t level; - uint16_t placeName; + uint16_t territoryType; uint32_t conditionSuccessEvent; uint32_t conditionFailEvent; uint32_t confirmEvent; @@ -5551,6 +5898,22 @@ struct WorldDCGroupType WorldDCGroupType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct YardCatalogCategory +{ + std::string category; + + YardCatalogCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct YardCatalogItemList +{ + uint16_t category; + int32_t item; + uint16_t patch; + + YardCatalogItemList( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct YKW { uint32_t item; @@ -5626,6 +5989,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_AchievementDat; xiv::exd::Exd m_AchievementCategoryDat; + xiv::exd::Exd m_AchievementHideConditionDat; xiv::exd::Exd m_AchievementKindDat; xiv::exd::Exd m_ActionDat; xiv::exd::Exd m_ActionCastTimelineDat; @@ -5644,7 +6008,6 @@ struct ZoneSharedGroup xiv::exd::Exd m_ActivityFeedGroupCaptionsDat; xiv::exd::Exd m_ActivityFeedImagesDat; xiv::exd::Exd m_AddonDat; - xiv::exd::Exd m_AddonHudDat; xiv::exd::Exd m_AdventureDat; xiv::exd::Exd m_AdventureExPhaseDat; xiv::exd::Exd m_AetherCurrentDat; @@ -5685,6 +6048,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_BeastReputationRankDat; xiv::exd::Exd m_BeastTribeDat; xiv::exd::Exd m_BehaviorDat; + xiv::exd::Exd m_BenchmarkOverrideEquipmentDat; xiv::exd::Exd m_BGMDat; xiv::exd::Exd m_BGMFadeDat; xiv::exd::Exd m_BGMSituationDat; @@ -5743,6 +6107,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_ContentGaugeColorDat; xiv::exd::Exd m_ContentMemberTypeDat; xiv::exd::Exd m_ContentNpcTalkDat; + xiv::exd::Exd m_ContentRandomSelectDat; xiv::exd::Exd m_ContentRouletteDat; xiv::exd::Exd m_ContentRouletteOpenRuleDat; xiv::exd::Exd m_ContentRouletteRoleBonusDat; @@ -5752,6 +6117,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_ContentTypeDat; xiv::exd::Exd m_CraftActionDat; xiv::exd::Exd m_CraftLeveDat; + xiv::exd::Exd m_CraftLevelDifferenceDat; xiv::exd::Exd m_CraftTypeDat; xiv::exd::Exd m_CreditDat; xiv::exd::Exd m_CreditBackImageDat; @@ -5765,6 +6131,10 @@ struct ZoneSharedGroup xiv::exd::Exd m_CutsceneDat; xiv::exd::Exd m_CutScreenImageDat; xiv::exd::Exd m_DailySupplyItemDat; + xiv::exd::Exd m_DawnContentDat; + xiv::exd::Exd m_DawnGrowMemberDat; + xiv::exd::Exd m_DawnMemberUIParamDat; + xiv::exd::Exd m_DawnQuestMemberDat; xiv::exd::Exd m_DeepDungeonDat; xiv::exd::Exd m_DeepDungeonBanDat; xiv::exd::Exd m_DeepDungeonDangerDat; @@ -5817,6 +6187,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_ExportedSGDat; xiv::exd::Exd m_ExVersionDat; xiv::exd::Exd m_FateDat; + xiv::exd::Exd m_FateProgressUIDat; xiv::exd::Exd m_FCActivityDat; xiv::exd::Exd m_FCActivityCategoryDat; xiv::exd::Exd m_FCAuthorityDat; @@ -5835,6 +6206,8 @@ struct ZoneSharedGroup xiv::exd::Exd m_FishParameterDat; xiv::exd::Exd m_Frontline03Dat; xiv::exd::Exd m_Frontline04Dat; + xiv::exd::Exd m_FurnitureCatalogCategoryDat; + xiv::exd::Exd m_FurnitureCatalogItemListDat; xiv::exd::Exd m_GardeningSeedDat; xiv::exd::Exd m_GatheringConditionDat; xiv::exd::Exd m_GatheringExpDat; @@ -5882,6 +6255,10 @@ struct ZoneSharedGroup xiv::exd::Exd m_GrandCompanyDat; xiv::exd::Exd m_GrandCompanyRankDat; xiv::exd::Exd m_GuardianDeityDat; + xiv::exd::Exd m_GuideDat; + xiv::exd::Exd m_GuidePageDat; + xiv::exd::Exd m_GuidePageStringDat; + xiv::exd::Exd m_GuideTitleDat; xiv::exd::Exd m_GuildleveAssignmentDat; xiv::exd::Exd m_GuildleveAssignmentCategoryDat; xiv::exd::Exd m_GuildOrderDat; @@ -5905,6 +6282,9 @@ struct ZoneSharedGroup xiv::exd::Exd m_HowToDat; xiv::exd::Exd m_HowToCategoryDat; xiv::exd::Exd m_HowToPageDat; + xiv::exd::Exd m_HugeCraftworksNpcDat; + xiv::exd::Exd m_HugeCraftworksRankDat; + xiv::exd::Exd m_IndividualWeatherDat; xiv::exd::Exd m_InstanceContentDat; xiv::exd::Exd m_InstanceContentBuffDat; xiv::exd::Exd m_InstanceContentCSBonusDat; @@ -5918,6 +6298,8 @@ struct ZoneSharedGroup xiv::exd::Exd m_ItemSeriesDat; xiv::exd::Exd m_ItemSpecialBonusDat; xiv::exd::Exd m_ItemUICategoryDat; + xiv::exd::Exd m_JobHudManualDat; + xiv::exd::Exd m_JobHudManualPriorityDat; xiv::exd::Exd m_JournalCategoryDat; xiv::exd::Exd m_JournalGenreDat; xiv::exd::Exd m_JournalSectionDat; @@ -5946,11 +6328,16 @@ struct ZoneSharedGroup xiv::exd::Exd m_MasterpieceSupplyDutyDat; xiv::exd::Exd m_MasterpieceSupplyMultiplierDat; xiv::exd::Exd m_MateriaDat; + xiv::exd::Exd m_MateriaJoinRateDat; + xiv::exd::Exd m_MateriaJoinRateGatherCraftDat; xiv::exd::Exd m_MiniGameRADat; xiv::exd::Exd m_MinionRaceDat; xiv::exd::Exd m_MinionRulesDat; xiv::exd::Exd m_MinionSkillTypeDat; + xiv::exd::Exd m_MobHuntOrderDat; xiv::exd::Exd m_MobHuntOrderTypeDat; + xiv::exd::Exd m_MobHuntRewardDat; + xiv::exd::Exd m_MobHuntRewardCapDat; xiv::exd::Exd m_MobHuntTargetDat; xiv::exd::Exd m_ModelCharaDat; xiv::exd::Exd m_ModelSkeletonDat; @@ -5967,10 +6354,13 @@ struct ZoneSharedGroup xiv::exd::Exd m_MoveVfxDat; xiv::exd::Exd m_NotebookDivisionDat; xiv::exd::Exd m_NotebookDivisionCategoryDat; + xiv::exd::Exd m_NotoriousMonsterDat; xiv::exd::Exd m_NpcEquipDat; xiv::exd::Exd m_NpcYellDat; xiv::exd::Exd m_OmenDat; xiv::exd::Exd m_OnlineStatusDat; + xiv::exd::Exd m_OpenContentDat; + xiv::exd::Exd m_OpenContentCandidateNameDat; xiv::exd::Exd m_OpeningDat; xiv::exd::Exd m_OrchestrionDat; xiv::exd::Exd m_OrchestrionCategoryDat; @@ -6042,6 +6432,8 @@ struct ZoneSharedGroup xiv::exd::Exd m_SkyIsland2MissionDetailDat; xiv::exd::Exd m_SkyIsland2MissionTypeDat; xiv::exd::Exd m_SkyIsland2RangeTypeDat; + xiv::exd::Exd m_SnipeTalkDat; + xiv::exd::Exd m_SnipeTalkNameDat; xiv::exd::Exd m_SpearfishingItemDat; xiv::exd::Exd m_SpearfishingNotebookDat; xiv::exd::Exd m_SpearfishingRecordPageDat; @@ -6054,6 +6446,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_StatusLoopVFXDat; xiv::exd::Exd m_StoryDat; xiv::exd::Exd m_SubmarineExplorationDat; + xiv::exd::Exd m_SubmarineMapDat; xiv::exd::Exd m_SubmarinePartDat; xiv::exd::Exd m_SubmarineRankDat; xiv::exd::Exd m_SwitchTalkDat; @@ -6100,12 +6493,15 @@ struct ZoneSharedGroup xiv::exd::Exd m_WeeklyLotBonusDat; xiv::exd::Exd m_WorldDat; xiv::exd::Exd m_WorldDCGroupTypeDat; + xiv::exd::Exd m_YardCatalogCategoryDat; + xiv::exd::Exd m_YardCatalogItemListDat; xiv::exd::Exd m_YKWDat; xiv::exd::Exd m_ZoneSharedGroupDat; using AchievementPtr = std::shared_ptr< Achievement >; using AchievementCategoryPtr = std::shared_ptr< AchievementCategory >; + using AchievementHideConditionPtr = std::shared_ptr< AchievementHideCondition >; using AchievementKindPtr = std::shared_ptr< AchievementKind >; using ActionPtr = std::shared_ptr< Action >; using ActionCastTimelinePtr = std::shared_ptr< ActionCastTimeline >; @@ -6124,7 +6520,6 @@ struct ZoneSharedGroup using ActivityFeedGroupCaptionsPtr = std::shared_ptr< ActivityFeedGroupCaptions >; using ActivityFeedImagesPtr = std::shared_ptr< ActivityFeedImages >; using AddonPtr = std::shared_ptr< Addon >; - using AddonHudPtr = std::shared_ptr< AddonHud >; using AdventurePtr = std::shared_ptr< Adventure >; using AdventureExPhasePtr = std::shared_ptr< AdventureExPhase >; using AetherCurrentPtr = std::shared_ptr< AetherCurrent >; @@ -6165,6 +6560,7 @@ struct ZoneSharedGroup using BeastReputationRankPtr = std::shared_ptr< BeastReputationRank >; using BeastTribePtr = std::shared_ptr< BeastTribe >; using BehaviorPtr = std::shared_ptr< Behavior >; + using BenchmarkOverrideEquipmentPtr = std::shared_ptr< BenchmarkOverrideEquipment >; using BGMPtr = std::shared_ptr< BGM >; using BGMFadePtr = std::shared_ptr< BGMFade >; using BGMSituationPtr = std::shared_ptr< BGMSituation >; @@ -6223,6 +6619,7 @@ struct ZoneSharedGroup using ContentGaugeColorPtr = std::shared_ptr< ContentGaugeColor >; using ContentMemberTypePtr = std::shared_ptr< ContentMemberType >; using ContentNpcTalkPtr = std::shared_ptr< ContentNpcTalk >; + using ContentRandomSelectPtr = std::shared_ptr< ContentRandomSelect >; using ContentRoulettePtr = std::shared_ptr< ContentRoulette >; using ContentRouletteOpenRulePtr = std::shared_ptr< ContentRouletteOpenRule >; using ContentRouletteRoleBonusPtr = std::shared_ptr< ContentRouletteRoleBonus >; @@ -6232,6 +6629,7 @@ struct ZoneSharedGroup using ContentTypePtr = std::shared_ptr< ContentType >; using CraftActionPtr = std::shared_ptr< CraftAction >; using CraftLevePtr = std::shared_ptr< CraftLeve >; + using CraftLevelDifferencePtr = std::shared_ptr< CraftLevelDifference >; using CraftTypePtr = std::shared_ptr< CraftType >; using CreditPtr = std::shared_ptr< Credit >; using CreditBackImagePtr = std::shared_ptr< CreditBackImage >; @@ -6245,6 +6643,10 @@ struct ZoneSharedGroup using CutscenePtr = std::shared_ptr< Cutscene >; using CutScreenImagePtr = std::shared_ptr< CutScreenImage >; using DailySupplyItemPtr = std::shared_ptr< DailySupplyItem >; + using DawnContentPtr = std::shared_ptr< DawnContent >; + using DawnGrowMemberPtr = std::shared_ptr< DawnGrowMember >; + using DawnMemberUIParamPtr = std::shared_ptr< DawnMemberUIParam >; + using DawnQuestMemberPtr = std::shared_ptr< DawnQuestMember >; using DeepDungeonPtr = std::shared_ptr< DeepDungeon >; using DeepDungeonBanPtr = std::shared_ptr< DeepDungeonBan >; using DeepDungeonDangerPtr = std::shared_ptr< DeepDungeonDanger >; @@ -6297,6 +6699,7 @@ struct ZoneSharedGroup using ExportedSGPtr = std::shared_ptr< ExportedSG >; using ExVersionPtr = std::shared_ptr< ExVersion >; using FatePtr = std::shared_ptr< Fate >; + using FateProgressUIPtr = std::shared_ptr< FateProgressUI >; using FCActivityPtr = std::shared_ptr< FCActivity >; using FCActivityCategoryPtr = std::shared_ptr< FCActivityCategory >; using FCAuthorityPtr = std::shared_ptr< FCAuthority >; @@ -6315,6 +6718,8 @@ struct ZoneSharedGroup using FishParameterPtr = std::shared_ptr< FishParameter >; using Frontline03Ptr = std::shared_ptr< Frontline03 >; using Frontline04Ptr = std::shared_ptr< Frontline04 >; + using FurnitureCatalogCategoryPtr = std::shared_ptr< FurnitureCatalogCategory >; + using FurnitureCatalogItemListPtr = std::shared_ptr< FurnitureCatalogItemList >; using GardeningSeedPtr = std::shared_ptr< GardeningSeed >; using GatheringConditionPtr = std::shared_ptr< GatheringCondition >; using GatheringExpPtr = std::shared_ptr< GatheringExp >; @@ -6362,6 +6767,10 @@ struct ZoneSharedGroup using GrandCompanyPtr = std::shared_ptr< GrandCompany >; using GrandCompanyRankPtr = std::shared_ptr< GrandCompanyRank >; using GuardianDeityPtr = std::shared_ptr< GuardianDeity >; + using GuidePtr = std::shared_ptr< Guide >; + using GuidePagePtr = std::shared_ptr< GuidePage >; + using GuidePageStringPtr = std::shared_ptr< GuidePageString >; + using GuideTitlePtr = std::shared_ptr< GuideTitle >; using GuildleveAssignmentPtr = std::shared_ptr< GuildleveAssignment >; using GuildleveAssignmentCategoryPtr = std::shared_ptr< GuildleveAssignmentCategory >; using GuildOrderPtr = std::shared_ptr< GuildOrder >; @@ -6385,6 +6794,9 @@ struct ZoneSharedGroup using HowToPtr = std::shared_ptr< HowTo >; using HowToCategoryPtr = std::shared_ptr< HowToCategory >; using HowToPagePtr = std::shared_ptr< HowToPage >; + using HugeCraftworksNpcPtr = std::shared_ptr< HugeCraftworksNpc >; + using HugeCraftworksRankPtr = std::shared_ptr< HugeCraftworksRank >; + using IndividualWeatherPtr = std::shared_ptr< IndividualWeather >; using InstanceContentPtr = std::shared_ptr< InstanceContent >; using InstanceContentBuffPtr = std::shared_ptr< InstanceContentBuff >; using InstanceContentCSBonusPtr = std::shared_ptr< InstanceContentCSBonus >; @@ -6398,6 +6810,8 @@ struct ZoneSharedGroup using ItemSeriesPtr = std::shared_ptr< ItemSeries >; using ItemSpecialBonusPtr = std::shared_ptr< ItemSpecialBonus >; using ItemUICategoryPtr = std::shared_ptr< ItemUICategory >; + using JobHudManualPtr = std::shared_ptr< JobHudManual >; + using JobHudManualPriorityPtr = std::shared_ptr< JobHudManualPriority >; using JournalCategoryPtr = std::shared_ptr< JournalCategory >; using JournalGenrePtr = std::shared_ptr< JournalGenre >; using JournalSectionPtr = std::shared_ptr< JournalSection >; @@ -6426,11 +6840,16 @@ struct ZoneSharedGroup using MasterpieceSupplyDutyPtr = std::shared_ptr< MasterpieceSupplyDuty >; using MasterpieceSupplyMultiplierPtr = std::shared_ptr< MasterpieceSupplyMultiplier >; using MateriaPtr = std::shared_ptr< Materia >; + using MateriaJoinRatePtr = std::shared_ptr< MateriaJoinRate >; + using MateriaJoinRateGatherCraftPtr = std::shared_ptr< MateriaJoinRateGatherCraft >; using MiniGameRAPtr = std::shared_ptr< MiniGameRA >; using MinionRacePtr = std::shared_ptr< MinionRace >; using MinionRulesPtr = std::shared_ptr< MinionRules >; using MinionSkillTypePtr = std::shared_ptr< MinionSkillType >; + using MobHuntOrderPtr = std::shared_ptr< MobHuntOrder >; using MobHuntOrderTypePtr = std::shared_ptr< MobHuntOrderType >; + using MobHuntRewardPtr = std::shared_ptr< MobHuntReward >; + using MobHuntRewardCapPtr = std::shared_ptr< MobHuntRewardCap >; using MobHuntTargetPtr = std::shared_ptr< MobHuntTarget >; using ModelCharaPtr = std::shared_ptr< ModelChara >; using ModelSkeletonPtr = std::shared_ptr< ModelSkeleton >; @@ -6447,10 +6866,13 @@ struct ZoneSharedGroup using MoveVfxPtr = std::shared_ptr< MoveVfx >; using NotebookDivisionPtr = std::shared_ptr< NotebookDivision >; using NotebookDivisionCategoryPtr = std::shared_ptr< NotebookDivisionCategory >; + using NotoriousMonsterPtr = std::shared_ptr< NotoriousMonster >; using NpcEquipPtr = std::shared_ptr< NpcEquip >; using NpcYellPtr = std::shared_ptr< NpcYell >; using OmenPtr = std::shared_ptr< Omen >; using OnlineStatusPtr = std::shared_ptr< OnlineStatus >; + using OpenContentPtr = std::shared_ptr< OpenContent >; + using OpenContentCandidateNamePtr = std::shared_ptr< OpenContentCandidateName >; using OpeningPtr = std::shared_ptr< Opening >; using OrchestrionPtr = std::shared_ptr< Orchestrion >; using OrchestrionCategoryPtr = std::shared_ptr< OrchestrionCategory >; @@ -6522,6 +6944,8 @@ struct ZoneSharedGroup using SkyIsland2MissionDetailPtr = std::shared_ptr< SkyIsland2MissionDetail >; using SkyIsland2MissionTypePtr = std::shared_ptr< SkyIsland2MissionType >; using SkyIsland2RangeTypePtr = std::shared_ptr< SkyIsland2RangeType >; + using SnipeTalkPtr = std::shared_ptr< SnipeTalk >; + using SnipeTalkNamePtr = std::shared_ptr< SnipeTalkName >; using SpearfishingItemPtr = std::shared_ptr< SpearfishingItem >; using SpearfishingNotebookPtr = std::shared_ptr< SpearfishingNotebook >; using SpearfishingRecordPagePtr = std::shared_ptr< SpearfishingRecordPage >; @@ -6534,6 +6958,7 @@ struct ZoneSharedGroup using StatusLoopVFXPtr = std::shared_ptr< StatusLoopVFX >; using StoryPtr = std::shared_ptr< Story >; using SubmarineExplorationPtr = std::shared_ptr< SubmarineExploration >; + using SubmarineMapPtr = std::shared_ptr< SubmarineMap >; using SubmarinePartPtr = std::shared_ptr< SubmarinePart >; using SubmarineRankPtr = std::shared_ptr< SubmarineRank >; using SwitchTalkPtr = std::shared_ptr< SwitchTalk >; @@ -6580,12 +7005,15 @@ struct ZoneSharedGroup using WeeklyLotBonusPtr = std::shared_ptr< WeeklyLotBonus >; using WorldPtr = std::shared_ptr< World >; using WorldDCGroupTypePtr = std::shared_ptr< WorldDCGroupType >; + using YardCatalogCategoryPtr = std::shared_ptr< YardCatalogCategory >; + using YardCatalogItemListPtr = std::shared_ptr< YardCatalogItemList >; using YKWPtr = std::shared_ptr< YKW >; using ZoneSharedGroupPtr = std::shared_ptr< ZoneSharedGroup >; std::set< uint32_t > m_AchievementIdList; std::set< uint32_t > m_AchievementCategoryIdList; + std::set< uint32_t > m_AchievementHideConditionIdList; std::set< uint32_t > m_AchievementKindIdList; std::set< uint32_t > m_ActionIdList; std::set< uint32_t > m_ActionCastTimelineIdList; @@ -6604,7 +7032,6 @@ struct ZoneSharedGroup std::set< uint32_t > m_ActivityFeedGroupCaptionsIdList; std::set< uint32_t > m_ActivityFeedImagesIdList; std::set< uint32_t > m_AddonIdList; - std::set< uint32_t > m_AddonHudIdList; std::set< uint32_t > m_AdventureIdList; std::set< uint32_t > m_AdventureExPhaseIdList; std::set< uint32_t > m_AetherCurrentIdList; @@ -6645,6 +7072,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_BeastReputationRankIdList; std::set< uint32_t > m_BeastTribeIdList; std::set< uint32_t > m_BehaviorIdList; + std::set< uint32_t > m_BenchmarkOverrideEquipmentIdList; std::set< uint32_t > m_BGMIdList; std::set< uint32_t > m_BGMFadeIdList; std::set< uint32_t > m_BGMSituationIdList; @@ -6703,6 +7131,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_ContentGaugeColorIdList; std::set< uint32_t > m_ContentMemberTypeIdList; std::set< uint32_t > m_ContentNpcTalkIdList; + std::set< uint32_t > m_ContentRandomSelectIdList; std::set< uint32_t > m_ContentRouletteIdList; std::set< uint32_t > m_ContentRouletteOpenRuleIdList; std::set< uint32_t > m_ContentRouletteRoleBonusIdList; @@ -6712,6 +7141,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_ContentTypeIdList; std::set< uint32_t > m_CraftActionIdList; std::set< uint32_t > m_CraftLeveIdList; + std::set< uint32_t > m_CraftLevelDifferenceIdList; std::set< uint32_t > m_CraftTypeIdList; std::set< uint32_t > m_CreditIdList; std::set< uint32_t > m_CreditBackImageIdList; @@ -6725,6 +7155,10 @@ struct ZoneSharedGroup std::set< uint32_t > m_CutsceneIdList; std::set< uint32_t > m_CutScreenImageIdList; std::set< uint32_t > m_DailySupplyItemIdList; + std::set< uint32_t > m_DawnContentIdList; + std::set< uint32_t > m_DawnGrowMemberIdList; + std::set< uint32_t > m_DawnMemberUIParamIdList; + std::set< uint32_t > m_DawnQuestMemberIdList; std::set< uint32_t > m_DeepDungeonIdList; std::set< uint32_t > m_DeepDungeonBanIdList; std::set< uint32_t > m_DeepDungeonDangerIdList; @@ -6777,6 +7211,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_ExportedSGIdList; std::set< uint32_t > m_ExVersionIdList; std::set< uint32_t > m_FateIdList; + std::set< uint32_t > m_FateProgressUIIdList; std::set< uint32_t > m_FCActivityIdList; std::set< uint32_t > m_FCActivityCategoryIdList; std::set< uint32_t > m_FCAuthorityIdList; @@ -6795,6 +7230,8 @@ struct ZoneSharedGroup std::set< uint32_t > m_FishParameterIdList; std::set< uint32_t > m_Frontline03IdList; std::set< uint32_t > m_Frontline04IdList; + std::set< uint32_t > m_FurnitureCatalogCategoryIdList; + std::set< uint32_t > m_FurnitureCatalogItemListIdList; std::set< uint32_t > m_GardeningSeedIdList; std::set< uint32_t > m_GatheringConditionIdList; std::set< uint32_t > m_GatheringExpIdList; @@ -6842,6 +7279,10 @@ struct ZoneSharedGroup std::set< uint32_t > m_GrandCompanyIdList; std::set< uint32_t > m_GrandCompanyRankIdList; std::set< uint32_t > m_GuardianDeityIdList; + std::set< uint32_t > m_GuideIdList; + std::set< uint32_t > m_GuidePageIdList; + std::set< uint32_t > m_GuidePageStringIdList; + std::set< uint32_t > m_GuideTitleIdList; std::set< uint32_t > m_GuildleveAssignmentIdList; std::set< uint32_t > m_GuildleveAssignmentCategoryIdList; std::set< uint32_t > m_GuildOrderIdList; @@ -6865,6 +7306,9 @@ struct ZoneSharedGroup std::set< uint32_t > m_HowToIdList; std::set< uint32_t > m_HowToCategoryIdList; std::set< uint32_t > m_HowToPageIdList; + std::set< uint32_t > m_HugeCraftworksNpcIdList; + std::set< uint32_t > m_HugeCraftworksRankIdList; + std::set< uint32_t > m_IndividualWeatherIdList; std::set< uint32_t > m_InstanceContentIdList; std::set< uint32_t > m_InstanceContentBuffIdList; std::set< uint32_t > m_InstanceContentCSBonusIdList; @@ -6878,6 +7322,8 @@ struct ZoneSharedGroup std::set< uint32_t > m_ItemSeriesIdList; std::set< uint32_t > m_ItemSpecialBonusIdList; std::set< uint32_t > m_ItemUICategoryIdList; + std::set< uint32_t > m_JobHudManualIdList; + std::set< uint32_t > m_JobHudManualPriorityIdList; std::set< uint32_t > m_JournalCategoryIdList; std::set< uint32_t > m_JournalGenreIdList; std::set< uint32_t > m_JournalSectionIdList; @@ -6906,11 +7352,16 @@ struct ZoneSharedGroup std::set< uint32_t > m_MasterpieceSupplyDutyIdList; std::set< uint32_t > m_MasterpieceSupplyMultiplierIdList; std::set< uint32_t > m_MateriaIdList; + std::set< uint32_t > m_MateriaJoinRateIdList; + std::set< uint32_t > m_MateriaJoinRateGatherCraftIdList; std::set< uint32_t > m_MiniGameRAIdList; std::set< uint32_t > m_MinionRaceIdList; std::set< uint32_t > m_MinionRulesIdList; std::set< uint32_t > m_MinionSkillTypeIdList; + std::set< uint32_t > m_MobHuntOrderIdList; std::set< uint32_t > m_MobHuntOrderTypeIdList; + std::set< uint32_t > m_MobHuntRewardIdList; + std::set< uint32_t > m_MobHuntRewardCapIdList; std::set< uint32_t > m_MobHuntTargetIdList; std::set< uint32_t > m_ModelCharaIdList; std::set< uint32_t > m_ModelSkeletonIdList; @@ -6927,10 +7378,13 @@ struct ZoneSharedGroup std::set< uint32_t > m_MoveVfxIdList; std::set< uint32_t > m_NotebookDivisionIdList; std::set< uint32_t > m_NotebookDivisionCategoryIdList; + std::set< uint32_t > m_NotoriousMonsterIdList; std::set< uint32_t > m_NpcEquipIdList; std::set< uint32_t > m_NpcYellIdList; std::set< uint32_t > m_OmenIdList; std::set< uint32_t > m_OnlineStatusIdList; + std::set< uint32_t > m_OpenContentIdList; + std::set< uint32_t > m_OpenContentCandidateNameIdList; std::set< uint32_t > m_OpeningIdList; std::set< uint32_t > m_OrchestrionIdList; std::set< uint32_t > m_OrchestrionCategoryIdList; @@ -7002,6 +7456,8 @@ struct ZoneSharedGroup std::set< uint32_t > m_SkyIsland2MissionDetailIdList; std::set< uint32_t > m_SkyIsland2MissionTypeIdList; std::set< uint32_t > m_SkyIsland2RangeTypeIdList; + std::set< uint32_t > m_SnipeTalkIdList; + std::set< uint32_t > m_SnipeTalkNameIdList; std::set< uint32_t > m_SpearfishingItemIdList; std::set< uint32_t > m_SpearfishingNotebookIdList; std::set< uint32_t > m_SpearfishingRecordPageIdList; @@ -7014,6 +7470,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_StatusLoopVFXIdList; std::set< uint32_t > m_StoryIdList; std::set< uint32_t > m_SubmarineExplorationIdList; + std::set< uint32_t > m_SubmarineMapIdList; std::set< uint32_t > m_SubmarinePartIdList; std::set< uint32_t > m_SubmarineRankIdList; std::set< uint32_t > m_SwitchTalkIdList; @@ -7060,6 +7517,8 @@ struct ZoneSharedGroup std::set< uint32_t > m_WeeklyLotBonusIdList; std::set< uint32_t > m_WorldIdList; std::set< uint32_t > m_WorldDCGroupTypeIdList; + std::set< uint32_t > m_YardCatalogCategoryIdList; + std::set< uint32_t > m_YardCatalogItemListIdList; std::set< uint32_t > m_YKWIdList; std::set< uint32_t > m_ZoneSharedGroupIdList; @@ -7076,6 +7535,12 @@ const std::set< uint32_t >& getAchievementCategoryIdList() loadIdList( m_AchievementCategoryDat, m_AchievementCategoryIdList ); return m_AchievementCategoryIdList; } +const std::set< uint32_t >& getAchievementHideConditionIdList() +{ + if( m_AchievementHideConditionIdList.size() == 0 ) + loadIdList( m_AchievementHideConditionDat, m_AchievementHideConditionIdList ); + return m_AchievementHideConditionIdList; +} const std::set< uint32_t >& getAchievementKindIdList() { if( m_AchievementKindIdList.size() == 0 ) @@ -7184,12 +7649,6 @@ const std::set< uint32_t >& getAddonIdList() loadIdList( m_AddonDat, m_AddonIdList ); return m_AddonIdList; } -const std::set< uint32_t >& getAddonHudIdList() -{ - if( m_AddonHudIdList.size() == 0 ) - loadIdList( m_AddonHudDat, m_AddonHudIdList ); - return m_AddonHudIdList; -} const std::set< uint32_t >& getAdventureIdList() { if( m_AdventureIdList.size() == 0 ) @@ -7430,6 +7889,12 @@ const std::set< uint32_t >& getBehaviorIdList() loadIdList( m_BehaviorDat, m_BehaviorIdList ); return m_BehaviorIdList; } +const std::set< uint32_t >& getBenchmarkOverrideEquipmentIdList() +{ + if( m_BenchmarkOverrideEquipmentIdList.size() == 0 ) + loadIdList( m_BenchmarkOverrideEquipmentDat, m_BenchmarkOverrideEquipmentIdList ); + return m_BenchmarkOverrideEquipmentIdList; +} const std::set< uint32_t >& getBGMIdList() { if( m_BGMIdList.size() == 0 ) @@ -7778,6 +8243,12 @@ const std::set< uint32_t >& getContentNpcTalkIdList() loadIdList( m_ContentNpcTalkDat, m_ContentNpcTalkIdList ); return m_ContentNpcTalkIdList; } +const std::set< uint32_t >& getContentRandomSelectIdList() +{ + if( m_ContentRandomSelectIdList.size() == 0 ) + loadIdList( m_ContentRandomSelectDat, m_ContentRandomSelectIdList ); + return m_ContentRandomSelectIdList; +} const std::set< uint32_t >& getContentRouletteIdList() { if( m_ContentRouletteIdList.size() == 0 ) @@ -7832,6 +8303,12 @@ const std::set< uint32_t >& getCraftLeveIdList() loadIdList( m_CraftLeveDat, m_CraftLeveIdList ); return m_CraftLeveIdList; } +const std::set< uint32_t >& getCraftLevelDifferenceIdList() +{ + if( m_CraftLevelDifferenceIdList.size() == 0 ) + loadIdList( m_CraftLevelDifferenceDat, m_CraftLevelDifferenceIdList ); + return m_CraftLevelDifferenceIdList; +} const std::set< uint32_t >& getCraftTypeIdList() { if( m_CraftTypeIdList.size() == 0 ) @@ -7910,6 +8387,30 @@ const std::set< uint32_t >& getDailySupplyItemIdList() loadIdList( m_DailySupplyItemDat, m_DailySupplyItemIdList ); return m_DailySupplyItemIdList; } +const std::set< uint32_t >& getDawnContentIdList() +{ + if( m_DawnContentIdList.size() == 0 ) + loadIdList( m_DawnContentDat, m_DawnContentIdList ); + return m_DawnContentIdList; +} +const std::set< uint32_t >& getDawnGrowMemberIdList() +{ + if( m_DawnGrowMemberIdList.size() == 0 ) + loadIdList( m_DawnGrowMemberDat, m_DawnGrowMemberIdList ); + return m_DawnGrowMemberIdList; +} +const std::set< uint32_t >& getDawnMemberUIParamIdList() +{ + if( m_DawnMemberUIParamIdList.size() == 0 ) + loadIdList( m_DawnMemberUIParamDat, m_DawnMemberUIParamIdList ); + return m_DawnMemberUIParamIdList; +} +const std::set< uint32_t >& getDawnQuestMemberIdList() +{ + if( m_DawnQuestMemberIdList.size() == 0 ) + loadIdList( m_DawnQuestMemberDat, m_DawnQuestMemberIdList ); + return m_DawnQuestMemberIdList; +} const std::set< uint32_t >& getDeepDungeonIdList() { if( m_DeepDungeonIdList.size() == 0 ) @@ -8222,6 +8723,12 @@ const std::set< uint32_t >& getFateIdList() loadIdList( m_FateDat, m_FateIdList ); return m_FateIdList; } +const std::set< uint32_t >& getFateProgressUIIdList() +{ + if( m_FateProgressUIIdList.size() == 0 ) + loadIdList( m_FateProgressUIDat, m_FateProgressUIIdList ); + return m_FateProgressUIIdList; +} const std::set< uint32_t >& getFCActivityIdList() { if( m_FCActivityIdList.size() == 0 ) @@ -8330,6 +8837,18 @@ const std::set< uint32_t >& getFrontline04IdList() loadIdList( m_Frontline04Dat, m_Frontline04IdList ); return m_Frontline04IdList; } +const std::set< uint32_t >& getFurnitureCatalogCategoryIdList() +{ + if( m_FurnitureCatalogCategoryIdList.size() == 0 ) + loadIdList( m_FurnitureCatalogCategoryDat, m_FurnitureCatalogCategoryIdList ); + return m_FurnitureCatalogCategoryIdList; +} +const std::set< uint32_t >& getFurnitureCatalogItemListIdList() +{ + if( m_FurnitureCatalogItemListIdList.size() == 0 ) + loadIdList( m_FurnitureCatalogItemListDat, m_FurnitureCatalogItemListIdList ); + return m_FurnitureCatalogItemListIdList; +} const std::set< uint32_t >& getGardeningSeedIdList() { if( m_GardeningSeedIdList.size() == 0 ) @@ -8612,6 +9131,30 @@ const std::set< uint32_t >& getGuardianDeityIdList() loadIdList( m_GuardianDeityDat, m_GuardianDeityIdList ); return m_GuardianDeityIdList; } +const std::set< uint32_t >& getGuideIdList() +{ + if( m_GuideIdList.size() == 0 ) + loadIdList( m_GuideDat, m_GuideIdList ); + return m_GuideIdList; +} +const std::set< uint32_t >& getGuidePageIdList() +{ + if( m_GuidePageIdList.size() == 0 ) + loadIdList( m_GuidePageDat, m_GuidePageIdList ); + return m_GuidePageIdList; +} +const std::set< uint32_t >& getGuidePageStringIdList() +{ + if( m_GuidePageStringIdList.size() == 0 ) + loadIdList( m_GuidePageStringDat, m_GuidePageStringIdList ); + return m_GuidePageStringIdList; +} +const std::set< uint32_t >& getGuideTitleIdList() +{ + if( m_GuideTitleIdList.size() == 0 ) + loadIdList( m_GuideTitleDat, m_GuideTitleIdList ); + return m_GuideTitleIdList; +} const std::set< uint32_t >& getGuildleveAssignmentIdList() { if( m_GuildleveAssignmentIdList.size() == 0 ) @@ -8750,6 +9293,24 @@ const std::set< uint32_t >& getHowToPageIdList() loadIdList( m_HowToPageDat, m_HowToPageIdList ); return m_HowToPageIdList; } +const std::set< uint32_t >& getHugeCraftworksNpcIdList() +{ + if( m_HugeCraftworksNpcIdList.size() == 0 ) + loadIdList( m_HugeCraftworksNpcDat, m_HugeCraftworksNpcIdList ); + return m_HugeCraftworksNpcIdList; +} +const std::set< uint32_t >& getHugeCraftworksRankIdList() +{ + if( m_HugeCraftworksRankIdList.size() == 0 ) + loadIdList( m_HugeCraftworksRankDat, m_HugeCraftworksRankIdList ); + return m_HugeCraftworksRankIdList; +} +const std::set< uint32_t >& getIndividualWeatherIdList() +{ + if( m_IndividualWeatherIdList.size() == 0 ) + loadIdList( m_IndividualWeatherDat, m_IndividualWeatherIdList ); + return m_IndividualWeatherIdList; +} const std::set< uint32_t >& getInstanceContentIdList() { if( m_InstanceContentIdList.size() == 0 ) @@ -8828,6 +9389,18 @@ const std::set< uint32_t >& getItemUICategoryIdList() loadIdList( m_ItemUICategoryDat, m_ItemUICategoryIdList ); return m_ItemUICategoryIdList; } +const std::set< uint32_t >& getJobHudManualIdList() +{ + if( m_JobHudManualIdList.size() == 0 ) + loadIdList( m_JobHudManualDat, m_JobHudManualIdList ); + return m_JobHudManualIdList; +} +const std::set< uint32_t >& getJobHudManualPriorityIdList() +{ + if( m_JobHudManualPriorityIdList.size() == 0 ) + loadIdList( m_JobHudManualPriorityDat, m_JobHudManualPriorityIdList ); + return m_JobHudManualPriorityIdList; +} const std::set< uint32_t >& getJournalCategoryIdList() { if( m_JournalCategoryIdList.size() == 0 ) @@ -8996,6 +9569,18 @@ const std::set< uint32_t >& getMateriaIdList() loadIdList( m_MateriaDat, m_MateriaIdList ); return m_MateriaIdList; } +const std::set< uint32_t >& getMateriaJoinRateIdList() +{ + if( m_MateriaJoinRateIdList.size() == 0 ) + loadIdList( m_MateriaJoinRateDat, m_MateriaJoinRateIdList ); + return m_MateriaJoinRateIdList; +} +const std::set< uint32_t >& getMateriaJoinRateGatherCraftIdList() +{ + if( m_MateriaJoinRateGatherCraftIdList.size() == 0 ) + loadIdList( m_MateriaJoinRateGatherCraftDat, m_MateriaJoinRateGatherCraftIdList ); + return m_MateriaJoinRateGatherCraftIdList; +} const std::set< uint32_t >& getMiniGameRAIdList() { if( m_MiniGameRAIdList.size() == 0 ) @@ -9020,12 +9605,30 @@ const std::set< uint32_t >& getMinionSkillTypeIdList() loadIdList( m_MinionSkillTypeDat, m_MinionSkillTypeIdList ); return m_MinionSkillTypeIdList; } +const std::set< uint32_t >& getMobHuntOrderIdList() +{ + if( m_MobHuntOrderIdList.size() == 0 ) + loadIdList( m_MobHuntOrderDat, m_MobHuntOrderIdList ); + return m_MobHuntOrderIdList; +} const std::set< uint32_t >& getMobHuntOrderTypeIdList() { if( m_MobHuntOrderTypeIdList.size() == 0 ) loadIdList( m_MobHuntOrderTypeDat, m_MobHuntOrderTypeIdList ); return m_MobHuntOrderTypeIdList; } +const std::set< uint32_t >& getMobHuntRewardIdList() +{ + if( m_MobHuntRewardIdList.size() == 0 ) + loadIdList( m_MobHuntRewardDat, m_MobHuntRewardIdList ); + return m_MobHuntRewardIdList; +} +const std::set< uint32_t >& getMobHuntRewardCapIdList() +{ + if( m_MobHuntRewardCapIdList.size() == 0 ) + loadIdList( m_MobHuntRewardCapDat, m_MobHuntRewardCapIdList ); + return m_MobHuntRewardCapIdList; +} const std::set< uint32_t >& getMobHuntTargetIdList() { if( m_MobHuntTargetIdList.size() == 0 ) @@ -9122,6 +9725,12 @@ const std::set< uint32_t >& getNotebookDivisionCategoryIdList() loadIdList( m_NotebookDivisionCategoryDat, m_NotebookDivisionCategoryIdList ); return m_NotebookDivisionCategoryIdList; } +const std::set< uint32_t >& getNotoriousMonsterIdList() +{ + if( m_NotoriousMonsterIdList.size() == 0 ) + loadIdList( m_NotoriousMonsterDat, m_NotoriousMonsterIdList ); + return m_NotoriousMonsterIdList; +} const std::set< uint32_t >& getNpcEquipIdList() { if( m_NpcEquipIdList.size() == 0 ) @@ -9146,6 +9755,18 @@ const std::set< uint32_t >& getOnlineStatusIdList() loadIdList( m_OnlineStatusDat, m_OnlineStatusIdList ); return m_OnlineStatusIdList; } +const std::set< uint32_t >& getOpenContentIdList() +{ + if( m_OpenContentIdList.size() == 0 ) + loadIdList( m_OpenContentDat, m_OpenContentIdList ); + return m_OpenContentIdList; +} +const std::set< uint32_t >& getOpenContentCandidateNameIdList() +{ + if( m_OpenContentCandidateNameIdList.size() == 0 ) + loadIdList( m_OpenContentCandidateNameDat, m_OpenContentCandidateNameIdList ); + return m_OpenContentCandidateNameIdList; +} const std::set< uint32_t >& getOpeningIdList() { if( m_OpeningIdList.size() == 0 ) @@ -9572,6 +10193,18 @@ const std::set< uint32_t >& getSkyIsland2RangeTypeIdList() loadIdList( m_SkyIsland2RangeTypeDat, m_SkyIsland2RangeTypeIdList ); return m_SkyIsland2RangeTypeIdList; } +const std::set< uint32_t >& getSnipeTalkIdList() +{ + if( m_SnipeTalkIdList.size() == 0 ) + loadIdList( m_SnipeTalkDat, m_SnipeTalkIdList ); + return m_SnipeTalkIdList; +} +const std::set< uint32_t >& getSnipeTalkNameIdList() +{ + if( m_SnipeTalkNameIdList.size() == 0 ) + loadIdList( m_SnipeTalkNameDat, m_SnipeTalkNameIdList ); + return m_SnipeTalkNameIdList; +} const std::set< uint32_t >& getSpearfishingItemIdList() { if( m_SpearfishingItemIdList.size() == 0 ) @@ -9644,6 +10277,12 @@ const std::set< uint32_t >& getSubmarineExplorationIdList() loadIdList( m_SubmarineExplorationDat, m_SubmarineExplorationIdList ); return m_SubmarineExplorationIdList; } +const std::set< uint32_t >& getSubmarineMapIdList() +{ + if( m_SubmarineMapIdList.size() == 0 ) + loadIdList( m_SubmarineMapDat, m_SubmarineMapIdList ); + return m_SubmarineMapIdList; +} const std::set< uint32_t >& getSubmarinePartIdList() { if( m_SubmarinePartIdList.size() == 0 ) @@ -9920,6 +10559,18 @@ const std::set< uint32_t >& getWorldDCGroupTypeIdList() loadIdList( m_WorldDCGroupTypeDat, m_WorldDCGroupTypeIdList ); return m_WorldDCGroupTypeIdList; } +const std::set< uint32_t >& getYardCatalogCategoryIdList() +{ + if( m_YardCatalogCategoryIdList.size() == 0 ) + loadIdList( m_YardCatalogCategoryDat, m_YardCatalogCategoryIdList ); + return m_YardCatalogCategoryIdList; +} +const std::set< uint32_t >& getYardCatalogItemListIdList() +{ + if( m_YardCatalogItemListIdList.size() == 0 ) + loadIdList( m_YardCatalogItemListDat, m_YardCatalogItemListIdList ); + return m_YardCatalogItemListIdList; +} const std::set< uint32_t >& getYKWIdList() { if( m_YKWIdList.size() == 0 ) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 807b6e2a..da2c9056 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -122,8 +122,9 @@ namespace Sapphire::Network::Packets FreeCompanyUpdateShortMessage = 0x0157, // added 5.0 - StatusEffectList = 0x015B, // updated 5.0 - EurekaStatusEffectList = 0x015C, // updated 5.0 + StatusEffectList = 0x023A, // updated 5.1 + EurekaStatusEffectList = 0x0398, // updated 5.1 + BossStatusEffectList = 0x00E6, // added 5.1 Effect = 0x00A7, // updated 5.1 AoeEffect8 = 0x00A9, // updated 5.1 AoeEffect16 = 0x015F, // updated 5.1 @@ -164,11 +165,11 @@ namespace Sapphire::Network::Packets SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore - ItemInfo = 0x0145, // updated 5.1 - ContainerInfo = 0x0246, // updated 5.1 + ItemInfo = 0x031E, // updated 5.1 + ContainerInfo = 0x0145, // updated 5.1 InventoryTransactionFinish = 0x01AB, // updated 5.1 InventoryTransaction = 0x023E, // updated 5.1 - CurrencyCrystalInfo = 0x031E, // updated 5.1 + CurrencyCrystalInfo = 0x0246, // updated 5.1 InventoryActionAck = 0x0084, // updated 5.1 UpdateInventorySlot = 0x0072, // updated 5.1 @@ -271,7 +272,7 @@ namespace Sapphire::Network::Packets PingHandler = 0x0065, // unchanged 5.0 InitHandler = 0x03D2, // updated 5.1 - FinishLoadingHandler = 0x0069, // unchanged 5.0 + FinishLoadingHandler = 0x01DC, // updated 5.1 CFCommenceHandler = 0x006F, @@ -289,16 +290,16 @@ namespace Sapphire::Network::Packets ChatHandler = 0x00D9, // updated 5.0 - SocialListHandler = 0x00E1, // updated 5.0 + SocialListHandler = 0x01F6, // updated 5.1 SetSearchInfoHandler = 0x00E4, // updated 5.0 - ReqSearchInfoHandler = 0x00E6, // updated 5.0 + ReqSearchInfoHandler = 0x024D, // updated 5.1 ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0 ReqRemovePlayerFromBlacklist = 0x00F1, // updated 5.0 - BlackListHandler = 0x00F2, // updated 5.0 + BlackListHandler = 0x0167, // updated 5.1 PlayerSearchHandler = 0x00F4, // updated 5.0 - LinkshellListHandler = 0x00FA, // updated 5.0 + LinkshellListHandler = 0x00D3, // updated 5.1 MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5 MarketBoardRequestItemListings = 0x0103, // updated 4.5 @@ -318,7 +319,7 @@ namespace Sapphire::Network::Packets ReqCountdownCancel = 0x0136, // updated 5.0 ZoneLineHandler = 0x0139, // updated 5.0 - ClientTrigger = 0x013A, // updated 5.0 + ClientTrigger = 0x00B1, // updated 5.1 DiscoveryHandler = 0x013B, // updated 5.0 PlaceFieldMarker = 0x013C, // updated 5.0 @@ -328,7 +329,7 @@ namespace Sapphire::Network::Packets GMCommand2 = 0x013F, // updated 5.0 AoESkillHandler = 0x140, // updated 5.0 - UpdatePositionHandler = 0x0141, // updated 5.0 + UpdatePositionHandler = 0x01EC, // updated 5.1 InventoryModifyHandler = 0x0148, // updated 5.0 InventoryEquipRecommendedItems = 0x0149, // updated 5.0