From 3848091148f4e0f81738a17930121b162eec77af Mon Sep 17 00:00:00 2001 From: Mordred Date: Tue, 18 Sep 2018 22:45:48 +0200 Subject: [PATCH 01/45] Mostly fixed for 4.4 --- src/common/Exd/ExdDataGenerated.cpp | 7672 ++++++----- src/common/Exd/ExdDataGenerated.h | 11298 +++++++++------- src/common/Network/PacketDef/Ipcs.h | 40 +- .../Network/PacketDef/Lobby/ServerLobbyDef.h | 24 +- .../Network/PacketDef/Zone/ServerZoneDef.h | 3 + src/servers/sapphire_api/PlayerMinimal.cpp | 6 +- src/servers/sapphire_lobby/GameConnection.cpp | 5 + .../sapphire_zone/Event/EventHelper.cpp | 2 +- .../Network/Handlers/CFHandlers.cpp | 2 +- 9 files changed, 10528 insertions(+), 8524 deletions(-) diff --git a/src/common/Exd/ExdDataGenerated.cpp b/src/common/Exd/ExdDataGenerated.cpp index 32559bbb..edd86806 100644 --- a/src/common/Exd/ExdDataGenerated.cpp +++ b/src/common/Exd/ExdDataGenerated.cpp @@ -4,4417 +4,5253 @@ #include + Core::Data::Achievement::Achievement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AchievementDat.get_row( row_id ); - achievementCategory = exdData->getField< uint8_t >( row, 0 ); - name = exdData->getField< std::string >( row, 1 ); - description = exdData->getField< std::string >( row, 2 ); - points = exdData->getField< uint8_t >( row, 3 ); - title = exdData->getField< uint16_t >( row, 4 ); - item = exdData->getField< uint32_t >( row, 5 ); - icon = exdData->getField< uint16_t >( row, 6 ); - type = exdData->getField< uint8_t >( row, 8 ); - data.push_back( exdData->getField< int32_t >( row, 9 ) ); - data.push_back( exdData->getField< int32_t >( row, 10 ) ); - data.push_back( exdData->getField< int32_t >( row, 11 ) ); - data.push_back( exdData->getField< int32_t >( row, 12 ) ); - data.push_back( exdData->getField< int32_t >( row, 13 ) ); - data.push_back( exdData->getField< int32_t >( row, 14 ) ); - data.push_back( exdData->getField< int32_t >( row, 15 ) ); - 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 ); + auto row = exdData->m_AchievementDat.get_row( row_id ); + achievementCategory = exdData->getField< uint8_t >( row, 0 ); + name = exdData->getField< std::string >( row, 1 ); + description = exdData->getField< std::string >( row, 2 ); + points = exdData->getField< uint8_t >( row, 3 ); + title = exdData->getField< uint16_t >( row, 4 ); + item = exdData->getField< uint32_t >( row, 5 ); + icon = exdData->getField< uint16_t >( row, 6 ); + type = exdData->getField< uint8_t >( row, 8 ); + key = exdData->getField< int32_t >( row, 9 ); + data.push_back( exdData->getField< int32_t >( row, 10 ) ); + data.push_back( exdData->getField< int32_t >( row, 11 ) ); + data.push_back( exdData->getField< int32_t >( row, 12 ) ); + data.push_back( exdData->getField< int32_t >( row, 13 ) ); + data.push_back( exdData->getField< int32_t >( row, 14 ) ); + data.push_back( exdData->getField< int32_t >( row, 15 ) ); + 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 ); } Core::Data::AchievementCategory::AchievementCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AchievementCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - achievementKind = exdData->getField< uint8_t >( row, 1 ); + auto row = exdData->m_AchievementCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + achievementKind = exdData->getField< uint8_t >( row, 1 ); } Core::Data::AchievementKind::AchievementKind( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AchievementKindDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_AchievementKindDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::Action::Action( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - icon = exdData->getField< uint16_t >( row, 2 ); - actionCategory = exdData->getField< uint8_t >( row, 3 ); - animationStart = exdData->getField< uint8_t >( row, 5 ); - vFX = exdData->getField< uint8_t >( row, 6 ); - animationEnd = exdData->getField< int16_t >( row, 7 ); - actionTimelineHit = exdData->getField< uint16_t >( row, 8 ); - classJob = exdData->getField< int8_t >( row, 10 ); - classJobLevel = exdData->getField< uint8_t >( row, 12 ); - isRoleAction = exdData->getField< bool >( row, 13 ); - range = exdData->getField< int8_t >( row, 14 ); - canTargetSelf = exdData->getField< bool >( row, 15 ); - canTargetParty = exdData->getField< bool >( row, 16 ); - canTargetFriendly = exdData->getField< bool >( row, 17 ); - canTargetHostile = exdData->getField< bool >( row, 18 ); - targetArea = exdData->getField< bool >( row, 21 ); - canTargetDead = exdData->getField< bool >( row, 25 ); - castType = exdData->getField< uint8_t >( row, 27 ); - effectRange = exdData->getField< uint8_t >( row, 28 ); - xAxisModifier = exdData->getField< uint8_t >( row, 29 ); - costType = exdData->getField< uint8_t >( row, 31 ); - cost = exdData->getField< uint16_t >( row, 32 ); - actionCombo = exdData->getField< uint16_t >( row, 35 ); - preservesCombo = exdData->getField< bool >( row, 36 ); - cast100ms = exdData->getField< uint16_t >( row, 37 ); - recast100ms = exdData->getField< uint16_t >( row, 38 ); - cooldownGroup = exdData->getField< uint8_t >( row, 39 ); - attackType = exdData->getField< int8_t >( row, 40 ); - aspect = exdData->getField< uint8_t >( row, 41 ); - actionProcStatus = exdData->getField< uint8_t >( row, 42 ); - statusGainSelf = exdData->getField< uint16_t >( row, 43 ); - actionData = exdData->getField< uint32_t >( row, 44 ); - classJobCategory = exdData->getField< uint8_t >( row, 45 ); - affectsPosition = exdData->getField< bool >( row, 48 ); - omen = exdData->getField< uint8_t >( row, 49 ); - isPvP = exdData->getField< bool >( row, 50 ); + auto row = exdData->m_ActionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< uint16_t >( row, 2 ); + actionCategory = exdData->getField< uint8_t >( row, 3 ); + animationStart = exdData->getField< uint8_t >( row, 5 ); + vFX = exdData->getField< uint8_t >( row, 6 ); + animationEnd = exdData->getField< int16_t >( row, 7 ); + actionTimelineHit = exdData->getField< uint16_t >( row, 8 ); + classJob = exdData->getField< int8_t >( row, 10 ); + classJobLevel = exdData->getField< uint8_t >( row, 12 ); + isRoleAction = exdData->getField< bool >( row, 13 ); + range = exdData->getField< int8_t >( row, 14 ); + canTargetSelf = exdData->getField< bool >( row, 15 ); + canTargetParty = exdData->getField< bool >( row, 16 ); + canTargetFriendly = exdData->getField< bool >( row, 17 ); + canTargetHostile = exdData->getField< bool >( row, 18 ); + targetArea = exdData->getField< bool >( row, 21 ); + canTargetDead = exdData->getField< bool >( row, 25 ); + castType = exdData->getField< uint8_t >( row, 27 ); + effectRange = exdData->getField< uint8_t >( row, 28 ); + xAxisModifier = exdData->getField< uint8_t >( row, 29 ); + costType = exdData->getField< uint8_t >( row, 31 ); + cost = exdData->getField< uint16_t >( row, 32 ); + actionCombo = exdData->getField< uint16_t >( row, 35 ); + preservesCombo = exdData->getField< bool >( row, 36 ); + cast100ms = exdData->getField< uint16_t >( row, 37 ); + recast100ms = exdData->getField< uint16_t >( row, 38 ); + cooldownGroup = exdData->getField< uint8_t >( row, 39 ); + attackType = exdData->getField< int8_t >( row, 40 ); + aspect = exdData->getField< uint8_t >( row, 41 ); + actionProcStatus = exdData->getField< uint8_t >( row, 42 ); + statusGainSelf = exdData->getField< uint16_t >( row, 43 ); + unlockLink = exdData->getField< uint32_t >( row, 44 ); + classJobCategory = exdData->getField< uint8_t >( row, 45 ); + affectsPosition = exdData->getField< bool >( row, 48 ); + omen = exdData->getField< uint8_t >( row, 49 ); + isPvP = exdData->getField< bool >( row, 50 ); } Core::Data::ActionCastTimeline::ActionCastTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionCastTimelineDat.get_row( row_id ); - name = exdData->getField< uint16_t >( row, 0 ); - vFX = exdData->getField< uint16_t >( row, 1 ); + auto row = exdData->m_ActionCastTimelineDat.get_row( row_id ); + name = exdData->getField< uint16_t >( row, 0 ); + vFX = exdData->getField< uint16_t >( row, 1 ); } Core::Data::ActionCastVFX::ActionCastVFX( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionCastVFXDat.get_row( row_id ); - vFX = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_ActionCastVFXDat.get_row( row_id ); + vFX = exdData->getField< uint16_t >( row, 0 ); } Core::Data::ActionCategory::ActionCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_ActionCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::ActionComboRoute::ActionComboRoute( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionComboRouteDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - action.push_back( exdData->getField< uint16_t >( row, 2 ) ); - action.push_back( exdData->getField< uint16_t >( row, 3 ) ); - action.push_back( exdData->getField< uint16_t >( row, 4 ) ); - action.push_back( exdData->getField< uint16_t >( row, 5 ) ); + auto row = exdData->m_ActionComboRouteDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + action.push_back( exdData->getField< uint16_t >( row, 2 ) ); + action.push_back( exdData->getField< uint16_t >( row, 3 ) ); + action.push_back( exdData->getField< uint16_t >( row, 4 ) ); + action.push_back( exdData->getField< uint16_t >( row, 5 ) ); } Core::Data::ActionIndirection::ActionIndirection( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionIndirectionDat.get_row( row_id ); - name = exdData->getField< int32_t >( row, 0 ); + auto row = exdData->m_ActionIndirectionDat.get_row( row_id ); + name = exdData->getField< int32_t >( row, 0 ); } Core::Data::ActionParam::ActionParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionParamDat.get_row( row_id ); - name = exdData->getField< int16_t >( row, 0 ); + auto row = exdData->m_ActionParamDat.get_row( row_id ); + name = exdData->getField< int16_t >( row, 0 ); } Core::Data::ActionProcStatus::ActionProcStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionProcStatusDat.get_row( row_id ); - status = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_ActionProcStatusDat.get_row( row_id ); + status = exdData->getField< uint16_t >( row, 0 ); } Core::Data::ActionTimeline::ActionTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionTimelineDat.get_row( row_id ); - key = exdData->getField< std::string >( row, 6 ); + auto row = exdData->m_ActionTimelineDat.get_row( row_id ); + key = exdData->getField< std::string >( row, 6 ); +} + +Core::Data::ActionTimelineMove::ActionTimelineMove( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ActionTimelineMoveDat.get_row( row_id ); } Core::Data::ActionTimelineReplace::ActionTimelineReplace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionTimelineReplaceDat.get_row( row_id ); - old = exdData->getField< uint16_t >( row, 0 ); - new1 = exdData->getField< uint16_t >( row, 1 ); + auto row = exdData->m_ActionTimelineReplaceDat.get_row( row_id ); + old = exdData->getField< uint16_t >( row, 0 ); + New = exdData->getField< uint16_t >( row, 1 ); } Core::Data::ActionTransient::ActionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ActionTransientDat.get_row( row_id ); - description = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_ActionTransientDat.get_row( row_id ); + description = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::ActivityFeedButtons::ActivityFeedButtons( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ActivityFeedButtonsDat.get_row( row_id ); + bannerURL = exdData->getField< std::string >( row, 1 ); + description = exdData->getField< std::string >( row, 2 ); + language = exdData->getField< std::string >( row, 3 ); + pictureURL = exdData->getField< std::string >( row, 4 ); +} + +Core::Data::ActivityFeedCaptions::ActivityFeedCaptions( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ActivityFeedCaptionsDat.get_row( row_id ); + jA = exdData->getField< std::string >( row, 0 ); + eN = exdData->getField< std::string >( row, 1 ); + dE = exdData->getField< std::string >( row, 2 ); + fR = exdData->getField< std::string >( row, 3 ); +} + +Core::Data::ActivityFeedGroupCaptions::ActivityFeedGroupCaptions( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ActivityFeedGroupCaptionsDat.get_row( row_id ); + jA = exdData->getField< std::string >( row, 0 ); + eN = exdData->getField< std::string >( row, 1 ); + dE = exdData->getField< std::string >( row, 2 ); + fR = exdData->getField< std::string >( row, 3 ); +} + +Core::Data::ActivityFeedImages::ActivityFeedImages( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ActivityFeedImagesDat.get_row( row_id ); + expansionImage = exdData->getField< std::string >( row, 0 ); + activityFeedJA = exdData->getField< std::string >( row, 1 ); + activityFeedEN = exdData->getField< std::string >( row, 2 ); + activityFeedDE = exdData->getField< std::string >( row, 3 ); + activityFeedFR = exdData->getField< std::string >( row, 4 ); } Core::Data::Addon::Addon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AddonDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_AddonDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::AddonHud::AddonHud( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AddonHudDat.get_row( row_id ); + longs = exdData->getField< std::string >( row, 0 ); + shorts = exdData->getField< std::string >( row, 1 ); + function = exdData->getField< std::string >( row, 2 ); } Core::Data::Adventure::Adventure( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AdventureDat.get_row( row_id ); - level = exdData->getField< int32_t >( row, 0 ); - emote = exdData->getField< uint8_t >( row, 3 ); - minTime = exdData->getField< uint16_t >( row, 4 ); - maxTime = exdData->getField< uint16_t >( row, 5 ); - placeName = exdData->getField< int32_t >( row, 6 ); - iconList = exdData->getField< int32_t >( row, 7 ); - iconDiscovered = exdData->getField< int32_t >( row, 8 ); - name = exdData->getField< std::string >( row, 9 ); - impression = exdData->getField< std::string >( row, 10 ); - description = exdData->getField< std::string >( row, 11 ); - iconUndiscovered = exdData->getField< int32_t >( row, 12 ); - isInitial = exdData->getField< bool >( row, 13 ); + auto row = exdData->m_AdventureDat.get_row( row_id ); + level = exdData->getField< int32_t >( row, 0 ); + emote = exdData->getField< uint16_t >( row, 3 ); + minTime = exdData->getField< uint16_t >( row, 4 ); + maxTime = exdData->getField< uint16_t >( row, 5 ); + placeName = exdData->getField< int32_t >( row, 6 ); + iconList = exdData->getField< int32_t >( row, 7 ); + iconDiscovered = exdData->getField< int32_t >( row, 8 ); + name = exdData->getField< std::string >( row, 9 ); + impression = exdData->getField< std::string >( row, 10 ); + description = exdData->getField< std::string >( row, 11 ); + iconUndiscovered = exdData->getField< int32_t >( row, 12 ); + isInitial = exdData->getField< bool >( row, 13 ); } Core::Data::AdventureExPhase::AdventureExPhase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AdventureExPhaseDat.get_row( row_id ); - quest = exdData->getField< uint32_t >( row, 0 ); - adventureBegin = exdData->getField< uint32_t >( row, 1 ); - adventureEnd = exdData->getField< uint32_t >( row, 2 ); + auto row = exdData->m_AdventureExPhaseDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); + adventureBegin = exdData->getField< uint32_t >( row, 1 ); + adventureEnd = exdData->getField< uint32_t >( row, 2 ); } Core::Data::AetherCurrent::AetherCurrent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AetherCurrentDat.get_row( row_id ); - quest = exdData->getField< uint32_t >( row, 0 ); + auto row = exdData->m_AetherCurrentDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); } Core::Data::AetherCurrentCompFlgSet::AetherCurrentCompFlgSet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AetherCurrentCompFlgSetDat.get_row( row_id ); - territory = exdData->getField< int32_t >( row, 0 ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 2 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 3 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 4 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 5 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 6 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 7 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 8 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 9 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 10 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 11 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 12 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 13 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 14 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 15 ) ); - aetherCurrent.push_back( exdData->getField< int32_t >( row, 16 ) ); + auto row = exdData->m_AetherCurrentCompFlgSetDat.get_row( row_id ); + territory = exdData->getField< int32_t >( row, 0 ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 2 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 3 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 4 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 5 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 6 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 7 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 8 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 9 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 10 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 11 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 12 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 13 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 14 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 15 ) ); + aetherCurrent.push_back( exdData->getField< int32_t >( row, 16 ) ); } Core::Data::AetherialWheel::AetherialWheel( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AetherialWheelDat.get_row( row_id ); - itemUnprimed = exdData->getField< int32_t >( row, 0 ); - itemPrimed = exdData->getField< int32_t >( row, 1 ); - grade = exdData->getField< uint8_t >( row, 2 ); - hoursRequired = exdData->getField< uint8_t >( row, 3 ); + auto row = exdData->m_AetherialWheelDat.get_row( row_id ); + itemUnprimed = exdData->getField< int32_t >( row, 0 ); + itemPrimed = exdData->getField< int32_t >( row, 1 ); + grade = exdData->getField< uint8_t >( row, 2 ); + hoursRequired = exdData->getField< uint8_t >( row, 3 ); } Core::Data::Aetheryte::Aetheryte( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AetheryteDat.get_row( row_id ); - placeName = exdData->getField< uint16_t >( row, 8 ); - aethernetName = exdData->getField< uint16_t >( row, 9 ); - territory = exdData->getField< uint16_t >( row, 10 ); - level.push_back( exdData->getField< uint32_t >( row, 11 ) ); - level.push_back( exdData->getField< uint32_t >( row, 12 ) ); - 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 ); - map = exdData->getField< uint16_t >( row, 19 ); - aetherstreamX = exdData->getField< int16_t >( row, 20 ); - aetherstreamY = exdData->getField< int16_t >( row, 21 ); + auto row = exdData->m_AetheryteDat.get_row( row_id ); + placeName = exdData->getField< uint16_t >( row, 8 ); + aethernetName = exdData->getField< uint16_t >( row, 9 ); + territory = exdData->getField< uint16_t >( row, 10 ); + level.push_back( exdData->getField< uint32_t >( row, 11 ) ); + level.push_back( exdData->getField< uint32_t >( row, 12 ) ); + 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 ); +} + +Core::Data::AetheryteSystemDefine::AetheryteSystemDefine( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AetheryteSystemDefineDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); } Core::Data::AirshipExplorationLevel::AirshipExplorationLevel( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AirshipExplorationLevelDat.get_row( row_id ); - expToNext = exdData->getField< uint32_t >( row, 1 ); + auto row = exdData->m_AirshipExplorationLevelDat.get_row( row_id ); + expToNext = exdData->getField< uint32_t >( row, 1 ); } Core::Data::AirshipExplorationLog::AirshipExplorationLog( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AirshipExplorationLogDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_AirshipExplorationLogDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); } -Core::Data::AirshipExplorationParamType::AirshipExplorationParamType( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::AirshipExplorationParamType::AirshipExplorationParamType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AirshipExplorationParamTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_AirshipExplorationParamTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::AirshipExplorationPart::AirshipExplorationPart( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AirshipExplorationPartDat.get_row( row_id ); - rank = exdData->getField< uint8_t >( row, 1 ); - components = exdData->getField< uint8_t >( row, 2 ); - surveillance = exdData->getField< int16_t >( row, 3 ); - retrieval = exdData->getField< int16_t >( row, 4 ); - speed = exdData->getField< int16_t >( row, 5 ); - range = exdData->getField< int16_t >( row, 6 ); - favor = exdData->getField< int16_t >( row, 7 ); - repairMaterials = exdData->getField< uint8_t >( row, 9 ); + auto row = exdData->m_AirshipExplorationPartDat.get_row( row_id ); + rank = exdData->getField< uint8_t >( row, 1 ); + components = exdData->getField< uint8_t >( row, 2 ); + surveillance = exdData->getField< int16_t >( row, 3 ); + retrieval = exdData->getField< int16_t >( row, 4 ); + speed = exdData->getField< int16_t >( row, 5 ); + range = exdData->getField< int16_t >( row, 6 ); + favor = exdData->getField< int16_t >( row, 7 ); + repairMaterials = exdData->getField< uint8_t >( row, 9 ); } Core::Data::AirshipExplorationPoint::AirshipExplorationPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AirshipExplorationPointDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - nameShort = exdData->getField< std::string >( row, 1 ); - requiredLevel = exdData->getField< uint8_t >( row, 5 ); - requiredFuel = exdData->getField< uint16_t >( row, 6 ); - durationmin = exdData->getField< uint16_t >( row, 7 ); - requiredSurveillance = exdData->getField< uint8_t >( row, 10 ); - expReward = exdData->getField< uint32_t >( row, 13 ); + auto row = exdData->m_AirshipExplorationPointDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + nameShort = exdData->getField< std::string >( row, 1 ); + requiredLevel = exdData->getField< uint8_t >( row, 5 ); + requiredFuel = exdData->getField< uint16_t >( row, 6 ); + durationmin = exdData->getField< uint16_t >( row, 7 ); + requiredSurveillance = exdData->getField< uint8_t >( row, 10 ); + expReward = exdData->getField< uint32_t >( row, 13 ); } Core::Data::AnimaWeapon5::AnimaWeapon5( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeapon5Dat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 0 ); - secondaryStatTotal = exdData->getField< uint8_t >( row, 2 ); - parameter.push_back( exdData->getField< uint8_t >( row, 3 ) ); - parameter.push_back( exdData->getField< uint8_t >( row, 4 ) ); - parameter.push_back( exdData->getField< uint8_t >( row, 5 ) ); - parameter.push_back( exdData->getField< uint8_t >( row, 6 ) ); - parameter.push_back( exdData->getField< uint8_t >( row, 7 ) ); + auto row = exdData->m_AnimaWeapon5Dat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 0 ); + secondaryStatTotal = exdData->getField< uint8_t >( row, 2 ); + parameter.push_back( exdData->getField< uint8_t >( row, 3 ) ); + parameter.push_back( exdData->getField< uint8_t >( row, 4 ) ); + parameter.push_back( exdData->getField< uint8_t >( row, 5 ) ); + parameter.push_back( exdData->getField< uint8_t >( row, 6 ) ); + parameter.push_back( exdData->getField< uint8_t >( row, 7 ) ); } Core::Data::AnimaWeapon5Param::AnimaWeapon5Param( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeapon5ParamDat.get_row( row_id ); - baseParam = exdData->getField< uint8_t >( row, 0 ); - name = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_AnimaWeapon5ParamDat.get_row( row_id ); + baseParam = exdData->getField< uint8_t >( row, 0 ); + name = exdData->getField< std::string >( row, 1 ); } Core::Data::AnimaWeapon5PatternGroup::AnimaWeapon5PatternGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeapon5PatternGroupDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_AnimaWeapon5PatternGroupDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::AnimaWeapon5SpiritTalk::AnimaWeapon5SpiritTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeapon5SpiritTalkDat.get_row( row_id ); - dialogue = exdData->getField< int32_t >( row, 0 ); + auto row = exdData->m_AnimaWeapon5SpiritTalkDat.get_row( row_id ); + dialogue = exdData->getField< int32_t >( row, 0 ); } -Core::Data::AnimaWeapon5SpiritTalkParam::AnimaWeapon5SpiritTalkParam( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::AnimaWeapon5SpiritTalkParam::AnimaWeapon5SpiritTalkParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeapon5SpiritTalkParamDat.get_row( row_id ); - prologue = exdData->getField< std::string >( row, 0 ); - epilogue = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_AnimaWeapon5SpiritTalkParamDat.get_row( row_id ); + prologue = exdData->getField< std::string >( row, 0 ); + epilogue = exdData->getField< std::string >( row, 1 ); } Core::Data::AnimaWeapon5TradeItem::AnimaWeapon5TradeItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeapon5TradeItemDat.get_row( row_id ); - crystalSand = exdData->getField< uint32_t >( row, 1 ); - qty = exdData->getField< uint8_t >( row, 2 ); - category = exdData->getField< uint8_t >( row, 27 ); + auto row = exdData->m_AnimaWeapon5TradeItemDat.get_row( row_id ); + crystalSand = exdData->getField< uint32_t >( row, 1 ); + qty = exdData->getField< uint8_t >( row, 2 ); + category = exdData->getField< uint8_t >( row, 27 ); } Core::Data::AnimaWeaponFUITalk::AnimaWeaponFUITalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeaponFUITalkDat.get_row( row_id ); - dialogue = exdData->getField< int32_t >( row, 0 ); + auto row = exdData->m_AnimaWeaponFUITalkDat.get_row( row_id ); + dialogue = exdData->getField< int32_t >( row, 0 ); } Core::Data::AnimaWeaponFUITalkParam::AnimaWeaponFUITalkParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeaponFUITalkParamDat.get_row( row_id ); - prologue = exdData->getField< std::string >( row, 0 ); - epilogue = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_AnimaWeaponFUITalkParamDat.get_row( row_id ); + prologue = exdData->getField< std::string >( row, 0 ); + epilogue = exdData->getField< std::string >( row, 1 ); } Core::Data::AnimaWeaponIcon::AnimaWeaponIcon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeaponIconDat.get_row( row_id ); - hyperconductive = exdData->getField< int32_t >( row, 0 ); - reborn = exdData->getField< int32_t >( row, 1 ); - sharpened = exdData->getField< int32_t >( row, 2 ); - zodiac = exdData->getField< int32_t >( row, 3 ); - zodiacLux = exdData->getField< int32_t >( row, 4 ); + auto row = exdData->m_AnimaWeaponIconDat.get_row( row_id ); + hyperconductive = exdData->getField< int32_t >( row, 0 ); + reborn = exdData->getField< int32_t >( row, 1 ); + sharpened = exdData->getField< int32_t >( row, 2 ); + zodiac = exdData->getField< int32_t >( row, 3 ); + zodiacLux = exdData->getField< int32_t >( row, 4 ); } Core::Data::AnimaWeaponItem::AnimaWeaponItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AnimaWeaponItemDat.get_row( row_id ); - item.push_back( exdData->getField< uint32_t >( row, 0 ) ); - item.push_back( exdData->getField< uint32_t >( row, 1 ) ); - item.push_back( exdData->getField< uint32_t >( row, 2 ) ); - item.push_back( exdData->getField< uint32_t >( row, 3 ) ); - item.push_back( exdData->getField< uint32_t >( row, 4 ) ); - item.push_back( exdData->getField< uint32_t >( row, 5 ) ); - item.push_back( exdData->getField< uint32_t >( row, 6 ) ); - item.push_back( exdData->getField< uint32_t >( row, 7 ) ); - item.push_back( exdData->getField< uint32_t >( row, 8 ) ); - item.push_back( exdData->getField< uint32_t >( row, 9 ) ); - item.push_back( exdData->getField< uint32_t >( row, 10 ) ); - item.push_back( exdData->getField< uint32_t >( row, 11 ) ); - item.push_back( exdData->getField< uint32_t >( row, 12 ) ); - item.push_back( exdData->getField< uint32_t >( row, 13 ) ); + auto row = exdData->m_AnimaWeaponItemDat.get_row( row_id ); + item.push_back( exdData->getField< uint32_t >( row, 0 ) ); + item.push_back( exdData->getField< uint32_t >( row, 1 ) ); + item.push_back( exdData->getField< uint32_t >( row, 2 ) ); + item.push_back( exdData->getField< uint32_t >( row, 3 ) ); + item.push_back( exdData->getField< uint32_t >( row, 4 ) ); + item.push_back( exdData->getField< uint32_t >( row, 5 ) ); + item.push_back( exdData->getField< uint32_t >( row, 6 ) ); + item.push_back( exdData->getField< uint32_t >( row, 7 ) ); + item.push_back( exdData->getField< uint32_t >( row, 8 ) ); + item.push_back( exdData->getField< uint32_t >( row, 9 ) ); + item.push_back( exdData->getField< uint32_t >( row, 10 ) ); + item.push_back( exdData->getField< uint32_t >( row, 11 ) ); + item.push_back( exdData->getField< uint32_t >( row, 12 ) ); + item.push_back( exdData->getField< uint32_t >( row, 13 ) ); } Core::Data::AquariumFish::AquariumFish( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AquariumFishDat.get_row( row_id ); - aquariumWater = exdData->getField< uint8_t >( row, 0 ); - size = exdData->getField< uint8_t >( row, 1 ); - item = exdData->getField< uint32_t >( row, 2 ); + auto row = exdData->m_AquariumFishDat.get_row( row_id ); + aquariumWater = exdData->getField< uint8_t >( row, 0 ); + size = exdData->getField< uint8_t >( row, 1 ); + item = exdData->getField< uint32_t >( row, 2 ); } Core::Data::AquariumWater::AquariumWater( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AquariumWaterDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_AquariumWaterDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 1 ); +} + +Core::Data::ArrayEventHandler::ArrayEventHandler( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ArrayEventHandlerDat.get_row( row_id ); + data.push_back( exdData->getField< uint32_t >( row, 0 ) ); + data.push_back( exdData->getField< uint32_t >( row, 1 ) ); + data.push_back( exdData->getField< uint32_t >( row, 2 ) ); + data.push_back( exdData->getField< uint32_t >( row, 3 ) ); + data.push_back( exdData->getField< uint32_t >( row, 4 ) ); + data.push_back( exdData->getField< uint32_t >( row, 5 ) ); + data.push_back( exdData->getField< uint32_t >( row, 6 ) ); + data.push_back( exdData->getField< uint32_t >( row, 7 ) ); + data.push_back( exdData->getField< uint32_t >( row, 8 ) ); + data.push_back( exdData->getField< uint32_t >( row, 9 ) ); + data.push_back( exdData->getField< uint32_t >( row, 10 ) ); + data.push_back( exdData->getField< uint32_t >( row, 11 ) ); + data.push_back( exdData->getField< uint32_t >( row, 12 ) ); + data.push_back( exdData->getField< uint32_t >( row, 13 ) ); + data.push_back( exdData->getField< uint32_t >( row, 14 ) ); + data.push_back( exdData->getField< uint32_t >( row, 15 ) ); } Core::Data::AttackType::AttackType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_AttackTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_AttackTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::BacklightColor::BacklightColor( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BacklightColorDat.get_row( row_id ); + color = exdData->getField< uint32_t >( row, 0 ); } Core::Data::Balloon::Balloon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BalloonDat.get_row( row_id ); - dialogue = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_BalloonDat.get_row( row_id ); + dialogue = exdData->getField< std::string >( row, 1 ); } Core::Data::BaseParam::BaseParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BaseParamDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 1 ); - description = exdData->getField< std::string >( row, 2 ); - oneHWpn = exdData->getField< uint8_t >( row, 4 ); - oH = exdData->getField< uint8_t >( row, 5 ); - head = exdData->getField< uint8_t >( row, 6 ); - chest = exdData->getField< uint8_t >( row, 7 ); - hands = exdData->getField< uint8_t >( row, 8 ); - waist = exdData->getField< uint8_t >( row, 9 ); - legs = exdData->getField< uint8_t >( row, 10 ); - feet = exdData->getField< uint8_t >( row, 11 ); - earring = exdData->getField< uint8_t >( row, 12 ); - necklace = exdData->getField< uint8_t >( row, 13 ); - bracelet = exdData->getField< uint8_t >( row, 14 ); - ring = exdData->getField< uint8_t >( row, 15 ); - twoHWpn = exdData->getField< uint8_t >( row, 16 ); - chestHead = exdData->getField< uint8_t >( row, 18 ); - chestHeadLegsFeet = exdData->getField< uint8_t >( row, 19 ); - legsFeet = exdData->getField< uint8_t >( row, 21 ); - headChestHandsLegsFeet = exdData->getField< uint8_t >( row, 22 ); - chestLegsGloves = exdData->getField< uint8_t >( row, 23 ); - chestLegsFeet = exdData->getField< uint8_t >( row, 24 ); + auto row = exdData->m_BaseParamDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 1 ); + description = exdData->getField< std::string >( row, 2 ); + oneHWpn = exdData->getField< uint8_t >( row, 4 ); + oH = exdData->getField< uint8_t >( row, 5 ); + head = exdData->getField< uint8_t >( row, 6 ); + chest = exdData->getField< uint8_t >( row, 7 ); + hands = exdData->getField< uint8_t >( row, 8 ); + waist = exdData->getField< uint8_t >( row, 9 ); + legs = exdData->getField< uint8_t >( row, 10 ); + feet = exdData->getField< uint8_t >( row, 11 ); + earring = exdData->getField< uint8_t >( row, 12 ); + necklace = exdData->getField< uint8_t >( row, 13 ); + bracelet = exdData->getField< uint8_t >( row, 14 ); + ring = exdData->getField< uint8_t >( row, 15 ); + twoHWpn = exdData->getField< uint8_t >( row, 16 ); + chestHead = exdData->getField< uint8_t >( row, 18 ); + chestHeadLegsFeet = exdData->getField< uint8_t >( row, 19 ); + legsFeet = exdData->getField< uint8_t >( row, 21 ); + headChestHandsLegsFeet = exdData->getField< uint8_t >( row, 22 ); + chestLegsGloves = exdData->getField< uint8_t >( row, 23 ); + chestLegsFeet = exdData->getField< uint8_t >( row, 24 ); } Core::Data::BattleLeve::BattleLeve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BattleLeveDat.get_row( row_id ); - enemyLevel.push_back( exdData->getField< uint16_t >( row, 16 ) ); - enemyLevel.push_back( exdData->getField< uint16_t >( row, 17 ) ); - enemyLevel.push_back( exdData->getField< uint16_t >( row, 18 ) ); - enemyLevel.push_back( exdData->getField< uint16_t >( row, 19 ) ); - enemyLevel.push_back( exdData->getField< uint16_t >( row, 20 ) ); - enemyLevel.push_back( exdData->getField< uint16_t >( row, 21 ) ); - enemyLevel.push_back( exdData->getField< uint16_t >( row, 22 ) ); - enemyLevel.push_back( exdData->getField< uint16_t >( row, 23 ) ); - bNpcName.push_back( exdData->getField< uint32_t >( row, 24 ) ); - bNpcName.push_back( exdData->getField< uint32_t >( row, 25 ) ); - bNpcName.push_back( exdData->getField< uint32_t >( row, 26 ) ); - bNpcName.push_back( exdData->getField< uint32_t >( row, 27 ) ); - bNpcName.push_back( exdData->getField< uint32_t >( row, 28 ) ); - bNpcName.push_back( exdData->getField< uint32_t >( row, 29 ) ); - bNpcName.push_back( exdData->getField< uint32_t >( row, 30 ) ); - bNpcName.push_back( exdData->getField< uint32_t >( row, 31 ) ); - itemsInvolved.push_back( exdData->getField< int32_t >( row, 32 ) ); - itemsInvolved.push_back( exdData->getField< int32_t >( row, 33 ) ); - itemsInvolved.push_back( exdData->getField< int32_t >( row, 34 ) ); - itemsInvolved.push_back( exdData->getField< int32_t >( row, 35 ) ); - itemsInvolved.push_back( exdData->getField< int32_t >( row, 36 ) ); - itemsInvolved.push_back( exdData->getField< int32_t >( row, 37 ) ); - itemsInvolved.push_back( exdData->getField< int32_t >( row, 38 ) ); - itemsInvolved.push_back( exdData->getField< int32_t >( row, 39 ) ); - itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 40 ) ); - itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 41 ) ); - itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 42 ) ); - itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 43 ) ); - itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 44 ) ); - itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 45 ) ); - itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 46 ) ); - itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 47 ) ); - itemDropRate.push_back( exdData->getField< uint8_t >( row, 48 ) ); - itemDropRate.push_back( exdData->getField< uint8_t >( row, 49 ) ); - itemDropRate.push_back( exdData->getField< uint8_t >( row, 50 ) ); - itemDropRate.push_back( exdData->getField< uint8_t >( row, 51 ) ); - itemDropRate.push_back( exdData->getField< uint8_t >( row, 52 ) ); - itemDropRate.push_back( exdData->getField< uint8_t >( row, 53 ) ); - itemDropRate.push_back( exdData->getField< uint8_t >( row, 54 ) ); - itemDropRate.push_back( exdData->getField< uint8_t >( row, 55 ) ); + auto row = exdData->m_BattleLeveDat.get_row( row_id ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 16 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 17 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 18 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 19 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 20 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 21 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 22 ) ); + enemyLevel.push_back( exdData->getField< uint16_t >( row, 23 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 24 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 25 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 26 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 27 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 28 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 29 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 30 ) ); + bNpcName.push_back( exdData->getField< uint32_t >( row, 31 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 32 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 33 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 34 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 35 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 36 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 37 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 38 ) ); + itemsInvolved.push_back( exdData->getField< int32_t >( row, 39 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 40 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 41 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 42 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 43 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 44 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 45 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 46 ) ); + itemsInvolvedQty.push_back( exdData->getField< uint8_t >( row, 47 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 48 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 49 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 50 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 51 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 52 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 53 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 54 ) ); + itemDropRate.push_back( exdData->getField< uint8_t >( row, 55 ) ); } Core::Data::BeastRankBonus::BeastRankBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BeastRankBonusDat.get_row( row_id ); - item = exdData->getField< uint32_t >( row, 8 ); - itemQuantity.push_back( exdData->getField< uint8_t >( row, 9 ) ); - itemQuantity.push_back( exdData->getField< uint8_t >( row, 10 ) ); - itemQuantity.push_back( exdData->getField< uint8_t >( row, 11 ) ); - itemQuantity.push_back( exdData->getField< uint8_t >( row, 12 ) ); - itemQuantity.push_back( exdData->getField< uint8_t >( row, 13 ) ); - itemQuantity.push_back( exdData->getField< uint8_t >( row, 14 ) ); - itemQuantity.push_back( exdData->getField< uint8_t >( row, 15 ) ); - itemQuantity.push_back( exdData->getField< uint8_t >( row, 16 ) ); + auto row = exdData->m_BeastRankBonusDat.get_row( row_id ); + item = exdData->getField< uint32_t >( row, 8 ); + itemQuantity.push_back( exdData->getField< uint8_t >( row, 9 ) ); + itemQuantity.push_back( exdData->getField< uint8_t >( row, 10 ) ); + itemQuantity.push_back( exdData->getField< uint8_t >( row, 11 ) ); + itemQuantity.push_back( exdData->getField< uint8_t >( row, 12 ) ); + itemQuantity.push_back( exdData->getField< uint8_t >( row, 13 ) ); + itemQuantity.push_back( exdData->getField< uint8_t >( row, 14 ) ); + itemQuantity.push_back( exdData->getField< uint8_t >( row, 15 ) ); + itemQuantity.push_back( exdData->getField< uint8_t >( row, 16 ) ); } Core::Data::BeastReputationRank::BeastReputationRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BeastReputationRankDat.get_row( row_id ); - requiredReputation = exdData->getField< uint16_t >( row, 0 ); - name = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_BeastReputationRankDat.get_row( row_id ); + requiredReputation = exdData->getField< uint16_t >( row, 0 ); + name = exdData->getField< std::string >( row, 1 ); } Core::Data::BeastTribe::BeastTribe( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BeastTribeDat.get_row( row_id ); - minLevel = exdData->getField< uint8_t >( row, 0 ); - maxLevel = exdData->getField< uint8_t >( row, 1 ); - beastRankBonus = exdData->getField< uint8_t >( row, 2 ); - iconReputation = exdData->getField< uint32_t >( row, 3 ); - icon = exdData->getField< uint32_t >( row, 4 ); - maxRank = exdData->getField< uint8_t >( row, 5 ); - alliedBeastTribeQuest = exdData->getField< uint32_t >( row, 6 ); - expansion = exdData->getField< uint8_t >( row, 7 ); - currencyItem = exdData->getField< uint32_t >( row, 8 ); - displayOrder = exdData->getField< uint8_t >( row, 9 ); - name = exdData->getField< std::string >( row, 10 ); - nameRelation = exdData->getField< std::string >( row, 18 ); + auto row = exdData->m_BeastTribeDat.get_row( row_id ); + minLevel = exdData->getField< uint8_t >( row, 0 ); + maxLevel = exdData->getField< uint8_t >( row, 1 ); + beastRankBonus = exdData->getField< uint8_t >( row, 2 ); + iconReputation = exdData->getField< uint32_t >( row, 3 ); + icon = exdData->getField< uint32_t >( row, 4 ); + maxRank = exdData->getField< uint8_t >( row, 5 ); + alliedBeastTribeQuest = exdData->getField< uint32_t >( row, 6 ); + expansion = exdData->getField< uint8_t >( row, 7 ); + currencyItem = exdData->getField< uint32_t >( row, 8 ); + displayOrder = exdData->getField< uint8_t >( row, 9 ); + name = exdData->getField< std::string >( row, 10 ); + nameRelation = exdData->getField< std::string >( row, 18 ); } Core::Data::Behavior::Behavior( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BehaviorDat.get_row( row_id ); - balloon = exdData->getField< uint16_t >( row, 6 ); + auto row = exdData->m_BehaviorDat.get_row( row_id ); + balloon = exdData->getField< uint16_t >( row, 6 ); } Core::Data::BGM::BGM( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BGMDat.get_row( row_id ); - file = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_BGMDat.get_row( row_id ); + file = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::BGMFade::BGMFade( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BGMFadeDat.get_row( row_id ); + bGMFadeType = exdData->getField< int32_t >( row, 2 ); +} + +Core::Data::BGMSituation::BGMSituation( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BGMSituationDat.get_row( row_id ); + bGMDay = exdData->getField< uint16_t >( row, 0 ); + bGMNight = exdData->getField< uint16_t >( row, 1 ); + bGMBattle = exdData->getField< uint16_t >( row, 2 ); + bGMField = exdData->getField< uint16_t >( row, 3 ); +} + +Core::Data::BGMSwitch::BGMSwitch( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BGMSwitchDat.get_row( row_id ); + bGMSystemDefine = exdData->getField< uint8_t >( row, 0 ); + quest = exdData->getField< uint32_t >( row, 1 ); +} + +Core::Data::BGMSystemDefine::BGMSystemDefine( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BGMSystemDefineDat.get_row( row_id ); + define = exdData->getField< float >( row, 0 ); } Core::Data::BNpcAnnounceIcon::BNpcAnnounceIcon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BNpcAnnounceIconDat.get_row( row_id ); - icon = exdData->getField< uint32_t >( row, 0 ); + auto row = exdData->m_BNpcAnnounceIconDat.get_row( row_id ); + icon = exdData->getField< uint32_t >( row, 0 ); } Core::Data::BNpcBase::BNpcBase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BNpcBaseDat.get_row( row_id ); - scale = exdData->getField< float >( row, 4 ); - modelChara = exdData->getField< uint16_t >( row, 5 ); - bNpcCustomize = exdData->getField< uint16_t >( row, 6 ); - npcEquip = exdData->getField< uint16_t >( row, 7 ); - arrayEventHandler = exdData->getField< int32_t >( row, 11 ); + auto row = exdData->m_BNpcBaseDat.get_row( row_id ); + behavior = exdData->getField< uint16_t >( row, 0 ); + actionTimelineMove = exdData->getField< uint8_t >( row, 1 ); + scale = exdData->getField< float >( row, 4 ); + modelChara = exdData->getField< uint16_t >( row, 5 ); + bNpcCustomize = exdData->getField< uint16_t >( row, 6 ); + npcEquip = exdData->getField< uint16_t >( row, 7 ); + arrayEventHandler = exdData->getField< int32_t >( row, 11 ); + bNpcParts = exdData->getField< uint8_t >( row, 12 ); } Core::Data::BNpcCustomize::BNpcCustomize( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BNpcCustomizeDat.get_row( row_id ); - race = exdData->getField< uint8_t >( row, 0 ); - gender = exdData->getField< uint8_t >( row, 1 ); - bodyType = exdData->getField< uint8_t >( row, 2 ); - height = exdData->getField< uint8_t >( row, 3 ); - tribe = exdData->getField< uint8_t >( row, 4 ); - face = exdData->getField< uint8_t >( row, 5 ); - hairStyle = exdData->getField< uint8_t >( row, 6 ); - hairHighlight = exdData->getField< uint8_t >( row, 7 ); - skinColor = exdData->getField< uint8_t >( row, 8 ); - eyeHeterochromia = exdData->getField< uint8_t >( row, 9 ); - hairColor = exdData->getField< uint8_t >( row, 10 ); - hairHighlightColor = exdData->getField< uint8_t >( row, 11 ); - facialFeature = exdData->getField< uint8_t >( row, 12 ); - facialFeatureColor = exdData->getField< uint8_t >( row, 13 ); - eyebrows = exdData->getField< uint8_t >( row, 14 ); - eyeColor = exdData->getField< uint8_t >( row, 15 ); - eyeShape = exdData->getField< uint8_t >( row, 16 ); - nose = exdData->getField< uint8_t >( row, 17 ); - jaw = exdData->getField< uint8_t >( row, 18 ); - mouth = exdData->getField< uint8_t >( row, 19 ); - lipColor = exdData->getField< uint8_t >( row, 20 ); - bustOrTone1 = exdData->getField< uint8_t >( row, 21 ); - extraFeature1 = exdData->getField< uint8_t >( row, 22 ); - extraFeature2OrBust = exdData->getField< uint8_t >( row, 23 ); - facePaint = exdData->getField< uint8_t >( row, 24 ); - facePaintColor = exdData->getField< uint8_t >( row, 25 ); + auto row = exdData->m_BNpcCustomizeDat.get_row( row_id ); + race = exdData->getField< uint8_t >( row, 0 ); + gender = exdData->getField< uint8_t >( row, 1 ); + bodyType = exdData->getField< uint8_t >( row, 2 ); + height = exdData->getField< uint8_t >( row, 3 ); + tribe = exdData->getField< uint8_t >( row, 4 ); + face = exdData->getField< uint8_t >( row, 5 ); + hairStyle = exdData->getField< uint8_t >( row, 6 ); + hairHighlight = exdData->getField< uint8_t >( row, 7 ); + skinColor = exdData->getField< uint8_t >( row, 8 ); + eyeHeterochromia = exdData->getField< uint8_t >( row, 9 ); + hairColor = exdData->getField< uint8_t >( row, 10 ); + hairHighlightColor = exdData->getField< uint8_t >( row, 11 ); + facialFeature = exdData->getField< uint8_t >( row, 12 ); + facialFeatureColor = exdData->getField< uint8_t >( row, 13 ); + eyebrows = exdData->getField< uint8_t >( row, 14 ); + eyeColor = exdData->getField< uint8_t >( row, 15 ); + eyeShape = exdData->getField< uint8_t >( row, 16 ); + nose = exdData->getField< uint8_t >( row, 17 ); + jaw = exdData->getField< uint8_t >( row, 18 ); + mouth = exdData->getField< uint8_t >( row, 19 ); + lipColor = exdData->getField< uint8_t >( row, 20 ); + bustOrTone1 = exdData->getField< uint8_t >( row, 21 ); + extraFeature1 = exdData->getField< uint8_t >( row, 22 ); + extraFeature2OrBust = exdData->getField< uint8_t >( row, 23 ); + facePaint = exdData->getField< uint8_t >( row, 24 ); + facePaintColor = exdData->getField< uint8_t >( row, 25 ); } Core::Data::BNpcName::BNpcName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BNpcNameDat.get_row( row_id ); - singular = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); + auto row = exdData->m_BNpcNameDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); +} + +Core::Data::BNpcParts::BNpcParts( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_BNpcPartsDat.get_row( row_id ); + bNpcBase1 = exdData->getField< uint16_t >( row, 0 ); + partSlot1 = exdData->getField< uint8_t >( row, 1 ); + x1 = exdData->getField< float >( row, 6 ); + y1 = exdData->getField< float >( row, 7 ); + z1 = exdData->getField< float >( row, 8 ); + scale1 = exdData->getField< float >( row, 10 ); + bNpcBase2 = exdData->getField< uint16_t >( row, 11 ); + partSlot2 = exdData->getField< uint8_t >( row, 12 ); + x2 = exdData->getField< float >( row, 17 ); + y2 = exdData->getField< float >( row, 18 ); + z2 = exdData->getField< float >( row, 19 ); + scale2 = exdData->getField< float >( row, 21 ); + bNpcBase3 = exdData->getField< uint16_t >( row, 22 ); + partSlot3 = exdData->getField< uint8_t >( row, 23 ); + x3 = exdData->getField< float >( row, 28 ); + y3 = exdData->getField< float >( row, 29 ); + z3 = exdData->getField< float >( row, 30 ); + scale3 = exdData->getField< int16_t >( row, 31 ); + bNpcBase4 = exdData->getField< uint16_t >( row, 33 ); + partSlot4 = exdData->getField< uint8_t >( row, 34 ); + x4 = exdData->getField< float >( row, 39 ); + y4 = exdData->getField< float >( row, 40 ); + z4 = exdData->getField< float >( row, 41 ); + scale4 = exdData->getField< float >( row, 43 ); + bNpcBase5 = exdData->getField< uint16_t >( row, 44 ); + partSlot5 = exdData->getField< uint8_t >( row, 45 ); + x5 = exdData->getField< float >( row, 50 ); + y5 = exdData->getField< float >( row, 51 ); + z5 = exdData->getField< float >( row, 52 ); + scale5 = exdData->getField< float >( row, 54 ); } Core::Data::Buddy::Buddy( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BuddyDat.get_row( row_id ); - questRequirement2 = exdData->getField< int32_t >( row, 1 ); - questRequirement1 = exdData->getField< int32_t >( row, 2 ); - soundEffect4 = exdData->getField< std::string >( row, 4 ); - soundEffect3 = exdData->getField< std::string >( row, 5 ); - soundEffect2 = exdData->getField< std::string >( row, 6 ); - soundEffect1 = exdData->getField< std::string >( row, 7 ); + auto row = exdData->m_BuddyDat.get_row( row_id ); + questRequirement2 = exdData->getField< int32_t >( row, 1 ); + questRequirement1 = exdData->getField< int32_t >( row, 2 ); + soundEffect4 = exdData->getField< std::string >( row, 4 ); + soundEffect3 = exdData->getField< std::string >( row, 5 ); + soundEffect2 = exdData->getField< std::string >( row, 6 ); + soundEffect1 = exdData->getField< std::string >( row, 7 ); } Core::Data::BuddyAction::BuddyAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BuddyActionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - icon = exdData->getField< int32_t >( row, 2 ); - iconStatus = exdData->getField< int32_t >( row, 3 ); + auto row = exdData->m_BuddyActionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + icon = exdData->getField< int32_t >( row, 2 ); + iconStatus = exdData->getField< int32_t >( row, 3 ); } Core::Data::BuddyEquip::BuddyEquip( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BuddyEquipDat.get_row( row_id ); - singular = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - name = exdData->getField< std::string >( row, 8 ); - modelTop = exdData->getField< int32_t >( row, 9 ); - modelBody = exdData->getField< int32_t >( row, 10 ); - modelLegs = exdData->getField< int32_t >( row, 11 ); - grandCompany = exdData->getField< uint8_t >( row, 12 ); - iconHead = exdData->getField< uint16_t >( row, 13 ); - iconBody = exdData->getField< uint16_t >( row, 14 ); - iconLegs = exdData->getField< uint16_t >( row, 15 ); + auto row = exdData->m_BuddyEquipDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + rarity = exdData->getField< int8_t >( row, 5 ); + name = exdData->getField< std::string >( row, 8 ); + modelTop = exdData->getField< int32_t >( row, 9 ); + modelBody = exdData->getField< int32_t >( row, 10 ); + modelLegs = exdData->getField< int32_t >( row, 11 ); + grandCompany = exdData->getField< uint8_t >( row, 12 ); + iconHead = exdData->getField< uint16_t >( row, 13 ); + iconBody = exdData->getField< uint16_t >( row, 14 ); + iconLegs = exdData->getField< uint16_t >( row, 15 ); } Core::Data::BuddyItem::BuddyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BuddyItemDat.get_row( row_id ); - name = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_BuddyItemDat.get_row( row_id ); + item = exdData->getField< uint16_t >( row, 0 ); } Core::Data::BuddyRank::BuddyRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BuddyRankDat.get_row( row_id ); - expRequired = exdData->getField< uint32_t >( row, 0 ); + auto row = exdData->m_BuddyRankDat.get_row( row_id ); + expRequired = exdData->getField< uint32_t >( row, 0 ); } Core::Data::BuddySkill::BuddySkill( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_BuddySkillDat.get_row( row_id ); - buddyLevel = exdData->getField< uint8_t >( row, 0 ); - isActive = exdData->getField< bool >( row, 1 ); - defender = exdData->getField< uint16_t >( row, 2 ); - attacker = exdData->getField< uint16_t >( row, 3 ); - healer = exdData->getField< uint16_t >( row, 4 ); + auto row = exdData->m_BuddySkillDat.get_row( row_id ); + buddyLevel = exdData->getField< uint8_t >( row, 0 ); + isActive = exdData->getField< bool >( row, 1 ); + defender = exdData->getField< uint16_t >( row, 2 ); + attacker = exdData->getField< uint16_t >( row, 3 ); + healer = exdData->getField< uint16_t >( row, 4 ); } Core::Data::Cabinet::Cabinet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CabinetDat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 0 ); - order = exdData->getField< uint16_t >( row, 1 ); - category = exdData->getField< uint8_t >( row, 2 ); + auto row = exdData->m_CabinetDat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 0 ); + order = exdData->getField< uint16_t >( row, 1 ); + category = exdData->getField< uint8_t >( row, 2 ); } Core::Data::CabinetCategory::CabinetCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CabinetCategoryDat.get_row( row_id ); - menuOrder = exdData->getField< uint8_t >( row, 0 ); - icon = exdData->getField< int32_t >( row, 1 ); - category = exdData->getField< int32_t >( row, 2 ); + auto row = exdData->m_CabinetCategoryDat.get_row( row_id ); + menuOrder = exdData->getField< uint8_t >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); + category = exdData->getField< int32_t >( row, 2 ); } Core::Data::Calendar::Calendar( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CalendarDat.get_row( row_id ); - month.push_back( exdData->getField< uint8_t >( row, 0 ) ); - month.push_back( exdData->getField< uint8_t >( row, 1 ) ); - month.push_back( exdData->getField< uint8_t >( row, 2 ) ); - month.push_back( exdData->getField< uint8_t >( row, 3 ) ); - month.push_back( exdData->getField< uint8_t >( row, 4 ) ); - month.push_back( exdData->getField< uint8_t >( row, 5 ) ); - month.push_back( exdData->getField< uint8_t >( row, 6 ) ); - month.push_back( exdData->getField< uint8_t >( row, 7 ) ); - month.push_back( exdData->getField< uint8_t >( row, 8 ) ); - month.push_back( exdData->getField< uint8_t >( row, 9 ) ); - month.push_back( exdData->getField< uint8_t >( row, 10 ) ); - month.push_back( exdData->getField< uint8_t >( row, 11 ) ); - month.push_back( exdData->getField< uint8_t >( row, 12 ) ); - month.push_back( exdData->getField< uint8_t >( row, 13 ) ); - month.push_back( exdData->getField< uint8_t >( row, 14 ) ); - month.push_back( exdData->getField< uint8_t >( row, 15 ) ); - month.push_back( exdData->getField< uint8_t >( row, 16 ) ); - month.push_back( exdData->getField< uint8_t >( row, 17 ) ); - month.push_back( exdData->getField< uint8_t >( row, 18 ) ); - month.push_back( exdData->getField< uint8_t >( row, 19 ) ); - month.push_back( exdData->getField< uint8_t >( row, 20 ) ); - month.push_back( exdData->getField< uint8_t >( row, 21 ) ); - month.push_back( exdData->getField< uint8_t >( row, 22 ) ); - month.push_back( exdData->getField< uint8_t >( row, 23 ) ); - month.push_back( exdData->getField< uint8_t >( row, 24 ) ); - month.push_back( exdData->getField< uint8_t >( row, 25 ) ); - month.push_back( exdData->getField< uint8_t >( row, 26 ) ); - month.push_back( exdData->getField< uint8_t >( row, 27 ) ); - month.push_back( exdData->getField< uint8_t >( row, 28 ) ); - month.push_back( exdData->getField< uint8_t >( row, 29 ) ); - month.push_back( exdData->getField< uint8_t >( row, 30 ) ); - month.push_back( exdData->getField< uint8_t >( row, 31 ) ); - day.push_back( exdData->getField< uint8_t >( row, 32 ) ); - day.push_back( exdData->getField< uint8_t >( row, 33 ) ); - day.push_back( exdData->getField< uint8_t >( row, 34 ) ); - day.push_back( exdData->getField< uint8_t >( row, 35 ) ); - day.push_back( exdData->getField< uint8_t >( row, 36 ) ); - day.push_back( exdData->getField< uint8_t >( row, 37 ) ); - day.push_back( exdData->getField< uint8_t >( row, 38 ) ); - day.push_back( exdData->getField< uint8_t >( row, 39 ) ); - day.push_back( exdData->getField< uint8_t >( row, 40 ) ); - day.push_back( exdData->getField< uint8_t >( row, 41 ) ); - day.push_back( exdData->getField< uint8_t >( row, 42 ) ); - day.push_back( exdData->getField< uint8_t >( row, 43 ) ); - day.push_back( exdData->getField< uint8_t >( row, 44 ) ); - day.push_back( exdData->getField< uint8_t >( row, 45 ) ); - day.push_back( exdData->getField< uint8_t >( row, 46 ) ); - day.push_back( exdData->getField< uint8_t >( row, 47 ) ); - day.push_back( exdData->getField< uint8_t >( row, 48 ) ); - day.push_back( exdData->getField< uint8_t >( row, 49 ) ); - day.push_back( exdData->getField< uint8_t >( row, 50 ) ); - day.push_back( exdData->getField< uint8_t >( row, 51 ) ); - day.push_back( exdData->getField< uint8_t >( row, 52 ) ); - day.push_back( exdData->getField< uint8_t >( row, 53 ) ); - day.push_back( exdData->getField< uint8_t >( row, 54 ) ); - day.push_back( exdData->getField< uint8_t >( row, 55 ) ); - day.push_back( exdData->getField< uint8_t >( row, 56 ) ); - day.push_back( exdData->getField< uint8_t >( row, 57 ) ); - day.push_back( exdData->getField< uint8_t >( row, 58 ) ); - day.push_back( exdData->getField< uint8_t >( row, 59 ) ); - day.push_back( exdData->getField< uint8_t >( row, 60 ) ); - day.push_back( exdData->getField< uint8_t >( row, 61 ) ); - day.push_back( exdData->getField< uint8_t >( row, 62 ) ); - day.push_back( exdData->getField< uint8_t >( row, 63 ) ); + auto row = exdData->m_CalendarDat.get_row( row_id ); + month.push_back( exdData->getField< uint8_t >( row, 0 ) ); + month.push_back( exdData->getField< uint8_t >( row, 1 ) ); + month.push_back( exdData->getField< uint8_t >( row, 2 ) ); + month.push_back( exdData->getField< uint8_t >( row, 3 ) ); + month.push_back( exdData->getField< uint8_t >( row, 4 ) ); + month.push_back( exdData->getField< uint8_t >( row, 5 ) ); + month.push_back( exdData->getField< uint8_t >( row, 6 ) ); + month.push_back( exdData->getField< uint8_t >( row, 7 ) ); + month.push_back( exdData->getField< uint8_t >( row, 8 ) ); + month.push_back( exdData->getField< uint8_t >( row, 9 ) ); + month.push_back( exdData->getField< uint8_t >( row, 10 ) ); + month.push_back( exdData->getField< uint8_t >( row, 11 ) ); + month.push_back( exdData->getField< uint8_t >( row, 12 ) ); + month.push_back( exdData->getField< uint8_t >( row, 13 ) ); + month.push_back( exdData->getField< uint8_t >( row, 14 ) ); + month.push_back( exdData->getField< uint8_t >( row, 15 ) ); + month.push_back( exdData->getField< uint8_t >( row, 16 ) ); + month.push_back( exdData->getField< uint8_t >( row, 17 ) ); + month.push_back( exdData->getField< uint8_t >( row, 18 ) ); + month.push_back( exdData->getField< uint8_t >( row, 19 ) ); + month.push_back( exdData->getField< uint8_t >( row, 20 ) ); + month.push_back( exdData->getField< uint8_t >( row, 21 ) ); + month.push_back( exdData->getField< uint8_t >( row, 22 ) ); + month.push_back( exdData->getField< uint8_t >( row, 23 ) ); + month.push_back( exdData->getField< uint8_t >( row, 24 ) ); + month.push_back( exdData->getField< uint8_t >( row, 25 ) ); + month.push_back( exdData->getField< uint8_t >( row, 26 ) ); + month.push_back( exdData->getField< uint8_t >( row, 27 ) ); + month.push_back( exdData->getField< uint8_t >( row, 28 ) ); + month.push_back( exdData->getField< uint8_t >( row, 29 ) ); + month.push_back( exdData->getField< uint8_t >( row, 30 ) ); + month.push_back( exdData->getField< uint8_t >( row, 31 ) ); + day.push_back( exdData->getField< uint8_t >( row, 32 ) ); + day.push_back( exdData->getField< uint8_t >( row, 33 ) ); + day.push_back( exdData->getField< uint8_t >( row, 34 ) ); + day.push_back( exdData->getField< uint8_t >( row, 35 ) ); + day.push_back( exdData->getField< uint8_t >( row, 36 ) ); + day.push_back( exdData->getField< uint8_t >( row, 37 ) ); + day.push_back( exdData->getField< uint8_t >( row, 38 ) ); + day.push_back( exdData->getField< uint8_t >( row, 39 ) ); + day.push_back( exdData->getField< uint8_t >( row, 40 ) ); + day.push_back( exdData->getField< uint8_t >( row, 41 ) ); + day.push_back( exdData->getField< uint8_t >( row, 42 ) ); + day.push_back( exdData->getField< uint8_t >( row, 43 ) ); + day.push_back( exdData->getField< uint8_t >( row, 44 ) ); + day.push_back( exdData->getField< uint8_t >( row, 45 ) ); + day.push_back( exdData->getField< uint8_t >( row, 46 ) ); + day.push_back( exdData->getField< uint8_t >( row, 47 ) ); + day.push_back( exdData->getField< uint8_t >( row, 48 ) ); + day.push_back( exdData->getField< uint8_t >( row, 49 ) ); + day.push_back( exdData->getField< uint8_t >( row, 50 ) ); + day.push_back( exdData->getField< uint8_t >( row, 51 ) ); + day.push_back( exdData->getField< uint8_t >( row, 52 ) ); + day.push_back( exdData->getField< uint8_t >( row, 53 ) ); + day.push_back( exdData->getField< uint8_t >( row, 54 ) ); + day.push_back( exdData->getField< uint8_t >( row, 55 ) ); + day.push_back( exdData->getField< uint8_t >( row, 56 ) ); + day.push_back( exdData->getField< uint8_t >( row, 57 ) ); + day.push_back( exdData->getField< uint8_t >( row, 58 ) ); + day.push_back( exdData->getField< uint8_t >( row, 59 ) ); + day.push_back( exdData->getField< uint8_t >( row, 60 ) ); + day.push_back( exdData->getField< uint8_t >( row, 61 ) ); + day.push_back( exdData->getField< uint8_t >( row, 62 ) ); + day.push_back( exdData->getField< uint8_t >( row, 63 ) ); } Core::Data::CharaMakeCustomize::CharaMakeCustomize( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CharaMakeCustomizeDat.get_row( row_id ); - icon = exdData->getField< uint32_t >( row, 1 ); - data = exdData->getField< uint16_t >( row, 2 ); - isPurchasable = exdData->getField< bool >( row, 3 ); + auto row = exdData->m_CharaMakeCustomizeDat.get_row( row_id ); + icon = exdData->getField< uint32_t >( row, 1 ); + data = exdData->getField< uint16_t >( row, 2 ); + isPurchasable = exdData->getField< bool >( row, 3 ); } Core::Data::CharaMakeType::CharaMakeType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CharaMakeTypeDat.get_row( row_id ); - 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 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3296 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3297 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3298 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3299 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3300 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3301 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3302 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3303 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3304 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3305 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3306 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3307 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3308 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3309 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3310 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3311 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3312 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3313 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3314 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3315 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3316 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3317 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3318 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3319 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3320 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3321 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3322 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3323 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3324 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3325 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3326 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3327 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3328 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3329 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3330 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3331 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3332 ) ); + auto row = exdData->m_CharaMakeTypeDat.get_row( row_id ); + 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 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3296 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3297 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3298 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3299 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3300 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3301 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3302 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3303 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3304 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3305 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3306 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3307 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3308 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3309 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3310 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3311 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3312 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3313 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3314 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3315 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3316 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3317 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3318 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3319 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3320 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3321 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3322 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3323 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3324 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3325 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3326 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3327 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3328 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3329 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3330 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3331 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 3332 ) ); } Core::Data::ChocoboRace::ChocoboRace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ChocoboRaceDat.get_row( row_id ); - chocoboRaceRank = exdData->getField< uint8_t >( row, 0 ); - chocoboRaceTerritory = exdData->getField< uint8_t >( row, 1 ); + auto row = exdData->m_ChocoboRaceDat.get_row( row_id ); + chocoboRaceRank = exdData->getField< uint8_t >( row, 0 ); + chocoboRaceTerritory = exdData->getField< uint8_t >( row, 1 ); } Core::Data::ChocoboRaceAbility::ChocoboRaceAbility( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ChocoboRaceAbilityDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - icon = exdData->getField< uint32_t >( row, 2 ); - chocoboRaceAbilityType = exdData->getField< int8_t >( row, 3 ); - value = exdData->getField< uint8_t >( row, 4 ); + auto row = exdData->m_ChocoboRaceAbilityDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + icon = exdData->getField< uint32_t >( row, 2 ); + chocoboRaceAbilityType = exdData->getField< int8_t >( row, 3 ); + value = exdData->getField< uint8_t >( row, 4 ); } Core::Data::ChocoboRaceAbilityType::ChocoboRaceAbilityType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ChocoboRaceAbilityTypeDat.get_row( row_id ); - isActive = exdData->getField< bool >( row, 0 ); + auto row = exdData->m_ChocoboRaceAbilityTypeDat.get_row( row_id ); + isActive = exdData->getField< bool >( row, 0 ); } Core::Data::ChocoboRaceItem::ChocoboRaceItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ChocoboRaceItemDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - icon = exdData->getField< uint32_t >( row, 2 ); + auto row = exdData->m_ChocoboRaceItemDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + icon = exdData->getField< uint32_t >( row, 2 ); } Core::Data::ChocoboRaceRank::ChocoboRaceRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ChocoboRaceRankDat.get_row( row_id ); - ratingMin = exdData->getField< uint16_t >( row, 0 ); - ratingMax = exdData->getField< uint16_t >( row, 1 ); - name = exdData->getField< uint16_t >( row, 2 ); - fee = exdData->getField< uint16_t >( row, 3 ); - icon = exdData->getField< int32_t >( row, 4 ); + auto row = exdData->m_ChocoboRaceRankDat.get_row( row_id ); + ratingMin = exdData->getField< uint16_t >( row, 0 ); + ratingMax = exdData->getField< uint16_t >( row, 1 ); + name = exdData->getField< uint16_t >( row, 2 ); + fee = exdData->getField< uint16_t >( row, 3 ); + icon = exdData->getField< int32_t >( row, 4 ); } Core::Data::ChocoboRaceStatus::ChocoboRaceStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ChocoboRaceStatusDat.get_row( row_id ); - status = exdData->getField< int32_t >( row, 0 ); + auto row = exdData->m_ChocoboRaceStatusDat.get_row( row_id ); + status = exdData->getField< int32_t >( row, 0 ); } Core::Data::ChocoboRaceTerritory::ChocoboRaceTerritory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ChocoboRaceTerritoryDat.get_row( row_id ); - name = exdData->getField< uint16_t >( row, 0 ); - icon = exdData->getField< int32_t >( row, 1 ); + auto row = exdData->m_ChocoboRaceTerritoryDat.get_row( row_id ); + name = exdData->getField< uint16_t >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); +} + +Core::Data::ChocoboRaceTutorial::ChocoboRaceTutorial( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ChocoboRaceTutorialDat.get_row( row_id ); + npcYell.push_back( exdData->getField< int32_t >( row, 0 ) ); + npcYell.push_back( exdData->getField< int32_t >( row, 1 ) ); + npcYell.push_back( exdData->getField< int32_t >( row, 2 ) ); + npcYell.push_back( exdData->getField< int32_t >( row, 3 ) ); + npcYell.push_back( exdData->getField< int32_t >( row, 4 ) ); + npcYell.push_back( exdData->getField< int32_t >( row, 5 ) ); + npcYell.push_back( exdData->getField< int32_t >( row, 6 ) ); + npcYell.push_back( exdData->getField< int32_t >( row, 7 ) ); +} + +Core::Data::ChocoboRaceWeather::ChocoboRaceWeather( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ChocoboRaceWeatherDat.get_row( row_id ); + weatherType1 = exdData->getField< int32_t >( row, 0 ); + weatherType2 = exdData->getField< int32_t >( row, 1 ); } Core::Data::ChocoboTaxi::ChocoboTaxi( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ChocoboTaxiDat.get_row( row_id ); - location = exdData->getField< uint32_t >( row, 0 ); + auto row = exdData->m_ChocoboTaxiDat.get_row( row_id ); + location = exdData->getField< uint32_t >( row, 0 ); } Core::Data::ChocoboTaxiStand::ChocoboTaxiStand( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ChocoboTaxiStandDat.get_row( row_id ); - placeName = exdData->getField< std::string >( row, 8 ); + auto row = exdData->m_ChocoboTaxiStandDat.get_row( row_id ); + placeName = exdData->getField< std::string >( row, 8 ); } Core::Data::ClassJob::ClassJob( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ClassJobDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - abbreviation = exdData->getField< std::string >( row, 1 ); - classJobCategory = exdData->getField< uint8_t >( row, 3 ); - expArrayIndex = exdData->getField< int8_t >( row, 4 ); - modifierHitPoints = exdData->getField< uint16_t >( row, 9 ); - modifierManaPoints = exdData->getField< uint16_t >( row, 10 ); - modifierStrength = exdData->getField< uint16_t >( row, 11 ); - modifierVitality = exdData->getField< uint16_t >( row, 12 ); - modifierDexterity = exdData->getField< uint16_t >( row, 13 ); - modifierIntelligence = exdData->getField< uint16_t >( row, 14 ); - modifierMind = exdData->getField< uint16_t >( row, 15 ); - modifierPiety = exdData->getField< uint16_t >( row, 16 ); - classJobParent = exdData->getField< uint8_t >( row, 26 ); - nameEnglish = exdData->getField< std::string >( row, 27 ); - itemStartingWeapon = exdData->getField< int32_t >( row, 28 ); - limitBreak1 = exdData->getField< uint16_t >( row, 33 ); - limitBreak2 = exdData->getField< uint16_t >( row, 34 ); - limitBreak3 = exdData->getField< uint16_t >( row, 35 ); - itemSoulCrystal = exdData->getField< uint32_t >( row, 37 ); - unlockQuest = exdData->getField< uint32_t >( row, 38 ); - relicQuest = exdData->getField< uint32_t >( row, 39 ); - prerequisite = exdData->getField< uint32_t >( row, 40 ); - startingLevel = exdData->getField< uint8_t >( row, 41 ); + auto row = exdData->m_ClassJobDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + abbreviation = exdData->getField< std::string >( row, 1 ); + classJobCategory = exdData->getField< uint8_t >( row, 3 ); + expArrayIndex = exdData->getField< int8_t >( row, 4 ); + modifierHitPoints = exdData->getField< uint16_t >( row, 9 ); + modifierManaPoints = exdData->getField< uint16_t >( row, 10 ); + modifierStrength = exdData->getField< uint16_t >( row, 11 ); + modifierVitality = exdData->getField< uint16_t >( row, 12 ); + modifierDexterity = exdData->getField< uint16_t >( row, 13 ); + modifierIntelligence = exdData->getField< uint16_t >( row, 14 ); + modifierMind = exdData->getField< uint16_t >( row, 15 ); + modifierPiety = exdData->getField< uint16_t >( row, 16 ); + classJobParent = exdData->getField< uint8_t >( row, 26 ); + nameEnglish = exdData->getField< std::string >( row, 27 ); + itemStartingWeapon = exdData->getField< int32_t >( row, 28 ); + limitBreak1 = exdData->getField< uint16_t >( row, 33 ); + limitBreak2 = exdData->getField< uint16_t >( row, 34 ); + limitBreak3 = exdData->getField< uint16_t >( row, 35 ); + itemSoulCrystal = exdData->getField< uint32_t >( row, 37 ); + unlockQuest = exdData->getField< uint32_t >( row, 38 ); + relicQuest = exdData->getField< uint32_t >( row, 39 ); + prerequisite = exdData->getField< uint32_t >( row, 40 ); + startingLevel = exdData->getField< uint8_t >( row, 41 ); } Core::Data::ClassJobCategory::ClassJobCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ClassJobCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - aDV = exdData->getField< bool >( row, 1 ); - gLA = exdData->getField< bool >( row, 2 ); - pGL = exdData->getField< bool >( row, 3 ); - mRD = exdData->getField< bool >( row, 4 ); - lNC = exdData->getField< bool >( row, 5 ); - aRC = exdData->getField< bool >( row, 6 ); - cNJ = exdData->getField< bool >( row, 7 ); - tHM = exdData->getField< bool >( row, 8 ); - cRP = exdData->getField< bool >( row, 9 ); - bSM = exdData->getField< bool >( row, 10 ); - aRM = exdData->getField< bool >( row, 11 ); - gSM = exdData->getField< bool >( row, 12 ); - lTW = exdData->getField< bool >( row, 13 ); - wVR = exdData->getField< bool >( row, 14 ); - aLC = exdData->getField< bool >( row, 15 ); - cUL = exdData->getField< bool >( row, 16 ); - mIN = exdData->getField< bool >( row, 17 ); - bTN = exdData->getField< bool >( row, 18 ); - fSH = exdData->getField< bool >( row, 19 ); - pLD = exdData->getField< bool >( row, 20 ); - mNK = exdData->getField< bool >( row, 21 ); - wAR = exdData->getField< bool >( row, 22 ); - dRG = exdData->getField< bool >( row, 23 ); - bRD = exdData->getField< bool >( row, 24 ); - wHM = exdData->getField< bool >( row, 25 ); - bLM = exdData->getField< bool >( row, 26 ); - aCN = exdData->getField< bool >( row, 27 ); - sMN = exdData->getField< bool >( row, 28 ); - sCH = exdData->getField< bool >( row, 29 ); - rOG = exdData->getField< bool >( row, 30 ); - nIN = exdData->getField< bool >( row, 31 ); - mCH = exdData->getField< bool >( row, 32 ); - dRK = exdData->getField< bool >( row, 33 ); - aST = exdData->getField< bool >( row, 34 ); - sAM = exdData->getField< bool >( row, 35 ); - rDM = exdData->getField< bool >( row, 36 ); + auto row = exdData->m_ClassJobCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + aDV = exdData->getField< bool >( row, 1 ); + gLA = exdData->getField< bool >( row, 2 ); + pGL = exdData->getField< bool >( row, 3 ); + mRD = exdData->getField< bool >( row, 4 ); + lNC = exdData->getField< bool >( row, 5 ); + aRC = exdData->getField< bool >( row, 6 ); + cNJ = exdData->getField< bool >( row, 7 ); + tHM = exdData->getField< bool >( row, 8 ); + cRP = exdData->getField< bool >( row, 9 ); + bSM = exdData->getField< bool >( row, 10 ); + aRM = exdData->getField< bool >( row, 11 ); + gSM = exdData->getField< bool >( row, 12 ); + lTW = exdData->getField< bool >( row, 13 ); + wVR = exdData->getField< bool >( row, 14 ); + aLC = exdData->getField< bool >( row, 15 ); + cUL = exdData->getField< bool >( row, 16 ); + mIN = exdData->getField< bool >( row, 17 ); + bTN = exdData->getField< bool >( row, 18 ); + fSH = exdData->getField< bool >( row, 19 ); + pLD = exdData->getField< bool >( row, 20 ); + mNK = exdData->getField< bool >( row, 21 ); + wAR = exdData->getField< bool >( row, 22 ); + dRG = exdData->getField< bool >( row, 23 ); + bRD = exdData->getField< bool >( row, 24 ); + wHM = exdData->getField< bool >( row, 25 ); + bLM = exdData->getField< bool >( row, 26 ); + aCN = exdData->getField< bool >( row, 27 ); + sMN = exdData->getField< bool >( row, 28 ); + sCH = exdData->getField< bool >( row, 29 ); + rOG = exdData->getField< bool >( row, 30 ); + nIN = exdData->getField< bool >( row, 31 ); + mCH = exdData->getField< bool >( row, 32 ); + dRK = exdData->getField< bool >( row, 33 ); + aST = exdData->getField< bool >( row, 34 ); + sAM = exdData->getField< bool >( row, 35 ); + rDM = exdData->getField< bool >( row, 36 ); } Core::Data::Companion::Companion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanionDat.get_row( row_id ); - singular = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - behavior = exdData->getField< uint8_t >( row, 14 ); - icon = exdData->getField< uint16_t >( row, 26 ); - cost = exdData->getField< uint8_t >( row, 30 ); - hP = exdData->getField< uint16_t >( row, 31 ); - skillAngle = exdData->getField< uint16_t >( row, 33 ); - skillCost = exdData->getField< uint8_t >( row, 34 ); - minionRace = exdData->getField< uint8_t >( row, 37 ); + auto row = exdData->m_CompanionDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + rarity = exdData->getField< int8_t >( row, 5 ); + behavior = exdData->getField< uint8_t >( row, 14 ); + icon = exdData->getField< uint16_t >( row, 26 ); + cost = exdData->getField< uint8_t >( row, 30 ); + hP = exdData->getField< uint16_t >( row, 31 ); + skillAngle = exdData->getField< uint16_t >( row, 33 ); + skillCost = exdData->getField< uint8_t >( row, 34 ); + minionRace = exdData->getField< uint8_t >( row, 37 ); } Core::Data::CompanionMove::CompanionMove( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanionMoveDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_CompanionMoveDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::CompanionTransient::CompanionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanionTransientDat.get_row( row_id ); - description = exdData->getField< std::string >( row, 0 ); - descriptionEnhanced = exdData->getField< std::string >( row, 1 ); - tooltip = exdData->getField< std::string >( row, 2 ); - specialActionName = exdData->getField< std::string >( row, 3 ); - specialActionDescription = exdData->getField< std::string >( row, 4 ); - attack = exdData->getField< uint8_t >( row, 5 ); - defense = exdData->getField< uint8_t >( row, 6 ); - speed = exdData->getField< uint8_t >( row, 7 ); - hasAreaAttack = exdData->getField< bool >( row, 8 ); - strengthGate = exdData->getField< bool >( row, 9 ); - strengthEye = exdData->getField< bool >( row, 10 ); - strengthShield = exdData->getField< bool >( row, 11 ); - strengthArcana = exdData->getField< bool >( row, 12 ); - minionSkillType = exdData->getField< uint8_t >( row, 13 ); + auto row = exdData->m_CompanionTransientDat.get_row( row_id ); + description = exdData->getField< std::string >( row, 0 ); + descriptionEnhanced = exdData->getField< std::string >( row, 1 ); + tooltip = exdData->getField< std::string >( row, 2 ); + specialActionName = exdData->getField< std::string >( row, 3 ); + specialActionDescription = exdData->getField< std::string >( row, 4 ); + attack = exdData->getField< uint8_t >( row, 5 ); + defense = exdData->getField< uint8_t >( row, 6 ); + speed = exdData->getField< uint8_t >( row, 7 ); + hasAreaAttack = exdData->getField< bool >( row, 8 ); + strengthGate = exdData->getField< bool >( row, 9 ); + strengthEye = exdData->getField< bool >( row, 10 ); + strengthShield = exdData->getField< bool >( row, 11 ); + strengthArcana = exdData->getField< bool >( row, 12 ); + minionSkillType = exdData->getField< uint8_t >( row, 13 ); } Core::Data::CompanyAction::CompanyAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanyActionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - icon = exdData->getField< int32_t >( row, 2 ); - fCRank = exdData->getField< uint8_t >( row, 3 ); - cost = exdData->getField< uint32_t >( row, 4 ); - order = exdData->getField< uint8_t >( row, 5 ); - purchasable = exdData->getField< bool >( row, 6 ); + auto row = exdData->m_CompanyActionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + icon = exdData->getField< int32_t >( row, 2 ); + fCRank = exdData->getField< uint8_t >( row, 3 ); + cost = exdData->getField< uint32_t >( row, 4 ); + order = exdData->getField< uint8_t >( row, 5 ); + purchasable = exdData->getField< bool >( row, 6 ); } Core::Data::CompanyCraftDraft::CompanyCraftDraft( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanyCraftDraftDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - companyCraftDraftCategory = exdData->getField< uint8_t >( row, 1 ); - order = exdData->getField< uint32_t >( row, 8 ); + auto row = exdData->m_CompanyCraftDraftDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + companyCraftDraftCategory = exdData->getField< uint8_t >( row, 1 ); + order = exdData->getField< uint32_t >( row, 8 ); } -Core::Data::CompanyCraftDraftCategory::CompanyCraftDraftCategory( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::CompanyCraftDraftCategory::CompanyCraftDraftCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanyCraftDraftCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_CompanyCraftDraftCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } -Core::Data::CompanyCraftManufactoryState::CompanyCraftManufactoryState( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::CompanyCraftManufactoryState::CompanyCraftManufactoryState( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanyCraftManufactoryStateDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_CompanyCraftManufactoryStateDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::CompanyCraftPart::CompanyCraftPart( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanyCraftPartDat.get_row( row_id ); - companyCraftType = exdData->getField< uint8_t >( row, 1 ); - companyCraftProcess.push_back( exdData->getField< uint16_t >( row, 2 ) ); - companyCraftProcess.push_back( exdData->getField< uint16_t >( row, 3 ) ); - companyCraftProcess.push_back( exdData->getField< uint16_t >( row, 4 ) ); + auto row = exdData->m_CompanyCraftPartDat.get_row( row_id ); + companyCraftType = exdData->getField< uint8_t >( row, 1 ); + companyCraftProcess.push_back( exdData->getField< uint16_t >( row, 2 ) ); + companyCraftProcess.push_back( exdData->getField< uint16_t >( row, 3 ) ); + companyCraftProcess.push_back( exdData->getField< uint16_t >( row, 4 ) ); } Core::Data::CompanyCraftProcess::CompanyCraftProcess( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanyCraftProcessDat.get_row( row_id ); + auto row = exdData->m_CompanyCraftProcessDat.get_row( row_id ); } Core::Data::CompanyCraftSequence::CompanyCraftSequence( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanyCraftSequenceDat.get_row( row_id ); - resultItem = exdData->getField< int32_t >( row, 0 ); - companyCraftDraftCategory = exdData->getField< int32_t >( row, 2 ); - companyCraftType = exdData->getField< int32_t >( row, 3 ); - companyCraftDraft = exdData->getField< int32_t >( row, 4 ); - companyCraftPart.push_back( exdData->getField< uint16_t >( row, 5 ) ); - companyCraftPart.push_back( exdData->getField< uint16_t >( row, 6 ) ); - companyCraftPart.push_back( exdData->getField< uint16_t >( row, 7 ) ); - companyCraftPart.push_back( exdData->getField< uint16_t >( row, 8 ) ); - companyCraftPart.push_back( exdData->getField< uint16_t >( row, 9 ) ); - companyCraftPart.push_back( exdData->getField< uint16_t >( row, 10 ) ); - companyCraftPart.push_back( exdData->getField< uint16_t >( row, 11 ) ); - companyCraftPart.push_back( exdData->getField< uint16_t >( row, 12 ) ); + auto row = exdData->m_CompanyCraftSequenceDat.get_row( row_id ); + resultItem = exdData->getField< int32_t >( row, 0 ); + companyCraftDraftCategory = exdData->getField< int32_t >( row, 2 ); + companyCraftType = exdData->getField< int32_t >( row, 3 ); + companyCraftDraft = exdData->getField< int32_t >( row, 4 ); + companyCraftPart.push_back( exdData->getField< uint16_t >( row, 5 ) ); + companyCraftPart.push_back( exdData->getField< uint16_t >( row, 6 ) ); + companyCraftPart.push_back( exdData->getField< uint16_t >( row, 7 ) ); + companyCraftPart.push_back( exdData->getField< uint16_t >( row, 8 ) ); + companyCraftPart.push_back( exdData->getField< uint16_t >( row, 9 ) ); + companyCraftPart.push_back( exdData->getField< uint16_t >( row, 10 ) ); + companyCraftPart.push_back( exdData->getField< uint16_t >( row, 11 ) ); + companyCraftPart.push_back( exdData->getField< uint16_t >( row, 12 ) ); } Core::Data::CompanyCraftSupplyItem::CompanyCraftSupplyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanyCraftSupplyItemDat.get_row( row_id ); - item = exdData->getField< uint32_t >( row, 0 ); + auto row = exdData->m_CompanyCraftSupplyItemDat.get_row( row_id ); + item = exdData->getField< uint32_t >( row, 0 ); } Core::Data::CompanyCraftType::CompanyCraftType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompanyCraftTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_CompanyCraftTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::CompleteJournal::CompleteJournal( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompleteJournalDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 5 ); - cutscene.push_back( exdData->getField< int32_t >( row, 6 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 7 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 8 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 9 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 10 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 11 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 12 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 13 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 14 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 15 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 16 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 17 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 18 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 19 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 20 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 21 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 22 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 23 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 24 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 25 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 26 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 27 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 28 ) ); - cutscene.push_back( exdData->getField< int32_t >( row, 29 ) ); + auto row = exdData->m_CompleteJournalDat.get_row( row_id ); + requiredLevel = exdData->getField< uint16_t >( row, 1 ); + icon = exdData->getField< int32_t >( row, 3 ); + name = exdData->getField< std::string >( row, 5 ); + cutscene.push_back( exdData->getField< int32_t >( row, 6 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 7 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 8 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 9 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 10 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 11 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 12 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 13 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 14 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 15 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 16 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 17 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 18 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 19 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 20 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 21 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 22 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 23 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 24 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 25 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 26 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 27 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 28 ) ); + cutscene.push_back( exdData->getField< int32_t >( row, 29 ) ); } Core::Data::CompleteJournalCategory::CompleteJournalCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CompleteJournalCategoryDat.get_row( row_id ); - firstQuest = exdData->getField< uint32_t >( row, 0 ); - lastQuest = exdData->getField< uint32_t >( row, 1 ); + auto row = exdData->m_CompleteJournalCategoryDat.get_row( row_id ); + firstQuest = exdData->getField< uint32_t >( row, 0 ); + lastQuest = exdData->getField< uint32_t >( row, 1 ); +} + +Core::Data::ContentCloseCycle::ContentCloseCycle( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ContentCloseCycleDat.get_row( row_id ); + unixtime = exdData->getField< uint32_t >( row, 0 ); + timeSeconds = exdData->getField< uint32_t >( row, 1 ); } Core::Data::ContentExAction::ContentExAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ContentExActionDat.get_row( row_id ); - name = exdData->getField< uint32_t >( row, 0 ); - charges = exdData->getField< uint8_t >( row, 2 ); + auto row = exdData->m_ContentExActionDat.get_row( row_id ); + name = exdData->getField< uint32_t >( row, 0 ); + charges = exdData->getField< uint8_t >( row, 2 ); } Core::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ContentFinderConditionDat.get_row( row_id ); - instanceContent = exdData->getField< uint16_t >( row, 3 ); - contentMemberType = exdData->getField< uint8_t >( row, 9 ); - classJobLevelRequired = exdData->getField< uint8_t >( row, 15 ); - classJobLevelSync = exdData->getField< uint8_t >( row, 16 ); - itemLevelRequired = exdData->getField< uint16_t >( row, 17 ); - itemLevelSync = exdData->getField< uint16_t >( row, 18 ); - contentIndicator = exdData->getField< uint8_t >( row, 24 ); - contentType = exdData->getField< uint8_t >( row, 33 ); - icon = exdData->getField< uint32_t >( row, 37 ); + auto row = exdData->m_ContentFinderConditionDat.get_row( row_id ); + territoryType = exdData->getField< uint16_t >( row, 1 ); + contentLinkType = exdData->getField< uint8_t >( row, 2 ); + content = exdData->getField< uint16_t >( row, 3 ); + contentMemberType = exdData->getField< uint8_t >( row, 9 ); + classJobLevelRequired = exdData->getField< uint8_t >( row, 15 ); + classJobLevelSync = exdData->getField< uint8_t >( row, 16 ); + itemLevelRequired = exdData->getField< uint16_t >( row, 17 ); + itemLevelSync = exdData->getField< uint16_t >( row, 18 ); + allowReplacement = exdData->getField< bool >( row, 20 ); + highEndDuty = exdData->getField< bool >( row, 26 ); + name = exdData->getField< std::string >( row, 32 ); + contentType = exdData->getField< uint8_t >( row, 33 ); + transient = exdData->getField< uint8_t >( row, 34 ); + image = exdData->getField< uint32_t >( row, 37 ); } -Core::Data::ContentFinderConditionTransient::ContentFinderConditionTransient( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::ContentFinderConditionTransient::ContentFinderConditionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ContentFinderConditionTransientDat.get_row( row_id ); - description = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_ContentFinderConditionTransientDat.get_row( row_id ); + description = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::ContentGauge::ContentGauge( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ContentGaugeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + color = exdData->getField< uint8_t >( row, 1 ); + textString = exdData->getField< std::string >( row, 3 ); +} + +Core::Data::ContentGaugeColor::ContentGaugeColor( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ContentGaugeColorDat.get_row( row_id ); + androidColor1 = exdData->getField< uint32_t >( row, 0 ); + androidColor2 = exdData->getField< uint32_t >( row, 1 ); + androidColor3 = exdData->getField< uint32_t >( row, 2 ); } Core::Data::ContentMemberType::ContentMemberType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ContentMemberTypeDat.get_row( row_id ); - tanksPerParty = exdData->getField< uint8_t >( row, 9 ); - healersPerParty = exdData->getField< uint8_t >( row, 10 ); - meleesPerParty = exdData->getField< uint8_t >( row, 11 ); - rangedPerParty = exdData->getField< uint8_t >( row, 12 ); + auto row = exdData->m_ContentMemberTypeDat.get_row( row_id ); + tanksPerParty = exdData->getField< uint8_t >( row, 9 ); + healersPerParty = exdData->getField< uint8_t >( row, 10 ); + meleesPerParty = exdData->getField< uint8_t >( row, 11 ); + rangedPerParty = exdData->getField< uint8_t >( row, 12 ); } Core::Data::ContentNpcTalk::ContentNpcTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ContentNpcTalkDat.get_row( row_id ); - contentTalk.push_back( exdData->getField< uint32_t >( row, 1 ) ); - contentTalk.push_back( exdData->getField< uint32_t >( row, 2 ) ); - contentTalk.push_back( exdData->getField< uint32_t >( row, 3 ) ); - contentTalk.push_back( exdData->getField< uint32_t >( row, 4 ) ); - contentTalk.push_back( exdData->getField< uint32_t >( row, 5 ) ); - contentTalk.push_back( exdData->getField< uint32_t >( row, 6 ) ); - contentTalk.push_back( exdData->getField< uint32_t >( row, 7 ) ); - contentTalk.push_back( exdData->getField< uint32_t >( row, 8 ) ); + auto row = exdData->m_ContentNpcTalkDat.get_row( row_id ); + contentTalk.push_back( exdData->getField< uint32_t >( row, 1 ) ); + contentTalk.push_back( exdData->getField< uint32_t >( row, 2 ) ); + contentTalk.push_back( exdData->getField< uint32_t >( row, 3 ) ); + contentTalk.push_back( exdData->getField< uint32_t >( row, 4 ) ); + contentTalk.push_back( exdData->getField< uint32_t >( row, 5 ) ); + contentTalk.push_back( exdData->getField< uint32_t >( row, 6 ) ); + contentTalk.push_back( exdData->getField< uint32_t >( row, 7 ) ); + contentTalk.push_back( exdData->getField< uint32_t >( row, 8 ) ); } Core::Data::ContentRoulette::ContentRoulette( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ContentRouletteDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 2 ); - dutyType = exdData->getField< std::string >( row, 3 ); - isInDutyFinder = exdData->getField< bool >( row, 6 ); - itemLevelRequired = exdData->getField< uint16_t >( row, 11 ); - icon = exdData->getField< uint32_t >( row, 13 ); - rewardTomeA = exdData->getField< uint16_t >( row, 15 ); - rewardTomeB = exdData->getField< uint16_t >( row, 16 ); - rewardTomeC = exdData->getField< uint16_t >( row, 17 ); - sortKey = exdData->getField< uint8_t >( row, 20 ); - contentMemberType = exdData->getField< uint8_t >( row, 22 ); - requireAllDuties = exdData->getField< bool >( row, 32 ); + auto row = exdData->m_ContentRouletteDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 2 ); + dutyType = exdData->getField< std::string >( row, 3 ); + isInDutyFinder = exdData->getField< bool >( row, 6 ); + openRule = exdData->getField< uint8_t >( row, 7 ); + requiredLevel = exdData->getField< uint8_t >( row, 9 ); + itemLevelRequired = exdData->getField< uint16_t >( row, 11 ); + icon = exdData->getField< uint32_t >( row, 13 ); + contentRouletteRoleBonus = exdData->getField< uint8_t >( row, 14 ); + rewardTomeA = exdData->getField< uint16_t >( row, 15 ); + rewardTomeB = exdData->getField< uint16_t >( row, 16 ); + rewardTomeC = exdData->getField< uint16_t >( row, 17 ); + sortKey = exdData->getField< uint8_t >( row, 20 ); + contentMemberType = exdData->getField< uint8_t >( row, 22 ); + requireAllDuties = exdData->getField< bool >( row, 32 ); + contentRouletteOpenRule = exdData->getField< uint8_t >( row, 34 ); + instanceContent = exdData->getField< uint16_t >( row, 35 ); +} + +Core::Data::ContentRouletteOpenRule::ContentRouletteOpenRule( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ContentRouletteOpenRuleDat.get_row( row_id ); + type = exdData->getField< uint32_t >( row, 1 ); +} + +Core::Data::ContentRouletteRoleBonus::ContentRouletteRoleBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ContentRouletteRoleBonusDat.get_row( row_id ); + itemRewardType = exdData->getField< uint32_t >( row, 6 ); + rewardAmount = exdData->getField< uint8_t >( row, 7 ); } Core::Data::ContentsNote::ContentsNote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ContentsNoteDat.get_row( row_id ); - contentType = exdData->getField< uint8_t >( row, 0 ); - requiredAmount = exdData->getField< int32_t >( row, 2 ); -} - -Core::Data::ContentsNoteCategory::ContentsNoteCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) -{ - auto row = exdData->m_ContentsNoteCategoryDat.get_row( row_id ); - type = exdData->getField< uint8_t >( row, 1 ); + auto row = exdData->m_ContentsNoteDat.get_row( row_id ); + contentType = exdData->getField< uint8_t >( row, 0 ); + menuOrder = exdData->getField< uint8_t >( row, 2 ); + requiredAmount = exdData->getField< int32_t >( row, 3 ); + expMultiplier = exdData->getField< int32_t >( row, 5 ); + gilRward = exdData->getField< int32_t >( row, 7 ); + levelUnlock = exdData->getField< uint16_t >( row, 8 ); + howTo = exdData->getField< uint16_t >( row, 9 ); + name = exdData->getField< std::string >( row, 11 ); + description = exdData->getField< std::string >( row, 12 ); + expCap = exdData->getField< int32_t >( row, 13 ); } Core::Data::ContentTalk::ContentTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ContentTalkDat.get_row( row_id ); - contentTalkParam = exdData->getField< uint8_t >( row, 0 ); - text = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_ContentTalkDat.get_row( row_id ); + contentTalkParam = exdData->getField< uint8_t >( row, 0 ); + text = exdData->getField< std::string >( row, 1 ); } Core::Data::ContentTalkParam::ContentTalkParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ContentTalkParamDat.get_row( row_id ); - param = exdData->getField< bool >( row, 0 ); - testAction = exdData->getField< uint32_t >( row, 2 ); + auto row = exdData->m_ContentTalkParamDat.get_row( row_id ); + param = exdData->getField< bool >( row, 0 ); + testAction = exdData->getField< uint32_t >( row, 2 ); } Core::Data::ContentType::ContentType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ContentTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - icon = exdData->getField< uint32_t >( row, 1 ); - iconDutyFinder = exdData->getField< uint32_t >( row, 2 ); + auto row = exdData->m_ContentTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< uint32_t >( row, 1 ); + iconDutyFinder = exdData->getField< uint32_t >( row, 2 ); } Core::Data::CraftAction::CraftAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CraftActionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - animationStart = exdData->getField< uint16_t >( row, 2 ); - animationEnd = exdData->getField< uint16_t >( row, 3 ); - icon = exdData->getField< uint16_t >( row, 4 ); - classJob = exdData->getField< int8_t >( row, 5 ); - classJobCategory = exdData->getField< uint8_t >( row, 6 ); - classJobLevel = exdData->getField< uint8_t >( row, 7 ); - questRequirement = exdData->getField< uint32_t >( row, 8 ); - specialist = exdData->getField< bool >( row, 9 ); - cost = exdData->getField< uint8_t >( row, 11 ); - cRP = exdData->getField< int32_t >( row, 12 ); - bSM = exdData->getField< int32_t >( row, 13 ); - aRM = exdData->getField< int32_t >( row, 14 ); - gSM = exdData->getField< int32_t >( row, 15 ); - lTW = exdData->getField< int32_t >( row, 16 ); - wVR = exdData->getField< int32_t >( row, 17 ); - aLC = exdData->getField< int32_t >( row, 18 ); - cUL = exdData->getField< int32_t >( row, 19 ); + auto row = exdData->m_CraftActionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + animationStart = exdData->getField< uint16_t >( row, 2 ); + animationEnd = exdData->getField< uint16_t >( row, 3 ); + icon = exdData->getField< uint16_t >( row, 4 ); + classJob = exdData->getField< int8_t >( row, 5 ); + classJobCategory = exdData->getField< uint8_t >( row, 6 ); + classJobLevel = exdData->getField< uint8_t >( row, 7 ); + questRequirement = exdData->getField< uint32_t >( row, 8 ); + specialist = exdData->getField< bool >( row, 9 ); + cost = exdData->getField< uint8_t >( row, 11 ); + cRP = exdData->getField< int32_t >( row, 12 ); + bSM = exdData->getField< int32_t >( row, 13 ); + aRM = exdData->getField< int32_t >( row, 14 ); + gSM = exdData->getField< int32_t >( row, 15 ); + lTW = exdData->getField< int32_t >( row, 16 ); + wVR = exdData->getField< int32_t >( row, 17 ); + aLC = exdData->getField< int32_t >( row, 18 ); + cUL = exdData->getField< int32_t >( row, 19 ); } Core::Data::CraftLeve::CraftLeve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CraftLeveDat.get_row( row_id ); - leve = exdData->getField< int32_t >( row, 0 ); - repeats = exdData->getField< uint8_t >( row, 2 ); + auto row = exdData->m_CraftLeveDat.get_row( row_id ); + leve = exdData->getField< int32_t >( row, 0 ); + craftLeveTalk = exdData->getField< int32_t >( row, 1 ); + repeats = exdData->getField< uint8_t >( row, 2 ); } Core::Data::CraftType::CraftType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CraftTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 2 ); + auto row = exdData->m_CraftTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 2 ); +} + +Core::Data::Credit::Credit( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CreditDat.get_row( row_id ); + roles1 = exdData->getField< uint16_t >( row, 1 ); + japaneseCast1 = exdData->getField< uint16_t >( row, 2 ); + englishCast1 = exdData->getField< uint16_t >( row, 3 ); + frenchCast1 = exdData->getField< uint16_t >( row, 4 ); + germanCast1 = exdData->getField< uint16_t >( row, 5 ); + roles2 = exdData->getField< uint16_t >( row, 6 ); + japaneseCast2 = exdData->getField< uint16_t >( row, 7 ); + englishCast2 = exdData->getField< uint16_t >( row, 8 ); + frenchCast2 = exdData->getField< uint16_t >( row, 9 ); + germanCast2 = exdData->getField< uint16_t >( row, 10 ); +} + +Core::Data::CreditCast::CreditCast( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CreditCastDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::Currency::Currency( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CurrencyDat.get_row( row_id ); - item = exdData->getField< uint32_t >( row, 0 ); - limit = exdData->getField< uint32_t >( row, 3 ); + auto row = exdData->m_CurrencyDat.get_row( row_id ); + item = exdData->getField< uint32_t >( row, 0 ); + limit = exdData->getField< uint32_t >( row, 3 ); } Core::Data::CustomTalk::CustomTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CustomTalkDat.get_row( row_id ); - iconActor = exdData->getField< uint32_t >( row, 0 ); - iconMap = exdData->getField< uint32_t >( row, 1 ); - name = exdData->getField< std::string >( row, 2 ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 3 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 4 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 5 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 6 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 7 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 8 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 9 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 10 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 11 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 12 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 13 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 14 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 15 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 16 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 17 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 18 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 19 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 20 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 21 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 22 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 23 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 24 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 25 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 26 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 27 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 28 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 29 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 30 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 31 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 32 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 33 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 34 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 35 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 36 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 37 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 38 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 39 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 40 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 41 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 42 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 43 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 44 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 45 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 46 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 47 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 48 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 49 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 50 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 51 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 52 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 53 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 54 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 55 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 56 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 57 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 58 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 59 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 60 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 61 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 62 ) ); - text = exdData->getField< bool >( row, 66 ); + auto row = exdData->m_CustomTalkDat.get_row( row_id ); + iconActor = exdData->getField< uint32_t >( row, 0 ); + iconMap = exdData->getField< uint32_t >( row, 1 ); + name = exdData->getField< std::string >( row, 2 ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 3 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 4 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 5 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 6 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 7 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 8 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 9 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 10 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 11 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 12 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 13 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 14 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 15 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 16 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 17 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 18 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 19 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 20 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 21 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 22 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 23 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 24 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 25 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 26 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 27 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 28 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 29 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 30 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 31 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 32 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 33 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 34 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 35 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 36 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 37 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 38 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 39 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 40 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 41 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 42 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 43 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 44 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 45 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 46 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 47 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 48 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 49 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 50 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 51 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 52 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 53 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 54 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 55 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 56 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 57 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 58 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 59 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 60 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 61 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 62 ) ); + text = exdData->getField< bool >( row, 66 ); } Core::Data::Cutscene::Cutscene( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CutsceneDat.get_row( row_id ); - path = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_CutsceneDat.get_row( row_id ); + path = exdData->getField< std::string >( row, 0 ); } Core::Data::CutScreenImage::CutScreenImage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_CutScreenImageDat.get_row( row_id ); - image = exdData->getField< int32_t >( row, 1 ); + auto row = exdData->m_CutScreenImageDat.get_row( row_id ); + image = exdData->getField< int32_t >( row, 1 ); } Core::Data::DailySupplyItem::DailySupplyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DailySupplyItemDat.get_row( row_id ); + auto row = exdData->m_DailySupplyItemDat.get_row( row_id ); +} + +Core::Data::DeepDungeon::DeepDungeon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DeepDungeonDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 22 ); } Core::Data::DeepDungeonBan::DeepDungeonBan( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DeepDungeonBanDat.get_row( row_id ); - screenImage = exdData->getField< uint16_t >( row, 0 ); - logMessage = exdData->getField< uint16_t >( row, 1 ); - name = exdData->getField< uint16_t >( row, 2 ); + auto row = exdData->m_DeepDungeonBanDat.get_row( row_id ); + screenImage = exdData->getField< uint16_t >( row, 0 ); + logMessage = exdData->getField< uint16_t >( row, 1 ); + name = exdData->getField< uint16_t >( row, 2 ); } Core::Data::DeepDungeonDanger::DeepDungeonDanger( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DeepDungeonDangerDat.get_row( row_id ); - screenImage = exdData->getField< uint16_t >( row, 0 ); - logMessage = exdData->getField< uint16_t >( row, 1 ); - name = exdData->getField< uint16_t >( row, 2 ); + auto row = exdData->m_DeepDungeonDangerDat.get_row( row_id ); + screenImage = exdData->getField< uint16_t >( row, 0 ); + logMessage = exdData->getField< uint16_t >( row, 1 ); + name = exdData->getField< uint16_t >( row, 2 ); } Core::Data::DeepDungeonEquipment::DeepDungeonEquipment( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DeepDungeonEquipmentDat.get_row( row_id ); - icon = exdData->getField< uint32_t >( row, 0 ); - singular = exdData->getField< std::string >( row, 1 ); - plural = exdData->getField< std::string >( row, 3 ); - name = exdData->getField< std::string >( row, 9 ); - description = exdData->getField< std::string >( row, 10 ); + auto row = exdData->m_DeepDungeonEquipmentDat.get_row( row_id ); + icon = exdData->getField< uint32_t >( row, 0 ); + singular = exdData->getField< std::string >( row, 1 ); + plural = exdData->getField< std::string >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 5 ); + rarity = exdData->getField< int8_t >( row, 6 ); + name = exdData->getField< std::string >( row, 9 ); + description = exdData->getField< std::string >( row, 10 ); } Core::Data::DeepDungeonFloorEffectUI::DeepDungeonFloorEffectUI( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DeepDungeonFloorEffectUIDat.get_row( row_id ); - icon = exdData->getField< uint32_t >( row, 0 ); - name = exdData->getField< std::string >( row, 1 ); - description = exdData->getField< std::string >( row, 2 ); + auto row = exdData->m_DeepDungeonFloorEffectUIDat.get_row( row_id ); + icon = exdData->getField< uint32_t >( row, 0 ); + name = exdData->getField< std::string >( row, 1 ); + description = exdData->getField< std::string >( row, 2 ); } Core::Data::DeepDungeonItem::DeepDungeonItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DeepDungeonItemDat.get_row( row_id ); - icon = exdData->getField< uint32_t >( row, 0 ); - singular = exdData->getField< std::string >( row, 1 ); - plural = exdData->getField< std::string >( row, 3 ); - name = exdData->getField< std::string >( row, 9 ); - tooltip = exdData->getField< std::string >( row, 10 ); - action = exdData->getField< uint32_t >( row, 11 ); + auto row = exdData->m_DeepDungeonItemDat.get_row( row_id ); + icon = exdData->getField< uint32_t >( row, 0 ); + singular = exdData->getField< std::string >( row, 1 ); + plural = exdData->getField< std::string >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 5 ); + rarity = exdData->getField< int8_t >( row, 6 ); + name = exdData->getField< std::string >( row, 9 ); + tooltip = exdData->getField< std::string >( row, 10 ); + action = exdData->getField< uint32_t >( row, 11 ); +} + +Core::Data::DeepDungeonLayer::DeepDungeonLayer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DeepDungeonLayerDat.get_row( row_id ); + deepDungeon = exdData->getField< uint8_t >( row, 0 ); +} + +Core::Data::DeepDungeonMagicStone::DeepDungeonMagicStone( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DeepDungeonMagicStoneDat.get_row( row_id ); + icon = exdData->getField< uint32_t >( row, 0 ); + singular = exdData->getField< std::string >( row, 1 ); + plural = exdData->getField< std::string >( row, 3 ); + startsWithVowel = exdData->getField< int8_t >( row, 5 ); + rarity = exdData->getField< int8_t >( row, 6 ); + name = exdData->getField< std::string >( row, 9 ); + tooltip = exdData->getField< std::string >( row, 10 ); +} + +Core::Data::DeepDungeonMap5X::DeepDungeonMap5X( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DeepDungeonMap5XDat.get_row( row_id ); + deepDungeonRoom.push_back( exdData->getField< uint16_t >( row, 0 ) ); + deepDungeonRoom.push_back( exdData->getField< uint16_t >( row, 1 ) ); + deepDungeonRoom.push_back( exdData->getField< uint16_t >( row, 2 ) ); + deepDungeonRoom.push_back( exdData->getField< uint16_t >( row, 3 ) ); + deepDungeonRoom.push_back( exdData->getField< uint16_t >( row, 4 ) ); +} + +Core::Data::DeepDungeonRoom::DeepDungeonRoom( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DeepDungeonRoomDat.get_row( row_id ); + level.push_back( exdData->getField< uint32_t >( row, 0 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1 ) ); + level.push_back( exdData->getField< uint32_t >( row, 2 ) ); + level.push_back( exdData->getField< uint32_t >( row, 3 ) ); + level.push_back( exdData->getField< uint32_t >( row, 4 ) ); } Core::Data::DeepDungeonStatus::DeepDungeonStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DeepDungeonStatusDat.get_row( row_id ); - screenImage = exdData->getField< uint16_t >( row, 0 ); - logMessage = exdData->getField< uint16_t >( row, 1 ); - name = exdData->getField< uint16_t >( row, 2 ); + auto row = exdData->m_DeepDungeonStatusDat.get_row( row_id ); + screenImage = exdData->getField< uint16_t >( row, 0 ); + logMessage = exdData->getField< uint16_t >( row, 1 ); + name = exdData->getField< uint16_t >( row, 2 ); } Core::Data::DefaultTalk::DefaultTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DefaultTalkDat.get_row( row_id ); - actionTimelinePose.push_back( exdData->getField< uint16_t >( row, 5 ) ); - actionTimelinePose.push_back( exdData->getField< uint16_t >( row, 6 ) ); - actionTimelinePose.push_back( exdData->getField< uint16_t >( row, 7 ) ); - text.push_back( exdData->getField< std::string >( row, 20 ) ); - text.push_back( exdData->getField< std::string >( row, 21 ) ); - text.push_back( exdData->getField< std::string >( row, 22 ) ); + auto row = exdData->m_DefaultTalkDat.get_row( row_id ); + actionTimelinePose.push_back( exdData->getField< uint16_t >( row, 5 ) ); + actionTimelinePose.push_back( exdData->getField< uint16_t >( row, 6 ) ); + actionTimelinePose.push_back( exdData->getField< uint16_t >( row, 7 ) ); + text.push_back( exdData->getField< std::string >( row, 20 ) ); + text.push_back( exdData->getField< std::string >( row, 21 ) ); + text.push_back( exdData->getField< std::string >( row, 22 ) ); +} + +Core::Data::DefaultTalkLipSyncType::DefaultTalkLipSyncType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DefaultTalkLipSyncTypeDat.get_row( row_id ); + actionTimeline = exdData->getField< int32_t >( row, 0 ); } Core::Data::DeliveryQuest::DeliveryQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DeliveryQuestDat.get_row( row_id ); - quest = exdData->getField< int32_t >( row, 0 ); + auto row = exdData->m_DeliveryQuestDat.get_row( row_id ); + quest = exdData->getField< int32_t >( row, 0 ); } Core::Data::DisposalShop::DisposalShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DisposalShopDat.get_row( row_id ); - shopName = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_DisposalShopDat.get_row( row_id ); + shopName = exdData->getField< std::string >( row, 0 ); } Core::Data::DisposalShopFilterType::DisposalShopFilterType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DisposalShopFilterTypeDat.get_row( row_id ); - category = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_DisposalShopFilterTypeDat.get_row( row_id ); + category = exdData->getField< std::string >( row, 0 ); } Core::Data::DisposalShopItem::DisposalShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DisposalShopItemDat.get_row( row_id ); - itemDisposed = exdData->getField< int32_t >( row, 0 ); - itemReceived = exdData->getField< int32_t >( row, 2 ); - quantityReceived = exdData->getField< uint32_t >( row, 4 ); + auto row = exdData->m_DisposalShopItemDat.get_row( row_id ); + itemDisposed = exdData->getField< int32_t >( row, 0 ); + itemReceived = exdData->getField< int32_t >( row, 2 ); + quantityReceived = exdData->getField< uint32_t >( row, 4 ); } Core::Data::DpsChallenge::DpsChallenge( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DpsChallengeDat.get_row( row_id ); - playerLevel = exdData->getField< uint16_t >( row, 0 ); - placeName = exdData->getField< uint16_t >( row, 1 ); - icon = exdData->getField< uint32_t >( row, 2 ); - order = exdData->getField< uint16_t >( row, 3 ); - name = exdData->getField< std::string >( row, 4 ); - description = exdData->getField< std::string >( row, 5 ); + auto row = exdData->m_DpsChallengeDat.get_row( row_id ); + playerLevel = exdData->getField< uint16_t >( row, 0 ); + placeName = exdData->getField< uint16_t >( row, 1 ); + icon = exdData->getField< uint32_t >( row, 2 ); + order = exdData->getField< uint16_t >( row, 3 ); + name = exdData->getField< std::string >( row, 4 ); + description = exdData->getField< std::string >( row, 5 ); } Core::Data::DpsChallengeOfficer::DpsChallengeOfficer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DpsChallengeOfficerDat.get_row( row_id ); - unlockQuest = exdData->getField< uint32_t >( row, 0 ); - challengeName.push_back( exdData->getField< uint16_t >( row, 1 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 2 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 3 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 4 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 5 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 6 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 7 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 8 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 9 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 10 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 11 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 12 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 13 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 14 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 15 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 16 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 17 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 18 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 19 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 20 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 21 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 22 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 23 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 24 ) ); - challengeName.push_back( exdData->getField< uint16_t >( row, 25 ) ); + auto row = exdData->m_DpsChallengeOfficerDat.get_row( row_id ); + unlockQuest = exdData->getField< uint32_t >( row, 0 ); + challengeName.push_back( exdData->getField< uint16_t >( row, 1 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 2 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 3 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 4 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 5 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 6 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 7 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 8 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 9 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 10 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 11 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 12 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 13 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 14 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 15 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 16 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 17 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 18 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 19 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 20 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 21 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 22 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 23 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 24 ) ); + challengeName.push_back( exdData->getField< uint16_t >( row, 25 ) ); } Core::Data::DpsChallengeTransient::DpsChallengeTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_DpsChallengeTransientDat.get_row( row_id ); - instanceContent = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_DpsChallengeTransientDat.get_row( row_id ); + instanceContent = exdData->getField< uint16_t >( row, 0 ); } Core::Data::Emote::Emote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EmoteDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - emoteCategory = exdData->getField< uint8_t >( row, 11 ); - emoteMode = exdData->getField< uint8_t >( row, 12 ); - hasCancelEmote = exdData->getField< bool >( row, 15 ); - drawsWeapon = exdData->getField< bool >( row, 16 ); - textCommand = exdData->getField< int32_t >( row, 18 ); - icon = exdData->getField< uint16_t >( row, 19 ); - logMessageTargeted = exdData->getField< uint16_t >( row, 20 ); - logMessageUntargeted = exdData->getField< uint16_t >( row, 21 ); -} - -Core::Data::EmoteMode::EmoteMode( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) -{ - auto row = exdData->m_EmoteDat.get_row( row_id ); - + auto row = exdData->m_EmoteDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + actionTimeline.push_back( exdData->getField< uint16_t >( row, 1 ) ); + actionTimeline.push_back( exdData->getField< uint16_t >( row, 2 ) ); + actionTimeline.push_back( exdData->getField< uint16_t >( row, 3 ) ); + actionTimeline.push_back( exdData->getField< uint16_t >( row, 4 ) ); + actionTimeline.push_back( exdData->getField< uint16_t >( row, 5 ) ); + actionTimeline.push_back( exdData->getField< uint16_t >( row, 6 ) ); + actionTimeline.push_back( exdData->getField< uint16_t >( row, 7 ) ); + emoteCategory = exdData->getField< uint8_t >( row, 11 ); + emoteMode = exdData->getField< uint8_t >( row, 12 ); + hasCancelEmote = exdData->getField< bool >( row, 15 ); + drawsWeapon = exdData->getField< bool >( row, 16 ); + textCommand = exdData->getField< int32_t >( row, 18 ); + icon = exdData->getField< uint16_t >( row, 19 ); + logMessageTargeted = exdData->getField< uint16_t >( row, 20 ); + logMessageUntargeted = exdData->getField< uint16_t >( row, 21 ); + unlockLink = exdData->getField< uint32_t >( row, 22 ); } Core::Data::EmoteCategory::EmoteCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EmoteCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_EmoteCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::ENpcBase::ENpcBase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ENpcBaseDat.get_row( row_id ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 2 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 3 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 4 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 5 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 6 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 7 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 8 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 9 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 10 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 11 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 12 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 13 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 14 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 15 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 16 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 17 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 18 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 19 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 20 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 21 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 22 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 23 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 24 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 25 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 26 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 27 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 28 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 29 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 30 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 31 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 32 ) ); - eNpcData.push_back( exdData->getField< uint32_t >( row, 33 ) ); - race = exdData->getField< uint8_t >( row, 36 ); - gender = exdData->getField< uint8_t >( row, 37 ); - bodyType = exdData->getField< uint8_t >( row, 38 ); - height = exdData->getField< uint8_t >( row, 39 ); - tribe = exdData->getField< uint8_t >( row, 40 ); - face = exdData->getField< uint8_t >( row, 41 ); - hairStyle = exdData->getField< uint8_t >( row, 42 ); - hairHighlight = exdData->getField< uint8_t >( row, 43 ); - skinColor = exdData->getField< uint8_t >( row, 44 ); - eyeHeterochromia = exdData->getField< uint8_t >( row, 45 ); - hairColor = exdData->getField< uint8_t >( row, 46 ); - hairHighlightColor = exdData->getField< uint8_t >( row, 47 ); - facialFeature = exdData->getField< uint8_t >( row, 48 ); - facialFeatureColor = exdData->getField< uint8_t >( row, 49 ); - eyebrows = exdData->getField< uint8_t >( row, 50 ); - eyeColor = exdData->getField< uint8_t >( row, 51 ); - eyeShape = exdData->getField< uint8_t >( row, 52 ); - nose = exdData->getField< uint8_t >( row, 53 ); - jaw = exdData->getField< uint8_t >( row, 54 ); - mouth = exdData->getField< uint8_t >( row, 55 ); - lipColor = exdData->getField< uint8_t >( row, 56 ); - bustOrTone1 = exdData->getField< uint8_t >( row, 57 ); - extraFeature1 = exdData->getField< uint8_t >( row, 58 ); - extraFeature2OrBust = exdData->getField< uint8_t >( row, 59 ); - facePaint = exdData->getField< uint8_t >( row, 60 ); - facePaintColor = exdData->getField< uint8_t >( row, 61 ); - npcEquip = exdData->getField< uint16_t >( row, 63 ); - behavior = exdData->getField< uint16_t >( row, 64 ); - modelMainHand = exdData->getField< uint64_t >( row, 65 ); - dyeMainHand = exdData->getField< uint8_t >( row, 66 ); - modelOffHand = exdData->getField< uint64_t >( row, 67 ); - dyeOffHand = exdData->getField< uint8_t >( row, 68 ); - modelHead = exdData->getField< uint32_t >( row, 69 ); - dyeHead = exdData->getField< uint8_t >( row, 70 ); - visor = exdData->getField< bool >( row, 71 ); - modelBody = exdData->getField< uint32_t >( row, 72 ); - dyeBody = exdData->getField< uint8_t >( row, 73 ); - modelHands = exdData->getField< uint32_t >( row, 74 ); - dyeHands = exdData->getField< uint8_t >( row, 75 ); - modelLegs = exdData->getField< uint32_t >( row, 76 ); - dyeLegs = exdData->getField< uint8_t >( row, 77 ); - modelFeet = exdData->getField< uint32_t >( row, 78 ); - dyeFeet = exdData->getField< uint8_t >( row, 79 ); - modelEars = exdData->getField< uint32_t >( row, 80 ); - dyeEars = exdData->getField< uint8_t >( row, 81 ); - modelNeck = exdData->getField< uint32_t >( row, 82 ); - dyeNeck = exdData->getField< uint8_t >( row, 83 ); - modelWrists = exdData->getField< uint32_t >( row, 84 ); - dyeWrists = exdData->getField< uint8_t >( row, 85 ); - modelLeftRing = exdData->getField< uint32_t >( row, 86 ); - dyeLeftRing = exdData->getField< uint8_t >( row, 87 ); - modelRightRing = exdData->getField< uint32_t >( row, 88 ); - dyeRightRing = exdData->getField< uint8_t >( row, 89 ); - balloon = exdData->getField< uint16_t >( row, 91 ); + auto row = exdData->m_ENpcBaseDat.get_row( row_id ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 2 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 3 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 4 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 5 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 6 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 7 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 8 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 9 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 10 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 11 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 12 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 13 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 14 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 15 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 16 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 17 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 18 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 19 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 20 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 21 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 22 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 23 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 24 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 25 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 26 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 27 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 28 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 29 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 30 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 31 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 32 ) ); + eNpcData.push_back( exdData->getField< uint32_t >( row, 33 ) ); + race = exdData->getField< uint8_t >( row, 36 ); + gender = exdData->getField< uint8_t >( row, 37 ); + bodyType = exdData->getField< uint8_t >( row, 38 ); + height = exdData->getField< uint8_t >( row, 39 ); + tribe = exdData->getField< uint8_t >( row, 40 ); + face = exdData->getField< uint8_t >( row, 41 ); + hairStyle = exdData->getField< uint8_t >( row, 42 ); + hairHighlight = exdData->getField< uint8_t >( row, 43 ); + skinColor = exdData->getField< uint8_t >( row, 44 ); + eyeHeterochromia = exdData->getField< uint8_t >( row, 45 ); + hairColor = exdData->getField< uint8_t >( row, 46 ); + hairHighlightColor = exdData->getField< uint8_t >( row, 47 ); + facialFeature = exdData->getField< uint8_t >( row, 48 ); + facialFeatureColor = exdData->getField< uint8_t >( row, 49 ); + eyebrows = exdData->getField< uint8_t >( row, 50 ); + eyeColor = exdData->getField< uint8_t >( row, 51 ); + eyeShape = exdData->getField< uint8_t >( row, 52 ); + nose = exdData->getField< uint8_t >( row, 53 ); + jaw = exdData->getField< uint8_t >( row, 54 ); + mouth = exdData->getField< uint8_t >( row, 55 ); + lipColor = exdData->getField< uint8_t >( row, 56 ); + bustOrTone1 = exdData->getField< uint8_t >( row, 57 ); + extraFeature1 = exdData->getField< uint8_t >( row, 58 ); + extraFeature2OrBust = exdData->getField< uint8_t >( row, 59 ); + facePaint = exdData->getField< uint8_t >( row, 60 ); + facePaintColor = exdData->getField< uint8_t >( row, 61 ); + npcEquip = exdData->getField< uint16_t >( row, 63 ); + behavior = exdData->getField< uint16_t >( row, 64 ); + modelMainHand = exdData->getField< uint64_t >( row, 65 ); + dyeMainHand = exdData->getField< uint8_t >( row, 66 ); + modelOffHand = exdData->getField< uint64_t >( row, 67 ); + dyeOffHand = exdData->getField< uint8_t >( row, 68 ); + modelHead = exdData->getField< uint32_t >( row, 69 ); + dyeHead = exdData->getField< uint8_t >( row, 70 ); + visor = exdData->getField< bool >( row, 71 ); + modelBody = exdData->getField< uint32_t >( row, 72 ); + dyeBody = exdData->getField< uint8_t >( row, 73 ); + modelHands = exdData->getField< uint32_t >( row, 74 ); + dyeHands = exdData->getField< uint8_t >( row, 75 ); + modelLegs = exdData->getField< uint32_t >( row, 76 ); + dyeLegs = exdData->getField< uint8_t >( row, 77 ); + modelFeet = exdData->getField< uint32_t >( row, 78 ); + dyeFeet = exdData->getField< uint8_t >( row, 79 ); + modelEars = exdData->getField< uint32_t >( row, 80 ); + dyeEars = exdData->getField< uint8_t >( row, 81 ); + modelNeck = exdData->getField< uint32_t >( row, 82 ); + dyeNeck = exdData->getField< uint8_t >( row, 83 ); + modelWrists = exdData->getField< uint32_t >( row, 84 ); + dyeWrists = exdData->getField< uint8_t >( row, 85 ); + modelLeftRing = exdData->getField< uint32_t >( row, 86 ); + dyeLeftRing = exdData->getField< uint8_t >( row, 87 ); + modelRightRing = exdData->getField< uint32_t >( row, 88 ); + dyeRightRing = exdData->getField< uint8_t >( row, 89 ); + balloon = exdData->getField< uint16_t >( row, 91 ); } Core::Data::ENpcResident::ENpcResident( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ENpcResidentDat.get_row( row_id ); - singular = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - title = exdData->getField< std::string >( row, 8 ); - map = exdData->getField< uint8_t >( row, 9 ); + auto row = exdData->m_ENpcResidentDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + title = exdData->getField< std::string >( row, 8 ); + map = exdData->getField< uint8_t >( row, 9 ); } Core::Data::EObj::EObj( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EObjDat.get_row( row_id ); - data = exdData->getField< uint32_t >( row, 9 ); + auto row = exdData->m_EObjDat.get_row( row_id ); + data = exdData->getField< uint32_t >( row, 9 ); + sgbPath = exdData->getField< uint16_t >( row, 11 ); } Core::Data::EObjName::EObjName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EObjNameDat.get_row( row_id ); - singular = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_EObjNameDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); } Core::Data::EquipRaceCategory::EquipRaceCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EquipRaceCategoryDat.get_row( row_id ); - hyur = exdData->getField< bool >( row, 0 ); - elezen = exdData->getField< bool >( row, 1 ); - lalafell = exdData->getField< bool >( row, 2 ); - miqote = exdData->getField< bool >( row, 3 ); - roegadyn = exdData->getField< bool >( row, 4 ); - auRa = exdData->getField< bool >( row, 5 ); - male = exdData->getField< bool >( row, 6 ); - female = exdData->getField< bool >( row, 7 ); + auto row = exdData->m_EquipRaceCategoryDat.get_row( row_id ); + hyur = exdData->getField< bool >( row, 0 ); + elezen = exdData->getField< bool >( row, 1 ); + lalafell = exdData->getField< bool >( row, 2 ); + miqote = exdData->getField< bool >( row, 3 ); + roegadyn = exdData->getField< bool >( row, 4 ); + auRa = exdData->getField< bool >( row, 5 ); + male = exdData->getField< bool >( row, 6 ); + female = exdData->getField< bool >( row, 7 ); } Core::Data::EquipSlotCategory::EquipSlotCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EquipSlotCategoryDat.get_row( row_id ); - mainHand = exdData->getField< int8_t >( row, 0 ); - offHand = exdData->getField< int8_t >( row, 1 ); - head = exdData->getField< int8_t >( row, 2 ); - body = exdData->getField< int8_t >( row, 3 ); - gloves = exdData->getField< int8_t >( row, 4 ); - waist = exdData->getField< int8_t >( row, 5 ); - legs = exdData->getField< int8_t >( row, 6 ); - feet = exdData->getField< int8_t >( row, 7 ); - ears = exdData->getField< int8_t >( row, 8 ); - neck = exdData->getField< int8_t >( row, 9 ); - wrists = exdData->getField< int8_t >( row, 10 ); - fingerL = exdData->getField< int8_t >( row, 11 ); - fingerR = exdData->getField< int8_t >( row, 12 ); - soulCrystal = exdData->getField< int8_t >( row, 13 ); + auto row = exdData->m_EquipSlotCategoryDat.get_row( row_id ); + mainHand = exdData->getField< int8_t >( row, 0 ); + offHand = exdData->getField< int8_t >( row, 1 ); + head = exdData->getField< int8_t >( row, 2 ); + body = exdData->getField< int8_t >( row, 3 ); + gloves = exdData->getField< int8_t >( row, 4 ); + waist = exdData->getField< int8_t >( row, 5 ); + legs = exdData->getField< int8_t >( row, 6 ); + feet = exdData->getField< int8_t >( row, 7 ); + ears = exdData->getField< int8_t >( row, 8 ); + neck = exdData->getField< int8_t >( row, 9 ); + wrists = exdData->getField< int8_t >( row, 10 ); + fingerL = exdData->getField< int8_t >( row, 11 ); + fingerR = exdData->getField< int8_t >( row, 12 ); + soulCrystal = exdData->getField< int8_t >( row, 13 ); } Core::Data::EurekaAethernet::EurekaAethernet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EurekaAethernetDat.get_row( row_id ); - location = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_EurekaAethernetDat.get_row( row_id ); + location = exdData->getField< uint16_t >( row, 0 ); } Core::Data::EurekaGrowData::EurekaGrowData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EurekaGrowDataDat.get_row( row_id ); - baseResistance = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_EurekaGrowDataDat.get_row( row_id ); + baseResistance = exdData->getField< uint16_t >( row, 0 ); } -Core::Data::EurekaSphereElementAdjust::EurekaSphereElementAdjust( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::EurekaSphereElementAdjust::EurekaSphereElementAdjust( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EurekaSphereElementAdjustDat.get_row( row_id ); - powerModifier = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_EurekaSphereElementAdjustDat.get_row( row_id ); + powerModifier = exdData->getField< uint16_t >( row, 0 ); } Core::Data::EventAction::EventAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EventActionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - icon = exdData->getField< uint16_t >( row, 1 ); - castTime = exdData->getField< uint8_t >( row, 2 ); + auto row = exdData->m_EventActionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< uint16_t >( row, 1 ); + castTime = exdData->getField< uint8_t >( row, 2 ); + animation.push_back( exdData->getField< uint16_t >( row, 3 ) ); + animation.push_back( exdData->getField< uint16_t >( row, 4 ) ); + animation.push_back( exdData->getField< uint16_t >( row, 5 ) ); } Core::Data::EventIconPriority::EventIconPriority( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EventIconPriorityDat.get_row( row_id ); - icon.push_back( exdData->getField< uint32_t >( row, 0 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 1 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 2 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 3 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 4 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 5 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 6 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 7 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 8 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 9 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 10 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 11 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 12 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 13 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 14 ) ); - icon.push_back( exdData->getField< uint32_t >( row, 15 ) ); + auto row = exdData->m_EventIconPriorityDat.get_row( row_id ); + icon.push_back( exdData->getField< uint32_t >( row, 0 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 1 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 2 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 3 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 4 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 5 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 6 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 7 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 8 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 9 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 10 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 11 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 12 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 13 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 14 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 15 ) ); } Core::Data::EventIconType::EventIconType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EventIconTypeDat.get_row( row_id ); - npcIconAvailable = exdData->getField< uint32_t >( row, 0 ); - mapIconAvailable = exdData->getField< uint32_t >( row, 1 ); - npcIconInvalid = exdData->getField< uint32_t >( row, 2 ); - mapIconInvalid = exdData->getField< uint32_t >( row, 3 ); - iconRange = exdData->getField< uint8_t >( row, 4 ); + auto row = exdData->m_EventIconTypeDat.get_row( row_id ); + npcIconAvailable = exdData->getField< uint32_t >( row, 0 ); + mapIconAvailable = exdData->getField< uint32_t >( row, 1 ); + npcIconInvalid = exdData->getField< uint32_t >( row, 2 ); + mapIconInvalid = exdData->getField< uint32_t >( row, 3 ); + iconRange = exdData->getField< uint8_t >( row, 4 ); } Core::Data::EventItem::EventItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EventItemDat.get_row( row_id ); - singular = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - rarity = exdData->getField< int8_t >( row, 5 ); - name = exdData->getField< std::string >( row, 9 ); - icon = exdData->getField< uint16_t >( row, 10 ); - stackSize = exdData->getField< uint8_t >( row, 12 ); - quest = exdData->getField< uint32_t >( row, 14 ); - castTime = exdData->getField< uint8_t >( row, 15 ); + auto row = exdData->m_EventItemDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + rarity = exdData->getField< int8_t >( row, 5 ); + name = exdData->getField< std::string >( row, 9 ); + icon = exdData->getField< uint16_t >( row, 10 ); + action = exdData->getField< uint16_t >( row, 11 ); + stackSize = exdData->getField< uint8_t >( row, 12 ); + quest = exdData->getField< uint32_t >( row, 14 ); + castTime = exdData->getField< uint8_t >( row, 15 ); +} + +Core::Data::EventItemCastTimeline::EventItemCastTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EventItemCastTimelineDat.get_row( row_id ); + actionTimeline = exdData->getField< uint32_t >( row, 0 ); } Core::Data::EventItemHelp::EventItemHelp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_EventItemHelpDat.get_row( row_id ); - description = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_EventItemHelpDat.get_row( row_id ); + description = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::EventItemTimeline::EventItemTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EventItemTimelineDat.get_row( row_id ); + actionTimeline = exdData->getField< uint32_t >( row, 0 ); +} + +Core::Data::ExportedSG::ExportedSG( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ExportedSGDat.get_row( row_id ); + sgbPath = exdData->getField< std::string >( row, 0 ); } Core::Data::ExVersion::ExVersion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ExVersionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_ExVersionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::Fate::Fate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FateDat.get_row( row_id ); - eurekaFate = exdData->getField< uint8_t >( row, 0 ); - location = exdData->getField< uint32_t >( row, 2 ); - classJobLevel = exdData->getField< uint8_t >( row, 3 ); - classJobLevelMax = exdData->getField< uint8_t >( row, 4 ); - eventItem = exdData->getField< uint32_t >( row, 5 ); - iconObjective = exdData->getField< uint32_t >( row, 10 ); - iconMap = exdData->getField< uint32_t >( row, 11 ); - music = exdData->getField< int32_t >( row, 13 ); - name = exdData->getField< std::string >( row, 27 ); - description = exdData->getField< std::string >( row, 28 ); - objective = exdData->getField< std::string >( row, 29 ); - statusText.push_back( exdData->getField< std::string >( row, 30 ) ); - statusText.push_back( exdData->getField< std::string >( row, 31 ) ); - statusText.push_back( exdData->getField< std::string >( row, 32 ) ); - arrayIndex = exdData->getField< uint32_t >( row, 33 ); + auto row = exdData->m_FateDat.get_row( row_id ); + eurekaFate = exdData->getField< uint8_t >( row, 0 ); + location = exdData->getField< uint32_t >( row, 2 ); + classJobLevel = exdData->getField< uint8_t >( row, 3 ); + classJobLevelMax = exdData->getField< uint8_t >( row, 4 ); + eventItem = exdData->getField< uint32_t >( row, 5 ); + iconObjective = exdData->getField< uint32_t >( row, 10 ); + iconMap = exdData->getField< uint32_t >( row, 11 ); + music = exdData->getField< int32_t >( row, 13 ); + name = exdData->getField< std::string >( row, 27 ); + description = exdData->getField< std::string >( row, 28 ); + objective = exdData->getField< std::string >( row, 29 ); + statusText.push_back( exdData->getField< std::string >( row, 30 ) ); + statusText.push_back( exdData->getField< std::string >( row, 31 ) ); + statusText.push_back( exdData->getField< std::string >( row, 32 ) ); + arrayIndex = exdData->getField< uint32_t >( row, 33 ); } Core::Data::FCActivity::FCActivity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FCActivityDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); - fCActivityCategory = exdData->getField< uint8_t >( row, 4 ); + auto row = exdData->m_FCActivityDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); + fCActivityCategory = exdData->getField< uint8_t >( row, 4 ); } Core::Data::FCActivityCategory::FCActivityCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FCActivityCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_FCActivityCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 1 ); } Core::Data::FCAuthority::FCAuthority( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FCAuthorityDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - fCAuthorityCategory = exdData->getField< int32_t >( row, 1 ); + auto row = exdData->m_FCAuthorityDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + fCAuthorityCategory = exdData->getField< int32_t >( row, 1 ); } Core::Data::FCAuthorityCategory::FCAuthorityCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FCAuthorityCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_FCAuthorityCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::FCChestName::FCChestName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FCChestNameDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_FCChestNameDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::FccShop::FccShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FccShopDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_FccShopDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::FCHierarchy::FCHierarchy( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FCHierarchyDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_FCHierarchyDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::FCProfile::FCProfile( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FCProfileDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_FCProfileDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 1 ); } Core::Data::FCReputation::FCReputation( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FCReputationDat.get_row( row_id ); - pointsToNext = exdData->getField< uint32_t >( row, 0 ); - requiredPoints = exdData->getField< uint32_t >( row, 1 ); - name = exdData->getField< std::string >( row, 4 ); + auto row = exdData->m_FCReputationDat.get_row( row_id ); + pointsToNext = exdData->getField< uint32_t >( row, 0 ); + requiredPoints = exdData->getField< uint32_t >( row, 1 ); + name = exdData->getField< std::string >( row, 4 ); } Core::Data::FCRights::FCRights( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FCRightsDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - icon = exdData->getField< uint16_t >( row, 2 ); - fCRank = exdData->getField< uint8_t >( row, 3 ); + auto row = exdData->m_FCRightsDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + icon = exdData->getField< uint16_t >( row, 2 ); + fCRank = exdData->getField< uint8_t >( row, 3 ); } Core::Data::FieldMarker::FieldMarker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FieldMarkerDat.get_row( row_id ); - vFX = exdData->getField< int32_t >( row, 0 ); - icon = exdData->getField< uint16_t >( row, 1 ); + auto row = exdData->m_FieldMarkerDat.get_row( row_id ); + vFX = exdData->getField< int32_t >( row, 0 ); + icon = exdData->getField< uint16_t >( row, 1 ); +} + +Core::Data::FishingRecordTypeTransient::FishingRecordTypeTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FishingRecordTypeTransientDat.get_row( row_id ); + image = exdData->getField< int32_t >( row, 0 ); } Core::Data::FishingSpot::FishingSpot( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FishingSpotDat.get_row( row_id ); - gatheringLevel = exdData->getField< uint8_t >( row, 0 ); - bigFishOnReach = exdData->getField< std::string >( row, 1 ); - bigFishOnEnd = exdData->getField< std::string >( row, 2 ); - fishingSpotCategory = exdData->getField< uint8_t >( row, 3 ); - territoryType = exdData->getField< uint16_t >( row, 5 ); - x = exdData->getField< int16_t >( row, 6 ); - z = exdData->getField< int16_t >( row, 7 ); - radius = exdData->getField< uint16_t >( row, 8 ); - item.push_back( exdData->getField< int32_t >( row, 10 ) ); - item.push_back( exdData->getField< int32_t >( row, 11 ) ); - item.push_back( exdData->getField< int32_t >( row, 12 ) ); - item.push_back( exdData->getField< int32_t >( row, 13 ) ); - item.push_back( exdData->getField< int32_t >( row, 14 ) ); - item.push_back( exdData->getField< int32_t >( row, 15 ) ); - item.push_back( exdData->getField< int32_t >( row, 16 ) ); - item.push_back( exdData->getField< int32_t >( row, 17 ) ); - item.push_back( exdData->getField< int32_t >( row, 18 ) ); - item.push_back( exdData->getField< int32_t >( row, 19 ) ); - placeName = exdData->getField< uint16_t >( row, 20 ); + auto row = exdData->m_FishingSpotDat.get_row( row_id ); + gatheringLevel = exdData->getField< uint8_t >( row, 0 ); + bigFishOnReach = exdData->getField< std::string >( row, 1 ); + bigFishOnEnd = exdData->getField< std::string >( row, 2 ); + fishingSpotCategory = exdData->getField< uint8_t >( row, 3 ); + territoryType = exdData->getField< uint16_t >( row, 5 ); + x = exdData->getField< int16_t >( row, 6 ); + z = exdData->getField< int16_t >( row, 7 ); + radius = exdData->getField< uint16_t >( row, 8 ); + item.push_back( exdData->getField< int32_t >( row, 10 ) ); + item.push_back( exdData->getField< int32_t >( row, 11 ) ); + item.push_back( exdData->getField< int32_t >( row, 12 ) ); + item.push_back( exdData->getField< int32_t >( row, 13 ) ); + item.push_back( exdData->getField< int32_t >( row, 14 ) ); + item.push_back( exdData->getField< int32_t >( row, 15 ) ); + item.push_back( exdData->getField< int32_t >( row, 16 ) ); + item.push_back( exdData->getField< int32_t >( row, 17 ) ); + item.push_back( exdData->getField< int32_t >( row, 18 ) ); + item.push_back( exdData->getField< int32_t >( row, 19 ) ); + placeName = exdData->getField< uint16_t >( row, 20 ); } Core::Data::FishParameter::FishParameter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_FishParameterDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); - item = exdData->getField< int32_t >( row, 1 ); - gatheringItemLevel = exdData->getField< uint16_t >( row, 2 ); - territoryType = exdData->getField< int32_t >( row, 4 ); - isFish = exdData->getField< bool >( row, 5 ); - gatheringSubCategory = exdData->getField< uint16_t >( row, 6 ); + auto row = exdData->m_FishParameterDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); + item = exdData->getField< int32_t >( row, 1 ); + gatheringItemLevel = exdData->getField< uint16_t >( row, 2 ); + territoryType = exdData->getField< int32_t >( row, 6 ); + isFish = exdData->getField< bool >( row, 7 ); + gatheringSubCategory = exdData->getField< uint16_t >( row, 10 ); +} + +Core::Data::Frontline03::Frontline03( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_Frontline03Dat.get_row( row_id ); + emptyIcon.push_back( exdData->getField< uint32_t >( row, 9 ) ); + emptyIcon.push_back( exdData->getField< uint32_t >( row, 10 ) ); + emptyIcon.push_back( exdData->getField< uint32_t >( row, 11 ) ); + maelstromIcon.push_back( exdData->getField< uint32_t >( row, 12 ) ); + maelstromIcon.push_back( exdData->getField< uint32_t >( row, 13 ) ); + maelstromIcon.push_back( exdData->getField< uint32_t >( row, 14 ) ); + twinAdderIcon.push_back( exdData->getField< uint32_t >( row, 15 ) ); + twinAdderIcon.push_back( exdData->getField< uint32_t >( row, 16 ) ); + twinAdderIcon.push_back( exdData->getField< uint32_t >( row, 17 ) ); + immortalFlamesIcon.push_back( exdData->getField< uint32_t >( row, 18 ) ); + immortalFlamesIcon.push_back( exdData->getField< uint32_t >( row, 19 ) ); + immortalFlamesIcon.push_back( exdData->getField< uint32_t >( row, 20 ) ); +} + +Core::Data::Frontline04::Frontline04( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_Frontline04Dat.get_row( row_id ); + level1 = exdData->getField< int32_t >( row, 0 ); + level2 = exdData->getField< int32_t >( row, 1 ); + level3 = exdData->getField< int32_t >( row, 2 ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 6 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 7 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 8 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 9 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 10 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 11 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 12 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 13 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 14 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 15 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 16 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 17 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 18 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 19 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 20 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 21 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 22 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 23 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 24 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 25 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 26 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 27 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 28 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 29 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 30 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 31 ) ); + unknownLevel.push_back( exdData->getField< int32_t >( row, 32 ) ); } Core::Data::GardeningSeed::GardeningSeed( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GardeningSeedDat.get_row( row_id ); - item = exdData->getField< uint32_t >( row, 0 ); - icon = exdData->getField< uint32_t >( row, 2 ); + auto row = exdData->m_GardeningSeedDat.get_row( row_id ); + item = exdData->getField< uint32_t >( row, 0 ); + icon = exdData->getField< uint32_t >( row, 2 ); } Core::Data::GatheringCondition::GatheringCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringConditionDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_GatheringConditionDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); } Core::Data::GatheringExp::GatheringExp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringExpDat.get_row( row_id ); - exp = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_GatheringExpDat.get_row( row_id ); + exp = exdData->getField< uint16_t >( row, 0 ); } Core::Data::GatheringItem::GatheringItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringItemDat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 0 ); - gatheringItemLevel = exdData->getField< uint16_t >( row, 1 ); - isHidden = exdData->getField< bool >( row, 2 ); + auto row = exdData->m_GatheringItemDat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 0 ); + gatheringItemLevel = exdData->getField< uint16_t >( row, 1 ); + isHidden = exdData->getField< bool >( row, 2 ); } -Core::Data::GatheringItemLevelConvertTable::GatheringItemLevelConvertTable( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::GatheringItemLevelConvertTable::GatheringItemLevelConvertTable( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringItemLevelConvertTableDat.get_row( row_id ); - gatheringItemLevel = exdData->getField< uint8_t >( row, 0 ); - stars = exdData->getField< uint8_t >( row, 1 ); + auto row = exdData->m_GatheringItemLevelConvertTableDat.get_row( row_id ); + gatheringItemLevel = exdData->getField< uint8_t >( row, 0 ); + stars = exdData->getField< uint8_t >( row, 1 ); } Core::Data::GatheringItemPoint::GatheringItemPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringItemPointDat.get_row( row_id ); - gatheringPoint = exdData->getField< uint32_t >( row, 0 ); + auto row = exdData->m_GatheringItemPointDat.get_row( row_id ); + gatheringPoint = exdData->getField< uint32_t >( row, 0 ); +} + +Core::Data::GatheringLeve::GatheringLeve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GatheringLeveDat.get_row( row_id ); + requiredItem1 = exdData->getField< int32_t >( row, 4 ); + leveLevel = exdData->getField< uint8_t >( row, 5 ); + requiredItem2 = exdData->getField< int32_t >( row, 6 ); +} + +Core::Data::GatheringLeveRoute::GatheringLeveRoute( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GatheringLeveRouteDat.get_row( row_id ); } Core::Data::GatheringNotebookList::GatheringNotebookList( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringNotebookListDat.get_row( row_id ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 1 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 2 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 3 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 4 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 5 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 6 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 7 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 8 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 9 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 10 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 11 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 12 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 13 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 14 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 15 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 16 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 17 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 18 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 19 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 20 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 21 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 22 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 23 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 24 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 25 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 26 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 27 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 28 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 29 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 30 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 31 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 32 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 33 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 34 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 35 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 36 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 37 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 38 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 39 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 40 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 41 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 42 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 43 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 44 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 45 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 46 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 47 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 48 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 49 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 50 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 51 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 52 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 53 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 54 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 55 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 56 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 57 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 58 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 59 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 60 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 61 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 62 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 63 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 64 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 65 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 66 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 67 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 68 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 69 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 70 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 71 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 72 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 73 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 74 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 75 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 76 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 77 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 78 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 79 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 80 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 81 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 82 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 83 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 84 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 85 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 86 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 87 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 88 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 89 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 90 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 91 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 92 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 93 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 94 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 95 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 96 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 97 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 98 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 99 ) ); - gatheringItem.push_back( exdData->getField< int32_t >( row, 100 ) ); + auto row = exdData->m_GatheringNotebookListDat.get_row( row_id ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 1 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 2 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 3 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 4 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 5 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 6 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 7 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 8 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 9 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 10 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 11 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 12 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 13 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 14 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 15 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 16 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 17 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 18 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 19 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 20 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 21 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 22 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 23 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 24 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 25 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 26 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 27 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 28 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 29 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 30 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 31 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 32 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 33 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 34 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 35 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 36 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 37 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 38 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 39 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 40 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 41 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 42 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 43 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 44 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 45 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 46 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 47 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 48 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 49 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 50 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 51 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 52 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 53 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 54 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 55 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 56 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 57 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 58 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 59 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 60 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 61 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 62 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 63 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 64 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 65 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 66 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 67 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 68 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 69 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 70 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 71 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 72 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 73 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 74 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 75 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 76 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 77 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 78 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 79 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 80 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 81 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 82 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 83 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 84 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 85 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 86 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 87 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 88 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 89 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 90 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 91 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 92 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 93 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 94 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 95 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 96 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 97 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 98 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 99 ) ); + gatheringItem.push_back( exdData->getField< int32_t >( row, 100 ) ); } Core::Data::GatheringPoint::GatheringPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringPointDat.get_row( row_id ); - gatheringPointBase = exdData->getField< int32_t >( row, 1 ); - gatheringPointBonus.push_back( exdData->getField< uint16_t >( row, 3 ) ); - gatheringPointBonus.push_back( exdData->getField< uint16_t >( row, 4 ) ); - territoryType = exdData->getField< uint16_t >( row, 5 ); - placeName = exdData->getField< uint16_t >( row, 6 ); - gatheringSubCategory = exdData->getField< uint16_t >( row, 7 ); + auto row = exdData->m_GatheringPointDat.get_row( row_id ); + gatheringPointBase = exdData->getField< int32_t >( row, 1 ); + gatheringPointBonus.push_back( exdData->getField< uint16_t >( row, 3 ) ); + gatheringPointBonus.push_back( exdData->getField< uint16_t >( row, 4 ) ); + territoryType = exdData->getField< uint16_t >( row, 5 ); + placeName = exdData->getField< uint16_t >( row, 6 ); + gatheringSubCategory = exdData->getField< uint16_t >( row, 7 ); } Core::Data::GatheringPointBase::GatheringPointBase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringPointBaseDat.get_row( row_id ); - gatheringType = exdData->getField< int32_t >( row, 0 ); - gatheringLevel = exdData->getField< uint8_t >( row, 1 ); - item.push_back( exdData->getField< int32_t >( row, 2 ) ); - item.push_back( exdData->getField< int32_t >( row, 3 ) ); - item.push_back( exdData->getField< int32_t >( row, 4 ) ); - item.push_back( exdData->getField< int32_t >( row, 5 ) ); - item.push_back( exdData->getField< int32_t >( row, 6 ) ); - item.push_back( exdData->getField< int32_t >( row, 7 ) ); - item.push_back( exdData->getField< int32_t >( row, 8 ) ); - item.push_back( exdData->getField< int32_t >( row, 9 ) ); - isLimited = exdData->getField< bool >( row, 10 ); + auto row = exdData->m_GatheringPointBaseDat.get_row( row_id ); + gatheringType = exdData->getField< int32_t >( row, 0 ); + gatheringLevel = exdData->getField< uint8_t >( row, 1 ); + item.push_back( exdData->getField< int32_t >( row, 2 ) ); + item.push_back( exdData->getField< int32_t >( row, 3 ) ); + item.push_back( exdData->getField< int32_t >( row, 4 ) ); + item.push_back( exdData->getField< int32_t >( row, 5 ) ); + item.push_back( exdData->getField< int32_t >( row, 6 ) ); + item.push_back( exdData->getField< int32_t >( row, 7 ) ); + item.push_back( exdData->getField< int32_t >( row, 8 ) ); + item.push_back( exdData->getField< int32_t >( row, 9 ) ); + isLimited = exdData->getField< bool >( row, 10 ); } Core::Data::GatheringPointBonus::GatheringPointBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringPointBonusDat.get_row( row_id ); - condition = exdData->getField< uint8_t >( row, 0 ); - conditionValue = exdData->getField< uint16_t >( row, 1 ); - bonusType = exdData->getField< uint8_t >( row, 3 ); - bonusValue = exdData->getField< uint16_t >( row, 4 ); + auto row = exdData->m_GatheringPointBonusDat.get_row( row_id ); + condition = exdData->getField< uint8_t >( row, 0 ); + conditionValue = exdData->getField< uint16_t >( row, 1 ); + bonusType = exdData->getField< uint8_t >( row, 3 ); + bonusValue = exdData->getField< uint16_t >( row, 4 ); } Core::Data::GatheringPointBonusType::GatheringPointBonusType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringPointBonusTypeDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_GatheringPointBonusTypeDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); } Core::Data::GatheringPointName::GatheringPointName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringPointNameDat.get_row( row_id ); - singular = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); + auto row = exdData->m_GatheringPointNameDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); } Core::Data::GatheringSubCategory::GatheringSubCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringSubCategoryDat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 4 ); - folkloreBook = exdData->getField< std::string >( row, 5 ); + auto row = exdData->m_GatheringSubCategoryDat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 4 ); + folkloreBook = exdData->getField< std::string >( row, 5 ); } Core::Data::GatheringType::GatheringType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GatheringTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - iconMain = exdData->getField< int32_t >( row, 1 ); - iconOff = exdData->getField< int32_t >( row, 2 ); + auto row = exdData->m_GatheringTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + iconMain = exdData->getField< int32_t >( row, 1 ); + iconOff = exdData->getField< int32_t >( row, 2 ); +} + +Core::Data::GcArmyCaptureTactics::GcArmyCaptureTactics( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GcArmyCaptureTacticsDat.get_row( row_id ); + name = exdData->getField< int32_t >( row, 0 ); + hP = exdData->getField< uint8_t >( row, 1 ); + damageDealt = exdData->getField< uint8_t >( row, 2 ); + damageReceived = exdData->getField< uint8_t >( row, 3 ); + tactic = exdData->getField< uint32_t >( row, 4 ); + icon = exdData->getField< uint32_t >( row, 5 ); } Core::Data::GcArmyExpedition::GcArmyExpedition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GcArmyExpeditionDat.get_row( row_id ); - requiredFlag = exdData->getField< uint8_t >( row, 0 ); - unlockFlag = exdData->getField< uint8_t >( row, 1 ); - requiredLevel = exdData->getField< uint8_t >( row, 2 ); - requiredSeals = exdData->getField< uint16_t >( row, 3 ); - rewardExperience = exdData->getField< uint32_t >( row, 4 ); - percentBase = exdData->getField< uint8_t >( row, 5 ); - gcArmyExpeditionType = exdData->getField< uint8_t >( row, 7 ); - name = exdData->getField< std::string >( row, 8 ); - description = exdData->getField< std::string >( row, 9 ); + auto row = exdData->m_GcArmyExpeditionDat.get_row( row_id ); + requiredFlag = exdData->getField< uint8_t >( row, 0 ); + unlockFlag = exdData->getField< uint8_t >( row, 1 ); + requiredLevel = exdData->getField< uint8_t >( row, 2 ); + requiredSeals = exdData->getField< uint16_t >( row, 3 ); + rewardExperience = exdData->getField< uint32_t >( row, 4 ); + percentBase = exdData->getField< uint8_t >( row, 5 ); + gcArmyExpeditionType = exdData->getField< uint8_t >( row, 7 ); + name = exdData->getField< std::string >( row, 8 ); + description = exdData->getField< std::string >( row, 9 ); } -Core::Data::GcArmyExpeditionMemberBonus::GcArmyExpeditionMemberBonus( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::GcArmyExpeditionMemberBonus::GcArmyExpeditionMemberBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GcArmyExpeditionMemberBonusDat.get_row( row_id ); - race = exdData->getField< uint8_t >( row, 0 ); - classJob = exdData->getField< uint8_t >( row, 1 ); + auto row = exdData->m_GcArmyExpeditionMemberBonusDat.get_row( row_id ); + race = exdData->getField< uint8_t >( row, 0 ); + classJob = exdData->getField< uint8_t >( row, 1 ); } Core::Data::GcArmyExpeditionType::GcArmyExpeditionType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GcArmyExpeditionTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_GcArmyExpeditionTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::GcArmyMemberGrow::GcArmyMemberGrow( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GcArmyMemberGrowDat.get_row( row_id ); - classJob = exdData->getField< uint8_t >( row, 0 ); - classBook = exdData->getField< int32_t >( row, 1 ); + auto row = exdData->m_GcArmyMemberGrowDat.get_row( row_id ); + classJob = exdData->getField< uint8_t >( row, 0 ); + classBook = exdData->getField< int32_t >( row, 1 ); } Core::Data::GcArmyTraining::GcArmyTraining( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GcArmyTrainingDat.get_row( row_id ); - physicalBonus = exdData->getField< int8_t >( row, 0 ); - mentalBonus = exdData->getField< int8_t >( row, 1 ); - tacticalBonus = exdData->getField< int8_t >( row, 2 ); - experience = exdData->getField< uint32_t >( row, 3 ); - name = exdData->getField< std::string >( row, 4 ); - description = exdData->getField< std::string >( row, 5 ); + auto row = exdData->m_GcArmyTrainingDat.get_row( row_id ); + physicalBonus = exdData->getField< int8_t >( row, 0 ); + mentalBonus = exdData->getField< int8_t >( row, 1 ); + tacticalBonus = exdData->getField< int8_t >( row, 2 ); + experience = exdData->getField< uint32_t >( row, 3 ); + name = exdData->getField< std::string >( row, 4 ); + description = exdData->getField< std::string >( row, 5 ); } Core::Data::GCRankGridaniaFemaleText::GCRankGridaniaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCRankGridaniaFemaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - nameRank = exdData->getField< std::string >( row, 8 ); + auto row = exdData->m_GCRankGridaniaFemaleTextDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCRankGridaniaMaleText::GCRankGridaniaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCRankGridaniaMaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - nameRank = exdData->getField< std::string >( row, 8 ); + auto row = exdData->m_GCRankGridaniaMaleTextDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCRankLimsaFemaleText::GCRankLimsaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCRankLimsaFemaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - nameRank = exdData->getField< std::string >( row, 8 ); + auto row = exdData->m_GCRankLimsaFemaleTextDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCRankLimsaMaleText::GCRankLimsaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCRankLimsaMaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - nameRank = exdData->getField< std::string >( row, 8 ); + auto row = exdData->m_GCRankLimsaMaleTextDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCRankUldahFemaleText::GCRankUldahFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCRankUldahFemaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - nameRank = exdData->getField< std::string >( row, 8 ); + auto row = exdData->m_GCRankUldahFemaleTextDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCRankUldahMaleText::GCRankUldahMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCRankUldahMaleTextDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - nameRank = exdData->getField< std::string >( row, 8 ); + auto row = exdData->m_GCRankUldahMaleTextDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + nameRank = exdData->getField< std::string >( row, 8 ); } Core::Data::GCScripShopCategory::GCScripShopCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCScripShopCategoryDat.get_row( row_id ); - grandCompany = exdData->getField< int8_t >( row, 0 ); - tier = exdData->getField< int8_t >( row, 1 ); - subCategory = exdData->getField< int8_t >( row, 2 ); + auto row = exdData->m_GCScripShopCategoryDat.get_row( row_id ); + grandCompany = exdData->getField< int8_t >( row, 0 ); + tier = exdData->getField< int8_t >( row, 1 ); + subCategory = exdData->getField< int8_t >( row, 2 ); } Core::Data::GCScripShopItem::GCScripShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCScripShopItemDat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 0 ); - requiredGrandCompanyRank = exdData->getField< int32_t >( row, 1 ); - costGCSeals = exdData->getField< uint32_t >( row, 2 ); - sortKey = exdData->getField< uint8_t >( row, 3 ); + auto row = exdData->m_GCScripShopItemDat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 0 ); + requiredGrandCompanyRank = exdData->getField< int32_t >( row, 1 ); + costGCSeals = exdData->getField< uint32_t >( row, 2 ); + sortKey = exdData->getField< uint8_t >( row, 3 ); } Core::Data::GCShop::GCShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCShopDat.get_row( row_id ); - grandCompany = exdData->getField< int8_t >( row, 0 ); + auto row = exdData->m_GCShopDat.get_row( row_id ); + grandCompany = exdData->getField< int8_t >( row, 0 ); } Core::Data::GCShopItemCategory::GCShopItemCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCShopItemCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_GCShopItemCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::GCSupplyDuty::GCSupplyDuty( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCSupplyDutyDat.get_row( row_id ); + auto row = exdData->m_GCSupplyDutyDat.get_row( row_id ); } Core::Data::GCSupplyDutyReward::GCSupplyDutyReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GCSupplyDutyRewardDat.get_row( row_id ); - experienceSupply = exdData->getField< uint32_t >( row, 0 ); - experienceProvisioning = exdData->getField< uint32_t >( row, 1 ); - sealsExpertDelivery = exdData->getField< uint32_t >( row, 2 ); - sealsSupply = exdData->getField< uint32_t >( row, 3 ); - sealsProvisioning = exdData->getField< uint32_t >( row, 4 ); + auto row = exdData->m_GCSupplyDutyRewardDat.get_row( row_id ); + experienceSupply = exdData->getField< uint32_t >( row, 0 ); + experienceProvisioning = exdData->getField< uint32_t >( row, 1 ); + sealsExpertDelivery = exdData->getField< uint32_t >( row, 2 ); + sealsSupply = exdData->getField< uint32_t >( row, 3 ); + sealsProvisioning = exdData->getField< uint32_t >( row, 4 ); } Core::Data::GeneralAction::GeneralAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GeneralActionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - action = exdData->getField< uint16_t >( row, 3 ); - icon = exdData->getField< int32_t >( row, 7 ); + auto row = exdData->m_GeneralActionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + action = exdData->getField< uint16_t >( row, 3 ); + unlockLink = exdData->getField< uint16_t >( row, 4 ); + icon = exdData->getField< int32_t >( row, 7 ); +} + +Core::Data::GFATE::GFATE( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GFATEDat.get_row( row_id ); + icon.push_back( exdData->getField< uint32_t >( row, 22 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 23 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 24 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 25 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 26 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 27 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 28 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 29 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 30 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 31 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 32 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 33 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 34 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 35 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 36 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 37 ) ); } Core::Data::GilShop::GilShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GilShopDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_GilShopDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< uint32_t >( row, 1 ); + questRequired.push_back( exdData->getField< uint32_t >( row, 2 ) ); + questRequired.push_back( exdData->getField< uint32_t >( row, 3 ) ); + questRequired.push_back( exdData->getField< uint32_t >( row, 4 ) ); + questRequired.push_back( exdData->getField< uint32_t >( row, 5 ) ); + acceptTalk = exdData->getField< int32_t >( row, 6 ); + failTalk = exdData->getField< int32_t >( row, 7 ); } Core::Data::GilShopItem::GilShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GilShopItemDat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 0 ); - rowRequired.push_back( exdData->getField< int32_t >( row, 3 ) ); - rowRequired.push_back( exdData->getField< int32_t >( row, 4 ) ); - rowRequired.push_back( exdData->getField< int32_t >( row, 5 ) ); - stateRequired = exdData->getField< uint16_t >( row, 7 ); - patch = exdData->getField< uint16_t >( row, 8 ); + auto row = exdData->m_GilShopItemDat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 0 ); + rowRequired.push_back( exdData->getField< int32_t >( row, 3 ) ); + rowRequired.push_back( exdData->getField< int32_t >( row, 4 ) ); + rowRequired.push_back( exdData->getField< int32_t >( row, 5 ) ); + stateRequired = exdData->getField< uint16_t >( row, 7 ); + patch = exdData->getField< uint16_t >( row, 8 ); +} + +Core::Data::GoldSaucerArcadeMachine::GoldSaucerArcadeMachine( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GoldSaucerArcadeMachineDat.get_row( row_id ); + failImage = exdData->getField< uint32_t >( row, 6 ); + poor = exdData->getField< uint32_t >( row, 35 ); + good = exdData->getField< uint32_t >( row, 36 ); + great = exdData->getField< uint32_t >( row, 37 ); + excellent = exdData->getField< uint32_t >( row, 38 ); } Core::Data::GoldSaucerTextData::GoldSaucerTextData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GoldSaucerTextDataDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_GoldSaucerTextDataDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); } Core::Data::GrandCompany::GrandCompany( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GrandCompanyDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_GrandCompanyDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::GrandCompanyRank::GrandCompanyRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GrandCompanyRankDat.get_row( row_id ); - tier = exdData->getField< uint8_t >( row, 0 ); - order = exdData->getField< uint8_t >( row, 1 ); - maxSeals = exdData->getField< uint32_t >( row, 2 ); - requiredSeals = exdData->getField< uint32_t >( row, 3 ); - iconMaelstrom = exdData->getField< int32_t >( row, 4 ); - iconSerpents = exdData->getField< int32_t >( row, 5 ); - iconFlames = exdData->getField< int32_t >( row, 6 ); - questMaelstrom = exdData->getField< int32_t >( row, 7 ); - questSerpents = exdData->getField< int32_t >( row, 8 ); - questFlames = exdData->getField< int32_t >( row, 9 ); + auto row = exdData->m_GrandCompanyRankDat.get_row( row_id ); + tier = exdData->getField< uint8_t >( row, 0 ); + order = exdData->getField< uint8_t >( row, 1 ); + maxSeals = exdData->getField< uint32_t >( row, 2 ); + requiredSeals = exdData->getField< uint32_t >( row, 3 ); + iconMaelstrom = exdData->getField< int32_t >( row, 4 ); + iconSerpents = exdData->getField< int32_t >( row, 5 ); + iconFlames = exdData->getField< int32_t >( row, 6 ); + questMaelstrom = exdData->getField< int32_t >( row, 7 ); + questSerpents = exdData->getField< int32_t >( row, 8 ); + questFlames = exdData->getField< int32_t >( row, 9 ); } Core::Data::GuardianDeity::GuardianDeity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GuardianDeityDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - icon = exdData->getField< uint16_t >( row, 2 ); + auto row = exdData->m_GuardianDeityDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + icon = exdData->getField< uint16_t >( row, 2 ); } Core::Data::GuildleveAssignment::GuildleveAssignment( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GuildleveAssignmentDat.get_row( row_id ); - quest.push_back( exdData->getField< uint32_t >( row, 2 ) ); - quest.push_back( exdData->getField< uint32_t >( row, 3 ) ); + auto row = exdData->m_GuildleveAssignmentDat.get_row( row_id ); + assignmentTalk = exdData->getField< uint32_t >( row, 1 ); + quest.push_back( exdData->getField< uint32_t >( row, 2 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 3 ) ); +} + +Core::Data::GuildleveAssignmentCategory::GuildleveAssignmentCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GuildleveAssignmentCategoryDat.get_row( row_id ); + category.push_back( exdData->getField< int32_t >( row, 0 ) ); + category.push_back( exdData->getField< int32_t >( row, 1 ) ); + category.push_back( exdData->getField< int32_t >( row, 2 ) ); + category.push_back( exdData->getField< int32_t >( row, 3 ) ); + category.push_back( exdData->getField< int32_t >( row, 4 ) ); + category.push_back( exdData->getField< int32_t >( row, 5 ) ); + category.push_back( exdData->getField< int32_t >( row, 6 ) ); + category.push_back( exdData->getField< int32_t >( row, 7 ) ); } Core::Data::GuildOrderGuide::GuildOrderGuide( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GuildOrderGuideDat.get_row( row_id ); + auto row = exdData->m_GuildOrderGuideDat.get_row( row_id ); } Core::Data::GuildOrderOfficer::GuildOrderOfficer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_GuildOrderOfficerDat.get_row( row_id ); + auto row = exdData->m_GuildOrderOfficerDat.get_row( row_id ); +} + +Core::Data::HairMakeType::HairMakeType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HairMakeTypeDat.get_row( row_id ); + race = exdData->getField< int32_t >( row, 0 ); + tribe = exdData->getField< int32_t >( row, 1 ); + gender = exdData->getField< int8_t >( row, 2 ); } Core::Data::HouseRetainerPose::HouseRetainerPose( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_HouseRetainerPoseDat.get_row( row_id ); - actionTimeline = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_HouseRetainerPoseDat.get_row( row_id ); + actionTimeline = exdData->getField< uint16_t >( row, 0 ); +} + +Core::Data::HousingAethernet::HousingAethernet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HousingAethernetDat.get_row( row_id ); + level = exdData->getField< uint32_t >( row, 0 ); + territoryType = exdData->getField< uint16_t >( row, 1 ); + placeName = exdData->getField< uint16_t >( row, 2 ); + order = exdData->getField< uint8_t >( row, 3 ); +} + +Core::Data::HousingEmploymentNpcList::HousingEmploymentNpcList( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HousingEmploymentNpcListDat.get_row( row_id ); + race = exdData->getField< uint8_t >( row, 0 ); + eNpcBase.push_back( exdData->getField< uint32_t >( row, 1 ) ); + eNpcBase.push_back( exdData->getField< uint32_t >( row, 2 ) ); +} + +Core::Data::HousingEmploymentNpcRace::HousingEmploymentNpcRace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HousingEmploymentNpcRaceDat.get_row( row_id ); + race = exdData->getField< std::string >( row, 0 ); } Core::Data::HousingFurniture::HousingFurniture( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_HousingFurnitureDat.get_row( row_id ); - modelKey = exdData->getField< uint16_t >( row, 0 ); - housingItemCategory = exdData->getField< uint8_t >( row, 1 ); - usageType = exdData->getField< uint8_t >( row, 2 ); - usageParameter = exdData->getField< uint32_t >( row, 3 ); - housingLayoutLimit = exdData->getField< uint8_t >( row, 4 ); - event = exdData->getField< uint32_t >( row, 6 ); - item = exdData->getField< uint32_t >( row, 7 ); - destroyOnRemoval = exdData->getField< bool >( row, 8 ); + auto row = exdData->m_HousingFurnitureDat.get_row( row_id ); + modelKey = exdData->getField< uint16_t >( row, 0 ); + housingItemCategory = exdData->getField< uint8_t >( row, 1 ); + usageType = exdData->getField< uint8_t >( row, 2 ); + usageParameter = exdData->getField< uint32_t >( row, 3 ); + housingLayoutLimit = exdData->getField< uint8_t >( row, 4 ); + customTalk = exdData->getField< uint8_t >( row, 5 ); + event = exdData->getField< uint32_t >( row, 6 ); + item = exdData->getField< uint32_t >( row, 7 ); + destroyOnRemoval = exdData->getField< bool >( row, 8 ); + tooltip = exdData->getField< bool >( row, 9 ); +} + +Core::Data::HousingPlacement::HousingPlacement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HousingPlacementDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::HousingPreset::HousingPreset( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HousingPresetDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + exteriorRoof = exdData->getField< int32_t >( row, 10 ); + exteriorWall = exdData->getField< int32_t >( row, 11 ); + exteriorWindow = exdData->getField< int32_t >( row, 12 ); + exteriorDoor = exdData->getField< int32_t >( row, 13 ); + interiorWall = exdData->getField< int32_t >( row, 14 ); + interiorFlooring = exdData->getField< int32_t >( row, 15 ); + interiorLighting = exdData->getField< int32_t >( row, 16 ); + otherFloorWall = exdData->getField< int32_t >( row, 17 ); + otherFloorFlooring = exdData->getField< int32_t >( row, 18 ); + otherFloorLighting = exdData->getField< int32_t >( row, 19 ); + basementWall = exdData->getField< int32_t >( row, 20 ); + basementFlooring = exdData->getField< int32_t >( row, 21 ); + basementLighting = exdData->getField< int32_t >( row, 22 ); + mansionLighting = exdData->getField< int32_t >( row, 23 ); } Core::Data::HousingYardObject::HousingYardObject( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_HousingYardObjectDat.get_row( row_id ); - modelKey = exdData->getField< uint8_t >( row, 0 ); - housingItemCategory = exdData->getField< uint8_t >( row, 1 ); - usageType = exdData->getField< uint8_t >( row, 2 ); - usageParameter = exdData->getField< uint32_t >( row, 3 ); - housingLayoutLimit = exdData->getField< uint8_t >( row, 4 ); - event = exdData->getField< uint32_t >( row, 5 ); - item = exdData->getField< uint32_t >( row, 6 ); - destroyOnRemoval = exdData->getField< bool >( row, 7 ); + auto row = exdData->m_HousingYardObjectDat.get_row( row_id ); + modelKey = exdData->getField< uint8_t >( row, 0 ); + housingItemCategory = exdData->getField< uint8_t >( row, 1 ); + usageType = exdData->getField< uint8_t >( row, 2 ); + usageParameter = exdData->getField< uint32_t >( row, 3 ); + housingLayoutLimit = exdData->getField< uint8_t >( row, 4 ); + customTalk = exdData->getField< uint32_t >( row, 5 ); + item = exdData->getField< uint32_t >( row, 6 ); + destroyOnRemoval = exdData->getField< bool >( row, 7 ); +} + +Core::Data::HowTo::HowTo( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HowToDat.get_row( row_id ); + images.push_back( exdData->getField< int16_t >( row, 2 ) ); + images.push_back( exdData->getField< int16_t >( row, 3 ) ); + images.push_back( exdData->getField< int16_t >( row, 4 ) ); + images.push_back( exdData->getField< int16_t >( row, 5 ) ); + images.push_back( exdData->getField< int16_t >( row, 6 ) ); + images.push_back( exdData->getField< int16_t >( row, 7 ) ); + images.push_back( exdData->getField< int16_t >( row, 8 ) ); + images.push_back( exdData->getField< int16_t >( row, 9 ) ); + images.push_back( exdData->getField< int16_t >( row, 10 ) ); + images.push_back( exdData->getField< int16_t >( row, 11 ) ); + category = exdData->getField< int8_t >( row, 12 ); +} + +Core::Data::HowToCategory::HowToCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HowToCategoryDat.get_row( row_id ); + category = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::HowToPage::HowToPage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_HowToPageDat.get_row( row_id ); + image = exdData->getField< int32_t >( row, 2 ); } Core::Data::InstanceContent::InstanceContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_InstanceContentDat.get_row( row_id ); - instanceContentType = exdData->getField< uint8_t >( row, 0 ); - weekRestriction = exdData->getField< uint8_t >( row, 1 ); - timeLimitmin = exdData->getField< uint16_t >( row, 2 ); - name = exdData->getField< std::string >( row, 3 ); - bGM = exdData->getField< uint16_t >( row, 5 ); - territoryType = exdData->getField< uint32_t >( row, 9 ); - instanceContentTextDataBossStart = exdData->getField< uint32_t >( row, 13 ); - instanceContentTextDataBossEnd = exdData->getField< uint32_t >( row, 14 ); - bNpcBaseBoss = exdData->getField< uint32_t >( row, 15 ); - instanceContentTextDataObjectiveStart = exdData->getField< uint32_t >( row, 16 ); - instanceContentTextDataObjectiveEnd = exdData->getField< uint32_t >( row, 17 ); - sortKey = exdData->getField< uint16_t >( row, 18 ); - newPlayerBonusA = exdData->getField< uint16_t >( row, 21 ); - newPlayerBonusB = exdData->getField< uint16_t >( row, 22 ); - finalBossCurrencyA = exdData->getField< uint16_t >( row, 24 ); - finalBossCurrencyB = exdData->getField< uint16_t >( row, 25 ); - finalBossCurrencyC = exdData->getField< uint16_t >( row, 26 ); - instanceContentBuff = exdData->getField< int32_t >( row, 52 ); - partyCondition = exdData->getField< uint8_t >( row, 56 ); + auto row = exdData->m_InstanceContentDat.get_row( row_id ); + instanceContentType = exdData->getField< uint8_t >( row, 0 ); + weekRestriction = exdData->getField< uint8_t >( row, 1 ); + timeLimitmin = exdData->getField< uint16_t >( row, 2 ); + name = exdData->getField< std::string >( row, 3 ); + bGM = exdData->getField< uint16_t >( row, 5 ); + winBGM = exdData->getField< uint16_t >( row, 6 ); + cutscene = exdData->getField< uint32_t >( row, 7 ); + order = exdData->getField< uint16_t >( row, 9 ); + instanceContentTextDataBossStart = exdData->getField< uint32_t >( row, 12 ); + instanceContentTextDataBossEnd = exdData->getField< uint32_t >( row, 13 ); + bNpcBaseBoss = exdData->getField< uint32_t >( row, 14 ); + instanceContentTextDataObjectiveStart = exdData->getField< uint32_t >( row, 15 ); + instanceContentTextDataObjectiveEnd = exdData->getField< uint32_t >( row, 16 ); + sortKey = exdData->getField< uint16_t >( row, 17 ); + newPlayerBonusA = exdData->getField< uint16_t >( row, 20 ); + newPlayerBonusB = exdData->getField< uint16_t >( row, 21 ); + finalBossExp = exdData->getField< uint32_t >( row, 22 ); + finalBossCurrencyA = exdData->getField< uint16_t >( row, 23 ); + finalBossCurrencyB = exdData->getField< uint16_t >( row, 24 ); + finalBossCurrencyC = exdData->getField< uint16_t >( row, 25 ); + instanceClearExp = exdData->getField< uint32_t >( row, 46 ); + instanceContentBuff = exdData->getField< int32_t >( row, 51 ); + territoryType = exdData->getField< uint32_t >( row, 52 ); + partyCondition = exdData->getField< uint8_t >( row, 55 ); } Core::Data::InstanceContentBuff::InstanceContentBuff( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_InstanceContentBuffDat.get_row( row_id ); - echoStart = exdData->getField< uint16_t >( row, 0 ); - echoDeath = exdData->getField< uint16_t >( row, 1 ); + auto row = exdData->m_InstanceContentBuffDat.get_row( row_id ); + echoStart = exdData->getField< uint16_t >( row, 0 ); + echoDeath = exdData->getField< uint16_t >( row, 1 ); } Core::Data::InstanceContentTextData::InstanceContentTextData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_InstanceContentTextDataDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_InstanceContentTextDataDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); } Core::Data::Item::Item( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ItemDat.get_row( row_id ); - singular = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - startsWithVowel = exdData->getField< int8_t >( row, 4 ); - description = exdData->getField< std::string >( row, 8 ); - name = exdData->getField< std::string >( row, 9 ); - icon = exdData->getField< uint16_t >( row, 10 ); - levelItem = exdData->getField< uint16_t >( row, 11 ); - rarity = exdData->getField< uint8_t >( row, 12 ); - filterGroup = exdData->getField< uint8_t >( row, 13 ); - stain = exdData->getField< uint32_t >( row, 14 ); - itemUICategory = exdData->getField< uint8_t >( row, 15 ); - itemSearchCategory = exdData->getField< uint8_t >( row, 16 ); - equipSlotCategory = exdData->getField< uint8_t >( row, 17 ); - stackSize = exdData->getField< uint32_t >( row, 19 ); - isUnique = exdData->getField< bool >( row, 20 ); - isUntradable = exdData->getField< bool >( row, 21 ); - isIndisposable = exdData->getField< bool >( row, 22 ); - isEquippable = exdData->getField< bool >( row, 23 ); - priceMid = exdData->getField< uint32_t >( row, 24 ); - priceLow = exdData->getField< uint32_t >( row, 25 ); - canBeHq = exdData->getField< bool >( row, 26 ); - isDyeable = exdData->getField< bool >( row, 27 ); - isCrestWorthy = exdData->getField< bool >( row, 28 ); - itemAction = exdData->getField< uint16_t >( row, 29 ); - cooldowns = exdData->getField< uint16_t >( row, 31 ); - classJobRepair = exdData->getField< uint8_t >( row, 32 ); - itemRepair = exdData->getField< int32_t >( row, 33 ); - 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 ); + auto row = exdData->m_ItemDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + description = exdData->getField< std::string >( row, 8 ); + name = exdData->getField< std::string >( row, 9 ); + icon = exdData->getField< uint16_t >( row, 10 ); + levelItem = exdData->getField< uint16_t >( row, 11 ); + rarity = exdData->getField< uint8_t >( row, 12 ); + filterGroup = exdData->getField< uint8_t >( row, 13 ); + additionalData = exdData->getField< uint32_t >( row, 14 ); + itemUICategory = exdData->getField< uint8_t >( row, 15 ); + itemSearchCategory = exdData->getField< uint8_t >( row, 16 ); + equipSlotCategory = exdData->getField< uint8_t >( row, 17 ); + stackSize = exdData->getField< uint32_t >( row, 19 ); + isUnique = exdData->getField< bool >( row, 20 ); + isUntradable = exdData->getField< bool >( row, 21 ); + isIndisposable = exdData->getField< bool >( row, 22 ); + isEquippable = exdData->getField< bool >( row, 23 ); + priceMid = exdData->getField< uint32_t >( row, 24 ); + priceLow = exdData->getField< uint32_t >( row, 25 ); + canBeHq = exdData->getField< bool >( row, 26 ); + isDyeable = exdData->getField< bool >( row, 27 ); + isCrestWorthy = exdData->getField< bool >( row, 28 ); + itemAction = exdData->getField< uint16_t >( row, 29 ); + cooldowns = exdData->getField< uint16_t >( row, 31 ); + classJobRepair = exdData->getField< uint8_t >( row, 32 ); + itemRepair = exdData->getField< int32_t >( row, 33 ); + 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, 87 ); } Core::Data::ItemAction::ItemAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ItemActionDat.get_row( row_id ); - type = exdData->getField< uint16_t >( row, 4 ); - data.push_back( exdData->getField< uint16_t >( row, 5 ) ); - data.push_back( exdData->getField< uint16_t >( row, 6 ) ); - data.push_back( exdData->getField< uint16_t >( row, 7 ) ); - data.push_back( exdData->getField< uint16_t >( row, 8 ) ); - data.push_back( exdData->getField< uint16_t >( row, 9 ) ); - data.push_back( exdData->getField< uint16_t >( row, 10 ) ); - data.push_back( exdData->getField< uint16_t >( row, 11 ) ); - data.push_back( exdData->getField< uint16_t >( row, 12 ) ); - data.push_back( exdData->getField< uint16_t >( row, 13 ) ); - dataHQ.push_back( exdData->getField< uint16_t >( row, 14 ) ); - dataHQ.push_back( exdData->getField< uint16_t >( row, 15 ) ); - dataHQ.push_back( exdData->getField< uint16_t >( row, 16 ) ); - dataHQ.push_back( exdData->getField< uint16_t >( row, 17 ) ); - dataHQ.push_back( exdData->getField< uint16_t >( row, 18 ) ); - dataHQ.push_back( exdData->getField< uint16_t >( row, 19 ) ); - dataHQ.push_back( exdData->getField< uint16_t >( row, 20 ) ); - dataHQ.push_back( exdData->getField< uint16_t >( row, 21 ) ); - dataHQ.push_back( exdData->getField< uint16_t >( row, 22 ) ); + auto row = exdData->m_ItemActionDat.get_row( row_id ); + type = exdData->getField< uint16_t >( row, 4 ); + data.push_back( exdData->getField< uint16_t >( row, 5 ) ); + data.push_back( exdData->getField< uint16_t >( row, 6 ) ); + data.push_back( exdData->getField< uint16_t >( row, 7 ) ); + data.push_back( exdData->getField< uint16_t >( row, 8 ) ); + data.push_back( exdData->getField< uint16_t >( row, 9 ) ); + data.push_back( exdData->getField< uint16_t >( row, 10 ) ); + data.push_back( exdData->getField< uint16_t >( row, 11 ) ); + data.push_back( exdData->getField< uint16_t >( row, 12 ) ); + data.push_back( exdData->getField< uint16_t >( row, 13 ) ); + dataHQ.push_back( exdData->getField< uint16_t >( row, 14 ) ); + dataHQ.push_back( exdData->getField< uint16_t >( row, 15 ) ); + dataHQ.push_back( exdData->getField< uint16_t >( row, 16 ) ); + dataHQ.push_back( exdData->getField< uint16_t >( row, 17 ) ); + dataHQ.push_back( exdData->getField< uint16_t >( row, 18 ) ); + dataHQ.push_back( exdData->getField< uint16_t >( row, 19 ) ); + dataHQ.push_back( exdData->getField< uint16_t >( row, 20 ) ); + dataHQ.push_back( exdData->getField< uint16_t >( row, 21 ) ); + dataHQ.push_back( exdData->getField< uint16_t >( row, 22 ) ); } Core::Data::ItemFood::ItemFood( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ItemFoodDat.get_row( row_id ); + auto row = exdData->m_ItemFoodDat.get_row( row_id ); } Core::Data::ItemSearchCategory::ItemSearchCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ItemSearchCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - icon = exdData->getField< int32_t >( row, 1 ); - category = exdData->getField< uint8_t >( row, 2 ); - order = exdData->getField< uint8_t >( row, 3 ); - classJob = exdData->getField< int8_t >( row, 4 ); + auto row = exdData->m_ItemSearchCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); + category = exdData->getField< uint8_t >( row, 2 ); + order = exdData->getField< uint8_t >( row, 3 ); + classJob = exdData->getField< int8_t >( row, 4 ); } Core::Data::ItemSeries::ItemSeries( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ItemSeriesDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_ItemSeriesDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::ItemSpecialBonus::ItemSpecialBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ItemSpecialBonusDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_ItemSpecialBonusDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::ItemUICategory::ItemUICategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ItemUICategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - icon = exdData->getField< int32_t >( row, 1 ); - orderMinor = exdData->getField< uint8_t >( row, 2 ); - orderMajor = exdData->getField< uint8_t >( row, 3 ); + auto row = exdData->m_ItemUICategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); + orderMinor = exdData->getField< uint8_t >( row, 2 ); + orderMajor = exdData->getField< uint8_t >( row, 3 ); } Core::Data::JournalCategory::JournalCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_JournalCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - journalSection = exdData->getField< uint8_t >( row, 3 ); + auto row = exdData->m_JournalCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + journalSection = exdData->getField< uint8_t >( row, 3 ); } Core::Data::JournalGenre::JournalGenre( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_JournalGenreDat.get_row( row_id ); - icon = exdData->getField< int32_t >( row, 0 ); - journalCategory = exdData->getField< uint8_t >( row, 1 ); - name = exdData->getField< std::string >( row, 2 ); + auto row = exdData->m_JournalGenreDat.get_row( row_id ); + icon = exdData->getField< int32_t >( row, 0 ); + journalCategory = exdData->getField< uint8_t >( row, 1 ); + name = exdData->getField< std::string >( row, 2 ); } Core::Data::JournalSection::JournalSection( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_JournalSectionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_JournalSectionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::Leve::Leve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LeveDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - leveClient = exdData->getField< int32_t >( row, 2 ); - leveAssignmentType = exdData->getField< int32_t >( row, 3 ); - classJobLevel = exdData->getField< uint16_t >( row, 5 ); - allowanceCost = exdData->getField< uint8_t >( row, 7 ); - placeNameStart = exdData->getField< int32_t >( row, 9 ); - placeNameIssued = exdData->getField< int32_t >( row, 10 ); - classJobCategory = exdData->getField< uint8_t >( row, 12 ); - journalGenre = exdData->getField< int32_t >( row, 13 ); - placeNameStartZone = exdData->getField< int32_t >( row, 15 ); - iconCityState = exdData->getField< int32_t >( row, 16 ); - dataId = exdData->getField< int32_t >( row, 17 ); - expReward = exdData->getField< uint32_t >( row, 21 ); - gilReward = exdData->getField< uint32_t >( row, 22 ); - leveRewardItem = exdData->getField< uint16_t >( row, 23 ); - leveVfx = exdData->getField< uint8_t >( row, 24 ); - leveVfxFrame = exdData->getField< uint8_t >( row, 25 ); - levelLevemete = exdData->getField< uint32_t >( row, 26 ); - iconIssuer = exdData->getField< int32_t >( row, 27 ); - levelStart = exdData->getField< uint32_t >( row, 29 ); - bGM = exdData->getField< uint16_t >( row, 30 ); + auto row = exdData->m_LeveDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + leveClient = exdData->getField< int32_t >( row, 2 ); + leveAssignmentType = exdData->getField< int32_t >( row, 3 ); + classJobLevel = exdData->getField< uint16_t >( row, 5 ); + allowanceCost = exdData->getField< uint8_t >( row, 7 ); + placeNameStart = exdData->getField< int32_t >( row, 9 ); + placeNameIssued = exdData->getField< int32_t >( row, 10 ); + classJobCategory = exdData->getField< uint8_t >( row, 12 ); + journalGenre = exdData->getField< int32_t >( row, 13 ); + placeNameStartZone = exdData->getField< int32_t >( row, 15 ); + iconCityState = exdData->getField< int32_t >( row, 16 ); + dataId = exdData->getField< int32_t >( row, 17 ); + expReward = exdData->getField< uint32_t >( row, 21 ); + gilReward = exdData->getField< uint32_t >( row, 22 ); + leveRewardItem = exdData->getField< uint16_t >( row, 23 ); + leveVfx = exdData->getField< uint8_t >( row, 24 ); + leveVfxFrame = exdData->getField< uint8_t >( row, 25 ); + levelLevemete = exdData->getField< uint32_t >( row, 26 ); + iconIssuer = exdData->getField< int32_t >( row, 27 ); + levelStart = exdData->getField< uint32_t >( row, 29 ); + bGM = exdData->getField< uint16_t >( row, 30 ); } Core::Data::LeveAssignmentType::LeveAssignmentType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LeveAssignmentTypeDat.get_row( row_id ); - isFaction = exdData->getField< bool >( row, 0 ); - icon = exdData->getField< int32_t >( row, 1 ); - name = exdData->getField< std::string >( row, 2 ); + auto row = exdData->m_LeveAssignmentTypeDat.get_row( row_id ); + isFaction = exdData->getField< bool >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); + name = exdData->getField< std::string >( row, 2 ); } Core::Data::LeveClient::LeveClient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LeveClientDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_LeveClientDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::Level::Level( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LevelDat.get_row( row_id ); - x = exdData->getField< float >( row, 0 ); - y = exdData->getField< float >( row, 1 ); - z = exdData->getField< float >( row, 2 ); - yaw = exdData->getField< float >( row, 3 ); - radius = exdData->getField< float >( row, 4 ); - type = exdData->getField< uint8_t >( row, 5 ); - objectKey = exdData->getField< uint32_t >( row, 6 ); - map = exdData->getField< uint16_t >( row, 7 ); - eventId = exdData->getField< uint32_t >( row, 8 ); - territory = exdData->getField< uint16_t >( row, 9 ); + auto row = exdData->m_LevelDat.get_row( row_id ); + x = exdData->getField< float >( row, 0 ); + y = exdData->getField< float >( row, 1 ); + z = exdData->getField< float >( row, 2 ); + yaw = exdData->getField< float >( row, 3 ); + radius = exdData->getField< float >( row, 4 ); + type = exdData->getField< uint8_t >( row, 5 ); + object = exdData->getField< uint32_t >( row, 6 ); + map = exdData->getField< uint16_t >( row, 7 ); + eventId = exdData->getField< uint32_t >( row, 8 ); + territory = exdData->getField< uint16_t >( row, 9 ); } Core::Data::LeveRewardItem::LeveRewardItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LeveRewardItemDat.get_row( row_id ); + auto row = exdData->m_LeveRewardItemDat.get_row( row_id ); } Core::Data::LeveRewardItemGroup::LeveRewardItemGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LeveRewardItemGroupDat.get_row( row_id ); + auto row = exdData->m_LeveRewardItemGroupDat.get_row( row_id ); } Core::Data::LeveVfx::LeveVfx( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LeveVfxDat.get_row( row_id ); - effect = exdData->getField< std::string >( row, 0 ); - icon = exdData->getField< int32_t >( row, 1 ); + auto row = exdData->m_LeveVfxDat.get_row( row_id ); + effect = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); } Core::Data::LogFilter::LogFilter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LogFilterDat.get_row( row_id ); - logKind = exdData->getField< uint16_t >( row, 1 ); - name = exdData->getField< std::string >( row, 6 ); - example = exdData->getField< std::string >( row, 7 ); + auto row = exdData->m_LogFilterDat.get_row( row_id ); + logKind = exdData->getField< uint8_t >( row, 0 ); + name = exdData->getField< std::string >( row, 6 ); + example = exdData->getField< std::string >( row, 7 ); } Core::Data::LogKind::LogKind( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LogKindDat.get_row( row_id ); - format = exdData->getField< std::string >( row, 1 ); - name = exdData->getField< std::string >( row, 2 ); - example = exdData->getField< std::string >( row, 3 ); - logKindCategoryText = exdData->getField< uint8_t >( row, 4 ); + auto row = exdData->m_LogKindDat.get_row( row_id ); + format = exdData->getField< std::string >( row, 1 ); + name = exdData->getField< std::string >( row, 2 ); + example = exdData->getField< std::string >( row, 3 ); + logKindCategoryText = exdData->getField< uint8_t >( row, 4 ); } Core::Data::LogKindCategoryText::LogKindCategoryText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LogKindCategoryTextDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_LogKindCategoryTextDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); } Core::Data::LogMessage::LogMessage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_LogMessageDat.get_row( row_id ); - logKind = exdData->getField< uint16_t >( row, 0 ); - text = exdData->getField< std::string >( row, 4 ); + auto row = exdData->m_LogMessageDat.get_row( row_id ); + logKind = exdData->getField< uint16_t >( row, 0 ); + text = exdData->getField< std::string >( row, 4 ); +} + +Core::Data::LotteryExchangeShop::LotteryExchangeShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_LotteryExchangeShopDat.get_row( row_id ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 1 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 2 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 3 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 4 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 5 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 6 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 7 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 8 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 9 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 10 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 11 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 12 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 13 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 14 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 15 ) ); + itemAccepted.push_back( exdData->getField< int32_t >( row, 16 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 17 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 18 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 19 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 20 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 21 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 22 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 23 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 24 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 25 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 26 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 27 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 28 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 29 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 30 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 31 ) ); + amountAccepted.push_back( exdData->getField< uint32_t >( row, 32 ) ); } Core::Data::MacroIcon::MacroIcon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MacroIconDat.get_row( row_id ); - icon = exdData->getField< int32_t >( row, 0 ); + auto row = exdData->m_MacroIconDat.get_row( row_id ); + icon = exdData->getField< int32_t >( row, 0 ); } Core::Data::MacroIconRedirectOld::MacroIconRedirectOld( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MacroIconRedirectOldDat.get_row( row_id ); - iconOld = exdData->getField< uint32_t >( row, 0 ); - iconNew = exdData->getField< int32_t >( row, 1 ); + auto row = exdData->m_MacroIconRedirectOldDat.get_row( row_id ); + iconOld = exdData->getField< uint32_t >( row, 0 ); + iconNew = exdData->getField< int32_t >( row, 1 ); } Core::Data::MainCommand::MainCommand( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MainCommandDat.get_row( row_id ); - icon = exdData->getField< int32_t >( row, 0 ); - mainCommandCategory = exdData->getField< uint8_t >( row, 2 ); - name = exdData->getField< std::string >( row, 4 ); - description = exdData->getField< std::string >( row, 5 ); + auto row = exdData->m_MainCommandDat.get_row( row_id ); + icon = exdData->getField< int32_t >( row, 0 ); + mainCommandCategory = exdData->getField< uint8_t >( row, 2 ); + name = exdData->getField< std::string >( row, 4 ); + description = exdData->getField< std::string >( row, 5 ); } Core::Data::MainCommandCategory::MainCommandCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MainCommandCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_MainCommandCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 1 ); +} + +Core::Data::ManeuversArmor::ManeuversArmor( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ManeuversArmorDat.get_row( row_id ); + bNpcBase.push_back( exdData->getField< uint32_t >( row, 1 ) ); + bNpcBase.push_back( exdData->getField< uint32_t >( row, 2 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 5 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 6 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 7 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 8 ) ); + icon.push_back( exdData->getField< uint32_t >( row, 9 ) ); } Core::Data::Map::Map( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MapDat.get_row( row_id ); - 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 ); + auto row = exdData->m_MapDat.get_row( row_id ); + 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 ); } Core::Data::MapMarker::MapMarker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MapMarkerDat.get_row( row_id ); - x = exdData->getField< int16_t >( row, 0 ); - y = exdData->getField< int16_t >( row, 1 ); - icon = exdData->getField< uint16_t >( row, 2 ); - placeNameSubtext = exdData->getField< uint16_t >( row, 3 ); - subtextOrientation = exdData->getField< uint8_t >( row, 4 ); - mapMarkerRegion = exdData->getField< uint8_t >( row, 5 ); - type = exdData->getField< uint8_t >( row, 6 ); - dataType = exdData->getField< uint8_t >( row, 7 ); - dataKey = exdData->getField< uint16_t >( row, 8 ); + auto row = exdData->m_MapMarkerDat.get_row( row_id ); + x = exdData->getField< int16_t >( row, 0 ); + y = exdData->getField< int16_t >( row, 1 ); + icon = exdData->getField< uint16_t >( row, 2 ); + placeNameSubtext = exdData->getField< uint16_t >( row, 3 ); + subtextOrientation = exdData->getField< uint8_t >( row, 4 ); + mapMarkerRegion = exdData->getField< uint8_t >( row, 5 ); + type = exdData->getField< uint8_t >( row, 6 ); + dataType = exdData->getField< uint8_t >( row, 7 ); + dataKey = exdData->getField< uint16_t >( row, 8 ); } Core::Data::MapMarkerRegion::MapMarkerRegion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MapMarkerRegionDat.get_row( row_id ); - x = exdData->getField< int16_t >( row, 0 ); + auto row = exdData->m_MapMarkerRegionDat.get_row( row_id ); + x = exdData->getField< int16_t >( row, 0 ); } Core::Data::MapSymbol::MapSymbol( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MapSymbolDat.get_row( row_id ); - icon = exdData->getField< int32_t >( row, 0 ); - placeName = exdData->getField< int32_t >( row, 1 ); + auto row = exdData->m_MapSymbolDat.get_row( row_id ); + icon = exdData->getField< int32_t >( row, 0 ); + placeName = exdData->getField< int32_t >( row, 1 ); } Core::Data::Marker::Marker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MarkerDat.get_row( row_id ); - icon = exdData->getField< int32_t >( row, 0 ); - name = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_MarkerDat.get_row( row_id ); + icon = exdData->getField< int32_t >( row, 0 ); + name = exdData->getField< std::string >( row, 1 ); } Core::Data::MasterpieceSupplyDuty::MasterpieceSupplyDuty( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MasterpieceSupplyDutyDat.get_row( row_id ); - classJob = exdData->getField< uint8_t >( row, 0 ); - classJobLevel = exdData->getField< uint8_t >( row, 1 ); - rewardCurrency = exdData->getField< uint16_t >( row, 2 ); + auto row = exdData->m_MasterpieceSupplyDutyDat.get_row( row_id ); + classJob = exdData->getField< uint8_t >( row, 0 ); + classJobLevel = exdData->getField< uint8_t >( row, 1 ); + rewardCurrency = exdData->getField< uint16_t >( row, 2 ); } -Core::Data::MasterpieceSupplyMultiplier::MasterpieceSupplyMultiplier( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::MasterpieceSupplyMultiplier::MasterpieceSupplyMultiplier( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MasterpieceSupplyMultiplierDat.get_row( row_id ); - xpMultiplier.push_back( exdData->getField< uint16_t >( row, 0 ) ); - xpMultiplier.push_back( exdData->getField< uint16_t >( row, 1 ) ); - currencyMultiplier.push_back( exdData->getField< uint16_t >( row, 4 ) ); - currencyMultiplier.push_back( exdData->getField< uint16_t >( row, 5 ) ); + auto row = exdData->m_MasterpieceSupplyMultiplierDat.get_row( row_id ); + xpMultiplier.push_back( exdData->getField< uint16_t >( row, 0 ) ); + xpMultiplier.push_back( exdData->getField< uint16_t >( row, 1 ) ); + currencyMultiplier.push_back( exdData->getField< uint16_t >( row, 4 ) ); + currencyMultiplier.push_back( exdData->getField< uint16_t >( row, 5 ) ); } Core::Data::Materia::Materia( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MateriaDat.get_row( row_id ); - item.push_back( exdData->getField< int32_t >( row, 0 ) ); - item.push_back( exdData->getField< int32_t >( row, 1 ) ); - item.push_back( exdData->getField< int32_t >( row, 2 ) ); - item.push_back( exdData->getField< int32_t >( row, 3 ) ); - item.push_back( exdData->getField< int32_t >( row, 4 ) ); - item.push_back( exdData->getField< int32_t >( row, 5 ) ); - item.push_back( exdData->getField< int32_t >( row, 6 ) ); - item.push_back( exdData->getField< int32_t >( row, 7 ) ); - item.push_back( exdData->getField< int32_t >( row, 8 ) ); - item.push_back( exdData->getField< int32_t >( row, 9 ) ); - baseParam = exdData->getField< uint8_t >( row, 10 ); - value.push_back( exdData->getField< uint8_t >( row, 11 ) ); - value.push_back( exdData->getField< uint8_t >( row, 12 ) ); - value.push_back( exdData->getField< uint8_t >( row, 13 ) ); - value.push_back( exdData->getField< uint8_t >( row, 14 ) ); - value.push_back( exdData->getField< uint8_t >( row, 15 ) ); - value.push_back( exdData->getField< uint8_t >( row, 16 ) ); - value.push_back( exdData->getField< uint8_t >( row, 17 ) ); - value.push_back( exdData->getField< uint8_t >( row, 18 ) ); - value.push_back( exdData->getField< uint8_t >( row, 19 ) ); - value.push_back( exdData->getField< uint8_t >( row, 20 ) ); + auto row = exdData->m_MateriaDat.get_row( row_id ); + item.push_back( exdData->getField< int32_t >( row, 0 ) ); + item.push_back( exdData->getField< int32_t >( row, 1 ) ); + item.push_back( exdData->getField< int32_t >( row, 2 ) ); + item.push_back( exdData->getField< int32_t >( row, 3 ) ); + item.push_back( exdData->getField< int32_t >( row, 4 ) ); + item.push_back( exdData->getField< int32_t >( row, 5 ) ); + item.push_back( exdData->getField< int32_t >( row, 6 ) ); + item.push_back( exdData->getField< int32_t >( row, 7 ) ); + item.push_back( exdData->getField< int32_t >( row, 8 ) ); + item.push_back( exdData->getField< int32_t >( row, 9 ) ); + baseParam = exdData->getField< uint8_t >( row, 10 ); + value.push_back( exdData->getField< uint8_t >( row, 11 ) ); + value.push_back( exdData->getField< uint8_t >( row, 12 ) ); + value.push_back( exdData->getField< uint8_t >( row, 13 ) ); + value.push_back( exdData->getField< uint8_t >( row, 14 ) ); + value.push_back( exdData->getField< uint8_t >( row, 15 ) ); + value.push_back( exdData->getField< uint8_t >( row, 16 ) ); + value.push_back( exdData->getField< uint8_t >( row, 17 ) ); + value.push_back( exdData->getField< uint8_t >( row, 18 ) ); + value.push_back( exdData->getField< uint8_t >( row, 19 ) ); + value.push_back( exdData->getField< uint8_t >( row, 20 ) ); } Core::Data::MinionRace::MinionRace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MinionRaceDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_MinionRaceDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::MinionRules::MinionRules( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MinionRulesDat.get_row( row_id ); - rule = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_MinionRulesDat.get_row( row_id ); + rule = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); } Core::Data::MinionSkillType::MinionSkillType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MinionSkillTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_MinionSkillTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::MobHuntOrderType::MobHuntOrderType( uint32_t row_id, Core::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 ); } Core::Data::MobHuntTarget::MobHuntTarget( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MobHuntTargetDat.get_row( row_id ); - name = exdData->getField< uint16_t >( row, 0 ); - fATE = exdData->getField< uint16_t >( row, 1 ); - icon = exdData->getField< uint32_t >( row, 2 ); - territoryType = exdData->getField< uint16_t >( row, 3 ); - placeName = exdData->getField< uint16_t >( row, 4 ); + auto row = exdData->m_MobHuntTargetDat.get_row( row_id ); + name = exdData->getField< uint16_t >( row, 0 ); + fATE = exdData->getField< uint16_t >( row, 1 ); + icon = exdData->getField< uint32_t >( row, 2 ); + territoryType = exdData->getField< uint16_t >( row, 3 ); + placeName = exdData->getField< uint16_t >( row, 4 ); } Core::Data::ModelChara::ModelChara( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ModelCharaDat.get_row( row_id ); - type = exdData->getField< uint8_t >( row, 0 ); - model = exdData->getField< uint16_t >( row, 1 ); - base = exdData->getField< uint8_t >( row, 2 ); - variant = exdData->getField< uint8_t >( row, 3 ); + auto row = exdData->m_ModelCharaDat.get_row( row_id ); + type = exdData->getField< uint8_t >( row, 0 ); + model = exdData->getField< uint16_t >( row, 1 ); + base = exdData->getField< uint8_t >( row, 2 ); + variant = exdData->getField< uint8_t >( row, 3 ); +} + +Core::Data::ModelState::ModelState( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ModelStateDat.get_row( row_id ); + start = exdData->getField< uint16_t >( row, 0 ); + end = exdData->getField< uint16_t >( row, 1 ); } Core::Data::MonsterNote::MonsterNote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MonsterNoteDat.get_row( row_id ); - monsterNoteTarget.push_back( exdData->getField< uint16_t >( row, 0 ) ); - monsterNoteTarget.push_back( exdData->getField< uint16_t >( row, 1 ) ); - monsterNoteTarget.push_back( exdData->getField< uint16_t >( row, 2 ) ); - monsterNoteTarget.push_back( exdData->getField< uint16_t >( row, 3 ) ); - count.push_back( exdData->getField< uint8_t >( row, 4 ) ); - count.push_back( exdData->getField< uint8_t >( row, 5 ) ); - count.push_back( exdData->getField< uint8_t >( row, 6 ) ); - count.push_back( exdData->getField< uint8_t >( row, 7 ) ); - reward = exdData->getField< uint32_t >( row, 8 ); - name = exdData->getField< std::string >( row, 9 ); + auto row = exdData->m_MonsterNoteDat.get_row( row_id ); + monsterNoteTarget.push_back( exdData->getField< uint16_t >( row, 0 ) ); + monsterNoteTarget.push_back( exdData->getField< uint16_t >( row, 1 ) ); + monsterNoteTarget.push_back( exdData->getField< uint16_t >( row, 2 ) ); + monsterNoteTarget.push_back( exdData->getField< uint16_t >( row, 3 ) ); + count.push_back( exdData->getField< uint8_t >( row, 4 ) ); + count.push_back( exdData->getField< uint8_t >( row, 5 ) ); + count.push_back( exdData->getField< uint8_t >( row, 6 ) ); + count.push_back( exdData->getField< uint8_t >( row, 7 ) ); + reward = exdData->getField< uint32_t >( row, 8 ); + name = exdData->getField< std::string >( row, 9 ); } Core::Data::MonsterNoteTarget::MonsterNoteTarget( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MonsterNoteTargetDat.get_row( row_id ); - bNpcName = exdData->getField< uint16_t >( row, 0 ); - icon = exdData->getField< int32_t >( row, 1 ); + auto row = exdData->m_MonsterNoteTargetDat.get_row( row_id ); + bNpcName = exdData->getField< uint16_t >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); } Core::Data::Mount::Mount( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MountDat.get_row( row_id ); - singular = exdData->getField< std::string >( row, 0 ); - plural = exdData->getField< std::string >( row, 2 ); - flyingCondition = exdData->getField< uint8_t >( row, 10 ); - isFlying = exdData->getField< uint8_t >( row, 14 ); - rideBGM = exdData->getField< uint16_t >( row, 17 ); - order = exdData->getField< int16_t >( row, 29 ); - icon = exdData->getField< uint16_t >( row, 30 ); + auto row = exdData->m_MountDat.get_row( row_id ); + singular = exdData->getField< std::string >( row, 0 ); + plural = exdData->getField< std::string >( row, 2 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + modelChara = exdData->getField< int32_t >( row, 8 ); + flyingCondition = exdData->getField< uint8_t >( row, 10 ); + isFlying = exdData->getField< uint8_t >( row, 14 ); + mountCustomize = exdData->getField< uint8_t >( row, 16 ); + rideBGM = exdData->getField< uint16_t >( row, 17 ); + order = exdData->getField< int16_t >( row, 29 ); + icon = exdData->getField< uint16_t >( row, 30 ); + mountAction = exdData->getField< uint16_t >( row, 37 ); + isAirborne = exdData->getField< bool >( row, 38 ); } Core::Data::MountAction::MountAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MountActionDat.get_row( row_id ); - action.push_back( exdData->getField< uint16_t >( row, 0 ) ); - action.push_back( exdData->getField< uint16_t >( row, 1 ) ); - action.push_back( exdData->getField< uint16_t >( row, 2 ) ); - action.push_back( exdData->getField< uint16_t >( row, 3 ) ); - action.push_back( exdData->getField< uint16_t >( row, 4 ) ); - action.push_back( exdData->getField< uint16_t >( row, 5 ) ); + auto row = exdData->m_MountActionDat.get_row( row_id ); + action.push_back( exdData->getField< uint16_t >( row, 0 ) ); + action.push_back( exdData->getField< uint16_t >( row, 1 ) ); + action.push_back( exdData->getField< uint16_t >( row, 2 ) ); + action.push_back( exdData->getField< uint16_t >( row, 3 ) ); + action.push_back( exdData->getField< uint16_t >( row, 4 ) ); + action.push_back( exdData->getField< uint16_t >( row, 5 ) ); +} + +Core::Data::MountCustomize::MountCustomize( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MountCustomizeDat.get_row( row_id ); + hyurMaleScale = exdData->getField< float >( row, 1 ); + hyurFemaleScale = exdData->getField< float >( row, 2 ); + elezenMaleScale = exdData->getField< float >( row, 3 ); + elezenFemaleScale = exdData->getField< float >( row, 4 ); + lalaMaleScale = exdData->getField< float >( row, 5 ); + lalaFemaleScale = exdData->getField< float >( row, 6 ); + miqoMaleScale = exdData->getField< float >( row, 7 ); + miqoFemaleScale = exdData->getField< float >( row, 8 ); + roeMaleScale = exdData->getField< float >( row, 9 ); + roeFemaleScale = exdData->getField< float >( row, 10 ); + auRaMaleScale = exdData->getField< float >( row, 11 ); + auRaFemaleScale = exdData->getField< float >( row, 12 ); +} + +Core::Data::MountFlyingCondition::MountFlyingCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MountFlyingConditionDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); +} + +Core::Data::MountSpeed::MountSpeed( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MountSpeedDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); +} + +Core::Data::MountTransient::MountTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_MountTransientDat.get_row( row_id ); + description = exdData->getField< std::string >( row, 0 ); + descriptionEnhanced = exdData->getField< std::string >( row, 1 ); + tooltip = exdData->getField< std::string >( row, 2 ); } Core::Data::MoveTimeline::MoveTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MoveTimelineDat.get_row( row_id ); - idle = exdData->getField< uint16_t >( row, 0 ); - moveForward = exdData->getField< uint16_t >( row, 1 ); - moveBack = exdData->getField< uint16_t >( row, 2 ); - moveLeft = exdData->getField< uint16_t >( row, 3 ); - moveRight = exdData->getField< uint16_t >( row, 4 ); - moveUp = exdData->getField< uint16_t >( row, 5 ); - moveDown = exdData->getField< uint16_t >( row, 6 ); - moveTurnLeft = exdData->getField< uint16_t >( row, 7 ); - moveTurnRight = exdData->getField< uint16_t >( row, 8 ); - extra = exdData->getField< uint16_t >( row, 9 ); + auto row = exdData->m_MoveTimelineDat.get_row( row_id ); + idle = exdData->getField< uint16_t >( row, 0 ); + moveForward = exdData->getField< uint16_t >( row, 1 ); + moveBack = exdData->getField< uint16_t >( row, 2 ); + moveLeft = exdData->getField< uint16_t >( row, 3 ); + moveRight = exdData->getField< uint16_t >( row, 4 ); + moveUp = exdData->getField< uint16_t >( row, 5 ); + moveDown = exdData->getField< uint16_t >( row, 6 ); + moveTurnLeft = exdData->getField< uint16_t >( row, 7 ); + moveTurnRight = exdData->getField< uint16_t >( row, 8 ); + extra = exdData->getField< uint16_t >( row, 9 ); } Core::Data::MoveVfx::MoveVfx( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_MoveVfxDat.get_row( row_id ); - zero = exdData->getField< uint16_t >( row, 0 ); - one = exdData->getField< uint16_t >( row, 1 ); + auto row = exdData->m_MoveVfxDat.get_row( row_id ); + vFXNormal = exdData->getField< uint16_t >( row, 0 ); + vFXWalking = exdData->getField< uint16_t >( row, 1 ); } Core::Data::NpcEquip::NpcEquip( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_NpcEquipDat.get_row( row_id ); - modelMainHand = exdData->getField< uint64_t >( row, 0 ); - dyeMainHand = exdData->getField< uint8_t >( row, 1 ); - modelOffHand = exdData->getField< uint64_t >( row, 2 ); - dyeOffHand = exdData->getField< uint8_t >( row, 3 ); - modelHead = exdData->getField< uint32_t >( row, 4 ); - dyeHead = exdData->getField< uint8_t >( row, 5 ); - visor = exdData->getField< bool >( row, 6 ); - modelBody = exdData->getField< uint32_t >( row, 7 ); - dyeBody = exdData->getField< uint8_t >( row, 8 ); - modelHands = exdData->getField< uint32_t >( row, 9 ); - dyeHands = exdData->getField< uint8_t >( row, 10 ); - modelLegs = exdData->getField< uint32_t >( row, 11 ); - dyeLegs = exdData->getField< uint8_t >( row, 12 ); - modelFeet = exdData->getField< uint32_t >( row, 13 ); - dyeFeet = exdData->getField< uint8_t >( row, 14 ); - modelEars = exdData->getField< uint32_t >( row, 15 ); - dyeEars = exdData->getField< uint8_t >( row, 16 ); - modelNeck = exdData->getField< uint32_t >( row, 17 ); - dyeNeck = exdData->getField< uint8_t >( row, 18 ); - modelWrists = exdData->getField< uint32_t >( row, 19 ); - dyeWrists = exdData->getField< uint8_t >( row, 20 ); - modelLeftRing = exdData->getField< uint32_t >( row, 21 ); - dyeLeftRing = exdData->getField< uint8_t >( row, 22 ); - modelRightRing = exdData->getField< uint32_t >( row, 23 ); - dyeRightRing = exdData->getField< uint8_t >( row, 24 ); + auto row = exdData->m_NpcEquipDat.get_row( row_id ); + modelMainHand = exdData->getField< uint64_t >( row, 0 ); + dyeMainHand = exdData->getField< uint8_t >( row, 1 ); + modelOffHand = exdData->getField< uint64_t >( row, 2 ); + dyeOffHand = exdData->getField< uint8_t >( row, 3 ); + modelHead = exdData->getField< uint32_t >( row, 4 ); + dyeHead = exdData->getField< uint8_t >( row, 5 ); + visor = exdData->getField< bool >( row, 6 ); + modelBody = exdData->getField< uint32_t >( row, 7 ); + dyeBody = exdData->getField< uint8_t >( row, 8 ); + modelHands = exdData->getField< uint32_t >( row, 9 ); + dyeHands = exdData->getField< uint8_t >( row, 10 ); + modelLegs = exdData->getField< uint32_t >( row, 11 ); + dyeLegs = exdData->getField< uint8_t >( row, 12 ); + modelFeet = exdData->getField< uint32_t >( row, 13 ); + dyeFeet = exdData->getField< uint8_t >( row, 14 ); + modelEars = exdData->getField< uint32_t >( row, 15 ); + dyeEars = exdData->getField< uint8_t >( row, 16 ); + modelNeck = exdData->getField< uint32_t >( row, 17 ); + dyeNeck = exdData->getField< uint8_t >( row, 18 ); + modelWrists = exdData->getField< uint32_t >( row, 19 ); + dyeWrists = exdData->getField< uint8_t >( row, 20 ); + modelLeftRing = exdData->getField< uint32_t >( row, 21 ); + dyeLeftRing = exdData->getField< uint8_t >( row, 22 ); + modelRightRing = exdData->getField< uint32_t >( row, 23 ); + dyeRightRing = exdData->getField< uint8_t >( row, 24 ); +} + +Core::Data::NpcYell::NpcYell( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_NpcYellDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 9 ); } Core::Data::Omen::Omen( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_OmenDat.get_row( row_id ); - fileName = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_OmenDat.get_row( row_id ); + fileName = exdData->getField< std::string >( row, 0 ); } Core::Data::OnlineStatus::OnlineStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_OnlineStatusDat.get_row( row_id ); - priority = exdData->getField< uint8_t >( row, 2 ); - name = exdData->getField< std::string >( row, 3 ); - icon = exdData->getField< uint32_t >( row, 4 ); + auto row = exdData->m_OnlineStatusDat.get_row( row_id ); + priority = exdData->getField< uint8_t >( row, 2 ); + name = exdData->getField< std::string >( row, 3 ); + icon = exdData->getField< uint32_t >( row, 4 ); } Core::Data::Opening::Opening( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_OpeningDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_OpeningDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + quest = exdData->getField< uint32_t >( row, 1 ); } Core::Data::Orchestrion::Orchestrion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_OrchestrionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_OrchestrionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); } Core::Data::OrchestrionCategory::OrchestrionCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_OrchestrionCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_OrchestrionCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::OrchestrionPath::OrchestrionPath( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_OrchestrionPathDat.get_row( row_id ); - file = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_OrchestrionPathDat.get_row( row_id ); + file = exdData->getField< std::string >( row, 0 ); } Core::Data::OrchestrionUiparam::OrchestrionUiparam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_OrchestrionUiparamDat.get_row( row_id ); - orchestrionCategory = exdData->getField< uint8_t >( row, 0 ); - order = exdData->getField< uint16_t >( row, 1 ); + auto row = exdData->m_OrchestrionUiparamDat.get_row( row_id ); + orchestrionCategory = exdData->getField< uint8_t >( row, 0 ); + order = exdData->getField< uint16_t >( row, 1 ); } Core::Data::ParamGrow::ParamGrow( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ParamGrowDat.get_row( row_id ); - expToNext = exdData->getField< int32_t >( row, 0 ); - additionalActions = exdData->getField< uint8_t >( row, 1 ); - mpModifier = exdData->getField< int32_t >( row, 4 ); - baseSpeed = exdData->getField< int32_t >( row, 5 ); - levelModifier = exdData->getField< int32_t >( row, 6 ); - questExpModifier = exdData->getField< uint8_t >( row, 7 ); - hpModifier = exdData->getField< uint16_t >( row, 8 ); - huntingLogExpReward = exdData->getField< int32_t >( row, 9 ); + auto row = exdData->m_ParamGrowDat.get_row( row_id ); + expToNext = exdData->getField< int32_t >( row, 0 ); + additionalActions = exdData->getField< uint8_t >( row, 1 ); + mpModifier = exdData->getField< int32_t >( row, 4 ); + baseSpeed = exdData->getField< int32_t >( row, 5 ); + levelModifier = exdData->getField< int32_t >( row, 6 ); + questExpModifier = exdData->getField< uint8_t >( row, 7 ); + hpModifier = exdData->getField< uint16_t >( row, 8 ); + huntingLogExpReward = exdData->getField< int32_t >( row, 9 ); +} + +Core::Data::PartyContentCutscene::PartyContentCutscene( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PartyContentCutsceneDat.get_row( row_id ); + cutscene = exdData->getField< uint32_t >( row, 0 ); } Core::Data::Perform::Perform( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_PerformDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - modelKey = exdData->getField< uint64_t >( row, 2 ); - animationStart = exdData->getField< uint16_t >( row, 3 ); - animationEnd = exdData->getField< uint16_t >( row, 4 ); - animationIdle = exdData->getField< uint16_t >( row, 5 ); - animationPlay01 = exdData->getField< uint16_t >( row, 6 ); - animationPlay02 = exdData->getField< uint16_t >( row, 7 ); - stopAnimation = exdData->getField< int32_t >( row, 8 ); - instrument = exdData->getField< std::string >( row, 9 ); - transient = exdData->getField< uint8_t >( row, 11 ); + auto row = exdData->m_PerformDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + modelKey = exdData->getField< uint64_t >( row, 2 ); + animationStart = exdData->getField< uint16_t >( row, 3 ); + animationEnd = exdData->getField< uint16_t >( row, 4 ); + animationIdle = exdData->getField< uint16_t >( row, 5 ); + animationPlay01 = exdData->getField< uint16_t >( row, 6 ); + animationPlay02 = exdData->getField< uint16_t >( row, 7 ); + stopAnimation = exdData->getField< int32_t >( row, 8 ); + instrument = exdData->getField< std::string >( row, 9 ); + transient = exdData->getField< uint8_t >( row, 11 ); } Core::Data::PerformTransient::PerformTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_PerformTransientDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_PerformTransientDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); } Core::Data::Pet::Pet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_PetDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_PetDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::PetAction::PetAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_PetActionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - action = exdData->getField< uint16_t >( row, 3 ); - pet = exdData->getField< uint8_t >( row, 4 ); + auto row = exdData->m_PetActionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + icon = exdData->getField< int32_t >( row, 2 ); + action = exdData->getField< uint16_t >( row, 3 ); + pet = exdData->getField< uint8_t >( row, 4 ); } Core::Data::Picture::Picture( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_PictureDat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 0 ); - image = exdData->getField< int32_t >( row, 1 ); - signature = exdData->getField< int32_t >( row, 2 ); + auto row = exdData->m_PictureDat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 0 ); + image = exdData->getField< int32_t >( row, 1 ); + signature = exdData->getField< int32_t >( row, 2 ); } Core::Data::PlaceName::PlaceName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_PlaceNameDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - nameNoArticle = exdData->getField< std::string >( row, 2 ); + auto row = exdData->m_PlaceNameDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + nameNoArticle = exdData->getField< std::string >( row, 2 ); +} + +Core::Data::PlantPotFlowerSeed::PlantPotFlowerSeed( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PlantPotFlowerSeedDat.get_row( row_id ); + seedIcon.push_back( exdData->getField< uint32_t >( row, 0 ) ); + seedIcon.push_back( exdData->getField< uint32_t >( row, 1 ) ); + seedIcon.push_back( exdData->getField< uint32_t >( row, 2 ) ); + seedIcon.push_back( exdData->getField< uint32_t >( row, 3 ) ); + seedIcon.push_back( exdData->getField< uint32_t >( row, 4 ) ); + seedIcon.push_back( exdData->getField< uint32_t >( row, 5 ) ); + seedIcon.push_back( exdData->getField< uint32_t >( row, 6 ) ); + seedIcon.push_back( exdData->getField< uint32_t >( row, 7 ) ); + seedIcon.push_back( exdData->getField< uint32_t >( row, 8 ) ); +} + +Core::Data::PreHandler::PreHandler( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PreHandlerDat.get_row( row_id ); + gilShop = exdData->getField< uint32_t >( row, 0 ); + actionTimeline = exdData->getField< uint16_t >( row, 2 ); } Core::Data::PublicContent::PublicContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_PublicContentDat.get_row( row_id ); - timeLimit = exdData->getField< uint16_t >( row, 1 ); - mapIcon = exdData->getField< uint32_t >( row, 2 ); - name = exdData->getField< std::string >( row, 3 ); - territoryType = exdData->getField< uint16_t >( row, 7 ); + auto row = exdData->m_PublicContentDat.get_row( row_id ); + timeLimit = exdData->getField< uint16_t >( row, 1 ); + mapIcon = exdData->getField< uint32_t >( row, 2 ); + name = exdData->getField< std::string >( row, 3 ); + textDataStart = exdData->getField< uint32_t >( row, 4 ); + textDataEnd = exdData->getField< uint32_t >( row, 5 ); + contentFinderCondition = exdData->getField< uint16_t >( row, 7 ); + eureka = exdData->getField< uint16_t >( row, 8 ); +} + +Core::Data::PublicContentCutscene::PublicContentCutscene( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PublicContentCutsceneDat.get_row( row_id ); + cutscene = exdData->getField< uint32_t >( row, 0 ); + cutscene2 = exdData->getField< uint32_t >( row, 1 ); +} + +Core::Data::PublicContentTextData::PublicContentTextData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PublicContentTextDataDat.get_row( row_id ); + textData = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::PvPAction::PvPAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PvPActionDat.get_row( row_id ); + action = exdData->getField< uint16_t >( row, 0 ); } Core::Data::PvPActionSort::PvPActionSort( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_PvPActionSortDat.get_row( row_id ); - name = exdData->getField< uint8_t >( row, 0 ); - action = exdData->getField< uint16_t >( row, 1 ); + auto row = exdData->m_PvPActionSortDat.get_row( row_id ); + name = exdData->getField< uint8_t >( row, 0 ); + action = exdData->getField< uint16_t >( row, 1 ); +} + +Core::Data::PvPRank::PvPRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PvPRankDat.get_row( row_id ); + expRequired = exdData->getField< uint32_t >( row, 0 ); +} + +Core::Data::PvPSelectTrait::PvPSelectTrait( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PvPSelectTraitDat.get_row( row_id ); + effect = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< uint32_t >( row, 1 ); + value = exdData->getField< int16_t >( row, 2 ); +} + +Core::Data::PvPTrait::PvPTrait( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_PvPTraitDat.get_row( row_id ); + trait1 = exdData->getField< uint16_t >( row, 0 ); + trait2 = exdData->getField< uint16_t >( row, 1 ); + trait3 = exdData->getField< uint16_t >( row, 2 ); } Core::Data::Quest::Quest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_QuestDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - id = exdData->getField< std::string >( row, 1 ); - expansion = exdData->getField< uint8_t >( row, 2 ); - classJobCategory0 = exdData->getField< uint8_t >( row, 3 ); - classJobLevel0 = exdData->getField< uint16_t >( row, 4 ); - questLevelOffset = exdData->getField< uint8_t >( row, 5 ); - classJobCategory1 = exdData->getField< uint8_t >( row, 7 ); - classJobLevel1 = exdData->getField< uint16_t >( row, 8 ); - previousQuestJoin = exdData->getField< uint8_t >( row, 9 ); - previousQuest0 = exdData->getField< uint32_t >( row, 10 ); - previousQuest1 = exdData->getField< uint32_t >( row, 12 ); - previousQuest2 = exdData->getField< uint32_t >( row, 13 ); - questLockJoin = exdData->getField< uint8_t >( row, 14 ); - questLock.push_back( exdData->getField< uint32_t >( row, 15 ) ); - questLock.push_back( exdData->getField< uint32_t >( row, 16 ) ); - classJobUnlock = exdData->getField< uint8_t >( row, 20 ); - grandCompany = exdData->getField< uint8_t >( row, 21 ); - grandCompanyRank = exdData->getField< uint8_t >( row, 22 ); - instanceContentJoin = exdData->getField< uint8_t >( row, 23 ); - instanceContent.push_back( exdData->getField< uint32_t >( row, 24 ) ); - instanceContent.push_back( exdData->getField< uint32_t >( row, 25 ) ); - instanceContent.push_back( exdData->getField< uint32_t >( row, 26 ) ); - bellStart = exdData->getField< uint16_t >( row, 30 ); - bellEnd = exdData->getField< uint16_t >( row, 31 ); - beastTribe = exdData->getField< uint8_t >( row, 32 ); - beastReputationRank = exdData->getField< uint8_t >( row, 33 ); - mountRequired = exdData->getField< int32_t >( row, 37 ); - isHouseRequired = exdData->getField< bool >( row, 38 ); - eNpcResidentStart = exdData->getField< uint32_t >( row, 40 ); - eNpcResidentEnd = exdData->getField< uint32_t >( row, 42 ); - isRepeatable = exdData->getField< bool >( row, 43 ); - repeatIntervalType = exdData->getField< uint8_t >( row, 44 ); - 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 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 53 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 54 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 55 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 56 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 57 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 58 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 59 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 60 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 61 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 62 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 63 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 64 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 65 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 66 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 67 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 68 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 69 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 70 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 71 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 72 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 73 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 74 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 75 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 76 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 77 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 78 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 79 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 80 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 81 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 82 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 83 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 84 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 85 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 86 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 87 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 88 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 89 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 90 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 91 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 92 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 93 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 94 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 95 ) ); - 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 ) ); - 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 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 103 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 104 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 105 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 106 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 107 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 108 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 109 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 110 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 111 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 112 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 113 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 114 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 115 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 116 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 117 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 118 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 119 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 120 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 121 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 122 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 123 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 124 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 125 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 126 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 127 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 128 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 129 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 130 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 131 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 132 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 133 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 134 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 135 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 136 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 137 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 138 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 139 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 140 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 141 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 142 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 143 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 144 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 145 ) ); - 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 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( row, 149 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1222 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1223 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1224 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1225 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1226 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1227 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1228 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1229 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1230 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1231 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1232 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1233 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1234 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1235 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1236 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1237 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1238 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1239 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1240 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1241 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1242 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1243 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1244 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1245 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1246 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1247 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1248 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1249 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1250 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1251 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1252 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1253 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1254 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1255 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1256 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1257 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1258 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1259 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1260 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1261 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1262 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1263 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1264 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1265 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1266 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1267 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1268 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1269 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1270 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1271 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1272 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1273 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1274 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1275 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1276 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1277 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1278 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1279 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1280 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1281 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1282 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1283 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1284 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1285 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1286 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1287 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1288 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1289 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1290 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1291 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1292 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1293 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1294 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1295 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1296 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1297 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1298 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1299 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1300 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1301 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1302 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1303 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1304 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1305 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1306 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1307 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1308 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1309 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1310 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1311 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1312 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1313 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1314 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1315 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1316 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1317 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1318 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1319 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1320 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1321 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1322 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1323 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1324 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1325 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1326 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1327 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1328 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1329 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1330 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1331 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1332 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1333 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1334 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1335 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1336 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1337 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1338 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1339 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1340 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1341 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1342 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1343 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1344 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1345 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1346 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1347 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1348 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1349 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1350 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1351 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1352 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1353 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1354 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1355 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1356 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1357 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1358 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1359 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1360 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1361 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1362 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1363 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1364 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1365 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1366 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1367 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1368 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1369 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1370 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1371 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1372 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1373 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1374 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1375 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1376 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1377 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1378 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1379 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1380 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1381 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1382 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1383 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1384 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1385 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1386 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1387 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1388 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1389 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1390 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1391 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1392 ) ); - 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 ) ); - 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 ) ); - 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 ) ); - 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 ) ); - 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 ) ); - 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 ) ); - 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 ) ); - 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 ) ); - 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 ) ); - 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 ) ); - 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 ); + auto row = exdData->m_QuestDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + id = exdData->getField< std::string >( row, 1 ); + expansion = exdData->getField< uint8_t >( row, 2 ); + classJobCategory0 = exdData->getField< uint8_t >( row, 3 ); + classJobLevel0 = exdData->getField< uint16_t >( row, 4 ); + questLevelOffset = exdData->getField< uint8_t >( row, 5 ); + classJobCategory1 = exdData->getField< uint8_t >( row, 7 ); + classJobLevel1 = exdData->getField< uint16_t >( row, 8 ); + previousQuestJoin = exdData->getField< uint8_t >( row, 9 ); + previousQuest0 = exdData->getField< uint32_t >( row, 10 ); + previousQuest1 = exdData->getField< uint32_t >( row, 12 ); + previousQuest2 = exdData->getField< uint32_t >( row, 13 ); + questLockJoin = exdData->getField< uint8_t >( row, 14 ); + questLock.push_back( exdData->getField< uint32_t >( row, 15 ) ); + questLock.push_back( exdData->getField< uint32_t >( row, 16 ) ); + classJobUnlock = exdData->getField< uint8_t >( row, 20 ); + grandCompany = exdData->getField< uint8_t >( row, 21 ); + grandCompanyRank = exdData->getField< uint8_t >( row, 22 ); + instanceContentJoin = exdData->getField< uint8_t >( row, 23 ); + instanceContent.push_back( exdData->getField< uint32_t >( row, 24 ) ); + instanceContent.push_back( exdData->getField< uint32_t >( row, 25 ) ); + instanceContent.push_back( exdData->getField< uint32_t >( row, 26 ) ); + bellStart = exdData->getField< uint16_t >( row, 30 ); + bellEnd = exdData->getField< uint16_t >( row, 31 ); + beastTribe = exdData->getField< uint8_t >( row, 32 ); + beastReputationRank = exdData->getField< uint8_t >( row, 33 ); + mountRequired = exdData->getField< int32_t >( row, 37 ); + isHouseRequired = exdData->getField< bool >( row, 38 ); + eNpcResidentStart = exdData->getField< uint32_t >( row, 40 ); + eNpcResidentEnd = exdData->getField< uint32_t >( row, 42 ); + isRepeatable = exdData->getField< bool >( row, 43 ); + repeatIntervalType = exdData->getField< uint8_t >( row, 44 ); + 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 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 53 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 54 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 55 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 56 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 57 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 58 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 59 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 60 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 61 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 62 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 63 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 64 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 65 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 66 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 67 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 68 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 69 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 70 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 71 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 72 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 73 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 74 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 75 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 76 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 77 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 78 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 79 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 80 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 81 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 82 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 83 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 84 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 85 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 86 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 87 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 88 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 89 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 90 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 91 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 92 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 93 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 94 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 95 ) ); + 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 ) ); + 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 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 103 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 104 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 105 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 106 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 107 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 108 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 109 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 110 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 111 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 112 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 113 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 114 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 115 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 116 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 117 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 118 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 119 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 120 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 121 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 122 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 123 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 124 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 125 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 126 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 127 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 128 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 129 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 130 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 131 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 132 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 133 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 134 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 135 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 136 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 137 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 138 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 139 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 140 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 141 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 142 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 143 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 144 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 145 ) ); + 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 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( row, 149 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1222 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1223 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1224 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1225 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1226 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1227 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1228 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1229 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1230 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1231 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1232 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1233 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1234 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1235 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1236 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1237 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1238 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1239 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1240 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1241 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1242 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1243 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1244 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1245 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1246 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1247 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1248 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1249 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1250 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1251 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1252 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1253 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1254 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1255 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1256 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1257 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1258 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1259 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1260 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1261 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1262 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1263 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1264 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1265 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1266 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1267 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1268 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1269 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1270 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1271 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1272 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1273 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1274 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1275 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1276 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1277 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1278 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1279 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1280 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1281 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1282 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1283 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1284 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1285 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1286 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1287 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1288 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1289 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1290 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1291 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1292 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1293 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1294 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1295 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1296 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1297 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1298 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1299 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1300 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1301 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1302 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1303 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1304 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1305 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1306 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1307 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1308 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1309 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1310 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1311 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1312 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1313 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1314 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1315 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1316 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1317 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1318 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1319 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1320 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1321 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1322 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1323 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1324 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1325 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1326 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1327 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1328 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1329 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1330 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1331 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1332 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1333 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1334 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1335 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1336 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1337 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1338 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1339 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1340 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1341 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1342 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1343 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1344 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1345 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1346 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1347 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1348 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1349 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1350 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1351 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1352 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1353 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1354 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1355 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1356 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1357 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1358 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1359 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1360 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1361 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1362 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1363 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1364 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1365 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1366 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1367 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1368 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1369 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1370 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1371 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1372 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1373 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1374 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1375 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1376 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1377 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1378 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1379 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1380 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1381 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1382 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1383 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1384 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1385 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1386 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1387 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1388 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1389 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1390 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1391 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1392 ) ); + 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 ) ); + 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 ) ); + 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 ) ); + 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 ) ); + 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 ) ); + 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 ) ); + 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 ) ); + 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 ) ); + 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 ) ); + 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 ) ); + 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 ); } Core::Data::QuestClassJobReward::QuestClassJobReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_QuestClassJobRewardDat.get_row( row_id ); - classJobCategory = exdData->getField< uint8_t >( row, 0 ); - rewardItem.push_back( exdData->getField< uint32_t >( row, 1 ) ); - rewardItem.push_back( exdData->getField< uint32_t >( row, 2 ) ); - rewardItem.push_back( exdData->getField< uint32_t >( row, 3 ) ); - rewardItem.push_back( exdData->getField< uint32_t >( row, 4 ) ); - rewardAmount.push_back( exdData->getField< uint8_t >( row, 5 ) ); - rewardAmount.push_back( exdData->getField< uint8_t >( row, 6 ) ); - rewardAmount.push_back( exdData->getField< uint8_t >( row, 7 ) ); - rewardAmount.push_back( exdData->getField< uint8_t >( row, 8 ) ); - requiredItem.push_back( exdData->getField< uint32_t >( row, 9 ) ); - requiredItem.push_back( exdData->getField< uint32_t >( row, 10 ) ); - requiredItem.push_back( exdData->getField< uint32_t >( row, 11 ) ); - requiredItem.push_back( exdData->getField< uint32_t >( row, 12 ) ); - requiredAmount.push_back( exdData->getField< uint8_t >( row, 13 ) ); - requiredAmount.push_back( exdData->getField< uint8_t >( row, 14 ) ); - requiredAmount.push_back( exdData->getField< uint8_t >( row, 15 ) ); - requiredAmount.push_back( exdData->getField< uint8_t >( row, 16 ) ); + auto row = exdData->m_QuestClassJobRewardDat.get_row( row_id ); + classJobCategory = exdData->getField< uint8_t >( row, 0 ); + rewardItem.push_back( exdData->getField< uint32_t >( row, 1 ) ); + rewardItem.push_back( exdData->getField< uint32_t >( row, 2 ) ); + rewardItem.push_back( exdData->getField< uint32_t >( row, 3 ) ); + rewardItem.push_back( exdData->getField< uint32_t >( row, 4 ) ); + rewardAmount.push_back( exdData->getField< uint8_t >( row, 5 ) ); + rewardAmount.push_back( exdData->getField< uint8_t >( row, 6 ) ); + rewardAmount.push_back( exdData->getField< uint8_t >( row, 7 ) ); + rewardAmount.push_back( exdData->getField< uint8_t >( row, 8 ) ); + requiredItem.push_back( exdData->getField< uint32_t >( row, 9 ) ); + requiredItem.push_back( exdData->getField< uint32_t >( row, 10 ) ); + requiredItem.push_back( exdData->getField< uint32_t >( row, 11 ) ); + requiredItem.push_back( exdData->getField< uint32_t >( row, 12 ) ); + requiredAmount.push_back( exdData->getField< uint8_t >( row, 13 ) ); + requiredAmount.push_back( exdData->getField< uint8_t >( row, 14 ) ); + requiredAmount.push_back( exdData->getField< uint8_t >( row, 15 ) ); + requiredAmount.push_back( exdData->getField< uint8_t >( row, 16 ) ); +} + +Core::Data::QuestClassJobSupply::QuestClassJobSupply( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_QuestClassJobSupplyDat.get_row( row_id ); + classJobCategory = exdData->getField< uint8_t >( row, 0 ); + eNpcResident = exdData->getField< uint32_t >( row, 2 ); + item = exdData->getField< uint32_t >( row, 3 ); } Core::Data::QuestRepeatFlag::QuestRepeatFlag( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_QuestRepeatFlagDat.get_row( row_id ); - quest = exdData->getField< uint32_t >( row, 0 ); + auto row = exdData->m_QuestRepeatFlagDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); } Core::Data::QuestRewardOther::QuestRewardOther( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_QuestRewardOtherDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_QuestRewardOtherDat.get_row( row_id ); + icon = exdData->getField< uint32_t >( row, 0 ); + name = exdData->getField< std::string >( row, 1 ); } Core::Data::QuickChat::QuickChat( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_QuickChatDat.get_row( row_id ); - nameAction = exdData->getField< std::string >( row, 0 ); - icon = exdData->getField< int32_t >( row, 1 ); - addon = exdData->getField< int32_t >( row, 2 ); - quickChatTransient = exdData->getField< int8_t >( row, 3 ); + auto row = exdData->m_QuickChatDat.get_row( row_id ); + nameAction = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); + addon = exdData->getField< int32_t >( row, 2 ); + quickChatTransient = exdData->getField< int8_t >( row, 3 ); } Core::Data::QuickChatTransient::QuickChatTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_QuickChatTransientDat.get_row( row_id ); - textOutput = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_QuickChatTransientDat.get_row( row_id ); + textOutput = exdData->getField< std::string >( row, 0 ); } Core::Data::Race::Race( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RaceDat.get_row( row_id ); - masculine = exdData->getField< std::string >( row, 0 ); - feminine = exdData->getField< std::string >( row, 1 ); - rSEMBody = exdData->getField< int32_t >( row, 2 ); - rSEMHands = exdData->getField< int32_t >( row, 3 ); - rSEMLegs = exdData->getField< int32_t >( row, 4 ); - rSEMFeet = exdData->getField< int32_t >( row, 5 ); - rSEFBody = exdData->getField< int32_t >( row, 6 ); - rSEFHands = exdData->getField< int32_t >( row, 7 ); - rSEFLegs = exdData->getField< int32_t >( row, 8 ); - rSEFFeet = exdData->getField< int32_t >( row, 9 ); + auto row = exdData->m_RaceDat.get_row( row_id ); + masculine = exdData->getField< std::string >( row, 0 ); + feminine = exdData->getField< std::string >( row, 1 ); + rSEMBody = exdData->getField< int32_t >( row, 2 ); + rSEMHands = exdData->getField< int32_t >( row, 3 ); + rSEMLegs = exdData->getField< int32_t >( row, 4 ); + rSEMFeet = exdData->getField< int32_t >( row, 5 ); + rSEFBody = exdData->getField< int32_t >( row, 6 ); + rSEFHands = exdData->getField< int32_t >( row, 7 ); + rSEFLegs = exdData->getField< int32_t >( row, 8 ); + rSEFFeet = exdData->getField< int32_t >( row, 9 ); } Core::Data::RacingChocoboItem::RacingChocoboItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RacingChocoboItemDat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 0 ); - category = exdData->getField< uint8_t >( row, 1 ); - param.push_back( exdData->getField< uint8_t >( row, 2 ) ); - param.push_back( exdData->getField< uint8_t >( row, 3 ) ); + auto row = exdData->m_RacingChocoboItemDat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 0 ); + category = exdData->getField< uint8_t >( row, 1 ); + param.push_back( exdData->getField< uint8_t >( row, 2 ) ); + param.push_back( exdData->getField< uint8_t >( row, 3 ) ); } Core::Data::RacingChocoboName::RacingChocoboName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RacingChocoboNameDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_RacingChocoboNameDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } -Core::Data::RacingChocoboNameCategory::RacingChocoboNameCategory( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::RacingChocoboNameCategory::RacingChocoboNameCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RacingChocoboNameCategoryDat.get_row( row_id ); - sortKey = exdData->getField< uint8_t >( row, 0 ); - name = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_RacingChocoboNameCategoryDat.get_row( row_id ); + sortKey = exdData->getField< uint8_t >( row, 0 ); + name = exdData->getField< std::string >( row, 1 ); } Core::Data::RacingChocoboNameInfo::RacingChocoboNameInfo( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RacingChocoboNameInfoDat.get_row( row_id ); - racingChocoboNameCategory = exdData->getField< uint8_t >( row, 0 ); + auto row = exdData->m_RacingChocoboNameInfoDat.get_row( row_id ); + racingChocoboNameCategory = exdData->getField< uint8_t >( row, 0 ); } Core::Data::RacingChocoboParam::RacingChocoboParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RacingChocoboParamDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_RacingChocoboParamDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::Recipe::Recipe( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RecipeDat.get_row( row_id ); - craftType = exdData->getField< int32_t >( row, 1 ); - recipeLevelTable = exdData->getField< uint16_t >( row, 2 ); - itemResult = exdData->getField< int32_t >( row, 3 ); - amountResult = exdData->getField< uint8_t >( row, 4 ); - recipeElement = exdData->getField< uint8_t >( row, 25 ); - isSecondary = exdData->getField< bool >( row, 27 ); - difficultyFactor = exdData->getField< uint16_t >( row, 28 ); - qualityFactor = exdData->getField< uint16_t >( row, 29 ); - durabilityFactor = exdData->getField< uint16_t >( row, 30 ); - requiredCraftsmanship = exdData->getField< uint16_t >( row, 32 ); - requiredControl = exdData->getField< uint16_t >( row, 33 ); - quickSynthCraftsmanship = exdData->getField< uint16_t >( row, 34 ); - quickSynthControl = exdData->getField< uint16_t >( row, 35 ); - secretRecipeBook = exdData->getField< uint16_t >( row, 36 ); - canQuickSynth = exdData->getField< bool >( row, 37 ); - canHq = exdData->getField< bool >( row, 38 ); - expRewarded = exdData->getField< bool >( row, 39 ); - statusRequired = exdData->getField< int32_t >( row, 40 ); - itemRequired = exdData->getField< int32_t >( row, 41 ); - isSpecializationRequired = exdData->getField< bool >( row, 42 ); + auto row = exdData->m_RecipeDat.get_row( row_id ); + craftType = exdData->getField< int32_t >( row, 1 ); + recipeLevelTable = exdData->getField< uint16_t >( row, 2 ); + itemResult = exdData->getField< int32_t >( row, 3 ); + amountResult = exdData->getField< uint8_t >( row, 4 ); + recipeElement = exdData->getField< uint8_t >( row, 25 ); + isSecondary = exdData->getField< bool >( row, 27 ); + difficultyFactor = exdData->getField< uint16_t >( row, 28 ); + qualityFactor = exdData->getField< uint16_t >( row, 29 ); + durabilityFactor = exdData->getField< uint16_t >( row, 30 ); + requiredCraftsmanship = exdData->getField< uint16_t >( row, 32 ); + requiredControl = exdData->getField< uint16_t >( row, 33 ); + quickSynthCraftsmanship = exdData->getField< uint16_t >( row, 34 ); + quickSynthControl = exdData->getField< uint16_t >( row, 35 ); + secretRecipeBook = exdData->getField< uint16_t >( row, 36 ); + canQuickSynth = exdData->getField< bool >( row, 37 ); + canHq = exdData->getField< bool >( row, 38 ); + expRewarded = exdData->getField< bool >( row, 39 ); + statusRequired = exdData->getField< int32_t >( row, 40 ); + itemRequired = exdData->getField< int32_t >( row, 41 ); + isSpecializationRequired = exdData->getField< bool >( row, 42 ); + patchNumber = exdData->getField< uint16_t >( row, 44 ); } Core::Data::RecipeElement::RecipeElement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RecipeElementDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_RecipeElementDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::RecipeLevelTable::RecipeLevelTable( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RecipeLevelTableDat.get_row( row_id ); - classJobLevel = exdData->getField< uint8_t >( row, 0 ); - stars = exdData->getField< uint8_t >( row, 1 ); - difficulty = exdData->getField< uint16_t >( row, 3 ); - quality = exdData->getField< int16_t >( row, 4 ); - durability = exdData->getField< uint16_t >( row, 5 ); + auto row = exdData->m_RecipeLevelTableDat.get_row( row_id ); + classJobLevel = exdData->getField< uint8_t >( row, 0 ); + stars = exdData->getField< uint8_t >( row, 1 ); + suggestedCraftsmanship = exdData->getField< uint16_t >( row, 2 ); + difficulty = exdData->getField< uint16_t >( row, 3 ); + quality = exdData->getField< int16_t >( row, 4 ); + durability = exdData->getField< uint16_t >( row, 5 ); } Core::Data::RecipeNotebookList::RecipeNotebookList( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RecipeNotebookListDat.get_row( row_id ); - recipe.push_back( exdData->getField< int32_t >( row, 1 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 2 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 3 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 4 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 5 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 6 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 7 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 8 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 9 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 10 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 11 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 12 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 13 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 14 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 15 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 16 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 17 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 18 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 19 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 20 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 21 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 22 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 23 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 24 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 25 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 26 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 27 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 28 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 29 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 30 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 31 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 32 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 33 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 34 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 35 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 36 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 37 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 38 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 39 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 40 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 41 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 42 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 43 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 44 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 45 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 46 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 47 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 48 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 49 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 50 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 51 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 52 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 53 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 54 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 55 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 56 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 57 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 58 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 59 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 60 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 61 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 62 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 63 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 64 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 65 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 66 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 67 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 68 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 69 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 70 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 71 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 72 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 73 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 74 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 75 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 76 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 77 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 78 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 79 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 80 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 81 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 82 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 83 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 84 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 85 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 86 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 87 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 88 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 89 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 90 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 91 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 92 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 93 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 94 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 95 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 96 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 97 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 98 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 99 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 100 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 101 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 102 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 103 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 104 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 105 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 106 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 107 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 108 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 109 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 110 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 111 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 112 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 113 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 114 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 115 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 116 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 117 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 118 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 119 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 120 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 121 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 122 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 123 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 124 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 125 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 126 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 127 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 128 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 129 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 130 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 131 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 132 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 133 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 134 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 135 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 136 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 137 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 138 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 139 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 140 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 141 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 142 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 143 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 144 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 145 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 146 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 147 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 148 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 149 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 150 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 151 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 152 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 153 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 154 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 155 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 156 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 157 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 158 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 159 ) ); - recipe.push_back( exdData->getField< int32_t >( row, 160 ) ); + auto row = exdData->m_RecipeNotebookListDat.get_row( row_id ); + recipe.push_back( exdData->getField< int32_t >( row, 1 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 2 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 3 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 4 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 5 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 6 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 7 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 8 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 9 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 10 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 11 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 12 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 13 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 14 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 15 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 16 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 17 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 18 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 19 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 20 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 21 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 22 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 23 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 24 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 25 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 26 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 27 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 28 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 29 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 30 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 31 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 32 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 33 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 34 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 35 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 36 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 37 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 38 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 39 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 40 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 41 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 42 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 43 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 44 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 45 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 46 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 47 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 48 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 49 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 50 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 51 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 52 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 53 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 54 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 55 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 56 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 57 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 58 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 59 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 60 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 61 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 62 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 63 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 64 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 65 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 66 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 67 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 68 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 69 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 70 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 71 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 72 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 73 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 74 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 75 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 76 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 77 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 78 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 79 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 80 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 81 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 82 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 83 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 84 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 85 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 86 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 87 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 88 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 89 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 90 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 91 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 92 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 93 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 94 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 95 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 96 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 97 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 98 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 99 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 100 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 101 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 102 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 103 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 104 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 105 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 106 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 107 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 108 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 109 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 110 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 111 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 112 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 113 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 114 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 115 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 116 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 117 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 118 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 119 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 120 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 121 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 122 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 123 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 124 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 125 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 126 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 127 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 128 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 129 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 130 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 131 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 132 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 133 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 134 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 135 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 136 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 137 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 138 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 139 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 140 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 141 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 142 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 143 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 144 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 145 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 146 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 147 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 148 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 149 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 150 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 151 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 152 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 153 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 154 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 155 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 156 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 157 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 158 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 159 ) ); + recipe.push_back( exdData->getField< int32_t >( row, 160 ) ); } Core::Data::RecommendContents::RecommendContents( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RecommendContentsDat.get_row( row_id ); - level = exdData->getField< int32_t >( row, 0 ); + auto row = exdData->m_RecommendContentsDat.get_row( row_id ); + level = exdData->getField< int32_t >( row, 0 ); } Core::Data::Relic::Relic( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RelicDat.get_row( row_id ); - itemAtma = exdData->getField< uint32_t >( row, 0 ); - itemAnimus = exdData->getField< uint32_t >( row, 1 ); - icon = exdData->getField< int32_t >( row, 2 ); + auto row = exdData->m_RelicDat.get_row( row_id ); + itemAtma = exdData->getField< uint32_t >( row, 0 ); + itemAnimus = exdData->getField< uint32_t >( row, 1 ); + icon = exdData->getField< int32_t >( row, 2 ); } Core::Data::Relic3::Relic3( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_Relic3Dat.get_row( row_id ); - itemAnimus = exdData->getField< uint32_t >( row, 0 ); - itemScroll = exdData->getField< uint32_t >( row, 1 ); - materiaLimit = exdData->getField< uint8_t >( row, 2 ); - itemNovus = exdData->getField< uint32_t >( row, 3 ); - icon = exdData->getField< int32_t >( row, 4 ); + auto row = exdData->m_Relic3Dat.get_row( row_id ); + itemAnimus = exdData->getField< uint32_t >( row, 0 ); + itemScroll = exdData->getField< uint32_t >( row, 1 ); + materiaLimit = exdData->getField< uint8_t >( row, 2 ); + itemNovus = exdData->getField< uint32_t >( row, 3 ); + icon = exdData->getField< int32_t >( row, 4 ); } Core::Data::RelicItem::RelicItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RelicItemDat.get_row( row_id ); - gladiatorItem = exdData->getField< uint32_t >( row, 1 ); - pugilistItem = exdData->getField< uint32_t >( row, 2 ); - marauderItem = exdData->getField< uint32_t >( row, 3 ); - lancerItem = exdData->getField< uint32_t >( row, 4 ); - archerItem = exdData->getField< uint32_t >( row, 5 ); - conjurerItem = exdData->getField< uint32_t >( row, 6 ); - thaumaturgeItem = exdData->getField< uint32_t >( row, 7 ); - arcanistSMNItem = exdData->getField< uint32_t >( row, 8 ); - arcanistSCHItem = exdData->getField< uint32_t >( row, 9 ); - shieldItem = exdData->getField< uint32_t >( row, 10 ); - rogueItem = exdData->getField< uint32_t >( row, 11 ); + auto row = exdData->m_RelicItemDat.get_row( row_id ); + gladiatorItem = exdData->getField< uint32_t >( row, 1 ); + pugilistItem = exdData->getField< uint32_t >( row, 2 ); + marauderItem = exdData->getField< uint32_t >( row, 3 ); + lancerItem = exdData->getField< uint32_t >( row, 4 ); + archerItem = exdData->getField< uint32_t >( row, 5 ); + conjurerItem = exdData->getField< uint32_t >( row, 6 ); + thaumaturgeItem = exdData->getField< uint32_t >( row, 7 ); + arcanistSMNItem = exdData->getField< uint32_t >( row, 8 ); + arcanistSCHItem = exdData->getField< uint32_t >( row, 9 ); + shieldItem = exdData->getField< uint32_t >( row, 10 ); + rogueItem = exdData->getField< uint32_t >( row, 11 ); } Core::Data::RelicNote::RelicNote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RelicNoteDat.get_row( row_id ); - eventItem = exdData->getField< uint32_t >( row, 0 ); - monsterNoteTargetNM.push_back( exdData->getField< uint16_t >( row, 21 ) ); - monsterNoteTargetNM.push_back( exdData->getField< uint16_t >( row, 22 ) ); - monsterNoteTargetNM.push_back( exdData->getField< uint16_t >( row, 23 ) ); - leve.push_back( exdData->getField< uint16_t >( row, 31 ) ); - leve.push_back( exdData->getField< uint16_t >( row, 32 ) ); - leve.push_back( exdData->getField< uint16_t >( row, 33 ) ); + auto row = exdData->m_RelicNoteDat.get_row( row_id ); + eventItem = exdData->getField< uint32_t >( row, 0 ); + monsterNoteTargetNM.push_back( exdData->getField< uint16_t >( row, 21 ) ); + monsterNoteTargetNM.push_back( exdData->getField< uint16_t >( row, 22 ) ); + monsterNoteTargetNM.push_back( exdData->getField< uint16_t >( row, 23 ) ); + leve.push_back( exdData->getField< uint16_t >( row, 31 ) ); + leve.push_back( exdData->getField< uint16_t >( row, 32 ) ); + leve.push_back( exdData->getField< uint16_t >( row, 33 ) ); } Core::Data::RelicNoteCategory::RelicNoteCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RelicNoteCategoryDat.get_row( row_id ); - text = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_RelicNoteCategoryDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 1 ); +} + +Core::Data::Resident::Resident( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ResidentDat.get_row( row_id ); + model = exdData->getField< uint64_t >( row, 1 ); + npcYell = exdData->getField< int32_t >( row, 2 ); + residentMotionType = exdData->getField< uint8_t >( row, 3 ); } Core::Data::RetainerTask::RetainerTask( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RetainerTaskDat.get_row( row_id ); - isRandom = exdData->getField< bool >( row, 0 ); - classJobCategory = exdData->getField< uint8_t >( row, 1 ); - retainerLevel = exdData->getField< uint8_t >( row, 2 ); - retainerTaskParameter = exdData->getField< uint16_t >( row, 4 ); - ventureCost = exdData->getField< uint16_t >( row, 5 ); - maxTimemin = exdData->getField< uint16_t >( row, 6 ); - experience = exdData->getField< int32_t >( row, 7 ); - requiredItemLevel = exdData->getField< uint16_t >( row, 8 ); - requiredGathering = exdData->getField< uint16_t >( row, 11 ); - task = exdData->getField< uint16_t >( row, 13 ); + auto row = exdData->m_RetainerTaskDat.get_row( row_id ); + isRandom = exdData->getField< bool >( row, 0 ); + classJobCategory = exdData->getField< uint8_t >( row, 1 ); + retainerLevel = exdData->getField< uint8_t >( row, 2 ); + retainerTaskParameter = exdData->getField< uint16_t >( row, 4 ); + ventureCost = exdData->getField< uint16_t >( row, 5 ); + maxTimemin = exdData->getField< uint16_t >( row, 6 ); + experience = exdData->getField< int32_t >( row, 7 ); + requiredItemLevel = exdData->getField< uint16_t >( row, 8 ); + requiredGathering = exdData->getField< uint16_t >( row, 11 ); + task = exdData->getField< uint16_t >( row, 13 ); } Core::Data::RetainerTaskLvRange::RetainerTaskLvRange( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RetainerTaskLvRangeDat.get_row( row_id ); - min = exdData->getField< uint8_t >( row, 0 ); - max = exdData->getField< uint8_t >( row, 1 ); + auto row = exdData->m_RetainerTaskLvRangeDat.get_row( row_id ); + min = exdData->getField< uint8_t >( row, 0 ); + max = exdData->getField< uint8_t >( row, 1 ); } Core::Data::RetainerTaskNormal::RetainerTaskNormal( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RetainerTaskNormalDat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 0 ); - quantity0 = exdData->getField< uint8_t >( row, 1 ); - quantity1 = exdData->getField< uint8_t >( row, 2 ); - quantity2 = exdData->getField< uint8_t >( row, 3 ); - gatheringLog = exdData->getField< int16_t >( row, 4 ); - fishingLog = exdData->getField< int16_t >( row, 5 ); + auto row = exdData->m_RetainerTaskNormalDat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 0 ); + quantity0 = exdData->getField< uint8_t >( row, 1 ); + quantity1 = exdData->getField< uint8_t >( row, 2 ); + quantity2 = exdData->getField< uint8_t >( row, 3 ); + gatheringLog = exdData->getField< int16_t >( row, 4 ); + fishingLog = exdData->getField< int16_t >( row, 5 ); } Core::Data::RetainerTaskParameter::RetainerTaskParameter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RetainerTaskParameterDat.get_row( row_id ); - itemLevelDoW.push_back( exdData->getField< int16_t >( row, 0 ) ); - itemLevelDoW.push_back( exdData->getField< int16_t >( row, 1 ) ); - gatheringDoL.push_back( exdData->getField< int16_t >( row, 2 ) ); - gatheringDoL.push_back( exdData->getField< int16_t >( row, 3 ) ); - gatheringFSH.push_back( exdData->getField< int16_t >( row, 4 ) ); - gatheringFSH.push_back( exdData->getField< int16_t >( row, 5 ) ); + auto row = exdData->m_RetainerTaskParameterDat.get_row( row_id ); + itemLevelDoW.push_back( exdData->getField< int16_t >( row, 0 ) ); + itemLevelDoW.push_back( exdData->getField< int16_t >( row, 1 ) ); + gatheringDoL.push_back( exdData->getField< int16_t >( row, 2 ) ); + gatheringDoL.push_back( exdData->getField< int16_t >( row, 3 ) ); + gatheringFSH.push_back( exdData->getField< int16_t >( row, 4 ) ); + gatheringFSH.push_back( exdData->getField< int16_t >( row, 5 ) ); } Core::Data::RetainerTaskRandom::RetainerTaskRandom( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_RetainerTaskRandomDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - requirement = exdData->getField< int16_t >( row, 1 ); + auto row = exdData->m_RetainerTaskRandomDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + requirement = exdData->getField< int16_t >( row, 1 ); +} + +Core::Data::RPParameter::RPParameter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_RPParameterDat.get_row( row_id ); + bNpcName = exdData->getField< uint16_t >( row, 0 ); + classJob = exdData->getField< uint8_t >( row, 1 ); } Core::Data::Salvage::Salvage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SalvageDat.get_row( row_id ); - optimalSkill = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_SalvageDat.get_row( row_id ); + optimalSkill = exdData->getField< uint16_t >( row, 0 ); } Core::Data::SatisfactionNpc::SatisfactionNpc( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SatisfactionNpcDat.get_row( row_id ); - npc = exdData->getField< int32_t >( row, 0 ); - questRequired = exdData->getField< int32_t >( row, 1 ); - deliveriesPerWeek = exdData->getField< uint8_t >( row, 3 ); - supplyIndex.push_back( exdData->getField< int32_t >( row, 4 ) ); - supplyIndex.push_back( exdData->getField< int32_t >( row, 5 ) ); - supplyIndex.push_back( exdData->getField< int32_t >( row, 6 ) ); - supplyIndex.push_back( exdData->getField< int32_t >( row, 7 ) ); - supplyIndex.push_back( exdData->getField< int32_t >( row, 8 ) ); - supplyIndex.push_back( exdData->getField< int32_t >( row, 9 ) ); - satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 10 ) ); - satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 11 ) ); - satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 12 ) ); - satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 13 ) ); - satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 14 ) ); - satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 15 ) ); - icon = exdData->getField< int32_t >( row, 70 ); + auto row = exdData->m_SatisfactionNpcDat.get_row( row_id ); + npc = exdData->getField< int32_t >( row, 0 ); + questRequired = exdData->getField< int32_t >( row, 1 ); + deliveriesPerWeek = exdData->getField< uint8_t >( row, 3 ); + supplyIndex.push_back( exdData->getField< int32_t >( row, 4 ) ); + supplyIndex.push_back( exdData->getField< int32_t >( row, 5 ) ); + supplyIndex.push_back( exdData->getField< int32_t >( row, 6 ) ); + supplyIndex.push_back( exdData->getField< int32_t >( row, 7 ) ); + supplyIndex.push_back( exdData->getField< int32_t >( row, 8 ) ); + supplyIndex.push_back( exdData->getField< int32_t >( row, 9 ) ); + satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 10 ) ); + satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 11 ) ); + satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 12 ) ); + satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 13 ) ); + satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 14 ) ); + satisfactionRequired.push_back( exdData->getField< uint16_t >( row, 15 ) ); + icon = exdData->getField< int32_t >( row, 70 ); } Core::Data::SatisfactionSupply::SatisfactionSupply( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SatisfactionSupplyDat.get_row( row_id ); - slot = exdData->getField< uint8_t >( row, 0 ); - probability = exdData->getField< uint8_t >( row, 1 ); - item = exdData->getField< int32_t >( row, 2 ); - collectabilityLow = exdData->getField< uint16_t >( row, 3 ); - collectabilityMid = exdData->getField< uint16_t >( row, 4 ); - collectabilityHigh = exdData->getField< uint16_t >( row, 5 ); - reward = exdData->getField< uint16_t >( row, 6 ); + auto row = exdData->m_SatisfactionSupplyDat.get_row( row_id ); + slot = exdData->getField< uint8_t >( row, 0 ); + probability = exdData->getField< uint8_t >( row, 1 ); + item = exdData->getField< int32_t >( row, 2 ); + collectabilityLow = exdData->getField< uint16_t >( row, 3 ); + collectabilityMid = exdData->getField< uint16_t >( row, 4 ); + collectabilityHigh = exdData->getField< uint16_t >( row, 5 ); + reward = exdData->getField< uint16_t >( row, 6 ); } Core::Data::SatisfactionSupplyReward::SatisfactionSupplyReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SatisfactionSupplyRewardDat.get_row( row_id ); - satisfactionLow = exdData->getField< uint16_t >( row, 10 ); - satisfactionMid = exdData->getField< uint16_t >( row, 11 ); - satisfactionHigh = exdData->getField< uint16_t >( row, 12 ); - gilLow = exdData->getField< uint16_t >( row, 13 ); - gilMid = exdData->getField< uint16_t >( row, 14 ); - gilHigh = exdData->getField< uint16_t >( row, 15 ); + auto row = exdData->m_SatisfactionSupplyRewardDat.get_row( row_id ); + satisfactionLow = exdData->getField< uint16_t >( row, 10 ); + satisfactionMid = exdData->getField< uint16_t >( row, 11 ); + satisfactionHigh = exdData->getField< uint16_t >( row, 12 ); + gilLow = exdData->getField< uint16_t >( row, 13 ); + gilMid = exdData->getField< uint16_t >( row, 14 ); + gilHigh = exdData->getField< uint16_t >( row, 15 ); } Core::Data::ScenarioTree::ScenarioTree( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ScenarioTreeDat.get_row( row_id ); - type = exdData->getField< uint8_t >( row, 0 ); - image = exdData->getField< uint16_t >( row, 1 ); + auto row = exdData->m_ScenarioTreeDat.get_row( row_id ); + type = exdData->getField< uint8_t >( row, 0 ); + image = exdData->getField< uint16_t >( row, 1 ); } Core::Data::ScenarioTreeTips::ScenarioTreeTips( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ScenarioTreeTipsDat.get_row( row_id ); - tips1 = exdData->getField< uint32_t >( row, 1 ); - tips2 = exdData->getField< uint32_t >( row, 3 ); + auto row = exdData->m_ScenarioTreeTipsDat.get_row( row_id ); + tips1 = exdData->getField< uint32_t >( row, 1 ); + tips2 = exdData->getField< uint32_t >( row, 3 ); } -Core::Data::ScenarioTreeTipsClassQuest::ScenarioTreeTipsClassQuest( uint32_t row_id, - Core::Data::ExdDataGenerated* exdData ) +Core::Data::ScenarioTreeTipsClassQuest::ScenarioTreeTipsClassQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ScenarioTreeTipsClassQuestDat.get_row( row_id ); - quest = exdData->getField< uint32_t >( row, 0 ); - requiredLevel = exdData->getField< uint16_t >( row, 1 ); - requiredExpansion = exdData->getField< uint8_t >( row, 2 ); - requiredQuest = exdData->getField< uint32_t >( row, 3 ); + auto row = exdData->m_ScenarioTreeTipsClassQuestDat.get_row( row_id ); + quest = exdData->getField< uint32_t >( row, 0 ); + requiredLevel = exdData->getField< uint16_t >( row, 1 ); + requiredExpansion = exdData->getField< uint8_t >( row, 2 ); + requiredQuest = exdData->getField< uint32_t >( row, 3 ); } Core::Data::ScenarioTreeTipsQuest::ScenarioTreeTipsQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ScenarioTreeTipsQuestDat.get_row( row_id ); - level = exdData->getField< uint32_t >( row, 0 ); + auto row = exdData->m_ScenarioTreeTipsQuestDat.get_row( row_id ); + level = exdData->getField< uint32_t >( row, 0 ); } Core::Data::ScenarioType::ScenarioType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ScenarioTypeDat.get_row( row_id ); - type = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_ScenarioTypeDat.get_row( row_id ); + type = exdData->getField< std::string >( row, 0 ); } Core::Data::ScreenImage::ScreenImage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ScreenImageDat.get_row( row_id ); - image = exdData->getField< uint32_t >( row, 0 ); + auto row = exdData->m_ScreenImageDat.get_row( row_id ); + image = exdData->getField< uint32_t >( row, 0 ); } Core::Data::SecretRecipeBook::SecretRecipeBook( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SecretRecipeBookDat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 0 ); - name = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_SecretRecipeBookDat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 0 ); + name = exdData->getField< std::string >( row, 1 ); } Core::Data::SkyIsland2Mission::SkyIsland2Mission( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SkyIsland2MissionDat.get_row( row_id ); - item1 = exdData->getField< uint32_t >( row, 0 ); - item2 = exdData->getField< uint32_t >( row, 1 ); - objective1 = exdData->getField< uint16_t >( row, 4 ); - requiredAmount1 = exdData->getField< uint8_t >( row, 6 ); - objective2 = exdData->getField< uint16_t >( row, 9 ); - requiredAmount2 = exdData->getField< uint8_t >( row, 11 ); - objective3 = exdData->getField< uint16_t >( row, 14 ); - image = exdData->getField< uint32_t >( row, 20 ); + auto row = exdData->m_SkyIsland2MissionDat.get_row( row_id ); + item1 = exdData->getField< uint32_t >( row, 0 ); + item2 = exdData->getField< uint32_t >( row, 1 ); + objective1 = exdData->getField< uint16_t >( row, 4 ); + requiredAmount1 = exdData->getField< uint8_t >( row, 6 ); + objective2 = exdData->getField< uint16_t >( row, 9 ); + requiredAmount2 = exdData->getField< uint8_t >( row, 11 ); + objective3 = exdData->getField< uint16_t >( row, 14 ); + image = exdData->getField< uint32_t >( row, 20 ); } Core::Data::SkyIsland2MissionDetail::SkyIsland2MissionDetail( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SkyIsland2MissionDetailDat.get_row( row_id ); - type = exdData->getField< uint8_t >( row, 0 ); - range = exdData->getField< uint8_t >( row, 2 ); - eObj = exdData->getField< uint32_t >( row, 4 ); - objective = exdData->getField< std::string >( row, 7 ); + auto row = exdData->m_SkyIsland2MissionDetailDat.get_row( row_id ); + type = exdData->getField< uint8_t >( row, 0 ); + range = exdData->getField< uint8_t >( row, 2 ); + eObj = exdData->getField< uint32_t >( row, 4 ); + objective = exdData->getField< std::string >( row, 7 ); } Core::Data::SkyIsland2MissionType::SkyIsland2MissionType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SkyIsland2MissionTypeDat.get_row( row_id ); - type = exdData->getField< bool >( row, 0 ); + auto row = exdData->m_SkyIsland2MissionTypeDat.get_row( row_id ); + type = exdData->getField< bool >( row, 0 ); } Core::Data::SkyIsland2RangeType::SkyIsland2RangeType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SkyIsland2RangeTypeDat.get_row( row_id ); - type = exdData->getField< uint8_t >( row, 0 ); + auto row = exdData->m_SkyIsland2RangeTypeDat.get_row( row_id ); + type = exdData->getField< uint8_t >( row, 0 ); } Core::Data::SpearfishingItem::SpearfishingItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SpearfishingItemDat.get_row( row_id ); - description = exdData->getField< std::string >( row, 0 ); - item = exdData->getField< int32_t >( row, 1 ); - gatheringItemLevel = exdData->getField< uint16_t >( row, 2 ); - territoryType = exdData->getField< uint16_t >( row, 4 ); - isVisible = exdData->getField< bool >( row, 5 ); + auto row = exdData->m_SpearfishingItemDat.get_row( row_id ); + description = exdData->getField< std::string >( row, 0 ); + item = exdData->getField< int32_t >( row, 1 ); + gatheringItemLevel = exdData->getField< uint16_t >( row, 2 ); + territoryType = exdData->getField< uint16_t >( row, 4 ); + isVisible = exdData->getField< bool >( row, 5 ); } Core::Data::SpearfishingNotebook::SpearfishingNotebook( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SpearfishingNotebookDat.get_row( row_id ); - gatheringLevel = exdData->getField< uint8_t >( row, 0 ); - territoryType = exdData->getField< int32_t >( row, 2 ); - x = exdData->getField< int16_t >( row, 3 ); - y = exdData->getField< int16_t >( row, 4 ); - radius = exdData->getField< uint16_t >( row, 5 ); - placeName = exdData->getField< uint16_t >( row, 7 ); - gatheringPointBase = exdData->getField< uint16_t >( row, 9 ); + auto row = exdData->m_SpearfishingNotebookDat.get_row( row_id ); + gatheringLevel = exdData->getField< uint8_t >( row, 0 ); + territoryType = exdData->getField< int32_t >( row, 2 ); + x = exdData->getField< int16_t >( row, 3 ); + y = exdData->getField< int16_t >( row, 4 ); + radius = exdData->getField< uint16_t >( row, 5 ); + placeName = exdData->getField< uint16_t >( row, 7 ); + gatheringPointBase = exdData->getField< uint16_t >( row, 9 ); +} + +Core::Data::SpearfishingRecordPage::SpearfishingRecordPage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_SpearfishingRecordPageDat.get_row( row_id ); + placeName = exdData->getField< int32_t >( row, 3 ); + image = exdData->getField< int32_t >( row, 4 ); } Core::Data::SpecialShop::SpecialShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SpecialShopDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - questItem.push_back( exdData->getField< int32_t >( row, 1201 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1202 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1203 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1204 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1205 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1206 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1207 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1208 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1209 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1210 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1211 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1212 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1213 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1214 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1215 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1216 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1217 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1218 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1219 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1220 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1221 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1222 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1223 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1224 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1225 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1226 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1227 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1228 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1229 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1230 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1231 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1232 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1233 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1234 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1235 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1236 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1237 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1238 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1239 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1240 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1241 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1242 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1243 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1244 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1245 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1246 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1247 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1248 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1249 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1250 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1251 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1252 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1253 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1254 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1255 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1256 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1257 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1258 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1259 ) ); - questItem.push_back( exdData->getField< int32_t >( row, 1260 ) ); - questShop = exdData->getField< int32_t >( row, 1863 ); + auto row = exdData->m_SpecialShopDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + questItem.push_back( exdData->getField< int32_t >( row, 1201 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1202 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1203 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1204 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1205 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1206 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1207 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1208 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1209 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1210 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1211 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1212 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1213 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1214 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1215 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1216 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1217 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1218 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1219 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1220 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1221 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1222 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1223 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1224 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1225 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1226 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1227 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1228 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1229 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1230 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1231 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1232 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1233 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1234 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1235 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1236 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1237 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1238 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1239 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1240 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1241 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1242 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1243 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1244 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1245 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1246 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1247 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1248 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1249 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1250 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1251 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1252 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1253 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1254 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1255 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1256 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1257 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1258 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1259 ) ); + questItem.push_back( exdData->getField< int32_t >( row, 1260 ) ); + questUnlock = exdData->getField< uint32_t >( row, 1862 ); + questShop = exdData->getField< int32_t >( row, 1863 ); + notCompleteText = exdData->getField< int32_t >( row, 1864 ); + completeText = exdData->getField< int32_t >( row, 1865 ); } Core::Data::SpecialShopItemCategory::SpecialShopItemCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SpecialShopItemCategoryDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_SpecialShopItemCategoryDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::Stain::Stain( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_StainDat.get_row( row_id ); - color = exdData->getField< uint32_t >( row, 0 ); - shade = exdData->getField< uint8_t >( row, 1 ); - name = exdData->getField< std::string >( row, 2 ); + auto row = exdData->m_StainDat.get_row( row_id ); + color = exdData->getField< uint32_t >( row, 0 ); + shade = exdData->getField< uint8_t >( row, 1 ); + name = exdData->getField< std::string >( row, 2 ); } Core::Data::StainTransient::StainTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_StainTransientDat.get_row( row_id ); - item1 = exdData->getField< uint32_t >( row, 0 ); - item2 = exdData->getField< uint32_t >( row, 1 ); + auto row = exdData->m_StainTransientDat.get_row( row_id ); + item1 = exdData->getField< uint32_t >( row, 0 ); + item2 = exdData->getField< uint32_t >( row, 1 ); } Core::Data::Status::Status( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_StatusDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - description = exdData->getField< std::string >( row, 1 ); - icon = exdData->getField< uint16_t >( row, 2 ); - maxStacks = exdData->getField< uint8_t >( row, 3 ); - category = exdData->getField< uint8_t >( row, 4 ); - hitEffect = exdData->getField< uint8_t >( row, 5 ); - vFX = exdData->getField< uint8_t >( row, 6 ); - lockMovement = exdData->getField< bool >( row, 7 ); - lockActions = exdData->getField< bool >( row, 9 ); - lockControl = exdData->getField< bool >( row, 10 ); - transfiguration = exdData->getField< bool >( row, 11 ); - canDispel = exdData->getField< bool >( row, 13 ); - inflictedByActor = exdData->getField< bool >( row, 14 ); - isPermanent = exdData->getField< bool >( row, 15 ); - isFcBuff = exdData->getField< bool >( row, 21 ); - invisibility = exdData->getField< bool >( row, 22 ); + auto row = exdData->m_StatusDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + description = exdData->getField< std::string >( row, 1 ); + icon = exdData->getField< uint16_t >( row, 2 ); + maxStacks = exdData->getField< uint8_t >( row, 3 ); + category = exdData->getField< uint8_t >( row, 4 ); + hitEffect = exdData->getField< uint8_t >( row, 5 ); + vFX = exdData->getField< uint8_t >( row, 6 ); + lockMovement = exdData->getField< bool >( row, 7 ); + lockActions = exdData->getField< bool >( row, 9 ); + lockControl = exdData->getField< bool >( row, 10 ); + transfiguration = exdData->getField< bool >( row, 11 ); + canDispel = exdData->getField< bool >( row, 13 ); + inflictedByActor = exdData->getField< bool >( row, 14 ); + isPermanent = exdData->getField< bool >( row, 15 ); + isFcBuff = exdData->getField< bool >( row, 21 ); + invisibility = exdData->getField< bool >( row, 22 ); } Core::Data::StatusHitEffect::StatusHitEffect( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_StatusHitEffectDat.get_row( row_id ); - location = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_StatusHitEffectDat.get_row( row_id ); + location = exdData->getField< uint16_t >( row, 0 ); } Core::Data::StatusLoopVFX::StatusLoopVFX( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_StatusLoopVFXDat.get_row( row_id ); - location = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_StatusLoopVFXDat.get_row( row_id ); + vFX = exdData->getField< uint16_t >( row, 0 ); + vFX2 = exdData->getField< uint16_t >( row, 2 ); + vFX3 = exdData->getField< uint16_t >( row, 4 ); } Core::Data::Story::Story( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_StoryDat.get_row( row_id ); + auto row = exdData->m_StoryDat.get_row( row_id ); } Core::Data::SubmarineExploration::SubmarineExploration( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SubmarineExplorationDat.get_row( row_id ); - destination = exdData->getField< std::string >( row, 0 ); - location = exdData->getField< std::string >( row, 1 ); - rankReq = exdData->getField< uint8_t >( row, 5 ); - ceruleumTankReq = exdData->getField< uint8_t >( row, 6 ); - durationmin = exdData->getField< uint16_t >( row, 7 ); - distanceForSurvey = exdData->getField< uint8_t >( row, 8 ); - expReward = exdData->getField< uint32_t >( row, 9 ); + auto row = exdData->m_SubmarineExplorationDat.get_row( row_id ); + destination = exdData->getField< std::string >( row, 0 ); + location = exdData->getField< std::string >( row, 1 ); + rankReq = exdData->getField< uint8_t >( row, 5 ); + ceruleumTankReq = exdData->getField< uint8_t >( row, 6 ); + durationmin = exdData->getField< uint16_t >( row, 7 ); + distanceForSurvey = exdData->getField< uint8_t >( row, 8 ); + expReward = exdData->getField< uint32_t >( row, 9 ); } Core::Data::SubmarinePart::SubmarinePart( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SubmarinePartDat.get_row( row_id ); - slot = exdData->getField< uint8_t >( row, 0 ); - rank = exdData->getField< uint8_t >( row, 1 ); - components = exdData->getField< uint8_t >( row, 2 ); - surveillance = exdData->getField< int16_t >( row, 3 ); - retrieval = exdData->getField< int16_t >( row, 4 ); - speed = exdData->getField< int16_t >( row, 5 ); - range = exdData->getField< int16_t >( row, 6 ); - favor = exdData->getField< int16_t >( row, 7 ); - repairMaterials = exdData->getField< uint8_t >( row, 9 ); + auto row = exdData->m_SubmarinePartDat.get_row( row_id ); + slot = exdData->getField< uint8_t >( row, 0 ); + rank = exdData->getField< uint8_t >( row, 1 ); + components = exdData->getField< uint8_t >( row, 2 ); + surveillance = exdData->getField< int16_t >( row, 3 ); + retrieval = exdData->getField< int16_t >( row, 4 ); + speed = exdData->getField< int16_t >( row, 5 ); + range = exdData->getField< int16_t >( row, 6 ); + favor = exdData->getField< int16_t >( row, 7 ); + repairMaterials = exdData->getField< uint8_t >( row, 9 ); } Core::Data::SubmarineRank::SubmarineRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SubmarineRankDat.get_row( row_id ); - rank = exdData->getField< uint16_t >( row, 0 ); - expToNext = exdData->getField< uint32_t >( row, 1 ); + auto row = exdData->m_SubmarineRankDat.get_row( row_id ); + rank = exdData->getField< uint16_t >( row, 0 ); + expToNext = exdData->getField< uint32_t >( row, 1 ); } Core::Data::SwitchTalk::SwitchTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_SwitchTalkDat.get_row( row_id ); - quest.push_back( exdData->getField< uint32_t >( row, 2 ) ); - quest.push_back( exdData->getField< uint32_t >( row, 3 ) ); - quest.push_back( exdData->getField< uint32_t >( row, 4 ) ); - quest.push_back( exdData->getField< uint32_t >( row, 5 ) ); - quest.push_back( exdData->getField< uint32_t >( row, 6 ) ); - quest.push_back( exdData->getField< uint32_t >( row, 7 ) ); - quest.push_back( exdData->getField< uint32_t >( row, 8 ) ); - quest.push_back( exdData->getField< uint32_t >( row, 9 ) ); - 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 ) ); - quest.push_back( exdData->getField< uint32_t >( row, 15 ) ); - quest.push_back( exdData->getField< uint32_t >( row, 16 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 17 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 18 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 19 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 20 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 21 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 22 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 23 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 24 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 25 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 26 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 27 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 28 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 29 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 30 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 31 ) ); - defaultTalk.push_back( exdData->getField< uint32_t >( row, 32 ) ); + auto row = exdData->m_SwitchTalkDat.get_row( row_id ); + quest.push_back( exdData->getField< uint32_t >( row, 2 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 3 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 4 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 5 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 6 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 7 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 8 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 9 ) ); + 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 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 15 ) ); + quest.push_back( exdData->getField< uint32_t >( row, 16 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 17 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 18 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 19 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 20 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 21 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 22 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 23 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 24 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 25 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 26 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 27 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 28 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 29 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 30 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 31 ) ); + defaultTalk.push_back( exdData->getField< uint32_t >( row, 32 ) ); } Core::Data::TerritoryType::TerritoryType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TerritoryTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - bg = exdData->getField< std::string >( row, 1 ); - placeNameRegion = exdData->getField< uint16_t >( row, 3 ); - placeNameZone = exdData->getField< uint16_t >( row, 4 ); - placeName = exdData->getField< uint16_t >( row, 5 ); - map = exdData->getField< uint16_t >( row, 6 ); - territoryIntendedUse = exdData->getField< uint8_t >( row, 9 ); - weatherRate = exdData->getField< uint8_t >( row, 12 ); - arrayEventHandler = exdData->getField< uint32_t >( row, 22 ); - aetheryte = exdData->getField< int32_t >( row, 24 ); + auto row = exdData->m_TerritoryTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + bg = exdData->getField< std::string >( row, 1 ); + placeNameRegion = exdData->getField< uint16_t >( row, 3 ); + placeNameZone = exdData->getField< uint16_t >( row, 4 ); + placeName = exdData->getField< uint16_t >( row, 5 ); + map = exdData->getField< uint16_t >( row, 6 ); + territoryIntendedUse = exdData->getField< uint8_t >( row, 9 ); + weatherRate = exdData->getField< uint8_t >( row, 12 ); + arrayEventHandler = exdData->getField< uint32_t >( row, 22 ); + aetheryte = exdData->getField< int32_t >( row, 24 ); } Core::Data::TextCommand::TextCommand( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TextCommandDat.get_row( row_id ); - command = exdData->getField< std::string >( row, 5 ); - shortCommand = exdData->getField< std::string >( row, 6 ); - description = exdData->getField< std::string >( row, 7 ); - alias = exdData->getField< std::string >( row, 8 ); - shortAlias = exdData->getField< std::string >( row, 9 ); + auto row = exdData->m_TextCommandDat.get_row( row_id ); + command = exdData->getField< std::string >( row, 5 ); + shortCommand = exdData->getField< std::string >( row, 6 ); + description = exdData->getField< std::string >( row, 7 ); + alias = exdData->getField< std::string >( row, 8 ); + shortAlias = exdData->getField< std::string >( row, 9 ); } Core::Data::Title::Title( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TitleDat.get_row( row_id ); - masculine = exdData->getField< std::string >( row, 0 ); - feminine = exdData->getField< std::string >( row, 1 ); - isPrefix = exdData->getField< bool >( row, 2 ); + auto row = exdData->m_TitleDat.get_row( row_id ); + masculine = exdData->getField< std::string >( row, 0 ); + feminine = exdData->getField< std::string >( row, 1 ); + isPrefix = exdData->getField< bool >( row, 2 ); } Core::Data::Tomestones::Tomestones( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TomestonesDat.get_row( row_id ); - weeklyLimit = exdData->getField< uint16_t >( row, 0 ); + auto row = exdData->m_TomestonesDat.get_row( row_id ); + weeklyLimit = exdData->getField< uint16_t >( row, 0 ); } Core::Data::TomestonesItem::TomestonesItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TomestonesItemDat.get_row( row_id ); - item = exdData->getField< int32_t >( row, 0 ); - tomestones = exdData->getField< int32_t >( row, 2 ); + auto row = exdData->m_TomestonesItemDat.get_row( row_id ); + item = exdData->getField< int32_t >( row, 0 ); + tomestones = exdData->getField< int32_t >( row, 2 ); } Core::Data::TopicSelect::TopicSelect( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TopicSelectDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_TopicSelectDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::Town::Town( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TownDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - icon = exdData->getField< int32_t >( row, 1 ); + auto row = exdData->m_TownDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); } Core::Data::Trait::Trait( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TraitDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - icon = exdData->getField< int32_t >( row, 1 ); - classJob = exdData->getField< uint8_t >( row, 2 ); - level = exdData->getField< uint8_t >( row, 3 ); - value = exdData->getField< int16_t >( row, 5 ); - classJobCategory = exdData->getField< uint8_t >( row, 6 ); + auto row = exdData->m_TraitDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + icon = exdData->getField< int32_t >( row, 1 ); + classJob = exdData->getField< uint8_t >( row, 2 ); + level = exdData->getField< uint8_t >( row, 3 ); + quest = exdData->getField< uint32_t >( row, 4 ); + value = exdData->getField< int16_t >( row, 5 ); + classJobCategory = exdData->getField< uint8_t >( row, 6 ); } Core::Data::TraitRecast::TraitRecast( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TraitRecastDat.get_row( row_id ); - trait = exdData->getField< uint16_t >( row, 0 ); - action = exdData->getField< uint16_t >( row, 1 ); - timeds = exdData->getField< uint16_t >( row, 2 ); + auto row = exdData->m_TraitRecastDat.get_row( row_id ); + trait = exdData->getField< uint16_t >( row, 0 ); + action = exdData->getField< uint16_t >( row, 1 ); + timeds = exdData->getField< uint16_t >( row, 2 ); } Core::Data::TraitTransient::TraitTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TraitTransientDat.get_row( row_id ); - description = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_TraitTransientDat.get_row( row_id ); + description = exdData->getField< std::string >( row, 0 ); } Core::Data::Transformation::Transformation( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TransformationDat.get_row( row_id ); - model = exdData->getField< int16_t >( row, 1 ); - bNpcCustomize = exdData->getField< int32_t >( row, 2 ); - bNpcEquip = exdData->getField< int32_t >( row, 3 ); - action.push_back( exdData->getField< uint16_t >( row, 4 ) ); - action.push_back( exdData->getField< uint16_t >( row, 5 ) ); - action.push_back( exdData->getField< uint16_t >( row, 6 ) ); - action.push_back( exdData->getField< uint16_t >( row, 7 ) ); - action.push_back( exdData->getField< uint16_t >( row, 8 ) ); - action.push_back( exdData->getField< uint16_t >( row, 9 ) ); - speed = exdData->getField< float >( row, 12 ); - scale = exdData->getField< float >( row, 13 ); - isPvP = exdData->getField< bool >( row, 14 ); - isEvent = exdData->getField< bool >( row, 15 ); - playerCamera = exdData->getField< bool >( row, 16 ); + auto row = exdData->m_TransformationDat.get_row( row_id ); + model = exdData->getField< int16_t >( row, 1 ); + bNpcCustomize = exdData->getField< int32_t >( row, 4 ); + action.push_back( exdData->getField< uint16_t >( row, 5 ) ); + action.push_back( exdData->getField< uint16_t >( row, 6 ) ); + action.push_back( exdData->getField< uint16_t >( row, 7 ) ); + action.push_back( exdData->getField< uint16_t >( row, 8 ) ); + action.push_back( exdData->getField< uint16_t >( row, 9 ) ); + action.push_back( exdData->getField< uint16_t >( row, 10 ) ); + speed = exdData->getField< float >( row, 13 ); + scale = exdData->getField< float >( row, 14 ); + isPvP = exdData->getField< bool >( row, 15 ); + isEvent = exdData->getField< bool >( row, 16 ); + playerCamera = exdData->getField< bool >( row, 17 ); } Core::Data::Treasure::Treasure( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TreasureDat.get_row( row_id ); - item = exdData->getField< uint32_t >( row, 8 ); + auto row = exdData->m_TreasureDat.get_row( row_id ); + item = exdData->getField< uint32_t >( row, 8 ); } Core::Data::TreasureHuntRank::TreasureHuntRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TreasureHuntRankDat.get_row( row_id ); - icon = exdData->getField< uint32_t >( row, 1 ); - itemName = exdData->getField< int32_t >( row, 2 ); - keyItemName = exdData->getField< int32_t >( row, 3 ); - instanceMap = exdData->getField< int32_t >( row, 4 ); - maxPartySize = exdData->getField< uint8_t >( row, 5 ); - minPartySize = exdData->getField< uint8_t >( row, 6 ); + auto row = exdData->m_TreasureHuntRankDat.get_row( row_id ); + icon = exdData->getField< uint32_t >( row, 1 ); + itemName = exdData->getField< int32_t >( row, 2 ); + keyItemName = exdData->getField< int32_t >( row, 3 ); + instanceMap = exdData->getField< int32_t >( row, 4 ); + maxPartySize = exdData->getField< uint8_t >( row, 5 ); + minPartySize = exdData->getField< uint8_t >( row, 6 ); } Core::Data::Tribe::Tribe( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TribeDat.get_row( row_id ); - masculine = exdData->getField< std::string >( row, 0 ); - feminine = exdData->getField< std::string >( row, 1 ); - sTR = exdData->getField< int8_t >( row, 4 ); - dEX = exdData->getField< int8_t >( row, 5 ); - vIT = exdData->getField< int8_t >( row, 6 ); - iNT = exdData->getField< int8_t >( row, 7 ); - mND = exdData->getField< int8_t >( row, 8 ); - pIE = exdData->getField< int8_t >( row, 9 ); + auto row = exdData->m_TribeDat.get_row( row_id ); + masculine = exdData->getField< std::string >( row, 0 ); + feminine = exdData->getField< std::string >( row, 1 ); + sTR = exdData->getField< int8_t >( row, 4 ); + dEX = exdData->getField< int8_t >( row, 5 ); + vIT = exdData->getField< int8_t >( row, 6 ); + iNT = exdData->getField< int8_t >( row, 7 ); + mND = exdData->getField< int8_t >( row, 8 ); + pIE = exdData->getField< int8_t >( row, 9 ); } Core::Data::TripleTriad::TripleTriad( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TripleTriadDat.get_row( row_id ); - tripleTriadCardFixed.push_back( exdData->getField< uint16_t >( row, 0 ) ); - tripleTriadCardFixed.push_back( exdData->getField< uint16_t >( row, 1 ) ); - tripleTriadCardFixed.push_back( exdData->getField< uint16_t >( row, 2 ) ); - tripleTriadCardFixed.push_back( exdData->getField< uint16_t >( row, 3 ) ); - tripleTriadCardFixed.push_back( exdData->getField< uint16_t >( row, 4 ) ); - tripleTriadCardVariable.push_back( exdData->getField< uint16_t >( row, 5 ) ); - tripleTriadCardVariable.push_back( exdData->getField< uint16_t >( row, 6 ) ); - tripleTriadCardVariable.push_back( exdData->getField< uint16_t >( row, 7 ) ); - tripleTriadCardVariable.push_back( exdData->getField< uint16_t >( row, 8 ) ); - tripleTriadCardVariable.push_back( exdData->getField< uint16_t >( row, 9 ) ); - tripleTriadRule.push_back( exdData->getField< uint8_t >( row, 10 ) ); - tripleTriadRule.push_back( exdData->getField< uint8_t >( row, 11 ) ); - usesRegionalRules = exdData->getField< bool >( row, 12 ); - fee = exdData->getField< uint16_t >( row, 13 ); - previousQuestJoin = exdData->getField< uint8_t >( row, 14 ); - previousQuest.push_back( exdData->getField< uint32_t >( row, 15 ) ); - previousQuest.push_back( exdData->getField< uint32_t >( row, 16 ) ); - previousQuest.push_back( exdData->getField< uint32_t >( row, 17 ) ); - startTime = exdData->getField< uint16_t >( row, 18 ); - endTime = exdData->getField< uint16_t >( row, 19 ); - defaultTalkChallenge = exdData->getField< uint32_t >( row, 20 ); - defaultTalkUnavailable = exdData->getField< uint32_t >( row, 21 ); - defaultTalkNPCWin = exdData->getField< uint32_t >( row, 22 ); - defaultTalkDraw = exdData->getField< uint32_t >( row, 23 ); - defaultTalkPCWin = exdData->getField< uint32_t >( row, 24 ); - itemPossibleReward.push_back( exdData->getField< uint32_t >( row, 26 ) ); - itemPossibleReward.push_back( exdData->getField< uint32_t >( row, 27 ) ); - itemPossibleReward.push_back( exdData->getField< uint32_t >( row, 28 ) ); - itemPossibleReward.push_back( exdData->getField< uint32_t >( row, 29 ) ); + auto row = exdData->m_TripleTriadDat.get_row( row_id ); + tripleTriadCardFixed.push_back( exdData->getField< uint16_t >( row, 0 ) ); + tripleTriadCardFixed.push_back( exdData->getField< uint16_t >( row, 1 ) ); + tripleTriadCardFixed.push_back( exdData->getField< uint16_t >( row, 2 ) ); + tripleTriadCardFixed.push_back( exdData->getField< uint16_t >( row, 3 ) ); + tripleTriadCardFixed.push_back( exdData->getField< uint16_t >( row, 4 ) ); + tripleTriadCardVariable.push_back( exdData->getField< uint16_t >( row, 5 ) ); + tripleTriadCardVariable.push_back( exdData->getField< uint16_t >( row, 6 ) ); + tripleTriadCardVariable.push_back( exdData->getField< uint16_t >( row, 7 ) ); + tripleTriadCardVariable.push_back( exdData->getField< uint16_t >( row, 8 ) ); + tripleTriadCardVariable.push_back( exdData->getField< uint16_t >( row, 9 ) ); + tripleTriadRule.push_back( exdData->getField< uint8_t >( row, 10 ) ); + tripleTriadRule.push_back( exdData->getField< uint8_t >( row, 11 ) ); + usesRegionalRules = exdData->getField< bool >( row, 12 ); + fee = exdData->getField< uint16_t >( row, 13 ); + previousQuestJoin = exdData->getField< uint8_t >( row, 14 ); + previousQuest.push_back( exdData->getField< uint32_t >( row, 15 ) ); + previousQuest.push_back( exdData->getField< uint32_t >( row, 16 ) ); + previousQuest.push_back( exdData->getField< uint32_t >( row, 17 ) ); + startTime = exdData->getField< uint16_t >( row, 18 ); + endTime = exdData->getField< uint16_t >( row, 19 ); + defaultTalkChallenge = exdData->getField< uint32_t >( row, 20 ); + defaultTalkUnavailable = exdData->getField< uint32_t >( row, 21 ); + defaultTalkNPCWin = exdData->getField< uint32_t >( row, 22 ); + defaultTalkDraw = exdData->getField< uint32_t >( row, 23 ); + defaultTalkPCWin = exdData->getField< uint32_t >( row, 24 ); + itemPossibleReward.push_back( exdData->getField< uint32_t >( row, 26 ) ); + itemPossibleReward.push_back( exdData->getField< uint32_t >( row, 27 ) ); + itemPossibleReward.push_back( exdData->getField< uint32_t >( row, 28 ) ); + itemPossibleReward.push_back( exdData->getField< uint32_t >( row, 29 ) ); } Core::Data::TripleTriadCard::TripleTriadCard( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TripleTriadCardDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); - startsWithVowel = exdData->getField< int8_t >( row, 4 ); - description = exdData->getField< std::string >( row, 8 ); + auto row = exdData->m_TripleTriadCardDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + startsWithVowel = exdData->getField< int8_t >( row, 4 ); + description = exdData->getField< std::string >( row, 8 ); } Core::Data::TripleTriadCardRarity::TripleTriadCardRarity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TripleTriadCardRarityDat.get_row( row_id ); - stars = exdData->getField< uint8_t >( row, 0 ); + auto row = exdData->m_TripleTriadCardRarityDat.get_row( row_id ); + stars = exdData->getField< uint8_t >( row, 0 ); } Core::Data::TripleTriadCardResident::TripleTriadCardResident( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TripleTriadCardResidentDat.get_row( row_id ); - top = exdData->getField< uint8_t >( row, 1 ); - bottom = exdData->getField< uint8_t >( row, 2 ); - left = exdData->getField< uint8_t >( row, 3 ); - right = exdData->getField< uint8_t >( row, 4 ); - tripleTriadCardRarity = exdData->getField< uint8_t >( row, 5 ); - tripleTriadCardType = exdData->getField< uint8_t >( row, 6 ); - saleValue = exdData->getField< uint16_t >( row, 7 ); - sortKey = exdData->getField< uint8_t >( row, 8 ); + auto row = exdData->m_TripleTriadCardResidentDat.get_row( row_id ); + top = exdData->getField< uint8_t >( row, 1 ); + bottom = exdData->getField< uint8_t >( row, 2 ); + left = exdData->getField< uint8_t >( row, 3 ); + right = exdData->getField< uint8_t >( row, 4 ); + tripleTriadCardRarity = exdData->getField< uint8_t >( row, 5 ); + tripleTriadCardType = exdData->getField< uint8_t >( row, 6 ); + saleValue = exdData->getField< uint16_t >( row, 7 ); + sortKey = exdData->getField< uint8_t >( row, 8 ); } Core::Data::TripleTriadCardType::TripleTriadCardType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TripleTriadCardTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_TripleTriadCardTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::TripleTriadCompetition::TripleTriadCompetition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TripleTriadCompetitionDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_TripleTriadCompetitionDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::TripleTriadRule::TripleTriadRule( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TripleTriadRuleDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_TripleTriadRuleDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::Tutorial::Tutorial( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TutorialDat.get_row( row_id ); - exp = exdData->getField< uint32_t >( row, 4 ); - gil = exdData->getField< uint32_t >( row, 5 ); - rewardTank = exdData->getField< uint32_t >( row, 6 ); - rewardMelee = exdData->getField< uint32_t >( row, 7 ); - rewardRanged = exdData->getField< uint32_t >( row, 8 ); - objective = exdData->getField< uint32_t >( row, 9 ); + auto row = exdData->m_TutorialDat.get_row( row_id ); + exp = exdData->getField< uint32_t >( row, 4 ); + gil = exdData->getField< uint32_t >( row, 5 ); + rewardTank = exdData->getField< uint32_t >( row, 6 ); + rewardMelee = exdData->getField< uint32_t >( row, 7 ); + rewardRanged = exdData->getField< uint32_t >( row, 8 ); + objective = exdData->getField< uint32_t >( row, 9 ); } Core::Data::TutorialDPS::TutorialDPS( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TutorialDPSDat.get_row( row_id ); - objective = exdData->getField< uint8_t >( row, 0 ); + auto row = exdData->m_TutorialDPSDat.get_row( row_id ); + objective = exdData->getField< uint8_t >( row, 0 ); } Core::Data::TutorialHealer::TutorialHealer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TutorialHealerDat.get_row( row_id ); - objective = exdData->getField< uint8_t >( row, 0 ); + auto row = exdData->m_TutorialHealerDat.get_row( row_id ); + objective = exdData->getField< uint8_t >( row, 0 ); } Core::Data::TutorialTank::TutorialTank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_TutorialTankDat.get_row( row_id ); - objective = exdData->getField< uint8_t >( row, 0 ); + auto row = exdData->m_TutorialTankDat.get_row( row_id ); + objective = exdData->getField< uint8_t >( row, 0 ); } Core::Data::VaseFlower::VaseFlower( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_VaseFlowerDat.get_row( row_id ); - item = exdData->getField< uint32_t >( row, 3 ); + auto row = exdData->m_VaseFlowerDat.get_row( row_id ); + item = exdData->getField< uint32_t >( row, 3 ); } Core::Data::VFX::VFX( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_VFXDat.get_row( row_id ); - location = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_VFXDat.get_row( row_id ); + location = exdData->getField< std::string >( row, 0 ); } Core::Data::Warp::Warp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WarpDat.get_row( row_id ); - level = exdData->getField< uint32_t >( row, 0 ); - placeName = exdData->getField< uint16_t >( row, 1 ); - defaultTalk1 = exdData->getField< uint32_t >( row, 2 ); - defaultTalk2 = exdData->getField< uint32_t >( row, 3 ); - defaultTalk3 = exdData->getField< uint32_t >( row, 4 ); - warpCondition = exdData->getField< uint16_t >( row, 5 ); - warpLogic = exdData->getField< uint16_t >( row, 6 ); + auto row = exdData->m_WarpDat.get_row( row_id ); + level = exdData->getField< uint32_t >( row, 0 ); + placeName = exdData->getField< uint16_t >( row, 1 ); + defaultTalk1 = exdData->getField< uint32_t >( row, 2 ); + defaultTalk2 = exdData->getField< uint32_t >( row, 3 ); + defaultTalk3 = exdData->getField< uint32_t >( row, 4 ); + warpCondition = exdData->getField< uint16_t >( row, 5 ); + warpLogic = exdData->getField< uint16_t >( row, 6 ); } Core::Data::WarpCondition::WarpCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WarpConditionDat.get_row( row_id ); - requiredQuest1 = exdData->getField< uint32_t >( row, 2 ); - requiredQuest2 = exdData->getField< uint32_t >( row, 3 ); - dRequiredQuest3 = exdData->getField< uint32_t >( row, 4 ); - requiredQuest4 = exdData->getField< uint32_t >( row, 5 ); + auto row = exdData->m_WarpConditionDat.get_row( row_id ); + requiredQuest1 = exdData->getField< uint32_t >( row, 2 ); + requiredQuest2 = exdData->getField< uint32_t >( row, 3 ); + dRequiredQuest3 = exdData->getField< uint32_t >( row, 4 ); + requiredQuest4 = exdData->getField< uint32_t >( row, 5 ); +} + +Core::Data::WarpLogic::WarpLogic( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_WarpLogicDat.get_row( row_id ); + warpName = exdData->getField< bool >( row, 2 ); + function.push_back( exdData->getField< std::string >( row, 3 ) ); + function.push_back( exdData->getField< std::string >( row, 4 ) ); + function.push_back( exdData->getField< std::string >( row, 5 ) ); + function.push_back( exdData->getField< std::string >( row, 6 ) ); + function.push_back( exdData->getField< std::string >( row, 7 ) ); + function.push_back( exdData->getField< std::string >( row, 8 ) ); + function.push_back( exdData->getField< std::string >( row, 9 ) ); + function.push_back( exdData->getField< std::string >( row, 10 ) ); + function.push_back( exdData->getField< std::string >( row, 11 ) ); + function.push_back( exdData->getField< std::string >( row, 12 ) ); + argument.push_back( exdData->getField< uint32_t >( row, 13 ) ); + argument.push_back( exdData->getField< uint32_t >( row, 14 ) ); + argument.push_back( exdData->getField< uint32_t >( row, 15 ) ); + argument.push_back( exdData->getField< uint32_t >( row, 16 ) ); + argument.push_back( exdData->getField< uint32_t >( row, 17 ) ); + argument.push_back( exdData->getField< uint32_t >( row, 18 ) ); + argument.push_back( exdData->getField< uint32_t >( row, 19 ) ); + argument.push_back( exdData->getField< uint32_t >( row, 20 ) ); + argument.push_back( exdData->getField< uint32_t >( row, 21 ) ); + argument.push_back( exdData->getField< uint32_t >( row, 22 ) ); + textString = exdData->getField< std::string >( row, 23 ); + response1 = exdData->getField< std::string >( row, 24 ); + response2 = exdData->getField< std::string >( row, 25 ); } Core::Data::Weather::Weather( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WeatherDat.get_row( row_id ); - icon = exdData->getField< int32_t >( row, 0 ); - name = exdData->getField< std::string >( row, 1 ); - description = exdData->getField< std::string >( row, 2 ); + auto row = exdData->m_WeatherDat.get_row( row_id ); + icon = exdData->getField< int32_t >( row, 0 ); + name = exdData->getField< std::string >( row, 1 ); + description = exdData->getField< std::string >( row, 2 ); } Core::Data::WeatherGroup::WeatherGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WeatherGroupDat.get_row( row_id ); - weatherRate = exdData->getField< int32_t >( row, 1 ); + auto row = exdData->m_WeatherGroupDat.get_row( row_id ); + weatherRate = exdData->getField< int32_t >( row, 1 ); } Core::Data::WeatherRate::WeatherRate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WeatherRateDat.get_row( row_id ); + auto row = exdData->m_WeatherRateDat.get_row( row_id ); } Core::Data::WeddingBGM::WeddingBGM( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WeddingBGMDat.get_row( row_id ); - song = exdData->getField< uint16_t >( row, 0 ); - songName = exdData->getField< std::string >( row, 1 ); + auto row = exdData->m_WeddingBGMDat.get_row( row_id ); + song = exdData->getField< uint16_t >( row, 0 ); + songName = exdData->getField< std::string >( row, 1 ); } Core::Data::WeeklyBingoOrderData::WeeklyBingoOrderData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WeeklyBingoOrderDataDat.get_row( row_id ); - data = exdData->getField< uint32_t >( row, 1 ); - text = exdData->getField< uint8_t >( row, 3 ); - icon = exdData->getField< uint32_t >( row, 4 ); + auto row = exdData->m_WeeklyBingoOrderDataDat.get_row( row_id ); + type = exdData->getField< uint32_t >( row, 0 ); + data = exdData->getField< uint32_t >( row, 1 ); + text = exdData->getField< uint8_t >( row, 3 ); + icon = exdData->getField< uint32_t >( row, 4 ); } Core::Data::WeeklyBingoRewardData::WeeklyBingoRewardData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WeeklyBingoRewardDataDat.get_row( row_id ); - rewardItem2 = exdData->getField< uint32_t >( row, 10 ); - rewardHQ2 = exdData->getField< bool >( row, 11 ); - rewardQuantity2 = exdData->getField< uint16_t >( row, 12 ); + auto row = exdData->m_WeeklyBingoRewardDataDat.get_row( row_id ); + rewardItem2 = exdData->getField< uint32_t >( row, 10 ); + rewardHQ2 = exdData->getField< bool >( row, 11 ); + rewardQuantity2 = exdData->getField< uint16_t >( row, 12 ); } Core::Data::WeeklyBingoText::WeeklyBingoText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WeeklyBingoTextDat.get_row( row_id ); - description = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_WeeklyBingoTextDat.get_row( row_id ); + description = exdData->getField< std::string >( row, 0 ); +} + +Core::Data::WeeklyLotBonus::WeeklyLotBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_WeeklyLotBonusDat.get_row( row_id ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 0 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 1 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 2 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 3 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 4 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 5 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 6 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 7 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 8 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 9 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 10 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 11 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 12 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 13 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 14 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 15 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 16 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 17 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 18 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 19 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 20 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 21 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 22 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 23 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 24 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 25 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 26 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 27 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 28 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 29 ) ); + weeklyLotBonusThreshold.push_back( exdData->getField< uint8_t >( row, 30 ) ); } Core::Data::World::World( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WorldDat.get_row( row_id ); - dataCenter = exdData->getField< uint8_t >( row, 1 ); + auto row = exdData->m_WorldDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); + dataCenter = exdData->getField< uint8_t >( row, 2 ); } Core::Data::WorldDCGroupType::WorldDCGroupType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_WorldDCGroupTypeDat.get_row( row_id ); - name = exdData->getField< std::string >( row, 0 ); + auto row = exdData->m_WorldDCGroupTypeDat.get_row( row_id ); + name = exdData->getField< std::string >( row, 0 ); } Core::Data::YKW::YKW( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_YKWDat.get_row( row_id ); - item = exdData->getField< uint32_t >( row, 1 ); - location.push_back( exdData->getField< uint16_t >( row, 2 ) ); - location.push_back( exdData->getField< uint16_t >( row, 3 ) ); - location.push_back( exdData->getField< uint16_t >( row, 4 ) ); + auto row = exdData->m_YKWDat.get_row( row_id ); + item = exdData->getField< uint32_t >( row, 1 ); + location.push_back( exdData->getField< uint16_t >( row, 2 ) ); + location.push_back( exdData->getField< uint16_t >( row, 3 ) ); + location.push_back( exdData->getField< uint16_t >( row, 4 ) ); } Core::Data::ZoneSharedGroup::ZoneSharedGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) { - auto row = exdData->m_ZoneSharedGroupDat.get_row( row_id ); - quest1 = exdData->getField< uint32_t >( row, 2 ); - quest2 = exdData->getField< uint32_t >( row, 6 ); - quest3 = exdData->getField< uint32_t >( row, 10 ); - quest4 = exdData->getField< uint32_t >( row, 14 ); - quest5 = exdData->getField< uint32_t >( row, 18 ); - quest6 = exdData->getField< uint32_t >( row, 22 ); + auto row = exdData->m_ZoneSharedGroupDat.get_row( row_id ); + quest1 = exdData->getField< uint32_t >( row, 2 ); + quest2 = exdData->getField< uint32_t >( row, 6 ); + quest3 = exdData->getField< uint32_t >( row, 10 ); + quest4 = exdData->getField< uint32_t >( row, 14 ); + quest5 = exdData->getField< uint32_t >( row, 18 ); + quest6 = exdData->getField< uint32_t >( row, 22 ); } @@ -4428,393 +5264,465 @@ Core::Data::ExdDataGenerated::~ExdDataGenerated() xiv::exd::Exd Core::Data::ExdDataGenerated::setupDatAccess( const std::string& name, xiv::exd::Language lang ) { - auto& cat = m_exd_data->get_category( name ); - return static_cast< xiv::exd::Exd >( cat.get_data_ln( lang ) ); + auto& cat = m_exd_data->get_category( name ); + return static_cast< xiv::exd::Exd >( cat.get_data_ln( lang ) ); }; void Core::Data::ExdDataGenerated::loadIdList( xiv::exd::Exd& data, std::set< uint32_t >& outIdList ) { - auto pDataRows = data.get_rows(); + auto pDataRows = data.get_rows(); - for( auto row : pDataRows ) - { - uint32_t id = row.first; - outIdList.insert( id ); - } + for( auto row : pDataRows ) + { + uint32_t id = row.first; + outIdList.insert( id ); + } } bool Core::Data::ExdDataGenerated::init( const std::string& path ) { - try - { - m_data = boost::make_shared< xiv::dat::GameData >( path ); - m_exd_data = boost::make_shared< xiv::exd::ExdData >( *m_data ); + try + { + m_data = boost::make_shared< xiv::dat::GameData >( path ); + m_exd_data = boost::make_shared< xiv::exd::ExdData >( *m_data ); - m_AchievementDat = setupDatAccess( "Achievement", xiv::exd::Language::en ); - m_AchievementCategoryDat = setupDatAccess( "AchievementCategory", xiv::exd::Language::en ); - m_AchievementKindDat = setupDatAccess( "AchievementKind", xiv::exd::Language::en ); - m_ActionDat = setupDatAccess( "Action", xiv::exd::Language::en ); - m_ActionCastTimelineDat = setupDatAccess( "ActionCastTimeline", xiv::exd::Language::none ); - m_ActionCastVFXDat = setupDatAccess( "ActionCastVFX", xiv::exd::Language::none ); - m_ActionCategoryDat = setupDatAccess( "ActionCategory", xiv::exd::Language::en ); - m_ActionComboRouteDat = setupDatAccess( "ActionComboRoute", xiv::exd::Language::en ); - m_ActionIndirectionDat = setupDatAccess( "ActionIndirection", xiv::exd::Language::none ); - m_ActionParamDat = setupDatAccess( "ActionParam", xiv::exd::Language::none ); - m_ActionProcStatusDat = setupDatAccess( "ActionProcStatus", xiv::exd::Language::none ); - m_ActionTimelineDat = setupDatAccess( "ActionTimeline", xiv::exd::Language::none ); - m_ActionTimelineReplaceDat = setupDatAccess( "ActionTimelineReplace", xiv::exd::Language::none ); - m_ActionTransientDat = setupDatAccess( "ActionTransient", xiv::exd::Language::en ); - m_AddonDat = setupDatAccess( "Addon", 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 ); - m_AetherCurrentCompFlgSetDat = setupDatAccess( "AetherCurrentCompFlgSet", xiv::exd::Language::none ); - m_AetherialWheelDat = setupDatAccess( "AetherialWheel", xiv::exd::Language::none ); - m_AetheryteDat = setupDatAccess( "Aetheryte", xiv::exd::Language::en ); - m_AirshipExplorationLevelDat = setupDatAccess( "AirshipExplorationLevel", xiv::exd::Language::none ); - m_AirshipExplorationLogDat = setupDatAccess( "AirshipExplorationLog", xiv::exd::Language::en ); - m_AirshipExplorationParamTypeDat = setupDatAccess( "AirshipExplorationParamType", xiv::exd::Language::en ); - m_AirshipExplorationPartDat = setupDatAccess( "AirshipExplorationPart", xiv::exd::Language::none ); - m_AirshipExplorationPointDat = setupDatAccess( "AirshipExplorationPoint", xiv::exd::Language::en ); - m_AnimaWeapon5Dat = setupDatAccess( "AnimaWeapon5", xiv::exd::Language::none ); - m_AnimaWeapon5ParamDat = setupDatAccess( "AnimaWeapon5Param", xiv::exd::Language::en ); - m_AnimaWeapon5PatternGroupDat = setupDatAccess( "AnimaWeapon5PatternGroup", xiv::exd::Language::en ); - m_AnimaWeapon5SpiritTalkDat = setupDatAccess( "AnimaWeapon5SpiritTalk", xiv::exd::Language::none ); - m_AnimaWeapon5SpiritTalkParamDat = setupDatAccess( "AnimaWeapon5SpiritTalkParam", xiv::exd::Language::en ); - m_AnimaWeapon5TradeItemDat = setupDatAccess( "AnimaWeapon5TradeItem", xiv::exd::Language::none ); - m_AnimaWeaponFUITalkDat = setupDatAccess( "AnimaWeaponFUITalk", xiv::exd::Language::none ); - m_AnimaWeaponFUITalkParamDat = setupDatAccess( "AnimaWeaponFUITalkParam", xiv::exd::Language::en ); - m_AnimaWeaponIconDat = setupDatAccess( "AnimaWeaponIcon", xiv::exd::Language::none ); - m_AnimaWeaponItemDat = setupDatAccess( "AnimaWeaponItem", xiv::exd::Language::none ); - m_AquariumFishDat = setupDatAccess( "AquariumFish", xiv::exd::Language::none ); - m_AquariumWaterDat = setupDatAccess( "AquariumWater", xiv::exd::Language::en ); - m_AttackTypeDat = setupDatAccess( "AttackType", xiv::exd::Language::en ); - m_BalloonDat = setupDatAccess( "Balloon", xiv::exd::Language::en ); - m_BaseParamDat = setupDatAccess( "BaseParam", xiv::exd::Language::en ); - m_BattleLeveDat = setupDatAccess( "BattleLeve", xiv::exd::Language::none ); - m_BeastRankBonusDat = setupDatAccess( "BeastRankBonus", xiv::exd::Language::none ); - 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_BGMDat = setupDatAccess( "BGM", xiv::exd::Language::none ); - m_BNpcAnnounceIconDat = setupDatAccess( "BNpcAnnounceIcon", xiv::exd::Language::none ); - m_BNpcBaseDat = setupDatAccess( "BNpcBase", xiv::exd::Language::none ); - m_BNpcCustomizeDat = setupDatAccess( "BNpcCustomize", xiv::exd::Language::none ); - m_BNpcNameDat = setupDatAccess( "BNpcName", xiv::exd::Language::en ); - m_BuddyDat = setupDatAccess( "Buddy", xiv::exd::Language::none ); - m_BuddyActionDat = setupDatAccess( "BuddyAction", xiv::exd::Language::en ); - m_BuddyEquipDat = setupDatAccess( "BuddyEquip", xiv::exd::Language::en ); - m_BuddyItemDat = setupDatAccess( "BuddyItem", xiv::exd::Language::none ); - m_BuddyRankDat = setupDatAccess( "BuddyRank", xiv::exd::Language::none ); - m_BuddySkillDat = setupDatAccess( "BuddySkill", xiv::exd::Language::none ); - m_CabinetDat = setupDatAccess( "Cabinet", xiv::exd::Language::none ); - m_CabinetCategoryDat = setupDatAccess( "CabinetCategory", xiv::exd::Language::none ); - m_CalendarDat = setupDatAccess( "Calendar", xiv::exd::Language::none ); - m_CharaMakeCustomizeDat = setupDatAccess( "CharaMakeCustomize", xiv::exd::Language::none ); - m_CharaMakeTypeDat = setupDatAccess( "CharaMakeType", xiv::exd::Language::en ); - m_ChocoboRaceDat = setupDatAccess( "ChocoboRace", xiv::exd::Language::none ); - m_ChocoboRaceAbilityDat = setupDatAccess( "ChocoboRaceAbility", xiv::exd::Language::en ); - m_ChocoboRaceAbilityTypeDat = setupDatAccess( "ChocoboRaceAbilityType", xiv::exd::Language::none ); - m_ChocoboRaceItemDat = setupDatAccess( "ChocoboRaceItem", xiv::exd::Language::en ); - m_ChocoboRaceRankDat = setupDatAccess( "ChocoboRaceRank", xiv::exd::Language::none ); - m_ChocoboRaceStatusDat = setupDatAccess( "ChocoboRaceStatus", xiv::exd::Language::none ); - m_ChocoboRaceTerritoryDat = setupDatAccess( "ChocoboRaceTerritory", xiv::exd::Language::none ); - m_ChocoboTaxiDat = setupDatAccess( "ChocoboTaxi", xiv::exd::Language::none ); - m_ChocoboTaxiStandDat = setupDatAccess( "ChocoboTaxiStand", xiv::exd::Language::en ); - m_ClassJobDat = setupDatAccess( "ClassJob", xiv::exd::Language::en ); - m_ClassJobCategoryDat = setupDatAccess( "ClassJobCategory", xiv::exd::Language::en ); - m_CompanionDat = setupDatAccess( "Companion", xiv::exd::Language::en ); - m_CompanionMoveDat = setupDatAccess( "CompanionMove", xiv::exd::Language::en ); - m_CompanionTransientDat = setupDatAccess( "CompanionTransient", xiv::exd::Language::en ); - m_CompanyActionDat = setupDatAccess( "CompanyAction", xiv::exd::Language::en ); - m_CompanyCraftDraftDat = setupDatAccess( "CompanyCraftDraft", xiv::exd::Language::en ); - m_CompanyCraftDraftCategoryDat = setupDatAccess( "CompanyCraftDraftCategory", xiv::exd::Language::en ); - m_CompanyCraftManufactoryStateDat = setupDatAccess( "CompanyCraftManufactoryState", xiv::exd::Language::en ); - m_CompanyCraftPartDat = setupDatAccess( "CompanyCraftPart", xiv::exd::Language::none ); - m_CompanyCraftProcessDat = setupDatAccess( "CompanyCraftProcess", xiv::exd::Language::none ); - m_CompanyCraftSequenceDat = setupDatAccess( "CompanyCraftSequence", xiv::exd::Language::none ); - m_CompanyCraftSupplyItemDat = setupDatAccess( "CompanyCraftSupplyItem", xiv::exd::Language::none ); - m_CompanyCraftTypeDat = setupDatAccess( "CompanyCraftType", xiv::exd::Language::en ); - m_CompleteJournalDat = setupDatAccess( "CompleteJournal", xiv::exd::Language::en ); - m_CompleteJournalCategoryDat = setupDatAccess( "CompleteJournalCategory", xiv::exd::Language::none ); - m_ContentExActionDat = setupDatAccess( "ContentExAction", xiv::exd::Language::none ); - m_ContentFinderConditionDat = setupDatAccess( "ContentFinderCondition", xiv::exd::Language::en ); - m_ContentFinderConditionTransientDat = setupDatAccess( "ContentFinderConditionTransient", xiv::exd::Language::en ); - m_ContentMemberTypeDat = setupDatAccess( "ContentMemberType", xiv::exd::Language::none ); - m_ContentNpcTalkDat = setupDatAccess( "ContentNpcTalk", xiv::exd::Language::none ); - m_ContentRouletteDat = setupDatAccess( "ContentRoulette", xiv::exd::Language::en ); - m_ContentsNoteDat = setupDatAccess( "ContentsNote", xiv::exd::Language::en ); - m_ContentsNoteCategoryDat = setupDatAccess( "ContentsNoteCategory", xiv::exd::Language::none ); - m_ContentTalkDat = setupDatAccess( "ContentTalk", xiv::exd::Language::en ); - m_ContentTalkParamDat = setupDatAccess( "ContentTalkParam", xiv::exd::Language::none ); - 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_CraftTypeDat = setupDatAccess( "CraftType", xiv::exd::Language::en ); - m_CurrencyDat = setupDatAccess( "Currency", xiv::exd::Language::none ); - m_CustomTalkDat = setupDatAccess( "CustomTalk", xiv::exd::Language::en ); - 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_DeepDungeonBanDat = setupDatAccess( "DeepDungeonBan", xiv::exd::Language::none ); - m_DeepDungeonDangerDat = setupDatAccess( "DeepDungeonDanger", xiv::exd::Language::none ); - m_DeepDungeonEquipmentDat = setupDatAccess( "DeepDungeonEquipment", xiv::exd::Language::en ); - m_DeepDungeonFloorEffectUIDat = setupDatAccess( "DeepDungeonFloorEffectUI", xiv::exd::Language::en ); - m_DeepDungeonItemDat = setupDatAccess( "DeepDungeonItem", xiv::exd::Language::en ); - m_DeepDungeonStatusDat = setupDatAccess( "DeepDungeonStatus", xiv::exd::Language::none ); - m_DefaultTalkDat = setupDatAccess( "DefaultTalk", xiv::exd::Language::en ); - m_DeliveryQuestDat = setupDatAccess( "DeliveryQuest", xiv::exd::Language::none ); - m_DisposalShopDat = setupDatAccess( "DisposalShop", xiv::exd::Language::en ); - m_DisposalShopFilterTypeDat = setupDatAccess( "DisposalShopFilterType", xiv::exd::Language::en ); - m_DisposalShopItemDat = setupDatAccess( "DisposalShopItem", xiv::exd::Language::none ); - m_DpsChallengeDat = setupDatAccess( "DpsChallenge", xiv::exd::Language::en ); - m_DpsChallengeOfficerDat = setupDatAccess( "DpsChallengeOfficer", xiv::exd::Language::none ); - m_DpsChallengeTransientDat = setupDatAccess( "DpsChallengeTransient", xiv::exd::Language::none ); - m_EmoteDat = setupDatAccess( "Emote", xiv::exd::Language::en ); - m_EmoteCategoryDat = setupDatAccess( "EmoteCategory", xiv::exd::Language::en ); - m_EmoteModeDat = setupDatAccess( "EmoteMode", xiv::exd::Language::none ); - m_ENpcBaseDat = setupDatAccess( "ENpcBase", xiv::exd::Language::none ); - m_ENpcResidentDat = setupDatAccess( "ENpcResident", xiv::exd::Language::en ); - m_EObjDat = setupDatAccess( "EObj", xiv::exd::Language::none ); - m_EObjNameDat = setupDatAccess( "EObjName", xiv::exd::Language::en ); - m_EquipRaceCategoryDat = setupDatAccess( "EquipRaceCategory", xiv::exd::Language::none ); - m_EquipSlotCategoryDat = setupDatAccess( "EquipSlotCategory", xiv::exd::Language::none ); - m_EurekaAethernetDat = setupDatAccess( "EurekaAethernet", xiv::exd::Language::none ); - m_EurekaGrowDataDat = setupDatAccess( "EurekaGrowData", xiv::exd::Language::none ); - m_EurekaSphereElementAdjustDat = setupDatAccess( "EurekaSphereElementAdjust", xiv::exd::Language::none ); - m_EventActionDat = setupDatAccess( "EventAction", xiv::exd::Language::en ); - m_EventIconPriorityDat = setupDatAccess( "EventIconPriority", xiv::exd::Language::none ); - m_EventIconTypeDat = setupDatAccess( "EventIconType", xiv::exd::Language::none ); - m_EventItemDat = setupDatAccess( "EventItem", xiv::exd::Language::en ); - m_EventItemHelpDat = setupDatAccess( "EventItemHelp", xiv::exd::Language::en ); - m_ExVersionDat = setupDatAccess( "ExVersion", xiv::exd::Language::en ); - m_FateDat = setupDatAccess( "Fate", xiv::exd::Language::en ); - m_FCActivityDat = setupDatAccess( "FCActivity", xiv::exd::Language::en ); - m_FCActivityCategoryDat = setupDatAccess( "FCActivityCategory", xiv::exd::Language::en ); - m_FCAuthorityDat = setupDatAccess( "FCAuthority", xiv::exd::Language::en ); - m_FCAuthorityCategoryDat = setupDatAccess( "FCAuthorityCategory", xiv::exd::Language::en ); - m_FCChestNameDat = setupDatAccess( "FCChestName", xiv::exd::Language::en ); - m_FccShopDat = setupDatAccess( "FccShop", xiv::exd::Language::en ); - m_FCHierarchyDat = setupDatAccess( "FCHierarchy", xiv::exd::Language::en ); - m_FCProfileDat = setupDatAccess( "FCProfile", xiv::exd::Language::en ); - m_FCReputationDat = setupDatAccess( "FCReputation", xiv::exd::Language::en ); - m_FCRightsDat = setupDatAccess( "FCRights", xiv::exd::Language::en ); - m_FieldMarkerDat = setupDatAccess( "FieldMarker", xiv::exd::Language::en ); - m_FishingSpotDat = setupDatAccess( "FishingSpot", xiv::exd::Language::en ); - m_FishParameterDat = setupDatAccess( "FishParameter", xiv::exd::Language::en ); - m_GardeningSeedDat = setupDatAccess( "GardeningSeed", xiv::exd::Language::none ); - m_GatheringConditionDat = setupDatAccess( "GatheringCondition", xiv::exd::Language::en ); - m_GatheringExpDat = setupDatAccess( "GatheringExp", xiv::exd::Language::none ); - m_GatheringItemDat = setupDatAccess( "GatheringItem", xiv::exd::Language::none ); - m_GatheringItemLevelConvertTableDat = setupDatAccess( "GatheringItemLevelConvertTable", xiv::exd::Language::none ); - m_GatheringItemPointDat = setupDatAccess( "GatheringItemPoint", xiv::exd::Language::none ); - m_GatheringNotebookListDat = setupDatAccess( "GatheringNotebookList", xiv::exd::Language::none ); - m_GatheringPointDat = setupDatAccess( "GatheringPoint", xiv::exd::Language::none ); - m_GatheringPointBaseDat = setupDatAccess( "GatheringPointBase", xiv::exd::Language::none ); - m_GatheringPointBonusDat = setupDatAccess( "GatheringPointBonus", xiv::exd::Language::none ); - m_GatheringPointBonusTypeDat = setupDatAccess( "GatheringPointBonusType", xiv::exd::Language::en ); - m_GatheringPointNameDat = setupDatAccess( "GatheringPointName", xiv::exd::Language::en ); - m_GatheringSubCategoryDat = setupDatAccess( "GatheringSubCategory", xiv::exd::Language::en ); - m_GatheringTypeDat = setupDatAccess( "GatheringType", xiv::exd::Language::en ); - m_GcArmyExpeditionDat = setupDatAccess( "GcArmyExpedition", xiv::exd::Language::en ); - m_GcArmyExpeditionMemberBonusDat = setupDatAccess( "GcArmyExpeditionMemberBonus", xiv::exd::Language::none ); - m_GcArmyExpeditionTypeDat = setupDatAccess( "GcArmyExpeditionType", xiv::exd::Language::en ); - m_GcArmyMemberGrowDat = setupDatAccess( "GcArmyMemberGrow", xiv::exd::Language::none ); - m_GcArmyTrainingDat = setupDatAccess( "GcArmyTraining", xiv::exd::Language::en ); - m_GCRankGridaniaFemaleTextDat = setupDatAccess( "GCRankGridaniaFemaleText", xiv::exd::Language::en ); - m_GCRankGridaniaMaleTextDat = setupDatAccess( "GCRankGridaniaMaleText", xiv::exd::Language::en ); - m_GCRankLimsaFemaleTextDat = setupDatAccess( "GCRankLimsaFemaleText", xiv::exd::Language::en ); - m_GCRankLimsaMaleTextDat = setupDatAccess( "GCRankLimsaMaleText", xiv::exd::Language::en ); - m_GCRankUldahFemaleTextDat = setupDatAccess( "GCRankUldahFemaleText", xiv::exd::Language::en ); - m_GCRankUldahMaleTextDat = setupDatAccess( "GCRankUldahMaleText", xiv::exd::Language::en ); - m_GCScripShopCategoryDat = setupDatAccess( "GCScripShopCategory", xiv::exd::Language::none ); - m_GCScripShopItemDat = setupDatAccess( "GCScripShopItem", xiv::exd::Language::none ); - m_GCShopDat = setupDatAccess( "GCShop", xiv::exd::Language::none ); - m_GCShopItemCategoryDat = setupDatAccess( "GCShopItemCategory", xiv::exd::Language::en ); - m_GCSupplyDutyDat = setupDatAccess( "GCSupplyDuty", xiv::exd::Language::none ); - m_GCSupplyDutyRewardDat = setupDatAccess( "GCSupplyDutyReward", xiv::exd::Language::none ); - m_GeneralActionDat = setupDatAccess( "GeneralAction", xiv::exd::Language::en ); - m_GilShopDat = setupDatAccess( "GilShop", xiv::exd::Language::en ); - m_GilShopItemDat = setupDatAccess( "GilShopItem", xiv::exd::Language::none ); - m_GoldSaucerTextDataDat = setupDatAccess( "GoldSaucerTextData", xiv::exd::Language::en ); - 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_GuildleveAssignmentDat = setupDatAccess( "GuildleveAssignment", xiv::exd::Language::none ); - m_GuildOrderGuideDat = setupDatAccess( "GuildOrderGuide", xiv::exd::Language::none ); - m_GuildOrderOfficerDat = setupDatAccess( "GuildOrderOfficer", xiv::exd::Language::none ); - m_HouseRetainerPoseDat = setupDatAccess( "HouseRetainerPose", xiv::exd::Language::none ); - m_HousingFurnitureDat = setupDatAccess( "HousingFurniture", xiv::exd::Language::none ); - m_HousingYardObjectDat = setupDatAccess( "HousingYardObject", xiv::exd::Language::none ); - m_InstanceContentDat = setupDatAccess( "InstanceContent", xiv::exd::Language::en ); - m_InstanceContentBuffDat = setupDatAccess( "InstanceContentBuff", xiv::exd::Language::none ); - m_InstanceContentTextDataDat = setupDatAccess( "InstanceContentTextData", xiv::exd::Language::en ); - m_ItemDat = setupDatAccess( "Item", xiv::exd::Language::en ); - m_ItemActionDat = setupDatAccess( "ItemAction", xiv::exd::Language::none ); - m_ItemFoodDat = setupDatAccess( "ItemFood", xiv::exd::Language::none ); - m_ItemSearchCategoryDat = setupDatAccess( "ItemSearchCategory", xiv::exd::Language::en ); - 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_JournalCategoryDat = setupDatAccess( "JournalCategory", xiv::exd::Language::en ); - m_JournalGenreDat = setupDatAccess( "JournalGenre", xiv::exd::Language::en ); - m_JournalSectionDat = setupDatAccess( "JournalSection", xiv::exd::Language::en ); - m_LeveDat = setupDatAccess( "Leve", xiv::exd::Language::en ); - m_LeveAssignmentTypeDat = setupDatAccess( "LeveAssignmentType", xiv::exd::Language::en ); - m_LeveClientDat = setupDatAccess( "LeveClient", xiv::exd::Language::en ); - m_LevelDat = setupDatAccess( "Level", xiv::exd::Language::none ); - m_LeveRewardItemDat = setupDatAccess( "LeveRewardItem", xiv::exd::Language::none ); - m_LeveRewardItemGroupDat = setupDatAccess( "LeveRewardItemGroup", xiv::exd::Language::none ); - m_LeveVfxDat = setupDatAccess( "LeveVfx", xiv::exd::Language::none ); - m_LogFilterDat = setupDatAccess( "LogFilter", xiv::exd::Language::en ); - m_LogKindDat = setupDatAccess( "LogKind", xiv::exd::Language::en ); - m_LogKindCategoryTextDat = setupDatAccess( "LogKindCategoryText", xiv::exd::Language::en ); - m_LogMessageDat = setupDatAccess( "LogMessage", xiv::exd::Language::en ); - m_MacroIconDat = setupDatAccess( "MacroIcon", xiv::exd::Language::none ); - m_MacroIconRedirectOldDat = setupDatAccess( "MacroIconRedirectOld", xiv::exd::Language::none ); - m_MainCommandDat = setupDatAccess( "MainCommand", xiv::exd::Language::en ); - m_MainCommandCategoryDat = setupDatAccess( "MainCommandCategory", xiv::exd::Language::en ); - m_MapDat = setupDatAccess( "Map", xiv::exd::Language::none ); - m_MapMarkerDat = setupDatAccess( "MapMarker", xiv::exd::Language::none ); - m_MapMarkerRegionDat = setupDatAccess( "MapMarkerRegion", xiv::exd::Language::none ); - m_MapSymbolDat = setupDatAccess( "MapSymbol", xiv::exd::Language::none ); - m_MarkerDat = setupDatAccess( "Marker", xiv::exd::Language::en ); - 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_MinionRaceDat = setupDatAccess( "MinionRace", xiv::exd::Language::en ); - m_MinionRulesDat = setupDatAccess( "MinionRules", xiv::exd::Language::en ); - m_MinionSkillTypeDat = setupDatAccess( "MinionSkillType", xiv::exd::Language::en ); - m_MobHuntTargetDat = setupDatAccess( "MobHuntTarget", xiv::exd::Language::none ); - m_ModelCharaDat = setupDatAccess( "ModelChara", xiv::exd::Language::none ); - m_MonsterNoteDat = setupDatAccess( "MonsterNote", xiv::exd::Language::en ); - m_MonsterNoteTargetDat = setupDatAccess( "MonsterNoteTarget", xiv::exd::Language::none ); - m_MountDat = setupDatAccess( "Mount", xiv::exd::Language::en ); - m_MountActionDat = setupDatAccess( "MountAction", xiv::exd::Language::none ); - m_MoveTimelineDat = setupDatAccess( "MoveTimeline", xiv::exd::Language::none ); - m_MoveVfxDat = setupDatAccess( "MoveVfx", xiv::exd::Language::none ); - m_NpcEquipDat = setupDatAccess( "NpcEquip", xiv::exd::Language::none ); - m_OmenDat = setupDatAccess( "Omen", xiv::exd::Language::none ); - m_OnlineStatusDat = setupDatAccess( "OnlineStatus", 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 ); - m_OrchestrionPathDat = setupDatAccess( "OrchestrionPath", xiv::exd::Language::none ); - m_OrchestrionUiparamDat = setupDatAccess( "OrchestrionUiparam", xiv::exd::Language::none ); - m_ParamGrowDat = setupDatAccess( "ParamGrow", xiv::exd::Language::none ); - m_PerformDat = setupDatAccess( "Perform", xiv::exd::Language::en ); - m_PerformTransientDat = setupDatAccess( "PerformTransient", xiv::exd::Language::en ); - m_PetDat = setupDatAccess( "Pet", xiv::exd::Language::en ); - m_PetActionDat = setupDatAccess( "PetAction", xiv::exd::Language::en ); - m_PictureDat = setupDatAccess( "Picture", xiv::exd::Language::none ); - m_PlaceNameDat = setupDatAccess( "PlaceName", xiv::exd::Language::en ); - m_PublicContentDat = setupDatAccess( "PublicContent", xiv::exd::Language::en ); - m_PvPActionSortDat = setupDatAccess( "PvPActionSort", xiv::exd::Language::none ); - m_QuestDat = setupDatAccess( "Quest", xiv::exd::Language::en ); - m_QuestClassJobRewardDat = setupDatAccess( "QuestClassJobReward", xiv::exd::Language::none ); - m_QuestRepeatFlagDat = setupDatAccess( "QuestRepeatFlag", xiv::exd::Language::none ); - m_QuestRewardOtherDat = setupDatAccess( "QuestRewardOther", xiv::exd::Language::en ); - m_QuickChatDat = setupDatAccess( "QuickChat", xiv::exd::Language::en ); - m_QuickChatTransientDat = setupDatAccess( "QuickChatTransient", xiv::exd::Language::en ); - m_RaceDat = setupDatAccess( "Race", xiv::exd::Language::en ); - m_RacingChocoboItemDat = setupDatAccess( "RacingChocoboItem", xiv::exd::Language::none ); - m_RacingChocoboNameDat = setupDatAccess( "RacingChocoboName", xiv::exd::Language::en ); - m_RacingChocoboNameCategoryDat = setupDatAccess( "RacingChocoboNameCategory", xiv::exd::Language::en ); - m_RacingChocoboNameInfoDat = setupDatAccess( "RacingChocoboNameInfo", xiv::exd::Language::none ); - m_RacingChocoboParamDat = setupDatAccess( "RacingChocoboParam", xiv::exd::Language::en ); - m_RecipeDat = setupDatAccess( "Recipe", xiv::exd::Language::none ); - m_RecipeElementDat = setupDatAccess( "RecipeElement", xiv::exd::Language::en ); - m_RecipeLevelTableDat = setupDatAccess( "RecipeLevelTable", xiv::exd::Language::none ); - m_RecipeNotebookListDat = setupDatAccess( "RecipeNotebookList", xiv::exd::Language::none ); - m_RecommendContentsDat = setupDatAccess( "RecommendContents", xiv::exd::Language::none ); - m_RelicDat = setupDatAccess( "Relic", xiv::exd::Language::none ); - m_Relic3Dat = setupDatAccess( "Relic3", xiv::exd::Language::none ); - m_RelicItemDat = setupDatAccess( "RelicItem", xiv::exd::Language::none ); - m_RelicNoteDat = setupDatAccess( "RelicNote", xiv::exd::Language::none ); - m_RelicNoteCategoryDat = setupDatAccess( "RelicNoteCategory", xiv::exd::Language::en ); - m_RetainerTaskDat = setupDatAccess( "RetainerTask", xiv::exd::Language::none ); - m_RetainerTaskLvRangeDat = setupDatAccess( "RetainerTaskLvRange", xiv::exd::Language::none ); - m_RetainerTaskNormalDat = setupDatAccess( "RetainerTaskNormal", xiv::exd::Language::none ); - m_RetainerTaskParameterDat = setupDatAccess( "RetainerTaskParameter", xiv::exd::Language::none ); - m_RetainerTaskRandomDat = setupDatAccess( "RetainerTaskRandom", xiv::exd::Language::en ); - m_SalvageDat = setupDatAccess( "Salvage", xiv::exd::Language::none ); - m_SatisfactionNpcDat = setupDatAccess( "SatisfactionNpc", xiv::exd::Language::none ); - m_SatisfactionSupplyDat = setupDatAccess( "SatisfactionSupply", xiv::exd::Language::none ); - m_SatisfactionSupplyRewardDat = setupDatAccess( "SatisfactionSupplyReward", xiv::exd::Language::none ); - m_ScenarioTreeDat = setupDatAccess( "ScenarioTree", xiv::exd::Language::none ); - m_ScenarioTreeTipsDat = setupDatAccess( "ScenarioTreeTips", xiv::exd::Language::none ); - m_ScenarioTreeTipsClassQuestDat = setupDatAccess( "ScenarioTreeTipsClassQuest", xiv::exd::Language::none ); - m_ScenarioTreeTipsQuestDat = setupDatAccess( "ScenarioTreeTipsQuest", xiv::exd::Language::none ); - m_ScenarioTypeDat = setupDatAccess( "ScenarioType", xiv::exd::Language::en ); - m_ScreenImageDat = setupDatAccess( "ScreenImage", xiv::exd::Language::none ); - m_SecretRecipeBookDat = setupDatAccess( "SecretRecipeBook", xiv::exd::Language::en ); - m_SkyIsland2MissionDat = setupDatAccess( "SkyIsland2Mission", xiv::exd::Language::en ); - 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_SpearfishingItemDat = setupDatAccess( "SpearfishingItem", xiv::exd::Language::en ); - m_SpearfishingNotebookDat = setupDatAccess( "SpearfishingNotebook", xiv::exd::Language::none ); - m_SpecialShopDat = setupDatAccess( "SpecialShop", xiv::exd::Language::en ); - m_SpecialShopItemCategoryDat = setupDatAccess( "SpecialShopItemCategory", xiv::exd::Language::en ); - m_StainDat = setupDatAccess( "Stain", xiv::exd::Language::en ); - m_StainTransientDat = setupDatAccess( "StainTransient", xiv::exd::Language::none ); - m_StatusDat = setupDatAccess( "Status", xiv::exd::Language::en ); - m_StatusHitEffectDat = setupDatAccess( "StatusHitEffect", xiv::exd::Language::none ); - 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_SubmarinePartDat = setupDatAccess( "SubmarinePart", xiv::exd::Language::none ); - m_SubmarineRankDat = setupDatAccess( "SubmarineRank", xiv::exd::Language::none ); - m_SwitchTalkDat = setupDatAccess( "SwitchTalk", xiv::exd::Language::none ); - m_TerritoryTypeDat = setupDatAccess( "TerritoryType", xiv::exd::Language::none ); - m_TextCommandDat = setupDatAccess( "TextCommand", xiv::exd::Language::en ); - m_TitleDat = setupDatAccess( "Title", xiv::exd::Language::en ); - m_TomestonesDat = setupDatAccess( "Tomestones", xiv::exd::Language::none ); - m_TomestonesItemDat = setupDatAccess( "TomestonesItem", xiv::exd::Language::none ); - m_TopicSelectDat = setupDatAccess( "TopicSelect", xiv::exd::Language::en ); - m_TownDat = setupDatAccess( "Town", xiv::exd::Language::en ); - m_TraitDat = setupDatAccess( "Trait", xiv::exd::Language::en ); - m_TraitRecastDat = setupDatAccess( "TraitRecast", xiv::exd::Language::none ); - m_TraitTransientDat = setupDatAccess( "TraitTransient", xiv::exd::Language::en ); - m_TransformationDat = setupDatAccess( "Transformation", xiv::exd::Language::none ); - m_TreasureDat = setupDatAccess( "Treasure", xiv::exd::Language::en ); - m_TreasureHuntRankDat = setupDatAccess( "TreasureHuntRank", xiv::exd::Language::none ); - m_TribeDat = setupDatAccess( "Tribe", xiv::exd::Language::en ); - m_TripleTriadDat = setupDatAccess( "TripleTriad", xiv::exd::Language::none ); - m_TripleTriadCardDat = setupDatAccess( "TripleTriadCard", xiv::exd::Language::en ); - m_TripleTriadCardRarityDat = setupDatAccess( "TripleTriadCardRarity", xiv::exd::Language::none ); - m_TripleTriadCardResidentDat = setupDatAccess( "TripleTriadCardResident", xiv::exd::Language::none ); - m_TripleTriadCardTypeDat = setupDatAccess( "TripleTriadCardType", xiv::exd::Language::en ); - m_TripleTriadCompetitionDat = setupDatAccess( "TripleTriadCompetition", xiv::exd::Language::en ); - m_TripleTriadRuleDat = setupDatAccess( "TripleTriadRule", xiv::exd::Language::en ); - m_TutorialDat = setupDatAccess( "Tutorial", xiv::exd::Language::none ); - m_TutorialDPSDat = setupDatAccess( "TutorialDPS", xiv::exd::Language::none ); - m_TutorialHealerDat = setupDatAccess( "TutorialHealer", xiv::exd::Language::none ); - m_TutorialTankDat = setupDatAccess( "TutorialTank", xiv::exd::Language::none ); - m_VaseFlowerDat = setupDatAccess( "VaseFlower", xiv::exd::Language::none ); - m_VFXDat = setupDatAccess( "VFX", xiv::exd::Language::none ); - m_WarpDat = setupDatAccess( "Warp", xiv::exd::Language::en ); - m_WarpConditionDat = setupDatAccess( "WarpCondition", xiv::exd::Language::none ); - m_WeatherDat = setupDatAccess( "Weather", xiv::exd::Language::en ); - m_WeatherGroupDat = setupDatAccess( "WeatherGroup", xiv::exd::Language::none ); - m_WeatherRateDat = setupDatAccess( "WeatherRate", xiv::exd::Language::none ); - m_WeddingBGMDat = setupDatAccess( "WeddingBGM", xiv::exd::Language::en ); - m_WeeklyBingoOrderDataDat = setupDatAccess( "WeeklyBingoOrderData", xiv::exd::Language::none ); - m_WeeklyBingoRewardDataDat = setupDatAccess( "WeeklyBingoRewardData", xiv::exd::Language::none ); - m_WeeklyBingoTextDat = setupDatAccess( "WeeklyBingoText", xiv::exd::Language::en ); - m_WorldDat = setupDatAccess( "World", xiv::exd::Language::none ); - m_WorldDCGroupTypeDat = setupDatAccess( "WorldDCGroupType", xiv::exd::Language::none ); - m_YKWDat = setupDatAccess( "YKW", xiv::exd::Language::en ); - m_ZoneSharedGroupDat = setupDatAccess( "ZoneSharedGroup", xiv::exd::Language::none ); + m_AchievementDat = setupDatAccess( "Achievement", xiv::exd::Language::en ); + m_AchievementCategoryDat = setupDatAccess( "AchievementCategory", xiv::exd::Language::en ); + m_AchievementKindDat = setupDatAccess( "AchievementKind", xiv::exd::Language::en ); + m_ActionDat = setupDatAccess( "Action", xiv::exd::Language::en ); + m_ActionCastTimelineDat = setupDatAccess( "ActionCastTimeline", xiv::exd::Language::none ); + m_ActionCastVFXDat = setupDatAccess( "ActionCastVFX", xiv::exd::Language::none ); + m_ActionCategoryDat = setupDatAccess( "ActionCategory", xiv::exd::Language::en ); + m_ActionComboRouteDat = setupDatAccess( "ActionComboRoute", xiv::exd::Language::en ); + m_ActionIndirectionDat = setupDatAccess( "ActionIndirection", xiv::exd::Language::none ); + m_ActionParamDat = setupDatAccess( "ActionParam", xiv::exd::Language::none ); + m_ActionProcStatusDat = setupDatAccess( "ActionProcStatus", xiv::exd::Language::none ); + m_ActionTimelineDat = setupDatAccess( "ActionTimeline", xiv::exd::Language::none ); + m_ActionTimelineMoveDat = setupDatAccess( "ActionTimelineMove", xiv::exd::Language::none ); + m_ActionTimelineReplaceDat = setupDatAccess( "ActionTimelineReplace", xiv::exd::Language::none ); + m_ActionTransientDat = setupDatAccess( "ActionTransient", xiv::exd::Language::en ); + m_ActivityFeedButtonsDat = setupDatAccess( "ActivityFeedButtons", xiv::exd::Language::none ); + m_ActivityFeedCaptionsDat = setupDatAccess( "ActivityFeedCaptions", xiv::exd::Language::none ); + 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 ); + m_AetherCurrentCompFlgSetDat = setupDatAccess( "AetherCurrentCompFlgSet", xiv::exd::Language::none ); + m_AetherialWheelDat = setupDatAccess( "AetherialWheel", xiv::exd::Language::none ); + m_AetheryteDat = setupDatAccess( "Aetheryte", xiv::exd::Language::en ); + m_AetheryteSystemDefineDat = setupDatAccess( "AetheryteSystemDefine", xiv::exd::Language::none ); + m_AirshipExplorationLevelDat = setupDatAccess( "AirshipExplorationLevel", xiv::exd::Language::none ); + m_AirshipExplorationLogDat = setupDatAccess( "AirshipExplorationLog", xiv::exd::Language::en ); + m_AirshipExplorationParamTypeDat = setupDatAccess( "AirshipExplorationParamType", xiv::exd::Language::en ); + m_AirshipExplorationPartDat = setupDatAccess( "AirshipExplorationPart", xiv::exd::Language::none ); + m_AirshipExplorationPointDat = setupDatAccess( "AirshipExplorationPoint", xiv::exd::Language::en ); + m_AnimaWeapon5Dat = setupDatAccess( "AnimaWeapon5", xiv::exd::Language::none ); + m_AnimaWeapon5ParamDat = setupDatAccess( "AnimaWeapon5Param", xiv::exd::Language::en ); + m_AnimaWeapon5PatternGroupDat = setupDatAccess( "AnimaWeapon5PatternGroup", xiv::exd::Language::en ); + m_AnimaWeapon5SpiritTalkDat = setupDatAccess( "AnimaWeapon5SpiritTalk", xiv::exd::Language::none ); + m_AnimaWeapon5SpiritTalkParamDat = setupDatAccess( "AnimaWeapon5SpiritTalkParam", xiv::exd::Language::en ); + m_AnimaWeapon5TradeItemDat = setupDatAccess( "AnimaWeapon5TradeItem", xiv::exd::Language::none ); + m_AnimaWeaponFUITalkDat = setupDatAccess( "AnimaWeaponFUITalk", xiv::exd::Language::none ); + m_AnimaWeaponFUITalkParamDat = setupDatAccess( "AnimaWeaponFUITalkParam", xiv::exd::Language::en ); + m_AnimaWeaponIconDat = setupDatAccess( "AnimaWeaponIcon", xiv::exd::Language::none ); + m_AnimaWeaponItemDat = setupDatAccess( "AnimaWeaponItem", xiv::exd::Language::none ); + m_AquariumFishDat = setupDatAccess( "AquariumFish", xiv::exd::Language::none ); + m_AquariumWaterDat = setupDatAccess( "AquariumWater", xiv::exd::Language::en ); + m_ArrayEventHandlerDat = setupDatAccess( "ArrayEventHandler", xiv::exd::Language::none ); + m_AttackTypeDat = setupDatAccess( "AttackType", xiv::exd::Language::en ); + m_BacklightColorDat = setupDatAccess( "BacklightColor", xiv::exd::Language::none ); + m_BalloonDat = setupDatAccess( "Balloon", xiv::exd::Language::en ); + m_BaseParamDat = setupDatAccess( "BaseParam", xiv::exd::Language::en ); + m_BattleLeveDat = setupDatAccess( "BattleLeve", xiv::exd::Language::none ); + m_BeastRankBonusDat = setupDatAccess( "BeastRankBonus", xiv::exd::Language::none ); + 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_BGMDat = setupDatAccess( "BGM", xiv::exd::Language::none ); + m_BGMFadeDat = setupDatAccess( "BGMFade", xiv::exd::Language::none ); + m_BGMSituationDat = setupDatAccess( "BGMSituation", xiv::exd::Language::none ); + m_BGMSwitchDat = setupDatAccess( "BGMSwitch", xiv::exd::Language::none ); + m_BGMSystemDefineDat = setupDatAccess( "BGMSystemDefine", xiv::exd::Language::none ); + m_BNpcAnnounceIconDat = setupDatAccess( "BNpcAnnounceIcon", xiv::exd::Language::none ); + m_BNpcBaseDat = setupDatAccess( "BNpcBase", xiv::exd::Language::none ); + m_BNpcCustomizeDat = setupDatAccess( "BNpcCustomize", xiv::exd::Language::none ); + m_BNpcNameDat = setupDatAccess( "BNpcName", xiv::exd::Language::en ); + m_BNpcPartsDat = setupDatAccess( "BNpcParts", xiv::exd::Language::none ); + m_BuddyDat = setupDatAccess( "Buddy", xiv::exd::Language::none ); + m_BuddyActionDat = setupDatAccess( "BuddyAction", xiv::exd::Language::en ); + m_BuddyEquipDat = setupDatAccess( "BuddyEquip", xiv::exd::Language::en ); + m_BuddyItemDat = setupDatAccess( "BuddyItem", xiv::exd::Language::none ); + m_BuddyRankDat = setupDatAccess( "BuddyRank", xiv::exd::Language::none ); + m_BuddySkillDat = setupDatAccess( "BuddySkill", xiv::exd::Language::none ); + m_CabinetDat = setupDatAccess( "Cabinet", xiv::exd::Language::none ); + m_CabinetCategoryDat = setupDatAccess( "CabinetCategory", xiv::exd::Language::none ); + m_CalendarDat = setupDatAccess( "Calendar", xiv::exd::Language::none ); + m_CharaMakeCustomizeDat = setupDatAccess( "CharaMakeCustomize", xiv::exd::Language::none ); + m_CharaMakeTypeDat = setupDatAccess( "CharaMakeType", xiv::exd::Language::en ); + m_ChocoboRaceDat = setupDatAccess( "ChocoboRace", xiv::exd::Language::none ); + m_ChocoboRaceAbilityDat = setupDatAccess( "ChocoboRaceAbility", xiv::exd::Language::en ); + m_ChocoboRaceAbilityTypeDat = setupDatAccess( "ChocoboRaceAbilityType", xiv::exd::Language::none ); + m_ChocoboRaceItemDat = setupDatAccess( "ChocoboRaceItem", xiv::exd::Language::en ); + m_ChocoboRaceRankDat = setupDatAccess( "ChocoboRaceRank", xiv::exd::Language::none ); + m_ChocoboRaceStatusDat = setupDatAccess( "ChocoboRaceStatus", xiv::exd::Language::none ); + m_ChocoboRaceTerritoryDat = setupDatAccess( "ChocoboRaceTerritory", xiv::exd::Language::none ); + m_ChocoboRaceTutorialDat = setupDatAccess( "ChocoboRaceTutorial", xiv::exd::Language::none ); + m_ChocoboRaceWeatherDat = setupDatAccess( "ChocoboRaceWeather", xiv::exd::Language::none ); + m_ChocoboTaxiDat = setupDatAccess( "ChocoboTaxi", xiv::exd::Language::none ); + m_ChocoboTaxiStandDat = setupDatAccess( "ChocoboTaxiStand", xiv::exd::Language::en ); + m_ClassJobDat = setupDatAccess( "ClassJob", xiv::exd::Language::en ); + m_ClassJobCategoryDat = setupDatAccess( "ClassJobCategory", xiv::exd::Language::en ); + m_CompanionDat = setupDatAccess( "Companion", xiv::exd::Language::en ); + m_CompanionMoveDat = setupDatAccess( "CompanionMove", xiv::exd::Language::en ); + m_CompanionTransientDat = setupDatAccess( "CompanionTransient", xiv::exd::Language::en ); + m_CompanyActionDat = setupDatAccess( "CompanyAction", xiv::exd::Language::en ); + m_CompanyCraftDraftDat = setupDatAccess( "CompanyCraftDraft", xiv::exd::Language::en ); + m_CompanyCraftDraftCategoryDat = setupDatAccess( "CompanyCraftDraftCategory", xiv::exd::Language::en ); + m_CompanyCraftManufactoryStateDat = setupDatAccess( "CompanyCraftManufactoryState", xiv::exd::Language::en ); + m_CompanyCraftPartDat = setupDatAccess( "CompanyCraftPart", xiv::exd::Language::none ); + m_CompanyCraftProcessDat = setupDatAccess( "CompanyCraftProcess", xiv::exd::Language::none ); + m_CompanyCraftSequenceDat = setupDatAccess( "CompanyCraftSequence", xiv::exd::Language::none ); + m_CompanyCraftSupplyItemDat = setupDatAccess( "CompanyCraftSupplyItem", xiv::exd::Language::none ); + m_CompanyCraftTypeDat = setupDatAccess( "CompanyCraftType", xiv::exd::Language::en ); + m_CompleteJournalDat = setupDatAccess( "CompleteJournal", xiv::exd::Language::en ); + m_CompleteJournalCategoryDat = setupDatAccess( "CompleteJournalCategory", xiv::exd::Language::none ); + m_ContentCloseCycleDat = setupDatAccess( "ContentCloseCycle", xiv::exd::Language::none ); + m_ContentExActionDat = setupDatAccess( "ContentExAction", xiv::exd::Language::none ); + m_ContentFinderConditionDat = setupDatAccess( "ContentFinderCondition", xiv::exd::Language::en ); + m_ContentFinderConditionTransientDat = setupDatAccess( "ContentFinderConditionTransient", xiv::exd::Language::en ); + m_ContentGaugeDat = setupDatAccess( "ContentGauge", xiv::exd::Language::en ); + 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_ContentRouletteDat = setupDatAccess( "ContentRoulette", xiv::exd::Language::en ); + m_ContentRouletteOpenRuleDat = setupDatAccess( "ContentRouletteOpenRule", xiv::exd::Language::none ); + m_ContentRouletteRoleBonusDat = setupDatAccess( "ContentRouletteRoleBonus", xiv::exd::Language::none ); + m_ContentsNoteDat = setupDatAccess( "ContentsNote", xiv::exd::Language::en ); + m_ContentTalkDat = setupDatAccess( "ContentTalk", xiv::exd::Language::en ); + m_ContentTalkParamDat = setupDatAccess( "ContentTalkParam", xiv::exd::Language::none ); + 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_CraftTypeDat = setupDatAccess( "CraftType", xiv::exd::Language::en ); + m_CreditDat = setupDatAccess( "Credit", xiv::exd::Language::none ); + m_CreditCastDat = setupDatAccess( "CreditCast", xiv::exd::Language::en ); + m_CurrencyDat = setupDatAccess( "Currency", xiv::exd::Language::none ); + m_CustomTalkDat = setupDatAccess( "CustomTalk", xiv::exd::Language::en ); + 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_DeepDungeonDat = setupDatAccess( "DeepDungeon", xiv::exd::Language::en ); + m_DeepDungeonBanDat = setupDatAccess( "DeepDungeonBan", xiv::exd::Language::none ); + m_DeepDungeonDangerDat = setupDatAccess( "DeepDungeonDanger", xiv::exd::Language::none ); + m_DeepDungeonEquipmentDat = setupDatAccess( "DeepDungeonEquipment", xiv::exd::Language::en ); + m_DeepDungeonFloorEffectUIDat = setupDatAccess( "DeepDungeonFloorEffectUI", xiv::exd::Language::en ); + m_DeepDungeonItemDat = setupDatAccess( "DeepDungeonItem", xiv::exd::Language::en ); + m_DeepDungeonLayerDat = setupDatAccess( "DeepDungeonLayer", xiv::exd::Language::none ); + m_DeepDungeonMagicStoneDat = setupDatAccess( "DeepDungeonMagicStone", xiv::exd::Language::en ); + m_DeepDungeonMap5XDat = setupDatAccess( "DeepDungeonMap5X", xiv::exd::Language::none ); + m_DeepDungeonRoomDat = setupDatAccess( "DeepDungeonRoom", xiv::exd::Language::none ); + m_DeepDungeonStatusDat = setupDatAccess( "DeepDungeonStatus", xiv::exd::Language::none ); + m_DefaultTalkDat = setupDatAccess( "DefaultTalk", xiv::exd::Language::en ); + m_DefaultTalkLipSyncTypeDat = setupDatAccess( "DefaultTalkLipSyncType", xiv::exd::Language::none ); + m_DeliveryQuestDat = setupDatAccess( "DeliveryQuest", xiv::exd::Language::none ); + m_DisposalShopDat = setupDatAccess( "DisposalShop", xiv::exd::Language::en ); + m_DisposalShopFilterTypeDat = setupDatAccess( "DisposalShopFilterType", xiv::exd::Language::en ); + m_DisposalShopItemDat = setupDatAccess( "DisposalShopItem", xiv::exd::Language::none ); + m_DpsChallengeDat = setupDatAccess( "DpsChallenge", xiv::exd::Language::en ); + m_DpsChallengeOfficerDat = setupDatAccess( "DpsChallengeOfficer", xiv::exd::Language::none ); + m_DpsChallengeTransientDat = setupDatAccess( "DpsChallengeTransient", xiv::exd::Language::none ); + m_EmoteDat = setupDatAccess( "Emote", xiv::exd::Language::en ); + m_EmoteCategoryDat = setupDatAccess( "EmoteCategory", xiv::exd::Language::en ); + m_ENpcBaseDat = setupDatAccess( "ENpcBase", xiv::exd::Language::none ); + m_ENpcResidentDat = setupDatAccess( "ENpcResident", xiv::exd::Language::en ); + m_EObjDat = setupDatAccess( "EObj", xiv::exd::Language::none ); + m_EObjNameDat = setupDatAccess( "EObjName", xiv::exd::Language::en ); + m_EquipRaceCategoryDat = setupDatAccess( "EquipRaceCategory", xiv::exd::Language::none ); + m_EquipSlotCategoryDat = setupDatAccess( "EquipSlotCategory", xiv::exd::Language::none ); + m_EurekaAethernetDat = setupDatAccess( "EurekaAethernet", xiv::exd::Language::none ); + m_EurekaGrowDataDat = setupDatAccess( "EurekaGrowData", xiv::exd::Language::none ); + m_EurekaSphereElementAdjustDat = setupDatAccess( "EurekaSphereElementAdjust", xiv::exd::Language::none ); + m_EventActionDat = setupDatAccess( "EventAction", xiv::exd::Language::en ); + m_EventIconPriorityDat = setupDatAccess( "EventIconPriority", xiv::exd::Language::none ); + m_EventIconTypeDat = setupDatAccess( "EventIconType", xiv::exd::Language::none ); + m_EventItemDat = setupDatAccess( "EventItem", xiv::exd::Language::en ); + m_EventItemCastTimelineDat = setupDatAccess( "EventItemCastTimeline", xiv::exd::Language::none ); + m_EventItemHelpDat = setupDatAccess( "EventItemHelp", xiv::exd::Language::en ); + m_EventItemTimelineDat = setupDatAccess( "EventItemTimeline", xiv::exd::Language::none ); + 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_FCActivityDat = setupDatAccess( "FCActivity", xiv::exd::Language::en ); + m_FCActivityCategoryDat = setupDatAccess( "FCActivityCategory", xiv::exd::Language::en ); + m_FCAuthorityDat = setupDatAccess( "FCAuthority", xiv::exd::Language::en ); + m_FCAuthorityCategoryDat = setupDatAccess( "FCAuthorityCategory", xiv::exd::Language::en ); + m_FCChestNameDat = setupDatAccess( "FCChestName", xiv::exd::Language::en ); + m_FccShopDat = setupDatAccess( "FccShop", xiv::exd::Language::en ); + m_FCHierarchyDat = setupDatAccess( "FCHierarchy", xiv::exd::Language::en ); + m_FCProfileDat = setupDatAccess( "FCProfile", xiv::exd::Language::en ); + m_FCReputationDat = setupDatAccess( "FCReputation", xiv::exd::Language::en ); + m_FCRightsDat = setupDatAccess( "FCRights", xiv::exd::Language::en ); + m_FieldMarkerDat = setupDatAccess( "FieldMarker", xiv::exd::Language::en ); + m_FishingRecordTypeTransientDat = setupDatAccess( "FishingRecordTypeTransient", xiv::exd::Language::none ); + m_FishingSpotDat = setupDatAccess( "FishingSpot", xiv::exd::Language::en ); + 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_GardeningSeedDat = setupDatAccess( "GardeningSeed", xiv::exd::Language::none ); + m_GatheringConditionDat = setupDatAccess( "GatheringCondition", xiv::exd::Language::en ); + m_GatheringExpDat = setupDatAccess( "GatheringExp", xiv::exd::Language::none ); + m_GatheringItemDat = setupDatAccess( "GatheringItem", xiv::exd::Language::none ); + m_GatheringItemLevelConvertTableDat = setupDatAccess( "GatheringItemLevelConvertTable", xiv::exd::Language::none ); + m_GatheringItemPointDat = setupDatAccess( "GatheringItemPoint", xiv::exd::Language::none ); + m_GatheringLeveDat = setupDatAccess( "GatheringLeve", xiv::exd::Language::none ); + m_GatheringLeveRouteDat = setupDatAccess( "GatheringLeveRoute", xiv::exd::Language::none ); + m_GatheringNotebookListDat = setupDatAccess( "GatheringNotebookList", xiv::exd::Language::none ); + m_GatheringPointDat = setupDatAccess( "GatheringPoint", xiv::exd::Language::none ); + m_GatheringPointBaseDat = setupDatAccess( "GatheringPointBase", xiv::exd::Language::none ); + m_GatheringPointBonusDat = setupDatAccess( "GatheringPointBonus", xiv::exd::Language::none ); + m_GatheringPointBonusTypeDat = setupDatAccess( "GatheringPointBonusType", xiv::exd::Language::en ); + m_GatheringPointNameDat = setupDatAccess( "GatheringPointName", xiv::exd::Language::en ); + m_GatheringSubCategoryDat = setupDatAccess( "GatheringSubCategory", xiv::exd::Language::en ); + m_GatheringTypeDat = setupDatAccess( "GatheringType", xiv::exd::Language::en ); + m_GcArmyCaptureTacticsDat = setupDatAccess( "GcArmyCaptureTactics", xiv::exd::Language::none ); + m_GcArmyExpeditionDat = setupDatAccess( "GcArmyExpedition", xiv::exd::Language::en ); + m_GcArmyExpeditionMemberBonusDat = setupDatAccess( "GcArmyExpeditionMemberBonus", xiv::exd::Language::none ); + m_GcArmyExpeditionTypeDat = setupDatAccess( "GcArmyExpeditionType", xiv::exd::Language::en ); + m_GcArmyMemberGrowDat = setupDatAccess( "GcArmyMemberGrow", xiv::exd::Language::none ); + m_GcArmyTrainingDat = setupDatAccess( "GcArmyTraining", xiv::exd::Language::en ); + m_GCRankGridaniaFemaleTextDat = setupDatAccess( "GCRankGridaniaFemaleText", xiv::exd::Language::en ); + m_GCRankGridaniaMaleTextDat = setupDatAccess( "GCRankGridaniaMaleText", xiv::exd::Language::en ); + m_GCRankLimsaFemaleTextDat = setupDatAccess( "GCRankLimsaFemaleText", xiv::exd::Language::en ); + m_GCRankLimsaMaleTextDat = setupDatAccess( "GCRankLimsaMaleText", xiv::exd::Language::en ); + m_GCRankUldahFemaleTextDat = setupDatAccess( "GCRankUldahFemaleText", xiv::exd::Language::en ); + m_GCRankUldahMaleTextDat = setupDatAccess( "GCRankUldahMaleText", xiv::exd::Language::en ); + m_GCScripShopCategoryDat = setupDatAccess( "GCScripShopCategory", xiv::exd::Language::none ); + m_GCScripShopItemDat = setupDatAccess( "GCScripShopItem", xiv::exd::Language::none ); + m_GCShopDat = setupDatAccess( "GCShop", xiv::exd::Language::none ); + m_GCShopItemCategoryDat = setupDatAccess( "GCShopItemCategory", xiv::exd::Language::en ); + m_GCSupplyDutyDat = setupDatAccess( "GCSupplyDuty", xiv::exd::Language::none ); + m_GCSupplyDutyRewardDat = setupDatAccess( "GCSupplyDutyReward", xiv::exd::Language::none ); + m_GeneralActionDat = setupDatAccess( "GeneralAction", xiv::exd::Language::en ); + m_GFATEDat = setupDatAccess( "GFATE", xiv::exd::Language::none ); + m_GilShopDat = setupDatAccess( "GilShop", xiv::exd::Language::en ); + m_GilShopItemDat = setupDatAccess( "GilShopItem", xiv::exd::Language::none ); + m_GoldSaucerArcadeMachineDat = setupDatAccess( "GoldSaucerArcadeMachine", xiv::exd::Language::en ); + m_GoldSaucerTextDataDat = setupDatAccess( "GoldSaucerTextData", xiv::exd::Language::en ); + 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_GuildleveAssignmentDat = setupDatAccess( "GuildleveAssignment", xiv::exd::Language::none ); + m_GuildleveAssignmentCategoryDat = setupDatAccess( "GuildleveAssignmentCategory", xiv::exd::Language::none ); + m_GuildOrderGuideDat = setupDatAccess( "GuildOrderGuide", xiv::exd::Language::none ); + m_GuildOrderOfficerDat = setupDatAccess( "GuildOrderOfficer", xiv::exd::Language::none ); + m_HairMakeTypeDat = setupDatAccess( "HairMakeType", xiv::exd::Language::none ); + m_HouseRetainerPoseDat = setupDatAccess( "HouseRetainerPose", xiv::exd::Language::none ); + m_HousingAethernetDat = setupDatAccess( "HousingAethernet", xiv::exd::Language::none ); + m_HousingEmploymentNpcListDat = setupDatAccess( "HousingEmploymentNpcList", xiv::exd::Language::none ); + m_HousingEmploymentNpcRaceDat = setupDatAccess( "HousingEmploymentNpcRace", xiv::exd::Language::en ); + m_HousingFurnitureDat = setupDatAccess( "HousingFurniture", xiv::exd::Language::none ); + m_HousingPlacementDat = setupDatAccess( "HousingPlacement", xiv::exd::Language::en ); + m_HousingPresetDat = setupDatAccess( "HousingPreset", xiv::exd::Language::en ); + m_HousingYardObjectDat = setupDatAccess( "HousingYardObject", xiv::exd::Language::none ); + 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_InstanceContentDat = setupDatAccess( "InstanceContent", xiv::exd::Language::en ); + m_InstanceContentBuffDat = setupDatAccess( "InstanceContentBuff", xiv::exd::Language::none ); + m_InstanceContentTextDataDat = setupDatAccess( "InstanceContentTextData", xiv::exd::Language::en ); + m_ItemDat = setupDatAccess( "Item", xiv::exd::Language::en ); + m_ItemActionDat = setupDatAccess( "ItemAction", xiv::exd::Language::none ); + m_ItemFoodDat = setupDatAccess( "ItemFood", xiv::exd::Language::none ); + m_ItemSearchCategoryDat = setupDatAccess( "ItemSearchCategory", xiv::exd::Language::en ); + 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_JournalCategoryDat = setupDatAccess( "JournalCategory", xiv::exd::Language::en ); + m_JournalGenreDat = setupDatAccess( "JournalGenre", xiv::exd::Language::en ); + m_JournalSectionDat = setupDatAccess( "JournalSection", xiv::exd::Language::en ); + m_LeveDat = setupDatAccess( "Leve", xiv::exd::Language::en ); + m_LeveAssignmentTypeDat = setupDatAccess( "LeveAssignmentType", xiv::exd::Language::en ); + m_LeveClientDat = setupDatAccess( "LeveClient", xiv::exd::Language::en ); + m_LevelDat = setupDatAccess( "Level", xiv::exd::Language::none ); + m_LeveRewardItemDat = setupDatAccess( "LeveRewardItem", xiv::exd::Language::none ); + m_LeveRewardItemGroupDat = setupDatAccess( "LeveRewardItemGroup", xiv::exd::Language::none ); + m_LeveVfxDat = setupDatAccess( "LeveVfx", xiv::exd::Language::none ); + m_LogFilterDat = setupDatAccess( "LogFilter", xiv::exd::Language::en ); + m_LogKindDat = setupDatAccess( "LogKind", xiv::exd::Language::en ); + m_LogKindCategoryTextDat = setupDatAccess( "LogKindCategoryText", xiv::exd::Language::en ); + m_LogMessageDat = setupDatAccess( "LogMessage", xiv::exd::Language::en ); + m_LotteryExchangeShopDat = setupDatAccess( "LotteryExchangeShop", xiv::exd::Language::en ); + m_MacroIconDat = setupDatAccess( "MacroIcon", xiv::exd::Language::none ); + m_MacroIconRedirectOldDat = setupDatAccess( "MacroIconRedirectOld", xiv::exd::Language::none ); + m_MainCommandDat = setupDatAccess( "MainCommand", xiv::exd::Language::en ); + m_MainCommandCategoryDat = setupDatAccess( "MainCommandCategory", xiv::exd::Language::en ); + m_ManeuversArmorDat = setupDatAccess( "ManeuversArmor", xiv::exd::Language::en ); + m_MapDat = setupDatAccess( "Map", xiv::exd::Language::none ); + m_MapMarkerDat = setupDatAccess( "MapMarker", xiv::exd::Language::none ); + m_MapMarkerRegionDat = setupDatAccess( "MapMarkerRegion", xiv::exd::Language::none ); + m_MapSymbolDat = setupDatAccess( "MapSymbol", xiv::exd::Language::none ); + m_MarkerDat = setupDatAccess( "Marker", xiv::exd::Language::en ); + 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_MinionRaceDat = setupDatAccess( "MinionRace", xiv::exd::Language::en ); + m_MinionRulesDat = setupDatAccess( "MinionRules", xiv::exd::Language::en ); + m_MinionSkillTypeDat = setupDatAccess( "MinionSkillType", xiv::exd::Language::en ); + m_MobHuntOrderTypeDat = setupDatAccess( "MobHuntOrderType", xiv::exd::Language::none ); + m_MobHuntTargetDat = setupDatAccess( "MobHuntTarget", xiv::exd::Language::none ); + m_ModelCharaDat = setupDatAccess( "ModelChara", xiv::exd::Language::none ); + m_ModelStateDat = setupDatAccess( "ModelState", xiv::exd::Language::none ); + m_MonsterNoteDat = setupDatAccess( "MonsterNote", xiv::exd::Language::en ); + m_MonsterNoteTargetDat = setupDatAccess( "MonsterNoteTarget", xiv::exd::Language::none ); + m_MountDat = setupDatAccess( "Mount", xiv::exd::Language::en ); + m_MountActionDat = setupDatAccess( "MountAction", xiv::exd::Language::none ); + m_MountCustomizeDat = setupDatAccess( "MountCustomize", xiv::exd::Language::none ); + m_MountFlyingConditionDat = setupDatAccess( "MountFlyingCondition", xiv::exd::Language::none ); + m_MountSpeedDat = setupDatAccess( "MountSpeed", xiv::exd::Language::none ); + m_MountTransientDat = setupDatAccess( "MountTransient", xiv::exd::Language::en ); + m_MoveTimelineDat = setupDatAccess( "MoveTimeline", xiv::exd::Language::none ); + m_MoveVfxDat = setupDatAccess( "MoveVfx", 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_OpeningDat = setupDatAccess( "Opening", xiv::exd::Language::none ); + m_OrchestrionDat = setupDatAccess( "Orchestrion", xiv::exd::Language::en ); + m_OrchestrionCategoryDat = setupDatAccess( "OrchestrionCategory", xiv::exd::Language::en ); + m_OrchestrionPathDat = setupDatAccess( "OrchestrionPath", xiv::exd::Language::none ); + m_OrchestrionUiparamDat = setupDatAccess( "OrchestrionUiparam", xiv::exd::Language::none ); + m_ParamGrowDat = setupDatAccess( "ParamGrow", xiv::exd::Language::none ); + m_PartyContentCutsceneDat = setupDatAccess( "PartyContentCutscene", xiv::exd::Language::none ); + m_PerformDat = setupDatAccess( "Perform", xiv::exd::Language::en ); + m_PerformTransientDat = setupDatAccess( "PerformTransient", xiv::exd::Language::en ); + m_PetDat = setupDatAccess( "Pet", xiv::exd::Language::en ); + m_PetActionDat = setupDatAccess( "PetAction", xiv::exd::Language::en ); + m_PictureDat = setupDatAccess( "Picture", xiv::exd::Language::none ); + m_PlaceNameDat = setupDatAccess( "PlaceName", xiv::exd::Language::en ); + m_PlantPotFlowerSeedDat = setupDatAccess( "PlantPotFlowerSeed", xiv::exd::Language::none ); + m_PreHandlerDat = setupDatAccess( "PreHandler", xiv::exd::Language::none ); + m_PublicContentDat = setupDatAccess( "PublicContent", xiv::exd::Language::en ); + m_PublicContentCutsceneDat = setupDatAccess( "PublicContentCutscene", xiv::exd::Language::none ); + m_PublicContentTextDataDat = setupDatAccess( "PublicContentTextData", xiv::exd::Language::en ); + m_PvPActionDat = setupDatAccess( "PvPAction", xiv::exd::Language::none ); + m_PvPActionSortDat = setupDatAccess( "PvPActionSort", xiv::exd::Language::none ); + m_PvPRankDat = setupDatAccess( "PvPRank", xiv::exd::Language::none ); + m_PvPSelectTraitDat = setupDatAccess( "PvPSelectTrait", xiv::exd::Language::en ); + m_PvPTraitDat = setupDatAccess( "PvPTrait", xiv::exd::Language::none ); + m_QuestDat = setupDatAccess( "Quest", xiv::exd::Language::en ); + m_QuestClassJobRewardDat = setupDatAccess( "QuestClassJobReward", xiv::exd::Language::none ); + m_QuestClassJobSupplyDat = setupDatAccess( "QuestClassJobSupply", xiv::exd::Language::none ); + m_QuestRepeatFlagDat = setupDatAccess( "QuestRepeatFlag", xiv::exd::Language::none ); + m_QuestRewardOtherDat = setupDatAccess( "QuestRewardOther", xiv::exd::Language::en ); + m_QuickChatDat = setupDatAccess( "QuickChat", xiv::exd::Language::en ); + m_QuickChatTransientDat = setupDatAccess( "QuickChatTransient", xiv::exd::Language::en ); + m_RaceDat = setupDatAccess( "Race", xiv::exd::Language::en ); + m_RacingChocoboItemDat = setupDatAccess( "RacingChocoboItem", xiv::exd::Language::none ); + m_RacingChocoboNameDat = setupDatAccess( "RacingChocoboName", xiv::exd::Language::en ); + m_RacingChocoboNameCategoryDat = setupDatAccess( "RacingChocoboNameCategory", xiv::exd::Language::en ); + m_RacingChocoboNameInfoDat = setupDatAccess( "RacingChocoboNameInfo", xiv::exd::Language::none ); + m_RacingChocoboParamDat = setupDatAccess( "RacingChocoboParam", xiv::exd::Language::en ); + m_RecipeDat = setupDatAccess( "Recipe", xiv::exd::Language::none ); + m_RecipeElementDat = setupDatAccess( "RecipeElement", xiv::exd::Language::en ); + m_RecipeLevelTableDat = setupDatAccess( "RecipeLevelTable", xiv::exd::Language::none ); + m_RecipeNotebookListDat = setupDatAccess( "RecipeNotebookList", xiv::exd::Language::none ); + m_RecommendContentsDat = setupDatAccess( "RecommendContents", xiv::exd::Language::none ); + m_RelicDat = setupDatAccess( "Relic", xiv::exd::Language::none ); + m_Relic3Dat = setupDatAccess( "Relic3", xiv::exd::Language::none ); + m_RelicItemDat = setupDatAccess( "RelicItem", xiv::exd::Language::none ); + m_RelicNoteDat = setupDatAccess( "RelicNote", xiv::exd::Language::none ); + m_RelicNoteCategoryDat = setupDatAccess( "RelicNoteCategory", xiv::exd::Language::en ); + m_ResidentDat = setupDatAccess( "Resident", xiv::exd::Language::none ); + m_RetainerTaskDat = setupDatAccess( "RetainerTask", xiv::exd::Language::none ); + m_RetainerTaskLvRangeDat = setupDatAccess( "RetainerTaskLvRange", xiv::exd::Language::none ); + m_RetainerTaskNormalDat = setupDatAccess( "RetainerTaskNormal", xiv::exd::Language::none ); + m_RetainerTaskParameterDat = setupDatAccess( "RetainerTaskParameter", xiv::exd::Language::none ); + m_RetainerTaskRandomDat = setupDatAccess( "RetainerTaskRandom", xiv::exd::Language::en ); + m_RPParameterDat = setupDatAccess( "RPParameter", xiv::exd::Language::none ); + m_SalvageDat = setupDatAccess( "Salvage", xiv::exd::Language::none ); + m_SatisfactionNpcDat = setupDatAccess( "SatisfactionNpc", xiv::exd::Language::none ); + m_SatisfactionSupplyDat = setupDatAccess( "SatisfactionSupply", xiv::exd::Language::none ); + m_SatisfactionSupplyRewardDat = setupDatAccess( "SatisfactionSupplyReward", xiv::exd::Language::none ); + m_ScenarioTreeDat = setupDatAccess( "ScenarioTree", xiv::exd::Language::none ); + m_ScenarioTreeTipsDat = setupDatAccess( "ScenarioTreeTips", xiv::exd::Language::none ); + m_ScenarioTreeTipsClassQuestDat = setupDatAccess( "ScenarioTreeTipsClassQuest", xiv::exd::Language::none ); + m_ScenarioTreeTipsQuestDat = setupDatAccess( "ScenarioTreeTipsQuest", xiv::exd::Language::none ); + m_ScenarioTypeDat = setupDatAccess( "ScenarioType", xiv::exd::Language::en ); + m_ScreenImageDat = setupDatAccess( "ScreenImage", xiv::exd::Language::none ); + m_SecretRecipeBookDat = setupDatAccess( "SecretRecipeBook", xiv::exd::Language::en ); + m_SkyIsland2MissionDat = setupDatAccess( "SkyIsland2Mission", xiv::exd::Language::en ); + 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_SpearfishingItemDat = setupDatAccess( "SpearfishingItem", xiv::exd::Language::en ); + m_SpearfishingNotebookDat = setupDatAccess( "SpearfishingNotebook", xiv::exd::Language::none ); + m_SpearfishingRecordPageDat = setupDatAccess( "SpearfishingRecordPage", xiv::exd::Language::none ); + m_SpecialShopDat = setupDatAccess( "SpecialShop", xiv::exd::Language::en ); + m_SpecialShopItemCategoryDat = setupDatAccess( "SpecialShopItemCategory", xiv::exd::Language::en ); + m_StainDat = setupDatAccess( "Stain", xiv::exd::Language::en ); + m_StainTransientDat = setupDatAccess( "StainTransient", xiv::exd::Language::none ); + m_StatusDat = setupDatAccess( "Status", xiv::exd::Language::en ); + m_StatusHitEffectDat = setupDatAccess( "StatusHitEffect", xiv::exd::Language::none ); + 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_SubmarinePartDat = setupDatAccess( "SubmarinePart", xiv::exd::Language::none ); + m_SubmarineRankDat = setupDatAccess( "SubmarineRank", xiv::exd::Language::none ); + m_SwitchTalkDat = setupDatAccess( "SwitchTalk", xiv::exd::Language::none ); + m_TerritoryTypeDat = setupDatAccess( "TerritoryType", xiv::exd::Language::none ); + m_TextCommandDat = setupDatAccess( "TextCommand", xiv::exd::Language::en ); + m_TitleDat = setupDatAccess( "Title", xiv::exd::Language::en ); + m_TomestonesDat = setupDatAccess( "Tomestones", xiv::exd::Language::none ); + m_TomestonesItemDat = setupDatAccess( "TomestonesItem", xiv::exd::Language::none ); + m_TopicSelectDat = setupDatAccess( "TopicSelect", xiv::exd::Language::en ); + m_TownDat = setupDatAccess( "Town", xiv::exd::Language::en ); + m_TraitDat = setupDatAccess( "Trait", xiv::exd::Language::en ); + m_TraitRecastDat = setupDatAccess( "TraitRecast", xiv::exd::Language::none ); + m_TraitTransientDat = setupDatAccess( "TraitTransient", xiv::exd::Language::en ); + m_TransformationDat = setupDatAccess( "Transformation", xiv::exd::Language::none ); + m_TreasureDat = setupDatAccess( "Treasure", xiv::exd::Language::en ); + m_TreasureHuntRankDat = setupDatAccess( "TreasureHuntRank", xiv::exd::Language::none ); + m_TribeDat = setupDatAccess( "Tribe", xiv::exd::Language::en ); + m_TripleTriadDat = setupDatAccess( "TripleTriad", xiv::exd::Language::none ); + m_TripleTriadCardDat = setupDatAccess( "TripleTriadCard", xiv::exd::Language::en ); + m_TripleTriadCardRarityDat = setupDatAccess( "TripleTriadCardRarity", xiv::exd::Language::none ); + m_TripleTriadCardResidentDat = setupDatAccess( "TripleTriadCardResident", xiv::exd::Language::none ); + m_TripleTriadCardTypeDat = setupDatAccess( "TripleTriadCardType", xiv::exd::Language::en ); + m_TripleTriadCompetitionDat = setupDatAccess( "TripleTriadCompetition", xiv::exd::Language::en ); + m_TripleTriadRuleDat = setupDatAccess( "TripleTriadRule", xiv::exd::Language::en ); + m_TutorialDat = setupDatAccess( "Tutorial", xiv::exd::Language::none ); + m_TutorialDPSDat = setupDatAccess( "TutorialDPS", xiv::exd::Language::none ); + m_TutorialHealerDat = setupDatAccess( "TutorialHealer", xiv::exd::Language::none ); + m_TutorialTankDat = setupDatAccess( "TutorialTank", xiv::exd::Language::none ); + m_VaseFlowerDat = setupDatAccess( "VaseFlower", xiv::exd::Language::none ); + m_VFXDat = setupDatAccess( "VFX", xiv::exd::Language::none ); + m_WarpDat = setupDatAccess( "Warp", xiv::exd::Language::en ); + m_WarpConditionDat = setupDatAccess( "WarpCondition", xiv::exd::Language::none ); + m_WarpLogicDat = setupDatAccess( "WarpLogic", xiv::exd::Language::en ); + m_WeatherDat = setupDatAccess( "Weather", xiv::exd::Language::en ); + m_WeatherGroupDat = setupDatAccess( "WeatherGroup", xiv::exd::Language::none ); + m_WeatherRateDat = setupDatAccess( "WeatherRate", xiv::exd::Language::none ); + m_WeddingBGMDat = setupDatAccess( "WeddingBGM", xiv::exd::Language::en ); + m_WeeklyBingoOrderDataDat = setupDatAccess( "WeeklyBingoOrderData", xiv::exd::Language::none ); + m_WeeklyBingoRewardDataDat = setupDatAccess( "WeeklyBingoRewardData", xiv::exd::Language::none ); + m_WeeklyBingoTextDat = setupDatAccess( "WeeklyBingoText", xiv::exd::Language::en ); + 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_YKWDat = setupDatAccess( "YKW", xiv::exd::Language::en ); + m_ZoneSharedGroupDat = setupDatAccess( "ZoneSharedGroup", xiv::exd::Language::none ); - } - catch( std::runtime_error ) - { - return false; - } + } + catch( std::runtime_error ) + { + return false; + } - return true; + return true; } /////////////////////////////////////////////////////////////// diff --git a/src/common/Exd/ExdDataGenerated.h b/src/common/Exd/ExdDataGenerated.h index 59ba567e..db3d2a8e 100644 --- a/src/common/Exd/ExdDataGenerated.h +++ b/src/common/Exd/ExdDataGenerated.h @@ -30,15 +30,22 @@ struct ActionIndirection; struct ActionParam; struct ActionProcStatus; struct ActionTimeline; +struct ActionTimelineMove; struct ActionTimelineReplace; struct ActionTransient; +struct ActivityFeedButtons; +struct ActivityFeedCaptions; +struct ActivityFeedGroupCaptions; +struct ActivityFeedImages; struct Addon; +struct AddonHud; struct Adventure; struct AdventureExPhase; struct AetherCurrent; struct AetherCurrentCompFlgSet; struct AetherialWheel; struct Aetheryte; +struct AetheryteSystemDefine; struct AirshipExplorationLevel; struct AirshipExplorationLog; struct AirshipExplorationParamType; @@ -56,7 +63,9 @@ struct AnimaWeaponIcon; struct AnimaWeaponItem; struct AquariumFish; struct AquariumWater; +struct ArrayEventHandler; struct AttackType; +struct BacklightColor; struct Balloon; struct BaseParam; struct BattleLeve; @@ -65,10 +74,15 @@ struct BeastReputationRank; struct BeastTribe; struct Behavior; struct BGM; +struct BGMFade; +struct BGMSituation; +struct BGMSwitch; +struct BGMSystemDefine; struct BNpcAnnounceIcon; struct BNpcBase; struct BNpcCustomize; struct BNpcName; +struct BNpcParts; struct Buddy; struct BuddyAction; struct BuddyEquip; @@ -87,6 +101,8 @@ struct ChocoboRaceItem; struct ChocoboRaceRank; struct ChocoboRaceStatus; struct ChocoboRaceTerritory; +struct ChocoboRaceTutorial; +struct ChocoboRaceWeather; struct ChocoboTaxi; struct ChocoboTaxiStand; struct ClassJob; @@ -105,32 +121,44 @@ struct CompanyCraftSupplyItem; struct CompanyCraftType; struct CompleteJournal; struct CompleteJournalCategory; +struct ContentCloseCycle; struct ContentExAction; struct ContentFinderCondition; struct ContentFinderConditionTransient; +struct ContentGauge; +struct ContentGaugeColor; struct ContentMemberType; struct ContentNpcTalk; struct ContentRoulette; +struct ContentRouletteOpenRule; +struct ContentRouletteRoleBonus; struct ContentsNote; -struct ContentsNoteCategory; struct ContentTalk; struct ContentTalkParam; struct ContentType; struct CraftAction; struct CraftLeve; struct CraftType; +struct Credit; +struct CreditCast; struct Currency; struct CustomTalk; struct Cutscene; struct CutScreenImage; struct DailySupplyItem; +struct DeepDungeon; struct DeepDungeonBan; struct DeepDungeonDanger; struct DeepDungeonEquipment; struct DeepDungeonFloorEffectUI; struct DeepDungeonItem; +struct DeepDungeonLayer; +struct DeepDungeonMagicStone; +struct DeepDungeonMap5X; +struct DeepDungeonRoom; struct DeepDungeonStatus; struct DefaultTalk; +struct DefaultTalkLipSyncType; struct DeliveryQuest; struct DisposalShop; struct DisposalShopFilterType; @@ -153,7 +181,10 @@ struct EventAction; struct EventIconPriority; struct EventIconType; struct EventItem; +struct EventItemCastTimeline; struct EventItemHelp; +struct EventItemTimeline; +struct ExportedSG; struct ExVersion; struct Fate; struct FCActivity; @@ -167,14 +198,19 @@ struct FCProfile; struct FCReputation; struct FCRights; struct FieldMarker; +struct FishingRecordTypeTransient; struct FishingSpot; struct FishParameter; +struct Frontline03; +struct Frontline04; struct GardeningSeed; struct GatheringCondition; struct GatheringExp; struct GatheringItem; struct GatheringItemLevelConvertTable; struct GatheringItemPoint; +struct GatheringLeve; +struct GatheringLeveRoute; struct GatheringNotebookList; struct GatheringPoint; struct GatheringPointBase; @@ -183,6 +219,7 @@ struct GatheringPointBonusType; struct GatheringPointName; struct GatheringSubCategory; struct GatheringType; +struct GcArmyCaptureTactics; struct GcArmyExpedition; struct GcArmyExpeditionMemberBonus; struct GcArmyExpeditionType; @@ -201,18 +238,30 @@ struct GCShopItemCategory; struct GCSupplyDuty; struct GCSupplyDutyReward; struct GeneralAction; +struct GFATE; struct GilShop; struct GilShopItem; +struct GoldSaucerArcadeMachine; struct GoldSaucerTextData; struct GrandCompany; struct GrandCompanyRank; struct GuardianDeity; struct GuildleveAssignment; +struct GuildleveAssignmentCategory; struct GuildOrderGuide; struct GuildOrderOfficer; +struct HairMakeType; struct HouseRetainerPose; +struct HousingAethernet; +struct HousingEmploymentNpcList; +struct HousingEmploymentNpcRace; struct HousingFurniture; +struct HousingPlacement; +struct HousingPreset; struct HousingYardObject; +struct HowTo; +struct HowToCategory; +struct HowToPage; struct InstanceContent; struct InstanceContentBuff; struct InstanceContentTextData; @@ -237,10 +286,12 @@ struct LogFilter; struct LogKind; struct LogKindCategoryText; struct LogMessage; +struct LotteryExchangeShop; struct MacroIcon; struct MacroIconRedirectOld; struct MainCommand; struct MainCommandCategory; +struct ManeuversArmor; struct Map; struct MapMarker; struct MapMarkerRegion; @@ -252,15 +303,22 @@ struct Materia; struct MinionRace; struct MinionRules; struct MinionSkillType; +struct MobHuntOrderType; struct MobHuntTarget; struct ModelChara; +struct ModelState; struct MonsterNote; struct MonsterNoteTarget; struct Mount; struct MountAction; +struct MountCustomize; +struct MountFlyingCondition; +struct MountSpeed; +struct MountTransient; struct MoveTimeline; struct MoveVfx; struct NpcEquip; +struct NpcYell; struct Omen; struct OnlineStatus; struct Opening; @@ -269,16 +327,26 @@ struct OrchestrionCategory; struct OrchestrionPath; struct OrchestrionUiparam; struct ParamGrow; +struct PartyContentCutscene; struct Perform; struct PerformTransient; struct Pet; struct PetAction; struct Picture; struct PlaceName; +struct PlantPotFlowerSeed; +struct PreHandler; struct PublicContent; +struct PublicContentCutscene; +struct PublicContentTextData; +struct PvPAction; struct PvPActionSort; +struct PvPRank; +struct PvPSelectTrait; +struct PvPTrait; struct Quest; struct QuestClassJobReward; +struct QuestClassJobSupply; struct QuestRepeatFlag; struct QuestRewardOther; struct QuickChat; @@ -299,11 +367,13 @@ struct Relic3; struct RelicItem; struct RelicNote; struct RelicNoteCategory; +struct Resident; struct RetainerTask; struct RetainerTaskLvRange; struct RetainerTaskNormal; struct RetainerTaskParameter; struct RetainerTaskRandom; +struct RPParameter; struct Salvage; struct SatisfactionNpc; struct SatisfactionSupply; @@ -321,6 +391,7 @@ struct SkyIsland2MissionType; struct SkyIsland2RangeType; struct SpearfishingItem; struct SpearfishingNotebook; +struct SpearfishingRecordPage; struct SpecialShop; struct SpecialShopItemCategory; struct Stain; @@ -362,6 +433,7 @@ struct VaseFlower; struct VFX; struct Warp; struct WarpCondition; +struct WarpLogic; struct Weather; struct WeatherGroup; struct WeatherRate; @@ -369,6 +441,7 @@ struct WeddingBGM; struct WeeklyBingoOrderData; struct WeeklyBingoRewardData; struct WeeklyBingoText; +struct WeeklyLotBonus; struct World; struct WorldDCGroupType; struct YKW; @@ -377,7239 +450,8248 @@ struct ZoneSharedGroup; struct Achievement { - uint8_t achievementCategory; - std::string name; - std::string description; - uint8_t points; - uint16_t title; - uint32_t item; - uint16_t icon; - uint8_t type; - std::vector< int32_t > data; - uint16_t order; + uint8_t achievementCategory; + std::string name; + std::string description; + uint8_t points; + uint16_t title; + uint32_t item; + uint16_t icon; + uint8_t type; + int32_t key; + std::vector< int32_t > data; + uint16_t order; - Achievement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Achievement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AchievementCategory { - std::string name; - uint8_t achievementKind; + std::string name; + uint8_t achievementKind; - AchievementCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AchievementCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AchievementKind { - std::string name; + std::string name; - AchievementKind( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AchievementKind( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Action { - std::string name; - uint16_t icon; - uint8_t actionCategory; - uint8_t animationStart; - uint8_t vFX; - int16_t animationEnd; - uint16_t actionTimelineHit; - int8_t classJob; - uint8_t classJobLevel; - bool isRoleAction; - int8_t range; - bool canTargetSelf; - bool canTargetParty; - bool canTargetFriendly; - bool canTargetHostile; - bool targetArea; - bool canTargetDead; - uint8_t castType; - uint8_t effectRange; - uint8_t xAxisModifier; - uint8_t costType; - uint16_t cost; - uint16_t actionCombo; - bool preservesCombo; - uint16_t cast100ms; - uint16_t recast100ms; - uint8_t cooldownGroup; - int8_t attackType; - uint8_t aspect; - uint8_t actionProcStatus; - uint16_t statusGainSelf; - uint32_t actionData; - uint8_t classJobCategory; - bool affectsPosition; - uint8_t omen; - bool isPvP; + std::string name; + uint16_t icon; + uint8_t actionCategory; + uint8_t animationStart; + uint8_t vFX; + int16_t animationEnd; + uint16_t actionTimelineHit; + int8_t classJob; + uint8_t classJobLevel; + bool isRoleAction; + int8_t range; + bool canTargetSelf; + bool canTargetParty; + bool canTargetFriendly; + bool canTargetHostile; + bool targetArea; + bool canTargetDead; + uint8_t castType; + uint8_t effectRange; + uint8_t xAxisModifier; + uint8_t costType; + uint16_t cost; + uint16_t actionCombo; + bool preservesCombo; + uint16_t cast100ms; + uint16_t recast100ms; + uint8_t cooldownGroup; + int8_t attackType; + uint8_t aspect; + uint8_t actionProcStatus; + uint16_t statusGainSelf; + uint32_t unlockLink; + uint8_t classJobCategory; + bool affectsPosition; + uint8_t omen; + bool isPvP; - Action( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Action( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ActionCastTimeline { - uint16_t name; - uint16_t vFX; + uint16_t name; + uint16_t vFX; - ActionCastTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ActionCastTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ActionCastVFX { - uint16_t vFX; + uint16_t vFX; - ActionCastVFX( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ActionCastVFX( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ActionCategory { - std::string name; + std::string name; - ActionCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ActionCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ActionComboRoute { - std::string name; - std::vector< uint16_t > action; + std::string name; + std::vector< uint16_t > action; - ActionComboRoute( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ActionComboRoute( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ActionIndirection { - int32_t name; + int32_t name; - ActionIndirection( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ActionIndirection( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ActionParam { - int16_t name; + int16_t name; - ActionParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ActionParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ActionProcStatus { - uint16_t status; + uint16_t status; - ActionProcStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ActionProcStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ActionTimeline { - std::string key; + std::string key; - ActionTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ActionTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ActionTimelineMove +{ + + ActionTimelineMove( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ActionTimelineReplace { - uint16_t old; - uint16_t new1; + uint16_t old; + uint16_t New; - ActionTimelineReplace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ActionTimelineReplace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ActionTransient { - std::string description; + std::string description; - ActionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ActionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ActivityFeedButtons +{ + std::string bannerURL; + std::string description; + std::string language; + std::string pictureURL; + + ActivityFeedButtons( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ActivityFeedCaptions +{ + std::string jA; + std::string eN; + std::string dE; + std::string fR; + + ActivityFeedCaptions( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ActivityFeedGroupCaptions +{ + std::string jA; + std::string eN; + std::string dE; + std::string fR; + + ActivityFeedGroupCaptions( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ActivityFeedImages +{ + std::string expansionImage; + std::string activityFeedJA; + std::string activityFeedEN; + std::string activityFeedDE; + std::string activityFeedFR; + + ActivityFeedImages( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Addon { - std::string text; + std::string text; - Addon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Addon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct AddonHud +{ + std::string longs; + std::string shorts; + std::string function; + + AddonHud( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Adventure { - int32_t level; - uint8_t emote; - uint16_t minTime; - uint16_t maxTime; - int32_t placeName; - int32_t iconList; - int32_t iconDiscovered; - std::string name; - std::string impression; - std::string description; - int32_t iconUndiscovered; - bool isInitial; + int32_t level; + uint16_t emote; + uint16_t minTime; + uint16_t maxTime; + int32_t placeName; + int32_t iconList; + int32_t iconDiscovered; + std::string name; + std::string impression; + std::string description; + int32_t iconUndiscovered; + bool isInitial; - Adventure( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Adventure( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AdventureExPhase { - uint32_t quest; - uint32_t adventureBegin; - uint32_t adventureEnd; + uint32_t quest; + uint32_t adventureBegin; + uint32_t adventureEnd; - AdventureExPhase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AdventureExPhase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AetherCurrent { - uint32_t quest; + uint32_t quest; - AetherCurrent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AetherCurrent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AetherCurrentCompFlgSet { - int32_t territory; - std::vector< int32_t > aetherCurrent; + int32_t territory; + std::vector< int32_t > aetherCurrent; - AetherCurrentCompFlgSet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AetherCurrentCompFlgSet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AetherialWheel { - int32_t itemUnprimed; - int32_t itemPrimed; - uint8_t grade; - uint8_t hoursRequired; + int32_t itemUnprimed; + int32_t itemPrimed; + uint8_t grade; + uint8_t hoursRequired; - AetherialWheel( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AetherialWheel( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Aetheryte { - uint16_t placeName; - uint16_t aethernetName; - uint16_t territory; - std::vector< uint32_t > level; - bool isAetheryte; - uint8_t aethernetGroup; - uint16_t map; - int16_t aetherstreamX; - int16_t aetherstreamY; + uint16_t placeName; + uint16_t aethernetName; + uint16_t territory; + std::vector< uint32_t > level; + bool isAetheryte; + uint8_t aethernetGroup; + uint32_t requiredQuest; + uint16_t map; + int16_t aetherstreamX; + int16_t aetherstreamY; - Aetheryte( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Aetheryte( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct AetheryteSystemDefine +{ + std::string text; + + AetheryteSystemDefine( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AirshipExplorationLevel { - uint32_t expToNext; + uint32_t expToNext; - AirshipExplorationLevel( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AirshipExplorationLevel( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AirshipExplorationLog { - std::string text; + std::string text; - AirshipExplorationLog( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AirshipExplorationLog( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AirshipExplorationParamType { - std::string name; + std::string name; - AirshipExplorationParamType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AirshipExplorationParamType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AirshipExplorationPart { - uint8_t rank; - uint8_t components; - int16_t surveillance; - int16_t retrieval; - int16_t speed; - int16_t range; - int16_t favor; - uint8_t repairMaterials; + uint8_t rank; + uint8_t components; + int16_t surveillance; + int16_t retrieval; + int16_t speed; + int16_t range; + int16_t favor; + uint8_t repairMaterials; - AirshipExplorationPart( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AirshipExplorationPart( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AirshipExplorationPoint { - std::string name; - std::string nameShort; - uint8_t requiredLevel; - uint16_t requiredFuel; - uint16_t durationmin; - uint8_t requiredSurveillance; - uint32_t expReward; + std::string name; + std::string nameShort; + uint8_t requiredLevel; + uint16_t requiredFuel; + uint16_t durationmin; + uint8_t requiredSurveillance; + uint32_t expReward; - AirshipExplorationPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AirshipExplorationPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeapon5 { - int32_t item; - uint8_t secondaryStatTotal; - std::vector< uint8_t > parameter; + int32_t item; + uint8_t secondaryStatTotal; + std::vector< uint8_t > parameter; - AnimaWeapon5( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeapon5( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeapon5Param { - uint8_t baseParam; - std::string name; + uint8_t baseParam; + std::string name; - AnimaWeapon5Param( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeapon5Param( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeapon5PatternGroup { - std::string name; + std::string name; - AnimaWeapon5PatternGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeapon5PatternGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeapon5SpiritTalk { - int32_t dialogue; + int32_t dialogue; - AnimaWeapon5SpiritTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeapon5SpiritTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeapon5SpiritTalkParam { - std::string prologue; - std::string epilogue; + std::string prologue; + std::string epilogue; - AnimaWeapon5SpiritTalkParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeapon5SpiritTalkParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeapon5TradeItem { - uint32_t crystalSand; - uint8_t qty; - uint8_t category; + uint32_t crystalSand; + uint8_t qty; + uint8_t category; - AnimaWeapon5TradeItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeapon5TradeItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeaponFUITalk { - int32_t dialogue; + int32_t dialogue; - AnimaWeaponFUITalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeaponFUITalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeaponFUITalkParam { - std::string prologue; - std::string epilogue; + std::string prologue; + std::string epilogue; - AnimaWeaponFUITalkParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeaponFUITalkParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeaponIcon { - int32_t hyperconductive; - int32_t reborn; - int32_t sharpened; - int32_t zodiac; - int32_t zodiacLux; + int32_t hyperconductive; + int32_t reborn; + int32_t sharpened; + int32_t zodiac; + int32_t zodiacLux; - AnimaWeaponIcon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeaponIcon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AnimaWeaponItem { - std::vector< uint32_t > item; + std::vector< uint32_t > item; - AnimaWeaponItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AnimaWeaponItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AquariumFish { - uint8_t aquariumWater; - uint8_t size; - uint32_t item; + uint8_t aquariumWater; + uint8_t size; + uint32_t item; - AquariumFish( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AquariumFish( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AquariumWater { - std::string name; + std::string name; - AquariumWater( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AquariumWater( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ArrayEventHandler +{ + std::vector< uint32_t > data; + + ArrayEventHandler( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct AttackType { - std::string name; + std::string name; - AttackType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + AttackType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct BacklightColor +{ + uint32_t color; + + BacklightColor( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Balloon { - std::string dialogue; + std::string dialogue; - Balloon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Balloon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BaseParam { - std::string name; - std::string description; - uint8_t oneHWpn; - uint8_t oH; - uint8_t head; - uint8_t chest; - uint8_t hands; - uint8_t waist; - uint8_t legs; - uint8_t feet; - uint8_t earring; - uint8_t necklace; - uint8_t bracelet; - uint8_t ring; - uint8_t twoHWpn; - uint8_t chestHead; - uint8_t chestHeadLegsFeet; - uint8_t legsFeet; - uint8_t headChestHandsLegsFeet; - uint8_t chestLegsGloves; - uint8_t chestLegsFeet; + std::string name; + std::string description; + uint8_t oneHWpn; + uint8_t oH; + uint8_t head; + uint8_t chest; + uint8_t hands; + uint8_t waist; + uint8_t legs; + uint8_t feet; + uint8_t earring; + uint8_t necklace; + uint8_t bracelet; + uint8_t ring; + uint8_t twoHWpn; + uint8_t chestHead; + uint8_t chestHeadLegsFeet; + uint8_t legsFeet; + uint8_t headChestHandsLegsFeet; + uint8_t chestLegsGloves; + uint8_t chestLegsFeet; - BaseParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BaseParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BattleLeve { - std::vector< uint16_t > enemyLevel; - std::vector< uint32_t > bNpcName; - std::vector< int32_t > itemsInvolved; - std::vector< uint8_t > itemsInvolvedQty; - std::vector< uint8_t > itemDropRate; + std::vector< uint16_t > enemyLevel; + std::vector< uint32_t > bNpcName; + std::vector< int32_t > itemsInvolved; + std::vector< uint8_t > itemsInvolvedQty; + std::vector< uint8_t > itemDropRate; - BattleLeve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BattleLeve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BeastRankBonus { - uint32_t item; - std::vector< uint8_t > itemQuantity; + uint32_t item; + std::vector< uint8_t > itemQuantity; - BeastRankBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BeastRankBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BeastReputationRank { - uint16_t requiredReputation; - std::string name; + uint16_t requiredReputation; + std::string name; - BeastReputationRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BeastReputationRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BeastTribe { - uint8_t minLevel; - uint8_t maxLevel; - uint8_t beastRankBonus; - uint32_t iconReputation; - uint32_t icon; - uint8_t maxRank; - uint32_t alliedBeastTribeQuest; - uint8_t expansion; - uint32_t currencyItem; - uint8_t displayOrder; - std::string name; - std::string nameRelation; + uint8_t minLevel; + uint8_t maxLevel; + uint8_t beastRankBonus; + uint32_t iconReputation; + uint32_t icon; + uint8_t maxRank; + uint32_t alliedBeastTribeQuest; + uint8_t expansion; + uint32_t currencyItem; + uint8_t displayOrder; + std::string name; + std::string nameRelation; - BeastTribe( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BeastTribe( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Behavior { - uint16_t balloon; + uint16_t balloon; - Behavior( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Behavior( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BGM { - std::string file; + std::string file; - BGM( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BGM( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct BGMFade +{ + int32_t bGMFadeType; + + BGMFade( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct BGMSituation +{ + uint16_t bGMDay; + uint16_t bGMNight; + uint16_t bGMBattle; + uint16_t bGMField; + + BGMSituation( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct BGMSwitch +{ + uint8_t bGMSystemDefine; + uint32_t quest; + + BGMSwitch( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct BGMSystemDefine +{ + float define; + + BGMSystemDefine( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BNpcAnnounceIcon { - uint32_t icon; + uint32_t icon; - BNpcAnnounceIcon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BNpcAnnounceIcon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BNpcBase { - float scale; - uint16_t modelChara; - uint16_t bNpcCustomize; - uint16_t npcEquip; - int32_t arrayEventHandler; + uint16_t behavior; + uint8_t actionTimelineMove; + float scale; + uint16_t modelChara; + uint16_t bNpcCustomize; + uint16_t npcEquip; + int32_t arrayEventHandler; + uint8_t bNpcParts; - BNpcBase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BNpcBase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BNpcCustomize { - uint8_t race; - uint8_t gender; - uint8_t bodyType; - uint8_t height; - uint8_t tribe; - uint8_t face; - uint8_t hairStyle; - uint8_t hairHighlight; - uint8_t skinColor; - uint8_t eyeHeterochromia; - uint8_t hairColor; - uint8_t hairHighlightColor; - uint8_t facialFeature; - uint8_t facialFeatureColor; - uint8_t eyebrows; - uint8_t eyeColor; - uint8_t eyeShape; - uint8_t nose; - uint8_t jaw; - uint8_t mouth; - uint8_t lipColor; - uint8_t bustOrTone1; - uint8_t extraFeature1; - uint8_t extraFeature2OrBust; - uint8_t facePaint; - uint8_t facePaintColor; + uint8_t race; + uint8_t gender; + uint8_t bodyType; + uint8_t height; + uint8_t tribe; + uint8_t face; + uint8_t hairStyle; + uint8_t hairHighlight; + uint8_t skinColor; + uint8_t eyeHeterochromia; + uint8_t hairColor; + uint8_t hairHighlightColor; + uint8_t facialFeature; + uint8_t facialFeatureColor; + uint8_t eyebrows; + uint8_t eyeColor; + uint8_t eyeShape; + uint8_t nose; + uint8_t jaw; + uint8_t mouth; + uint8_t lipColor; + uint8_t bustOrTone1; + uint8_t extraFeature1; + uint8_t extraFeature2OrBust; + uint8_t facePaint; + uint8_t facePaintColor; - BNpcCustomize( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BNpcCustomize( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BNpcName { - std::string singular; - std::string plural; + std::string singular; + std::string plural; + int8_t startsWithVowel; - BNpcName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BNpcName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct BNpcParts +{ + uint16_t bNpcBase1; + uint8_t partSlot1; + float x1; + float y1; + float z1; + float scale1; + uint16_t bNpcBase2; + uint8_t partSlot2; + float x2; + float y2; + float z2; + float scale2; + uint16_t bNpcBase3; + uint8_t partSlot3; + float x3; + float y3; + float z3; + int16_t scale3; + uint16_t bNpcBase4; + uint8_t partSlot4; + float x4; + float y4; + float z4; + float scale4; + uint16_t bNpcBase5; + uint8_t partSlot5; + float x5; + float y5; + float z5; + float scale5; + + BNpcParts( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Buddy { - int32_t questRequirement2; - int32_t questRequirement1; - std::string soundEffect4; - std::string soundEffect3; - std::string soundEffect2; - std::string soundEffect1; + int32_t questRequirement2; + int32_t questRequirement1; + std::string soundEffect4; + std::string soundEffect3; + std::string soundEffect2; + std::string soundEffect1; - Buddy( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Buddy( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BuddyAction { - std::string name; - std::string description; - int32_t icon; - int32_t iconStatus; + std::string name; + std::string description; + int32_t icon; + int32_t iconStatus; - BuddyAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BuddyAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BuddyEquip { - std::string singular; - std::string plural; - std::string name; - int32_t modelTop; - int32_t modelBody; - int32_t modelLegs; - uint8_t grandCompany; - uint16_t iconHead; - uint16_t iconBody; - uint16_t iconLegs; + std::string singular; + std::string plural; + int8_t startsWithVowel; + int8_t rarity; + std::string name; + int32_t modelTop; + int32_t modelBody; + int32_t modelLegs; + uint8_t grandCompany; + uint16_t iconHead; + uint16_t iconBody; + uint16_t iconLegs; - BuddyEquip( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BuddyEquip( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BuddyItem { - uint16_t name; + uint16_t item; - BuddyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BuddyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BuddyRank { - uint32_t expRequired; + uint32_t expRequired; - BuddyRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BuddyRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct BuddySkill { - uint8_t buddyLevel; - bool isActive; - uint16_t defender; - uint16_t attacker; - uint16_t healer; + uint8_t buddyLevel; + bool isActive; + uint16_t defender; + uint16_t attacker; + uint16_t healer; - BuddySkill( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + BuddySkill( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Cabinet { - int32_t item; - uint16_t order; - uint8_t category; + int32_t item; + uint16_t order; + uint8_t category; - Cabinet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Cabinet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CabinetCategory { - uint8_t menuOrder; - int32_t icon; - int32_t category; + uint8_t menuOrder; + int32_t icon; + int32_t category; - CabinetCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CabinetCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Calendar { - std::vector< uint8_t > month; - std::vector< uint8_t > day; + std::vector< uint8_t > month; + std::vector< uint8_t > day; - Calendar( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Calendar( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CharaMakeCustomize { - uint32_t icon; - uint16_t data; - bool isPurchasable; + uint32_t icon; + uint16_t data; + bool isPurchasable; - CharaMakeCustomize( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CharaMakeCustomize( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CharaMakeType { - int32_t race; - int32_t tribe; - int8_t gender; - std::vector< int32_t > facialFeatureIcon; + int32_t race; + int32_t tribe; + int8_t gender; + std::vector< int32_t > facialFeatureIcon; - CharaMakeType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CharaMakeType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ChocoboRace { - uint8_t chocoboRaceRank; - uint8_t chocoboRaceTerritory; + uint8_t chocoboRaceRank; + uint8_t chocoboRaceTerritory; - ChocoboRace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ChocoboRace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ChocoboRaceAbility { - std::string name; - std::string description; - uint32_t icon; - int8_t chocoboRaceAbilityType; - uint8_t value; + std::string name; + std::string description; + uint32_t icon; + int8_t chocoboRaceAbilityType; + uint8_t value; - ChocoboRaceAbility( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ChocoboRaceAbility( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ChocoboRaceAbilityType { - bool isActive; + bool isActive; - ChocoboRaceAbilityType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ChocoboRaceAbilityType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ChocoboRaceItem { - std::string name; - std::string description; - uint32_t icon; + std::string name; + std::string description; + uint32_t icon; - ChocoboRaceItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ChocoboRaceItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ChocoboRaceRank { - uint16_t ratingMin; - uint16_t ratingMax; - uint16_t name; - uint16_t fee; - int32_t icon; + uint16_t ratingMin; + uint16_t ratingMax; + uint16_t name; + uint16_t fee; + int32_t icon; - ChocoboRaceRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ChocoboRaceRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ChocoboRaceStatus { - int32_t status; + int32_t status; - ChocoboRaceStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ChocoboRaceStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ChocoboRaceTerritory { - uint16_t name; - int32_t icon; + uint16_t name; + int32_t icon; - ChocoboRaceTerritory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ChocoboRaceTerritory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ChocoboRaceTutorial +{ + std::vector< int32_t > npcYell; + + ChocoboRaceTutorial( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ChocoboRaceWeather +{ + int32_t weatherType1; + int32_t weatherType2; + + ChocoboRaceWeather( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ChocoboTaxi { - uint32_t location; + uint32_t location; - ChocoboTaxi( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ChocoboTaxi( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ChocoboTaxiStand { - std::string placeName; + std::string placeName; - ChocoboTaxiStand( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ChocoboTaxiStand( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ClassJob { - std::string name; - std::string abbreviation; - uint8_t classJobCategory; - int8_t expArrayIndex; - uint16_t modifierHitPoints; - uint16_t modifierManaPoints; - uint16_t modifierStrength; - uint16_t modifierVitality; - uint16_t modifierDexterity; - uint16_t modifierIntelligence; - uint16_t modifierMind; - uint16_t modifierPiety; - uint8_t classJobParent; - std::string nameEnglish; - int32_t itemStartingWeapon; - uint16_t limitBreak1; - uint16_t limitBreak2; - uint16_t limitBreak3; - uint32_t itemSoulCrystal; - uint32_t unlockQuest; - uint32_t relicQuest; - uint32_t prerequisite; - uint8_t startingLevel; + std::string name; + std::string abbreviation; + uint8_t classJobCategory; + int8_t expArrayIndex; + uint16_t modifierHitPoints; + uint16_t modifierManaPoints; + uint16_t modifierStrength; + uint16_t modifierVitality; + uint16_t modifierDexterity; + uint16_t modifierIntelligence; + uint16_t modifierMind; + uint16_t modifierPiety; + uint8_t classJobParent; + std::string nameEnglish; + int32_t itemStartingWeapon; + uint16_t limitBreak1; + uint16_t limitBreak2; + uint16_t limitBreak3; + uint32_t itemSoulCrystal; + uint32_t unlockQuest; + uint32_t relicQuest; + uint32_t prerequisite; + uint8_t startingLevel; - ClassJob( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ClassJob( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ClassJobCategory { - std::string name; - bool aDV; - bool gLA; - bool pGL; - bool mRD; - bool lNC; - bool aRC; - bool cNJ; - bool tHM; - bool cRP; - bool bSM; - bool aRM; - bool gSM; - bool lTW; - bool wVR; - bool aLC; - bool cUL; - bool mIN; - bool bTN; - bool fSH; - bool pLD; - bool mNK; - bool wAR; - bool dRG; - bool bRD; - bool wHM; - bool bLM; - bool aCN; - bool sMN; - bool sCH; - bool rOG; - bool nIN; - bool mCH; - bool dRK; - bool aST; - bool sAM; - bool rDM; + std::string name; + bool aDV; + bool gLA; + bool pGL; + bool mRD; + bool lNC; + bool aRC; + bool cNJ; + bool tHM; + bool cRP; + bool bSM; + bool aRM; + bool gSM; + bool lTW; + bool wVR; + bool aLC; + bool cUL; + bool mIN; + bool bTN; + bool fSH; + bool pLD; + bool mNK; + bool wAR; + bool dRG; + bool bRD; + bool wHM; + bool bLM; + bool aCN; + bool sMN; + bool sCH; + bool rOG; + bool nIN; + bool mCH; + bool dRK; + bool aST; + bool sAM; + bool rDM; - ClassJobCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ClassJobCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Companion { - std::string singular; - std::string plural; - uint8_t behavior; - uint16_t icon; - uint8_t cost; - uint16_t hP; - uint16_t skillAngle; - uint8_t skillCost; - uint8_t minionRace; + std::string singular; + std::string plural; + int8_t startsWithVowel; + int8_t rarity; + uint8_t behavior; + uint16_t icon; + uint8_t cost; + uint16_t hP; + uint16_t skillAngle; + uint8_t skillCost; + uint8_t minionRace; - Companion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Companion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanionMove { - std::string name; + std::string name; - CompanionMove( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanionMove( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanionTransient { - std::string description; - std::string descriptionEnhanced; - std::string tooltip; - std::string specialActionName; - std::string specialActionDescription; - uint8_t attack; - uint8_t defense; - uint8_t speed; - bool hasAreaAttack; - bool strengthGate; - bool strengthEye; - bool strengthShield; - bool strengthArcana; - uint8_t minionSkillType; + std::string description; + std::string descriptionEnhanced; + std::string tooltip; + std::string specialActionName; + std::string specialActionDescription; + uint8_t attack; + uint8_t defense; + uint8_t speed; + bool hasAreaAttack; + bool strengthGate; + bool strengthEye; + bool strengthShield; + bool strengthArcana; + uint8_t minionSkillType; - CompanionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanyAction { - std::string name; - std::string description; - int32_t icon; - uint8_t fCRank; - uint32_t cost; - uint8_t order; - bool purchasable; + std::string name; + std::string description; + int32_t icon; + uint8_t fCRank; + uint32_t cost; + uint8_t order; + bool purchasable; - CompanyAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanyAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanyCraftDraft { - std::string name; - uint8_t companyCraftDraftCategory; - uint32_t order; + std::string name; + uint8_t companyCraftDraftCategory; + uint32_t order; - CompanyCraftDraft( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanyCraftDraft( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanyCraftDraftCategory { - std::string name; + std::string name; - CompanyCraftDraftCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanyCraftDraftCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanyCraftManufactoryState { - std::string name; + std::string name; - CompanyCraftManufactoryState( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanyCraftManufactoryState( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanyCraftPart { - uint8_t companyCraftType; - std::vector< uint16_t > companyCraftProcess; + uint8_t companyCraftType; + std::vector< uint16_t > companyCraftProcess; - CompanyCraftPart( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanyCraftPart( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanyCraftProcess { - CompanyCraftProcess( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanyCraftProcess( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanyCraftSequence { - int32_t resultItem; - int32_t companyCraftDraftCategory; - int32_t companyCraftType; - int32_t companyCraftDraft; - std::vector< uint16_t > companyCraftPart; + int32_t resultItem; + int32_t companyCraftDraftCategory; + int32_t companyCraftType; + int32_t companyCraftDraft; + std::vector< uint16_t > companyCraftPart; - CompanyCraftSequence( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanyCraftSequence( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanyCraftSupplyItem { - uint32_t item; + uint32_t item; - CompanyCraftSupplyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanyCraftSupplyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompanyCraftType { - std::string name; + std::string name; - CompanyCraftType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompanyCraftType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompleteJournal { - std::string name; - std::vector< int32_t > cutscene; + uint16_t requiredLevel; + int32_t icon; + std::string name; + std::vector< int32_t > cutscene; - CompleteJournal( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompleteJournal( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CompleteJournalCategory { - uint32_t firstQuest; - uint32_t lastQuest; + uint32_t firstQuest; + uint32_t lastQuest; - CompleteJournalCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CompleteJournalCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ContentCloseCycle +{ + uint32_t unixtime; + uint32_t timeSeconds; + + ContentCloseCycle( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ContentExAction { - uint32_t name; - uint8_t charges; + uint32_t name; + uint8_t charges; - ContentExAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ContentExAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ContentFinderCondition { - uint16_t instanceContent; - uint8_t contentMemberType; - uint8_t classJobLevelRequired; - uint8_t classJobLevelSync; - uint16_t itemLevelRequired; - uint16_t itemLevelSync; - uint8_t contentIndicator; - uint8_t contentType; - uint32_t icon; + uint16_t territoryType; + uint8_t contentLinkType; + uint16_t content; + uint8_t contentMemberType; + uint8_t classJobLevelRequired; + uint8_t classJobLevelSync; + uint16_t itemLevelRequired; + uint16_t itemLevelSync; + bool allowReplacement; + bool highEndDuty; + std::string name; + uint8_t contentType; + uint8_t transient; + uint32_t image; - ContentFinderCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ContentFinderCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ContentFinderConditionTransient { - std::string description; + std::string description; - ContentFinderConditionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ContentFinderConditionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ContentGauge +{ + std::string name; + uint8_t color; + std::string textString; + + ContentGauge( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ContentGaugeColor +{ + uint32_t androidColor1; + uint32_t androidColor2; + uint32_t androidColor3; + + ContentGaugeColor( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ContentMemberType { - uint8_t tanksPerParty; - uint8_t healersPerParty; - uint8_t meleesPerParty; - uint8_t rangedPerParty; + uint8_t tanksPerParty; + uint8_t healersPerParty; + uint8_t meleesPerParty; + uint8_t rangedPerParty; - ContentMemberType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ContentMemberType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ContentNpcTalk { - std::vector< uint32_t > contentTalk; + std::vector< uint32_t > contentTalk; - ContentNpcTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ContentNpcTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ContentRoulette { - std::string name; - std::string description; - std::string dutyType; - bool isInDutyFinder; - uint16_t itemLevelRequired; - uint32_t icon; - uint16_t rewardTomeA; - uint16_t rewardTomeB; - uint16_t rewardTomeC; - uint8_t sortKey; - uint8_t contentMemberType; - bool requireAllDuties; + std::string name; + std::string description; + std::string dutyType; + bool isInDutyFinder; + uint8_t openRule; + uint8_t requiredLevel; + uint16_t itemLevelRequired; + uint32_t icon; + uint8_t contentRouletteRoleBonus; + uint16_t rewardTomeA; + uint16_t rewardTomeB; + uint16_t rewardTomeC; + uint8_t sortKey; + uint8_t contentMemberType; + bool requireAllDuties; + uint8_t contentRouletteOpenRule; + uint16_t instanceContent; - ContentRoulette( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ContentRoulette( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ContentRouletteOpenRule +{ + uint32_t type; + + ContentRouletteOpenRule( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ContentRouletteRoleBonus +{ + uint32_t itemRewardType; + uint8_t rewardAmount; + + ContentRouletteRoleBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ContentsNote { - uint8_t contentType; - int32_t requiredAmount; + uint8_t contentType; + uint8_t menuOrder; + int32_t requiredAmount; + int32_t expMultiplier; + int32_t gilRward; + uint16_t levelUnlock; + uint16_t howTo; + std::string name; + std::string description; + int32_t expCap; - ContentsNote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); -}; - -struct ContentsNoteCategory -{ - uint8_t type; - - ContentsNoteCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ContentsNote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ContentTalk { - uint8_t contentTalkParam; - std::string text; + uint8_t contentTalkParam; + std::string text; - ContentTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ContentTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ContentTalkParam { - bool param; - uint32_t testAction; + bool param; + uint32_t testAction; - ContentTalkParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ContentTalkParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ContentType { - std::string name; - uint32_t icon; - uint32_t iconDutyFinder; + std::string name; + uint32_t icon; + uint32_t iconDutyFinder; - ContentType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ContentType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CraftAction { - std::string name; - std::string description; - uint16_t animationStart; - uint16_t animationEnd; - uint16_t icon; - int8_t classJob; - uint8_t classJobCategory; - uint8_t classJobLevel; - uint32_t questRequirement; - bool specialist; - uint8_t cost; - int32_t cRP; - int32_t bSM; - int32_t aRM; - int32_t gSM; - int32_t lTW; - int32_t wVR; - int32_t aLC; - int32_t cUL; + std::string name; + std::string description; + uint16_t animationStart; + uint16_t animationEnd; + uint16_t icon; + int8_t classJob; + uint8_t classJobCategory; + uint8_t classJobLevel; + uint32_t questRequirement; + bool specialist; + uint8_t cost; + int32_t cRP; + int32_t bSM; + int32_t aRM; + int32_t gSM; + int32_t lTW; + int32_t wVR; + int32_t aLC; + int32_t cUL; - CraftAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CraftAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CraftLeve { - int32_t leve; - uint8_t repeats; + int32_t leve; + int32_t craftLeveTalk; + uint8_t repeats; - CraftLeve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CraftLeve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CraftType { - std::string name; + std::string name; - CraftType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CraftType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct Credit +{ + uint16_t roles1; + uint16_t japaneseCast1; + uint16_t englishCast1; + uint16_t frenchCast1; + uint16_t germanCast1; + uint16_t roles2; + uint16_t japaneseCast2; + uint16_t englishCast2; + uint16_t frenchCast2; + uint16_t germanCast2; + + Credit( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct CreditCast +{ + std::string name; + + CreditCast( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Currency { - uint32_t item; - uint32_t limit; + uint32_t item; + uint32_t limit; - Currency( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Currency( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CustomTalk { - uint32_t iconActor; - uint32_t iconMap; - std::string name; - std::vector< std::string > scriptInstruction; - std::vector< uint32_t > scriptArg; - bool text; + uint32_t iconActor; + uint32_t iconMap; + std::string name; + std::vector< std::string > scriptInstruction; + std::vector< uint32_t > scriptArg; + bool text; - CustomTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CustomTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Cutscene { - std::string path; + std::string path; - Cutscene( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Cutscene( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct CutScreenImage { - int32_t image; + int32_t image; - CutScreenImage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + CutScreenImage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DailySupplyItem { - DailySupplyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DailySupplyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct DeepDungeon +{ + std::string name; + + DeepDungeon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DeepDungeonBan { - uint16_t screenImage; - uint16_t logMessage; - uint16_t name; + uint16_t screenImage; + uint16_t logMessage; + uint16_t name; - DeepDungeonBan( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DeepDungeonBan( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DeepDungeonDanger { - uint16_t screenImage; - uint16_t logMessage; - uint16_t name; + uint16_t screenImage; + uint16_t logMessage; + uint16_t name; - DeepDungeonDanger( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DeepDungeonDanger( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DeepDungeonEquipment { - uint32_t icon; - std::string singular; - std::string plural; - std::string name; - std::string description; + uint32_t icon; + std::string singular; + std::string plural; + int8_t startsWithVowel; + int8_t rarity; + std::string name; + std::string description; - DeepDungeonEquipment( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DeepDungeonEquipment( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DeepDungeonFloorEffectUI { - uint32_t icon; - std::string name; - std::string description; + uint32_t icon; + std::string name; + std::string description; - DeepDungeonFloorEffectUI( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DeepDungeonFloorEffectUI( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DeepDungeonItem { - uint32_t icon; - std::string singular; - std::string plural; - std::string name; - std::string tooltip; - uint32_t action; + uint32_t icon; + std::string singular; + std::string plural; + int8_t startsWithVowel; + int8_t rarity; + std::string name; + std::string tooltip; + uint32_t action; - DeepDungeonItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DeepDungeonItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct DeepDungeonLayer +{ + uint8_t deepDungeon; + + DeepDungeonLayer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct DeepDungeonMagicStone +{ + uint32_t icon; + std::string singular; + std::string plural; + int8_t startsWithVowel; + int8_t rarity; + std::string name; + std::string tooltip; + + DeepDungeonMagicStone( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct DeepDungeonMap5X +{ + std::vector< uint16_t > deepDungeonRoom; + + DeepDungeonMap5X( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct DeepDungeonRoom +{ + std::vector< uint32_t > level; + + DeepDungeonRoom( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DeepDungeonStatus { - uint16_t screenImage; - uint16_t logMessage; - uint16_t name; + uint16_t screenImage; + uint16_t logMessage; + uint16_t name; - DeepDungeonStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DeepDungeonStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DefaultTalk { - std::vector< uint16_t > actionTimelinePose; - std::vector< std::string > text; + std::vector< uint16_t > actionTimelinePose; + std::vector< std::string > text; - DefaultTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DefaultTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct DefaultTalkLipSyncType +{ + int32_t actionTimeline; + + DefaultTalkLipSyncType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DeliveryQuest { - int32_t quest; + int32_t quest; - DeliveryQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DeliveryQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DisposalShop { - std::string shopName; + std::string shopName; - DisposalShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DisposalShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DisposalShopFilterType { - std::string category; + std::string category; - DisposalShopFilterType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DisposalShopFilterType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DisposalShopItem { - int32_t itemDisposed; - int32_t itemReceived; - uint32_t quantityReceived; + int32_t itemDisposed; + int32_t itemReceived; + uint32_t quantityReceived; - DisposalShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DisposalShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DpsChallenge { - uint16_t playerLevel; - uint16_t placeName; - uint32_t icon; - uint16_t order; - std::string name; - std::string description; + uint16_t playerLevel; + uint16_t placeName; + uint32_t icon; + uint16_t order; + std::string name; + std::string description; - DpsChallenge( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DpsChallenge( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DpsChallengeOfficer { - uint32_t unlockQuest; - std::vector< uint16_t > challengeName; + uint32_t unlockQuest; + std::vector< uint16_t > challengeName; - DpsChallengeOfficer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DpsChallengeOfficer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct DpsChallengeTransient { - uint16_t instanceContent; + uint16_t instanceContent; - DpsChallengeTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + DpsChallengeTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Emote { - std::string name; - uint8_t emoteCategory; - int32_t textCommand; - uint16_t icon; - uint16_t logMessageTargeted; - uint16_t logMessageUntargeted; - uint8_t emoteMode; - bool hasCancelEmote; - bool drawsWeapon; + std::string name; + std::vector< uint16_t > actionTimeline; + uint8_t emoteCategory; + uint8_t emoteMode; + bool hasCancelEmote; + bool drawsWeapon; + int32_t textCommand; + uint16_t icon; + uint16_t logMessageTargeted; + uint16_t logMessageUntargeted; + uint32_t unlockLink; - Emote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Emote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EmoteCategory { - std::string name; + std::string name; - EmoteCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); -}; - - -struct EmoteMode -{ - std::string name; - uint8_t emoteCategory; - int32_t textCommand; - uint16_t icon; - uint16_t logMessageTargeted; - uint16_t logMessageUntargeted; - - EmoteMode( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EmoteCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ENpcBase { - std::vector< uint32_t > eNpcData; - uint8_t race; - uint8_t gender; - uint8_t bodyType; - uint8_t height; - uint8_t tribe; - uint8_t face; - uint8_t hairStyle; - uint8_t hairHighlight; - uint8_t skinColor; - uint8_t eyeHeterochromia; - uint8_t hairColor; - uint8_t hairHighlightColor; - uint8_t facialFeature; - uint8_t facialFeatureColor; - uint8_t eyebrows; - uint8_t eyeColor; - uint8_t eyeShape; - uint8_t nose; - uint8_t jaw; - uint8_t mouth; - uint8_t lipColor; - uint8_t bustOrTone1; - uint8_t extraFeature1; - uint8_t extraFeature2OrBust; - uint8_t facePaint; - uint8_t facePaintColor; - uint16_t npcEquip; - uint16_t behavior; - uint64_t modelMainHand; - uint8_t dyeMainHand; - uint64_t modelOffHand; - uint8_t dyeOffHand; - uint32_t modelHead; - uint8_t dyeHead; - bool visor; - 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; - uint16_t balloon; + std::vector< uint32_t > eNpcData; + uint8_t race; + uint8_t gender; + uint8_t bodyType; + uint8_t height; + uint8_t tribe; + uint8_t face; + uint8_t hairStyle; + uint8_t hairHighlight; + uint8_t skinColor; + uint8_t eyeHeterochromia; + uint8_t hairColor; + uint8_t hairHighlightColor; + uint8_t facialFeature; + uint8_t facialFeatureColor; + uint8_t eyebrows; + uint8_t eyeColor; + uint8_t eyeShape; + uint8_t nose; + uint8_t jaw; + uint8_t mouth; + uint8_t lipColor; + uint8_t bustOrTone1; + uint8_t extraFeature1; + uint8_t extraFeature2OrBust; + uint8_t facePaint; + uint8_t facePaintColor; + uint16_t npcEquip; + uint16_t behavior; + uint64_t modelMainHand; + uint8_t dyeMainHand; + uint64_t modelOffHand; + uint8_t dyeOffHand; + uint32_t modelHead; + uint8_t dyeHead; + bool visor; + 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; + uint16_t balloon; - ENpcBase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ENpcBase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ENpcResident { - std::string singular; - std::string plural; - std::string title; - uint8_t map; + std::string singular; + std::string plural; + std::string title; + uint8_t map; - ENpcResident( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ENpcResident( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EObj { - uint32_t data; + uint32_t data; + uint16_t sgbPath; - EObj( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EObj( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EObjName { - std::string singular; + std::string singular; - EObjName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EObjName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EquipRaceCategory { - bool hyur; - bool elezen; - bool lalafell; - bool miqote; - bool roegadyn; - bool auRa; - bool male; - bool female; + bool hyur; + bool elezen; + bool lalafell; + bool miqote; + bool roegadyn; + bool auRa; + bool male; + bool female; - EquipRaceCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EquipRaceCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EquipSlotCategory { - int8_t mainHand; - int8_t offHand; - int8_t head; - int8_t body; - int8_t gloves; - int8_t waist; - int8_t legs; - int8_t feet; - int8_t ears; - int8_t neck; - int8_t wrists; - int8_t fingerL; - int8_t fingerR; - int8_t soulCrystal; + int8_t mainHand; + int8_t offHand; + int8_t head; + int8_t body; + int8_t gloves; + int8_t waist; + int8_t legs; + int8_t feet; + int8_t ears; + int8_t neck; + int8_t wrists; + int8_t fingerL; + int8_t fingerR; + int8_t soulCrystal; - EquipSlotCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EquipSlotCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EurekaAethernet { - uint16_t location; + uint16_t location; - EurekaAethernet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EurekaAethernet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EurekaGrowData { - uint16_t baseResistance; + uint16_t baseResistance; - EurekaGrowData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EurekaGrowData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EurekaSphereElementAdjust { - uint16_t powerModifier; + uint16_t powerModifier; - EurekaSphereElementAdjust( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EurekaSphereElementAdjust( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EventAction { - std::string name; - uint16_t icon; - uint8_t castTime; + std::string name; + uint16_t icon; + uint8_t castTime; + std::vector< uint16_t > animation; - EventAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EventAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EventIconPriority { - std::vector< uint32_t > icon; + std::vector< uint32_t > icon; - EventIconPriority( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EventIconPriority( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EventIconType { - uint32_t npcIconAvailable; - uint32_t mapIconAvailable; - uint32_t npcIconInvalid; - uint32_t mapIconInvalid; - uint8_t iconRange; + uint32_t npcIconAvailable; + uint32_t mapIconAvailable; + uint32_t npcIconInvalid; + uint32_t mapIconInvalid; + uint8_t iconRange; - EventIconType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EventIconType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EventItem { - std::string singular; - std::string plural; - int8_t rarity; - std::string name; - uint16_t icon; - uint8_t stackSize; - uint32_t quest; - uint8_t castTime; + std::string singular; + std::string plural; + int8_t startsWithVowel; + int8_t rarity; + std::string name; + uint16_t icon; + uint16_t action; + uint8_t stackSize; + uint32_t quest; + uint8_t castTime; - EventItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EventItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct EventItemCastTimeline +{ + uint32_t actionTimeline; + + EventItemCastTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct EventItemHelp { - std::string description; + std::string description; - EventItemHelp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + EventItemHelp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct EventItemTimeline +{ + uint32_t actionTimeline; + + EventItemTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ExportedSG +{ + std::string sgbPath; + + ExportedSG( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ExVersion { - std::string name; + std::string name; - ExVersion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ExVersion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Fate { - uint8_t eurekaFate; - uint32_t location; - uint8_t classJobLevel; - uint8_t classJobLevelMax; - uint32_t eventItem; - uint32_t iconObjective; - uint32_t iconMap; - int32_t music; - std::string name; - std::string description; - std::string objective; - std::vector< std::string > statusText; - uint32_t arrayIndex; + uint8_t eurekaFate; + uint32_t location; + uint8_t classJobLevel; + uint8_t classJobLevelMax; + uint32_t eventItem; + uint32_t iconObjective; + uint32_t iconMap; + int32_t music; + std::string name; + std::string description; + std::string objective; + std::vector< std::string > statusText; + uint32_t arrayIndex; - Fate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Fate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FCActivity { - std::string text; - uint8_t fCActivityCategory; + std::string text; + uint8_t fCActivityCategory; - FCActivity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FCActivity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FCActivityCategory { - std::string name; + std::string name; - FCActivityCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FCActivityCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FCAuthority { - std::string name; - int32_t fCAuthorityCategory; + std::string name; + int32_t fCAuthorityCategory; - FCAuthority( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FCAuthority( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FCAuthorityCategory { - std::string name; + std::string name; - FCAuthorityCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FCAuthorityCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FCChestName { - std::string name; + std::string name; - FCChestName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FCChestName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FccShop { - std::string name; + std::string name; - FccShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FccShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FCHierarchy { - std::string name; + std::string name; - FCHierarchy( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FCHierarchy( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FCProfile { - std::string name; + std::string name; - FCProfile( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FCProfile( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FCReputation { - uint32_t pointsToNext; - uint32_t requiredPoints; - std::string name; + uint32_t pointsToNext; + uint32_t requiredPoints; + std::string name; - FCReputation( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FCReputation( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FCRights { - std::string name; - std::string description; - uint16_t icon; - uint8_t fCRank; + std::string name; + std::string description; + uint16_t icon; + uint8_t fCRank; - FCRights( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FCRights( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FieldMarker { - int32_t vFX; - uint16_t icon; + int32_t vFX; + uint16_t icon; - FieldMarker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FieldMarker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct FishingRecordTypeTransient +{ + int32_t image; + + FishingRecordTypeTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FishingSpot { - uint8_t gatheringLevel; - std::string bigFishOnReach; - std::string bigFishOnEnd; - uint8_t fishingSpotCategory; - uint16_t territoryType; - int16_t x; - int16_t z; - uint16_t radius; - std::vector< int32_t > item; - uint16_t placeName; + uint8_t gatheringLevel; + std::string bigFishOnReach; + std::string bigFishOnEnd; + uint8_t fishingSpotCategory; + uint16_t territoryType; + int16_t x; + int16_t z; + uint16_t radius; + std::vector< int32_t > item; + uint16_t placeName; - FishingSpot( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FishingSpot( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct FishParameter { - std::string text; - int32_t item; - uint16_t gatheringItemLevel; - int32_t territoryType; - bool isFish; - uint16_t gatheringSubCategory; + std::string text; + int32_t item; + uint16_t gatheringItemLevel; + int32_t territoryType; + bool isFish; + uint16_t gatheringSubCategory; - FishParameter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + FishParameter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct Frontline03 +{ + std::vector< uint32_t > emptyIcon; + std::vector< uint32_t > maelstromIcon; + std::vector< uint32_t > twinAdderIcon; + std::vector< uint32_t > immortalFlamesIcon; + + Frontline03( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct Frontline04 +{ + int32_t level1; + int32_t level2; + int32_t level3; + std::vector< int32_t > unknownLevel; + + Frontline04( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GardeningSeed { - uint32_t item; - uint32_t icon; + uint32_t item; + uint32_t icon; - GardeningSeed( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GardeningSeed( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringCondition { - std::string text; + std::string text; - GatheringCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringExp { - uint16_t exp; + uint16_t exp; - GatheringExp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringExp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringItem { - int32_t item; - uint16_t gatheringItemLevel; - bool isHidden; + int32_t item; + uint16_t gatheringItemLevel; + bool isHidden; - GatheringItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringItemLevelConvertTable { - uint8_t gatheringItemLevel; - uint8_t stars; + uint8_t gatheringItemLevel; + uint8_t stars; - GatheringItemLevelConvertTable( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringItemLevelConvertTable( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringItemPoint { - uint32_t gatheringPoint; + uint32_t gatheringPoint; - GatheringItemPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringItemPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct GatheringLeve +{ + int32_t requiredItem1; + uint8_t leveLevel; + int32_t requiredItem2; + + GatheringLeve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct GatheringLeveRoute +{ + + GatheringLeveRoute( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringNotebookList { - std::vector< int32_t > gatheringItem; + std::vector< int32_t > gatheringItem; - GatheringNotebookList( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringNotebookList( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringPoint { - int32_t gatheringPointBase; - std::vector< uint16_t > gatheringPointBonus; - uint16_t territoryType; - uint16_t placeName; - uint16_t gatheringSubCategory; + int32_t gatheringPointBase; + std::vector< uint16_t > gatheringPointBonus; + uint16_t territoryType; + uint16_t placeName; + uint16_t gatheringSubCategory; - GatheringPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringPoint( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringPointBase { - int32_t gatheringType; - uint8_t gatheringLevel; - std::vector< int32_t > item; - bool isLimited; + int32_t gatheringType; + uint8_t gatheringLevel; + std::vector< int32_t > item; + bool isLimited; - GatheringPointBase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringPointBase( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringPointBonus { - uint8_t condition; - uint16_t conditionValue; - uint8_t bonusType; - uint16_t bonusValue; + uint8_t condition; + uint16_t conditionValue; + uint8_t bonusType; + uint16_t bonusValue; - GatheringPointBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringPointBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringPointBonusType { - std::string text; + std::string text; - GatheringPointBonusType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringPointBonusType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringPointName { - std::string singular; - std::string plural; + std::string singular; + std::string plural; + int8_t startsWithVowel; - GatheringPointName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringPointName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringSubCategory { - int32_t item; - std::string folkloreBook; + int32_t item; + std::string folkloreBook; - GatheringSubCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringSubCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GatheringType { - std::string name; - int32_t iconMain; - int32_t iconOff; + std::string name; + int32_t iconMain; + int32_t iconOff; - GatheringType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GatheringType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct GcArmyCaptureTactics +{ + int32_t name; + uint8_t hP; + uint8_t damageDealt; + uint8_t damageReceived; + uint32_t tactic; + uint32_t icon; + + GcArmyCaptureTactics( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GcArmyExpedition { - uint8_t requiredFlag; - uint8_t unlockFlag; - uint8_t requiredLevel; - uint16_t requiredSeals; - uint32_t rewardExperience; - uint8_t percentBase; - uint8_t gcArmyExpeditionType; - std::string name; - std::string description; + uint8_t requiredFlag; + uint8_t unlockFlag; + uint8_t requiredLevel; + uint16_t requiredSeals; + uint32_t rewardExperience; + uint8_t percentBase; + uint8_t gcArmyExpeditionType; + std::string name; + std::string description; - GcArmyExpedition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GcArmyExpedition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GcArmyExpeditionMemberBonus { - uint8_t race; - uint8_t classJob; + uint8_t race; + uint8_t classJob; - GcArmyExpeditionMemberBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GcArmyExpeditionMemberBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GcArmyExpeditionType { - std::string name; + std::string name; - GcArmyExpeditionType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GcArmyExpeditionType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GcArmyMemberGrow { - uint8_t classJob; - int32_t classBook; + uint8_t classJob; + int32_t classBook; - GcArmyMemberGrow( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GcArmyMemberGrow( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GcArmyTraining { - int8_t physicalBonus; - int8_t mentalBonus; - int8_t tacticalBonus; - uint32_t experience; - std::string name; - std::string description; + int8_t physicalBonus; + int8_t mentalBonus; + int8_t tacticalBonus; + uint32_t experience; + std::string name; + std::string description; - GcArmyTraining( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GcArmyTraining( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCRankGridaniaFemaleText { - std::string name; - std::string plural; - std::string nameRank; + std::string name; + std::string plural; + std::string nameRank; - GCRankGridaniaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCRankGridaniaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCRankGridaniaMaleText { - std::string name; - std::string plural; - std::string nameRank; + std::string name; + std::string plural; + std::string nameRank; - GCRankGridaniaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCRankGridaniaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCRankLimsaFemaleText { - std::string name; - std::string plural; - std::string nameRank; + std::string name; + std::string plural; + std::string nameRank; - GCRankLimsaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCRankLimsaFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCRankLimsaMaleText { - std::string name; - std::string plural; - std::string nameRank; + std::string name; + std::string plural; + std::string nameRank; - GCRankLimsaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCRankLimsaMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCRankUldahFemaleText { - std::string name; - std::string plural; - std::string nameRank; + std::string name; + std::string plural; + std::string nameRank; - GCRankUldahFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCRankUldahFemaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCRankUldahMaleText { - std::string name; - std::string plural; - std::string nameRank; + std::string name; + std::string plural; + std::string nameRank; - GCRankUldahMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCRankUldahMaleText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCScripShopCategory { - int8_t grandCompany; - int8_t tier; - int8_t subCategory; + int8_t grandCompany; + int8_t tier; + int8_t subCategory; - GCScripShopCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCScripShopCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCScripShopItem { - int32_t item; - int32_t requiredGrandCompanyRank; - uint32_t costGCSeals; - uint8_t sortKey; + int32_t item; + int32_t requiredGrandCompanyRank; + uint32_t costGCSeals; + uint8_t sortKey; - GCScripShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCScripShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCShop { - int8_t grandCompany; + int8_t grandCompany; - GCShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCShopItemCategory { - std::string name; + std::string name; - GCShopItemCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCShopItemCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCSupplyDuty { - GCSupplyDuty( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCSupplyDuty( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GCSupplyDutyReward { - uint32_t experienceSupply; - uint32_t experienceProvisioning; - uint32_t sealsExpertDelivery; - uint32_t sealsSupply; - uint32_t sealsProvisioning; + uint32_t experienceSupply; + uint32_t experienceProvisioning; + uint32_t sealsExpertDelivery; + uint32_t sealsSupply; + uint32_t sealsProvisioning; - GCSupplyDutyReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GCSupplyDutyReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GeneralAction { - std::string name; - std::string description; - uint16_t action; - int32_t icon; + std::string name; + std::string description; + uint16_t action; + uint16_t unlockLink; + int32_t icon; - GeneralAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GeneralAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct GFATE +{ + std::vector< uint32_t > icon; + + GFATE( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GilShop { - std::string name; + std::string name; + uint32_t icon; + std::vector< uint32_t > questRequired; + int32_t acceptTalk; + int32_t failTalk; - GilShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GilShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GilShopItem { - int32_t item; - std::vector< int32_t > rowRequired; - uint16_t stateRequired; - uint16_t patch; + int32_t item; + std::vector< int32_t > rowRequired; + uint16_t stateRequired; + uint16_t patch; - GilShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GilShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct GoldSaucerArcadeMachine +{ + uint32_t failImage; + uint32_t poor; + uint32_t good; + uint32_t great; + uint32_t excellent; + + GoldSaucerArcadeMachine( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GoldSaucerTextData { - std::string text; + std::string text; - GoldSaucerTextData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GoldSaucerTextData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GrandCompany { - std::string name; + std::string name; - GrandCompany( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GrandCompany( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GrandCompanyRank { - uint8_t tier; - uint8_t order; - uint32_t maxSeals; - uint32_t requiredSeals; - int32_t iconMaelstrom; - int32_t iconSerpents; - int32_t iconFlames; - int32_t questMaelstrom; - int32_t questSerpents; - int32_t questFlames; + uint8_t tier; + uint8_t order; + uint32_t maxSeals; + uint32_t requiredSeals; + int32_t iconMaelstrom; + int32_t iconSerpents; + int32_t iconFlames; + int32_t questMaelstrom; + int32_t questSerpents; + int32_t questFlames; - GrandCompanyRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GrandCompanyRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GuardianDeity { - std::string name; - std::string description; - uint16_t icon; + std::string name; + std::string description; + uint16_t icon; - GuardianDeity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GuardianDeity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GuildleveAssignment { - std::vector< uint32_t > quest; + uint32_t assignmentTalk; + std::vector< uint32_t > quest; - GuildleveAssignment( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GuildleveAssignment( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct GuildleveAssignmentCategory +{ + std::vector< int32_t > category; + + GuildleveAssignmentCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GuildOrderGuide { - GuildOrderGuide( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GuildOrderGuide( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct GuildOrderOfficer { - GuildOrderOfficer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + GuildOrderOfficer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HairMakeType +{ + int32_t race; + int32_t tribe; + int8_t gender; + + HairMakeType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct HouseRetainerPose { - uint16_t actionTimeline; + uint16_t actionTimeline; - HouseRetainerPose( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + HouseRetainerPose( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HousingAethernet +{ + uint32_t level; + uint16_t territoryType; + uint16_t placeName; + uint8_t order; + + HousingAethernet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HousingEmploymentNpcList +{ + uint8_t race; + std::vector< uint32_t > eNpcBase; + + HousingEmploymentNpcList( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HousingEmploymentNpcRace +{ + std::string race; + + HousingEmploymentNpcRace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct HousingFurniture { - uint16_t modelKey; - uint8_t housingItemCategory; - uint8_t usageType; - uint32_t usageParameter; - uint8_t housingLayoutLimit; - uint32_t event; - uint32_t item; - bool destroyOnRemoval; + uint16_t modelKey; + uint8_t housingItemCategory; + uint8_t usageType; + uint32_t usageParameter; + uint8_t housingLayoutLimit; + uint8_t customTalk; + uint32_t event; + uint32_t item; + bool destroyOnRemoval; + bool tooltip; - HousingFurniture( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + HousingFurniture( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HousingPlacement +{ + std::string text; + + HousingPlacement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HousingPreset +{ + std::string singular; + std::string plural; + int32_t exteriorRoof; + int32_t exteriorWall; + int32_t exteriorWindow; + int32_t exteriorDoor; + int32_t interiorWall; + int32_t interiorFlooring; + int32_t interiorLighting; + int32_t otherFloorWall; + int32_t otherFloorFlooring; + int32_t otherFloorLighting; + int32_t basementWall; + int32_t basementFlooring; + int32_t basementLighting; + int32_t mansionLighting; + + HousingPreset( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct HousingYardObject { - uint8_t modelKey; - uint8_t housingItemCategory; - uint8_t usageType; - uint32_t usageParameter; - uint8_t housingLayoutLimit; - uint32_t event; - uint32_t item; - bool destroyOnRemoval; + uint8_t modelKey; + uint8_t housingItemCategory; + uint8_t usageType; + uint32_t usageParameter; + uint8_t housingLayoutLimit; + uint32_t customTalk; + uint32_t item; + bool destroyOnRemoval; - HousingYardObject( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + HousingYardObject( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HowTo +{ + std::vector< int16_t > images; + int8_t category; + + HowTo( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HowToCategory +{ + std::string category; + + HowToCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct HowToPage +{ + int32_t image; + + HowToPage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct InstanceContent { - uint8_t instanceContentType; - uint8_t weekRestriction; - uint16_t timeLimitmin; - std::string name; - uint16_t bGM; - uint32_t territoryType; - uint32_t instanceContentTextDataBossStart; - uint32_t instanceContentTextDataBossEnd; - uint32_t bNpcBaseBoss; - uint32_t instanceContentTextDataObjectiveStart; - uint32_t instanceContentTextDataObjectiveEnd; - uint16_t sortKey; - uint16_t newPlayerBonusA; - uint16_t newPlayerBonusB; - uint16_t finalBossCurrencyA; - uint16_t finalBossCurrencyB; - uint16_t finalBossCurrencyC; - int32_t instanceContentBuff; - uint8_t partyCondition; + uint8_t instanceContentType; + uint8_t weekRestriction; + uint16_t timeLimitmin; + std::string name; + uint16_t bGM; + uint16_t winBGM; + uint32_t cutscene; + uint16_t order; + uint32_t instanceContentTextDataBossStart; + uint32_t instanceContentTextDataBossEnd; + uint32_t bNpcBaseBoss; + uint32_t instanceContentTextDataObjectiveStart; + uint32_t instanceContentTextDataObjectiveEnd; + uint16_t sortKey; + uint16_t newPlayerBonusA; + uint16_t newPlayerBonusB; + uint32_t finalBossExp; + uint16_t finalBossCurrencyA; + uint16_t finalBossCurrencyB; + uint16_t finalBossCurrencyC; + uint32_t instanceClearExp; + int32_t instanceContentBuff; + uint32_t territoryType; + uint8_t partyCondition; - InstanceContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + InstanceContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct InstanceContentBuff { - uint16_t echoStart; - uint16_t echoDeath; + uint16_t echoStart; + uint16_t echoDeath; - InstanceContentBuff( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + InstanceContentBuff( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct InstanceContentTextData { - std::string text; + std::string text; - InstanceContentTextData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + InstanceContentTextData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Item { - std::string singular; - std::string plural; - int8_t startsWithVowel; - std::string description; - std::string name; - uint16_t icon; - uint16_t levelItem; - uint8_t rarity; - uint8_t filterGroup; - uint32_t stain; - uint8_t itemUICategory; - uint8_t itemSearchCategory; - uint8_t equipSlotCategory; - uint32_t stackSize; - bool isUnique; - bool isUntradable; - bool isIndisposable; - bool isEquippable; - uint32_t priceMid; - uint32_t priceLow; - bool canBeHq; - bool isDyeable; - bool isCrestWorthy; - uint16_t itemAction; - uint16_t cooldowns; - uint8_t classJobRepair; - int32_t itemRepair; - int32_t itemGlamour; - uint16_t salvage; - bool isCollectable; - uint16_t aetherialReduce; - uint8_t levelEquip; - uint8_t equipRestriction; - uint8_t classJobCategory; - uint8_t grandCompany; - uint8_t itemSeries; - uint8_t baseParamModifier; - uint64_t modelMain; - uint64_t modelSub; - uint8_t classJobUse; - uint16_t damagePhys; - uint16_t damageMag; - uint16_t delayms; - uint16_t blockRate; - uint16_t block; - uint16_t defensePhys; - uint16_t defenseMag; - uint8_t itemSpecialBonus; - uint8_t itemSpecialBonusParam; - uint8_t materializeType; - uint8_t materiaSlotCount; - bool isAdvancedMeldingPermitted; - bool isPvP; + std::string singular; + std::string plural; + int8_t startsWithVowel; + std::string description; + std::string name; + uint16_t icon; + uint16_t levelItem; + uint8_t rarity; + uint8_t filterGroup; + uint32_t additionalData; + uint8_t itemUICategory; + uint8_t itemSearchCategory; + uint8_t equipSlotCategory; + uint32_t stackSize; + bool isUnique; + bool isUntradable; + bool isIndisposable; + bool isEquippable; + uint32_t priceMid; + uint32_t priceLow; + bool canBeHq; + bool isDyeable; + bool isCrestWorthy; + uint16_t itemAction; + uint16_t cooldowns; + uint8_t classJobRepair; + int32_t itemRepair; + int32_t itemGlamour; + uint16_t salvage; + bool isCollectable; + uint16_t aetherialReduce; + uint8_t levelEquip; + uint8_t equipRestriction; + uint8_t classJobCategory; + uint8_t grandCompany; + uint8_t itemSeries; + uint8_t baseParamModifier; + uint64_t modelMain; + uint64_t modelSub; + uint8_t classJobUse; + uint16_t damagePhys; + uint16_t damageMag; + uint16_t delayms; + uint16_t blockRate; + uint16_t block; + uint16_t defensePhys; + uint16_t defenseMag; + uint8_t itemSpecialBonus; + uint8_t itemSpecialBonusParam; + uint8_t materializeType; + uint8_t materiaSlotCount; + bool isAdvancedMeldingPermitted; + bool isPvP; + bool isGlamourous; - Item( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Item( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ItemAction { - uint16_t type; - std::vector< uint16_t > data; - std::vector< uint16_t > dataHQ; + uint16_t type; + std::vector< uint16_t > data; + std::vector< uint16_t > dataHQ; - ItemAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ItemAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ItemFood { - ItemFood( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ItemFood( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ItemSearchCategory { - std::string name; - int32_t icon; - uint8_t category; - uint8_t order; - int8_t classJob; + std::string name; + int32_t icon; + uint8_t category; + uint8_t order; + int8_t classJob; - ItemSearchCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ItemSearchCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ItemSeries { - std::string name; + std::string name; - ItemSeries( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ItemSeries( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ItemSpecialBonus { - std::string name; + std::string name; - ItemSpecialBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ItemSpecialBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ItemUICategory { - std::string name; - int32_t icon; - uint8_t orderMinor; - uint8_t orderMajor; + std::string name; + int32_t icon; + uint8_t orderMinor; + uint8_t orderMajor; - ItemUICategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ItemUICategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct JournalCategory { - std::string name; - uint8_t journalSection; + std::string name; + uint8_t journalSection; - JournalCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + JournalCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct JournalGenre { - int32_t icon; - uint8_t journalCategory; - std::string name; + int32_t icon; + uint8_t journalCategory; + std::string name; - JournalGenre( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + JournalGenre( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct JournalSection { - std::string name; + std::string name; - JournalSection( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + JournalSection( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Leve { - std::string name; - std::string description; - int32_t leveClient; - int32_t leveAssignmentType; - uint16_t classJobLevel; - uint8_t allowanceCost; - int32_t placeNameStart; - int32_t placeNameIssued; - uint8_t classJobCategory; - int32_t journalGenre; - int32_t placeNameStartZone; - int32_t iconCityState; - int32_t dataId; - uint32_t expReward; - uint32_t gilReward; - uint16_t leveRewardItem; - uint8_t leveVfx; - uint8_t leveVfxFrame; - uint32_t levelLevemete; - int32_t iconIssuer; - uint32_t levelStart; - uint16_t bGM; + std::string name; + std::string description; + int32_t leveClient; + int32_t leveAssignmentType; + uint16_t classJobLevel; + uint8_t allowanceCost; + int32_t placeNameStart; + int32_t placeNameIssued; + uint8_t classJobCategory; + int32_t journalGenre; + int32_t placeNameStartZone; + int32_t iconCityState; + int32_t dataId; + uint32_t expReward; + uint32_t gilReward; + uint16_t leveRewardItem; + uint8_t leveVfx; + uint8_t leveVfxFrame; + uint32_t levelLevemete; + int32_t iconIssuer; + uint32_t levelStart; + uint16_t bGM; - Leve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Leve( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct LeveAssignmentType { - bool isFaction; - int32_t icon; - std::string name; + bool isFaction; + int32_t icon; + std::string name; - LeveAssignmentType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + LeveAssignmentType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct LeveClient { - std::string name; + std::string name; - LeveClient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + LeveClient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Level { - float x; - float y; - float z; - float yaw; - float radius; - uint8_t type; - uint32_t objectKey; - uint16_t map; - uint32_t eventId; - uint16_t territory; + float x; + float y; + float z; + float yaw; + float radius; + uint8_t type; + uint32_t object; + uint16_t map; + uint32_t eventId; + uint16_t territory; - Level( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Level( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct LeveRewardItem { - LeveRewardItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + LeveRewardItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct LeveRewardItemGroup { - LeveRewardItemGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + LeveRewardItemGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct LeveVfx { - std::string effect; - int32_t icon; + std::string effect; + int32_t icon; - LeveVfx( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + LeveVfx( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct LogFilter { - uint16_t logKind; - std::string name; - std::string example; + uint8_t logKind; + std::string name; + std::string example; - LogFilter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + LogFilter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct LogKind { - std::string format; - std::string name; - std::string example; - uint8_t logKindCategoryText; + std::string format; + std::string name; + std::string example; + uint8_t logKindCategoryText; - LogKind( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + LogKind( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct LogKindCategoryText { - std::string text; + std::string text; - LogKindCategoryText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + LogKindCategoryText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct LogMessage { - uint16_t logKind; - std::string text; + uint16_t logKind; + std::string text; - LogMessage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + LogMessage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct LotteryExchangeShop +{ + std::vector< int32_t > itemAccepted; + std::vector< uint32_t > amountAccepted; + + LotteryExchangeShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MacroIcon { - int32_t icon; + int32_t icon; - MacroIcon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MacroIcon( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MacroIconRedirectOld { - uint32_t iconOld; - int32_t iconNew; + uint32_t iconOld; + int32_t iconNew; - MacroIconRedirectOld( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MacroIconRedirectOld( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MainCommand { - int32_t icon; - uint8_t mainCommandCategory; - std::string name; - std::string description; + int32_t icon; + uint8_t mainCommandCategory; + std::string name; + std::string description; - MainCommand( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MainCommand( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MainCommandCategory { - std::string name; + std::string name; - MainCommandCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MainCommandCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ManeuversArmor +{ + std::vector< uint32_t > bNpcBase; + std::vector< uint32_t > icon; + + ManeuversArmor( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Map { - uint8_t hierarchy; - uint16_t mapMarkerRange; - std::string id; - uint16_t sizeFactor; - int16_t offsetX; - int16_t offsetY; - uint16_t placeNameRegion; - uint16_t placeName; - uint16_t placeNameSub; - int16_t discoveryIndex; - uint16_t territoryType; - bool discoveryArrayByte; + uint8_t hierarchy; + uint16_t mapMarkerRange; + std::string id; + uint16_t sizeFactor; + int16_t offsetX; + int16_t offsetY; + uint16_t placeNameRegion; + uint16_t placeName; + uint16_t placeNameSub; + int16_t discoveryIndex; + uint16_t territoryType; + bool discoveryArrayByte; - Map( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Map( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MapMarker { - int16_t x; - int16_t y; - uint16_t icon; - uint16_t placeNameSubtext; - uint8_t subtextOrientation; - uint8_t mapMarkerRegion; - uint8_t type; - uint8_t dataType; - uint16_t dataKey; + int16_t x; + int16_t y; + uint16_t icon; + uint16_t placeNameSubtext; + uint8_t subtextOrientation; + uint8_t mapMarkerRegion; + uint8_t type; + uint8_t dataType; + uint16_t dataKey; - MapMarker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MapMarker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MapMarkerRegion { - int16_t x; + int16_t x; - MapMarkerRegion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MapMarkerRegion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MapSymbol { - int32_t icon; - int32_t placeName; + int32_t icon; + int32_t placeName; - MapSymbol( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MapSymbol( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Marker { - int32_t icon; - std::string name; + int32_t icon; + std::string name; - Marker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Marker( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MasterpieceSupplyDuty { - uint8_t classJob; - uint8_t classJobLevel; - uint16_t rewardCurrency; + uint8_t classJob; + uint8_t classJobLevel; + uint16_t rewardCurrency; - MasterpieceSupplyDuty( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MasterpieceSupplyDuty( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MasterpieceSupplyMultiplier { - std::vector< uint16_t > xpMultiplier; - std::vector< uint16_t > currencyMultiplier; + std::vector< uint16_t > xpMultiplier; + std::vector< uint16_t > currencyMultiplier; - MasterpieceSupplyMultiplier( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MasterpieceSupplyMultiplier( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Materia { - std::vector< int32_t > item; - uint8_t baseParam; - std::vector< uint8_t > value; + std::vector< int32_t > item; + uint8_t baseParam; + std::vector< uint8_t > value; - Materia( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Materia( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MinionRace { - std::string name; + std::string name; - MinionRace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MinionRace( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MinionRules { - std::string rule; - std::string description; + std::string rule; + std::string description; - MinionRules( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MinionRules( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MinionSkillType { - std::string name; + std::string name; - MinionSkillType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MinionSkillType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct MobHuntOrderType +{ + uint32_t quest; + uint32_t eventItem; + + MobHuntOrderType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MobHuntTarget { - uint16_t name; - uint16_t fATE; - uint32_t icon; - uint16_t territoryType; - uint16_t placeName; + uint16_t name; + uint16_t fATE; + uint32_t icon; + uint16_t territoryType; + uint16_t placeName; - MobHuntTarget( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MobHuntTarget( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ModelChara { - uint8_t type; - uint16_t model; - uint8_t base; - uint8_t variant; + uint8_t type; + uint16_t model; + uint8_t base; + uint8_t variant; - ModelChara( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ModelChara( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct ModelState +{ + uint16_t start; + uint16_t end; + + ModelState( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MonsterNote { - std::vector< uint16_t > monsterNoteTarget; - std::vector< uint8_t > count; - uint32_t reward; - std::string name; + std::vector< uint16_t > monsterNoteTarget; + std::vector< uint8_t > count; + uint32_t reward; + std::string name; - MonsterNote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MonsterNote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MonsterNoteTarget { - uint16_t bNpcName; - int32_t icon; + uint16_t bNpcName; + int32_t icon; - MonsterNoteTarget( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MonsterNoteTarget( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Mount { - std::string singular; - std::string plural; - uint8_t flyingCondition; - uint8_t isFlying; - uint16_t rideBGM; - int16_t order; - uint16_t icon; + std::string singular; + std::string plural; + int8_t startsWithVowel; + int32_t modelChara; + uint8_t flyingCondition; + uint8_t isFlying; + uint8_t mountCustomize; + uint16_t rideBGM; + int16_t order; + uint16_t icon; + uint16_t mountAction; + bool isAirborne; - Mount( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Mount( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MountAction { - std::vector< uint16_t > action; + std::vector< uint16_t > action; - MountAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MountAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct MountCustomize +{ + float hyurMaleScale; + float hyurFemaleScale; + float elezenMaleScale; + float elezenFemaleScale; + float lalaMaleScale; + float lalaFemaleScale; + float miqoMaleScale; + float miqoFemaleScale; + float roeMaleScale; + float roeFemaleScale; + float auRaMaleScale; + float auRaFemaleScale; + + MountCustomize( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct MountFlyingCondition +{ + uint32_t quest; + + MountFlyingCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct MountSpeed +{ + uint32_t quest; + + MountSpeed( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct MountTransient +{ + std::string description; + std::string descriptionEnhanced; + std::string tooltip; + + MountTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MoveTimeline { - uint16_t idle; - uint16_t moveForward; - uint16_t moveBack; - uint16_t moveLeft; - uint16_t moveRight; - uint16_t moveUp; - uint16_t moveDown; - uint16_t moveTurnLeft; - uint16_t moveTurnRight; - uint16_t extra; + uint16_t idle; + uint16_t moveForward; + uint16_t moveBack; + uint16_t moveLeft; + uint16_t moveRight; + uint16_t moveUp; + uint16_t moveDown; + uint16_t moveTurnLeft; + uint16_t moveTurnRight; + uint16_t extra; - MoveTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MoveTimeline( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct MoveVfx { - uint16_t zero; - uint16_t one; + uint16_t vFXNormal; + uint16_t vFXWalking; - MoveVfx( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + MoveVfx( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct NpcEquip { - uint64_t modelMainHand; - uint8_t dyeMainHand; - uint64_t modelOffHand; - uint8_t dyeOffHand; - uint32_t modelHead; - uint8_t dyeHead; - bool visor; - 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; + uint64_t modelMainHand; + uint8_t dyeMainHand; + uint64_t modelOffHand; + uint8_t dyeOffHand; + uint32_t modelHead; + uint8_t dyeHead; + bool visor; + 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; - NpcEquip( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + NpcEquip( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct NpcYell +{ + std::string text; + + NpcYell( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Omen { - std::string fileName; + std::string fileName; - Omen( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Omen( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct OnlineStatus { - uint8_t priority; - std::string name; - uint32_t icon; + uint8_t priority; + std::string name; + uint32_t icon; - OnlineStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + OnlineStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Opening { - std::string name; + std::string name; + uint32_t quest; - Opening( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Opening( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Orchestrion { - std::string name; - std::string description; + std::string name; + std::string description; - Orchestrion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Orchestrion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct OrchestrionCategory { - std::string name; + std::string name; - OrchestrionCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + OrchestrionCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct OrchestrionPath { - std::string file; + std::string file; - OrchestrionPath( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + OrchestrionPath( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct OrchestrionUiparam { - uint8_t orchestrionCategory; - uint16_t order; + uint8_t orchestrionCategory; + uint16_t order; - OrchestrionUiparam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + OrchestrionUiparam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ParamGrow { - int32_t expToNext; - uint8_t additionalActions; - int32_t mpModifier; - int32_t baseSpeed; - int32_t levelModifier; - uint8_t questExpModifier; - uint16_t hpModifier; - int32_t huntingLogExpReward; + int32_t expToNext; + uint8_t additionalActions; + int32_t mpModifier; + int32_t baseSpeed; + int32_t levelModifier; + uint8_t questExpModifier; + uint16_t hpModifier; + int32_t huntingLogExpReward; - ParamGrow( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ParamGrow( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct PartyContentCutscene +{ + uint32_t cutscene; + + PartyContentCutscene( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Perform { - std::string name; - uint64_t modelKey; - uint16_t animationStart; - uint16_t animationEnd; - uint16_t animationIdle; - uint16_t animationPlay01; - uint16_t animationPlay02; - int32_t stopAnimation; - std::string instrument; - uint8_t transient; + std::string name; + uint64_t modelKey; + uint16_t animationStart; + uint16_t animationEnd; + uint16_t animationIdle; + uint16_t animationPlay01; + uint16_t animationPlay02; + int32_t stopAnimation; + std::string instrument; + uint8_t transient; - Perform( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Perform( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct PerformTransient { - std::string text; + std::string text; - PerformTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + PerformTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Pet { - std::string name; + std::string name; - Pet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Pet( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct PetAction { - std::string name; - std::string description; - uint16_t action; - uint8_t pet; + std::string name; + std::string description; + int32_t icon; + uint16_t action; + uint8_t pet; - PetAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + PetAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Picture { - int32_t item; - int32_t image; - int32_t signature; + int32_t item; + int32_t image; + int32_t signature; - Picture( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Picture( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct PlaceName { - std::string name; - std::string nameNoArticle; + std::string name; + std::string nameNoArticle; - PlaceName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + PlaceName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct PlantPotFlowerSeed +{ + std::vector< uint32_t > seedIcon; + + PlantPotFlowerSeed( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct PreHandler +{ + uint32_t gilShop; + uint16_t actionTimeline; + + PreHandler( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct PublicContent { - uint16_t timeLimit; - uint32_t mapIcon; - std::string name; - uint16_t territoryType; + uint16_t timeLimit; + uint32_t mapIcon; + std::string name; + uint32_t textDataStart; + uint32_t textDataEnd; + uint16_t contentFinderCondition; + uint16_t eureka; - PublicContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + PublicContent( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct PublicContentCutscene +{ + uint32_t cutscene; + uint32_t cutscene2; + + PublicContentCutscene( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct PublicContentTextData +{ + std::string textData; + + PublicContentTextData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct PvPAction +{ + uint16_t action; + + PvPAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct PvPActionSort { - uint8_t name; - uint16_t action; + uint8_t name; + uint16_t action; - PvPActionSort( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + PvPActionSort( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct PvPRank +{ + uint32_t expRequired; + + PvPRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct PvPSelectTrait +{ + std::string effect; + uint32_t icon; + int16_t value; + + PvPSelectTrait( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct PvPTrait +{ + uint16_t trait1; + uint16_t trait2; + uint16_t trait3; + + PvPTrait( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Quest { - std::string name; - std::string id; - uint8_t expansion; - uint8_t classJobCategory0; - uint16_t classJobLevel0; - uint8_t questLevelOffset; - uint8_t classJobCategory1; - uint16_t classJobLevel1; - uint8_t previousQuestJoin; - uint32_t previousQuest0; - uint32_t previousQuest1; - uint32_t previousQuest2; - uint8_t questLockJoin; - std::vector< uint32_t > questLock; - uint8_t classJobUnlock; - uint8_t grandCompany; - uint8_t grandCompanyRank; - uint8_t instanceContentJoin; - std::vector< uint32_t > instanceContent; - uint16_t bellStart; - uint16_t bellEnd; - uint8_t beastTribe; - uint8_t beastReputationRank; - int32_t mountRequired; - bool isHouseRequired; - uint32_t eNpcResidentStart; - uint32_t eNpcResidentEnd; - bool isRepeatable; - uint8_t repeatIntervalType; - std::vector< std::string > scriptInstruction; - std::vector< uint32_t > scriptArg; - std::vector< uint32_t > level; - uint8_t classJobRequired; - uint16_t expFactor; - uint32_t gilReward; - uint16_t gCSeals; - std::vector< uint8_t > itemCatalyst; - std::vector< uint8_t > itemCountCatalyst; - uint8_t itemRewardType; - std::vector< uint32_t > itemReward0; - std::vector< uint8_t > itemCountReward0; - std::vector< uint8_t > stainReward0; - std::vector< uint32_t > itemReward1; - std::vector< uint8_t > itemCountReward1; - std::vector< bool > isHQReward1; - std::vector< uint8_t > stainReward1; - uint8_t emoteReward; - uint16_t actionReward; - std::vector< uint8_t > generalActionReward; - uint8_t otherReward; - uint32_t instanceContentUnlock; - uint8_t tomestoneReward; - uint8_t tomestoneCountReward; - uint8_t reputationReward; - uint16_t placeName; - uint8_t journalGenre; - uint32_t icon; - uint32_t iconSpecial; - uint8_t eventIconType; - uint16_t sortKey; + std::string name; + std::string id; + uint8_t expansion; + uint8_t classJobCategory0; + uint16_t classJobLevel0; + uint8_t questLevelOffset; + uint8_t classJobCategory1; + uint16_t classJobLevel1; + uint8_t previousQuestJoin; + uint32_t previousQuest0; + uint32_t previousQuest1; + uint32_t previousQuest2; + uint8_t questLockJoin; + std::vector< uint32_t > questLock; + uint8_t classJobUnlock; + uint8_t grandCompany; + uint8_t grandCompanyRank; + uint8_t instanceContentJoin; + std::vector< uint32_t > instanceContent; + uint16_t bellStart; + uint16_t bellEnd; + uint8_t beastTribe; + uint8_t beastReputationRank; + int32_t mountRequired; + bool isHouseRequired; + uint32_t eNpcResidentStart; + uint32_t eNpcResidentEnd; + bool isRepeatable; + uint8_t repeatIntervalType; + std::vector< std::string > scriptInstruction; + std::vector< uint32_t > scriptArg; + std::vector< uint32_t > level; + uint8_t classJobRequired; + uint16_t expFactor; + uint32_t gilReward; + uint16_t gCSeals; + std::vector< uint8_t > itemCatalyst; + std::vector< uint8_t > itemCountCatalyst; + uint8_t itemRewardType; + std::vector< uint32_t > itemReward0; + std::vector< uint8_t > itemCountReward0; + std::vector< uint8_t > stainReward0; + std::vector< uint32_t > itemReward1; + std::vector< uint8_t > itemCountReward1; + std::vector< bool > isHQReward1; + std::vector< uint8_t > stainReward1; + uint8_t emoteReward; + uint16_t actionReward; + std::vector< uint8_t > generalActionReward; + uint8_t otherReward; + uint32_t instanceContentUnlock; + uint8_t tomestoneReward; + uint8_t tomestoneCountReward; + uint8_t reputationReward; + uint16_t placeName; + uint8_t journalGenre; + uint32_t icon; + uint32_t iconSpecial; + uint8_t eventIconType; + uint16_t sortKey; - Quest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Quest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct QuestClassJobReward { - uint8_t classJobCategory; - std::vector< uint32_t > rewardItem; - std::vector< uint8_t > rewardAmount; - std::vector< uint32_t > requiredItem; - std::vector< uint8_t > requiredAmount; + uint8_t classJobCategory; + std::vector< uint32_t > rewardItem; + std::vector< uint8_t > rewardAmount; + std::vector< uint32_t > requiredItem; + std::vector< uint8_t > requiredAmount; - QuestClassJobReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + QuestClassJobReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct QuestClassJobSupply +{ + uint8_t classJobCategory; + uint32_t eNpcResident; + uint32_t item; + + QuestClassJobSupply( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct QuestRepeatFlag { - uint32_t quest; + uint32_t quest; - QuestRepeatFlag( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + QuestRepeatFlag( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct QuestRewardOther { - std::string name; + uint32_t icon; + std::string name; - QuestRewardOther( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + QuestRewardOther( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct QuickChat { - std::string nameAction; - int32_t icon; - int32_t addon; - int8_t quickChatTransient; + std::string nameAction; + int32_t icon; + int32_t addon; + int8_t quickChatTransient; - QuickChat( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + QuickChat( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct QuickChatTransient { - std::string textOutput; + std::string textOutput; - QuickChatTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + QuickChatTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Race { - std::string masculine; - std::string feminine; - int32_t rSEMBody; - int32_t rSEMHands; - int32_t rSEMLegs; - int32_t rSEMFeet; - int32_t rSEFBody; - int32_t rSEFHands; - int32_t rSEFLegs; - int32_t rSEFFeet; + std::string masculine; + std::string feminine; + int32_t rSEMBody; + int32_t rSEMHands; + int32_t rSEMLegs; + int32_t rSEMFeet; + int32_t rSEFBody; + int32_t rSEFHands; + int32_t rSEFLegs; + int32_t rSEFFeet; - Race( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Race( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RacingChocoboItem { - int32_t item; - uint8_t category; - std::vector< uint8_t > param; + int32_t item; + uint8_t category; + std::vector< uint8_t > param; - RacingChocoboItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RacingChocoboItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RacingChocoboName { - std::string name; + std::string name; - RacingChocoboName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RacingChocoboName( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RacingChocoboNameCategory { - uint8_t sortKey; - std::string name; + uint8_t sortKey; + std::string name; - RacingChocoboNameCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RacingChocoboNameCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RacingChocoboNameInfo { - uint8_t racingChocoboNameCategory; + uint8_t racingChocoboNameCategory; - RacingChocoboNameInfo( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RacingChocoboNameInfo( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RacingChocoboParam { - std::string name; + std::string name; - RacingChocoboParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RacingChocoboParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Recipe { - int32_t craftType; - uint16_t recipeLevelTable; - int32_t itemResult; - uint8_t amountResult; - uint8_t recipeElement; - bool isSecondary; - uint16_t difficultyFactor; - uint16_t qualityFactor; - uint16_t durabilityFactor; - uint16_t requiredCraftsmanship; - uint16_t requiredControl; - uint16_t quickSynthCraftsmanship; - uint16_t quickSynthControl; - uint16_t secretRecipeBook; - bool canQuickSynth; - bool canHq; - bool expRewarded; - int32_t statusRequired; - int32_t itemRequired; - bool isSpecializationRequired; + int32_t craftType; + uint16_t recipeLevelTable; + int32_t itemResult; + uint8_t amountResult; + uint8_t recipeElement; + bool isSecondary; + uint16_t difficultyFactor; + uint16_t qualityFactor; + uint16_t durabilityFactor; + uint16_t requiredCraftsmanship; + uint16_t requiredControl; + uint16_t quickSynthCraftsmanship; + uint16_t quickSynthControl; + uint16_t secretRecipeBook; + bool canQuickSynth; + bool canHq; + bool expRewarded; + int32_t statusRequired; + int32_t itemRequired; + bool isSpecializationRequired; + uint16_t patchNumber; - Recipe( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Recipe( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RecipeElement { - std::string name; + std::string name; - RecipeElement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RecipeElement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RecipeLevelTable { - uint8_t classJobLevel; - uint8_t stars; - uint16_t difficulty; - int16_t quality; - uint16_t durability; + uint8_t classJobLevel; + uint8_t stars; + uint16_t suggestedCraftsmanship; + uint16_t difficulty; + int16_t quality; + uint16_t durability; - RecipeLevelTable( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RecipeLevelTable( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RecipeNotebookList { - std::vector< int32_t > recipe; + std::vector< int32_t > recipe; - RecipeNotebookList( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RecipeNotebookList( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RecommendContents { - int32_t level; + int32_t level; - RecommendContents( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RecommendContents( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Relic { - uint32_t itemAtma; - uint32_t itemAnimus; - int32_t icon; + uint32_t itemAtma; + uint32_t itemAnimus; + int32_t icon; - Relic( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Relic( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Relic3 { - uint32_t itemAnimus; - uint32_t itemScroll; - uint8_t materiaLimit; - uint32_t itemNovus; - int32_t icon; + uint32_t itemAnimus; + uint32_t itemScroll; + uint8_t materiaLimit; + uint32_t itemNovus; + int32_t icon; - Relic3( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Relic3( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RelicItem { - uint32_t gladiatorItem; - uint32_t pugilistItem; - uint32_t marauderItem; - uint32_t lancerItem; - uint32_t archerItem; - uint32_t conjurerItem; - uint32_t thaumaturgeItem; - uint32_t arcanistSMNItem; - uint32_t arcanistSCHItem; - uint32_t shieldItem; - uint32_t rogueItem; + uint32_t gladiatorItem; + uint32_t pugilistItem; + uint32_t marauderItem; + uint32_t lancerItem; + uint32_t archerItem; + uint32_t conjurerItem; + uint32_t thaumaturgeItem; + uint32_t arcanistSMNItem; + uint32_t arcanistSCHItem; + uint32_t shieldItem; + uint32_t rogueItem; - RelicItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RelicItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RelicNote { - uint32_t eventItem; - std::vector< uint16_t > monsterNoteTargetNM; - std::vector< uint16_t > leve; + uint32_t eventItem; + std::vector< uint16_t > monsterNoteTargetNM; + std::vector< uint16_t > leve; - RelicNote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RelicNote( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RelicNoteCategory { - std::string text; + std::string text; - RelicNoteCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RelicNoteCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct Resident +{ + uint64_t model; + int32_t npcYell; + uint8_t residentMotionType; + + Resident( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RetainerTask { - bool isRandom; - uint8_t classJobCategory; - uint8_t retainerLevel; - uint16_t retainerTaskParameter; - uint16_t ventureCost; - uint16_t maxTimemin; - int32_t experience; - uint16_t requiredItemLevel; - uint16_t requiredGathering; - uint16_t task; + bool isRandom; + uint8_t classJobCategory; + uint8_t retainerLevel; + uint16_t retainerTaskParameter; + uint16_t ventureCost; + uint16_t maxTimemin; + int32_t experience; + uint16_t requiredItemLevel; + uint16_t requiredGathering; + uint16_t task; - RetainerTask( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RetainerTask( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RetainerTaskLvRange { - uint8_t min; - uint8_t max; + uint8_t min; + uint8_t max; - RetainerTaskLvRange( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RetainerTaskLvRange( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RetainerTaskNormal { - int32_t item; - uint8_t quantity0; - uint8_t quantity1; - uint8_t quantity2; - int16_t gatheringLog; - int16_t fishingLog; + int32_t item; + uint8_t quantity0; + uint8_t quantity1; + uint8_t quantity2; + int16_t gatheringLog; + int16_t fishingLog; - RetainerTaskNormal( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RetainerTaskNormal( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RetainerTaskParameter { - std::vector< int16_t > itemLevelDoW; - std::vector< int16_t > gatheringDoL; - std::vector< int16_t > gatheringFSH; + std::vector< int16_t > itemLevelDoW; + std::vector< int16_t > gatheringDoL; + std::vector< int16_t > gatheringFSH; - RetainerTaskParameter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RetainerTaskParameter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct RetainerTaskRandom { - std::string name; - int16_t requirement; + std::string name; + int16_t requirement; - RetainerTaskRandom( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + RetainerTaskRandom( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct RPParameter +{ + uint16_t bNpcName; + uint8_t classJob; + + RPParameter( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Salvage { - uint16_t optimalSkill; + uint16_t optimalSkill; - Salvage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Salvage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SatisfactionNpc { - int32_t npc; - int32_t questRequired; - uint8_t deliveriesPerWeek; - std::vector< int32_t > supplyIndex; - std::vector< uint16_t > satisfactionRequired; - int32_t icon; + int32_t npc; + int32_t questRequired; + uint8_t deliveriesPerWeek; + std::vector< int32_t > supplyIndex; + std::vector< uint16_t > satisfactionRequired; + int32_t icon; - SatisfactionNpc( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SatisfactionNpc( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SatisfactionSupply { - uint8_t slot; - uint8_t probability; - int32_t item; - uint16_t collectabilityLow; - uint16_t collectabilityMid; - uint16_t collectabilityHigh; - uint16_t reward; + uint8_t slot; + uint8_t probability; + int32_t item; + uint16_t collectabilityLow; + uint16_t collectabilityMid; + uint16_t collectabilityHigh; + uint16_t reward; - SatisfactionSupply( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SatisfactionSupply( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SatisfactionSupplyReward { - uint16_t satisfactionLow; - uint16_t satisfactionMid; - uint16_t satisfactionHigh; - uint16_t gilLow; - uint16_t gilMid; - uint16_t gilHigh; + uint16_t satisfactionLow; + uint16_t satisfactionMid; + uint16_t satisfactionHigh; + uint16_t gilLow; + uint16_t gilMid; + uint16_t gilHigh; - SatisfactionSupplyReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SatisfactionSupplyReward( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ScenarioTree { - uint8_t type; - uint16_t image; + uint8_t type; + uint16_t image; - ScenarioTree( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ScenarioTree( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ScenarioTreeTips { - uint32_t tips1; - uint32_t tips2; + uint32_t tips1; + uint32_t tips2; - ScenarioTreeTips( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ScenarioTreeTips( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ScenarioTreeTipsClassQuest { - uint32_t quest; - uint16_t requiredLevel; - uint8_t requiredExpansion; - uint32_t requiredQuest; + uint32_t quest; + uint16_t requiredLevel; + uint8_t requiredExpansion; + uint32_t requiredQuest; - ScenarioTreeTipsClassQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ScenarioTreeTipsClassQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ScenarioTreeTipsQuest { - uint32_t level; + uint32_t level; - ScenarioTreeTipsQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ScenarioTreeTipsQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ScenarioType { - std::string type; + std::string type; - ScenarioType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ScenarioType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ScreenImage { - uint32_t image; + uint32_t image; - ScreenImage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ScreenImage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SecretRecipeBook { - int32_t item; - std::string name; + int32_t item; + std::string name; - SecretRecipeBook( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SecretRecipeBook( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SkyIsland2Mission { - uint32_t item1; - uint32_t item2; - uint16_t objective1; - uint8_t requiredAmount1; - uint16_t objective2; - uint8_t requiredAmount2; - uint16_t objective3; - uint32_t image; + uint32_t item1; + uint32_t item2; + uint16_t objective1; + uint8_t requiredAmount1; + uint16_t objective2; + uint8_t requiredAmount2; + uint16_t objective3; + uint32_t image; - SkyIsland2Mission( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SkyIsland2Mission( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SkyIsland2MissionDetail { - uint8_t type; - uint8_t range; - uint32_t eObj; - std::string objective; + uint8_t type; + uint8_t range; + uint32_t eObj; + std::string objective; - SkyIsland2MissionDetail( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SkyIsland2MissionDetail( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SkyIsland2MissionType { - bool type; + bool type; - SkyIsland2MissionType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SkyIsland2MissionType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SkyIsland2RangeType { - uint8_t type; + uint8_t type; - SkyIsland2RangeType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SkyIsland2RangeType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SpearfishingItem { - std::string description; - int32_t item; - uint16_t gatheringItemLevel; - uint16_t territoryType; - bool isVisible; + std::string description; + int32_t item; + uint16_t gatheringItemLevel; + uint16_t territoryType; + bool isVisible; - SpearfishingItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SpearfishingItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SpearfishingNotebook { - uint8_t gatheringLevel; - int32_t territoryType; - int16_t x; - int16_t y; - uint16_t radius; - uint16_t placeName; - uint16_t gatheringPointBase; + uint8_t gatheringLevel; + int32_t territoryType; + int16_t x; + int16_t y; + uint16_t radius; + uint16_t placeName; + uint16_t gatheringPointBase; - SpearfishingNotebook( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SpearfishingNotebook( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct SpearfishingRecordPage +{ + int32_t placeName; + int32_t image; + + SpearfishingRecordPage( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SpecialShop { - std::string name; - std::vector< int32_t > questItem; - int32_t questShop; + std::string name; + std::vector< int32_t > questItem; + uint32_t questUnlock; + int32_t questShop; + int32_t notCompleteText; + int32_t completeText; - SpecialShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SpecialShop( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SpecialShopItemCategory { - std::string name; + std::string name; - SpecialShopItemCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SpecialShopItemCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Stain { - uint32_t color; - uint8_t shade; - std::string name; + uint32_t color; + uint8_t shade; + std::string name; - Stain( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Stain( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct StainTransient { - uint32_t item1; - uint32_t item2; + uint32_t item1; + uint32_t item2; - StainTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + StainTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Status { - std::string name; - std::string description; - uint16_t icon; - uint8_t maxStacks; - uint8_t category; - uint8_t hitEffect; - uint8_t vFX; - bool lockMovement; - bool lockActions; - bool lockControl; - bool transfiguration; - bool canDispel; - bool inflictedByActor; - bool isPermanent; - bool isFcBuff; - bool invisibility; + std::string name; + std::string description; + uint16_t icon; + uint8_t maxStacks; + uint8_t category; + uint8_t hitEffect; + uint8_t vFX; + bool lockMovement; + bool lockActions; + bool lockControl; + bool transfiguration; + bool canDispel; + bool inflictedByActor; + bool isPermanent; + bool isFcBuff; + bool invisibility; - Status( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Status( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct StatusHitEffect { - uint16_t location; + uint16_t location; - StatusHitEffect( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + StatusHitEffect( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct StatusLoopVFX { - uint16_t location; + uint16_t vFX; + uint16_t vFX2; + uint16_t vFX3; - StatusLoopVFX( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + StatusLoopVFX( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Story { - Story( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Story( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SubmarineExploration { - std::string destination; - std::string location; - uint8_t rankReq; - uint8_t ceruleumTankReq; - uint16_t durationmin; - uint8_t distanceForSurvey; - uint32_t expReward; + std::string destination; + std::string location; + uint8_t rankReq; + uint8_t ceruleumTankReq; + uint16_t durationmin; + uint8_t distanceForSurvey; + uint32_t expReward; - SubmarineExploration( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SubmarineExploration( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SubmarinePart { - uint8_t slot; - uint8_t rank; - uint8_t components; - int16_t surveillance; - int16_t retrieval; - int16_t speed; - int16_t range; - int16_t favor; - uint8_t repairMaterials; + uint8_t slot; + uint8_t rank; + uint8_t components; + int16_t surveillance; + int16_t retrieval; + int16_t speed; + int16_t range; + int16_t favor; + uint8_t repairMaterials; - SubmarinePart( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SubmarinePart( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SubmarineRank { - uint16_t rank; - uint32_t expToNext; + uint16_t rank; + uint32_t expToNext; - SubmarineRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SubmarineRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct SwitchTalk { - std::vector< uint32_t > quest; - std::vector< uint32_t > defaultTalk; + std::vector< uint32_t > quest; + std::vector< uint32_t > defaultTalk; - SwitchTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + SwitchTalk( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TerritoryType { - std::string name; - std::string bg; - uint16_t placeNameRegion; - uint16_t placeNameZone; - uint16_t placeName; - uint16_t map; - uint8_t territoryIntendedUse; - uint8_t weatherRate; - uint32_t arrayEventHandler; - int32_t aetheryte; + std::string name; + std::string bg; + uint16_t placeNameRegion; + uint16_t placeNameZone; + uint16_t placeName; + uint16_t map; + uint8_t territoryIntendedUse; + uint8_t weatherRate; + uint32_t arrayEventHandler; + int32_t aetheryte; - TerritoryType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TerritoryType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TextCommand { - std::string command; - std::string shortCommand; - std::string description; - std::string alias; - std::string shortAlias; + std::string command; + std::string shortCommand; + std::string description; + std::string alias; + std::string shortAlias; - TextCommand( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TextCommand( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Title { - std::string masculine; - std::string feminine; - bool isPrefix; + std::string masculine; + std::string feminine; + bool isPrefix; - Title( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Title( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Tomestones { - uint16_t weeklyLimit; + uint16_t weeklyLimit; - Tomestones( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Tomestones( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TomestonesItem { - int32_t item; - int32_t tomestones; + int32_t item; + int32_t tomestones; - TomestonesItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TomestonesItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TopicSelect { - std::string name; + std::string name; - TopicSelect( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TopicSelect( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Town { - std::string name; - int32_t icon; + std::string name; + int32_t icon; - Town( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Town( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Trait { - std::string name; - int32_t icon; - uint8_t classJob; - uint8_t level; - int16_t value; - uint8_t classJobCategory; + std::string name; + int32_t icon; + uint8_t classJob; + uint8_t level; + uint32_t quest; + int16_t value; + uint8_t classJobCategory; - Trait( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Trait( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TraitRecast { - uint16_t trait; - uint16_t action; - uint16_t timeds; + uint16_t trait; + uint16_t action; + uint16_t timeds; - TraitRecast( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TraitRecast( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TraitTransient { - std::string description; + std::string description; - TraitTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TraitTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Transformation { - int16_t model; - int32_t bNpcCustomize; - int32_t bNpcEquip; - std::vector< uint16_t > action; - float speed; - float scale; - bool isPvP; - bool isEvent; - bool playerCamera; + int16_t model; + int32_t bNpcCustomize; + std::vector< uint16_t > action; + float speed; + float scale; + bool isPvP; + bool isEvent; + bool playerCamera; - Transformation( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Transformation( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Treasure { - uint32_t item; + uint32_t item; - Treasure( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Treasure( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TreasureHuntRank { - uint32_t icon; - int32_t itemName; - int32_t keyItemName; - int32_t instanceMap; - uint8_t maxPartySize; - uint8_t minPartySize; + uint32_t icon; + int32_t itemName; + int32_t keyItemName; + int32_t instanceMap; + uint8_t maxPartySize; + uint8_t minPartySize; - TreasureHuntRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TreasureHuntRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Tribe { - std::string masculine; - std::string feminine; - int8_t sTR; - int8_t dEX; - int8_t vIT; - int8_t iNT; - int8_t mND; - int8_t pIE; + std::string masculine; + std::string feminine; + int8_t sTR; + int8_t dEX; + int8_t vIT; + int8_t iNT; + int8_t mND; + int8_t pIE; - Tribe( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Tribe( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TripleTriad { - std::vector< uint16_t > tripleTriadCardFixed; - std::vector< uint16_t > tripleTriadCardVariable; - std::vector< uint8_t > tripleTriadRule; - bool usesRegionalRules; - uint16_t fee; - uint8_t previousQuestJoin; - std::vector< uint32_t > previousQuest; - uint16_t startTime; - uint16_t endTime; - uint32_t defaultTalkChallenge; - uint32_t defaultTalkUnavailable; - uint32_t defaultTalkNPCWin; - uint32_t defaultTalkDraw; - uint32_t defaultTalkPCWin; - std::vector< uint32_t > itemPossibleReward; + std::vector< uint16_t > tripleTriadCardFixed; + std::vector< uint16_t > tripleTriadCardVariable; + std::vector< uint8_t > tripleTriadRule; + bool usesRegionalRules; + uint16_t fee; + uint8_t previousQuestJoin; + std::vector< uint32_t > previousQuest; + uint16_t startTime; + uint16_t endTime; + uint32_t defaultTalkChallenge; + uint32_t defaultTalkUnavailable; + uint32_t defaultTalkNPCWin; + uint32_t defaultTalkDraw; + uint32_t defaultTalkPCWin; + std::vector< uint32_t > itemPossibleReward; - TripleTriad( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TripleTriad( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TripleTriadCard { - std::string name; - int8_t startsWithVowel; - std::string description; + std::string name; + int8_t startsWithVowel; + std::string description; - TripleTriadCard( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TripleTriadCard( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TripleTriadCardRarity { - uint8_t stars; + uint8_t stars; - TripleTriadCardRarity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TripleTriadCardRarity( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TripleTriadCardResident { - uint8_t top; - uint8_t bottom; - uint8_t left; - uint8_t right; - uint8_t tripleTriadCardRarity; - uint8_t tripleTriadCardType; - uint16_t saleValue; - uint8_t sortKey; + uint8_t top; + uint8_t bottom; + uint8_t left; + uint8_t right; + uint8_t tripleTriadCardRarity; + uint8_t tripleTriadCardType; + uint16_t saleValue; + uint8_t sortKey; - TripleTriadCardResident( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TripleTriadCardResident( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TripleTriadCardType { - std::string name; + std::string name; - TripleTriadCardType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TripleTriadCardType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TripleTriadCompetition { - std::string name; + std::string name; - TripleTriadCompetition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TripleTriadCompetition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TripleTriadRule { - std::string name; + std::string name; - TripleTriadRule( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TripleTriadRule( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Tutorial { - uint32_t exp; - uint32_t gil; - uint32_t rewardTank; - uint32_t rewardMelee; - uint32_t rewardRanged; - uint32_t objective; + uint32_t exp; + uint32_t gil; + uint32_t rewardTank; + uint32_t rewardMelee; + uint32_t rewardRanged; + uint32_t objective; - Tutorial( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Tutorial( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TutorialDPS { - uint8_t objective; + uint8_t objective; - TutorialDPS( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TutorialDPS( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TutorialHealer { - uint8_t objective; + uint8_t objective; - TutorialHealer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TutorialHealer( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct TutorialTank { - uint8_t objective; + uint8_t objective; - TutorialTank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + TutorialTank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct VaseFlower { - uint32_t item; + uint32_t item; - VaseFlower( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + VaseFlower( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct VFX { - std::string location; + std::string location; - VFX( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + VFX( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Warp { - uint32_t level; - uint16_t placeName; - uint32_t defaultTalk1; - uint32_t defaultTalk2; - uint32_t defaultTalk3; - uint16_t warpCondition; - uint16_t warpLogic; + uint32_t level; + uint16_t placeName; + uint32_t defaultTalk1; + uint32_t defaultTalk2; + uint32_t defaultTalk3; + uint16_t warpCondition; + uint16_t warpLogic; - Warp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Warp( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct WarpCondition { - uint32_t requiredQuest1; - uint32_t requiredQuest2; - uint32_t dRequiredQuest3; - uint32_t requiredQuest4; + uint32_t requiredQuest1; + uint32_t requiredQuest2; + uint32_t dRequiredQuest3; + uint32_t requiredQuest4; - WarpCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + WarpCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct WarpLogic +{ + bool warpName; + std::vector< std::string > function; + std::vector< uint32_t > argument; + std::string textString; + std::string response1; + std::string response2; + + WarpLogic( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct Weather { - int32_t icon; - std::string name; - std::string description; + int32_t icon; + std::string name; + std::string description; - Weather( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + Weather( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct WeatherGroup { - int32_t weatherRate; + int32_t weatherRate; - WeatherGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + WeatherGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct WeatherRate { - WeatherRate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + WeatherRate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct WeddingBGM { - uint16_t song; - std::string songName; + uint16_t song; + std::string songName; - WeddingBGM( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + WeddingBGM( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct WeeklyBingoOrderData { - uint32_t data; - uint8_t text; - uint32_t icon; + uint32_t type; + uint32_t data; + uint8_t text; + uint32_t icon; - WeeklyBingoOrderData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + WeeklyBingoOrderData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct WeeklyBingoRewardData { - uint32_t rewardItem2; - bool rewardHQ2; - uint16_t rewardQuantity2; + uint32_t rewardItem2; + bool rewardHQ2; + uint16_t rewardQuantity2; - WeeklyBingoRewardData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + WeeklyBingoRewardData( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct WeeklyBingoText { - std::string description; + std::string description; - WeeklyBingoText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + WeeklyBingoText( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct WeeklyLotBonus +{ + std::vector< uint8_t > weeklyLotBonusThreshold; + + WeeklyLotBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct World { - uint8_t dataCenter; + std::string name; + uint8_t dataCenter; - World( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + World( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct WorldDCGroupType { - std::string name; + std::string name; - WorldDCGroupType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + WorldDCGroupType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct YKW { - uint32_t item; - std::vector< uint16_t > location; + uint32_t item; + std::vector< uint16_t > location; - YKW( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + YKW( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; struct ZoneSharedGroup { - uint32_t quest1; - uint32_t quest2; - uint32_t quest3; - uint32_t quest4; - uint32_t quest5; - uint32_t quest6; + uint32_t quest1; + uint32_t quest2; + uint32_t quest3; + uint32_t quest4; + uint32_t quest5; + uint32_t quest6; - ZoneSharedGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); + ZoneSharedGroup( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; -class ExdDataGenerated + + class ExdDataGenerated + { + public: + ExdDataGenerated(); + ~ExdDataGenerated(); + + bool init( const std::string& path ); + + xiv::exd::Exd setupDatAccess( const std::string& name, xiv::exd::Language lang ); + + template< class T > + T getField( std::vector< xiv::exd::Field >& fields, uint32_t index ) + { + return *boost::get< T >( &fields.at( index ) ); + } + + void loadIdList( xiv::exd::Exd& data, std::set< uint32_t >& outIdList ); + + boost::shared_ptr< xiv::dat::GameData > m_data; + boost::shared_ptr< xiv::exd::ExdData > m_exd_data; + + xiv::exd::Exd m_AchievementDat; + xiv::exd::Exd m_AchievementCategoryDat; + xiv::exd::Exd m_AchievementKindDat; + xiv::exd::Exd m_ActionDat; + xiv::exd::Exd m_ActionCastTimelineDat; + xiv::exd::Exd m_ActionCastVFXDat; + xiv::exd::Exd m_ActionCategoryDat; + xiv::exd::Exd m_ActionComboRouteDat; + xiv::exd::Exd m_ActionIndirectionDat; + xiv::exd::Exd m_ActionParamDat; + xiv::exd::Exd m_ActionProcStatusDat; + xiv::exd::Exd m_ActionTimelineDat; + xiv::exd::Exd m_ActionTimelineMoveDat; + xiv::exd::Exd m_ActionTimelineReplaceDat; + xiv::exd::Exd m_ActionTransientDat; + xiv::exd::Exd m_ActivityFeedButtonsDat; + xiv::exd::Exd m_ActivityFeedCaptionsDat; + 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; + xiv::exd::Exd m_AetherCurrentCompFlgSetDat; + xiv::exd::Exd m_AetherialWheelDat; + xiv::exd::Exd m_AetheryteDat; + xiv::exd::Exd m_AetheryteSystemDefineDat; + xiv::exd::Exd m_AirshipExplorationLevelDat; + xiv::exd::Exd m_AirshipExplorationLogDat; + xiv::exd::Exd m_AirshipExplorationParamTypeDat; + xiv::exd::Exd m_AirshipExplorationPartDat; + xiv::exd::Exd m_AirshipExplorationPointDat; + xiv::exd::Exd m_AnimaWeapon5Dat; + xiv::exd::Exd m_AnimaWeapon5ParamDat; + xiv::exd::Exd m_AnimaWeapon5PatternGroupDat; + xiv::exd::Exd m_AnimaWeapon5SpiritTalkDat; + xiv::exd::Exd m_AnimaWeapon5SpiritTalkParamDat; + xiv::exd::Exd m_AnimaWeapon5TradeItemDat; + xiv::exd::Exd m_AnimaWeaponFUITalkDat; + xiv::exd::Exd m_AnimaWeaponFUITalkParamDat; + xiv::exd::Exd m_AnimaWeaponIconDat; + xiv::exd::Exd m_AnimaWeaponItemDat; + xiv::exd::Exd m_AquariumFishDat; + xiv::exd::Exd m_AquariumWaterDat; + xiv::exd::Exd m_ArrayEventHandlerDat; + xiv::exd::Exd m_AttackTypeDat; + xiv::exd::Exd m_BacklightColorDat; + xiv::exd::Exd m_BalloonDat; + xiv::exd::Exd m_BaseParamDat; + xiv::exd::Exd m_BattleLeveDat; + xiv::exd::Exd m_BeastRankBonusDat; + xiv::exd::Exd m_BeastReputationRankDat; + xiv::exd::Exd m_BeastTribeDat; + xiv::exd::Exd m_BehaviorDat; + xiv::exd::Exd m_BGMDat; + xiv::exd::Exd m_BGMFadeDat; + xiv::exd::Exd m_BGMSituationDat; + xiv::exd::Exd m_BGMSwitchDat; + xiv::exd::Exd m_BGMSystemDefineDat; + xiv::exd::Exd m_BNpcAnnounceIconDat; + xiv::exd::Exd m_BNpcBaseDat; + xiv::exd::Exd m_BNpcCustomizeDat; + xiv::exd::Exd m_BNpcNameDat; + xiv::exd::Exd m_BNpcPartsDat; + xiv::exd::Exd m_BuddyDat; + xiv::exd::Exd m_BuddyActionDat; + xiv::exd::Exd m_BuddyEquipDat; + xiv::exd::Exd m_BuddyItemDat; + xiv::exd::Exd m_BuddyRankDat; + xiv::exd::Exd m_BuddySkillDat; + xiv::exd::Exd m_CabinetDat; + xiv::exd::Exd m_CabinetCategoryDat; + xiv::exd::Exd m_CalendarDat; + xiv::exd::Exd m_CharaMakeCustomizeDat; + xiv::exd::Exd m_CharaMakeTypeDat; + xiv::exd::Exd m_ChocoboRaceDat; + xiv::exd::Exd m_ChocoboRaceAbilityDat; + xiv::exd::Exd m_ChocoboRaceAbilityTypeDat; + xiv::exd::Exd m_ChocoboRaceItemDat; + xiv::exd::Exd m_ChocoboRaceRankDat; + xiv::exd::Exd m_ChocoboRaceStatusDat; + xiv::exd::Exd m_ChocoboRaceTerritoryDat; + xiv::exd::Exd m_ChocoboRaceTutorialDat; + xiv::exd::Exd m_ChocoboRaceWeatherDat; + xiv::exd::Exd m_ChocoboTaxiDat; + xiv::exd::Exd m_ChocoboTaxiStandDat; + xiv::exd::Exd m_ClassJobDat; + xiv::exd::Exd m_ClassJobCategoryDat; + xiv::exd::Exd m_CompanionDat; + xiv::exd::Exd m_CompanionMoveDat; + xiv::exd::Exd m_CompanionTransientDat; + xiv::exd::Exd m_CompanyActionDat; + xiv::exd::Exd m_CompanyCraftDraftDat; + xiv::exd::Exd m_CompanyCraftDraftCategoryDat; + xiv::exd::Exd m_CompanyCraftManufactoryStateDat; + xiv::exd::Exd m_CompanyCraftPartDat; + xiv::exd::Exd m_CompanyCraftProcessDat; + xiv::exd::Exd m_CompanyCraftSequenceDat; + xiv::exd::Exd m_CompanyCraftSupplyItemDat; + xiv::exd::Exd m_CompanyCraftTypeDat; + xiv::exd::Exd m_CompleteJournalDat; + xiv::exd::Exd m_CompleteJournalCategoryDat; + xiv::exd::Exd m_ContentCloseCycleDat; + xiv::exd::Exd m_ContentExActionDat; + xiv::exd::Exd m_ContentFinderConditionDat; + xiv::exd::Exd m_ContentFinderConditionTransientDat; + xiv::exd::Exd m_ContentGaugeDat; + xiv::exd::Exd m_ContentGaugeColorDat; + xiv::exd::Exd m_ContentMemberTypeDat; + xiv::exd::Exd m_ContentNpcTalkDat; + xiv::exd::Exd m_ContentRouletteDat; + xiv::exd::Exd m_ContentRouletteOpenRuleDat; + xiv::exd::Exd m_ContentRouletteRoleBonusDat; + xiv::exd::Exd m_ContentsNoteDat; + xiv::exd::Exd m_ContentTalkDat; + xiv::exd::Exd m_ContentTalkParamDat; + xiv::exd::Exd m_ContentTypeDat; + xiv::exd::Exd m_CraftActionDat; + xiv::exd::Exd m_CraftLeveDat; + xiv::exd::Exd m_CraftTypeDat; + xiv::exd::Exd m_CreditDat; + xiv::exd::Exd m_CreditCastDat; + xiv::exd::Exd m_CurrencyDat; + xiv::exd::Exd m_CustomTalkDat; + xiv::exd::Exd m_CutsceneDat; + xiv::exd::Exd m_CutScreenImageDat; + xiv::exd::Exd m_DailySupplyItemDat; + xiv::exd::Exd m_DeepDungeonDat; + xiv::exd::Exd m_DeepDungeonBanDat; + xiv::exd::Exd m_DeepDungeonDangerDat; + xiv::exd::Exd m_DeepDungeonEquipmentDat; + xiv::exd::Exd m_DeepDungeonFloorEffectUIDat; + xiv::exd::Exd m_DeepDungeonItemDat; + xiv::exd::Exd m_DeepDungeonLayerDat; + xiv::exd::Exd m_DeepDungeonMagicStoneDat; + xiv::exd::Exd m_DeepDungeonMap5XDat; + xiv::exd::Exd m_DeepDungeonRoomDat; + xiv::exd::Exd m_DeepDungeonStatusDat; + xiv::exd::Exd m_DefaultTalkDat; + xiv::exd::Exd m_DefaultTalkLipSyncTypeDat; + xiv::exd::Exd m_DeliveryQuestDat; + xiv::exd::Exd m_DisposalShopDat; + xiv::exd::Exd m_DisposalShopFilterTypeDat; + xiv::exd::Exd m_DisposalShopItemDat; + xiv::exd::Exd m_DpsChallengeDat; + xiv::exd::Exd m_DpsChallengeOfficerDat; + xiv::exd::Exd m_DpsChallengeTransientDat; + xiv::exd::Exd m_EmoteDat; + xiv::exd::Exd m_EmoteCategoryDat; + xiv::exd::Exd m_ENpcBaseDat; + xiv::exd::Exd m_ENpcResidentDat; + xiv::exd::Exd m_EObjDat; + xiv::exd::Exd m_EObjNameDat; + xiv::exd::Exd m_EquipRaceCategoryDat; + xiv::exd::Exd m_EquipSlotCategoryDat; + xiv::exd::Exd m_EurekaAethernetDat; + xiv::exd::Exd m_EurekaGrowDataDat; + xiv::exd::Exd m_EurekaSphereElementAdjustDat; + xiv::exd::Exd m_EventActionDat; + xiv::exd::Exd m_EventIconPriorityDat; + xiv::exd::Exd m_EventIconTypeDat; + xiv::exd::Exd m_EventItemDat; + xiv::exd::Exd m_EventItemCastTimelineDat; + xiv::exd::Exd m_EventItemHelpDat; + xiv::exd::Exd m_EventItemTimelineDat; + xiv::exd::Exd m_ExportedSGDat; + xiv::exd::Exd m_ExVersionDat; + xiv::exd::Exd m_FateDat; + xiv::exd::Exd m_FCActivityDat; + xiv::exd::Exd m_FCActivityCategoryDat; + xiv::exd::Exd m_FCAuthorityDat; + xiv::exd::Exd m_FCAuthorityCategoryDat; + xiv::exd::Exd m_FCChestNameDat; + xiv::exd::Exd m_FccShopDat; + xiv::exd::Exd m_FCHierarchyDat; + xiv::exd::Exd m_FCProfileDat; + xiv::exd::Exd m_FCReputationDat; + xiv::exd::Exd m_FCRightsDat; + xiv::exd::Exd m_FieldMarkerDat; + xiv::exd::Exd m_FishingRecordTypeTransientDat; + xiv::exd::Exd m_FishingSpotDat; + xiv::exd::Exd m_FishParameterDat; + xiv::exd::Exd m_Frontline03Dat; + xiv::exd::Exd m_Frontline04Dat; + xiv::exd::Exd m_GardeningSeedDat; + xiv::exd::Exd m_GatheringConditionDat; + xiv::exd::Exd m_GatheringExpDat; + xiv::exd::Exd m_GatheringItemDat; + xiv::exd::Exd m_GatheringItemLevelConvertTableDat; + xiv::exd::Exd m_GatheringItemPointDat; + xiv::exd::Exd m_GatheringLeveDat; + xiv::exd::Exd m_GatheringLeveRouteDat; + xiv::exd::Exd m_GatheringNotebookListDat; + xiv::exd::Exd m_GatheringPointDat; + xiv::exd::Exd m_GatheringPointBaseDat; + xiv::exd::Exd m_GatheringPointBonusDat; + xiv::exd::Exd m_GatheringPointBonusTypeDat; + xiv::exd::Exd m_GatheringPointNameDat; + xiv::exd::Exd m_GatheringSubCategoryDat; + xiv::exd::Exd m_GatheringTypeDat; + xiv::exd::Exd m_GcArmyCaptureTacticsDat; + xiv::exd::Exd m_GcArmyExpeditionDat; + xiv::exd::Exd m_GcArmyExpeditionMemberBonusDat; + xiv::exd::Exd m_GcArmyExpeditionTypeDat; + xiv::exd::Exd m_GcArmyMemberGrowDat; + xiv::exd::Exd m_GcArmyTrainingDat; + xiv::exd::Exd m_GCRankGridaniaFemaleTextDat; + xiv::exd::Exd m_GCRankGridaniaMaleTextDat; + xiv::exd::Exd m_GCRankLimsaFemaleTextDat; + xiv::exd::Exd m_GCRankLimsaMaleTextDat; + xiv::exd::Exd m_GCRankUldahFemaleTextDat; + xiv::exd::Exd m_GCRankUldahMaleTextDat; + xiv::exd::Exd m_GCScripShopCategoryDat; + xiv::exd::Exd m_GCScripShopItemDat; + xiv::exd::Exd m_GCShopDat; + xiv::exd::Exd m_GCShopItemCategoryDat; + xiv::exd::Exd m_GCSupplyDutyDat; + xiv::exd::Exd m_GCSupplyDutyRewardDat; + xiv::exd::Exd m_GeneralActionDat; + xiv::exd::Exd m_GFATEDat; + xiv::exd::Exd m_GilShopDat; + xiv::exd::Exd m_GilShopItemDat; + xiv::exd::Exd m_GoldSaucerArcadeMachineDat; + xiv::exd::Exd m_GoldSaucerTextDataDat; + xiv::exd::Exd m_GrandCompanyDat; + xiv::exd::Exd m_GrandCompanyRankDat; + xiv::exd::Exd m_GuardianDeityDat; + xiv::exd::Exd m_GuildleveAssignmentDat; + xiv::exd::Exd m_GuildleveAssignmentCategoryDat; + xiv::exd::Exd m_GuildOrderGuideDat; + xiv::exd::Exd m_GuildOrderOfficerDat; + xiv::exd::Exd m_HairMakeTypeDat; + xiv::exd::Exd m_HouseRetainerPoseDat; + xiv::exd::Exd m_HousingAethernetDat; + xiv::exd::Exd m_HousingEmploymentNpcListDat; + xiv::exd::Exd m_HousingEmploymentNpcRaceDat; + xiv::exd::Exd m_HousingFurnitureDat; + xiv::exd::Exd m_HousingPlacementDat; + xiv::exd::Exd m_HousingPresetDat; + xiv::exd::Exd m_HousingYardObjectDat; + xiv::exd::Exd m_HowToDat; + xiv::exd::Exd m_HowToCategoryDat; + xiv::exd::Exd m_HowToPageDat; + xiv::exd::Exd m_InstanceContentDat; + xiv::exd::Exd m_InstanceContentBuffDat; + xiv::exd::Exd m_InstanceContentTextDataDat; + xiv::exd::Exd m_ItemDat; + xiv::exd::Exd m_ItemActionDat; + xiv::exd::Exd m_ItemFoodDat; + xiv::exd::Exd m_ItemSearchCategoryDat; + xiv::exd::Exd m_ItemSeriesDat; + xiv::exd::Exd m_ItemSpecialBonusDat; + xiv::exd::Exd m_ItemUICategoryDat; + xiv::exd::Exd m_JournalCategoryDat; + xiv::exd::Exd m_JournalGenreDat; + xiv::exd::Exd m_JournalSectionDat; + xiv::exd::Exd m_LeveDat; + xiv::exd::Exd m_LeveAssignmentTypeDat; + xiv::exd::Exd m_LeveClientDat; + xiv::exd::Exd m_LevelDat; + xiv::exd::Exd m_LeveRewardItemDat; + xiv::exd::Exd m_LeveRewardItemGroupDat; + xiv::exd::Exd m_LeveVfxDat; + xiv::exd::Exd m_LogFilterDat; + xiv::exd::Exd m_LogKindDat; + xiv::exd::Exd m_LogKindCategoryTextDat; + xiv::exd::Exd m_LogMessageDat; + xiv::exd::Exd m_LotteryExchangeShopDat; + xiv::exd::Exd m_MacroIconDat; + xiv::exd::Exd m_MacroIconRedirectOldDat; + xiv::exd::Exd m_MainCommandDat; + xiv::exd::Exd m_MainCommandCategoryDat; + xiv::exd::Exd m_ManeuversArmorDat; + xiv::exd::Exd m_MapDat; + xiv::exd::Exd m_MapMarkerDat; + xiv::exd::Exd m_MapMarkerRegionDat; + xiv::exd::Exd m_MapSymbolDat; + xiv::exd::Exd m_MarkerDat; + xiv::exd::Exd m_MasterpieceSupplyDutyDat; + xiv::exd::Exd m_MasterpieceSupplyMultiplierDat; + xiv::exd::Exd m_MateriaDat; + xiv::exd::Exd m_MinionRaceDat; + xiv::exd::Exd m_MinionRulesDat; + xiv::exd::Exd m_MinionSkillTypeDat; + xiv::exd::Exd m_MobHuntOrderTypeDat; + xiv::exd::Exd m_MobHuntTargetDat; + xiv::exd::Exd m_ModelCharaDat; + xiv::exd::Exd m_ModelStateDat; + xiv::exd::Exd m_MonsterNoteDat; + xiv::exd::Exd m_MonsterNoteTargetDat; + xiv::exd::Exd m_MountDat; + xiv::exd::Exd m_MountActionDat; + xiv::exd::Exd m_MountCustomizeDat; + xiv::exd::Exd m_MountFlyingConditionDat; + xiv::exd::Exd m_MountSpeedDat; + xiv::exd::Exd m_MountTransientDat; + xiv::exd::Exd m_MoveTimelineDat; + xiv::exd::Exd m_MoveVfxDat; + xiv::exd::Exd m_NpcEquipDat; + xiv::exd::Exd m_NpcYellDat; + xiv::exd::Exd m_OmenDat; + xiv::exd::Exd m_OnlineStatusDat; + xiv::exd::Exd m_OpeningDat; + xiv::exd::Exd m_OrchestrionDat; + xiv::exd::Exd m_OrchestrionCategoryDat; + xiv::exd::Exd m_OrchestrionPathDat; + xiv::exd::Exd m_OrchestrionUiparamDat; + xiv::exd::Exd m_ParamGrowDat; + xiv::exd::Exd m_PartyContentCutsceneDat; + xiv::exd::Exd m_PerformDat; + xiv::exd::Exd m_PerformTransientDat; + xiv::exd::Exd m_PetDat; + xiv::exd::Exd m_PetActionDat; + xiv::exd::Exd m_PictureDat; + xiv::exd::Exd m_PlaceNameDat; + xiv::exd::Exd m_PlantPotFlowerSeedDat; + xiv::exd::Exd m_PreHandlerDat; + xiv::exd::Exd m_PublicContentDat; + xiv::exd::Exd m_PublicContentCutsceneDat; + xiv::exd::Exd m_PublicContentTextDataDat; + xiv::exd::Exd m_PvPActionDat; + xiv::exd::Exd m_PvPActionSortDat; + xiv::exd::Exd m_PvPRankDat; + xiv::exd::Exd m_PvPSelectTraitDat; + xiv::exd::Exd m_PvPTraitDat; + xiv::exd::Exd m_QuestDat; + xiv::exd::Exd m_QuestClassJobRewardDat; + xiv::exd::Exd m_QuestClassJobSupplyDat; + xiv::exd::Exd m_QuestRepeatFlagDat; + xiv::exd::Exd m_QuestRewardOtherDat; + xiv::exd::Exd m_QuickChatDat; + xiv::exd::Exd m_QuickChatTransientDat; + xiv::exd::Exd m_RaceDat; + xiv::exd::Exd m_RacingChocoboItemDat; + xiv::exd::Exd m_RacingChocoboNameDat; + xiv::exd::Exd m_RacingChocoboNameCategoryDat; + xiv::exd::Exd m_RacingChocoboNameInfoDat; + xiv::exd::Exd m_RacingChocoboParamDat; + xiv::exd::Exd m_RecipeDat; + xiv::exd::Exd m_RecipeElementDat; + xiv::exd::Exd m_RecipeLevelTableDat; + xiv::exd::Exd m_RecipeNotebookListDat; + xiv::exd::Exd m_RecommendContentsDat; + xiv::exd::Exd m_RelicDat; + xiv::exd::Exd m_Relic3Dat; + xiv::exd::Exd m_RelicItemDat; + xiv::exd::Exd m_RelicNoteDat; + xiv::exd::Exd m_RelicNoteCategoryDat; + xiv::exd::Exd m_ResidentDat; + xiv::exd::Exd m_RetainerTaskDat; + xiv::exd::Exd m_RetainerTaskLvRangeDat; + xiv::exd::Exd m_RetainerTaskNormalDat; + xiv::exd::Exd m_RetainerTaskParameterDat; + xiv::exd::Exd m_RetainerTaskRandomDat; + xiv::exd::Exd m_RPParameterDat; + xiv::exd::Exd m_SalvageDat; + xiv::exd::Exd m_SatisfactionNpcDat; + xiv::exd::Exd m_SatisfactionSupplyDat; + xiv::exd::Exd m_SatisfactionSupplyRewardDat; + xiv::exd::Exd m_ScenarioTreeDat; + xiv::exd::Exd m_ScenarioTreeTipsDat; + xiv::exd::Exd m_ScenarioTreeTipsClassQuestDat; + xiv::exd::Exd m_ScenarioTreeTipsQuestDat; + xiv::exd::Exd m_ScenarioTypeDat; + xiv::exd::Exd m_ScreenImageDat; + xiv::exd::Exd m_SecretRecipeBookDat; + xiv::exd::Exd m_SkyIsland2MissionDat; + xiv::exd::Exd m_SkyIsland2MissionDetailDat; + xiv::exd::Exd m_SkyIsland2MissionTypeDat; + xiv::exd::Exd m_SkyIsland2RangeTypeDat; + xiv::exd::Exd m_SpearfishingItemDat; + xiv::exd::Exd m_SpearfishingNotebookDat; + xiv::exd::Exd m_SpearfishingRecordPageDat; + xiv::exd::Exd m_SpecialShopDat; + xiv::exd::Exd m_SpecialShopItemCategoryDat; + xiv::exd::Exd m_StainDat; + xiv::exd::Exd m_StainTransientDat; + xiv::exd::Exd m_StatusDat; + xiv::exd::Exd m_StatusHitEffectDat; + xiv::exd::Exd m_StatusLoopVFXDat; + xiv::exd::Exd m_StoryDat; + xiv::exd::Exd m_SubmarineExplorationDat; + xiv::exd::Exd m_SubmarinePartDat; + xiv::exd::Exd m_SubmarineRankDat; + xiv::exd::Exd m_SwitchTalkDat; + xiv::exd::Exd m_TerritoryTypeDat; + xiv::exd::Exd m_TextCommandDat; + xiv::exd::Exd m_TitleDat; + xiv::exd::Exd m_TomestonesDat; + xiv::exd::Exd m_TomestonesItemDat; + xiv::exd::Exd m_TopicSelectDat; + xiv::exd::Exd m_TownDat; + xiv::exd::Exd m_TraitDat; + xiv::exd::Exd m_TraitRecastDat; + xiv::exd::Exd m_TraitTransientDat; + xiv::exd::Exd m_TransformationDat; + xiv::exd::Exd m_TreasureDat; + xiv::exd::Exd m_TreasureHuntRankDat; + xiv::exd::Exd m_TribeDat; + xiv::exd::Exd m_TripleTriadDat; + xiv::exd::Exd m_TripleTriadCardDat; + xiv::exd::Exd m_TripleTriadCardRarityDat; + xiv::exd::Exd m_TripleTriadCardResidentDat; + xiv::exd::Exd m_TripleTriadCardTypeDat; + xiv::exd::Exd m_TripleTriadCompetitionDat; + xiv::exd::Exd m_TripleTriadRuleDat; + xiv::exd::Exd m_TutorialDat; + xiv::exd::Exd m_TutorialDPSDat; + xiv::exd::Exd m_TutorialHealerDat; + xiv::exd::Exd m_TutorialTankDat; + xiv::exd::Exd m_VaseFlowerDat; + xiv::exd::Exd m_VFXDat; + xiv::exd::Exd m_WarpDat; + xiv::exd::Exd m_WarpConditionDat; + xiv::exd::Exd m_WarpLogicDat; + xiv::exd::Exd m_WeatherDat; + xiv::exd::Exd m_WeatherGroupDat; + xiv::exd::Exd m_WeatherRateDat; + xiv::exd::Exd m_WeddingBGMDat; + xiv::exd::Exd m_WeeklyBingoOrderDataDat; + xiv::exd::Exd m_WeeklyBingoRewardDataDat; + xiv::exd::Exd m_WeeklyBingoTextDat; + xiv::exd::Exd m_WeeklyLotBonusDat; + xiv::exd::Exd m_WorldDat; + xiv::exd::Exd m_WorldDCGroupTypeDat; + xiv::exd::Exd m_YKWDat; + xiv::exd::Exd m_ZoneSharedGroupDat; + + + using AchievementPtr = boost::shared_ptr< Achievement >; + using AchievementCategoryPtr = boost::shared_ptr< AchievementCategory >; + using AchievementKindPtr = boost::shared_ptr< AchievementKind >; + using ActionPtr = boost::shared_ptr< Action >; + using ActionCastTimelinePtr = boost::shared_ptr< ActionCastTimeline >; + using ActionCastVFXPtr = boost::shared_ptr< ActionCastVFX >; + using ActionCategoryPtr = boost::shared_ptr< ActionCategory >; + using ActionComboRoutePtr = boost::shared_ptr< ActionComboRoute >; + using ActionIndirectionPtr = boost::shared_ptr< ActionIndirection >; + using ActionParamPtr = boost::shared_ptr< ActionParam >; + using ActionProcStatusPtr = boost::shared_ptr< ActionProcStatus >; + using ActionTimelinePtr = boost::shared_ptr< ActionTimeline >; + using ActionTimelineMovePtr = boost::shared_ptr< ActionTimelineMove >; + using ActionTimelineReplacePtr = boost::shared_ptr< ActionTimelineReplace >; + using ActionTransientPtr = boost::shared_ptr< ActionTransient >; + using ActivityFeedButtonsPtr = boost::shared_ptr< ActivityFeedButtons >; + using ActivityFeedCaptionsPtr = boost::shared_ptr< ActivityFeedCaptions >; + using ActivityFeedGroupCaptionsPtr = boost::shared_ptr< ActivityFeedGroupCaptions >; + using ActivityFeedImagesPtr = boost::shared_ptr< ActivityFeedImages >; + using AddonPtr = boost::shared_ptr< Addon >; + using AddonHudPtr = boost::shared_ptr< AddonHud >; + using AdventurePtr = boost::shared_ptr< Adventure >; + using AdventureExPhasePtr = boost::shared_ptr< AdventureExPhase >; + using AetherCurrentPtr = boost::shared_ptr< AetherCurrent >; + using AetherCurrentCompFlgSetPtr = boost::shared_ptr< AetherCurrentCompFlgSet >; + using AetherialWheelPtr = boost::shared_ptr< AetherialWheel >; + using AetherytePtr = boost::shared_ptr< Aetheryte >; + using AetheryteSystemDefinePtr = boost::shared_ptr< AetheryteSystemDefine >; + using AirshipExplorationLevelPtr = boost::shared_ptr< AirshipExplorationLevel >; + using AirshipExplorationLogPtr = boost::shared_ptr< AirshipExplorationLog >; + using AirshipExplorationParamTypePtr = boost::shared_ptr< AirshipExplorationParamType >; + using AirshipExplorationPartPtr = boost::shared_ptr< AirshipExplorationPart >; + using AirshipExplorationPointPtr = boost::shared_ptr< AirshipExplorationPoint >; + using AnimaWeapon5Ptr = boost::shared_ptr< AnimaWeapon5 >; + using AnimaWeapon5ParamPtr = boost::shared_ptr< AnimaWeapon5Param >; + using AnimaWeapon5PatternGroupPtr = boost::shared_ptr< AnimaWeapon5PatternGroup >; + using AnimaWeapon5SpiritTalkPtr = boost::shared_ptr< AnimaWeapon5SpiritTalk >; + using AnimaWeapon5SpiritTalkParamPtr = boost::shared_ptr< AnimaWeapon5SpiritTalkParam >; + using AnimaWeapon5TradeItemPtr = boost::shared_ptr< AnimaWeapon5TradeItem >; + using AnimaWeaponFUITalkPtr = boost::shared_ptr< AnimaWeaponFUITalk >; + using AnimaWeaponFUITalkParamPtr = boost::shared_ptr< AnimaWeaponFUITalkParam >; + using AnimaWeaponIconPtr = boost::shared_ptr< AnimaWeaponIcon >; + using AnimaWeaponItemPtr = boost::shared_ptr< AnimaWeaponItem >; + using AquariumFishPtr = boost::shared_ptr< AquariumFish >; + using AquariumWaterPtr = boost::shared_ptr< AquariumWater >; + using ArrayEventHandlerPtr = boost::shared_ptr< ArrayEventHandler >; + using AttackTypePtr = boost::shared_ptr< AttackType >; + using BacklightColorPtr = boost::shared_ptr< BacklightColor >; + using BalloonPtr = boost::shared_ptr< Balloon >; + using BaseParamPtr = boost::shared_ptr< BaseParam >; + using BattleLevePtr = boost::shared_ptr< BattleLeve >; + using BeastRankBonusPtr = boost::shared_ptr< BeastRankBonus >; + using BeastReputationRankPtr = boost::shared_ptr< BeastReputationRank >; + using BeastTribePtr = boost::shared_ptr< BeastTribe >; + using BehaviorPtr = boost::shared_ptr< Behavior >; + using BGMPtr = boost::shared_ptr< BGM >; + using BGMFadePtr = boost::shared_ptr< BGMFade >; + using BGMSituationPtr = boost::shared_ptr< BGMSituation >; + using BGMSwitchPtr = boost::shared_ptr< BGMSwitch >; + using BGMSystemDefinePtr = boost::shared_ptr< BGMSystemDefine >; + using BNpcAnnounceIconPtr = boost::shared_ptr< BNpcAnnounceIcon >; + using BNpcBasePtr = boost::shared_ptr< BNpcBase >; + using BNpcCustomizePtr = boost::shared_ptr< BNpcCustomize >; + using BNpcNamePtr = boost::shared_ptr< BNpcName >; + using BNpcPartsPtr = boost::shared_ptr< BNpcParts >; + using BuddyPtr = boost::shared_ptr< Buddy >; + using BuddyActionPtr = boost::shared_ptr< BuddyAction >; + using BuddyEquipPtr = boost::shared_ptr< BuddyEquip >; + using BuddyItemPtr = boost::shared_ptr< BuddyItem >; + using BuddyRankPtr = boost::shared_ptr< BuddyRank >; + using BuddySkillPtr = boost::shared_ptr< BuddySkill >; + using CabinetPtr = boost::shared_ptr< Cabinet >; + using CabinetCategoryPtr = boost::shared_ptr< CabinetCategory >; + using CalendarPtr = boost::shared_ptr< Calendar >; + using CharaMakeCustomizePtr = boost::shared_ptr< CharaMakeCustomize >; + using CharaMakeTypePtr = boost::shared_ptr< CharaMakeType >; + using ChocoboRacePtr = boost::shared_ptr< ChocoboRace >; + using ChocoboRaceAbilityPtr = boost::shared_ptr< ChocoboRaceAbility >; + using ChocoboRaceAbilityTypePtr = boost::shared_ptr< ChocoboRaceAbilityType >; + using ChocoboRaceItemPtr = boost::shared_ptr< ChocoboRaceItem >; + using ChocoboRaceRankPtr = boost::shared_ptr< ChocoboRaceRank >; + using ChocoboRaceStatusPtr = boost::shared_ptr< ChocoboRaceStatus >; + using ChocoboRaceTerritoryPtr = boost::shared_ptr< ChocoboRaceTerritory >; + using ChocoboRaceTutorialPtr = boost::shared_ptr< ChocoboRaceTutorial >; + using ChocoboRaceWeatherPtr = boost::shared_ptr< ChocoboRaceWeather >; + using ChocoboTaxiPtr = boost::shared_ptr< ChocoboTaxi >; + using ChocoboTaxiStandPtr = boost::shared_ptr< ChocoboTaxiStand >; + using ClassJobPtr = boost::shared_ptr< ClassJob >; + using ClassJobCategoryPtr = boost::shared_ptr< ClassJobCategory >; + using CompanionPtr = boost::shared_ptr< Companion >; + using CompanionMovePtr = boost::shared_ptr< CompanionMove >; + using CompanionTransientPtr = boost::shared_ptr< CompanionTransient >; + using CompanyActionPtr = boost::shared_ptr< CompanyAction >; + using CompanyCraftDraftPtr = boost::shared_ptr< CompanyCraftDraft >; + using CompanyCraftDraftCategoryPtr = boost::shared_ptr< CompanyCraftDraftCategory >; + using CompanyCraftManufactoryStatePtr = boost::shared_ptr< CompanyCraftManufactoryState >; + using CompanyCraftPartPtr = boost::shared_ptr< CompanyCraftPart >; + using CompanyCraftProcessPtr = boost::shared_ptr< CompanyCraftProcess >; + using CompanyCraftSequencePtr = boost::shared_ptr< CompanyCraftSequence >; + using CompanyCraftSupplyItemPtr = boost::shared_ptr< CompanyCraftSupplyItem >; + using CompanyCraftTypePtr = boost::shared_ptr< CompanyCraftType >; + using CompleteJournalPtr = boost::shared_ptr< CompleteJournal >; + using CompleteJournalCategoryPtr = boost::shared_ptr< CompleteJournalCategory >; + using ContentCloseCyclePtr = boost::shared_ptr< ContentCloseCycle >; + using ContentExActionPtr = boost::shared_ptr< ContentExAction >; + using ContentFinderConditionPtr = boost::shared_ptr< ContentFinderCondition >; + using ContentFinderConditionTransientPtr = boost::shared_ptr< ContentFinderConditionTransient >; + using ContentGaugePtr = boost::shared_ptr< ContentGauge >; + using ContentGaugeColorPtr = boost::shared_ptr< ContentGaugeColor >; + using ContentMemberTypePtr = boost::shared_ptr< ContentMemberType >; + using ContentNpcTalkPtr = boost::shared_ptr< ContentNpcTalk >; + using ContentRoulettePtr = boost::shared_ptr< ContentRoulette >; + using ContentRouletteOpenRulePtr = boost::shared_ptr< ContentRouletteOpenRule >; + using ContentRouletteRoleBonusPtr = boost::shared_ptr< ContentRouletteRoleBonus >; + using ContentsNotePtr = boost::shared_ptr< ContentsNote >; + using ContentTalkPtr = boost::shared_ptr< ContentTalk >; + using ContentTalkParamPtr = boost::shared_ptr< ContentTalkParam >; + using ContentTypePtr = boost::shared_ptr< ContentType >; + using CraftActionPtr = boost::shared_ptr< CraftAction >; + using CraftLevePtr = boost::shared_ptr< CraftLeve >; + using CraftTypePtr = boost::shared_ptr< CraftType >; + using CreditPtr = boost::shared_ptr< Credit >; + using CreditCastPtr = boost::shared_ptr< CreditCast >; + using CurrencyPtr = boost::shared_ptr< Currency >; + using CustomTalkPtr = boost::shared_ptr< CustomTalk >; + using CutscenePtr = boost::shared_ptr< Cutscene >; + using CutScreenImagePtr = boost::shared_ptr< CutScreenImage >; + using DailySupplyItemPtr = boost::shared_ptr< DailySupplyItem >; + using DeepDungeonPtr = boost::shared_ptr< DeepDungeon >; + using DeepDungeonBanPtr = boost::shared_ptr< DeepDungeonBan >; + using DeepDungeonDangerPtr = boost::shared_ptr< DeepDungeonDanger >; + using DeepDungeonEquipmentPtr = boost::shared_ptr< DeepDungeonEquipment >; + using DeepDungeonFloorEffectUIPtr = boost::shared_ptr< DeepDungeonFloorEffectUI >; + using DeepDungeonItemPtr = boost::shared_ptr< DeepDungeonItem >; + using DeepDungeonLayerPtr = boost::shared_ptr< DeepDungeonLayer >; + using DeepDungeonMagicStonePtr = boost::shared_ptr< DeepDungeonMagicStone >; + using DeepDungeonMap5XPtr = boost::shared_ptr< DeepDungeonMap5X >; + using DeepDungeonRoomPtr = boost::shared_ptr< DeepDungeonRoom >; + using DeepDungeonStatusPtr = boost::shared_ptr< DeepDungeonStatus >; + using DefaultTalkPtr = boost::shared_ptr< DefaultTalk >; + using DefaultTalkLipSyncTypePtr = boost::shared_ptr< DefaultTalkLipSyncType >; + using DeliveryQuestPtr = boost::shared_ptr< DeliveryQuest >; + using DisposalShopPtr = boost::shared_ptr< DisposalShop >; + using DisposalShopFilterTypePtr = boost::shared_ptr< DisposalShopFilterType >; + using DisposalShopItemPtr = boost::shared_ptr< DisposalShopItem >; + using DpsChallengePtr = boost::shared_ptr< DpsChallenge >; + using DpsChallengeOfficerPtr = boost::shared_ptr< DpsChallengeOfficer >; + using DpsChallengeTransientPtr = boost::shared_ptr< DpsChallengeTransient >; + using EmotePtr = boost::shared_ptr< Emote >; + using EmoteCategoryPtr = boost::shared_ptr< EmoteCategory >; + using ENpcBasePtr = boost::shared_ptr< ENpcBase >; + using ENpcResidentPtr = boost::shared_ptr< ENpcResident >; + using EObjPtr = boost::shared_ptr< EObj >; + using EObjNamePtr = boost::shared_ptr< EObjName >; + using EquipRaceCategoryPtr = boost::shared_ptr< EquipRaceCategory >; + using EquipSlotCategoryPtr = boost::shared_ptr< EquipSlotCategory >; + using EurekaAethernetPtr = boost::shared_ptr< EurekaAethernet >; + using EurekaGrowDataPtr = boost::shared_ptr< EurekaGrowData >; + using EurekaSphereElementAdjustPtr = boost::shared_ptr< EurekaSphereElementAdjust >; + using EventActionPtr = boost::shared_ptr< EventAction >; + using EventIconPriorityPtr = boost::shared_ptr< EventIconPriority >; + using EventIconTypePtr = boost::shared_ptr< EventIconType >; + using EventItemPtr = boost::shared_ptr< EventItem >; + using EventItemCastTimelinePtr = boost::shared_ptr< EventItemCastTimeline >; + using EventItemHelpPtr = boost::shared_ptr< EventItemHelp >; + using EventItemTimelinePtr = boost::shared_ptr< EventItemTimeline >; + using ExportedSGPtr = boost::shared_ptr< ExportedSG >; + using ExVersionPtr = boost::shared_ptr< ExVersion >; + using FatePtr = boost::shared_ptr< Fate >; + using FCActivityPtr = boost::shared_ptr< FCActivity >; + using FCActivityCategoryPtr = boost::shared_ptr< FCActivityCategory >; + using FCAuthorityPtr = boost::shared_ptr< FCAuthority >; + using FCAuthorityCategoryPtr = boost::shared_ptr< FCAuthorityCategory >; + using FCChestNamePtr = boost::shared_ptr< FCChestName >; + using FccShopPtr = boost::shared_ptr< FccShop >; + using FCHierarchyPtr = boost::shared_ptr< FCHierarchy >; + using FCProfilePtr = boost::shared_ptr< FCProfile >; + using FCReputationPtr = boost::shared_ptr< FCReputation >; + using FCRightsPtr = boost::shared_ptr< FCRights >; + using FieldMarkerPtr = boost::shared_ptr< FieldMarker >; + using FishingRecordTypeTransientPtr = boost::shared_ptr< FishingRecordTypeTransient >; + using FishingSpotPtr = boost::shared_ptr< FishingSpot >; + using FishParameterPtr = boost::shared_ptr< FishParameter >; + using Frontline03Ptr = boost::shared_ptr< Frontline03 >; + using Frontline04Ptr = boost::shared_ptr< Frontline04 >; + using GardeningSeedPtr = boost::shared_ptr< GardeningSeed >; + using GatheringConditionPtr = boost::shared_ptr< GatheringCondition >; + using GatheringExpPtr = boost::shared_ptr< GatheringExp >; + using GatheringItemPtr = boost::shared_ptr< GatheringItem >; + using GatheringItemLevelConvertTablePtr = boost::shared_ptr< GatheringItemLevelConvertTable >; + using GatheringItemPointPtr = boost::shared_ptr< GatheringItemPoint >; + using GatheringLevePtr = boost::shared_ptr< GatheringLeve >; + using GatheringLeveRoutePtr = boost::shared_ptr< GatheringLeveRoute >; + using GatheringNotebookListPtr = boost::shared_ptr< GatheringNotebookList >; + using GatheringPointPtr = boost::shared_ptr< GatheringPoint >; + using GatheringPointBasePtr = boost::shared_ptr< GatheringPointBase >; + using GatheringPointBonusPtr = boost::shared_ptr< GatheringPointBonus >; + using GatheringPointBonusTypePtr = boost::shared_ptr< GatheringPointBonusType >; + using GatheringPointNamePtr = boost::shared_ptr< GatheringPointName >; + using GatheringSubCategoryPtr = boost::shared_ptr< GatheringSubCategory >; + using GatheringTypePtr = boost::shared_ptr< GatheringType >; + using GcArmyCaptureTacticsPtr = boost::shared_ptr< GcArmyCaptureTactics >; + using GcArmyExpeditionPtr = boost::shared_ptr< GcArmyExpedition >; + using GcArmyExpeditionMemberBonusPtr = boost::shared_ptr< GcArmyExpeditionMemberBonus >; + using GcArmyExpeditionTypePtr = boost::shared_ptr< GcArmyExpeditionType >; + using GcArmyMemberGrowPtr = boost::shared_ptr< GcArmyMemberGrow >; + using GcArmyTrainingPtr = boost::shared_ptr< GcArmyTraining >; + using GCRankGridaniaFemaleTextPtr = boost::shared_ptr< GCRankGridaniaFemaleText >; + using GCRankGridaniaMaleTextPtr = boost::shared_ptr< GCRankGridaniaMaleText >; + using GCRankLimsaFemaleTextPtr = boost::shared_ptr< GCRankLimsaFemaleText >; + using GCRankLimsaMaleTextPtr = boost::shared_ptr< GCRankLimsaMaleText >; + using GCRankUldahFemaleTextPtr = boost::shared_ptr< GCRankUldahFemaleText >; + using GCRankUldahMaleTextPtr = boost::shared_ptr< GCRankUldahMaleText >; + using GCScripShopCategoryPtr = boost::shared_ptr< GCScripShopCategory >; + using GCScripShopItemPtr = boost::shared_ptr< GCScripShopItem >; + using GCShopPtr = boost::shared_ptr< GCShop >; + using GCShopItemCategoryPtr = boost::shared_ptr< GCShopItemCategory >; + using GCSupplyDutyPtr = boost::shared_ptr< GCSupplyDuty >; + using GCSupplyDutyRewardPtr = boost::shared_ptr< GCSupplyDutyReward >; + using GeneralActionPtr = boost::shared_ptr< GeneralAction >; + using GFATEPtr = boost::shared_ptr< GFATE >; + using GilShopPtr = boost::shared_ptr< GilShop >; + using GilShopItemPtr = boost::shared_ptr< GilShopItem >; + using GoldSaucerArcadeMachinePtr = boost::shared_ptr< GoldSaucerArcadeMachine >; + using GoldSaucerTextDataPtr = boost::shared_ptr< GoldSaucerTextData >; + using GrandCompanyPtr = boost::shared_ptr< GrandCompany >; + using GrandCompanyRankPtr = boost::shared_ptr< GrandCompanyRank >; + using GuardianDeityPtr = boost::shared_ptr< GuardianDeity >; + using GuildleveAssignmentPtr = boost::shared_ptr< GuildleveAssignment >; + using GuildleveAssignmentCategoryPtr = boost::shared_ptr< GuildleveAssignmentCategory >; + using GuildOrderGuidePtr = boost::shared_ptr< GuildOrderGuide >; + using GuildOrderOfficerPtr = boost::shared_ptr< GuildOrderOfficer >; + using HairMakeTypePtr = boost::shared_ptr< HairMakeType >; + using HouseRetainerPosePtr = boost::shared_ptr< HouseRetainerPose >; + using HousingAethernetPtr = boost::shared_ptr< HousingAethernet >; + using HousingEmploymentNpcListPtr = boost::shared_ptr< HousingEmploymentNpcList >; + using HousingEmploymentNpcRacePtr = boost::shared_ptr< HousingEmploymentNpcRace >; + using HousingFurniturePtr = boost::shared_ptr< HousingFurniture >; + using HousingPlacementPtr = boost::shared_ptr< HousingPlacement >; + using HousingPresetPtr = boost::shared_ptr< HousingPreset >; + using HousingYardObjectPtr = boost::shared_ptr< HousingYardObject >; + using HowToPtr = boost::shared_ptr< HowTo >; + using HowToCategoryPtr = boost::shared_ptr< HowToCategory >; + using HowToPagePtr = boost::shared_ptr< HowToPage >; + using InstanceContentPtr = boost::shared_ptr< InstanceContent >; + using InstanceContentBuffPtr = boost::shared_ptr< InstanceContentBuff >; + using InstanceContentTextDataPtr = boost::shared_ptr< InstanceContentTextData >; + using ItemPtr = boost::shared_ptr< Item >; + using ItemActionPtr = boost::shared_ptr< ItemAction >; + using ItemFoodPtr = boost::shared_ptr< ItemFood >; + using ItemSearchCategoryPtr = boost::shared_ptr< ItemSearchCategory >; + using ItemSeriesPtr = boost::shared_ptr< ItemSeries >; + using ItemSpecialBonusPtr = boost::shared_ptr< ItemSpecialBonus >; + using ItemUICategoryPtr = boost::shared_ptr< ItemUICategory >; + using JournalCategoryPtr = boost::shared_ptr< JournalCategory >; + using JournalGenrePtr = boost::shared_ptr< JournalGenre >; + using JournalSectionPtr = boost::shared_ptr< JournalSection >; + using LevePtr = boost::shared_ptr< Leve >; + using LeveAssignmentTypePtr = boost::shared_ptr< LeveAssignmentType >; + using LeveClientPtr = boost::shared_ptr< LeveClient >; + using LevelPtr = boost::shared_ptr< Level >; + using LeveRewardItemPtr = boost::shared_ptr< LeveRewardItem >; + using LeveRewardItemGroupPtr = boost::shared_ptr< LeveRewardItemGroup >; + using LeveVfxPtr = boost::shared_ptr< LeveVfx >; + using LogFilterPtr = boost::shared_ptr< LogFilter >; + using LogKindPtr = boost::shared_ptr< LogKind >; + using LogKindCategoryTextPtr = boost::shared_ptr< LogKindCategoryText >; + using LogMessagePtr = boost::shared_ptr< LogMessage >; + using LotteryExchangeShopPtr = boost::shared_ptr< LotteryExchangeShop >; + using MacroIconPtr = boost::shared_ptr< MacroIcon >; + using MacroIconRedirectOldPtr = boost::shared_ptr< MacroIconRedirectOld >; + using MainCommandPtr = boost::shared_ptr< MainCommand >; + using MainCommandCategoryPtr = boost::shared_ptr< MainCommandCategory >; + using ManeuversArmorPtr = boost::shared_ptr< ManeuversArmor >; + using MapPtr = boost::shared_ptr< Map >; + using MapMarkerPtr = boost::shared_ptr< MapMarker >; + using MapMarkerRegionPtr = boost::shared_ptr< MapMarkerRegion >; + using MapSymbolPtr = boost::shared_ptr< MapSymbol >; + using MarkerPtr = boost::shared_ptr< Marker >; + using MasterpieceSupplyDutyPtr = boost::shared_ptr< MasterpieceSupplyDuty >; + using MasterpieceSupplyMultiplierPtr = boost::shared_ptr< MasterpieceSupplyMultiplier >; + using MateriaPtr = boost::shared_ptr< Materia >; + using MinionRacePtr = boost::shared_ptr< MinionRace >; + using MinionRulesPtr = boost::shared_ptr< MinionRules >; + using MinionSkillTypePtr = boost::shared_ptr< MinionSkillType >; + using MobHuntOrderTypePtr = boost::shared_ptr< MobHuntOrderType >; + using MobHuntTargetPtr = boost::shared_ptr< MobHuntTarget >; + using ModelCharaPtr = boost::shared_ptr< ModelChara >; + using ModelStatePtr = boost::shared_ptr< ModelState >; + using MonsterNotePtr = boost::shared_ptr< MonsterNote >; + using MonsterNoteTargetPtr = boost::shared_ptr< MonsterNoteTarget >; + using MountPtr = boost::shared_ptr< Mount >; + using MountActionPtr = boost::shared_ptr< MountAction >; + using MountCustomizePtr = boost::shared_ptr< MountCustomize >; + using MountFlyingConditionPtr = boost::shared_ptr< MountFlyingCondition >; + using MountSpeedPtr = boost::shared_ptr< MountSpeed >; + using MountTransientPtr = boost::shared_ptr< MountTransient >; + using MoveTimelinePtr = boost::shared_ptr< MoveTimeline >; + using MoveVfxPtr = boost::shared_ptr< MoveVfx >; + using NpcEquipPtr = boost::shared_ptr< NpcEquip >; + using NpcYellPtr = boost::shared_ptr< NpcYell >; + using OmenPtr = boost::shared_ptr< Omen >; + using OnlineStatusPtr = boost::shared_ptr< OnlineStatus >; + using OpeningPtr = boost::shared_ptr< Opening >; + using OrchestrionPtr = boost::shared_ptr< Orchestrion >; + using OrchestrionCategoryPtr = boost::shared_ptr< OrchestrionCategory >; + using OrchestrionPathPtr = boost::shared_ptr< OrchestrionPath >; + using OrchestrionUiparamPtr = boost::shared_ptr< OrchestrionUiparam >; + using ParamGrowPtr = boost::shared_ptr< ParamGrow >; + using PartyContentCutscenePtr = boost::shared_ptr< PartyContentCutscene >; + using PerformPtr = boost::shared_ptr< Perform >; + using PerformTransientPtr = boost::shared_ptr< PerformTransient >; + using PetPtr = boost::shared_ptr< Pet >; + using PetActionPtr = boost::shared_ptr< PetAction >; + using PicturePtr = boost::shared_ptr< Picture >; + using PlaceNamePtr = boost::shared_ptr< PlaceName >; + using PlantPotFlowerSeedPtr = boost::shared_ptr< PlantPotFlowerSeed >; + using PreHandlerPtr = boost::shared_ptr< PreHandler >; + using PublicContentPtr = boost::shared_ptr< PublicContent >; + using PublicContentCutscenePtr = boost::shared_ptr< PublicContentCutscene >; + using PublicContentTextDataPtr = boost::shared_ptr< PublicContentTextData >; + using PvPActionPtr = boost::shared_ptr< PvPAction >; + using PvPActionSortPtr = boost::shared_ptr< PvPActionSort >; + using PvPRankPtr = boost::shared_ptr< PvPRank >; + using PvPSelectTraitPtr = boost::shared_ptr< PvPSelectTrait >; + using PvPTraitPtr = boost::shared_ptr< PvPTrait >; + using QuestPtr = boost::shared_ptr< Quest >; + using QuestClassJobRewardPtr = boost::shared_ptr< QuestClassJobReward >; + using QuestClassJobSupplyPtr = boost::shared_ptr< QuestClassJobSupply >; + using QuestRepeatFlagPtr = boost::shared_ptr< QuestRepeatFlag >; + using QuestRewardOtherPtr = boost::shared_ptr< QuestRewardOther >; + using QuickChatPtr = boost::shared_ptr< QuickChat >; + using QuickChatTransientPtr = boost::shared_ptr< QuickChatTransient >; + using RacePtr = boost::shared_ptr< Race >; + using RacingChocoboItemPtr = boost::shared_ptr< RacingChocoboItem >; + using RacingChocoboNamePtr = boost::shared_ptr< RacingChocoboName >; + using RacingChocoboNameCategoryPtr = boost::shared_ptr< RacingChocoboNameCategory >; + using RacingChocoboNameInfoPtr = boost::shared_ptr< RacingChocoboNameInfo >; + using RacingChocoboParamPtr = boost::shared_ptr< RacingChocoboParam >; + using RecipePtr = boost::shared_ptr< Recipe >; + using RecipeElementPtr = boost::shared_ptr< RecipeElement >; + using RecipeLevelTablePtr = boost::shared_ptr< RecipeLevelTable >; + using RecipeNotebookListPtr = boost::shared_ptr< RecipeNotebookList >; + using RecommendContentsPtr = boost::shared_ptr< RecommendContents >; + using RelicPtr = boost::shared_ptr< Relic >; + using Relic3Ptr = boost::shared_ptr< Relic3 >; + using RelicItemPtr = boost::shared_ptr< RelicItem >; + using RelicNotePtr = boost::shared_ptr< RelicNote >; + using RelicNoteCategoryPtr = boost::shared_ptr< RelicNoteCategory >; + using ResidentPtr = boost::shared_ptr< Resident >; + using RetainerTaskPtr = boost::shared_ptr< RetainerTask >; + using RetainerTaskLvRangePtr = boost::shared_ptr< RetainerTaskLvRange >; + using RetainerTaskNormalPtr = boost::shared_ptr< RetainerTaskNormal >; + using RetainerTaskParameterPtr = boost::shared_ptr< RetainerTaskParameter >; + using RetainerTaskRandomPtr = boost::shared_ptr< RetainerTaskRandom >; + using RPParameterPtr = boost::shared_ptr< RPParameter >; + using SalvagePtr = boost::shared_ptr< Salvage >; + using SatisfactionNpcPtr = boost::shared_ptr< SatisfactionNpc >; + using SatisfactionSupplyPtr = boost::shared_ptr< SatisfactionSupply >; + using SatisfactionSupplyRewardPtr = boost::shared_ptr< SatisfactionSupplyReward >; + using ScenarioTreePtr = boost::shared_ptr< ScenarioTree >; + using ScenarioTreeTipsPtr = boost::shared_ptr< ScenarioTreeTips >; + using ScenarioTreeTipsClassQuestPtr = boost::shared_ptr< ScenarioTreeTipsClassQuest >; + using ScenarioTreeTipsQuestPtr = boost::shared_ptr< ScenarioTreeTipsQuest >; + using ScenarioTypePtr = boost::shared_ptr< ScenarioType >; + using ScreenImagePtr = boost::shared_ptr< ScreenImage >; + using SecretRecipeBookPtr = boost::shared_ptr< SecretRecipeBook >; + using SkyIsland2MissionPtr = boost::shared_ptr< SkyIsland2Mission >; + using SkyIsland2MissionDetailPtr = boost::shared_ptr< SkyIsland2MissionDetail >; + using SkyIsland2MissionTypePtr = boost::shared_ptr< SkyIsland2MissionType >; + using SkyIsland2RangeTypePtr = boost::shared_ptr< SkyIsland2RangeType >; + using SpearfishingItemPtr = boost::shared_ptr< SpearfishingItem >; + using SpearfishingNotebookPtr = boost::shared_ptr< SpearfishingNotebook >; + using SpearfishingRecordPagePtr = boost::shared_ptr< SpearfishingRecordPage >; + using SpecialShopPtr = boost::shared_ptr< SpecialShop >; + using SpecialShopItemCategoryPtr = boost::shared_ptr< SpecialShopItemCategory >; + using StainPtr = boost::shared_ptr< Stain >; + using StainTransientPtr = boost::shared_ptr< StainTransient >; + using StatusPtr = boost::shared_ptr< Status >; + using StatusHitEffectPtr = boost::shared_ptr< StatusHitEffect >; + using StatusLoopVFXPtr = boost::shared_ptr< StatusLoopVFX >; + using StoryPtr = boost::shared_ptr< Story >; + using SubmarineExplorationPtr = boost::shared_ptr< SubmarineExploration >; + using SubmarinePartPtr = boost::shared_ptr< SubmarinePart >; + using SubmarineRankPtr = boost::shared_ptr< SubmarineRank >; + using SwitchTalkPtr = boost::shared_ptr< SwitchTalk >; + using TerritoryTypePtr = boost::shared_ptr< TerritoryType >; + using TextCommandPtr = boost::shared_ptr< TextCommand >; + using TitlePtr = boost::shared_ptr< Title >; + using TomestonesPtr = boost::shared_ptr< Tomestones >; + using TomestonesItemPtr = boost::shared_ptr< TomestonesItem >; + using TopicSelectPtr = boost::shared_ptr< TopicSelect >; + using TownPtr = boost::shared_ptr< Town >; + using TraitPtr = boost::shared_ptr< Trait >; + using TraitRecastPtr = boost::shared_ptr< TraitRecast >; + using TraitTransientPtr = boost::shared_ptr< TraitTransient >; + using TransformationPtr = boost::shared_ptr< Transformation >; + using TreasurePtr = boost::shared_ptr< Treasure >; + using TreasureHuntRankPtr = boost::shared_ptr< TreasureHuntRank >; + using TribePtr = boost::shared_ptr< Tribe >; + using TripleTriadPtr = boost::shared_ptr< TripleTriad >; + using TripleTriadCardPtr = boost::shared_ptr< TripleTriadCard >; + using TripleTriadCardRarityPtr = boost::shared_ptr< TripleTriadCardRarity >; + using TripleTriadCardResidentPtr = boost::shared_ptr< TripleTriadCardResident >; + using TripleTriadCardTypePtr = boost::shared_ptr< TripleTriadCardType >; + using TripleTriadCompetitionPtr = boost::shared_ptr< TripleTriadCompetition >; + using TripleTriadRulePtr = boost::shared_ptr< TripleTriadRule >; + using TutorialPtr = boost::shared_ptr< Tutorial >; + using TutorialDPSPtr = boost::shared_ptr< TutorialDPS >; + using TutorialHealerPtr = boost::shared_ptr< TutorialHealer >; + using TutorialTankPtr = boost::shared_ptr< TutorialTank >; + using VaseFlowerPtr = boost::shared_ptr< VaseFlower >; + using VFXPtr = boost::shared_ptr< VFX >; + using WarpPtr = boost::shared_ptr< Warp >; + using WarpConditionPtr = boost::shared_ptr< WarpCondition >; + using WarpLogicPtr = boost::shared_ptr< WarpLogic >; + using WeatherPtr = boost::shared_ptr< Weather >; + using WeatherGroupPtr = boost::shared_ptr< WeatherGroup >; + using WeatherRatePtr = boost::shared_ptr< WeatherRate >; + using WeddingBGMPtr = boost::shared_ptr< WeddingBGM >; + using WeeklyBingoOrderDataPtr = boost::shared_ptr< WeeklyBingoOrderData >; + using WeeklyBingoRewardDataPtr = boost::shared_ptr< WeeklyBingoRewardData >; + using WeeklyBingoTextPtr = boost::shared_ptr< WeeklyBingoText >; + using WeeklyLotBonusPtr = boost::shared_ptr< WeeklyLotBonus >; + using WorldPtr = boost::shared_ptr< World >; + using WorldDCGroupTypePtr = boost::shared_ptr< WorldDCGroupType >; + using YKWPtr = boost::shared_ptr< YKW >; + using ZoneSharedGroupPtr = boost::shared_ptr< ZoneSharedGroup >; + + template< class T > + boost::shared_ptr< T > get( uint32_t id ) + { + try + { + auto info = boost::make_shared< T >( id, this ); + return info; + } + catch( ... ) + { + return nullptr; + } + return nullptr; + } + + + std::set< uint32_t > m_AchievementIdList; + std::set< uint32_t > m_AchievementCategoryIdList; + std::set< uint32_t > m_AchievementKindIdList; + std::set< uint32_t > m_ActionIdList; + std::set< uint32_t > m_ActionCastTimelineIdList; + std::set< uint32_t > m_ActionCastVFXIdList; + std::set< uint32_t > m_ActionCategoryIdList; + std::set< uint32_t > m_ActionComboRouteIdList; + std::set< uint32_t > m_ActionIndirectionIdList; + std::set< uint32_t > m_ActionParamIdList; + std::set< uint32_t > m_ActionProcStatusIdList; + std::set< uint32_t > m_ActionTimelineIdList; + std::set< uint32_t > m_ActionTimelineMoveIdList; + std::set< uint32_t > m_ActionTimelineReplaceIdList; + std::set< uint32_t > m_ActionTransientIdList; + std::set< uint32_t > m_ActivityFeedButtonsIdList; + std::set< uint32_t > m_ActivityFeedCaptionsIdList; + 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; + std::set< uint32_t > m_AetherCurrentCompFlgSetIdList; + std::set< uint32_t > m_AetherialWheelIdList; + std::set< uint32_t > m_AetheryteIdList; + std::set< uint32_t > m_AetheryteSystemDefineIdList; + std::set< uint32_t > m_AirshipExplorationLevelIdList; + std::set< uint32_t > m_AirshipExplorationLogIdList; + std::set< uint32_t > m_AirshipExplorationParamTypeIdList; + std::set< uint32_t > m_AirshipExplorationPartIdList; + std::set< uint32_t > m_AirshipExplorationPointIdList; + std::set< uint32_t > m_AnimaWeapon5IdList; + std::set< uint32_t > m_AnimaWeapon5ParamIdList; + std::set< uint32_t > m_AnimaWeapon5PatternGroupIdList; + std::set< uint32_t > m_AnimaWeapon5SpiritTalkIdList; + std::set< uint32_t > m_AnimaWeapon5SpiritTalkParamIdList; + std::set< uint32_t > m_AnimaWeapon5TradeItemIdList; + std::set< uint32_t > m_AnimaWeaponFUITalkIdList; + std::set< uint32_t > m_AnimaWeaponFUITalkParamIdList; + std::set< uint32_t > m_AnimaWeaponIconIdList; + std::set< uint32_t > m_AnimaWeaponItemIdList; + std::set< uint32_t > m_AquariumFishIdList; + std::set< uint32_t > m_AquariumWaterIdList; + std::set< uint32_t > m_ArrayEventHandlerIdList; + std::set< uint32_t > m_AttackTypeIdList; + std::set< uint32_t > m_BacklightColorIdList; + std::set< uint32_t > m_BalloonIdList; + std::set< uint32_t > m_BaseParamIdList; + std::set< uint32_t > m_BattleLeveIdList; + std::set< uint32_t > m_BeastRankBonusIdList; + std::set< uint32_t > m_BeastReputationRankIdList; + std::set< uint32_t > m_BeastTribeIdList; + std::set< uint32_t > m_BehaviorIdList; + std::set< uint32_t > m_BGMIdList; + std::set< uint32_t > m_BGMFadeIdList; + std::set< uint32_t > m_BGMSituationIdList; + std::set< uint32_t > m_BGMSwitchIdList; + std::set< uint32_t > m_BGMSystemDefineIdList; + std::set< uint32_t > m_BNpcAnnounceIconIdList; + std::set< uint32_t > m_BNpcBaseIdList; + std::set< uint32_t > m_BNpcCustomizeIdList; + std::set< uint32_t > m_BNpcNameIdList; + std::set< uint32_t > m_BNpcPartsIdList; + std::set< uint32_t > m_BuddyIdList; + std::set< uint32_t > m_BuddyActionIdList; + std::set< uint32_t > m_BuddyEquipIdList; + std::set< uint32_t > m_BuddyItemIdList; + std::set< uint32_t > m_BuddyRankIdList; + std::set< uint32_t > m_BuddySkillIdList; + std::set< uint32_t > m_CabinetIdList; + std::set< uint32_t > m_CabinetCategoryIdList; + std::set< uint32_t > m_CalendarIdList; + std::set< uint32_t > m_CharaMakeCustomizeIdList; + std::set< uint32_t > m_CharaMakeTypeIdList; + std::set< uint32_t > m_ChocoboRaceIdList; + std::set< uint32_t > m_ChocoboRaceAbilityIdList; + std::set< uint32_t > m_ChocoboRaceAbilityTypeIdList; + std::set< uint32_t > m_ChocoboRaceItemIdList; + std::set< uint32_t > m_ChocoboRaceRankIdList; + std::set< uint32_t > m_ChocoboRaceStatusIdList; + std::set< uint32_t > m_ChocoboRaceTerritoryIdList; + std::set< uint32_t > m_ChocoboRaceTutorialIdList; + std::set< uint32_t > m_ChocoboRaceWeatherIdList; + std::set< uint32_t > m_ChocoboTaxiIdList; + std::set< uint32_t > m_ChocoboTaxiStandIdList; + std::set< uint32_t > m_ClassJobIdList; + std::set< uint32_t > m_ClassJobCategoryIdList; + std::set< uint32_t > m_CompanionIdList; + std::set< uint32_t > m_CompanionMoveIdList; + std::set< uint32_t > m_CompanionTransientIdList; + std::set< uint32_t > m_CompanyActionIdList; + std::set< uint32_t > m_CompanyCraftDraftIdList; + std::set< uint32_t > m_CompanyCraftDraftCategoryIdList; + std::set< uint32_t > m_CompanyCraftManufactoryStateIdList; + std::set< uint32_t > m_CompanyCraftPartIdList; + std::set< uint32_t > m_CompanyCraftProcessIdList; + std::set< uint32_t > m_CompanyCraftSequenceIdList; + std::set< uint32_t > m_CompanyCraftSupplyItemIdList; + std::set< uint32_t > m_CompanyCraftTypeIdList; + std::set< uint32_t > m_CompleteJournalIdList; + std::set< uint32_t > m_CompleteJournalCategoryIdList; + std::set< uint32_t > m_ContentCloseCycleIdList; + std::set< uint32_t > m_ContentExActionIdList; + std::set< uint32_t > m_ContentFinderConditionIdList; + std::set< uint32_t > m_ContentFinderConditionTransientIdList; + std::set< uint32_t > m_ContentGaugeIdList; + std::set< uint32_t > m_ContentGaugeColorIdList; + std::set< uint32_t > m_ContentMemberTypeIdList; + std::set< uint32_t > m_ContentNpcTalkIdList; + std::set< uint32_t > m_ContentRouletteIdList; + std::set< uint32_t > m_ContentRouletteOpenRuleIdList; + std::set< uint32_t > m_ContentRouletteRoleBonusIdList; + std::set< uint32_t > m_ContentsNoteIdList; + std::set< uint32_t > m_ContentTalkIdList; + std::set< uint32_t > m_ContentTalkParamIdList; + std::set< uint32_t > m_ContentTypeIdList; + std::set< uint32_t > m_CraftActionIdList; + std::set< uint32_t > m_CraftLeveIdList; + std::set< uint32_t > m_CraftTypeIdList; + std::set< uint32_t > m_CreditIdList; + std::set< uint32_t > m_CreditCastIdList; + std::set< uint32_t > m_CurrencyIdList; + std::set< uint32_t > m_CustomTalkIdList; + std::set< uint32_t > m_CutsceneIdList; + std::set< uint32_t > m_CutScreenImageIdList; + std::set< uint32_t > m_DailySupplyItemIdList; + std::set< uint32_t > m_DeepDungeonIdList; + std::set< uint32_t > m_DeepDungeonBanIdList; + std::set< uint32_t > m_DeepDungeonDangerIdList; + std::set< uint32_t > m_DeepDungeonEquipmentIdList; + std::set< uint32_t > m_DeepDungeonFloorEffectUIIdList; + std::set< uint32_t > m_DeepDungeonItemIdList; + std::set< uint32_t > m_DeepDungeonLayerIdList; + std::set< uint32_t > m_DeepDungeonMagicStoneIdList; + std::set< uint32_t > m_DeepDungeonMap5XIdList; + std::set< uint32_t > m_DeepDungeonRoomIdList; + std::set< uint32_t > m_DeepDungeonStatusIdList; + std::set< uint32_t > m_DefaultTalkIdList; + std::set< uint32_t > m_DefaultTalkLipSyncTypeIdList; + std::set< uint32_t > m_DeliveryQuestIdList; + std::set< uint32_t > m_DisposalShopIdList; + std::set< uint32_t > m_DisposalShopFilterTypeIdList; + std::set< uint32_t > m_DisposalShopItemIdList; + std::set< uint32_t > m_DpsChallengeIdList; + std::set< uint32_t > m_DpsChallengeOfficerIdList; + std::set< uint32_t > m_DpsChallengeTransientIdList; + std::set< uint32_t > m_EmoteIdList; + std::set< uint32_t > m_EmoteCategoryIdList; + std::set< uint32_t > m_ENpcBaseIdList; + std::set< uint32_t > m_ENpcResidentIdList; + std::set< uint32_t > m_EObjIdList; + std::set< uint32_t > m_EObjNameIdList; + std::set< uint32_t > m_EquipRaceCategoryIdList; + std::set< uint32_t > m_EquipSlotCategoryIdList; + std::set< uint32_t > m_EurekaAethernetIdList; + std::set< uint32_t > m_EurekaGrowDataIdList; + std::set< uint32_t > m_EurekaSphereElementAdjustIdList; + std::set< uint32_t > m_EventActionIdList; + std::set< uint32_t > m_EventIconPriorityIdList; + std::set< uint32_t > m_EventIconTypeIdList; + std::set< uint32_t > m_EventItemIdList; + std::set< uint32_t > m_EventItemCastTimelineIdList; + std::set< uint32_t > m_EventItemHelpIdList; + std::set< uint32_t > m_EventItemTimelineIdList; + std::set< uint32_t > m_ExportedSGIdList; + std::set< uint32_t > m_ExVersionIdList; + std::set< uint32_t > m_FateIdList; + std::set< uint32_t > m_FCActivityIdList; + std::set< uint32_t > m_FCActivityCategoryIdList; + std::set< uint32_t > m_FCAuthorityIdList; + std::set< uint32_t > m_FCAuthorityCategoryIdList; + std::set< uint32_t > m_FCChestNameIdList; + std::set< uint32_t > m_FccShopIdList; + std::set< uint32_t > m_FCHierarchyIdList; + std::set< uint32_t > m_FCProfileIdList; + std::set< uint32_t > m_FCReputationIdList; + std::set< uint32_t > m_FCRightsIdList; + std::set< uint32_t > m_FieldMarkerIdList; + std::set< uint32_t > m_FishingRecordTypeTransientIdList; + std::set< uint32_t > m_FishingSpotIdList; + std::set< uint32_t > m_FishParameterIdList; + std::set< uint32_t > m_Frontline03IdList; + std::set< uint32_t > m_Frontline04IdList; + std::set< uint32_t > m_GardeningSeedIdList; + std::set< uint32_t > m_GatheringConditionIdList; + std::set< uint32_t > m_GatheringExpIdList; + std::set< uint32_t > m_GatheringItemIdList; + std::set< uint32_t > m_GatheringItemLevelConvertTableIdList; + std::set< uint32_t > m_GatheringItemPointIdList; + std::set< uint32_t > m_GatheringLeveIdList; + std::set< uint32_t > m_GatheringLeveRouteIdList; + std::set< uint32_t > m_GatheringNotebookListIdList; + std::set< uint32_t > m_GatheringPointIdList; + std::set< uint32_t > m_GatheringPointBaseIdList; + std::set< uint32_t > m_GatheringPointBonusIdList; + std::set< uint32_t > m_GatheringPointBonusTypeIdList; + std::set< uint32_t > m_GatheringPointNameIdList; + std::set< uint32_t > m_GatheringSubCategoryIdList; + std::set< uint32_t > m_GatheringTypeIdList; + std::set< uint32_t > m_GcArmyCaptureTacticsIdList; + std::set< uint32_t > m_GcArmyExpeditionIdList; + std::set< uint32_t > m_GcArmyExpeditionMemberBonusIdList; + std::set< uint32_t > m_GcArmyExpeditionTypeIdList; + std::set< uint32_t > m_GcArmyMemberGrowIdList; + std::set< uint32_t > m_GcArmyTrainingIdList; + std::set< uint32_t > m_GCRankGridaniaFemaleTextIdList; + std::set< uint32_t > m_GCRankGridaniaMaleTextIdList; + std::set< uint32_t > m_GCRankLimsaFemaleTextIdList; + std::set< uint32_t > m_GCRankLimsaMaleTextIdList; + std::set< uint32_t > m_GCRankUldahFemaleTextIdList; + std::set< uint32_t > m_GCRankUldahMaleTextIdList; + std::set< uint32_t > m_GCScripShopCategoryIdList; + std::set< uint32_t > m_GCScripShopItemIdList; + std::set< uint32_t > m_GCShopIdList; + std::set< uint32_t > m_GCShopItemCategoryIdList; + std::set< uint32_t > m_GCSupplyDutyIdList; + std::set< uint32_t > m_GCSupplyDutyRewardIdList; + std::set< uint32_t > m_GeneralActionIdList; + std::set< uint32_t > m_GFATEIdList; + std::set< uint32_t > m_GilShopIdList; + std::set< uint32_t > m_GilShopItemIdList; + std::set< uint32_t > m_GoldSaucerArcadeMachineIdList; + std::set< uint32_t > m_GoldSaucerTextDataIdList; + std::set< uint32_t > m_GrandCompanyIdList; + std::set< uint32_t > m_GrandCompanyRankIdList; + std::set< uint32_t > m_GuardianDeityIdList; + std::set< uint32_t > m_GuildleveAssignmentIdList; + std::set< uint32_t > m_GuildleveAssignmentCategoryIdList; + std::set< uint32_t > m_GuildOrderGuideIdList; + std::set< uint32_t > m_GuildOrderOfficerIdList; + std::set< uint32_t > m_HairMakeTypeIdList; + std::set< uint32_t > m_HouseRetainerPoseIdList; + std::set< uint32_t > m_HousingAethernetIdList; + std::set< uint32_t > m_HousingEmploymentNpcListIdList; + std::set< uint32_t > m_HousingEmploymentNpcRaceIdList; + std::set< uint32_t > m_HousingFurnitureIdList; + std::set< uint32_t > m_HousingPlacementIdList; + std::set< uint32_t > m_HousingPresetIdList; + std::set< uint32_t > m_HousingYardObjectIdList; + std::set< uint32_t > m_HowToIdList; + std::set< uint32_t > m_HowToCategoryIdList; + std::set< uint32_t > m_HowToPageIdList; + std::set< uint32_t > m_InstanceContentIdList; + std::set< uint32_t > m_InstanceContentBuffIdList; + std::set< uint32_t > m_InstanceContentTextDataIdList; + std::set< uint32_t > m_ItemIdList; + std::set< uint32_t > m_ItemActionIdList; + std::set< uint32_t > m_ItemFoodIdList; + std::set< uint32_t > m_ItemSearchCategoryIdList; + std::set< uint32_t > m_ItemSeriesIdList; + std::set< uint32_t > m_ItemSpecialBonusIdList; + std::set< uint32_t > m_ItemUICategoryIdList; + std::set< uint32_t > m_JournalCategoryIdList; + std::set< uint32_t > m_JournalGenreIdList; + std::set< uint32_t > m_JournalSectionIdList; + std::set< uint32_t > m_LeveIdList; + std::set< uint32_t > m_LeveAssignmentTypeIdList; + std::set< uint32_t > m_LeveClientIdList; + std::set< uint32_t > m_LevelIdList; + std::set< uint32_t > m_LeveRewardItemIdList; + std::set< uint32_t > m_LeveRewardItemGroupIdList; + std::set< uint32_t > m_LeveVfxIdList; + std::set< uint32_t > m_LogFilterIdList; + std::set< uint32_t > m_LogKindIdList; + std::set< uint32_t > m_LogKindCategoryTextIdList; + std::set< uint32_t > m_LogMessageIdList; + std::set< uint32_t > m_LotteryExchangeShopIdList; + std::set< uint32_t > m_MacroIconIdList; + std::set< uint32_t > m_MacroIconRedirectOldIdList; + std::set< uint32_t > m_MainCommandIdList; + std::set< uint32_t > m_MainCommandCategoryIdList; + std::set< uint32_t > m_ManeuversArmorIdList; + std::set< uint32_t > m_MapIdList; + std::set< uint32_t > m_MapMarkerIdList; + std::set< uint32_t > m_MapMarkerRegionIdList; + std::set< uint32_t > m_MapSymbolIdList; + std::set< uint32_t > m_MarkerIdList; + std::set< uint32_t > m_MasterpieceSupplyDutyIdList; + std::set< uint32_t > m_MasterpieceSupplyMultiplierIdList; + std::set< uint32_t > m_MateriaIdList; + std::set< uint32_t > m_MinionRaceIdList; + std::set< uint32_t > m_MinionRulesIdList; + std::set< uint32_t > m_MinionSkillTypeIdList; + std::set< uint32_t > m_MobHuntOrderTypeIdList; + std::set< uint32_t > m_MobHuntTargetIdList; + std::set< uint32_t > m_ModelCharaIdList; + std::set< uint32_t > m_ModelStateIdList; + std::set< uint32_t > m_MonsterNoteIdList; + std::set< uint32_t > m_MonsterNoteTargetIdList; + std::set< uint32_t > m_MountIdList; + std::set< uint32_t > m_MountActionIdList; + std::set< uint32_t > m_MountCustomizeIdList; + std::set< uint32_t > m_MountFlyingConditionIdList; + std::set< uint32_t > m_MountSpeedIdList; + std::set< uint32_t > m_MountTransientIdList; + std::set< uint32_t > m_MoveTimelineIdList; + std::set< uint32_t > m_MoveVfxIdList; + 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_OpeningIdList; + std::set< uint32_t > m_OrchestrionIdList; + std::set< uint32_t > m_OrchestrionCategoryIdList; + std::set< uint32_t > m_OrchestrionPathIdList; + std::set< uint32_t > m_OrchestrionUiparamIdList; + std::set< uint32_t > m_ParamGrowIdList; + std::set< uint32_t > m_PartyContentCutsceneIdList; + std::set< uint32_t > m_PerformIdList; + std::set< uint32_t > m_PerformTransientIdList; + std::set< uint32_t > m_PetIdList; + std::set< uint32_t > m_PetActionIdList; + std::set< uint32_t > m_PictureIdList; + std::set< uint32_t > m_PlaceNameIdList; + std::set< uint32_t > m_PlantPotFlowerSeedIdList; + std::set< uint32_t > m_PreHandlerIdList; + std::set< uint32_t > m_PublicContentIdList; + std::set< uint32_t > m_PublicContentCutsceneIdList; + std::set< uint32_t > m_PublicContentTextDataIdList; + std::set< uint32_t > m_PvPActionIdList; + std::set< uint32_t > m_PvPActionSortIdList; + std::set< uint32_t > m_PvPRankIdList; + std::set< uint32_t > m_PvPSelectTraitIdList; + std::set< uint32_t > m_PvPTraitIdList; + std::set< uint32_t > m_QuestIdList; + std::set< uint32_t > m_QuestClassJobRewardIdList; + std::set< uint32_t > m_QuestClassJobSupplyIdList; + std::set< uint32_t > m_QuestRepeatFlagIdList; + std::set< uint32_t > m_QuestRewardOtherIdList; + std::set< uint32_t > m_QuickChatIdList; + std::set< uint32_t > m_QuickChatTransientIdList; + std::set< uint32_t > m_RaceIdList; + std::set< uint32_t > m_RacingChocoboItemIdList; + std::set< uint32_t > m_RacingChocoboNameIdList; + std::set< uint32_t > m_RacingChocoboNameCategoryIdList; + std::set< uint32_t > m_RacingChocoboNameInfoIdList; + std::set< uint32_t > m_RacingChocoboParamIdList; + std::set< uint32_t > m_RecipeIdList; + std::set< uint32_t > m_RecipeElementIdList; + std::set< uint32_t > m_RecipeLevelTableIdList; + std::set< uint32_t > m_RecipeNotebookListIdList; + std::set< uint32_t > m_RecommendContentsIdList; + std::set< uint32_t > m_RelicIdList; + std::set< uint32_t > m_Relic3IdList; + std::set< uint32_t > m_RelicItemIdList; + std::set< uint32_t > m_RelicNoteIdList; + std::set< uint32_t > m_RelicNoteCategoryIdList; + std::set< uint32_t > m_ResidentIdList; + std::set< uint32_t > m_RetainerTaskIdList; + std::set< uint32_t > m_RetainerTaskLvRangeIdList; + std::set< uint32_t > m_RetainerTaskNormalIdList; + std::set< uint32_t > m_RetainerTaskParameterIdList; + std::set< uint32_t > m_RetainerTaskRandomIdList; + std::set< uint32_t > m_RPParameterIdList; + std::set< uint32_t > m_SalvageIdList; + std::set< uint32_t > m_SatisfactionNpcIdList; + std::set< uint32_t > m_SatisfactionSupplyIdList; + std::set< uint32_t > m_SatisfactionSupplyRewardIdList; + std::set< uint32_t > m_ScenarioTreeIdList; + std::set< uint32_t > m_ScenarioTreeTipsIdList; + std::set< uint32_t > m_ScenarioTreeTipsClassQuestIdList; + std::set< uint32_t > m_ScenarioTreeTipsQuestIdList; + std::set< uint32_t > m_ScenarioTypeIdList; + std::set< uint32_t > m_ScreenImageIdList; + std::set< uint32_t > m_SecretRecipeBookIdList; + std::set< uint32_t > m_SkyIsland2MissionIdList; + std::set< uint32_t > m_SkyIsland2MissionDetailIdList; + std::set< uint32_t > m_SkyIsland2MissionTypeIdList; + std::set< uint32_t > m_SkyIsland2RangeTypeIdList; + std::set< uint32_t > m_SpearfishingItemIdList; + std::set< uint32_t > m_SpearfishingNotebookIdList; + std::set< uint32_t > m_SpearfishingRecordPageIdList; + std::set< uint32_t > m_SpecialShopIdList; + std::set< uint32_t > m_SpecialShopItemCategoryIdList; + std::set< uint32_t > m_StainIdList; + std::set< uint32_t > m_StainTransientIdList; + std::set< uint32_t > m_StatusIdList; + std::set< uint32_t > m_StatusHitEffectIdList; + std::set< uint32_t > m_StatusLoopVFXIdList; + std::set< uint32_t > m_StoryIdList; + std::set< uint32_t > m_SubmarineExplorationIdList; + std::set< uint32_t > m_SubmarinePartIdList; + std::set< uint32_t > m_SubmarineRankIdList; + std::set< uint32_t > m_SwitchTalkIdList; + std::set< uint32_t > m_TerritoryTypeIdList; + std::set< uint32_t > m_TextCommandIdList; + std::set< uint32_t > m_TitleIdList; + std::set< uint32_t > m_TomestonesIdList; + std::set< uint32_t > m_TomestonesItemIdList; + std::set< uint32_t > m_TopicSelectIdList; + std::set< uint32_t > m_TownIdList; + std::set< uint32_t > m_TraitIdList; + std::set< uint32_t > m_TraitRecastIdList; + std::set< uint32_t > m_TraitTransientIdList; + std::set< uint32_t > m_TransformationIdList; + std::set< uint32_t > m_TreasureIdList; + std::set< uint32_t > m_TreasureHuntRankIdList; + std::set< uint32_t > m_TribeIdList; + std::set< uint32_t > m_TripleTriadIdList; + std::set< uint32_t > m_TripleTriadCardIdList; + std::set< uint32_t > m_TripleTriadCardRarityIdList; + std::set< uint32_t > m_TripleTriadCardResidentIdList; + std::set< uint32_t > m_TripleTriadCardTypeIdList; + std::set< uint32_t > m_TripleTriadCompetitionIdList; + std::set< uint32_t > m_TripleTriadRuleIdList; + std::set< uint32_t > m_TutorialIdList; + std::set< uint32_t > m_TutorialDPSIdList; + std::set< uint32_t > m_TutorialHealerIdList; + std::set< uint32_t > m_TutorialTankIdList; + std::set< uint32_t > m_VaseFlowerIdList; + std::set< uint32_t > m_VFXIdList; + std::set< uint32_t > m_WarpIdList; + std::set< uint32_t > m_WarpConditionIdList; + std::set< uint32_t > m_WarpLogicIdList; + std::set< uint32_t > m_WeatherIdList; + std::set< uint32_t > m_WeatherGroupIdList; + std::set< uint32_t > m_WeatherRateIdList; + std::set< uint32_t > m_WeddingBGMIdList; + std::set< uint32_t > m_WeeklyBingoOrderDataIdList; + std::set< uint32_t > m_WeeklyBingoRewardDataIdList; + std::set< uint32_t > m_WeeklyBingoTextIdList; + std::set< uint32_t > m_WeeklyLotBonusIdList; + std::set< uint32_t > m_WorldIdList; + std::set< uint32_t > m_WorldDCGroupTypeIdList; + std::set< uint32_t > m_YKWIdList; + std::set< uint32_t > m_ZoneSharedGroupIdList; + + +const std::set< uint32_t >& getAchievementIdList() { -public: - ExdDataGenerated(); - - ~ExdDataGenerated(); - - bool init( const std::string& path ); - - xiv::exd::Exd setupDatAccess( const std::string& name, xiv::exd::Language lang ); - - template< class T > - T getField( std::vector< xiv::exd::Field >& fields, uint32_t index ) - { - return *boost::get< T >( &fields.at( index ) ); - } - - void loadIdList( xiv::exd::Exd& data, std::set< uint32_t >& outIdList ); - - boost::shared_ptr< xiv::dat::GameData > m_data; - boost::shared_ptr< xiv::exd::ExdData > m_exd_data; - - xiv::exd::Exd m_AchievementDat; - xiv::exd::Exd m_AchievementCategoryDat; - xiv::exd::Exd m_AchievementKindDat; - xiv::exd::Exd m_ActionDat; - xiv::exd::Exd m_ActionCastTimelineDat; - xiv::exd::Exd m_ActionCastVFXDat; - xiv::exd::Exd m_ActionCategoryDat; - xiv::exd::Exd m_ActionComboRouteDat; - xiv::exd::Exd m_ActionIndirectionDat; - xiv::exd::Exd m_ActionParamDat; - xiv::exd::Exd m_ActionProcStatusDat; - xiv::exd::Exd m_ActionTimelineDat; - xiv::exd::Exd m_ActionTimelineReplaceDat; - xiv::exd::Exd m_ActionTransientDat; - xiv::exd::Exd m_AddonDat; - xiv::exd::Exd m_AdventureDat; - xiv::exd::Exd m_AdventureExPhaseDat; - xiv::exd::Exd m_AetherCurrentDat; - xiv::exd::Exd m_AetherCurrentCompFlgSetDat; - xiv::exd::Exd m_AetherialWheelDat; - xiv::exd::Exd m_AetheryteDat; - xiv::exd::Exd m_AirshipExplorationLevelDat; - xiv::exd::Exd m_AirshipExplorationLogDat; - xiv::exd::Exd m_AirshipExplorationParamTypeDat; - xiv::exd::Exd m_AirshipExplorationPartDat; - xiv::exd::Exd m_AirshipExplorationPointDat; - xiv::exd::Exd m_AnimaWeapon5Dat; - xiv::exd::Exd m_AnimaWeapon5ParamDat; - xiv::exd::Exd m_AnimaWeapon5PatternGroupDat; - xiv::exd::Exd m_AnimaWeapon5SpiritTalkDat; - xiv::exd::Exd m_AnimaWeapon5SpiritTalkParamDat; - xiv::exd::Exd m_AnimaWeapon5TradeItemDat; - xiv::exd::Exd m_AnimaWeaponFUITalkDat; - xiv::exd::Exd m_AnimaWeaponFUITalkParamDat; - xiv::exd::Exd m_AnimaWeaponIconDat; - xiv::exd::Exd m_AnimaWeaponItemDat; - xiv::exd::Exd m_AquariumFishDat; - xiv::exd::Exd m_AquariumWaterDat; - xiv::exd::Exd m_AttackTypeDat; - xiv::exd::Exd m_BalloonDat; - xiv::exd::Exd m_BaseParamDat; - xiv::exd::Exd m_BattleLeveDat; - xiv::exd::Exd m_BeastRankBonusDat; - xiv::exd::Exd m_BeastReputationRankDat; - xiv::exd::Exd m_BeastTribeDat; - xiv::exd::Exd m_BehaviorDat; - xiv::exd::Exd m_BGMDat; - xiv::exd::Exd m_BNpcAnnounceIconDat; - xiv::exd::Exd m_BNpcBaseDat; - xiv::exd::Exd m_BNpcCustomizeDat; - xiv::exd::Exd m_BNpcNameDat; - xiv::exd::Exd m_BuddyDat; - xiv::exd::Exd m_BuddyActionDat; - xiv::exd::Exd m_BuddyEquipDat; - xiv::exd::Exd m_BuddyItemDat; - xiv::exd::Exd m_BuddyRankDat; - xiv::exd::Exd m_BuddySkillDat; - xiv::exd::Exd m_CabinetDat; - xiv::exd::Exd m_CabinetCategoryDat; - xiv::exd::Exd m_CalendarDat; - xiv::exd::Exd m_CharaMakeCustomizeDat; - xiv::exd::Exd m_CharaMakeTypeDat; - xiv::exd::Exd m_ChocoboRaceDat; - xiv::exd::Exd m_ChocoboRaceAbilityDat; - xiv::exd::Exd m_ChocoboRaceAbilityTypeDat; - xiv::exd::Exd m_ChocoboRaceItemDat; - xiv::exd::Exd m_ChocoboRaceRankDat; - xiv::exd::Exd m_ChocoboRaceStatusDat; - xiv::exd::Exd m_ChocoboRaceTerritoryDat; - xiv::exd::Exd m_ChocoboTaxiDat; - xiv::exd::Exd m_ChocoboTaxiStandDat; - xiv::exd::Exd m_ClassJobDat; - xiv::exd::Exd m_ClassJobCategoryDat; - xiv::exd::Exd m_CompanionDat; - xiv::exd::Exd m_CompanionMoveDat; - xiv::exd::Exd m_CompanionTransientDat; - xiv::exd::Exd m_CompanyActionDat; - xiv::exd::Exd m_CompanyCraftDraftDat; - xiv::exd::Exd m_CompanyCraftDraftCategoryDat; - xiv::exd::Exd m_CompanyCraftManufactoryStateDat; - xiv::exd::Exd m_CompanyCraftPartDat; - xiv::exd::Exd m_CompanyCraftProcessDat; - xiv::exd::Exd m_CompanyCraftSequenceDat; - xiv::exd::Exd m_CompanyCraftSupplyItemDat; - xiv::exd::Exd m_CompanyCraftTypeDat; - xiv::exd::Exd m_CompleteJournalDat; - xiv::exd::Exd m_CompleteJournalCategoryDat; - xiv::exd::Exd m_ContentExActionDat; - xiv::exd::Exd m_ContentFinderConditionDat; - xiv::exd::Exd m_ContentFinderConditionTransientDat; - xiv::exd::Exd m_ContentMemberTypeDat; - xiv::exd::Exd m_ContentNpcTalkDat; - xiv::exd::Exd m_ContentRouletteDat; - xiv::exd::Exd m_ContentsNoteDat; - xiv::exd::Exd m_ContentsNoteCategoryDat; - xiv::exd::Exd m_ContentTalkDat; - xiv::exd::Exd m_ContentTalkParamDat; - xiv::exd::Exd m_ContentTypeDat; - xiv::exd::Exd m_CraftActionDat; - xiv::exd::Exd m_CraftLeveDat; - xiv::exd::Exd m_CraftTypeDat; - xiv::exd::Exd m_CurrencyDat; - xiv::exd::Exd m_CustomTalkDat; - xiv::exd::Exd m_CutsceneDat; - xiv::exd::Exd m_CutScreenImageDat; - xiv::exd::Exd m_DailySupplyItemDat; - xiv::exd::Exd m_DeepDungeonBanDat; - xiv::exd::Exd m_DeepDungeonDangerDat; - xiv::exd::Exd m_DeepDungeonEquipmentDat; - xiv::exd::Exd m_DeepDungeonFloorEffectUIDat; - xiv::exd::Exd m_DeepDungeonItemDat; - xiv::exd::Exd m_DeepDungeonStatusDat; - xiv::exd::Exd m_DefaultTalkDat; - xiv::exd::Exd m_DeliveryQuestDat; - xiv::exd::Exd m_DisposalShopDat; - xiv::exd::Exd m_DisposalShopFilterTypeDat; - xiv::exd::Exd m_DisposalShopItemDat; - xiv::exd::Exd m_DpsChallengeDat; - xiv::exd::Exd m_DpsChallengeOfficerDat; - xiv::exd::Exd m_DpsChallengeTransientDat; - xiv::exd::Exd m_EmoteDat; - xiv::exd::Exd m_EmoteCategoryDat; - xiv::exd::Exd m_EmoteModeDat; - xiv::exd::Exd m_ENpcBaseDat; - xiv::exd::Exd m_ENpcResidentDat; - xiv::exd::Exd m_EObjDat; - xiv::exd::Exd m_EObjNameDat; - xiv::exd::Exd m_EquipRaceCategoryDat; - xiv::exd::Exd m_EquipSlotCategoryDat; - xiv::exd::Exd m_EurekaAethernetDat; - xiv::exd::Exd m_EurekaGrowDataDat; - xiv::exd::Exd m_EurekaSphereElementAdjustDat; - xiv::exd::Exd m_EventActionDat; - xiv::exd::Exd m_EventIconPriorityDat; - xiv::exd::Exd m_EventIconTypeDat; - xiv::exd::Exd m_EventItemDat; - xiv::exd::Exd m_EventItemHelpDat; - xiv::exd::Exd m_ExVersionDat; - xiv::exd::Exd m_FateDat; - xiv::exd::Exd m_FCActivityDat; - xiv::exd::Exd m_FCActivityCategoryDat; - xiv::exd::Exd m_FCAuthorityDat; - xiv::exd::Exd m_FCAuthorityCategoryDat; - xiv::exd::Exd m_FCChestNameDat; - xiv::exd::Exd m_FccShopDat; - xiv::exd::Exd m_FCHierarchyDat; - xiv::exd::Exd m_FCProfileDat; - xiv::exd::Exd m_FCReputationDat; - xiv::exd::Exd m_FCRightsDat; - xiv::exd::Exd m_FieldMarkerDat; - xiv::exd::Exd m_FishingSpotDat; - xiv::exd::Exd m_FishParameterDat; - xiv::exd::Exd m_GardeningSeedDat; - xiv::exd::Exd m_GatheringConditionDat; - xiv::exd::Exd m_GatheringExpDat; - xiv::exd::Exd m_GatheringItemDat; - xiv::exd::Exd m_GatheringItemLevelConvertTableDat; - xiv::exd::Exd m_GatheringItemPointDat; - xiv::exd::Exd m_GatheringNotebookListDat; - xiv::exd::Exd m_GatheringPointDat; - xiv::exd::Exd m_GatheringPointBaseDat; - xiv::exd::Exd m_GatheringPointBonusDat; - xiv::exd::Exd m_GatheringPointBonusTypeDat; - xiv::exd::Exd m_GatheringPointNameDat; - xiv::exd::Exd m_GatheringSubCategoryDat; - xiv::exd::Exd m_GatheringTypeDat; - xiv::exd::Exd m_GcArmyExpeditionDat; - xiv::exd::Exd m_GcArmyExpeditionMemberBonusDat; - xiv::exd::Exd m_GcArmyExpeditionTypeDat; - xiv::exd::Exd m_GcArmyMemberGrowDat; - xiv::exd::Exd m_GcArmyTrainingDat; - xiv::exd::Exd m_GCRankGridaniaFemaleTextDat; - xiv::exd::Exd m_GCRankGridaniaMaleTextDat; - xiv::exd::Exd m_GCRankLimsaFemaleTextDat; - xiv::exd::Exd m_GCRankLimsaMaleTextDat; - xiv::exd::Exd m_GCRankUldahFemaleTextDat; - xiv::exd::Exd m_GCRankUldahMaleTextDat; - xiv::exd::Exd m_GCScripShopCategoryDat; - xiv::exd::Exd m_GCScripShopItemDat; - xiv::exd::Exd m_GCShopDat; - xiv::exd::Exd m_GCShopItemCategoryDat; - xiv::exd::Exd m_GCSupplyDutyDat; - xiv::exd::Exd m_GCSupplyDutyRewardDat; - xiv::exd::Exd m_GeneralActionDat; - xiv::exd::Exd m_GilShopDat; - xiv::exd::Exd m_GilShopItemDat; - xiv::exd::Exd m_GoldSaucerTextDataDat; - xiv::exd::Exd m_GrandCompanyDat; - xiv::exd::Exd m_GrandCompanyRankDat; - xiv::exd::Exd m_GuardianDeityDat; - xiv::exd::Exd m_GuildleveAssignmentDat; - xiv::exd::Exd m_GuildOrderGuideDat; - xiv::exd::Exd m_GuildOrderOfficerDat; - xiv::exd::Exd m_HouseRetainerPoseDat; - xiv::exd::Exd m_HousingFurnitureDat; - xiv::exd::Exd m_HousingYardObjectDat; - xiv::exd::Exd m_InstanceContentDat; - xiv::exd::Exd m_InstanceContentBuffDat; - xiv::exd::Exd m_InstanceContentTextDataDat; - xiv::exd::Exd m_ItemDat; - xiv::exd::Exd m_ItemActionDat; - xiv::exd::Exd m_ItemFoodDat; - xiv::exd::Exd m_ItemSearchCategoryDat; - xiv::exd::Exd m_ItemSeriesDat; - xiv::exd::Exd m_ItemSpecialBonusDat; - xiv::exd::Exd m_ItemUICategoryDat; - xiv::exd::Exd m_JournalCategoryDat; - xiv::exd::Exd m_JournalGenreDat; - xiv::exd::Exd m_JournalSectionDat; - xiv::exd::Exd m_LeveDat; - xiv::exd::Exd m_LeveAssignmentTypeDat; - xiv::exd::Exd m_LeveClientDat; - xiv::exd::Exd m_LevelDat; - xiv::exd::Exd m_LeveRewardItemDat; - xiv::exd::Exd m_LeveRewardItemGroupDat; - xiv::exd::Exd m_LeveVfxDat; - xiv::exd::Exd m_LogFilterDat; - xiv::exd::Exd m_LogKindDat; - xiv::exd::Exd m_LogKindCategoryTextDat; - xiv::exd::Exd m_LogMessageDat; - xiv::exd::Exd m_MacroIconDat; - xiv::exd::Exd m_MacroIconRedirectOldDat; - xiv::exd::Exd m_MainCommandDat; - xiv::exd::Exd m_MainCommandCategoryDat; - xiv::exd::Exd m_MapDat; - xiv::exd::Exd m_MapMarkerDat; - xiv::exd::Exd m_MapMarkerRegionDat; - xiv::exd::Exd m_MapSymbolDat; - xiv::exd::Exd m_MarkerDat; - xiv::exd::Exd m_MasterpieceSupplyDutyDat; - xiv::exd::Exd m_MasterpieceSupplyMultiplierDat; - xiv::exd::Exd m_MateriaDat; - xiv::exd::Exd m_MinionRaceDat; - xiv::exd::Exd m_MinionRulesDat; - xiv::exd::Exd m_MinionSkillTypeDat; - xiv::exd::Exd m_MobHuntTargetDat; - xiv::exd::Exd m_ModelCharaDat; - xiv::exd::Exd m_MonsterNoteDat; - xiv::exd::Exd m_MonsterNoteTargetDat; - xiv::exd::Exd m_MountDat; - xiv::exd::Exd m_MountActionDat; - xiv::exd::Exd m_MoveTimelineDat; - xiv::exd::Exd m_MoveVfxDat; - xiv::exd::Exd m_NpcEquipDat; - xiv::exd::Exd m_OmenDat; - xiv::exd::Exd m_OnlineStatusDat; - xiv::exd::Exd m_OpeningDat; - xiv::exd::Exd m_OrchestrionDat; - xiv::exd::Exd m_OrchestrionCategoryDat; - xiv::exd::Exd m_OrchestrionPathDat; - xiv::exd::Exd m_OrchestrionUiparamDat; - xiv::exd::Exd m_ParamGrowDat; - xiv::exd::Exd m_PerformDat; - xiv::exd::Exd m_PerformTransientDat; - xiv::exd::Exd m_PetDat; - xiv::exd::Exd m_PetActionDat; - xiv::exd::Exd m_PictureDat; - xiv::exd::Exd m_PlaceNameDat; - xiv::exd::Exd m_PublicContentDat; - xiv::exd::Exd m_PvPActionSortDat; - xiv::exd::Exd m_QuestDat; - xiv::exd::Exd m_QuestClassJobRewardDat; - xiv::exd::Exd m_QuestRepeatFlagDat; - xiv::exd::Exd m_QuestRewardOtherDat; - xiv::exd::Exd m_QuickChatDat; - xiv::exd::Exd m_QuickChatTransientDat; - xiv::exd::Exd m_RaceDat; - xiv::exd::Exd m_RacingChocoboItemDat; - xiv::exd::Exd m_RacingChocoboNameDat; - xiv::exd::Exd m_RacingChocoboNameCategoryDat; - xiv::exd::Exd m_RacingChocoboNameInfoDat; - xiv::exd::Exd m_RacingChocoboParamDat; - xiv::exd::Exd m_RecipeDat; - xiv::exd::Exd m_RecipeElementDat; - xiv::exd::Exd m_RecipeLevelTableDat; - xiv::exd::Exd m_RecipeNotebookListDat; - xiv::exd::Exd m_RecommendContentsDat; - xiv::exd::Exd m_RelicDat; - xiv::exd::Exd m_Relic3Dat; - xiv::exd::Exd m_RelicItemDat; - xiv::exd::Exd m_RelicNoteDat; - xiv::exd::Exd m_RelicNoteCategoryDat; - xiv::exd::Exd m_RetainerTaskDat; - xiv::exd::Exd m_RetainerTaskLvRangeDat; - xiv::exd::Exd m_RetainerTaskNormalDat; - xiv::exd::Exd m_RetainerTaskParameterDat; - xiv::exd::Exd m_RetainerTaskRandomDat; - xiv::exd::Exd m_SalvageDat; - xiv::exd::Exd m_SatisfactionNpcDat; - xiv::exd::Exd m_SatisfactionSupplyDat; - xiv::exd::Exd m_SatisfactionSupplyRewardDat; - xiv::exd::Exd m_ScenarioTreeDat; - xiv::exd::Exd m_ScenarioTreeTipsDat; - xiv::exd::Exd m_ScenarioTreeTipsClassQuestDat; - xiv::exd::Exd m_ScenarioTreeTipsQuestDat; - xiv::exd::Exd m_ScenarioTypeDat; - xiv::exd::Exd m_ScreenImageDat; - xiv::exd::Exd m_SecretRecipeBookDat; - xiv::exd::Exd m_SkyIsland2MissionDat; - xiv::exd::Exd m_SkyIsland2MissionDetailDat; - xiv::exd::Exd m_SkyIsland2MissionTypeDat; - xiv::exd::Exd m_SkyIsland2RangeTypeDat; - xiv::exd::Exd m_SpearfishingItemDat; - xiv::exd::Exd m_SpearfishingNotebookDat; - xiv::exd::Exd m_SpecialShopDat; - xiv::exd::Exd m_SpecialShopItemCategoryDat; - xiv::exd::Exd m_StainDat; - xiv::exd::Exd m_StainTransientDat; - xiv::exd::Exd m_StatusDat; - xiv::exd::Exd m_StatusHitEffectDat; - xiv::exd::Exd m_StatusLoopVFXDat; - xiv::exd::Exd m_StoryDat; - xiv::exd::Exd m_SubmarineExplorationDat; - xiv::exd::Exd m_SubmarinePartDat; - xiv::exd::Exd m_SubmarineRankDat; - xiv::exd::Exd m_SwitchTalkDat; - xiv::exd::Exd m_TerritoryTypeDat; - xiv::exd::Exd m_TextCommandDat; - xiv::exd::Exd m_TitleDat; - xiv::exd::Exd m_TomestonesDat; - xiv::exd::Exd m_TomestonesItemDat; - xiv::exd::Exd m_TopicSelectDat; - xiv::exd::Exd m_TownDat; - xiv::exd::Exd m_TraitDat; - xiv::exd::Exd m_TraitRecastDat; - xiv::exd::Exd m_TraitTransientDat; - xiv::exd::Exd m_TransformationDat; - xiv::exd::Exd m_TreasureDat; - xiv::exd::Exd m_TreasureHuntRankDat; - xiv::exd::Exd m_TribeDat; - xiv::exd::Exd m_TripleTriadDat; - xiv::exd::Exd m_TripleTriadCardDat; - xiv::exd::Exd m_TripleTriadCardRarityDat; - xiv::exd::Exd m_TripleTriadCardResidentDat; - xiv::exd::Exd m_TripleTriadCardTypeDat; - xiv::exd::Exd m_TripleTriadCompetitionDat; - xiv::exd::Exd m_TripleTriadRuleDat; - xiv::exd::Exd m_TutorialDat; - xiv::exd::Exd m_TutorialDPSDat; - xiv::exd::Exd m_TutorialHealerDat; - xiv::exd::Exd m_TutorialTankDat; - xiv::exd::Exd m_VaseFlowerDat; - xiv::exd::Exd m_VFXDat; - xiv::exd::Exd m_WarpDat; - xiv::exd::Exd m_WarpConditionDat; - xiv::exd::Exd m_WeatherDat; - xiv::exd::Exd m_WeatherGroupDat; - xiv::exd::Exd m_WeatherRateDat; - xiv::exd::Exd m_WeddingBGMDat; - xiv::exd::Exd m_WeeklyBingoOrderDataDat; - xiv::exd::Exd m_WeeklyBingoRewardDataDat; - xiv::exd::Exd m_WeeklyBingoTextDat; - xiv::exd::Exd m_WorldDat; - xiv::exd::Exd m_WorldDCGroupTypeDat; - xiv::exd::Exd m_YKWDat; - xiv::exd::Exd m_ZoneSharedGroupDat; - - - using AchievementPtr = boost::shared_ptr< Achievement >; - using AchievementCategoryPtr = boost::shared_ptr< AchievementCategory >; - using AchievementKindPtr = boost::shared_ptr< AchievementKind >; - using ActionPtr = boost::shared_ptr< Action >; - using ActionCastTimelinePtr = boost::shared_ptr< ActionCastTimeline >; - using ActionCastVFXPtr = boost::shared_ptr< ActionCastVFX >; - using ActionCategoryPtr = boost::shared_ptr< ActionCategory >; - using ActionComboRoutePtr = boost::shared_ptr< ActionComboRoute >; - using ActionIndirectionPtr = boost::shared_ptr< ActionIndirection >; - using ActionParamPtr = boost::shared_ptr< ActionParam >; - using ActionProcStatusPtr = boost::shared_ptr< ActionProcStatus >; - using ActionTimelinePtr = boost::shared_ptr< ActionTimeline >; - using ActionTimelineReplacePtr = boost::shared_ptr< ActionTimelineReplace >; - using ActionTransientPtr = boost::shared_ptr< ActionTransient >; - using AddonPtr = boost::shared_ptr< Addon >; - using AdventurePtr = boost::shared_ptr< Adventure >; - using AdventureExPhasePtr = boost::shared_ptr< AdventureExPhase >; - using AetherCurrentPtr = boost::shared_ptr< AetherCurrent >; - using AetherCurrentCompFlgSetPtr = boost::shared_ptr< AetherCurrentCompFlgSet >; - using AetherialWheelPtr = boost::shared_ptr< AetherialWheel >; - using AetherytePtr = boost::shared_ptr< Aetheryte >; - using AirshipExplorationLevelPtr = boost::shared_ptr< AirshipExplorationLevel >; - using AirshipExplorationLogPtr = boost::shared_ptr< AirshipExplorationLog >; - using AirshipExplorationParamTypePtr = boost::shared_ptr< AirshipExplorationParamType >; - using AirshipExplorationPartPtr = boost::shared_ptr< AirshipExplorationPart >; - using AirshipExplorationPointPtr = boost::shared_ptr< AirshipExplorationPoint >; - using AnimaWeapon5Ptr = boost::shared_ptr< AnimaWeapon5 >; - using AnimaWeapon5ParamPtr = boost::shared_ptr< AnimaWeapon5Param >; - using AnimaWeapon5PatternGroupPtr = boost::shared_ptr< AnimaWeapon5PatternGroup >; - using AnimaWeapon5SpiritTalkPtr = boost::shared_ptr< AnimaWeapon5SpiritTalk >; - using AnimaWeapon5SpiritTalkParamPtr = boost::shared_ptr< AnimaWeapon5SpiritTalkParam >; - using AnimaWeapon5TradeItemPtr = boost::shared_ptr< AnimaWeapon5TradeItem >; - using AnimaWeaponFUITalkPtr = boost::shared_ptr< AnimaWeaponFUITalk >; - using AnimaWeaponFUITalkParamPtr = boost::shared_ptr< AnimaWeaponFUITalkParam >; - using AnimaWeaponIconPtr = boost::shared_ptr< AnimaWeaponIcon >; - using AnimaWeaponItemPtr = boost::shared_ptr< AnimaWeaponItem >; - using AquariumFishPtr = boost::shared_ptr< AquariumFish >; - using AquariumWaterPtr = boost::shared_ptr< AquariumWater >; - using AttackTypePtr = boost::shared_ptr< AttackType >; - using BalloonPtr = boost::shared_ptr< Balloon >; - using BaseParamPtr = boost::shared_ptr< BaseParam >; - using BattleLevePtr = boost::shared_ptr< BattleLeve >; - using BeastRankBonusPtr = boost::shared_ptr< BeastRankBonus >; - using BeastReputationRankPtr = boost::shared_ptr< BeastReputationRank >; - using BeastTribePtr = boost::shared_ptr< BeastTribe >; - using BehaviorPtr = boost::shared_ptr< Behavior >; - using BGMPtr = boost::shared_ptr< BGM >; - using BNpcAnnounceIconPtr = boost::shared_ptr< BNpcAnnounceIcon >; - using BNpcBasePtr = boost::shared_ptr< BNpcBase >; - using BNpcCustomizePtr = boost::shared_ptr< BNpcCustomize >; - using BNpcNamePtr = boost::shared_ptr< BNpcName >; - using BuddyPtr = boost::shared_ptr< Buddy >; - using BuddyActionPtr = boost::shared_ptr< BuddyAction >; - using BuddyEquipPtr = boost::shared_ptr< BuddyEquip >; - using BuddyItemPtr = boost::shared_ptr< BuddyItem >; - using BuddyRankPtr = boost::shared_ptr< BuddyRank >; - using BuddySkillPtr = boost::shared_ptr< BuddySkill >; - using CabinetPtr = boost::shared_ptr< Cabinet >; - using CabinetCategoryPtr = boost::shared_ptr< CabinetCategory >; - using CalendarPtr = boost::shared_ptr< Calendar >; - using CharaMakeCustomizePtr = boost::shared_ptr< CharaMakeCustomize >; - using CharaMakeTypePtr = boost::shared_ptr< CharaMakeType >; - using ChocoboRacePtr = boost::shared_ptr< ChocoboRace >; - using ChocoboRaceAbilityPtr = boost::shared_ptr< ChocoboRaceAbility >; - using ChocoboRaceAbilityTypePtr = boost::shared_ptr< ChocoboRaceAbilityType >; - using ChocoboRaceItemPtr = boost::shared_ptr< ChocoboRaceItem >; - using ChocoboRaceRankPtr = boost::shared_ptr< ChocoboRaceRank >; - using ChocoboRaceStatusPtr = boost::shared_ptr< ChocoboRaceStatus >; - using ChocoboRaceTerritoryPtr = boost::shared_ptr< ChocoboRaceTerritory >; - using ChocoboTaxiPtr = boost::shared_ptr< ChocoboTaxi >; - using ChocoboTaxiStandPtr = boost::shared_ptr< ChocoboTaxiStand >; - using ClassJobPtr = boost::shared_ptr< ClassJob >; - using ClassJobCategoryPtr = boost::shared_ptr< ClassJobCategory >; - using CompanionPtr = boost::shared_ptr< Companion >; - using CompanionMovePtr = boost::shared_ptr< CompanionMove >; - using CompanionTransientPtr = boost::shared_ptr< CompanionTransient >; - using CompanyActionPtr = boost::shared_ptr< CompanyAction >; - using CompanyCraftDraftPtr = boost::shared_ptr< CompanyCraftDraft >; - using CompanyCraftDraftCategoryPtr = boost::shared_ptr< CompanyCraftDraftCategory >; - using CompanyCraftManufactoryStatePtr = boost::shared_ptr< CompanyCraftManufactoryState >; - using CompanyCraftPartPtr = boost::shared_ptr< CompanyCraftPart >; - using CompanyCraftProcessPtr = boost::shared_ptr< CompanyCraftProcess >; - using CompanyCraftSequencePtr = boost::shared_ptr< CompanyCraftSequence >; - using CompanyCraftSupplyItemPtr = boost::shared_ptr< CompanyCraftSupplyItem >; - using CompanyCraftTypePtr = boost::shared_ptr< CompanyCraftType >; - using CompleteJournalPtr = boost::shared_ptr< CompleteJournal >; - using CompleteJournalCategoryPtr = boost::shared_ptr< CompleteJournalCategory >; - using ContentExActionPtr = boost::shared_ptr< ContentExAction >; - using ContentFinderConditionPtr = boost::shared_ptr< ContentFinderCondition >; - using ContentFinderConditionTransientPtr = boost::shared_ptr< ContentFinderConditionTransient >; - using ContentMemberTypePtr = boost::shared_ptr< ContentMemberType >; - using ContentNpcTalkPtr = boost::shared_ptr< ContentNpcTalk >; - using ContentRoulettePtr = boost::shared_ptr< ContentRoulette >; - using ContentsNotePtr = boost::shared_ptr< ContentsNote >; - using ContentsNoteCategoryPtr = boost::shared_ptr< ContentsNoteCategory >; - using ContentTalkPtr = boost::shared_ptr< ContentTalk >; - using ContentTalkParamPtr = boost::shared_ptr< ContentTalkParam >; - using ContentTypePtr = boost::shared_ptr< ContentType >; - using CraftActionPtr = boost::shared_ptr< CraftAction >; - using CraftLevePtr = boost::shared_ptr< CraftLeve >; - using CraftTypePtr = boost::shared_ptr< CraftType >; - using CurrencyPtr = boost::shared_ptr< Currency >; - using CustomTalkPtr = boost::shared_ptr< CustomTalk >; - using CutscenePtr = boost::shared_ptr< Cutscene >; - using CutScreenImagePtr = boost::shared_ptr< CutScreenImage >; - using DailySupplyItemPtr = boost::shared_ptr< DailySupplyItem >; - using DeepDungeonBanPtr = boost::shared_ptr< DeepDungeonBan >; - using DeepDungeonDangerPtr = boost::shared_ptr< DeepDungeonDanger >; - using DeepDungeonEquipmentPtr = boost::shared_ptr< DeepDungeonEquipment >; - using DeepDungeonFloorEffectUIPtr = boost::shared_ptr< DeepDungeonFloorEffectUI >; - using DeepDungeonItemPtr = boost::shared_ptr< DeepDungeonItem >; - using DeepDungeonStatusPtr = boost::shared_ptr< DeepDungeonStatus >; - using DefaultTalkPtr = boost::shared_ptr< DefaultTalk >; - using DeliveryQuestPtr = boost::shared_ptr< DeliveryQuest >; - using DisposalShopPtr = boost::shared_ptr< DisposalShop >; - using DisposalShopFilterTypePtr = boost::shared_ptr< DisposalShopFilterType >; - using DisposalShopItemPtr = boost::shared_ptr< DisposalShopItem >; - using DpsChallengePtr = boost::shared_ptr< DpsChallenge >; - using DpsChallengeOfficerPtr = boost::shared_ptr< DpsChallengeOfficer >; - using DpsChallengeTransientPtr = boost::shared_ptr< DpsChallengeTransient >; - using EmotePtr = boost::shared_ptr< Emote >; - using EmoteCategoryPtr = boost::shared_ptr< EmoteCategory >; - using ENpcBasePtr = boost::shared_ptr< ENpcBase >; - using ENpcResidentPtr = boost::shared_ptr< ENpcResident >; - using EObjPtr = boost::shared_ptr< EObj >; - using EObjNamePtr = boost::shared_ptr< EObjName >; - using EquipRaceCategoryPtr = boost::shared_ptr< EquipRaceCategory >; - using EquipSlotCategoryPtr = boost::shared_ptr< EquipSlotCategory >; - using EurekaAethernetPtr = boost::shared_ptr< EurekaAethernet >; - using EurekaGrowDataPtr = boost::shared_ptr< EurekaGrowData >; - using EurekaSphereElementAdjustPtr = boost::shared_ptr< EurekaSphereElementAdjust >; - using EventActionPtr = boost::shared_ptr< EventAction >; - using EventIconPriorityPtr = boost::shared_ptr< EventIconPriority >; - using EventIconTypePtr = boost::shared_ptr< EventIconType >; - using EventItemPtr = boost::shared_ptr< EventItem >; - using EventItemHelpPtr = boost::shared_ptr< EventItemHelp >; - using ExVersionPtr = boost::shared_ptr< ExVersion >; - using FatePtr = boost::shared_ptr< Fate >; - using FCActivityPtr = boost::shared_ptr< FCActivity >; - using FCActivityCategoryPtr = boost::shared_ptr< FCActivityCategory >; - using FCAuthorityPtr = boost::shared_ptr< FCAuthority >; - using FCAuthorityCategoryPtr = boost::shared_ptr< FCAuthorityCategory >; - using FCChestNamePtr = boost::shared_ptr< FCChestName >; - using FccShopPtr = boost::shared_ptr< FccShop >; - using FCHierarchyPtr = boost::shared_ptr< FCHierarchy >; - using FCProfilePtr = boost::shared_ptr< FCProfile >; - using FCReputationPtr = boost::shared_ptr< FCReputation >; - using FCRightsPtr = boost::shared_ptr< FCRights >; - using FieldMarkerPtr = boost::shared_ptr< FieldMarker >; - using FishingSpotPtr = boost::shared_ptr< FishingSpot >; - using FishParameterPtr = boost::shared_ptr< FishParameter >; - using GardeningSeedPtr = boost::shared_ptr< GardeningSeed >; - using GatheringConditionPtr = boost::shared_ptr< GatheringCondition >; - using GatheringExpPtr = boost::shared_ptr< GatheringExp >; - using GatheringItemPtr = boost::shared_ptr< GatheringItem >; - using GatheringItemLevelConvertTablePtr = boost::shared_ptr< GatheringItemLevelConvertTable >; - using GatheringItemPointPtr = boost::shared_ptr< GatheringItemPoint >; - using GatheringNotebookListPtr = boost::shared_ptr< GatheringNotebookList >; - using GatheringPointPtr = boost::shared_ptr< GatheringPoint >; - using GatheringPointBasePtr = boost::shared_ptr< GatheringPointBase >; - using GatheringPointBonusPtr = boost::shared_ptr< GatheringPointBonus >; - using GatheringPointBonusTypePtr = boost::shared_ptr< GatheringPointBonusType >; - using GatheringPointNamePtr = boost::shared_ptr< GatheringPointName >; - using GatheringSubCategoryPtr = boost::shared_ptr< GatheringSubCategory >; - using GatheringTypePtr = boost::shared_ptr< GatheringType >; - using GcArmyExpeditionPtr = boost::shared_ptr< GcArmyExpedition >; - using GcArmyExpeditionMemberBonusPtr = boost::shared_ptr< GcArmyExpeditionMemberBonus >; - using GcArmyExpeditionTypePtr = boost::shared_ptr< GcArmyExpeditionType >; - using GcArmyMemberGrowPtr = boost::shared_ptr< GcArmyMemberGrow >; - using GcArmyTrainingPtr = boost::shared_ptr< GcArmyTraining >; - using GCRankGridaniaFemaleTextPtr = boost::shared_ptr< GCRankGridaniaFemaleText >; - using GCRankGridaniaMaleTextPtr = boost::shared_ptr< GCRankGridaniaMaleText >; - using GCRankLimsaFemaleTextPtr = boost::shared_ptr< GCRankLimsaFemaleText >; - using GCRankLimsaMaleTextPtr = boost::shared_ptr< GCRankLimsaMaleText >; - using GCRankUldahFemaleTextPtr = boost::shared_ptr< GCRankUldahFemaleText >; - using GCRankUldahMaleTextPtr = boost::shared_ptr< GCRankUldahMaleText >; - using GCScripShopCategoryPtr = boost::shared_ptr< GCScripShopCategory >; - using GCScripShopItemPtr = boost::shared_ptr< GCScripShopItem >; - using GCShopPtr = boost::shared_ptr< GCShop >; - using GCShopItemCategoryPtr = boost::shared_ptr< GCShopItemCategory >; - using GCSupplyDutyPtr = boost::shared_ptr< GCSupplyDuty >; - using GCSupplyDutyRewardPtr = boost::shared_ptr< GCSupplyDutyReward >; - using GeneralActionPtr = boost::shared_ptr< GeneralAction >; - using GilShopPtr = boost::shared_ptr< GilShop >; - using GilShopItemPtr = boost::shared_ptr< GilShopItem >; - using GoldSaucerTextDataPtr = boost::shared_ptr< GoldSaucerTextData >; - using GrandCompanyPtr = boost::shared_ptr< GrandCompany >; - using GrandCompanyRankPtr = boost::shared_ptr< GrandCompanyRank >; - using GuardianDeityPtr = boost::shared_ptr< GuardianDeity >; - using GuildleveAssignmentPtr = boost::shared_ptr< GuildleveAssignment >; - using GuildOrderGuidePtr = boost::shared_ptr< GuildOrderGuide >; - using GuildOrderOfficerPtr = boost::shared_ptr< GuildOrderOfficer >; - using HouseRetainerPosePtr = boost::shared_ptr< HouseRetainerPose >; - using HousingFurniturePtr = boost::shared_ptr< HousingFurniture >; - using HousingYardObjectPtr = boost::shared_ptr< HousingYardObject >; - using InstanceContentPtr = boost::shared_ptr< InstanceContent >; - using InstanceContentBuffPtr = boost::shared_ptr< InstanceContentBuff >; - using InstanceContentTextDataPtr = boost::shared_ptr< InstanceContentTextData >; - using ItemPtr = boost::shared_ptr< Item >; - using ItemActionPtr = boost::shared_ptr< ItemAction >; - using ItemFoodPtr = boost::shared_ptr< ItemFood >; - using ItemSearchCategoryPtr = boost::shared_ptr< ItemSearchCategory >; - using ItemSeriesPtr = boost::shared_ptr< ItemSeries >; - using ItemSpecialBonusPtr = boost::shared_ptr< ItemSpecialBonus >; - using ItemUICategoryPtr = boost::shared_ptr< ItemUICategory >; - using JournalCategoryPtr = boost::shared_ptr< JournalCategory >; - using JournalGenrePtr = boost::shared_ptr< JournalGenre >; - using JournalSectionPtr = boost::shared_ptr< JournalSection >; - using LevePtr = boost::shared_ptr< Leve >; - using LeveAssignmentTypePtr = boost::shared_ptr< LeveAssignmentType >; - using LeveClientPtr = boost::shared_ptr< LeveClient >; - using LevelPtr = boost::shared_ptr< Level >; - using LeveRewardItemPtr = boost::shared_ptr< LeveRewardItem >; - using LeveRewardItemGroupPtr = boost::shared_ptr< LeveRewardItemGroup >; - using LeveVfxPtr = boost::shared_ptr< LeveVfx >; - using LogFilterPtr = boost::shared_ptr< LogFilter >; - using LogKindPtr = boost::shared_ptr< LogKind >; - using LogKindCategoryTextPtr = boost::shared_ptr< LogKindCategoryText >; - using LogMessagePtr = boost::shared_ptr< LogMessage >; - using MacroIconPtr = boost::shared_ptr< MacroIcon >; - using MacroIconRedirectOldPtr = boost::shared_ptr< MacroIconRedirectOld >; - using MainCommandPtr = boost::shared_ptr< MainCommand >; - using MainCommandCategoryPtr = boost::shared_ptr< MainCommandCategory >; - using MapPtr = boost::shared_ptr< Map >; - using MapMarkerPtr = boost::shared_ptr< MapMarker >; - using MapMarkerRegionPtr = boost::shared_ptr< MapMarkerRegion >; - using MapSymbolPtr = boost::shared_ptr< MapSymbol >; - using MarkerPtr = boost::shared_ptr< Marker >; - using MasterpieceSupplyDutyPtr = boost::shared_ptr< MasterpieceSupplyDuty >; - using MasterpieceSupplyMultiplierPtr = boost::shared_ptr< MasterpieceSupplyMultiplier >; - using MateriaPtr = boost::shared_ptr< Materia >; - using MinionRacePtr = boost::shared_ptr< MinionRace >; - using MinionRulesPtr = boost::shared_ptr< MinionRules >; - using MinionSkillTypePtr = boost::shared_ptr< MinionSkillType >; - using MobHuntTargetPtr = boost::shared_ptr< MobHuntTarget >; - using ModelCharaPtr = boost::shared_ptr< ModelChara >; - using MonsterNotePtr = boost::shared_ptr< MonsterNote >; - using MonsterNoteTargetPtr = boost::shared_ptr< MonsterNoteTarget >; - using MountPtr = boost::shared_ptr< Mount >; - using MountActionPtr = boost::shared_ptr< MountAction >; - using MoveTimelinePtr = boost::shared_ptr< MoveTimeline >; - using MoveVfxPtr = boost::shared_ptr< MoveVfx >; - using NpcEquipPtr = boost::shared_ptr< NpcEquip >; - using OmenPtr = boost::shared_ptr< Omen >; - using OnlineStatusPtr = boost::shared_ptr< OnlineStatus >; - using OpeningPtr = boost::shared_ptr< Opening >; - using OrchestrionPtr = boost::shared_ptr< Orchestrion >; - using OrchestrionCategoryPtr = boost::shared_ptr< OrchestrionCategory >; - using OrchestrionPathPtr = boost::shared_ptr< OrchestrionPath >; - using OrchestrionUiparamPtr = boost::shared_ptr< OrchestrionUiparam >; - using ParamGrowPtr = boost::shared_ptr< ParamGrow >; - using PerformPtr = boost::shared_ptr< Perform >; - using PerformTransientPtr = boost::shared_ptr< PerformTransient >; - using PetPtr = boost::shared_ptr< Pet >; - using PetActionPtr = boost::shared_ptr< PetAction >; - using PicturePtr = boost::shared_ptr< Picture >; - using PlaceNamePtr = boost::shared_ptr< PlaceName >; - using PublicContentPtr = boost::shared_ptr< PublicContent >; - using PvPActionSortPtr = boost::shared_ptr< PvPActionSort >; - using QuestPtr = boost::shared_ptr< Quest >; - using QuestClassJobRewardPtr = boost::shared_ptr< QuestClassJobReward >; - using QuestRepeatFlagPtr = boost::shared_ptr< QuestRepeatFlag >; - using QuestRewardOtherPtr = boost::shared_ptr< QuestRewardOther >; - using QuickChatPtr = boost::shared_ptr< QuickChat >; - using QuickChatTransientPtr = boost::shared_ptr< QuickChatTransient >; - using RacePtr = boost::shared_ptr< Race >; - using RacingChocoboItemPtr = boost::shared_ptr< RacingChocoboItem >; - using RacingChocoboNamePtr = boost::shared_ptr< RacingChocoboName >; - using RacingChocoboNameCategoryPtr = boost::shared_ptr< RacingChocoboNameCategory >; - using RacingChocoboNameInfoPtr = boost::shared_ptr< RacingChocoboNameInfo >; - using RacingChocoboParamPtr = boost::shared_ptr< RacingChocoboParam >; - using RecipePtr = boost::shared_ptr< Recipe >; - using RecipeElementPtr = boost::shared_ptr< RecipeElement >; - using RecipeLevelTablePtr = boost::shared_ptr< RecipeLevelTable >; - using RecipeNotebookListPtr = boost::shared_ptr< RecipeNotebookList >; - using RecommendContentsPtr = boost::shared_ptr< RecommendContents >; - using RelicPtr = boost::shared_ptr< Relic >; - using Relic3Ptr = boost::shared_ptr< Relic3 >; - using RelicItemPtr = boost::shared_ptr< RelicItem >; - using RelicNotePtr = boost::shared_ptr< RelicNote >; - using RelicNoteCategoryPtr = boost::shared_ptr< RelicNoteCategory >; - using RetainerTaskPtr = boost::shared_ptr< RetainerTask >; - using RetainerTaskLvRangePtr = boost::shared_ptr< RetainerTaskLvRange >; - using RetainerTaskNormalPtr = boost::shared_ptr< RetainerTaskNormal >; - using RetainerTaskParameterPtr = boost::shared_ptr< RetainerTaskParameter >; - using RetainerTaskRandomPtr = boost::shared_ptr< RetainerTaskRandom >; - using SalvagePtr = boost::shared_ptr< Salvage >; - using SatisfactionNpcPtr = boost::shared_ptr< SatisfactionNpc >; - using SatisfactionSupplyPtr = boost::shared_ptr< SatisfactionSupply >; - using SatisfactionSupplyRewardPtr = boost::shared_ptr< SatisfactionSupplyReward >; - using ScenarioTreePtr = boost::shared_ptr< ScenarioTree >; - using ScenarioTreeTipsPtr = boost::shared_ptr< ScenarioTreeTips >; - using ScenarioTreeTipsClassQuestPtr = boost::shared_ptr< ScenarioTreeTipsClassQuest >; - using ScenarioTreeTipsQuestPtr = boost::shared_ptr< ScenarioTreeTipsQuest >; - using ScenarioTypePtr = boost::shared_ptr< ScenarioType >; - using ScreenImagePtr = boost::shared_ptr< ScreenImage >; - using SecretRecipeBookPtr = boost::shared_ptr< SecretRecipeBook >; - using SkyIsland2MissionPtr = boost::shared_ptr< SkyIsland2Mission >; - using SkyIsland2MissionDetailPtr = boost::shared_ptr< SkyIsland2MissionDetail >; - using SkyIsland2MissionTypePtr = boost::shared_ptr< SkyIsland2MissionType >; - using SkyIsland2RangeTypePtr = boost::shared_ptr< SkyIsland2RangeType >; - using SpearfishingItemPtr = boost::shared_ptr< SpearfishingItem >; - using SpearfishingNotebookPtr = boost::shared_ptr< SpearfishingNotebook >; - using SpecialShopPtr = boost::shared_ptr< SpecialShop >; - using SpecialShopItemCategoryPtr = boost::shared_ptr< SpecialShopItemCategory >; - using StainPtr = boost::shared_ptr< Stain >; - using StainTransientPtr = boost::shared_ptr< StainTransient >; - using StatusPtr = boost::shared_ptr< Status >; - using StatusHitEffectPtr = boost::shared_ptr< StatusHitEffect >; - using StatusLoopVFXPtr = boost::shared_ptr< StatusLoopVFX >; - using StoryPtr = boost::shared_ptr< Story >; - using SubmarineExplorationPtr = boost::shared_ptr< SubmarineExploration >; - using SubmarinePartPtr = boost::shared_ptr< SubmarinePart >; - using SubmarineRankPtr = boost::shared_ptr< SubmarineRank >; - using SwitchTalkPtr = boost::shared_ptr< SwitchTalk >; - using TerritoryTypePtr = boost::shared_ptr< TerritoryType >; - using TextCommandPtr = boost::shared_ptr< TextCommand >; - using TitlePtr = boost::shared_ptr< Title >; - using TomestonesPtr = boost::shared_ptr< Tomestones >; - using TomestonesItemPtr = boost::shared_ptr< TomestonesItem >; - using TopicSelectPtr = boost::shared_ptr< TopicSelect >; - using TownPtr = boost::shared_ptr< Town >; - using TraitPtr = boost::shared_ptr< Trait >; - using TraitRecastPtr = boost::shared_ptr< TraitRecast >; - using TraitTransientPtr = boost::shared_ptr< TraitTransient >; - using TransformationPtr = boost::shared_ptr< Transformation >; - using TreasurePtr = boost::shared_ptr< Treasure >; - using TreasureHuntRankPtr = boost::shared_ptr< TreasureHuntRank >; - using TribePtr = boost::shared_ptr< Tribe >; - using TripleTriadPtr = boost::shared_ptr< TripleTriad >; - using TripleTriadCardPtr = boost::shared_ptr< TripleTriadCard >; - using TripleTriadCardRarityPtr = boost::shared_ptr< TripleTriadCardRarity >; - using TripleTriadCardResidentPtr = boost::shared_ptr< TripleTriadCardResident >; - using TripleTriadCardTypePtr = boost::shared_ptr< TripleTriadCardType >; - using TripleTriadCompetitionPtr = boost::shared_ptr< TripleTriadCompetition >; - using TripleTriadRulePtr = boost::shared_ptr< TripleTriadRule >; - using TutorialPtr = boost::shared_ptr< Tutorial >; - using TutorialDPSPtr = boost::shared_ptr< TutorialDPS >; - using TutorialHealerPtr = boost::shared_ptr< TutorialHealer >; - using TutorialTankPtr = boost::shared_ptr< TutorialTank >; - using VaseFlowerPtr = boost::shared_ptr< VaseFlower >; - using VFXPtr = boost::shared_ptr< VFX >; - using WarpPtr = boost::shared_ptr< Warp >; - using WarpConditionPtr = boost::shared_ptr< WarpCondition >; - using WeatherPtr = boost::shared_ptr< Weather >; - using WeatherGroupPtr = boost::shared_ptr< WeatherGroup >; - using WeatherRatePtr = boost::shared_ptr< WeatherRate >; - using WeddingBGMPtr = boost::shared_ptr< WeddingBGM >; - using WeeklyBingoOrderDataPtr = boost::shared_ptr< WeeklyBingoOrderData >; - using WeeklyBingoRewardDataPtr = boost::shared_ptr< WeeklyBingoRewardData >; - using WeeklyBingoTextPtr = boost::shared_ptr< WeeklyBingoText >; - using WorldPtr = boost::shared_ptr< World >; - using WorldDCGroupTypePtr = boost::shared_ptr< WorldDCGroupType >; - using YKWPtr = boost::shared_ptr< YKW >; - using ZoneSharedGroupPtr = boost::shared_ptr< ZoneSharedGroup >; - - template< class T > - boost::shared_ptr< T > get( uint32_t id ) - { - try - { - auto info = boost::make_shared< T >( id, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; - } - - - std::set< uint32_t > m_AchievementIdList; - std::set< uint32_t > m_AchievementCategoryIdList; - std::set< uint32_t > m_AchievementKindIdList; - std::set< uint32_t > m_ActionIdList; - std::set< uint32_t > m_ActionCastTimelineIdList; - std::set< uint32_t > m_ActionCastVFXIdList; - std::set< uint32_t > m_ActionCategoryIdList; - std::set< uint32_t > m_ActionComboRouteIdList; - std::set< uint32_t > m_ActionIndirectionIdList; - std::set< uint32_t > m_ActionParamIdList; - std::set< uint32_t > m_ActionProcStatusIdList; - std::set< uint32_t > m_ActionTimelineIdList; - std::set< uint32_t > m_ActionTimelineReplaceIdList; - std::set< uint32_t > m_ActionTransientIdList; - std::set< uint32_t > m_AddonIdList; - std::set< uint32_t > m_AdventureIdList; - std::set< uint32_t > m_AdventureExPhaseIdList; - std::set< uint32_t > m_AetherCurrentIdList; - std::set< uint32_t > m_AetherCurrentCompFlgSetIdList; - std::set< uint32_t > m_AetherialWheelIdList; - std::set< uint32_t > m_AetheryteIdList; - std::set< uint32_t > m_AirshipExplorationLevelIdList; - std::set< uint32_t > m_AirshipExplorationLogIdList; - std::set< uint32_t > m_AirshipExplorationParamTypeIdList; - std::set< uint32_t > m_AirshipExplorationPartIdList; - std::set< uint32_t > m_AirshipExplorationPointIdList; - std::set< uint32_t > m_AnimaWeapon5IdList; - std::set< uint32_t > m_AnimaWeapon5ParamIdList; - std::set< uint32_t > m_AnimaWeapon5PatternGroupIdList; - std::set< uint32_t > m_AnimaWeapon5SpiritTalkIdList; - std::set< uint32_t > m_AnimaWeapon5SpiritTalkParamIdList; - std::set< uint32_t > m_AnimaWeapon5TradeItemIdList; - std::set< uint32_t > m_AnimaWeaponFUITalkIdList; - std::set< uint32_t > m_AnimaWeaponFUITalkParamIdList; - std::set< uint32_t > m_AnimaWeaponIconIdList; - std::set< uint32_t > m_AnimaWeaponItemIdList; - std::set< uint32_t > m_AquariumFishIdList; - std::set< uint32_t > m_AquariumWaterIdList; - std::set< uint32_t > m_AttackTypeIdList; - std::set< uint32_t > m_BalloonIdList; - std::set< uint32_t > m_BaseParamIdList; - std::set< uint32_t > m_BattleLeveIdList; - std::set< uint32_t > m_BeastRankBonusIdList; - std::set< uint32_t > m_BeastReputationRankIdList; - std::set< uint32_t > m_BeastTribeIdList; - std::set< uint32_t > m_BehaviorIdList; - std::set< uint32_t > m_BGMIdList; - std::set< uint32_t > m_BNpcAnnounceIconIdList; - std::set< uint32_t > m_BNpcBaseIdList; - std::set< uint32_t > m_BNpcCustomizeIdList; - std::set< uint32_t > m_BNpcNameIdList; - std::set< uint32_t > m_BuddyIdList; - std::set< uint32_t > m_BuddyActionIdList; - std::set< uint32_t > m_BuddyEquipIdList; - std::set< uint32_t > m_BuddyItemIdList; - std::set< uint32_t > m_BuddyRankIdList; - std::set< uint32_t > m_BuddySkillIdList; - std::set< uint32_t > m_CabinetIdList; - std::set< uint32_t > m_CabinetCategoryIdList; - std::set< uint32_t > m_CalendarIdList; - std::set< uint32_t > m_CharaMakeCustomizeIdList; - std::set< uint32_t > m_CharaMakeTypeIdList; - std::set< uint32_t > m_ChocoboRaceIdList; - std::set< uint32_t > m_ChocoboRaceAbilityIdList; - std::set< uint32_t > m_ChocoboRaceAbilityTypeIdList; - std::set< uint32_t > m_ChocoboRaceItemIdList; - std::set< uint32_t > m_ChocoboRaceRankIdList; - std::set< uint32_t > m_ChocoboRaceStatusIdList; - std::set< uint32_t > m_ChocoboRaceTerritoryIdList; - std::set< uint32_t > m_ChocoboTaxiIdList; - std::set< uint32_t > m_ChocoboTaxiStandIdList; - std::set< uint32_t > m_ClassJobIdList; - std::set< uint32_t > m_ClassJobCategoryIdList; - std::set< uint32_t > m_CompanionIdList; - std::set< uint32_t > m_CompanionMoveIdList; - std::set< uint32_t > m_CompanionTransientIdList; - std::set< uint32_t > m_CompanyActionIdList; - std::set< uint32_t > m_CompanyCraftDraftIdList; - std::set< uint32_t > m_CompanyCraftDraftCategoryIdList; - std::set< uint32_t > m_CompanyCraftManufactoryStateIdList; - std::set< uint32_t > m_CompanyCraftPartIdList; - std::set< uint32_t > m_CompanyCraftProcessIdList; - std::set< uint32_t > m_CompanyCraftSequenceIdList; - std::set< uint32_t > m_CompanyCraftSupplyItemIdList; - std::set< uint32_t > m_CompanyCraftTypeIdList; - std::set< uint32_t > m_CompleteJournalIdList; - std::set< uint32_t > m_CompleteJournalCategoryIdList; - std::set< uint32_t > m_ContentExActionIdList; - std::set< uint32_t > m_ContentFinderConditionIdList; - std::set< uint32_t > m_ContentFinderConditionTransientIdList; - std::set< uint32_t > m_ContentMemberTypeIdList; - std::set< uint32_t > m_ContentNpcTalkIdList; - std::set< uint32_t > m_ContentRouletteIdList; - std::set< uint32_t > m_ContentsNoteIdList; - std::set< uint32_t > m_ContentsNoteCategoryIdList; - std::set< uint32_t > m_ContentTalkIdList; - std::set< uint32_t > m_ContentTalkParamIdList; - std::set< uint32_t > m_ContentTypeIdList; - std::set< uint32_t > m_CraftActionIdList; - std::set< uint32_t > m_CraftLeveIdList; - std::set< uint32_t > m_CraftTypeIdList; - std::set< uint32_t > m_CurrencyIdList; - std::set< uint32_t > m_CustomTalkIdList; - std::set< uint32_t > m_CutsceneIdList; - std::set< uint32_t > m_CutScreenImageIdList; - std::set< uint32_t > m_DailySupplyItemIdList; - std::set< uint32_t > m_DeepDungeonBanIdList; - std::set< uint32_t > m_DeepDungeonDangerIdList; - std::set< uint32_t > m_DeepDungeonEquipmentIdList; - std::set< uint32_t > m_DeepDungeonFloorEffectUIIdList; - std::set< uint32_t > m_DeepDungeonItemIdList; - std::set< uint32_t > m_DeepDungeonStatusIdList; - std::set< uint32_t > m_DefaultTalkIdList; - std::set< uint32_t > m_DeliveryQuestIdList; - std::set< uint32_t > m_DisposalShopIdList; - std::set< uint32_t > m_DisposalShopFilterTypeIdList; - std::set< uint32_t > m_DisposalShopItemIdList; - std::set< uint32_t > m_DpsChallengeIdList; - std::set< uint32_t > m_DpsChallengeOfficerIdList; - std::set< uint32_t > m_DpsChallengeTransientIdList; - std::set< uint32_t > m_EmoteIdList; - std::set< uint32_t > m_EmoteModeIdList; - std::set< uint32_t > m_EmoteCategoryIdList; - std::set< uint32_t > m_ENpcBaseIdList; - std::set< uint32_t > m_ENpcResidentIdList; - std::set< uint32_t > m_EObjIdList; - std::set< uint32_t > m_EObjNameIdList; - std::set< uint32_t > m_EquipRaceCategoryIdList; - std::set< uint32_t > m_EquipSlotCategoryIdList; - std::set< uint32_t > m_EurekaAethernetIdList; - std::set< uint32_t > m_EurekaGrowDataIdList; - std::set< uint32_t > m_EurekaSphereElementAdjustIdList; - std::set< uint32_t > m_EventActionIdList; - std::set< uint32_t > m_EventIconPriorityIdList; - std::set< uint32_t > m_EventIconTypeIdList; - std::set< uint32_t > m_EventItemIdList; - std::set< uint32_t > m_EventItemHelpIdList; - std::set< uint32_t > m_ExVersionIdList; - std::set< uint32_t > m_FateIdList; - std::set< uint32_t > m_FCActivityIdList; - std::set< uint32_t > m_FCActivityCategoryIdList; - std::set< uint32_t > m_FCAuthorityIdList; - std::set< uint32_t > m_FCAuthorityCategoryIdList; - std::set< uint32_t > m_FCChestNameIdList; - std::set< uint32_t > m_FccShopIdList; - std::set< uint32_t > m_FCHierarchyIdList; - std::set< uint32_t > m_FCProfileIdList; - std::set< uint32_t > m_FCReputationIdList; - std::set< uint32_t > m_FCRightsIdList; - std::set< uint32_t > m_FieldMarkerIdList; - std::set< uint32_t > m_FishingSpotIdList; - std::set< uint32_t > m_FishParameterIdList; - std::set< uint32_t > m_GardeningSeedIdList; - std::set< uint32_t > m_GatheringConditionIdList; - std::set< uint32_t > m_GatheringExpIdList; - std::set< uint32_t > m_GatheringItemIdList; - std::set< uint32_t > m_GatheringItemLevelConvertTableIdList; - std::set< uint32_t > m_GatheringItemPointIdList; - std::set< uint32_t > m_GatheringNotebookListIdList; - std::set< uint32_t > m_GatheringPointIdList; - std::set< uint32_t > m_GatheringPointBaseIdList; - std::set< uint32_t > m_GatheringPointBonusIdList; - std::set< uint32_t > m_GatheringPointBonusTypeIdList; - std::set< uint32_t > m_GatheringPointNameIdList; - std::set< uint32_t > m_GatheringSubCategoryIdList; - std::set< uint32_t > m_GatheringTypeIdList; - std::set< uint32_t > m_GcArmyExpeditionIdList; - std::set< uint32_t > m_GcArmyExpeditionMemberBonusIdList; - std::set< uint32_t > m_GcArmyExpeditionTypeIdList; - std::set< uint32_t > m_GcArmyMemberGrowIdList; - std::set< uint32_t > m_GcArmyTrainingIdList; - std::set< uint32_t > m_GCRankGridaniaFemaleTextIdList; - std::set< uint32_t > m_GCRankGridaniaMaleTextIdList; - std::set< uint32_t > m_GCRankLimsaFemaleTextIdList; - std::set< uint32_t > m_GCRankLimsaMaleTextIdList; - std::set< uint32_t > m_GCRankUldahFemaleTextIdList; - std::set< uint32_t > m_GCRankUldahMaleTextIdList; - std::set< uint32_t > m_GCScripShopCategoryIdList; - std::set< uint32_t > m_GCScripShopItemIdList; - std::set< uint32_t > m_GCShopIdList; - std::set< uint32_t > m_GCShopItemCategoryIdList; - std::set< uint32_t > m_GCSupplyDutyIdList; - std::set< uint32_t > m_GCSupplyDutyRewardIdList; - std::set< uint32_t > m_GeneralActionIdList; - std::set< uint32_t > m_GilShopIdList; - std::set< uint32_t > m_GilShopItemIdList; - std::set< uint32_t > m_GoldSaucerTextDataIdList; - std::set< uint32_t > m_GrandCompanyIdList; - std::set< uint32_t > m_GrandCompanyRankIdList; - std::set< uint32_t > m_GuardianDeityIdList; - std::set< uint32_t > m_GuildleveAssignmentIdList; - std::set< uint32_t > m_GuildOrderGuideIdList; - std::set< uint32_t > m_GuildOrderOfficerIdList; - std::set< uint32_t > m_HouseRetainerPoseIdList; - std::set< uint32_t > m_HousingFurnitureIdList; - std::set< uint32_t > m_HousingYardObjectIdList; - std::set< uint32_t > m_InstanceContentIdList; - std::set< uint32_t > m_InstanceContentBuffIdList; - std::set< uint32_t > m_InstanceContentTextDataIdList; - std::set< uint32_t > m_ItemIdList; - std::set< uint32_t > m_ItemActionIdList; - std::set< uint32_t > m_ItemFoodIdList; - std::set< uint32_t > m_ItemSearchCategoryIdList; - std::set< uint32_t > m_ItemSeriesIdList; - std::set< uint32_t > m_ItemSpecialBonusIdList; - std::set< uint32_t > m_ItemUICategoryIdList; - std::set< uint32_t > m_JournalCategoryIdList; - std::set< uint32_t > m_JournalGenreIdList; - std::set< uint32_t > m_JournalSectionIdList; - std::set< uint32_t > m_LeveIdList; - std::set< uint32_t > m_LeveAssignmentTypeIdList; - std::set< uint32_t > m_LeveClientIdList; - std::set< uint32_t > m_LevelIdList; - std::set< uint32_t > m_LeveRewardItemIdList; - std::set< uint32_t > m_LeveRewardItemGroupIdList; - std::set< uint32_t > m_LeveVfxIdList; - std::set< uint32_t > m_LogFilterIdList; - std::set< uint32_t > m_LogKindIdList; - std::set< uint32_t > m_LogKindCategoryTextIdList; - std::set< uint32_t > m_LogMessageIdList; - std::set< uint32_t > m_MacroIconIdList; - std::set< uint32_t > m_MacroIconRedirectOldIdList; - std::set< uint32_t > m_MainCommandIdList; - std::set< uint32_t > m_MainCommandCategoryIdList; - std::set< uint32_t > m_MapIdList; - std::set< uint32_t > m_MapMarkerIdList; - std::set< uint32_t > m_MapMarkerRegionIdList; - std::set< uint32_t > m_MapSymbolIdList; - std::set< uint32_t > m_MarkerIdList; - std::set< uint32_t > m_MasterpieceSupplyDutyIdList; - std::set< uint32_t > m_MasterpieceSupplyMultiplierIdList; - std::set< uint32_t > m_MateriaIdList; - std::set< uint32_t > m_MinionRaceIdList; - std::set< uint32_t > m_MinionRulesIdList; - std::set< uint32_t > m_MinionSkillTypeIdList; - std::set< uint32_t > m_MobHuntTargetIdList; - std::set< uint32_t > m_ModelCharaIdList; - std::set< uint32_t > m_MonsterNoteIdList; - std::set< uint32_t > m_MonsterNoteTargetIdList; - std::set< uint32_t > m_MountIdList; - std::set< uint32_t > m_MountActionIdList; - std::set< uint32_t > m_MoveTimelineIdList; - std::set< uint32_t > m_MoveVfxIdList; - std::set< uint32_t > m_NpcEquipIdList; - std::set< uint32_t > m_OmenIdList; - std::set< uint32_t > m_OnlineStatusIdList; - std::set< uint32_t > m_OpeningIdList; - std::set< uint32_t > m_OrchestrionIdList; - std::set< uint32_t > m_OrchestrionCategoryIdList; - std::set< uint32_t > m_OrchestrionPathIdList; - std::set< uint32_t > m_OrchestrionUiparamIdList; - std::set< uint32_t > m_ParamGrowIdList; - std::set< uint32_t > m_PerformIdList; - std::set< uint32_t > m_PerformTransientIdList; - std::set< uint32_t > m_PetIdList; - std::set< uint32_t > m_PetActionIdList; - std::set< uint32_t > m_PictureIdList; - std::set< uint32_t > m_PlaceNameIdList; - std::set< uint32_t > m_PublicContentIdList; - std::set< uint32_t > m_PvPActionSortIdList; - std::set< uint32_t > m_QuestIdList; - std::set< uint32_t > m_QuestClassJobRewardIdList; - std::set< uint32_t > m_QuestRepeatFlagIdList; - std::set< uint32_t > m_QuestRewardOtherIdList; - std::set< uint32_t > m_QuickChatIdList; - std::set< uint32_t > m_QuickChatTransientIdList; - std::set< uint32_t > m_RaceIdList; - std::set< uint32_t > m_RacingChocoboItemIdList; - std::set< uint32_t > m_RacingChocoboNameIdList; - std::set< uint32_t > m_RacingChocoboNameCategoryIdList; - std::set< uint32_t > m_RacingChocoboNameInfoIdList; - std::set< uint32_t > m_RacingChocoboParamIdList; - std::set< uint32_t > m_RecipeIdList; - std::set< uint32_t > m_RecipeElementIdList; - std::set< uint32_t > m_RecipeLevelTableIdList; - std::set< uint32_t > m_RecipeNotebookListIdList; - std::set< uint32_t > m_RecommendContentsIdList; - std::set< uint32_t > m_RelicIdList; - std::set< uint32_t > m_Relic3IdList; - std::set< uint32_t > m_RelicItemIdList; - std::set< uint32_t > m_RelicNoteIdList; - std::set< uint32_t > m_RelicNoteCategoryIdList; - std::set< uint32_t > m_RetainerTaskIdList; - std::set< uint32_t > m_RetainerTaskLvRangeIdList; - std::set< uint32_t > m_RetainerTaskNormalIdList; - std::set< uint32_t > m_RetainerTaskParameterIdList; - std::set< uint32_t > m_RetainerTaskRandomIdList; - std::set< uint32_t > m_SalvageIdList; - std::set< uint32_t > m_SatisfactionNpcIdList; - std::set< uint32_t > m_SatisfactionSupplyIdList; - std::set< uint32_t > m_SatisfactionSupplyRewardIdList; - std::set< uint32_t > m_ScenarioTreeIdList; - std::set< uint32_t > m_ScenarioTreeTipsIdList; - std::set< uint32_t > m_ScenarioTreeTipsClassQuestIdList; - std::set< uint32_t > m_ScenarioTreeTipsQuestIdList; - std::set< uint32_t > m_ScenarioTypeIdList; - std::set< uint32_t > m_ScreenImageIdList; - std::set< uint32_t > m_SecretRecipeBookIdList; - std::set< uint32_t > m_SkyIsland2MissionIdList; - std::set< uint32_t > m_SkyIsland2MissionDetailIdList; - std::set< uint32_t > m_SkyIsland2MissionTypeIdList; - std::set< uint32_t > m_SkyIsland2RangeTypeIdList; - std::set< uint32_t > m_SpearfishingItemIdList; - std::set< uint32_t > m_SpearfishingNotebookIdList; - std::set< uint32_t > m_SpecialShopIdList; - std::set< uint32_t > m_SpecialShopItemCategoryIdList; - std::set< uint32_t > m_StainIdList; - std::set< uint32_t > m_StainTransientIdList; - std::set< uint32_t > m_StatusIdList; - std::set< uint32_t > m_StatusHitEffectIdList; - std::set< uint32_t > m_StatusLoopVFXIdList; - std::set< uint32_t > m_StoryIdList; - std::set< uint32_t > m_SubmarineExplorationIdList; - std::set< uint32_t > m_SubmarinePartIdList; - std::set< uint32_t > m_SubmarineRankIdList; - std::set< uint32_t > m_SwitchTalkIdList; - std::set< uint32_t > m_TerritoryTypeIdList; - std::set< uint32_t > m_TextCommandIdList; - std::set< uint32_t > m_TitleIdList; - std::set< uint32_t > m_TomestonesIdList; - std::set< uint32_t > m_TomestonesItemIdList; - std::set< uint32_t > m_TopicSelectIdList; - std::set< uint32_t > m_TownIdList; - std::set< uint32_t > m_TraitIdList; - std::set< uint32_t > m_TraitRecastIdList; - std::set< uint32_t > m_TraitTransientIdList; - std::set< uint32_t > m_TransformationIdList; - std::set< uint32_t > m_TreasureIdList; - std::set< uint32_t > m_TreasureHuntRankIdList; - std::set< uint32_t > m_TribeIdList; - std::set< uint32_t > m_TripleTriadIdList; - std::set< uint32_t > m_TripleTriadCardIdList; - std::set< uint32_t > m_TripleTriadCardRarityIdList; - std::set< uint32_t > m_TripleTriadCardResidentIdList; - std::set< uint32_t > m_TripleTriadCardTypeIdList; - std::set< uint32_t > m_TripleTriadCompetitionIdList; - std::set< uint32_t > m_TripleTriadRuleIdList; - std::set< uint32_t > m_TutorialIdList; - std::set< uint32_t > m_TutorialDPSIdList; - std::set< uint32_t > m_TutorialHealerIdList; - std::set< uint32_t > m_TutorialTankIdList; - std::set< uint32_t > m_VaseFlowerIdList; - std::set< uint32_t > m_VFXIdList; - std::set< uint32_t > m_WarpIdList; - std::set< uint32_t > m_WarpConditionIdList; - std::set< uint32_t > m_WeatherIdList; - std::set< uint32_t > m_WeatherGroupIdList; - std::set< uint32_t > m_WeatherRateIdList; - std::set< uint32_t > m_WeddingBGMIdList; - std::set< uint32_t > m_WeeklyBingoOrderDataIdList; - std::set< uint32_t > m_WeeklyBingoRewardDataIdList; - std::set< uint32_t > m_WeeklyBingoTextIdList; - std::set< uint32_t > m_WorldIdList; - std::set< uint32_t > m_WorldDCGroupTypeIdList; - std::set< uint32_t > m_YKWIdList; - std::set< uint32_t > m_ZoneSharedGroupIdList; - - - const std::set< uint32_t >& getAchievementIdList() - { - if( m_AchievementIdList.size() == 0 ) + if( m_AchievementIdList.size() == 0 ) loadIdList( m_AchievementDat, m_AchievementIdList ); - return m_AchievementIdList; - } - - const std::set< uint32_t >& getAchievementCategoryIdList() - { - if( m_AchievementCategoryIdList.size() == 0 ) + return m_AchievementIdList; +} +const std::set< uint32_t >& getAchievementCategoryIdList() +{ + if( m_AchievementCategoryIdList.size() == 0 ) loadIdList( m_AchievementCategoryDat, m_AchievementCategoryIdList ); - return m_AchievementCategoryIdList; - } - - const std::set< uint32_t >& getAchievementKindIdList() - { - if( m_AchievementKindIdList.size() == 0 ) + return m_AchievementCategoryIdList; +} +const std::set< uint32_t >& getAchievementKindIdList() +{ + if( m_AchievementKindIdList.size() == 0 ) loadIdList( m_AchievementKindDat, m_AchievementKindIdList ); - return m_AchievementKindIdList; - } - - const std::set< uint32_t >& getActionIdList() - { - if( m_ActionIdList.size() == 0 ) + return m_AchievementKindIdList; +} +const std::set< uint32_t >& getActionIdList() +{ + if( m_ActionIdList.size() == 0 ) loadIdList( m_ActionDat, m_ActionIdList ); - return m_ActionIdList; - } - - const std::set< uint32_t >& getActionCastTimelineIdList() - { - if( m_ActionCastTimelineIdList.size() == 0 ) + return m_ActionIdList; +} +const std::set< uint32_t >& getActionCastTimelineIdList() +{ + if( m_ActionCastTimelineIdList.size() == 0 ) loadIdList( m_ActionCastTimelineDat, m_ActionCastTimelineIdList ); - return m_ActionCastTimelineIdList; - } - - const std::set< uint32_t >& getActionCastVFXIdList() - { - if( m_ActionCastVFXIdList.size() == 0 ) + return m_ActionCastTimelineIdList; +} +const std::set< uint32_t >& getActionCastVFXIdList() +{ + if( m_ActionCastVFXIdList.size() == 0 ) loadIdList( m_ActionCastVFXDat, m_ActionCastVFXIdList ); - return m_ActionCastVFXIdList; - } - - const std::set< uint32_t >& getActionCategoryIdList() - { - if( m_ActionCategoryIdList.size() == 0 ) + return m_ActionCastVFXIdList; +} +const std::set< uint32_t >& getActionCategoryIdList() +{ + if( m_ActionCategoryIdList.size() == 0 ) loadIdList( m_ActionCategoryDat, m_ActionCategoryIdList ); - return m_ActionCategoryIdList; - } - - const std::set< uint32_t >& getActionComboRouteIdList() - { - if( m_ActionComboRouteIdList.size() == 0 ) + return m_ActionCategoryIdList; +} +const std::set< uint32_t >& getActionComboRouteIdList() +{ + if( m_ActionComboRouteIdList.size() == 0 ) loadIdList( m_ActionComboRouteDat, m_ActionComboRouteIdList ); - return m_ActionComboRouteIdList; - } - - const std::set< uint32_t >& getActionIndirectionIdList() - { - if( m_ActionIndirectionIdList.size() == 0 ) + return m_ActionComboRouteIdList; +} +const std::set< uint32_t >& getActionIndirectionIdList() +{ + if( m_ActionIndirectionIdList.size() == 0 ) loadIdList( m_ActionIndirectionDat, m_ActionIndirectionIdList ); - return m_ActionIndirectionIdList; - } - - const std::set< uint32_t >& getActionParamIdList() - { - if( m_ActionParamIdList.size() == 0 ) + return m_ActionIndirectionIdList; +} +const std::set< uint32_t >& getActionParamIdList() +{ + if( m_ActionParamIdList.size() == 0 ) loadIdList( m_ActionParamDat, m_ActionParamIdList ); - return m_ActionParamIdList; - } - - const std::set< uint32_t >& getActionProcStatusIdList() - { - if( m_ActionProcStatusIdList.size() == 0 ) + return m_ActionParamIdList; +} +const std::set< uint32_t >& getActionProcStatusIdList() +{ + if( m_ActionProcStatusIdList.size() == 0 ) loadIdList( m_ActionProcStatusDat, m_ActionProcStatusIdList ); - return m_ActionProcStatusIdList; - } - - const std::set< uint32_t >& getActionTimelineIdList() - { - if( m_ActionTimelineIdList.size() == 0 ) + return m_ActionProcStatusIdList; +} +const std::set< uint32_t >& getActionTimelineIdList() +{ + if( m_ActionTimelineIdList.size() == 0 ) loadIdList( m_ActionTimelineDat, m_ActionTimelineIdList ); - return m_ActionTimelineIdList; - } - - const std::set< uint32_t >& getActionTimelineReplaceIdList() - { - if( m_ActionTimelineReplaceIdList.size() == 0 ) + return m_ActionTimelineIdList; +} +const std::set< uint32_t >& getActionTimelineMoveIdList() +{ + if( m_ActionTimelineMoveIdList.size() == 0 ) + loadIdList( m_ActionTimelineMoveDat, m_ActionTimelineMoveIdList ); + return m_ActionTimelineMoveIdList; +} +const std::set< uint32_t >& getActionTimelineReplaceIdList() +{ + if( m_ActionTimelineReplaceIdList.size() == 0 ) loadIdList( m_ActionTimelineReplaceDat, m_ActionTimelineReplaceIdList ); - return m_ActionTimelineReplaceIdList; - } - - const std::set< uint32_t >& getActionTransientIdList() - { - if( m_ActionTransientIdList.size() == 0 ) + return m_ActionTimelineReplaceIdList; +} +const std::set< uint32_t >& getActionTransientIdList() +{ + if( m_ActionTransientIdList.size() == 0 ) loadIdList( m_ActionTransientDat, m_ActionTransientIdList ); - return m_ActionTransientIdList; - } - - const std::set< uint32_t >& getAddonIdList() - { - if( m_AddonIdList.size() == 0 ) + return m_ActionTransientIdList; +} +const std::set< uint32_t >& getActivityFeedButtonsIdList() +{ + if( m_ActivityFeedButtonsIdList.size() == 0 ) + loadIdList( m_ActivityFeedButtonsDat, m_ActivityFeedButtonsIdList ); + return m_ActivityFeedButtonsIdList; +} +const std::set< uint32_t >& getActivityFeedCaptionsIdList() +{ + if( m_ActivityFeedCaptionsIdList.size() == 0 ) + loadIdList( m_ActivityFeedCaptionsDat, m_ActivityFeedCaptionsIdList ); + return m_ActivityFeedCaptionsIdList; +} +const std::set< uint32_t >& getActivityFeedGroupCaptionsIdList() +{ + if( m_ActivityFeedGroupCaptionsIdList.size() == 0 ) + loadIdList( m_ActivityFeedGroupCaptionsDat, m_ActivityFeedGroupCaptionsIdList ); + return m_ActivityFeedGroupCaptionsIdList; +} +const std::set< uint32_t >& getActivityFeedImagesIdList() +{ + if( m_ActivityFeedImagesIdList.size() == 0 ) + loadIdList( m_ActivityFeedImagesDat, m_ActivityFeedImagesIdList ); + return m_ActivityFeedImagesIdList; +} +const std::set< uint32_t >& getAddonIdList() +{ + if( m_AddonIdList.size() == 0 ) loadIdList( m_AddonDat, m_AddonIdList ); - return m_AddonIdList; - } - - const std::set< uint32_t >& getAdventureIdList() - { - if( m_AdventureIdList.size() == 0 ) + 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 ) loadIdList( m_AdventureDat, m_AdventureIdList ); - return m_AdventureIdList; - } - - const std::set< uint32_t >& getAdventureExPhaseIdList() - { - if( m_AdventureExPhaseIdList.size() == 0 ) + return m_AdventureIdList; +} +const std::set< uint32_t >& getAdventureExPhaseIdList() +{ + if( m_AdventureExPhaseIdList.size() == 0 ) loadIdList( m_AdventureExPhaseDat, m_AdventureExPhaseIdList ); - return m_AdventureExPhaseIdList; - } - - const std::set< uint32_t >& getAetherCurrentIdList() - { - if( m_AetherCurrentIdList.size() == 0 ) + return m_AdventureExPhaseIdList; +} +const std::set< uint32_t >& getAetherCurrentIdList() +{ + if( m_AetherCurrentIdList.size() == 0 ) loadIdList( m_AetherCurrentDat, m_AetherCurrentIdList ); - return m_AetherCurrentIdList; - } - - const std::set< uint32_t >& getAetherCurrentCompFlgSetIdList() - { - if( m_AetherCurrentCompFlgSetIdList.size() == 0 ) + return m_AetherCurrentIdList; +} +const std::set< uint32_t >& getAetherCurrentCompFlgSetIdList() +{ + if( m_AetherCurrentCompFlgSetIdList.size() == 0 ) loadIdList( m_AetherCurrentCompFlgSetDat, m_AetherCurrentCompFlgSetIdList ); - return m_AetherCurrentCompFlgSetIdList; - } - - const std::set< uint32_t >& getAetherialWheelIdList() - { - if( m_AetherialWheelIdList.size() == 0 ) + return m_AetherCurrentCompFlgSetIdList; +} +const std::set< uint32_t >& getAetherialWheelIdList() +{ + if( m_AetherialWheelIdList.size() == 0 ) loadIdList( m_AetherialWheelDat, m_AetherialWheelIdList ); - return m_AetherialWheelIdList; - } - - const std::set< uint32_t >& getAetheryteIdList() - { - if( m_AetheryteIdList.size() == 0 ) + return m_AetherialWheelIdList; +} +const std::set< uint32_t >& getAetheryteIdList() +{ + if( m_AetheryteIdList.size() == 0 ) loadIdList( m_AetheryteDat, m_AetheryteIdList ); - return m_AetheryteIdList; - } - - const std::set< uint32_t >& getAirshipExplorationLevelIdList() - { - if( m_AirshipExplorationLevelIdList.size() == 0 ) + return m_AetheryteIdList; +} +const std::set< uint32_t >& getAetheryteSystemDefineIdList() +{ + if( m_AetheryteSystemDefineIdList.size() == 0 ) + loadIdList( m_AetheryteSystemDefineDat, m_AetheryteSystemDefineIdList ); + return m_AetheryteSystemDefineIdList; +} +const std::set< uint32_t >& getAirshipExplorationLevelIdList() +{ + if( m_AirshipExplorationLevelIdList.size() == 0 ) loadIdList( m_AirshipExplorationLevelDat, m_AirshipExplorationLevelIdList ); - return m_AirshipExplorationLevelIdList; - } - - const std::set< uint32_t >& getAirshipExplorationLogIdList() - { - if( m_AirshipExplorationLogIdList.size() == 0 ) + return m_AirshipExplorationLevelIdList; +} +const std::set< uint32_t >& getAirshipExplorationLogIdList() +{ + if( m_AirshipExplorationLogIdList.size() == 0 ) loadIdList( m_AirshipExplorationLogDat, m_AirshipExplorationLogIdList ); - return m_AirshipExplorationLogIdList; - } - - const std::set< uint32_t >& getAirshipExplorationParamTypeIdList() - { - if( m_AirshipExplorationParamTypeIdList.size() == 0 ) + return m_AirshipExplorationLogIdList; +} +const std::set< uint32_t >& getAirshipExplorationParamTypeIdList() +{ + if( m_AirshipExplorationParamTypeIdList.size() == 0 ) loadIdList( m_AirshipExplorationParamTypeDat, m_AirshipExplorationParamTypeIdList ); - return m_AirshipExplorationParamTypeIdList; - } - - const std::set< uint32_t >& getAirshipExplorationPartIdList() - { - if( m_AirshipExplorationPartIdList.size() == 0 ) + return m_AirshipExplorationParamTypeIdList; +} +const std::set< uint32_t >& getAirshipExplorationPartIdList() +{ + if( m_AirshipExplorationPartIdList.size() == 0 ) loadIdList( m_AirshipExplorationPartDat, m_AirshipExplorationPartIdList ); - return m_AirshipExplorationPartIdList; - } - - const std::set< uint32_t >& getAirshipExplorationPointIdList() - { - if( m_AirshipExplorationPointIdList.size() == 0 ) + return m_AirshipExplorationPartIdList; +} +const std::set< uint32_t >& getAirshipExplorationPointIdList() +{ + if( m_AirshipExplorationPointIdList.size() == 0 ) loadIdList( m_AirshipExplorationPointDat, m_AirshipExplorationPointIdList ); - return m_AirshipExplorationPointIdList; - } - - const std::set< uint32_t >& getAnimaWeapon5IdList() - { - if( m_AnimaWeapon5IdList.size() == 0 ) + return m_AirshipExplorationPointIdList; +} +const std::set< uint32_t >& getAnimaWeapon5IdList() +{ + if( m_AnimaWeapon5IdList.size() == 0 ) loadIdList( m_AnimaWeapon5Dat, m_AnimaWeapon5IdList ); - return m_AnimaWeapon5IdList; - } - - const std::set< uint32_t >& getAnimaWeapon5ParamIdList() - { - if( m_AnimaWeapon5ParamIdList.size() == 0 ) + return m_AnimaWeapon5IdList; +} +const std::set< uint32_t >& getAnimaWeapon5ParamIdList() +{ + if( m_AnimaWeapon5ParamIdList.size() == 0 ) loadIdList( m_AnimaWeapon5ParamDat, m_AnimaWeapon5ParamIdList ); - return m_AnimaWeapon5ParamIdList; - } - - const std::set< uint32_t >& getAnimaWeapon5PatternGroupIdList() - { - if( m_AnimaWeapon5PatternGroupIdList.size() == 0 ) + return m_AnimaWeapon5ParamIdList; +} +const std::set< uint32_t >& getAnimaWeapon5PatternGroupIdList() +{ + if( m_AnimaWeapon5PatternGroupIdList.size() == 0 ) loadIdList( m_AnimaWeapon5PatternGroupDat, m_AnimaWeapon5PatternGroupIdList ); - return m_AnimaWeapon5PatternGroupIdList; - } - - const std::set< uint32_t >& getAnimaWeapon5SpiritTalkIdList() - { - if( m_AnimaWeapon5SpiritTalkIdList.size() == 0 ) + return m_AnimaWeapon5PatternGroupIdList; +} +const std::set< uint32_t >& getAnimaWeapon5SpiritTalkIdList() +{ + if( m_AnimaWeapon5SpiritTalkIdList.size() == 0 ) loadIdList( m_AnimaWeapon5SpiritTalkDat, m_AnimaWeapon5SpiritTalkIdList ); - return m_AnimaWeapon5SpiritTalkIdList; - } - - const std::set< uint32_t >& getAnimaWeapon5SpiritTalkParamIdList() - { - if( m_AnimaWeapon5SpiritTalkParamIdList.size() == 0 ) + return m_AnimaWeapon5SpiritTalkIdList; +} +const std::set< uint32_t >& getAnimaWeapon5SpiritTalkParamIdList() +{ + if( m_AnimaWeapon5SpiritTalkParamIdList.size() == 0 ) loadIdList( m_AnimaWeapon5SpiritTalkParamDat, m_AnimaWeapon5SpiritTalkParamIdList ); - return m_AnimaWeapon5SpiritTalkParamIdList; - } - - const std::set< uint32_t >& getAnimaWeapon5TradeItemIdList() - { - if( m_AnimaWeapon5TradeItemIdList.size() == 0 ) + return m_AnimaWeapon5SpiritTalkParamIdList; +} +const std::set< uint32_t >& getAnimaWeapon5TradeItemIdList() +{ + if( m_AnimaWeapon5TradeItemIdList.size() == 0 ) loadIdList( m_AnimaWeapon5TradeItemDat, m_AnimaWeapon5TradeItemIdList ); - return m_AnimaWeapon5TradeItemIdList; - } - - const std::set< uint32_t >& getAnimaWeaponFUITalkIdList() - { - if( m_AnimaWeaponFUITalkIdList.size() == 0 ) + return m_AnimaWeapon5TradeItemIdList; +} +const std::set< uint32_t >& getAnimaWeaponFUITalkIdList() +{ + if( m_AnimaWeaponFUITalkIdList.size() == 0 ) loadIdList( m_AnimaWeaponFUITalkDat, m_AnimaWeaponFUITalkIdList ); - return m_AnimaWeaponFUITalkIdList; - } - - const std::set< uint32_t >& getAnimaWeaponFUITalkParamIdList() - { - if( m_AnimaWeaponFUITalkParamIdList.size() == 0 ) + return m_AnimaWeaponFUITalkIdList; +} +const std::set< uint32_t >& getAnimaWeaponFUITalkParamIdList() +{ + if( m_AnimaWeaponFUITalkParamIdList.size() == 0 ) loadIdList( m_AnimaWeaponFUITalkParamDat, m_AnimaWeaponFUITalkParamIdList ); - return m_AnimaWeaponFUITalkParamIdList; - } - - const std::set< uint32_t >& getAnimaWeaponIconIdList() - { - if( m_AnimaWeaponIconIdList.size() == 0 ) + return m_AnimaWeaponFUITalkParamIdList; +} +const std::set< uint32_t >& getAnimaWeaponIconIdList() +{ + if( m_AnimaWeaponIconIdList.size() == 0 ) loadIdList( m_AnimaWeaponIconDat, m_AnimaWeaponIconIdList ); - return m_AnimaWeaponIconIdList; - } - - const std::set< uint32_t >& getAnimaWeaponItemIdList() - { - if( m_AnimaWeaponItemIdList.size() == 0 ) + return m_AnimaWeaponIconIdList; +} +const std::set< uint32_t >& getAnimaWeaponItemIdList() +{ + if( m_AnimaWeaponItemIdList.size() == 0 ) loadIdList( m_AnimaWeaponItemDat, m_AnimaWeaponItemIdList ); - return m_AnimaWeaponItemIdList; - } - - const std::set< uint32_t >& getAquariumFishIdList() - { - if( m_AquariumFishIdList.size() == 0 ) + return m_AnimaWeaponItemIdList; +} +const std::set< uint32_t >& getAquariumFishIdList() +{ + if( m_AquariumFishIdList.size() == 0 ) loadIdList( m_AquariumFishDat, m_AquariumFishIdList ); - return m_AquariumFishIdList; - } - - const std::set< uint32_t >& getAquariumWaterIdList() - { - if( m_AquariumWaterIdList.size() == 0 ) + return m_AquariumFishIdList; +} +const std::set< uint32_t >& getAquariumWaterIdList() +{ + if( m_AquariumWaterIdList.size() == 0 ) loadIdList( m_AquariumWaterDat, m_AquariumWaterIdList ); - return m_AquariumWaterIdList; - } - - const std::set< uint32_t >& getAttackTypeIdList() - { - if( m_AttackTypeIdList.size() == 0 ) + return m_AquariumWaterIdList; +} +const std::set< uint32_t >& getArrayEventHandlerIdList() +{ + if( m_ArrayEventHandlerIdList.size() == 0 ) + loadIdList( m_ArrayEventHandlerDat, m_ArrayEventHandlerIdList ); + return m_ArrayEventHandlerIdList; +} +const std::set< uint32_t >& getAttackTypeIdList() +{ + if( m_AttackTypeIdList.size() == 0 ) loadIdList( m_AttackTypeDat, m_AttackTypeIdList ); - return m_AttackTypeIdList; - } - - const std::set< uint32_t >& getBalloonIdList() - { - if( m_BalloonIdList.size() == 0 ) + return m_AttackTypeIdList; +} +const std::set< uint32_t >& getBacklightColorIdList() +{ + if( m_BacklightColorIdList.size() == 0 ) + loadIdList( m_BacklightColorDat, m_BacklightColorIdList ); + return m_BacklightColorIdList; +} +const std::set< uint32_t >& getBalloonIdList() +{ + if( m_BalloonIdList.size() == 0 ) loadIdList( m_BalloonDat, m_BalloonIdList ); - return m_BalloonIdList; - } - - const std::set< uint32_t >& getBaseParamIdList() - { - if( m_BaseParamIdList.size() == 0 ) + return m_BalloonIdList; +} +const std::set< uint32_t >& getBaseParamIdList() +{ + if( m_BaseParamIdList.size() == 0 ) loadIdList( m_BaseParamDat, m_BaseParamIdList ); - return m_BaseParamIdList; - } - - const std::set< uint32_t >& getBattleLeveIdList() - { - if( m_BattleLeveIdList.size() == 0 ) + return m_BaseParamIdList; +} +const std::set< uint32_t >& getBattleLeveIdList() +{ + if( m_BattleLeveIdList.size() == 0 ) loadIdList( m_BattleLeveDat, m_BattleLeveIdList ); - return m_BattleLeveIdList; - } - - const std::set< uint32_t >& getBeastRankBonusIdList() - { - if( m_BeastRankBonusIdList.size() == 0 ) + return m_BattleLeveIdList; +} +const std::set< uint32_t >& getBeastRankBonusIdList() +{ + if( m_BeastRankBonusIdList.size() == 0 ) loadIdList( m_BeastRankBonusDat, m_BeastRankBonusIdList ); - return m_BeastRankBonusIdList; - } - - const std::set< uint32_t >& getBeastReputationRankIdList() - { - if( m_BeastReputationRankIdList.size() == 0 ) + return m_BeastRankBonusIdList; +} +const std::set< uint32_t >& getBeastReputationRankIdList() +{ + if( m_BeastReputationRankIdList.size() == 0 ) loadIdList( m_BeastReputationRankDat, m_BeastReputationRankIdList ); - return m_BeastReputationRankIdList; - } - - const std::set< uint32_t >& getBeastTribeIdList() - { - if( m_BeastTribeIdList.size() == 0 ) + return m_BeastReputationRankIdList; +} +const std::set< uint32_t >& getBeastTribeIdList() +{ + if( m_BeastTribeIdList.size() == 0 ) loadIdList( m_BeastTribeDat, m_BeastTribeIdList ); - return m_BeastTribeIdList; - } - - const std::set< uint32_t >& getBehaviorIdList() - { - if( m_BehaviorIdList.size() == 0 ) + return m_BeastTribeIdList; +} +const std::set< uint32_t >& getBehaviorIdList() +{ + if( m_BehaviorIdList.size() == 0 ) loadIdList( m_BehaviorDat, m_BehaviorIdList ); - return m_BehaviorIdList; - } - - const std::set< uint32_t >& getBGMIdList() - { - if( m_BGMIdList.size() == 0 ) + return m_BehaviorIdList; +} +const std::set< uint32_t >& getBGMIdList() +{ + if( m_BGMIdList.size() == 0 ) loadIdList( m_BGMDat, m_BGMIdList ); - return m_BGMIdList; - } - - const std::set< uint32_t >& getBNpcAnnounceIconIdList() - { - if( m_BNpcAnnounceIconIdList.size() == 0 ) + return m_BGMIdList; +} +const std::set< uint32_t >& getBGMFadeIdList() +{ + if( m_BGMFadeIdList.size() == 0 ) + loadIdList( m_BGMFadeDat, m_BGMFadeIdList ); + return m_BGMFadeIdList; +} +const std::set< uint32_t >& getBGMSituationIdList() +{ + if( m_BGMSituationIdList.size() == 0 ) + loadIdList( m_BGMSituationDat, m_BGMSituationIdList ); + return m_BGMSituationIdList; +} +const std::set< uint32_t >& getBGMSwitchIdList() +{ + if( m_BGMSwitchIdList.size() == 0 ) + loadIdList( m_BGMSwitchDat, m_BGMSwitchIdList ); + return m_BGMSwitchIdList; +} +const std::set< uint32_t >& getBGMSystemDefineIdList() +{ + if( m_BGMSystemDefineIdList.size() == 0 ) + loadIdList( m_BGMSystemDefineDat, m_BGMSystemDefineIdList ); + return m_BGMSystemDefineIdList; +} +const std::set< uint32_t >& getBNpcAnnounceIconIdList() +{ + if( m_BNpcAnnounceIconIdList.size() == 0 ) loadIdList( m_BNpcAnnounceIconDat, m_BNpcAnnounceIconIdList ); - return m_BNpcAnnounceIconIdList; - } - - const std::set< uint32_t >& getBNpcBaseIdList() - { - if( m_BNpcBaseIdList.size() == 0 ) + return m_BNpcAnnounceIconIdList; +} +const std::set< uint32_t >& getBNpcBaseIdList() +{ + if( m_BNpcBaseIdList.size() == 0 ) loadIdList( m_BNpcBaseDat, m_BNpcBaseIdList ); - return m_BNpcBaseIdList; - } - - const std::set< uint32_t >& getBNpcCustomizeIdList() - { - if( m_BNpcCustomizeIdList.size() == 0 ) + return m_BNpcBaseIdList; +} +const std::set< uint32_t >& getBNpcCustomizeIdList() +{ + if( m_BNpcCustomizeIdList.size() == 0 ) loadIdList( m_BNpcCustomizeDat, m_BNpcCustomizeIdList ); - return m_BNpcCustomizeIdList; - } - - const std::set< uint32_t >& getBNpcNameIdList() - { - if( m_BNpcNameIdList.size() == 0 ) + return m_BNpcCustomizeIdList; +} +const std::set< uint32_t >& getBNpcNameIdList() +{ + if( m_BNpcNameIdList.size() == 0 ) loadIdList( m_BNpcNameDat, m_BNpcNameIdList ); - return m_BNpcNameIdList; - } - - const std::set< uint32_t >& getBuddyIdList() - { - if( m_BuddyIdList.size() == 0 ) + return m_BNpcNameIdList; +} +const std::set< uint32_t >& getBNpcPartsIdList() +{ + if( m_BNpcPartsIdList.size() == 0 ) + loadIdList( m_BNpcPartsDat, m_BNpcPartsIdList ); + return m_BNpcPartsIdList; +} +const std::set< uint32_t >& getBuddyIdList() +{ + if( m_BuddyIdList.size() == 0 ) loadIdList( m_BuddyDat, m_BuddyIdList ); - return m_BuddyIdList; - } - - const std::set< uint32_t >& getBuddyActionIdList() - { - if( m_BuddyActionIdList.size() == 0 ) + return m_BuddyIdList; +} +const std::set< uint32_t >& getBuddyActionIdList() +{ + if( m_BuddyActionIdList.size() == 0 ) loadIdList( m_BuddyActionDat, m_BuddyActionIdList ); - return m_BuddyActionIdList; - } - - const std::set< uint32_t >& getBuddyEquipIdList() - { - if( m_BuddyEquipIdList.size() == 0 ) + return m_BuddyActionIdList; +} +const std::set< uint32_t >& getBuddyEquipIdList() +{ + if( m_BuddyEquipIdList.size() == 0 ) loadIdList( m_BuddyEquipDat, m_BuddyEquipIdList ); - return m_BuddyEquipIdList; - } - - const std::set< uint32_t >& getBuddyItemIdList() - { - if( m_BuddyItemIdList.size() == 0 ) + return m_BuddyEquipIdList; +} +const std::set< uint32_t >& getBuddyItemIdList() +{ + if( m_BuddyItemIdList.size() == 0 ) loadIdList( m_BuddyItemDat, m_BuddyItemIdList ); - return m_BuddyItemIdList; - } - - const std::set< uint32_t >& getBuddyRankIdList() - { - if( m_BuddyRankIdList.size() == 0 ) + return m_BuddyItemIdList; +} +const std::set< uint32_t >& getBuddyRankIdList() +{ + if( m_BuddyRankIdList.size() == 0 ) loadIdList( m_BuddyRankDat, m_BuddyRankIdList ); - return m_BuddyRankIdList; - } - - const std::set< uint32_t >& getBuddySkillIdList() - { - if( m_BuddySkillIdList.size() == 0 ) + return m_BuddyRankIdList; +} +const std::set< uint32_t >& getBuddySkillIdList() +{ + if( m_BuddySkillIdList.size() == 0 ) loadIdList( m_BuddySkillDat, m_BuddySkillIdList ); - return m_BuddySkillIdList; - } - - const std::set< uint32_t >& getCabinetIdList() - { - if( m_CabinetIdList.size() == 0 ) + return m_BuddySkillIdList; +} +const std::set< uint32_t >& getCabinetIdList() +{ + if( m_CabinetIdList.size() == 0 ) loadIdList( m_CabinetDat, m_CabinetIdList ); - return m_CabinetIdList; - } - - const std::set< uint32_t >& getCabinetCategoryIdList() - { - if( m_CabinetCategoryIdList.size() == 0 ) + return m_CabinetIdList; +} +const std::set< uint32_t >& getCabinetCategoryIdList() +{ + if( m_CabinetCategoryIdList.size() == 0 ) loadIdList( m_CabinetCategoryDat, m_CabinetCategoryIdList ); - return m_CabinetCategoryIdList; - } - - const std::set< uint32_t >& getCalendarIdList() - { - if( m_CalendarIdList.size() == 0 ) + return m_CabinetCategoryIdList; +} +const std::set< uint32_t >& getCalendarIdList() +{ + if( m_CalendarIdList.size() == 0 ) loadIdList( m_CalendarDat, m_CalendarIdList ); - return m_CalendarIdList; - } - - const std::set< uint32_t >& getCharaMakeCustomizeIdList() - { - if( m_CharaMakeCustomizeIdList.size() == 0 ) + return m_CalendarIdList; +} +const std::set< uint32_t >& getCharaMakeCustomizeIdList() +{ + if( m_CharaMakeCustomizeIdList.size() == 0 ) loadIdList( m_CharaMakeCustomizeDat, m_CharaMakeCustomizeIdList ); - return m_CharaMakeCustomizeIdList; - } - - const std::set< uint32_t >& getCharaMakeTypeIdList() - { - if( m_CharaMakeTypeIdList.size() == 0 ) + return m_CharaMakeCustomizeIdList; +} +const std::set< uint32_t >& getCharaMakeTypeIdList() +{ + if( m_CharaMakeTypeIdList.size() == 0 ) loadIdList( m_CharaMakeTypeDat, m_CharaMakeTypeIdList ); - return m_CharaMakeTypeIdList; - } - - const std::set< uint32_t >& getChocoboRaceIdList() - { - if( m_ChocoboRaceIdList.size() == 0 ) + return m_CharaMakeTypeIdList; +} +const std::set< uint32_t >& getChocoboRaceIdList() +{ + if( m_ChocoboRaceIdList.size() == 0 ) loadIdList( m_ChocoboRaceDat, m_ChocoboRaceIdList ); - return m_ChocoboRaceIdList; - } - - const std::set< uint32_t >& getChocoboRaceAbilityIdList() - { - if( m_ChocoboRaceAbilityIdList.size() == 0 ) + return m_ChocoboRaceIdList; +} +const std::set< uint32_t >& getChocoboRaceAbilityIdList() +{ + if( m_ChocoboRaceAbilityIdList.size() == 0 ) loadIdList( m_ChocoboRaceAbilityDat, m_ChocoboRaceAbilityIdList ); - return m_ChocoboRaceAbilityIdList; - } - - const std::set< uint32_t >& getChocoboRaceAbilityTypeIdList() - { - if( m_ChocoboRaceAbilityTypeIdList.size() == 0 ) + return m_ChocoboRaceAbilityIdList; +} +const std::set< uint32_t >& getChocoboRaceAbilityTypeIdList() +{ + if( m_ChocoboRaceAbilityTypeIdList.size() == 0 ) loadIdList( m_ChocoboRaceAbilityTypeDat, m_ChocoboRaceAbilityTypeIdList ); - return m_ChocoboRaceAbilityTypeIdList; - } - - const std::set< uint32_t >& getChocoboRaceItemIdList() - { - if( m_ChocoboRaceItemIdList.size() == 0 ) + return m_ChocoboRaceAbilityTypeIdList; +} +const std::set< uint32_t >& getChocoboRaceItemIdList() +{ + if( m_ChocoboRaceItemIdList.size() == 0 ) loadIdList( m_ChocoboRaceItemDat, m_ChocoboRaceItemIdList ); - return m_ChocoboRaceItemIdList; - } - - const std::set< uint32_t >& getChocoboRaceRankIdList() - { - if( m_ChocoboRaceRankIdList.size() == 0 ) + return m_ChocoboRaceItemIdList; +} +const std::set< uint32_t >& getChocoboRaceRankIdList() +{ + if( m_ChocoboRaceRankIdList.size() == 0 ) loadIdList( m_ChocoboRaceRankDat, m_ChocoboRaceRankIdList ); - return m_ChocoboRaceRankIdList; - } - - const std::set< uint32_t >& getChocoboRaceStatusIdList() - { - if( m_ChocoboRaceStatusIdList.size() == 0 ) + return m_ChocoboRaceRankIdList; +} +const std::set< uint32_t >& getChocoboRaceStatusIdList() +{ + if( m_ChocoboRaceStatusIdList.size() == 0 ) loadIdList( m_ChocoboRaceStatusDat, m_ChocoboRaceStatusIdList ); - return m_ChocoboRaceStatusIdList; - } - - const std::set< uint32_t >& getChocoboRaceTerritoryIdList() - { - if( m_ChocoboRaceTerritoryIdList.size() == 0 ) + return m_ChocoboRaceStatusIdList; +} +const std::set< uint32_t >& getChocoboRaceTerritoryIdList() +{ + if( m_ChocoboRaceTerritoryIdList.size() == 0 ) loadIdList( m_ChocoboRaceTerritoryDat, m_ChocoboRaceTerritoryIdList ); - return m_ChocoboRaceTerritoryIdList; - } - - const std::set< uint32_t >& getChocoboTaxiIdList() - { - if( m_ChocoboTaxiIdList.size() == 0 ) + return m_ChocoboRaceTerritoryIdList; +} +const std::set< uint32_t >& getChocoboRaceTutorialIdList() +{ + if( m_ChocoboRaceTutorialIdList.size() == 0 ) + loadIdList( m_ChocoboRaceTutorialDat, m_ChocoboRaceTutorialIdList ); + return m_ChocoboRaceTutorialIdList; +} +const std::set< uint32_t >& getChocoboRaceWeatherIdList() +{ + if( m_ChocoboRaceWeatherIdList.size() == 0 ) + loadIdList( m_ChocoboRaceWeatherDat, m_ChocoboRaceWeatherIdList ); + return m_ChocoboRaceWeatherIdList; +} +const std::set< uint32_t >& getChocoboTaxiIdList() +{ + if( m_ChocoboTaxiIdList.size() == 0 ) loadIdList( m_ChocoboTaxiDat, m_ChocoboTaxiIdList ); - return m_ChocoboTaxiIdList; - } - - const std::set< uint32_t >& getChocoboTaxiStandIdList() - { - if( m_ChocoboTaxiStandIdList.size() == 0 ) + return m_ChocoboTaxiIdList; +} +const std::set< uint32_t >& getChocoboTaxiStandIdList() +{ + if( m_ChocoboTaxiStandIdList.size() == 0 ) loadIdList( m_ChocoboTaxiStandDat, m_ChocoboTaxiStandIdList ); - return m_ChocoboTaxiStandIdList; - } - - const std::set< uint32_t >& getClassJobIdList() - { - if( m_ClassJobIdList.size() == 0 ) + return m_ChocoboTaxiStandIdList; +} +const std::set< uint32_t >& getClassJobIdList() +{ + if( m_ClassJobIdList.size() == 0 ) loadIdList( m_ClassJobDat, m_ClassJobIdList ); - return m_ClassJobIdList; - } - - const std::set< uint32_t >& getClassJobCategoryIdList() - { - if( m_ClassJobCategoryIdList.size() == 0 ) + return m_ClassJobIdList; +} +const std::set< uint32_t >& getClassJobCategoryIdList() +{ + if( m_ClassJobCategoryIdList.size() == 0 ) loadIdList( m_ClassJobCategoryDat, m_ClassJobCategoryIdList ); - return m_ClassJobCategoryIdList; - } - - const std::set< uint32_t >& getCompanionIdList() - { - if( m_CompanionIdList.size() == 0 ) + return m_ClassJobCategoryIdList; +} +const std::set< uint32_t >& getCompanionIdList() +{ + if( m_CompanionIdList.size() == 0 ) loadIdList( m_CompanionDat, m_CompanionIdList ); - return m_CompanionIdList; - } - - const std::set< uint32_t >& getCompanionMoveIdList() - { - if( m_CompanionMoveIdList.size() == 0 ) + return m_CompanionIdList; +} +const std::set< uint32_t >& getCompanionMoveIdList() +{ + if( m_CompanionMoveIdList.size() == 0 ) loadIdList( m_CompanionMoveDat, m_CompanionMoveIdList ); - return m_CompanionMoveIdList; - } - - const std::set< uint32_t >& getCompanionTransientIdList() - { - if( m_CompanionTransientIdList.size() == 0 ) + return m_CompanionMoveIdList; +} +const std::set< uint32_t >& getCompanionTransientIdList() +{ + if( m_CompanionTransientIdList.size() == 0 ) loadIdList( m_CompanionTransientDat, m_CompanionTransientIdList ); - return m_CompanionTransientIdList; - } - - const std::set< uint32_t >& getCompanyActionIdList() - { - if( m_CompanyActionIdList.size() == 0 ) + return m_CompanionTransientIdList; +} +const std::set< uint32_t >& getCompanyActionIdList() +{ + if( m_CompanyActionIdList.size() == 0 ) loadIdList( m_CompanyActionDat, m_CompanyActionIdList ); - return m_CompanyActionIdList; - } - - const std::set< uint32_t >& getCompanyCraftDraftIdList() - { - if( m_CompanyCraftDraftIdList.size() == 0 ) + return m_CompanyActionIdList; +} +const std::set< uint32_t >& getCompanyCraftDraftIdList() +{ + if( m_CompanyCraftDraftIdList.size() == 0 ) loadIdList( m_CompanyCraftDraftDat, m_CompanyCraftDraftIdList ); - return m_CompanyCraftDraftIdList; - } - - const std::set< uint32_t >& getCompanyCraftDraftCategoryIdList() - { - if( m_CompanyCraftDraftCategoryIdList.size() == 0 ) + return m_CompanyCraftDraftIdList; +} +const std::set< uint32_t >& getCompanyCraftDraftCategoryIdList() +{ + if( m_CompanyCraftDraftCategoryIdList.size() == 0 ) loadIdList( m_CompanyCraftDraftCategoryDat, m_CompanyCraftDraftCategoryIdList ); - return m_CompanyCraftDraftCategoryIdList; - } - - const std::set< uint32_t >& getCompanyCraftManufactoryStateIdList() - { - if( m_CompanyCraftManufactoryStateIdList.size() == 0 ) + return m_CompanyCraftDraftCategoryIdList; +} +const std::set< uint32_t >& getCompanyCraftManufactoryStateIdList() +{ + if( m_CompanyCraftManufactoryStateIdList.size() == 0 ) loadIdList( m_CompanyCraftManufactoryStateDat, m_CompanyCraftManufactoryStateIdList ); - return m_CompanyCraftManufactoryStateIdList; - } - - const std::set< uint32_t >& getCompanyCraftPartIdList() - { - if( m_CompanyCraftPartIdList.size() == 0 ) + return m_CompanyCraftManufactoryStateIdList; +} +const std::set< uint32_t >& getCompanyCraftPartIdList() +{ + if( m_CompanyCraftPartIdList.size() == 0 ) loadIdList( m_CompanyCraftPartDat, m_CompanyCraftPartIdList ); - return m_CompanyCraftPartIdList; - } - - const std::set< uint32_t >& getCompanyCraftProcessIdList() - { - if( m_CompanyCraftProcessIdList.size() == 0 ) + return m_CompanyCraftPartIdList; +} +const std::set< uint32_t >& getCompanyCraftProcessIdList() +{ + if( m_CompanyCraftProcessIdList.size() == 0 ) loadIdList( m_CompanyCraftProcessDat, m_CompanyCraftProcessIdList ); - return m_CompanyCraftProcessIdList; - } - - const std::set< uint32_t >& getCompanyCraftSequenceIdList() - { - if( m_CompanyCraftSequenceIdList.size() == 0 ) + return m_CompanyCraftProcessIdList; +} +const std::set< uint32_t >& getCompanyCraftSequenceIdList() +{ + if( m_CompanyCraftSequenceIdList.size() == 0 ) loadIdList( m_CompanyCraftSequenceDat, m_CompanyCraftSequenceIdList ); - return m_CompanyCraftSequenceIdList; - } - - const std::set< uint32_t >& getCompanyCraftSupplyItemIdList() - { - if( m_CompanyCraftSupplyItemIdList.size() == 0 ) + return m_CompanyCraftSequenceIdList; +} +const std::set< uint32_t >& getCompanyCraftSupplyItemIdList() +{ + if( m_CompanyCraftSupplyItemIdList.size() == 0 ) loadIdList( m_CompanyCraftSupplyItemDat, m_CompanyCraftSupplyItemIdList ); - return m_CompanyCraftSupplyItemIdList; - } - - const std::set< uint32_t >& getCompanyCraftTypeIdList() - { - if( m_CompanyCraftTypeIdList.size() == 0 ) + return m_CompanyCraftSupplyItemIdList; +} +const std::set< uint32_t >& getCompanyCraftTypeIdList() +{ + if( m_CompanyCraftTypeIdList.size() == 0 ) loadIdList( m_CompanyCraftTypeDat, m_CompanyCraftTypeIdList ); - return m_CompanyCraftTypeIdList; - } - - const std::set< uint32_t >& getCompleteJournalIdList() - { - if( m_CompleteJournalIdList.size() == 0 ) + return m_CompanyCraftTypeIdList; +} +const std::set< uint32_t >& getCompleteJournalIdList() +{ + if( m_CompleteJournalIdList.size() == 0 ) loadIdList( m_CompleteJournalDat, m_CompleteJournalIdList ); - return m_CompleteJournalIdList; - } - - const std::set< uint32_t >& getCompleteJournalCategoryIdList() - { - if( m_CompleteJournalCategoryIdList.size() == 0 ) + return m_CompleteJournalIdList; +} +const std::set< uint32_t >& getCompleteJournalCategoryIdList() +{ + if( m_CompleteJournalCategoryIdList.size() == 0 ) loadIdList( m_CompleteJournalCategoryDat, m_CompleteJournalCategoryIdList ); - return m_CompleteJournalCategoryIdList; - } - - const std::set< uint32_t >& getContentExActionIdList() - { - if( m_ContentExActionIdList.size() == 0 ) + return m_CompleteJournalCategoryIdList; +} +const std::set< uint32_t >& getContentCloseCycleIdList() +{ + if( m_ContentCloseCycleIdList.size() == 0 ) + loadIdList( m_ContentCloseCycleDat, m_ContentCloseCycleIdList ); + return m_ContentCloseCycleIdList; +} +const std::set< uint32_t >& getContentExActionIdList() +{ + if( m_ContentExActionIdList.size() == 0 ) loadIdList( m_ContentExActionDat, m_ContentExActionIdList ); - return m_ContentExActionIdList; - } - - const std::set< uint32_t >& getContentFinderConditionIdList() - { - if( m_ContentFinderConditionIdList.size() == 0 ) + return m_ContentExActionIdList; +} +const std::set< uint32_t >& getContentFinderConditionIdList() +{ + if( m_ContentFinderConditionIdList.size() == 0 ) loadIdList( m_ContentFinderConditionDat, m_ContentFinderConditionIdList ); - return m_ContentFinderConditionIdList; - } - - const std::set< uint32_t >& getContentFinderConditionTransientIdList() - { - if( m_ContentFinderConditionTransientIdList.size() == 0 ) + return m_ContentFinderConditionIdList; +} +const std::set< uint32_t >& getContentFinderConditionTransientIdList() +{ + if( m_ContentFinderConditionTransientIdList.size() == 0 ) loadIdList( m_ContentFinderConditionTransientDat, m_ContentFinderConditionTransientIdList ); - return m_ContentFinderConditionTransientIdList; - } - - const std::set< uint32_t >& getContentMemberTypeIdList() - { - if( m_ContentMemberTypeIdList.size() == 0 ) + return m_ContentFinderConditionTransientIdList; +} +const std::set< uint32_t >& getContentGaugeIdList() +{ + if( m_ContentGaugeIdList.size() == 0 ) + loadIdList( m_ContentGaugeDat, m_ContentGaugeIdList ); + return m_ContentGaugeIdList; +} +const std::set< uint32_t >& getContentGaugeColorIdList() +{ + if( m_ContentGaugeColorIdList.size() == 0 ) + loadIdList( m_ContentGaugeColorDat, m_ContentGaugeColorIdList ); + return m_ContentGaugeColorIdList; +} +const std::set< uint32_t >& getContentMemberTypeIdList() +{ + if( m_ContentMemberTypeIdList.size() == 0 ) loadIdList( m_ContentMemberTypeDat, m_ContentMemberTypeIdList ); - return m_ContentMemberTypeIdList; - } - - const std::set< uint32_t >& getContentNpcTalkIdList() - { - if( m_ContentNpcTalkIdList.size() == 0 ) + return m_ContentMemberTypeIdList; +} +const std::set< uint32_t >& getContentNpcTalkIdList() +{ + if( m_ContentNpcTalkIdList.size() == 0 ) loadIdList( m_ContentNpcTalkDat, m_ContentNpcTalkIdList ); - return m_ContentNpcTalkIdList; - } - - const std::set< uint32_t >& getContentRouletteIdList() - { - if( m_ContentRouletteIdList.size() == 0 ) + return m_ContentNpcTalkIdList; +} +const std::set< uint32_t >& getContentRouletteIdList() +{ + if( m_ContentRouletteIdList.size() == 0 ) loadIdList( m_ContentRouletteDat, m_ContentRouletteIdList ); - return m_ContentRouletteIdList; - } - - const std::set< uint32_t >& getContentsNoteIdList() - { - if( m_ContentsNoteIdList.size() == 0 ) + return m_ContentRouletteIdList; +} +const std::set< uint32_t >& getContentRouletteOpenRuleIdList() +{ + if( m_ContentRouletteOpenRuleIdList.size() == 0 ) + loadIdList( m_ContentRouletteOpenRuleDat, m_ContentRouletteOpenRuleIdList ); + return m_ContentRouletteOpenRuleIdList; +} +const std::set< uint32_t >& getContentRouletteRoleBonusIdList() +{ + if( m_ContentRouletteRoleBonusIdList.size() == 0 ) + loadIdList( m_ContentRouletteRoleBonusDat, m_ContentRouletteRoleBonusIdList ); + return m_ContentRouletteRoleBonusIdList; +} +const std::set< uint32_t >& getContentsNoteIdList() +{ + if( m_ContentsNoteIdList.size() == 0 ) loadIdList( m_ContentsNoteDat, m_ContentsNoteIdList ); - return m_ContentsNoteIdList; - } - - const std::set< uint32_t >& getContentsNoteCategoryIdList() - { - if( m_ContentsNoteCategoryIdList.size() == 0 ) - loadIdList( m_ContentsNoteCategoryDat, m_ContentsNoteCategoryIdList ); - return m_ContentsNoteCategoryIdList; - } - - const std::set< uint32_t >& getContentTalkIdList() - { - if( m_ContentTalkIdList.size() == 0 ) + return m_ContentsNoteIdList; +} +const std::set< uint32_t >& getContentTalkIdList() +{ + if( m_ContentTalkIdList.size() == 0 ) loadIdList( m_ContentTalkDat, m_ContentTalkIdList ); - return m_ContentTalkIdList; - } - - const std::set< uint32_t >& getContentTalkParamIdList() - { - if( m_ContentTalkParamIdList.size() == 0 ) + return m_ContentTalkIdList; +} +const std::set< uint32_t >& getContentTalkParamIdList() +{ + if( m_ContentTalkParamIdList.size() == 0 ) loadIdList( m_ContentTalkParamDat, m_ContentTalkParamIdList ); - return m_ContentTalkParamIdList; - } - - const std::set< uint32_t >& getContentTypeIdList() - { - if( m_ContentTypeIdList.size() == 0 ) + return m_ContentTalkParamIdList; +} +const std::set< uint32_t >& getContentTypeIdList() +{ + if( m_ContentTypeIdList.size() == 0 ) loadIdList( m_ContentTypeDat, m_ContentTypeIdList ); - return m_ContentTypeIdList; - } - - const std::set< uint32_t >& getCraftActionIdList() - { - if( m_CraftActionIdList.size() == 0 ) + return m_ContentTypeIdList; +} +const std::set< uint32_t >& getCraftActionIdList() +{ + if( m_CraftActionIdList.size() == 0 ) loadIdList( m_CraftActionDat, m_CraftActionIdList ); - return m_CraftActionIdList; - } - - const std::set< uint32_t >& getCraftLeveIdList() - { - if( m_CraftLeveIdList.size() == 0 ) + return m_CraftActionIdList; +} +const std::set< uint32_t >& getCraftLeveIdList() +{ + if( m_CraftLeveIdList.size() == 0 ) loadIdList( m_CraftLeveDat, m_CraftLeveIdList ); - return m_CraftLeveIdList; - } - - const std::set< uint32_t >& getCraftTypeIdList() - { - if( m_CraftTypeIdList.size() == 0 ) + return m_CraftLeveIdList; +} +const std::set< uint32_t >& getCraftTypeIdList() +{ + if( m_CraftTypeIdList.size() == 0 ) loadIdList( m_CraftTypeDat, m_CraftTypeIdList ); - return m_CraftTypeIdList; - } - - const std::set< uint32_t >& getCurrencyIdList() - { - if( m_CurrencyIdList.size() == 0 ) + return m_CraftTypeIdList; +} +const std::set< uint32_t >& getCreditIdList() +{ + if( m_CreditIdList.size() == 0 ) + loadIdList( m_CreditDat, m_CreditIdList ); + return m_CreditIdList; +} +const std::set< uint32_t >& getCreditCastIdList() +{ + if( m_CreditCastIdList.size() == 0 ) + loadIdList( m_CreditCastDat, m_CreditCastIdList ); + return m_CreditCastIdList; +} +const std::set< uint32_t >& getCurrencyIdList() +{ + if( m_CurrencyIdList.size() == 0 ) loadIdList( m_CurrencyDat, m_CurrencyIdList ); - return m_CurrencyIdList; - } - - const std::set< uint32_t >& getCustomTalkIdList() - { - if( m_CustomTalkIdList.size() == 0 ) + return m_CurrencyIdList; +} +const std::set< uint32_t >& getCustomTalkIdList() +{ + if( m_CustomTalkIdList.size() == 0 ) loadIdList( m_CustomTalkDat, m_CustomTalkIdList ); - return m_CustomTalkIdList; - } - - const std::set< uint32_t >& getCutsceneIdList() - { - if( m_CutsceneIdList.size() == 0 ) + return m_CustomTalkIdList; +} +const std::set< uint32_t >& getCutsceneIdList() +{ + if( m_CutsceneIdList.size() == 0 ) loadIdList( m_CutsceneDat, m_CutsceneIdList ); - return m_CutsceneIdList; - } - - const std::set< uint32_t >& getCutScreenImageIdList() - { - if( m_CutScreenImageIdList.size() == 0 ) + return m_CutsceneIdList; +} +const std::set< uint32_t >& getCutScreenImageIdList() +{ + if( m_CutScreenImageIdList.size() == 0 ) loadIdList( m_CutScreenImageDat, m_CutScreenImageIdList ); - return m_CutScreenImageIdList; - } - - const std::set< uint32_t >& getDailySupplyItemIdList() - { - if( m_DailySupplyItemIdList.size() == 0 ) + return m_CutScreenImageIdList; +} +const std::set< uint32_t >& getDailySupplyItemIdList() +{ + if( m_DailySupplyItemIdList.size() == 0 ) loadIdList( m_DailySupplyItemDat, m_DailySupplyItemIdList ); - return m_DailySupplyItemIdList; - } - - const std::set< uint32_t >& getDeepDungeonBanIdList() - { - if( m_DeepDungeonBanIdList.size() == 0 ) + return m_DailySupplyItemIdList; +} +const std::set< uint32_t >& getDeepDungeonIdList() +{ + if( m_DeepDungeonIdList.size() == 0 ) + loadIdList( m_DeepDungeonDat, m_DeepDungeonIdList ); + return m_DeepDungeonIdList; +} +const std::set< uint32_t >& getDeepDungeonBanIdList() +{ + if( m_DeepDungeonBanIdList.size() == 0 ) loadIdList( m_DeepDungeonBanDat, m_DeepDungeonBanIdList ); - return m_DeepDungeonBanIdList; - } - - const std::set< uint32_t >& getDeepDungeonDangerIdList() - { - if( m_DeepDungeonDangerIdList.size() == 0 ) + return m_DeepDungeonBanIdList; +} +const std::set< uint32_t >& getDeepDungeonDangerIdList() +{ + if( m_DeepDungeonDangerIdList.size() == 0 ) loadIdList( m_DeepDungeonDangerDat, m_DeepDungeonDangerIdList ); - return m_DeepDungeonDangerIdList; - } - - const std::set< uint32_t >& getDeepDungeonEquipmentIdList() - { - if( m_DeepDungeonEquipmentIdList.size() == 0 ) + return m_DeepDungeonDangerIdList; +} +const std::set< uint32_t >& getDeepDungeonEquipmentIdList() +{ + if( m_DeepDungeonEquipmentIdList.size() == 0 ) loadIdList( m_DeepDungeonEquipmentDat, m_DeepDungeonEquipmentIdList ); - return m_DeepDungeonEquipmentIdList; - } - - const std::set< uint32_t >& getDeepDungeonFloorEffectUIIdList() - { - if( m_DeepDungeonFloorEffectUIIdList.size() == 0 ) + return m_DeepDungeonEquipmentIdList; +} +const std::set< uint32_t >& getDeepDungeonFloorEffectUIIdList() +{ + if( m_DeepDungeonFloorEffectUIIdList.size() == 0 ) loadIdList( m_DeepDungeonFloorEffectUIDat, m_DeepDungeonFloorEffectUIIdList ); - return m_DeepDungeonFloorEffectUIIdList; - } - - const std::set< uint32_t >& getDeepDungeonItemIdList() - { - if( m_DeepDungeonItemIdList.size() == 0 ) + return m_DeepDungeonFloorEffectUIIdList; +} +const std::set< uint32_t >& getDeepDungeonItemIdList() +{ + if( m_DeepDungeonItemIdList.size() == 0 ) loadIdList( m_DeepDungeonItemDat, m_DeepDungeonItemIdList ); - return m_DeepDungeonItemIdList; - } - - const std::set< uint32_t >& getDeepDungeonStatusIdList() - { - if( m_DeepDungeonStatusIdList.size() == 0 ) + return m_DeepDungeonItemIdList; +} +const std::set< uint32_t >& getDeepDungeonLayerIdList() +{ + if( m_DeepDungeonLayerIdList.size() == 0 ) + loadIdList( m_DeepDungeonLayerDat, m_DeepDungeonLayerIdList ); + return m_DeepDungeonLayerIdList; +} +const std::set< uint32_t >& getDeepDungeonMagicStoneIdList() +{ + if( m_DeepDungeonMagicStoneIdList.size() == 0 ) + loadIdList( m_DeepDungeonMagicStoneDat, m_DeepDungeonMagicStoneIdList ); + return m_DeepDungeonMagicStoneIdList; +} +const std::set< uint32_t >& getDeepDungeonMap5XIdList() +{ + if( m_DeepDungeonMap5XIdList.size() == 0 ) + loadIdList( m_DeepDungeonMap5XDat, m_DeepDungeonMap5XIdList ); + return m_DeepDungeonMap5XIdList; +} +const std::set< uint32_t >& getDeepDungeonRoomIdList() +{ + if( m_DeepDungeonRoomIdList.size() == 0 ) + loadIdList( m_DeepDungeonRoomDat, m_DeepDungeonRoomIdList ); + return m_DeepDungeonRoomIdList; +} +const std::set< uint32_t >& getDeepDungeonStatusIdList() +{ + if( m_DeepDungeonStatusIdList.size() == 0 ) loadIdList( m_DeepDungeonStatusDat, m_DeepDungeonStatusIdList ); - return m_DeepDungeonStatusIdList; - } - - const std::set< uint32_t >& getDefaultTalkIdList() - { - if( m_DefaultTalkIdList.size() == 0 ) + return m_DeepDungeonStatusIdList; +} +const std::set< uint32_t >& getDefaultTalkIdList() +{ + if( m_DefaultTalkIdList.size() == 0 ) loadIdList( m_DefaultTalkDat, m_DefaultTalkIdList ); - return m_DefaultTalkIdList; - } - - const std::set< uint32_t >& getDeliveryQuestIdList() - { - if( m_DeliveryQuestIdList.size() == 0 ) + return m_DefaultTalkIdList; +} +const std::set< uint32_t >& getDefaultTalkLipSyncTypeIdList() +{ + if( m_DefaultTalkLipSyncTypeIdList.size() == 0 ) + loadIdList( m_DefaultTalkLipSyncTypeDat, m_DefaultTalkLipSyncTypeIdList ); + return m_DefaultTalkLipSyncTypeIdList; +} +const std::set< uint32_t >& getDeliveryQuestIdList() +{ + if( m_DeliveryQuestIdList.size() == 0 ) loadIdList( m_DeliveryQuestDat, m_DeliveryQuestIdList ); - return m_DeliveryQuestIdList; - } - - const std::set< uint32_t >& getDisposalShopIdList() - { - if( m_DisposalShopIdList.size() == 0 ) + return m_DeliveryQuestIdList; +} +const std::set< uint32_t >& getDisposalShopIdList() +{ + if( m_DisposalShopIdList.size() == 0 ) loadIdList( m_DisposalShopDat, m_DisposalShopIdList ); - return m_DisposalShopIdList; - } - - const std::set< uint32_t >& getDisposalShopFilterTypeIdList() - { - if( m_DisposalShopFilterTypeIdList.size() == 0 ) + return m_DisposalShopIdList; +} +const std::set< uint32_t >& getDisposalShopFilterTypeIdList() +{ + if( m_DisposalShopFilterTypeIdList.size() == 0 ) loadIdList( m_DisposalShopFilterTypeDat, m_DisposalShopFilterTypeIdList ); - return m_DisposalShopFilterTypeIdList; - } - - const std::set< uint32_t >& getDisposalShopItemIdList() - { - if( m_DisposalShopItemIdList.size() == 0 ) + return m_DisposalShopFilterTypeIdList; +} +const std::set< uint32_t >& getDisposalShopItemIdList() +{ + if( m_DisposalShopItemIdList.size() == 0 ) loadIdList( m_DisposalShopItemDat, m_DisposalShopItemIdList ); - return m_DisposalShopItemIdList; - } - - const std::set< uint32_t >& getDpsChallengeIdList() - { - if( m_DpsChallengeIdList.size() == 0 ) + return m_DisposalShopItemIdList; +} +const std::set< uint32_t >& getDpsChallengeIdList() +{ + if( m_DpsChallengeIdList.size() == 0 ) loadIdList( m_DpsChallengeDat, m_DpsChallengeIdList ); - return m_DpsChallengeIdList; - } - - const std::set< uint32_t >& getDpsChallengeOfficerIdList() - { - if( m_DpsChallengeOfficerIdList.size() == 0 ) + return m_DpsChallengeIdList; +} +const std::set< uint32_t >& getDpsChallengeOfficerIdList() +{ + if( m_DpsChallengeOfficerIdList.size() == 0 ) loadIdList( m_DpsChallengeOfficerDat, m_DpsChallengeOfficerIdList ); - return m_DpsChallengeOfficerIdList; - } - - const std::set< uint32_t >& getDpsChallengeTransientIdList() - { - if( m_DpsChallengeTransientIdList.size() == 0 ) + return m_DpsChallengeOfficerIdList; +} +const std::set< uint32_t >& getDpsChallengeTransientIdList() +{ + if( m_DpsChallengeTransientIdList.size() == 0 ) loadIdList( m_DpsChallengeTransientDat, m_DpsChallengeTransientIdList ); - return m_DpsChallengeTransientIdList; - } - - const std::set< uint32_t >& getEmoteIdList() - { - if( m_EmoteIdList.size() == 0 ) + return m_DpsChallengeTransientIdList; +} +const std::set< uint32_t >& getEmoteIdList() +{ + if( m_EmoteIdList.size() == 0 ) loadIdList( m_EmoteDat, m_EmoteIdList ); - return m_EmoteIdList; - } - - const std::set< uint32_t >& getEmoteModeIdList() - { - if( m_EmoteModeIdList.size() == 0 ) - loadIdList( m_EmoteModeDat, m_EmoteModeIdList ); - return m_EmoteModeIdList; - } - - const std::set< uint32_t >& getEmoteCategoryIdList() - { - if( m_EmoteCategoryIdList.size() == 0 ) + return m_EmoteIdList; +} +const std::set< uint32_t >& getEmoteCategoryIdList() +{ + if( m_EmoteCategoryIdList.size() == 0 ) loadIdList( m_EmoteCategoryDat, m_EmoteCategoryIdList ); - return m_EmoteCategoryIdList; - } - - const std::set< uint32_t >& getENpcBaseIdList() - { - if( m_ENpcBaseIdList.size() == 0 ) + return m_EmoteCategoryIdList; +} +const std::set< uint32_t >& getENpcBaseIdList() +{ + if( m_ENpcBaseIdList.size() == 0 ) loadIdList( m_ENpcBaseDat, m_ENpcBaseIdList ); - return m_ENpcBaseIdList; - } - - const std::set< uint32_t >& getENpcResidentIdList() - { - if( m_ENpcResidentIdList.size() == 0 ) + return m_ENpcBaseIdList; +} +const std::set< uint32_t >& getENpcResidentIdList() +{ + if( m_ENpcResidentIdList.size() == 0 ) loadIdList( m_ENpcResidentDat, m_ENpcResidentIdList ); - return m_ENpcResidentIdList; - } - - const std::set< uint32_t >& getEObjIdList() - { - if( m_EObjIdList.size() == 0 ) + return m_ENpcResidentIdList; +} +const std::set< uint32_t >& getEObjIdList() +{ + if( m_EObjIdList.size() == 0 ) loadIdList( m_EObjDat, m_EObjIdList ); - return m_EObjIdList; - } - - const std::set< uint32_t >& getEObjNameIdList() - { - if( m_EObjNameIdList.size() == 0 ) + return m_EObjIdList; +} +const std::set< uint32_t >& getEObjNameIdList() +{ + if( m_EObjNameIdList.size() == 0 ) loadIdList( m_EObjNameDat, m_EObjNameIdList ); - return m_EObjNameIdList; - } - - const std::set< uint32_t >& getEquipRaceCategoryIdList() - { - if( m_EquipRaceCategoryIdList.size() == 0 ) + return m_EObjNameIdList; +} +const std::set< uint32_t >& getEquipRaceCategoryIdList() +{ + if( m_EquipRaceCategoryIdList.size() == 0 ) loadIdList( m_EquipRaceCategoryDat, m_EquipRaceCategoryIdList ); - return m_EquipRaceCategoryIdList; - } - - const std::set< uint32_t >& getEquipSlotCategoryIdList() - { - if( m_EquipSlotCategoryIdList.size() == 0 ) + return m_EquipRaceCategoryIdList; +} +const std::set< uint32_t >& getEquipSlotCategoryIdList() +{ + if( m_EquipSlotCategoryIdList.size() == 0 ) loadIdList( m_EquipSlotCategoryDat, m_EquipSlotCategoryIdList ); - return m_EquipSlotCategoryIdList; - } - - const std::set< uint32_t >& getEurekaAethernetIdList() - { - if( m_EurekaAethernetIdList.size() == 0 ) + return m_EquipSlotCategoryIdList; +} +const std::set< uint32_t >& getEurekaAethernetIdList() +{ + if( m_EurekaAethernetIdList.size() == 0 ) loadIdList( m_EurekaAethernetDat, m_EurekaAethernetIdList ); - return m_EurekaAethernetIdList; - } - - const std::set< uint32_t >& getEurekaGrowDataIdList() - { - if( m_EurekaGrowDataIdList.size() == 0 ) + return m_EurekaAethernetIdList; +} +const std::set< uint32_t >& getEurekaGrowDataIdList() +{ + if( m_EurekaGrowDataIdList.size() == 0 ) loadIdList( m_EurekaGrowDataDat, m_EurekaGrowDataIdList ); - return m_EurekaGrowDataIdList; - } - - const std::set< uint32_t >& getEurekaSphereElementAdjustIdList() - { - if( m_EurekaSphereElementAdjustIdList.size() == 0 ) + return m_EurekaGrowDataIdList; +} +const std::set< uint32_t >& getEurekaSphereElementAdjustIdList() +{ + if( m_EurekaSphereElementAdjustIdList.size() == 0 ) loadIdList( m_EurekaSphereElementAdjustDat, m_EurekaSphereElementAdjustIdList ); - return m_EurekaSphereElementAdjustIdList; - } - - const std::set< uint32_t >& getEventActionIdList() - { - if( m_EventActionIdList.size() == 0 ) + return m_EurekaSphereElementAdjustIdList; +} +const std::set< uint32_t >& getEventActionIdList() +{ + if( m_EventActionIdList.size() == 0 ) loadIdList( m_EventActionDat, m_EventActionIdList ); - return m_EventActionIdList; - } - - const std::set< uint32_t >& getEventIconPriorityIdList() - { - if( m_EventIconPriorityIdList.size() == 0 ) + return m_EventActionIdList; +} +const std::set< uint32_t >& getEventIconPriorityIdList() +{ + if( m_EventIconPriorityIdList.size() == 0 ) loadIdList( m_EventIconPriorityDat, m_EventIconPriorityIdList ); - return m_EventIconPriorityIdList; - } - - const std::set< uint32_t >& getEventIconTypeIdList() - { - if( m_EventIconTypeIdList.size() == 0 ) + return m_EventIconPriorityIdList; +} +const std::set< uint32_t >& getEventIconTypeIdList() +{ + if( m_EventIconTypeIdList.size() == 0 ) loadIdList( m_EventIconTypeDat, m_EventIconTypeIdList ); - return m_EventIconTypeIdList; - } - - const std::set< uint32_t >& getEventItemIdList() - { - if( m_EventItemIdList.size() == 0 ) + return m_EventIconTypeIdList; +} +const std::set< uint32_t >& getEventItemIdList() +{ + if( m_EventItemIdList.size() == 0 ) loadIdList( m_EventItemDat, m_EventItemIdList ); - return m_EventItemIdList; - } - - const std::set< uint32_t >& getEventItemHelpIdList() - { - if( m_EventItemHelpIdList.size() == 0 ) + return m_EventItemIdList; +} +const std::set< uint32_t >& getEventItemCastTimelineIdList() +{ + if( m_EventItemCastTimelineIdList.size() == 0 ) + loadIdList( m_EventItemCastTimelineDat, m_EventItemCastTimelineIdList ); + return m_EventItemCastTimelineIdList; +} +const std::set< uint32_t >& getEventItemHelpIdList() +{ + if( m_EventItemHelpIdList.size() == 0 ) loadIdList( m_EventItemHelpDat, m_EventItemHelpIdList ); - return m_EventItemHelpIdList; - } - - const std::set< uint32_t >& getExVersionIdList() - { - if( m_ExVersionIdList.size() == 0 ) + return m_EventItemHelpIdList; +} +const std::set< uint32_t >& getEventItemTimelineIdList() +{ + if( m_EventItemTimelineIdList.size() == 0 ) + loadIdList( m_EventItemTimelineDat, m_EventItemTimelineIdList ); + return m_EventItemTimelineIdList; +} +const std::set< uint32_t >& getExportedSGIdList() +{ + if( m_ExportedSGIdList.size() == 0 ) + loadIdList( m_ExportedSGDat, m_ExportedSGIdList ); + return m_ExportedSGIdList; +} +const std::set< uint32_t >& getExVersionIdList() +{ + if( m_ExVersionIdList.size() == 0 ) loadIdList( m_ExVersionDat, m_ExVersionIdList ); - return m_ExVersionIdList; - } - - const std::set< uint32_t >& getFateIdList() - { - if( m_FateIdList.size() == 0 ) + return m_ExVersionIdList; +} +const std::set< uint32_t >& getFateIdList() +{ + if( m_FateIdList.size() == 0 ) loadIdList( m_FateDat, m_FateIdList ); - return m_FateIdList; - } - - const std::set< uint32_t >& getFCActivityIdList() - { - if( m_FCActivityIdList.size() == 0 ) + return m_FateIdList; +} +const std::set< uint32_t >& getFCActivityIdList() +{ + if( m_FCActivityIdList.size() == 0 ) loadIdList( m_FCActivityDat, m_FCActivityIdList ); - return m_FCActivityIdList; - } - - const std::set< uint32_t >& getFCActivityCategoryIdList() - { - if( m_FCActivityCategoryIdList.size() == 0 ) + return m_FCActivityIdList; +} +const std::set< uint32_t >& getFCActivityCategoryIdList() +{ + if( m_FCActivityCategoryIdList.size() == 0 ) loadIdList( m_FCActivityCategoryDat, m_FCActivityCategoryIdList ); - return m_FCActivityCategoryIdList; - } - - const std::set< uint32_t >& getFCAuthorityIdList() - { - if( m_FCAuthorityIdList.size() == 0 ) + return m_FCActivityCategoryIdList; +} +const std::set< uint32_t >& getFCAuthorityIdList() +{ + if( m_FCAuthorityIdList.size() == 0 ) loadIdList( m_FCAuthorityDat, m_FCAuthorityIdList ); - return m_FCAuthorityIdList; - } - - const std::set< uint32_t >& getFCAuthorityCategoryIdList() - { - if( m_FCAuthorityCategoryIdList.size() == 0 ) + return m_FCAuthorityIdList; +} +const std::set< uint32_t >& getFCAuthorityCategoryIdList() +{ + if( m_FCAuthorityCategoryIdList.size() == 0 ) loadIdList( m_FCAuthorityCategoryDat, m_FCAuthorityCategoryIdList ); - return m_FCAuthorityCategoryIdList; - } - - const std::set< uint32_t >& getFCChestNameIdList() - { - if( m_FCChestNameIdList.size() == 0 ) + return m_FCAuthorityCategoryIdList; +} +const std::set< uint32_t >& getFCChestNameIdList() +{ + if( m_FCChestNameIdList.size() == 0 ) loadIdList( m_FCChestNameDat, m_FCChestNameIdList ); - return m_FCChestNameIdList; - } - - const std::set< uint32_t >& getFccShopIdList() - { - if( m_FccShopIdList.size() == 0 ) + return m_FCChestNameIdList; +} +const std::set< uint32_t >& getFccShopIdList() +{ + if( m_FccShopIdList.size() == 0 ) loadIdList( m_FccShopDat, m_FccShopIdList ); - return m_FccShopIdList; - } - - const std::set< uint32_t >& getFCHierarchyIdList() - { - if( m_FCHierarchyIdList.size() == 0 ) + return m_FccShopIdList; +} +const std::set< uint32_t >& getFCHierarchyIdList() +{ + if( m_FCHierarchyIdList.size() == 0 ) loadIdList( m_FCHierarchyDat, m_FCHierarchyIdList ); - return m_FCHierarchyIdList; - } - - const std::set< uint32_t >& getFCProfileIdList() - { - if( m_FCProfileIdList.size() == 0 ) + return m_FCHierarchyIdList; +} +const std::set< uint32_t >& getFCProfileIdList() +{ + if( m_FCProfileIdList.size() == 0 ) loadIdList( m_FCProfileDat, m_FCProfileIdList ); - return m_FCProfileIdList; - } - - const std::set< uint32_t >& getFCReputationIdList() - { - if( m_FCReputationIdList.size() == 0 ) + return m_FCProfileIdList; +} +const std::set< uint32_t >& getFCReputationIdList() +{ + if( m_FCReputationIdList.size() == 0 ) loadIdList( m_FCReputationDat, m_FCReputationIdList ); - return m_FCReputationIdList; - } - - const std::set< uint32_t >& getFCRightsIdList() - { - if( m_FCRightsIdList.size() == 0 ) + return m_FCReputationIdList; +} +const std::set< uint32_t >& getFCRightsIdList() +{ + if( m_FCRightsIdList.size() == 0 ) loadIdList( m_FCRightsDat, m_FCRightsIdList ); - return m_FCRightsIdList; - } - - const std::set< uint32_t >& getFieldMarkerIdList() - { - if( m_FieldMarkerIdList.size() == 0 ) + return m_FCRightsIdList; +} +const std::set< uint32_t >& getFieldMarkerIdList() +{ + if( m_FieldMarkerIdList.size() == 0 ) loadIdList( m_FieldMarkerDat, m_FieldMarkerIdList ); - return m_FieldMarkerIdList; - } - - const std::set< uint32_t >& getFishingSpotIdList() - { - if( m_FishingSpotIdList.size() == 0 ) + return m_FieldMarkerIdList; +} +const std::set< uint32_t >& getFishingRecordTypeTransientIdList() +{ + if( m_FishingRecordTypeTransientIdList.size() == 0 ) + loadIdList( m_FishingRecordTypeTransientDat, m_FishingRecordTypeTransientIdList ); + return m_FishingRecordTypeTransientIdList; +} +const std::set< uint32_t >& getFishingSpotIdList() +{ + if( m_FishingSpotIdList.size() == 0 ) loadIdList( m_FishingSpotDat, m_FishingSpotIdList ); - return m_FishingSpotIdList; - } - - const std::set< uint32_t >& getFishParameterIdList() - { - if( m_FishParameterIdList.size() == 0 ) + return m_FishingSpotIdList; +} +const std::set< uint32_t >& getFishParameterIdList() +{ + if( m_FishParameterIdList.size() == 0 ) loadIdList( m_FishParameterDat, m_FishParameterIdList ); - return m_FishParameterIdList; - } - - const std::set< uint32_t >& getGardeningSeedIdList() - { - if( m_GardeningSeedIdList.size() == 0 ) + return m_FishParameterIdList; +} +const std::set< uint32_t >& getFrontline03IdList() +{ + if( m_Frontline03IdList.size() == 0 ) + loadIdList( m_Frontline03Dat, m_Frontline03IdList ); + return m_Frontline03IdList; +} +const std::set< uint32_t >& getFrontline04IdList() +{ + if( m_Frontline04IdList.size() == 0 ) + loadIdList( m_Frontline04Dat, m_Frontline04IdList ); + return m_Frontline04IdList; +} +const std::set< uint32_t >& getGardeningSeedIdList() +{ + if( m_GardeningSeedIdList.size() == 0 ) loadIdList( m_GardeningSeedDat, m_GardeningSeedIdList ); - return m_GardeningSeedIdList; - } - - const std::set< uint32_t >& getGatheringConditionIdList() - { - if( m_GatheringConditionIdList.size() == 0 ) + return m_GardeningSeedIdList; +} +const std::set< uint32_t >& getGatheringConditionIdList() +{ + if( m_GatheringConditionIdList.size() == 0 ) loadIdList( m_GatheringConditionDat, m_GatheringConditionIdList ); - return m_GatheringConditionIdList; - } - - const std::set< uint32_t >& getGatheringExpIdList() - { - if( m_GatheringExpIdList.size() == 0 ) + return m_GatheringConditionIdList; +} +const std::set< uint32_t >& getGatheringExpIdList() +{ + if( m_GatheringExpIdList.size() == 0 ) loadIdList( m_GatheringExpDat, m_GatheringExpIdList ); - return m_GatheringExpIdList; - } - - const std::set< uint32_t >& getGatheringItemIdList() - { - if( m_GatheringItemIdList.size() == 0 ) + return m_GatheringExpIdList; +} +const std::set< uint32_t >& getGatheringItemIdList() +{ + if( m_GatheringItemIdList.size() == 0 ) loadIdList( m_GatheringItemDat, m_GatheringItemIdList ); - return m_GatheringItemIdList; - } - - const std::set< uint32_t >& getGatheringItemLevelConvertTableIdList() - { - if( m_GatheringItemLevelConvertTableIdList.size() == 0 ) + return m_GatheringItemIdList; +} +const std::set< uint32_t >& getGatheringItemLevelConvertTableIdList() +{ + if( m_GatheringItemLevelConvertTableIdList.size() == 0 ) loadIdList( m_GatheringItemLevelConvertTableDat, m_GatheringItemLevelConvertTableIdList ); - return m_GatheringItemLevelConvertTableIdList; - } - - const std::set< uint32_t >& getGatheringItemPointIdList() - { - if( m_GatheringItemPointIdList.size() == 0 ) + return m_GatheringItemLevelConvertTableIdList; +} +const std::set< uint32_t >& getGatheringItemPointIdList() +{ + if( m_GatheringItemPointIdList.size() == 0 ) loadIdList( m_GatheringItemPointDat, m_GatheringItemPointIdList ); - return m_GatheringItemPointIdList; - } - - const std::set< uint32_t >& getGatheringNotebookListIdList() - { - if( m_GatheringNotebookListIdList.size() == 0 ) + return m_GatheringItemPointIdList; +} +const std::set< uint32_t >& getGatheringLeveIdList() +{ + if( m_GatheringLeveIdList.size() == 0 ) + loadIdList( m_GatheringLeveDat, m_GatheringLeveIdList ); + return m_GatheringLeveIdList; +} +const std::set< uint32_t >& getGatheringLeveRouteIdList() +{ + if( m_GatheringLeveRouteIdList.size() == 0 ) + loadIdList( m_GatheringLeveRouteDat, m_GatheringLeveRouteIdList ); + return m_GatheringLeveRouteIdList; +} +const std::set< uint32_t >& getGatheringNotebookListIdList() +{ + if( m_GatheringNotebookListIdList.size() == 0 ) loadIdList( m_GatheringNotebookListDat, m_GatheringNotebookListIdList ); - return m_GatheringNotebookListIdList; - } - - const std::set< uint32_t >& getGatheringPointIdList() - { - if( m_GatheringPointIdList.size() == 0 ) + return m_GatheringNotebookListIdList; +} +const std::set< uint32_t >& getGatheringPointIdList() +{ + if( m_GatheringPointIdList.size() == 0 ) loadIdList( m_GatheringPointDat, m_GatheringPointIdList ); - return m_GatheringPointIdList; - } - - const std::set< uint32_t >& getGatheringPointBaseIdList() - { - if( m_GatheringPointBaseIdList.size() == 0 ) + return m_GatheringPointIdList; +} +const std::set< uint32_t >& getGatheringPointBaseIdList() +{ + if( m_GatheringPointBaseIdList.size() == 0 ) loadIdList( m_GatheringPointBaseDat, m_GatheringPointBaseIdList ); - return m_GatheringPointBaseIdList; - } - - const std::set< uint32_t >& getGatheringPointBonusIdList() - { - if( m_GatheringPointBonusIdList.size() == 0 ) + return m_GatheringPointBaseIdList; +} +const std::set< uint32_t >& getGatheringPointBonusIdList() +{ + if( m_GatheringPointBonusIdList.size() == 0 ) loadIdList( m_GatheringPointBonusDat, m_GatheringPointBonusIdList ); - return m_GatheringPointBonusIdList; - } - - const std::set< uint32_t >& getGatheringPointBonusTypeIdList() - { - if( m_GatheringPointBonusTypeIdList.size() == 0 ) + return m_GatheringPointBonusIdList; +} +const std::set< uint32_t >& getGatheringPointBonusTypeIdList() +{ + if( m_GatheringPointBonusTypeIdList.size() == 0 ) loadIdList( m_GatheringPointBonusTypeDat, m_GatheringPointBonusTypeIdList ); - return m_GatheringPointBonusTypeIdList; - } - - const std::set< uint32_t >& getGatheringPointNameIdList() - { - if( m_GatheringPointNameIdList.size() == 0 ) + return m_GatheringPointBonusTypeIdList; +} +const std::set< uint32_t >& getGatheringPointNameIdList() +{ + if( m_GatheringPointNameIdList.size() == 0 ) loadIdList( m_GatheringPointNameDat, m_GatheringPointNameIdList ); - return m_GatheringPointNameIdList; - } - - const std::set< uint32_t >& getGatheringSubCategoryIdList() - { - if( m_GatheringSubCategoryIdList.size() == 0 ) + return m_GatheringPointNameIdList; +} +const std::set< uint32_t >& getGatheringSubCategoryIdList() +{ + if( m_GatheringSubCategoryIdList.size() == 0 ) loadIdList( m_GatheringSubCategoryDat, m_GatheringSubCategoryIdList ); - return m_GatheringSubCategoryIdList; - } - - const std::set< uint32_t >& getGatheringTypeIdList() - { - if( m_GatheringTypeIdList.size() == 0 ) + return m_GatheringSubCategoryIdList; +} +const std::set< uint32_t >& getGatheringTypeIdList() +{ + if( m_GatheringTypeIdList.size() == 0 ) loadIdList( m_GatheringTypeDat, m_GatheringTypeIdList ); - return m_GatheringTypeIdList; - } - - const std::set< uint32_t >& getGcArmyExpeditionIdList() - { - if( m_GcArmyExpeditionIdList.size() == 0 ) + return m_GatheringTypeIdList; +} +const std::set< uint32_t >& getGcArmyCaptureTacticsIdList() +{ + if( m_GcArmyCaptureTacticsIdList.size() == 0 ) + loadIdList( m_GcArmyCaptureTacticsDat, m_GcArmyCaptureTacticsIdList ); + return m_GcArmyCaptureTacticsIdList; +} +const std::set< uint32_t >& getGcArmyExpeditionIdList() +{ + if( m_GcArmyExpeditionIdList.size() == 0 ) loadIdList( m_GcArmyExpeditionDat, m_GcArmyExpeditionIdList ); - return m_GcArmyExpeditionIdList; - } - - const std::set< uint32_t >& getGcArmyExpeditionMemberBonusIdList() - { - if( m_GcArmyExpeditionMemberBonusIdList.size() == 0 ) + return m_GcArmyExpeditionIdList; +} +const std::set< uint32_t >& getGcArmyExpeditionMemberBonusIdList() +{ + if( m_GcArmyExpeditionMemberBonusIdList.size() == 0 ) loadIdList( m_GcArmyExpeditionMemberBonusDat, m_GcArmyExpeditionMemberBonusIdList ); - return m_GcArmyExpeditionMemberBonusIdList; - } - - const std::set< uint32_t >& getGcArmyExpeditionTypeIdList() - { - if( m_GcArmyExpeditionTypeIdList.size() == 0 ) + return m_GcArmyExpeditionMemberBonusIdList; +} +const std::set< uint32_t >& getGcArmyExpeditionTypeIdList() +{ + if( m_GcArmyExpeditionTypeIdList.size() == 0 ) loadIdList( m_GcArmyExpeditionTypeDat, m_GcArmyExpeditionTypeIdList ); - return m_GcArmyExpeditionTypeIdList; - } - - const std::set< uint32_t >& getGcArmyMemberGrowIdList() - { - if( m_GcArmyMemberGrowIdList.size() == 0 ) + return m_GcArmyExpeditionTypeIdList; +} +const std::set< uint32_t >& getGcArmyMemberGrowIdList() +{ + if( m_GcArmyMemberGrowIdList.size() == 0 ) loadIdList( m_GcArmyMemberGrowDat, m_GcArmyMemberGrowIdList ); - return m_GcArmyMemberGrowIdList; - } - - const std::set< uint32_t >& getGcArmyTrainingIdList() - { - if( m_GcArmyTrainingIdList.size() == 0 ) + return m_GcArmyMemberGrowIdList; +} +const std::set< uint32_t >& getGcArmyTrainingIdList() +{ + if( m_GcArmyTrainingIdList.size() == 0 ) loadIdList( m_GcArmyTrainingDat, m_GcArmyTrainingIdList ); - return m_GcArmyTrainingIdList; - } - - const std::set< uint32_t >& getGCRankGridaniaFemaleTextIdList() - { - if( m_GCRankGridaniaFemaleTextIdList.size() == 0 ) + return m_GcArmyTrainingIdList; +} +const std::set< uint32_t >& getGCRankGridaniaFemaleTextIdList() +{ + if( m_GCRankGridaniaFemaleTextIdList.size() == 0 ) loadIdList( m_GCRankGridaniaFemaleTextDat, m_GCRankGridaniaFemaleTextIdList ); - return m_GCRankGridaniaFemaleTextIdList; - } - - const std::set< uint32_t >& getGCRankGridaniaMaleTextIdList() - { - if( m_GCRankGridaniaMaleTextIdList.size() == 0 ) + return m_GCRankGridaniaFemaleTextIdList; +} +const std::set< uint32_t >& getGCRankGridaniaMaleTextIdList() +{ + if( m_GCRankGridaniaMaleTextIdList.size() == 0 ) loadIdList( m_GCRankGridaniaMaleTextDat, m_GCRankGridaniaMaleTextIdList ); - return m_GCRankGridaniaMaleTextIdList; - } - - const std::set< uint32_t >& getGCRankLimsaFemaleTextIdList() - { - if( m_GCRankLimsaFemaleTextIdList.size() == 0 ) + return m_GCRankGridaniaMaleTextIdList; +} +const std::set< uint32_t >& getGCRankLimsaFemaleTextIdList() +{ + if( m_GCRankLimsaFemaleTextIdList.size() == 0 ) loadIdList( m_GCRankLimsaFemaleTextDat, m_GCRankLimsaFemaleTextIdList ); - return m_GCRankLimsaFemaleTextIdList; - } - - const std::set< uint32_t >& getGCRankLimsaMaleTextIdList() - { - if( m_GCRankLimsaMaleTextIdList.size() == 0 ) + return m_GCRankLimsaFemaleTextIdList; +} +const std::set< uint32_t >& getGCRankLimsaMaleTextIdList() +{ + if( m_GCRankLimsaMaleTextIdList.size() == 0 ) loadIdList( m_GCRankLimsaMaleTextDat, m_GCRankLimsaMaleTextIdList ); - return m_GCRankLimsaMaleTextIdList; - } - - const std::set< uint32_t >& getGCRankUldahFemaleTextIdList() - { - if( m_GCRankUldahFemaleTextIdList.size() == 0 ) + return m_GCRankLimsaMaleTextIdList; +} +const std::set< uint32_t >& getGCRankUldahFemaleTextIdList() +{ + if( m_GCRankUldahFemaleTextIdList.size() == 0 ) loadIdList( m_GCRankUldahFemaleTextDat, m_GCRankUldahFemaleTextIdList ); - return m_GCRankUldahFemaleTextIdList; - } - - const std::set< uint32_t >& getGCRankUldahMaleTextIdList() - { - if( m_GCRankUldahMaleTextIdList.size() == 0 ) + return m_GCRankUldahFemaleTextIdList; +} +const std::set< uint32_t >& getGCRankUldahMaleTextIdList() +{ + if( m_GCRankUldahMaleTextIdList.size() == 0 ) loadIdList( m_GCRankUldahMaleTextDat, m_GCRankUldahMaleTextIdList ); - return m_GCRankUldahMaleTextIdList; - } - - const std::set< uint32_t >& getGCScripShopCategoryIdList() - { - if( m_GCScripShopCategoryIdList.size() == 0 ) + return m_GCRankUldahMaleTextIdList; +} +const std::set< uint32_t >& getGCScripShopCategoryIdList() +{ + if( m_GCScripShopCategoryIdList.size() == 0 ) loadIdList( m_GCScripShopCategoryDat, m_GCScripShopCategoryIdList ); - return m_GCScripShopCategoryIdList; - } - - const std::set< uint32_t >& getGCScripShopItemIdList() - { - if( m_GCScripShopItemIdList.size() == 0 ) + return m_GCScripShopCategoryIdList; +} +const std::set< uint32_t >& getGCScripShopItemIdList() +{ + if( m_GCScripShopItemIdList.size() == 0 ) loadIdList( m_GCScripShopItemDat, m_GCScripShopItemIdList ); - return m_GCScripShopItemIdList; - } - - const std::set< uint32_t >& getGCShopIdList() - { - if( m_GCShopIdList.size() == 0 ) + return m_GCScripShopItemIdList; +} +const std::set< uint32_t >& getGCShopIdList() +{ + if( m_GCShopIdList.size() == 0 ) loadIdList( m_GCShopDat, m_GCShopIdList ); - return m_GCShopIdList; - } - - const std::set< uint32_t >& getGCShopItemCategoryIdList() - { - if( m_GCShopItemCategoryIdList.size() == 0 ) + return m_GCShopIdList; +} +const std::set< uint32_t >& getGCShopItemCategoryIdList() +{ + if( m_GCShopItemCategoryIdList.size() == 0 ) loadIdList( m_GCShopItemCategoryDat, m_GCShopItemCategoryIdList ); - return m_GCShopItemCategoryIdList; - } - - const std::set< uint32_t >& getGCSupplyDutyIdList() - { - if( m_GCSupplyDutyIdList.size() == 0 ) + return m_GCShopItemCategoryIdList; +} +const std::set< uint32_t >& getGCSupplyDutyIdList() +{ + if( m_GCSupplyDutyIdList.size() == 0 ) loadIdList( m_GCSupplyDutyDat, m_GCSupplyDutyIdList ); - return m_GCSupplyDutyIdList; - } - - const std::set< uint32_t >& getGCSupplyDutyRewardIdList() - { - if( m_GCSupplyDutyRewardIdList.size() == 0 ) + return m_GCSupplyDutyIdList; +} +const std::set< uint32_t >& getGCSupplyDutyRewardIdList() +{ + if( m_GCSupplyDutyRewardIdList.size() == 0 ) loadIdList( m_GCSupplyDutyRewardDat, m_GCSupplyDutyRewardIdList ); - return m_GCSupplyDutyRewardIdList; - } - - const std::set< uint32_t >& getGeneralActionIdList() - { - if( m_GeneralActionIdList.size() == 0 ) + return m_GCSupplyDutyRewardIdList; +} +const std::set< uint32_t >& getGeneralActionIdList() +{ + if( m_GeneralActionIdList.size() == 0 ) loadIdList( m_GeneralActionDat, m_GeneralActionIdList ); - return m_GeneralActionIdList; - } - - const std::set< uint32_t >& getGilShopIdList() - { - if( m_GilShopIdList.size() == 0 ) + return m_GeneralActionIdList; +} +const std::set< uint32_t >& getGFATEIdList() +{ + if( m_GFATEIdList.size() == 0 ) + loadIdList( m_GFATEDat, m_GFATEIdList ); + return m_GFATEIdList; +} +const std::set< uint32_t >& getGilShopIdList() +{ + if( m_GilShopIdList.size() == 0 ) loadIdList( m_GilShopDat, m_GilShopIdList ); - return m_GilShopIdList; - } - - const std::set< uint32_t >& getGilShopItemIdList() - { - if( m_GilShopItemIdList.size() == 0 ) + return m_GilShopIdList; +} +const std::set< uint32_t >& getGilShopItemIdList() +{ + if( m_GilShopItemIdList.size() == 0 ) loadIdList( m_GilShopItemDat, m_GilShopItemIdList ); - return m_GilShopItemIdList; - } - - const std::set< uint32_t >& getGoldSaucerTextDataIdList() - { - if( m_GoldSaucerTextDataIdList.size() == 0 ) + return m_GilShopItemIdList; +} +const std::set< uint32_t >& getGoldSaucerArcadeMachineIdList() +{ + if( m_GoldSaucerArcadeMachineIdList.size() == 0 ) + loadIdList( m_GoldSaucerArcadeMachineDat, m_GoldSaucerArcadeMachineIdList ); + return m_GoldSaucerArcadeMachineIdList; +} +const std::set< uint32_t >& getGoldSaucerTextDataIdList() +{ + if( m_GoldSaucerTextDataIdList.size() == 0 ) loadIdList( m_GoldSaucerTextDataDat, m_GoldSaucerTextDataIdList ); - return m_GoldSaucerTextDataIdList; - } - - const std::set< uint32_t >& getGrandCompanyIdList() - { - if( m_GrandCompanyIdList.size() == 0 ) + return m_GoldSaucerTextDataIdList; +} +const std::set< uint32_t >& getGrandCompanyIdList() +{ + if( m_GrandCompanyIdList.size() == 0 ) loadIdList( m_GrandCompanyDat, m_GrandCompanyIdList ); - return m_GrandCompanyIdList; - } - - const std::set< uint32_t >& getGrandCompanyRankIdList() - { - if( m_GrandCompanyRankIdList.size() == 0 ) + return m_GrandCompanyIdList; +} +const std::set< uint32_t >& getGrandCompanyRankIdList() +{ + if( m_GrandCompanyRankIdList.size() == 0 ) loadIdList( m_GrandCompanyRankDat, m_GrandCompanyRankIdList ); - return m_GrandCompanyRankIdList; - } - - const std::set< uint32_t >& getGuardianDeityIdList() - { - if( m_GuardianDeityIdList.size() == 0 ) + return m_GrandCompanyRankIdList; +} +const std::set< uint32_t >& getGuardianDeityIdList() +{ + if( m_GuardianDeityIdList.size() == 0 ) loadIdList( m_GuardianDeityDat, m_GuardianDeityIdList ); - return m_GuardianDeityIdList; - } - - const std::set< uint32_t >& getGuildleveAssignmentIdList() - { - if( m_GuildleveAssignmentIdList.size() == 0 ) + return m_GuardianDeityIdList; +} +const std::set< uint32_t >& getGuildleveAssignmentIdList() +{ + if( m_GuildleveAssignmentIdList.size() == 0 ) loadIdList( m_GuildleveAssignmentDat, m_GuildleveAssignmentIdList ); - return m_GuildleveAssignmentIdList; - } - - const std::set< uint32_t >& getGuildOrderGuideIdList() - { - if( m_GuildOrderGuideIdList.size() == 0 ) + return m_GuildleveAssignmentIdList; +} +const std::set< uint32_t >& getGuildleveAssignmentCategoryIdList() +{ + if( m_GuildleveAssignmentCategoryIdList.size() == 0 ) + loadIdList( m_GuildleveAssignmentCategoryDat, m_GuildleveAssignmentCategoryIdList ); + return m_GuildleveAssignmentCategoryIdList; +} +const std::set< uint32_t >& getGuildOrderGuideIdList() +{ + if( m_GuildOrderGuideIdList.size() == 0 ) loadIdList( m_GuildOrderGuideDat, m_GuildOrderGuideIdList ); - return m_GuildOrderGuideIdList; - } - - const std::set< uint32_t >& getGuildOrderOfficerIdList() - { - if( m_GuildOrderOfficerIdList.size() == 0 ) + return m_GuildOrderGuideIdList; +} +const std::set< uint32_t >& getGuildOrderOfficerIdList() +{ + if( m_GuildOrderOfficerIdList.size() == 0 ) loadIdList( m_GuildOrderOfficerDat, m_GuildOrderOfficerIdList ); - return m_GuildOrderOfficerIdList; - } - - const std::set< uint32_t >& getHouseRetainerPoseIdList() - { - if( m_HouseRetainerPoseIdList.size() == 0 ) + return m_GuildOrderOfficerIdList; +} +const std::set< uint32_t >& getHairMakeTypeIdList() +{ + if( m_HairMakeTypeIdList.size() == 0 ) + loadIdList( m_HairMakeTypeDat, m_HairMakeTypeIdList ); + return m_HairMakeTypeIdList; +} +const std::set< uint32_t >& getHouseRetainerPoseIdList() +{ + if( m_HouseRetainerPoseIdList.size() == 0 ) loadIdList( m_HouseRetainerPoseDat, m_HouseRetainerPoseIdList ); - return m_HouseRetainerPoseIdList; - } - - const std::set< uint32_t >& getHousingFurnitureIdList() - { - if( m_HousingFurnitureIdList.size() == 0 ) + return m_HouseRetainerPoseIdList; +} +const std::set< uint32_t >& getHousingAethernetIdList() +{ + if( m_HousingAethernetIdList.size() == 0 ) + loadIdList( m_HousingAethernetDat, m_HousingAethernetIdList ); + return m_HousingAethernetIdList; +} +const std::set< uint32_t >& getHousingEmploymentNpcListIdList() +{ + if( m_HousingEmploymentNpcListIdList.size() == 0 ) + loadIdList( m_HousingEmploymentNpcListDat, m_HousingEmploymentNpcListIdList ); + return m_HousingEmploymentNpcListIdList; +} +const std::set< uint32_t >& getHousingEmploymentNpcRaceIdList() +{ + if( m_HousingEmploymentNpcRaceIdList.size() == 0 ) + loadIdList( m_HousingEmploymentNpcRaceDat, m_HousingEmploymentNpcRaceIdList ); + return m_HousingEmploymentNpcRaceIdList; +} +const std::set< uint32_t >& getHousingFurnitureIdList() +{ + if( m_HousingFurnitureIdList.size() == 0 ) loadIdList( m_HousingFurnitureDat, m_HousingFurnitureIdList ); - return m_HousingFurnitureIdList; - } - - const std::set< uint32_t >& getHousingYardObjectIdList() - { - if( m_HousingYardObjectIdList.size() == 0 ) + return m_HousingFurnitureIdList; +} +const std::set< uint32_t >& getHousingPlacementIdList() +{ + if( m_HousingPlacementIdList.size() == 0 ) + loadIdList( m_HousingPlacementDat, m_HousingPlacementIdList ); + return m_HousingPlacementIdList; +} +const std::set< uint32_t >& getHousingPresetIdList() +{ + if( m_HousingPresetIdList.size() == 0 ) + loadIdList( m_HousingPresetDat, m_HousingPresetIdList ); + return m_HousingPresetIdList; +} +const std::set< uint32_t >& getHousingYardObjectIdList() +{ + if( m_HousingYardObjectIdList.size() == 0 ) loadIdList( m_HousingYardObjectDat, m_HousingYardObjectIdList ); - return m_HousingYardObjectIdList; - } - - const std::set< uint32_t >& getInstanceContentIdList() - { - if( m_InstanceContentIdList.size() == 0 ) + return m_HousingYardObjectIdList; +} +const std::set< uint32_t >& getHowToIdList() +{ + if( m_HowToIdList.size() == 0 ) + loadIdList( m_HowToDat, m_HowToIdList ); + return m_HowToIdList; +} +const std::set< uint32_t >& getHowToCategoryIdList() +{ + if( m_HowToCategoryIdList.size() == 0 ) + loadIdList( m_HowToCategoryDat, m_HowToCategoryIdList ); + return m_HowToCategoryIdList; +} +const std::set< uint32_t >& getHowToPageIdList() +{ + if( m_HowToPageIdList.size() == 0 ) + loadIdList( m_HowToPageDat, m_HowToPageIdList ); + return m_HowToPageIdList; +} +const std::set< uint32_t >& getInstanceContentIdList() +{ + if( m_InstanceContentIdList.size() == 0 ) loadIdList( m_InstanceContentDat, m_InstanceContentIdList ); - return m_InstanceContentIdList; - } - - const std::set< uint32_t >& getInstanceContentBuffIdList() - { - if( m_InstanceContentBuffIdList.size() == 0 ) + return m_InstanceContentIdList; +} +const std::set< uint32_t >& getInstanceContentBuffIdList() +{ + if( m_InstanceContentBuffIdList.size() == 0 ) loadIdList( m_InstanceContentBuffDat, m_InstanceContentBuffIdList ); - return m_InstanceContentBuffIdList; - } - - const std::set< uint32_t >& getInstanceContentTextDataIdList() - { - if( m_InstanceContentTextDataIdList.size() == 0 ) + return m_InstanceContentBuffIdList; +} +const std::set< uint32_t >& getInstanceContentTextDataIdList() +{ + if( m_InstanceContentTextDataIdList.size() == 0 ) loadIdList( m_InstanceContentTextDataDat, m_InstanceContentTextDataIdList ); - return m_InstanceContentTextDataIdList; - } - - const std::set< uint32_t >& getItemIdList() - { - if( m_ItemIdList.size() == 0 ) + return m_InstanceContentTextDataIdList; +} +const std::set< uint32_t >& getItemIdList() +{ + if( m_ItemIdList.size() == 0 ) loadIdList( m_ItemDat, m_ItemIdList ); - return m_ItemIdList; - } - - const std::set< uint32_t >& getItemActionIdList() - { - if( m_ItemActionIdList.size() == 0 ) + return m_ItemIdList; +} +const std::set< uint32_t >& getItemActionIdList() +{ + if( m_ItemActionIdList.size() == 0 ) loadIdList( m_ItemActionDat, m_ItemActionIdList ); - return m_ItemActionIdList; - } - - const std::set< uint32_t >& getItemFoodIdList() - { - if( m_ItemFoodIdList.size() == 0 ) + return m_ItemActionIdList; +} +const std::set< uint32_t >& getItemFoodIdList() +{ + if( m_ItemFoodIdList.size() == 0 ) loadIdList( m_ItemFoodDat, m_ItemFoodIdList ); - return m_ItemFoodIdList; - } - - const std::set< uint32_t >& getItemSearchCategoryIdList() - { - if( m_ItemSearchCategoryIdList.size() == 0 ) + return m_ItemFoodIdList; +} +const std::set< uint32_t >& getItemSearchCategoryIdList() +{ + if( m_ItemSearchCategoryIdList.size() == 0 ) loadIdList( m_ItemSearchCategoryDat, m_ItemSearchCategoryIdList ); - return m_ItemSearchCategoryIdList; - } - - const std::set< uint32_t >& getItemSeriesIdList() - { - if( m_ItemSeriesIdList.size() == 0 ) + return m_ItemSearchCategoryIdList; +} +const std::set< uint32_t >& getItemSeriesIdList() +{ + if( m_ItemSeriesIdList.size() == 0 ) loadIdList( m_ItemSeriesDat, m_ItemSeriesIdList ); - return m_ItemSeriesIdList; - } - - const std::set< uint32_t >& getItemSpecialBonusIdList() - { - if( m_ItemSpecialBonusIdList.size() == 0 ) + return m_ItemSeriesIdList; +} +const std::set< uint32_t >& getItemSpecialBonusIdList() +{ + if( m_ItemSpecialBonusIdList.size() == 0 ) loadIdList( m_ItemSpecialBonusDat, m_ItemSpecialBonusIdList ); - return m_ItemSpecialBonusIdList; - } - - const std::set< uint32_t >& getItemUICategoryIdList() - { - if( m_ItemUICategoryIdList.size() == 0 ) + return m_ItemSpecialBonusIdList; +} +const std::set< uint32_t >& getItemUICategoryIdList() +{ + if( m_ItemUICategoryIdList.size() == 0 ) loadIdList( m_ItemUICategoryDat, m_ItemUICategoryIdList ); - return m_ItemUICategoryIdList; - } - - const std::set< uint32_t >& getJournalCategoryIdList() - { - if( m_JournalCategoryIdList.size() == 0 ) + return m_ItemUICategoryIdList; +} +const std::set< uint32_t >& getJournalCategoryIdList() +{ + if( m_JournalCategoryIdList.size() == 0 ) loadIdList( m_JournalCategoryDat, m_JournalCategoryIdList ); - return m_JournalCategoryIdList; - } - - const std::set< uint32_t >& getJournalGenreIdList() - { - if( m_JournalGenreIdList.size() == 0 ) + return m_JournalCategoryIdList; +} +const std::set< uint32_t >& getJournalGenreIdList() +{ + if( m_JournalGenreIdList.size() == 0 ) loadIdList( m_JournalGenreDat, m_JournalGenreIdList ); - return m_JournalGenreIdList; - } - - const std::set< uint32_t >& getJournalSectionIdList() - { - if( m_JournalSectionIdList.size() == 0 ) + return m_JournalGenreIdList; +} +const std::set< uint32_t >& getJournalSectionIdList() +{ + if( m_JournalSectionIdList.size() == 0 ) loadIdList( m_JournalSectionDat, m_JournalSectionIdList ); - return m_JournalSectionIdList; - } - - const std::set< uint32_t >& getLeveIdList() - { - if( m_LeveIdList.size() == 0 ) + return m_JournalSectionIdList; +} +const std::set< uint32_t >& getLeveIdList() +{ + if( m_LeveIdList.size() == 0 ) loadIdList( m_LeveDat, m_LeveIdList ); - return m_LeveIdList; - } - - const std::set< uint32_t >& getLeveAssignmentTypeIdList() - { - if( m_LeveAssignmentTypeIdList.size() == 0 ) + return m_LeveIdList; +} +const std::set< uint32_t >& getLeveAssignmentTypeIdList() +{ + if( m_LeveAssignmentTypeIdList.size() == 0 ) loadIdList( m_LeveAssignmentTypeDat, m_LeveAssignmentTypeIdList ); - return m_LeveAssignmentTypeIdList; - } - - const std::set< uint32_t >& getLeveClientIdList() - { - if( m_LeveClientIdList.size() == 0 ) + return m_LeveAssignmentTypeIdList; +} +const std::set< uint32_t >& getLeveClientIdList() +{ + if( m_LeveClientIdList.size() == 0 ) loadIdList( m_LeveClientDat, m_LeveClientIdList ); - return m_LeveClientIdList; - } - - const std::set< uint32_t >& getLevelIdList() - { - if( m_LevelIdList.size() == 0 ) + return m_LeveClientIdList; +} +const std::set< uint32_t >& getLevelIdList() +{ + if( m_LevelIdList.size() == 0 ) loadIdList( m_LevelDat, m_LevelIdList ); - return m_LevelIdList; - } - - const std::set< uint32_t >& getLeveRewardItemIdList() - { - if( m_LeveRewardItemIdList.size() == 0 ) + return m_LevelIdList; +} +const std::set< uint32_t >& getLeveRewardItemIdList() +{ + if( m_LeveRewardItemIdList.size() == 0 ) loadIdList( m_LeveRewardItemDat, m_LeveRewardItemIdList ); - return m_LeveRewardItemIdList; - } - - const std::set< uint32_t >& getLeveRewardItemGroupIdList() - { - if( m_LeveRewardItemGroupIdList.size() == 0 ) + return m_LeveRewardItemIdList; +} +const std::set< uint32_t >& getLeveRewardItemGroupIdList() +{ + if( m_LeveRewardItemGroupIdList.size() == 0 ) loadIdList( m_LeveRewardItemGroupDat, m_LeveRewardItemGroupIdList ); - return m_LeveRewardItemGroupIdList; - } - - const std::set< uint32_t >& getLeveVfxIdList() - { - if( m_LeveVfxIdList.size() == 0 ) + return m_LeveRewardItemGroupIdList; +} +const std::set< uint32_t >& getLeveVfxIdList() +{ + if( m_LeveVfxIdList.size() == 0 ) loadIdList( m_LeveVfxDat, m_LeveVfxIdList ); - return m_LeveVfxIdList; - } - - const std::set< uint32_t >& getLogFilterIdList() - { - if( m_LogFilterIdList.size() == 0 ) + return m_LeveVfxIdList; +} +const std::set< uint32_t >& getLogFilterIdList() +{ + if( m_LogFilterIdList.size() == 0 ) loadIdList( m_LogFilterDat, m_LogFilterIdList ); - return m_LogFilterIdList; - } - - const std::set< uint32_t >& getLogKindIdList() - { - if( m_LogKindIdList.size() == 0 ) + return m_LogFilterIdList; +} +const std::set< uint32_t >& getLogKindIdList() +{ + if( m_LogKindIdList.size() == 0 ) loadIdList( m_LogKindDat, m_LogKindIdList ); - return m_LogKindIdList; - } - - const std::set< uint32_t >& getLogKindCategoryTextIdList() - { - if( m_LogKindCategoryTextIdList.size() == 0 ) + return m_LogKindIdList; +} +const std::set< uint32_t >& getLogKindCategoryTextIdList() +{ + if( m_LogKindCategoryTextIdList.size() == 0 ) loadIdList( m_LogKindCategoryTextDat, m_LogKindCategoryTextIdList ); - return m_LogKindCategoryTextIdList; - } - - const std::set< uint32_t >& getLogMessageIdList() - { - if( m_LogMessageIdList.size() == 0 ) + return m_LogKindCategoryTextIdList; +} +const std::set< uint32_t >& getLogMessageIdList() +{ + if( m_LogMessageIdList.size() == 0 ) loadIdList( m_LogMessageDat, m_LogMessageIdList ); - return m_LogMessageIdList; - } - - const std::set< uint32_t >& getMacroIconIdList() - { - if( m_MacroIconIdList.size() == 0 ) + return m_LogMessageIdList; +} +const std::set< uint32_t >& getLotteryExchangeShopIdList() +{ + if( m_LotteryExchangeShopIdList.size() == 0 ) + loadIdList( m_LotteryExchangeShopDat, m_LotteryExchangeShopIdList ); + return m_LotteryExchangeShopIdList; +} +const std::set< uint32_t >& getMacroIconIdList() +{ + if( m_MacroIconIdList.size() == 0 ) loadIdList( m_MacroIconDat, m_MacroIconIdList ); - return m_MacroIconIdList; - } - - const std::set< uint32_t >& getMacroIconRedirectOldIdList() - { - if( m_MacroIconRedirectOldIdList.size() == 0 ) + return m_MacroIconIdList; +} +const std::set< uint32_t >& getMacroIconRedirectOldIdList() +{ + if( m_MacroIconRedirectOldIdList.size() == 0 ) loadIdList( m_MacroIconRedirectOldDat, m_MacroIconRedirectOldIdList ); - return m_MacroIconRedirectOldIdList; - } - - const std::set< uint32_t >& getMainCommandIdList() - { - if( m_MainCommandIdList.size() == 0 ) + return m_MacroIconRedirectOldIdList; +} +const std::set< uint32_t >& getMainCommandIdList() +{ + if( m_MainCommandIdList.size() == 0 ) loadIdList( m_MainCommandDat, m_MainCommandIdList ); - return m_MainCommandIdList; - } - - const std::set< uint32_t >& getMainCommandCategoryIdList() - { - if( m_MainCommandCategoryIdList.size() == 0 ) + return m_MainCommandIdList; +} +const std::set< uint32_t >& getMainCommandCategoryIdList() +{ + if( m_MainCommandCategoryIdList.size() == 0 ) loadIdList( m_MainCommandCategoryDat, m_MainCommandCategoryIdList ); - return m_MainCommandCategoryIdList; - } - - const std::set< uint32_t >& getMapIdList() - { - if( m_MapIdList.size() == 0 ) + return m_MainCommandCategoryIdList; +} +const std::set< uint32_t >& getManeuversArmorIdList() +{ + if( m_ManeuversArmorIdList.size() == 0 ) + loadIdList( m_ManeuversArmorDat, m_ManeuversArmorIdList ); + return m_ManeuversArmorIdList; +} +const std::set< uint32_t >& getMapIdList() +{ + if( m_MapIdList.size() == 0 ) loadIdList( m_MapDat, m_MapIdList ); - return m_MapIdList; - } - - const std::set< uint32_t >& getMapMarkerIdList() - { - if( m_MapMarkerIdList.size() == 0 ) + return m_MapIdList; +} +const std::set< uint32_t >& getMapMarkerIdList() +{ + if( m_MapMarkerIdList.size() == 0 ) loadIdList( m_MapMarkerDat, m_MapMarkerIdList ); - return m_MapMarkerIdList; - } - - const std::set< uint32_t >& getMapMarkerRegionIdList() - { - if( m_MapMarkerRegionIdList.size() == 0 ) + return m_MapMarkerIdList; +} +const std::set< uint32_t >& getMapMarkerRegionIdList() +{ + if( m_MapMarkerRegionIdList.size() == 0 ) loadIdList( m_MapMarkerRegionDat, m_MapMarkerRegionIdList ); - return m_MapMarkerRegionIdList; - } - - const std::set< uint32_t >& getMapSymbolIdList() - { - if( m_MapSymbolIdList.size() == 0 ) + return m_MapMarkerRegionIdList; +} +const std::set< uint32_t >& getMapSymbolIdList() +{ + if( m_MapSymbolIdList.size() == 0 ) loadIdList( m_MapSymbolDat, m_MapSymbolIdList ); - return m_MapSymbolIdList; - } - - const std::set< uint32_t >& getMarkerIdList() - { - if( m_MarkerIdList.size() == 0 ) + return m_MapSymbolIdList; +} +const std::set< uint32_t >& getMarkerIdList() +{ + if( m_MarkerIdList.size() == 0 ) loadIdList( m_MarkerDat, m_MarkerIdList ); - return m_MarkerIdList; - } - - const std::set< uint32_t >& getMasterpieceSupplyDutyIdList() - { - if( m_MasterpieceSupplyDutyIdList.size() == 0 ) + return m_MarkerIdList; +} +const std::set< uint32_t >& getMasterpieceSupplyDutyIdList() +{ + if( m_MasterpieceSupplyDutyIdList.size() == 0 ) loadIdList( m_MasterpieceSupplyDutyDat, m_MasterpieceSupplyDutyIdList ); - return m_MasterpieceSupplyDutyIdList; - } - - const std::set< uint32_t >& getMasterpieceSupplyMultiplierIdList() - { - if( m_MasterpieceSupplyMultiplierIdList.size() == 0 ) + return m_MasterpieceSupplyDutyIdList; +} +const std::set< uint32_t >& getMasterpieceSupplyMultiplierIdList() +{ + if( m_MasterpieceSupplyMultiplierIdList.size() == 0 ) loadIdList( m_MasterpieceSupplyMultiplierDat, m_MasterpieceSupplyMultiplierIdList ); - return m_MasterpieceSupplyMultiplierIdList; - } - - const std::set< uint32_t >& getMateriaIdList() - { - if( m_MateriaIdList.size() == 0 ) + return m_MasterpieceSupplyMultiplierIdList; +} +const std::set< uint32_t >& getMateriaIdList() +{ + if( m_MateriaIdList.size() == 0 ) loadIdList( m_MateriaDat, m_MateriaIdList ); - return m_MateriaIdList; - } - - const std::set< uint32_t >& getMinionRaceIdList() - { - if( m_MinionRaceIdList.size() == 0 ) + return m_MateriaIdList; +} +const std::set< uint32_t >& getMinionRaceIdList() +{ + if( m_MinionRaceIdList.size() == 0 ) loadIdList( m_MinionRaceDat, m_MinionRaceIdList ); - return m_MinionRaceIdList; - } - - const std::set< uint32_t >& getMinionRulesIdList() - { - if( m_MinionRulesIdList.size() == 0 ) + return m_MinionRaceIdList; +} +const std::set< uint32_t >& getMinionRulesIdList() +{ + if( m_MinionRulesIdList.size() == 0 ) loadIdList( m_MinionRulesDat, m_MinionRulesIdList ); - return m_MinionRulesIdList; - } - - const std::set< uint32_t >& getMinionSkillTypeIdList() - { - if( m_MinionSkillTypeIdList.size() == 0 ) + return m_MinionRulesIdList; +} +const std::set< uint32_t >& getMinionSkillTypeIdList() +{ + if( m_MinionSkillTypeIdList.size() == 0 ) loadIdList( m_MinionSkillTypeDat, m_MinionSkillTypeIdList ); - return m_MinionSkillTypeIdList; - } - - const std::set< uint32_t >& getMobHuntTargetIdList() - { - if( m_MobHuntTargetIdList.size() == 0 ) + return m_MinionSkillTypeIdList; +} +const std::set< uint32_t >& getMobHuntOrderTypeIdList() +{ + if( m_MobHuntOrderTypeIdList.size() == 0 ) + loadIdList( m_MobHuntOrderTypeDat, m_MobHuntOrderTypeIdList ); + return m_MobHuntOrderTypeIdList; +} +const std::set< uint32_t >& getMobHuntTargetIdList() +{ + if( m_MobHuntTargetIdList.size() == 0 ) loadIdList( m_MobHuntTargetDat, m_MobHuntTargetIdList ); - return m_MobHuntTargetIdList; - } - - const std::set< uint32_t >& getModelCharaIdList() - { - if( m_ModelCharaIdList.size() == 0 ) + return m_MobHuntTargetIdList; +} +const std::set< uint32_t >& getModelCharaIdList() +{ + if( m_ModelCharaIdList.size() == 0 ) loadIdList( m_ModelCharaDat, m_ModelCharaIdList ); - return m_ModelCharaIdList; - } - - const std::set< uint32_t >& getMonsterNoteIdList() - { - if( m_MonsterNoteIdList.size() == 0 ) + return m_ModelCharaIdList; +} +const std::set< uint32_t >& getModelStateIdList() +{ + if( m_ModelStateIdList.size() == 0 ) + loadIdList( m_ModelStateDat, m_ModelStateIdList ); + return m_ModelStateIdList; +} +const std::set< uint32_t >& getMonsterNoteIdList() +{ + if( m_MonsterNoteIdList.size() == 0 ) loadIdList( m_MonsterNoteDat, m_MonsterNoteIdList ); - return m_MonsterNoteIdList; - } - - const std::set< uint32_t >& getMonsterNoteTargetIdList() - { - if( m_MonsterNoteTargetIdList.size() == 0 ) + return m_MonsterNoteIdList; +} +const std::set< uint32_t >& getMonsterNoteTargetIdList() +{ + if( m_MonsterNoteTargetIdList.size() == 0 ) loadIdList( m_MonsterNoteTargetDat, m_MonsterNoteTargetIdList ); - return m_MonsterNoteTargetIdList; - } - - const std::set< uint32_t >& getMountIdList() - { - if( m_MountIdList.size() == 0 ) + return m_MonsterNoteTargetIdList; +} +const std::set< uint32_t >& getMountIdList() +{ + if( m_MountIdList.size() == 0 ) loadIdList( m_MountDat, m_MountIdList ); - return m_MountIdList; - } - - const std::set< uint32_t >& getMountActionIdList() - { - if( m_MountActionIdList.size() == 0 ) + return m_MountIdList; +} +const std::set< uint32_t >& getMountActionIdList() +{ + if( m_MountActionIdList.size() == 0 ) loadIdList( m_MountActionDat, m_MountActionIdList ); - return m_MountActionIdList; - } - - const std::set< uint32_t >& getMoveTimelineIdList() - { - if( m_MoveTimelineIdList.size() == 0 ) + return m_MountActionIdList; +} +const std::set< uint32_t >& getMountCustomizeIdList() +{ + if( m_MountCustomizeIdList.size() == 0 ) + loadIdList( m_MountCustomizeDat, m_MountCustomizeIdList ); + return m_MountCustomizeIdList; +} +const std::set< uint32_t >& getMountFlyingConditionIdList() +{ + if( m_MountFlyingConditionIdList.size() == 0 ) + loadIdList( m_MountFlyingConditionDat, m_MountFlyingConditionIdList ); + return m_MountFlyingConditionIdList; +} +const std::set< uint32_t >& getMountSpeedIdList() +{ + if( m_MountSpeedIdList.size() == 0 ) + loadIdList( m_MountSpeedDat, m_MountSpeedIdList ); + return m_MountSpeedIdList; +} +const std::set< uint32_t >& getMountTransientIdList() +{ + if( m_MountTransientIdList.size() == 0 ) + loadIdList( m_MountTransientDat, m_MountTransientIdList ); + return m_MountTransientIdList; +} +const std::set< uint32_t >& getMoveTimelineIdList() +{ + if( m_MoveTimelineIdList.size() == 0 ) loadIdList( m_MoveTimelineDat, m_MoveTimelineIdList ); - return m_MoveTimelineIdList; - } - - const std::set< uint32_t >& getMoveVfxIdList() - { - if( m_MoveVfxIdList.size() == 0 ) + return m_MoveTimelineIdList; +} +const std::set< uint32_t >& getMoveVfxIdList() +{ + if( m_MoveVfxIdList.size() == 0 ) loadIdList( m_MoveVfxDat, m_MoveVfxIdList ); - return m_MoveVfxIdList; - } - - const std::set< uint32_t >& getNpcEquipIdList() - { - if( m_NpcEquipIdList.size() == 0 ) + return m_MoveVfxIdList; +} +const std::set< uint32_t >& getNpcEquipIdList() +{ + if( m_NpcEquipIdList.size() == 0 ) loadIdList( m_NpcEquipDat, m_NpcEquipIdList ); - return m_NpcEquipIdList; - } - - const std::set< uint32_t >& getOmenIdList() - { - if( m_OmenIdList.size() == 0 ) + return m_NpcEquipIdList; +} +const std::set< uint32_t >& getNpcYellIdList() +{ + if( m_NpcYellIdList.size() == 0 ) + loadIdList( m_NpcYellDat, m_NpcYellIdList ); + return m_NpcYellIdList; +} +const std::set< uint32_t >& getOmenIdList() +{ + if( m_OmenIdList.size() == 0 ) loadIdList( m_OmenDat, m_OmenIdList ); - return m_OmenIdList; - } - - const std::set< uint32_t >& getOnlineStatusIdList() - { - if( m_OnlineStatusIdList.size() == 0 ) + return m_OmenIdList; +} +const std::set< uint32_t >& getOnlineStatusIdList() +{ + if( m_OnlineStatusIdList.size() == 0 ) loadIdList( m_OnlineStatusDat, m_OnlineStatusIdList ); - return m_OnlineStatusIdList; - } - - const std::set< uint32_t >& getOpeningIdList() - { - if( m_OpeningIdList.size() == 0 ) + return m_OnlineStatusIdList; +} +const std::set< uint32_t >& getOpeningIdList() +{ + if( m_OpeningIdList.size() == 0 ) loadIdList( m_OpeningDat, m_OpeningIdList ); - return m_OpeningIdList; - } - - const std::set< uint32_t >& getOrchestrionIdList() - { - if( m_OrchestrionIdList.size() == 0 ) + return m_OpeningIdList; +} +const std::set< uint32_t >& getOrchestrionIdList() +{ + if( m_OrchestrionIdList.size() == 0 ) loadIdList( m_OrchestrionDat, m_OrchestrionIdList ); - return m_OrchestrionIdList; - } - - const std::set< uint32_t >& getOrchestrionCategoryIdList() - { - if( m_OrchestrionCategoryIdList.size() == 0 ) + return m_OrchestrionIdList; +} +const std::set< uint32_t >& getOrchestrionCategoryIdList() +{ + if( m_OrchestrionCategoryIdList.size() == 0 ) loadIdList( m_OrchestrionCategoryDat, m_OrchestrionCategoryIdList ); - return m_OrchestrionCategoryIdList; - } - - const std::set< uint32_t >& getOrchestrionPathIdList() - { - if( m_OrchestrionPathIdList.size() == 0 ) + return m_OrchestrionCategoryIdList; +} +const std::set< uint32_t >& getOrchestrionPathIdList() +{ + if( m_OrchestrionPathIdList.size() == 0 ) loadIdList( m_OrchestrionPathDat, m_OrchestrionPathIdList ); - return m_OrchestrionPathIdList; - } - - const std::set< uint32_t >& getOrchestrionUiparamIdList() - { - if( m_OrchestrionUiparamIdList.size() == 0 ) + return m_OrchestrionPathIdList; +} +const std::set< uint32_t >& getOrchestrionUiparamIdList() +{ + if( m_OrchestrionUiparamIdList.size() == 0 ) loadIdList( m_OrchestrionUiparamDat, m_OrchestrionUiparamIdList ); - return m_OrchestrionUiparamIdList; - } - - const std::set< uint32_t >& getParamGrowIdList() - { - if( m_ParamGrowIdList.size() == 0 ) + return m_OrchestrionUiparamIdList; +} +const std::set< uint32_t >& getParamGrowIdList() +{ + if( m_ParamGrowIdList.size() == 0 ) loadIdList( m_ParamGrowDat, m_ParamGrowIdList ); - return m_ParamGrowIdList; - } - - const std::set< uint32_t >& getPerformIdList() - { - if( m_PerformIdList.size() == 0 ) + return m_ParamGrowIdList; +} +const std::set< uint32_t >& getPartyContentCutsceneIdList() +{ + if( m_PartyContentCutsceneIdList.size() == 0 ) + loadIdList( m_PartyContentCutsceneDat, m_PartyContentCutsceneIdList ); + return m_PartyContentCutsceneIdList; +} +const std::set< uint32_t >& getPerformIdList() +{ + if( m_PerformIdList.size() == 0 ) loadIdList( m_PerformDat, m_PerformIdList ); - return m_PerformIdList; - } - - const std::set< uint32_t >& getPerformTransientIdList() - { - if( m_PerformTransientIdList.size() == 0 ) + return m_PerformIdList; +} +const std::set< uint32_t >& getPerformTransientIdList() +{ + if( m_PerformTransientIdList.size() == 0 ) loadIdList( m_PerformTransientDat, m_PerformTransientIdList ); - return m_PerformTransientIdList; - } - - const std::set< uint32_t >& getPetIdList() - { - if( m_PetIdList.size() == 0 ) + return m_PerformTransientIdList; +} +const std::set< uint32_t >& getPetIdList() +{ + if( m_PetIdList.size() == 0 ) loadIdList( m_PetDat, m_PetIdList ); - return m_PetIdList; - } - - const std::set< uint32_t >& getPetActionIdList() - { - if( m_PetActionIdList.size() == 0 ) + return m_PetIdList; +} +const std::set< uint32_t >& getPetActionIdList() +{ + if( m_PetActionIdList.size() == 0 ) loadIdList( m_PetActionDat, m_PetActionIdList ); - return m_PetActionIdList; - } - - const std::set< uint32_t >& getPictureIdList() - { - if( m_PictureIdList.size() == 0 ) + return m_PetActionIdList; +} +const std::set< uint32_t >& getPictureIdList() +{ + if( m_PictureIdList.size() == 0 ) loadIdList( m_PictureDat, m_PictureIdList ); - return m_PictureIdList; - } - - const std::set< uint32_t >& getPlaceNameIdList() - { - if( m_PlaceNameIdList.size() == 0 ) + return m_PictureIdList; +} +const std::set< uint32_t >& getPlaceNameIdList() +{ + if( m_PlaceNameIdList.size() == 0 ) loadIdList( m_PlaceNameDat, m_PlaceNameIdList ); - return m_PlaceNameIdList; - } - - const std::set< uint32_t >& getPublicContentIdList() - { - if( m_PublicContentIdList.size() == 0 ) + return m_PlaceNameIdList; +} +const std::set< uint32_t >& getPlantPotFlowerSeedIdList() +{ + if( m_PlantPotFlowerSeedIdList.size() == 0 ) + loadIdList( m_PlantPotFlowerSeedDat, m_PlantPotFlowerSeedIdList ); + return m_PlantPotFlowerSeedIdList; +} +const std::set< uint32_t >& getPreHandlerIdList() +{ + if( m_PreHandlerIdList.size() == 0 ) + loadIdList( m_PreHandlerDat, m_PreHandlerIdList ); + return m_PreHandlerIdList; +} +const std::set< uint32_t >& getPublicContentIdList() +{ + if( m_PublicContentIdList.size() == 0 ) loadIdList( m_PublicContentDat, m_PublicContentIdList ); - return m_PublicContentIdList; - } - - const std::set< uint32_t >& getPvPActionSortIdList() - { - if( m_PvPActionSortIdList.size() == 0 ) + return m_PublicContentIdList; +} +const std::set< uint32_t >& getPublicContentCutsceneIdList() +{ + if( m_PublicContentCutsceneIdList.size() == 0 ) + loadIdList( m_PublicContentCutsceneDat, m_PublicContentCutsceneIdList ); + return m_PublicContentCutsceneIdList; +} +const std::set< uint32_t >& getPublicContentTextDataIdList() +{ + if( m_PublicContentTextDataIdList.size() == 0 ) + loadIdList( m_PublicContentTextDataDat, m_PublicContentTextDataIdList ); + return m_PublicContentTextDataIdList; +} +const std::set< uint32_t >& getPvPActionIdList() +{ + if( m_PvPActionIdList.size() == 0 ) + loadIdList( m_PvPActionDat, m_PvPActionIdList ); + return m_PvPActionIdList; +} +const std::set< uint32_t >& getPvPActionSortIdList() +{ + if( m_PvPActionSortIdList.size() == 0 ) loadIdList( m_PvPActionSortDat, m_PvPActionSortIdList ); - return m_PvPActionSortIdList; - } - - const std::set< uint32_t >& getQuestIdList() - { - if( m_QuestIdList.size() == 0 ) + return m_PvPActionSortIdList; +} +const std::set< uint32_t >& getPvPRankIdList() +{ + if( m_PvPRankIdList.size() == 0 ) + loadIdList( m_PvPRankDat, m_PvPRankIdList ); + return m_PvPRankIdList; +} +const std::set< uint32_t >& getPvPSelectTraitIdList() +{ + if( m_PvPSelectTraitIdList.size() == 0 ) + loadIdList( m_PvPSelectTraitDat, m_PvPSelectTraitIdList ); + return m_PvPSelectTraitIdList; +} +const std::set< uint32_t >& getPvPTraitIdList() +{ + if( m_PvPTraitIdList.size() == 0 ) + loadIdList( m_PvPTraitDat, m_PvPTraitIdList ); + return m_PvPTraitIdList; +} +const std::set< uint32_t >& getQuestIdList() +{ + if( m_QuestIdList.size() == 0 ) loadIdList( m_QuestDat, m_QuestIdList ); - return m_QuestIdList; - } - - const std::set< uint32_t >& getQuestClassJobRewardIdList() - { - if( m_QuestClassJobRewardIdList.size() == 0 ) + return m_QuestIdList; +} +const std::set< uint32_t >& getQuestClassJobRewardIdList() +{ + if( m_QuestClassJobRewardIdList.size() == 0 ) loadIdList( m_QuestClassJobRewardDat, m_QuestClassJobRewardIdList ); - return m_QuestClassJobRewardIdList; - } - - const std::set< uint32_t >& getQuestRepeatFlagIdList() - { - if( m_QuestRepeatFlagIdList.size() == 0 ) + return m_QuestClassJobRewardIdList; +} +const std::set< uint32_t >& getQuestClassJobSupplyIdList() +{ + if( m_QuestClassJobSupplyIdList.size() == 0 ) + loadIdList( m_QuestClassJobSupplyDat, m_QuestClassJobSupplyIdList ); + return m_QuestClassJobSupplyIdList; +} +const std::set< uint32_t >& getQuestRepeatFlagIdList() +{ + if( m_QuestRepeatFlagIdList.size() == 0 ) loadIdList( m_QuestRepeatFlagDat, m_QuestRepeatFlagIdList ); - return m_QuestRepeatFlagIdList; - } - - const std::set< uint32_t >& getQuestRewardOtherIdList() - { - if( m_QuestRewardOtherIdList.size() == 0 ) + return m_QuestRepeatFlagIdList; +} +const std::set< uint32_t >& getQuestRewardOtherIdList() +{ + if( m_QuestRewardOtherIdList.size() == 0 ) loadIdList( m_QuestRewardOtherDat, m_QuestRewardOtherIdList ); - return m_QuestRewardOtherIdList; - } - - const std::set< uint32_t >& getQuickChatIdList() - { - if( m_QuickChatIdList.size() == 0 ) + return m_QuestRewardOtherIdList; +} +const std::set< uint32_t >& getQuickChatIdList() +{ + if( m_QuickChatIdList.size() == 0 ) loadIdList( m_QuickChatDat, m_QuickChatIdList ); - return m_QuickChatIdList; - } - - const std::set< uint32_t >& getQuickChatTransientIdList() - { - if( m_QuickChatTransientIdList.size() == 0 ) + return m_QuickChatIdList; +} +const std::set< uint32_t >& getQuickChatTransientIdList() +{ + if( m_QuickChatTransientIdList.size() == 0 ) loadIdList( m_QuickChatTransientDat, m_QuickChatTransientIdList ); - return m_QuickChatTransientIdList; - } - - const std::set< uint32_t >& getRaceIdList() - { - if( m_RaceIdList.size() == 0 ) + return m_QuickChatTransientIdList; +} +const std::set< uint32_t >& getRaceIdList() +{ + if( m_RaceIdList.size() == 0 ) loadIdList( m_RaceDat, m_RaceIdList ); - return m_RaceIdList; - } - - const std::set< uint32_t >& getRacingChocoboItemIdList() - { - if( m_RacingChocoboItemIdList.size() == 0 ) + return m_RaceIdList; +} +const std::set< uint32_t >& getRacingChocoboItemIdList() +{ + if( m_RacingChocoboItemIdList.size() == 0 ) loadIdList( m_RacingChocoboItemDat, m_RacingChocoboItemIdList ); - return m_RacingChocoboItemIdList; - } - - const std::set< uint32_t >& getRacingChocoboNameIdList() - { - if( m_RacingChocoboNameIdList.size() == 0 ) + return m_RacingChocoboItemIdList; +} +const std::set< uint32_t >& getRacingChocoboNameIdList() +{ + if( m_RacingChocoboNameIdList.size() == 0 ) loadIdList( m_RacingChocoboNameDat, m_RacingChocoboNameIdList ); - return m_RacingChocoboNameIdList; - } - - const std::set< uint32_t >& getRacingChocoboNameCategoryIdList() - { - if( m_RacingChocoboNameCategoryIdList.size() == 0 ) + return m_RacingChocoboNameIdList; +} +const std::set< uint32_t >& getRacingChocoboNameCategoryIdList() +{ + if( m_RacingChocoboNameCategoryIdList.size() == 0 ) loadIdList( m_RacingChocoboNameCategoryDat, m_RacingChocoboNameCategoryIdList ); - return m_RacingChocoboNameCategoryIdList; - } - - const std::set< uint32_t >& getRacingChocoboNameInfoIdList() - { - if( m_RacingChocoboNameInfoIdList.size() == 0 ) + return m_RacingChocoboNameCategoryIdList; +} +const std::set< uint32_t >& getRacingChocoboNameInfoIdList() +{ + if( m_RacingChocoboNameInfoIdList.size() == 0 ) loadIdList( m_RacingChocoboNameInfoDat, m_RacingChocoboNameInfoIdList ); - return m_RacingChocoboNameInfoIdList; - } - - const std::set< uint32_t >& getRacingChocoboParamIdList() - { - if( m_RacingChocoboParamIdList.size() == 0 ) + return m_RacingChocoboNameInfoIdList; +} +const std::set< uint32_t >& getRacingChocoboParamIdList() +{ + if( m_RacingChocoboParamIdList.size() == 0 ) loadIdList( m_RacingChocoboParamDat, m_RacingChocoboParamIdList ); - return m_RacingChocoboParamIdList; - } - - const std::set< uint32_t >& getRecipeIdList() - { - if( m_RecipeIdList.size() == 0 ) + return m_RacingChocoboParamIdList; +} +const std::set< uint32_t >& getRecipeIdList() +{ + if( m_RecipeIdList.size() == 0 ) loadIdList( m_RecipeDat, m_RecipeIdList ); - return m_RecipeIdList; - } - - const std::set< uint32_t >& getRecipeElementIdList() - { - if( m_RecipeElementIdList.size() == 0 ) + return m_RecipeIdList; +} +const std::set< uint32_t >& getRecipeElementIdList() +{ + if( m_RecipeElementIdList.size() == 0 ) loadIdList( m_RecipeElementDat, m_RecipeElementIdList ); - return m_RecipeElementIdList; - } - - const std::set< uint32_t >& getRecipeLevelTableIdList() - { - if( m_RecipeLevelTableIdList.size() == 0 ) + return m_RecipeElementIdList; +} +const std::set< uint32_t >& getRecipeLevelTableIdList() +{ + if( m_RecipeLevelTableIdList.size() == 0 ) loadIdList( m_RecipeLevelTableDat, m_RecipeLevelTableIdList ); - return m_RecipeLevelTableIdList; - } - - const std::set< uint32_t >& getRecipeNotebookListIdList() - { - if( m_RecipeNotebookListIdList.size() == 0 ) + return m_RecipeLevelTableIdList; +} +const std::set< uint32_t >& getRecipeNotebookListIdList() +{ + if( m_RecipeNotebookListIdList.size() == 0 ) loadIdList( m_RecipeNotebookListDat, m_RecipeNotebookListIdList ); - return m_RecipeNotebookListIdList; - } - - const std::set< uint32_t >& getRecommendContentsIdList() - { - if( m_RecommendContentsIdList.size() == 0 ) + return m_RecipeNotebookListIdList; +} +const std::set< uint32_t >& getRecommendContentsIdList() +{ + if( m_RecommendContentsIdList.size() == 0 ) loadIdList( m_RecommendContentsDat, m_RecommendContentsIdList ); - return m_RecommendContentsIdList; - } - - const std::set< uint32_t >& getRelicIdList() - { - if( m_RelicIdList.size() == 0 ) + return m_RecommendContentsIdList; +} +const std::set< uint32_t >& getRelicIdList() +{ + if( m_RelicIdList.size() == 0 ) loadIdList( m_RelicDat, m_RelicIdList ); - return m_RelicIdList; - } - - const std::set< uint32_t >& getRelic3IdList() - { - if( m_Relic3IdList.size() == 0 ) + return m_RelicIdList; +} +const std::set< uint32_t >& getRelic3IdList() +{ + if( m_Relic3IdList.size() == 0 ) loadIdList( m_Relic3Dat, m_Relic3IdList ); - return m_Relic3IdList; - } - - const std::set< uint32_t >& getRelicItemIdList() - { - if( m_RelicItemIdList.size() == 0 ) + return m_Relic3IdList; +} +const std::set< uint32_t >& getRelicItemIdList() +{ + if( m_RelicItemIdList.size() == 0 ) loadIdList( m_RelicItemDat, m_RelicItemIdList ); - return m_RelicItemIdList; - } - - const std::set< uint32_t >& getRelicNoteIdList() - { - if( m_RelicNoteIdList.size() == 0 ) + return m_RelicItemIdList; +} +const std::set< uint32_t >& getRelicNoteIdList() +{ + if( m_RelicNoteIdList.size() == 0 ) loadIdList( m_RelicNoteDat, m_RelicNoteIdList ); - return m_RelicNoteIdList; - } - - const std::set< uint32_t >& getRelicNoteCategoryIdList() - { - if( m_RelicNoteCategoryIdList.size() == 0 ) + return m_RelicNoteIdList; +} +const std::set< uint32_t >& getRelicNoteCategoryIdList() +{ + if( m_RelicNoteCategoryIdList.size() == 0 ) loadIdList( m_RelicNoteCategoryDat, m_RelicNoteCategoryIdList ); - return m_RelicNoteCategoryIdList; - } - - const std::set< uint32_t >& getRetainerTaskIdList() - { - if( m_RetainerTaskIdList.size() == 0 ) + return m_RelicNoteCategoryIdList; +} +const std::set< uint32_t >& getResidentIdList() +{ + if( m_ResidentIdList.size() == 0 ) + loadIdList( m_ResidentDat, m_ResidentIdList ); + return m_ResidentIdList; +} +const std::set< uint32_t >& getRetainerTaskIdList() +{ + if( m_RetainerTaskIdList.size() == 0 ) loadIdList( m_RetainerTaskDat, m_RetainerTaskIdList ); - return m_RetainerTaskIdList; - } - - const std::set< uint32_t >& getRetainerTaskLvRangeIdList() - { - if( m_RetainerTaskLvRangeIdList.size() == 0 ) + return m_RetainerTaskIdList; +} +const std::set< uint32_t >& getRetainerTaskLvRangeIdList() +{ + if( m_RetainerTaskLvRangeIdList.size() == 0 ) loadIdList( m_RetainerTaskLvRangeDat, m_RetainerTaskLvRangeIdList ); - return m_RetainerTaskLvRangeIdList; - } - - const std::set< uint32_t >& getRetainerTaskNormalIdList() - { - if( m_RetainerTaskNormalIdList.size() == 0 ) + return m_RetainerTaskLvRangeIdList; +} +const std::set< uint32_t >& getRetainerTaskNormalIdList() +{ + if( m_RetainerTaskNormalIdList.size() == 0 ) loadIdList( m_RetainerTaskNormalDat, m_RetainerTaskNormalIdList ); - return m_RetainerTaskNormalIdList; - } - - const std::set< uint32_t >& getRetainerTaskParameterIdList() - { - if( m_RetainerTaskParameterIdList.size() == 0 ) + return m_RetainerTaskNormalIdList; +} +const std::set< uint32_t >& getRetainerTaskParameterIdList() +{ + if( m_RetainerTaskParameterIdList.size() == 0 ) loadIdList( m_RetainerTaskParameterDat, m_RetainerTaskParameterIdList ); - return m_RetainerTaskParameterIdList; - } - - const std::set< uint32_t >& getRetainerTaskRandomIdList() - { - if( m_RetainerTaskRandomIdList.size() == 0 ) + return m_RetainerTaskParameterIdList; +} +const std::set< uint32_t >& getRetainerTaskRandomIdList() +{ + if( m_RetainerTaskRandomIdList.size() == 0 ) loadIdList( m_RetainerTaskRandomDat, m_RetainerTaskRandomIdList ); - return m_RetainerTaskRandomIdList; - } - - const std::set< uint32_t >& getSalvageIdList() - { - if( m_SalvageIdList.size() == 0 ) + return m_RetainerTaskRandomIdList; +} +const std::set< uint32_t >& getRPParameterIdList() +{ + if( m_RPParameterIdList.size() == 0 ) + loadIdList( m_RPParameterDat, m_RPParameterIdList ); + return m_RPParameterIdList; +} +const std::set< uint32_t >& getSalvageIdList() +{ + if( m_SalvageIdList.size() == 0 ) loadIdList( m_SalvageDat, m_SalvageIdList ); - return m_SalvageIdList; - } - - const std::set< uint32_t >& getSatisfactionNpcIdList() - { - if( m_SatisfactionNpcIdList.size() == 0 ) + return m_SalvageIdList; +} +const std::set< uint32_t >& getSatisfactionNpcIdList() +{ + if( m_SatisfactionNpcIdList.size() == 0 ) loadIdList( m_SatisfactionNpcDat, m_SatisfactionNpcIdList ); - return m_SatisfactionNpcIdList; - } - - const std::set< uint32_t >& getSatisfactionSupplyIdList() - { - if( m_SatisfactionSupplyIdList.size() == 0 ) + return m_SatisfactionNpcIdList; +} +const std::set< uint32_t >& getSatisfactionSupplyIdList() +{ + if( m_SatisfactionSupplyIdList.size() == 0 ) loadIdList( m_SatisfactionSupplyDat, m_SatisfactionSupplyIdList ); - return m_SatisfactionSupplyIdList; - } - - const std::set< uint32_t >& getSatisfactionSupplyRewardIdList() - { - if( m_SatisfactionSupplyRewardIdList.size() == 0 ) + return m_SatisfactionSupplyIdList; +} +const std::set< uint32_t >& getSatisfactionSupplyRewardIdList() +{ + if( m_SatisfactionSupplyRewardIdList.size() == 0 ) loadIdList( m_SatisfactionSupplyRewardDat, m_SatisfactionSupplyRewardIdList ); - return m_SatisfactionSupplyRewardIdList; - } - - const std::set< uint32_t >& getScenarioTreeIdList() - { - if( m_ScenarioTreeIdList.size() == 0 ) + return m_SatisfactionSupplyRewardIdList; +} +const std::set< uint32_t >& getScenarioTreeIdList() +{ + if( m_ScenarioTreeIdList.size() == 0 ) loadIdList( m_ScenarioTreeDat, m_ScenarioTreeIdList ); - return m_ScenarioTreeIdList; - } - - const std::set< uint32_t >& getScenarioTreeTipsIdList() - { - if( m_ScenarioTreeTipsIdList.size() == 0 ) + return m_ScenarioTreeIdList; +} +const std::set< uint32_t >& getScenarioTreeTipsIdList() +{ + if( m_ScenarioTreeTipsIdList.size() == 0 ) loadIdList( m_ScenarioTreeTipsDat, m_ScenarioTreeTipsIdList ); - return m_ScenarioTreeTipsIdList; - } - - const std::set< uint32_t >& getScenarioTreeTipsClassQuestIdList() - { - if( m_ScenarioTreeTipsClassQuestIdList.size() == 0 ) + return m_ScenarioTreeTipsIdList; +} +const std::set< uint32_t >& getScenarioTreeTipsClassQuestIdList() +{ + if( m_ScenarioTreeTipsClassQuestIdList.size() == 0 ) loadIdList( m_ScenarioTreeTipsClassQuestDat, m_ScenarioTreeTipsClassQuestIdList ); - return m_ScenarioTreeTipsClassQuestIdList; - } - - const std::set< uint32_t >& getScenarioTreeTipsQuestIdList() - { - if( m_ScenarioTreeTipsQuestIdList.size() == 0 ) + return m_ScenarioTreeTipsClassQuestIdList; +} +const std::set< uint32_t >& getScenarioTreeTipsQuestIdList() +{ + if( m_ScenarioTreeTipsQuestIdList.size() == 0 ) loadIdList( m_ScenarioTreeTipsQuestDat, m_ScenarioTreeTipsQuestIdList ); - return m_ScenarioTreeTipsQuestIdList; - } - - const std::set< uint32_t >& getScenarioTypeIdList() - { - if( m_ScenarioTypeIdList.size() == 0 ) + return m_ScenarioTreeTipsQuestIdList; +} +const std::set< uint32_t >& getScenarioTypeIdList() +{ + if( m_ScenarioTypeIdList.size() == 0 ) loadIdList( m_ScenarioTypeDat, m_ScenarioTypeIdList ); - return m_ScenarioTypeIdList; - } - - const std::set< uint32_t >& getScreenImageIdList() - { - if( m_ScreenImageIdList.size() == 0 ) + return m_ScenarioTypeIdList; +} +const std::set< uint32_t >& getScreenImageIdList() +{ + if( m_ScreenImageIdList.size() == 0 ) loadIdList( m_ScreenImageDat, m_ScreenImageIdList ); - return m_ScreenImageIdList; - } - - const std::set< uint32_t >& getSecretRecipeBookIdList() - { - if( m_SecretRecipeBookIdList.size() == 0 ) + return m_ScreenImageIdList; +} +const std::set< uint32_t >& getSecretRecipeBookIdList() +{ + if( m_SecretRecipeBookIdList.size() == 0 ) loadIdList( m_SecretRecipeBookDat, m_SecretRecipeBookIdList ); - return m_SecretRecipeBookIdList; - } - - const std::set< uint32_t >& getSkyIsland2MissionIdList() - { - if( m_SkyIsland2MissionIdList.size() == 0 ) + return m_SecretRecipeBookIdList; +} +const std::set< uint32_t >& getSkyIsland2MissionIdList() +{ + if( m_SkyIsland2MissionIdList.size() == 0 ) loadIdList( m_SkyIsland2MissionDat, m_SkyIsland2MissionIdList ); - return m_SkyIsland2MissionIdList; - } - - const std::set< uint32_t >& getSkyIsland2MissionDetailIdList() - { - if( m_SkyIsland2MissionDetailIdList.size() == 0 ) + return m_SkyIsland2MissionIdList; +} +const std::set< uint32_t >& getSkyIsland2MissionDetailIdList() +{ + if( m_SkyIsland2MissionDetailIdList.size() == 0 ) loadIdList( m_SkyIsland2MissionDetailDat, m_SkyIsland2MissionDetailIdList ); - return m_SkyIsland2MissionDetailIdList; - } - - const std::set< uint32_t >& getSkyIsland2MissionTypeIdList() - { - if( m_SkyIsland2MissionTypeIdList.size() == 0 ) + return m_SkyIsland2MissionDetailIdList; +} +const std::set< uint32_t >& getSkyIsland2MissionTypeIdList() +{ + if( m_SkyIsland2MissionTypeIdList.size() == 0 ) loadIdList( m_SkyIsland2MissionTypeDat, m_SkyIsland2MissionTypeIdList ); - return m_SkyIsland2MissionTypeIdList; - } - - const std::set< uint32_t >& getSkyIsland2RangeTypeIdList() - { - if( m_SkyIsland2RangeTypeIdList.size() == 0 ) + return m_SkyIsland2MissionTypeIdList; +} +const std::set< uint32_t >& getSkyIsland2RangeTypeIdList() +{ + if( m_SkyIsland2RangeTypeIdList.size() == 0 ) loadIdList( m_SkyIsland2RangeTypeDat, m_SkyIsland2RangeTypeIdList ); - return m_SkyIsland2RangeTypeIdList; - } - - const std::set< uint32_t >& getSpearfishingItemIdList() - { - if( m_SpearfishingItemIdList.size() == 0 ) + return m_SkyIsland2RangeTypeIdList; +} +const std::set< uint32_t >& getSpearfishingItemIdList() +{ + if( m_SpearfishingItemIdList.size() == 0 ) loadIdList( m_SpearfishingItemDat, m_SpearfishingItemIdList ); - return m_SpearfishingItemIdList; - } - - const std::set< uint32_t >& getSpearfishingNotebookIdList() - { - if( m_SpearfishingNotebookIdList.size() == 0 ) + return m_SpearfishingItemIdList; +} +const std::set< uint32_t >& getSpearfishingNotebookIdList() +{ + if( m_SpearfishingNotebookIdList.size() == 0 ) loadIdList( m_SpearfishingNotebookDat, m_SpearfishingNotebookIdList ); - return m_SpearfishingNotebookIdList; - } - - const std::set< uint32_t >& getSpecialShopIdList() - { - if( m_SpecialShopIdList.size() == 0 ) + return m_SpearfishingNotebookIdList; +} +const std::set< uint32_t >& getSpearfishingRecordPageIdList() +{ + if( m_SpearfishingRecordPageIdList.size() == 0 ) + loadIdList( m_SpearfishingRecordPageDat, m_SpearfishingRecordPageIdList ); + return m_SpearfishingRecordPageIdList; +} +const std::set< uint32_t >& getSpecialShopIdList() +{ + if( m_SpecialShopIdList.size() == 0 ) loadIdList( m_SpecialShopDat, m_SpecialShopIdList ); - return m_SpecialShopIdList; - } - - const std::set< uint32_t >& getSpecialShopItemCategoryIdList() - { - if( m_SpecialShopItemCategoryIdList.size() == 0 ) + return m_SpecialShopIdList; +} +const std::set< uint32_t >& getSpecialShopItemCategoryIdList() +{ + if( m_SpecialShopItemCategoryIdList.size() == 0 ) loadIdList( m_SpecialShopItemCategoryDat, m_SpecialShopItemCategoryIdList ); - return m_SpecialShopItemCategoryIdList; - } - - const std::set< uint32_t >& getStainIdList() - { - if( m_StainIdList.size() == 0 ) + return m_SpecialShopItemCategoryIdList; +} +const std::set< uint32_t >& getStainIdList() +{ + if( m_StainIdList.size() == 0 ) loadIdList( m_StainDat, m_StainIdList ); - return m_StainIdList; - } - - const std::set< uint32_t >& getStainTransientIdList() - { - if( m_StainTransientIdList.size() == 0 ) + return m_StainIdList; +} +const std::set< uint32_t >& getStainTransientIdList() +{ + if( m_StainTransientIdList.size() == 0 ) loadIdList( m_StainTransientDat, m_StainTransientIdList ); - return m_StainTransientIdList; - } - - const std::set< uint32_t >& getStatusIdList() - { - if( m_StatusIdList.size() == 0 ) + return m_StainTransientIdList; +} +const std::set< uint32_t >& getStatusIdList() +{ + if( m_StatusIdList.size() == 0 ) loadIdList( m_StatusDat, m_StatusIdList ); - return m_StatusIdList; - } - - const std::set< uint32_t >& getStatusHitEffectIdList() - { - if( m_StatusHitEffectIdList.size() == 0 ) + return m_StatusIdList; +} +const std::set< uint32_t >& getStatusHitEffectIdList() +{ + if( m_StatusHitEffectIdList.size() == 0 ) loadIdList( m_StatusHitEffectDat, m_StatusHitEffectIdList ); - return m_StatusHitEffectIdList; - } - - const std::set< uint32_t >& getStatusLoopVFXIdList() - { - if( m_StatusLoopVFXIdList.size() == 0 ) + return m_StatusHitEffectIdList; +} +const std::set< uint32_t >& getStatusLoopVFXIdList() +{ + if( m_StatusLoopVFXIdList.size() == 0 ) loadIdList( m_StatusLoopVFXDat, m_StatusLoopVFXIdList ); - return m_StatusLoopVFXIdList; - } - - const std::set< uint32_t >& getStoryIdList() - { - if( m_StoryIdList.size() == 0 ) + return m_StatusLoopVFXIdList; +} +const std::set< uint32_t >& getStoryIdList() +{ + if( m_StoryIdList.size() == 0 ) loadIdList( m_StoryDat, m_StoryIdList ); - return m_StoryIdList; - } - - const std::set< uint32_t >& getSubmarineExplorationIdList() - { - if( m_SubmarineExplorationIdList.size() == 0 ) + return m_StoryIdList; +} +const std::set< uint32_t >& getSubmarineExplorationIdList() +{ + if( m_SubmarineExplorationIdList.size() == 0 ) loadIdList( m_SubmarineExplorationDat, m_SubmarineExplorationIdList ); - return m_SubmarineExplorationIdList; - } - - const std::set< uint32_t >& getSubmarinePartIdList() - { - if( m_SubmarinePartIdList.size() == 0 ) + return m_SubmarineExplorationIdList; +} +const std::set< uint32_t >& getSubmarinePartIdList() +{ + if( m_SubmarinePartIdList.size() == 0 ) loadIdList( m_SubmarinePartDat, m_SubmarinePartIdList ); - return m_SubmarinePartIdList; - } - - const std::set< uint32_t >& getSubmarineRankIdList() - { - if( m_SubmarineRankIdList.size() == 0 ) + return m_SubmarinePartIdList; +} +const std::set< uint32_t >& getSubmarineRankIdList() +{ + if( m_SubmarineRankIdList.size() == 0 ) loadIdList( m_SubmarineRankDat, m_SubmarineRankIdList ); - return m_SubmarineRankIdList; - } - - const std::set< uint32_t >& getSwitchTalkIdList() - { - if( m_SwitchTalkIdList.size() == 0 ) + return m_SubmarineRankIdList; +} +const std::set< uint32_t >& getSwitchTalkIdList() +{ + if( m_SwitchTalkIdList.size() == 0 ) loadIdList( m_SwitchTalkDat, m_SwitchTalkIdList ); - return m_SwitchTalkIdList; - } - - const std::set< uint32_t >& getTerritoryTypeIdList() - { - if( m_TerritoryTypeIdList.size() == 0 ) + return m_SwitchTalkIdList; +} +const std::set< uint32_t >& getTerritoryTypeIdList() +{ + if( m_TerritoryTypeIdList.size() == 0 ) loadIdList( m_TerritoryTypeDat, m_TerritoryTypeIdList ); - return m_TerritoryTypeIdList; - } - - const std::set< uint32_t >& getTextCommandIdList() - { - if( m_TextCommandIdList.size() == 0 ) + return m_TerritoryTypeIdList; +} +const std::set< uint32_t >& getTextCommandIdList() +{ + if( m_TextCommandIdList.size() == 0 ) loadIdList( m_TextCommandDat, m_TextCommandIdList ); - return m_TextCommandIdList; - } - - const std::set< uint32_t >& getTitleIdList() - { - if( m_TitleIdList.size() == 0 ) + return m_TextCommandIdList; +} +const std::set< uint32_t >& getTitleIdList() +{ + if( m_TitleIdList.size() == 0 ) loadIdList( m_TitleDat, m_TitleIdList ); - return m_TitleIdList; - } - - const std::set< uint32_t >& getTomestonesIdList() - { - if( m_TomestonesIdList.size() == 0 ) + return m_TitleIdList; +} +const std::set< uint32_t >& getTomestonesIdList() +{ + if( m_TomestonesIdList.size() == 0 ) loadIdList( m_TomestonesDat, m_TomestonesIdList ); - return m_TomestonesIdList; - } - - const std::set< uint32_t >& getTomestonesItemIdList() - { - if( m_TomestonesItemIdList.size() == 0 ) + return m_TomestonesIdList; +} +const std::set< uint32_t >& getTomestonesItemIdList() +{ + if( m_TomestonesItemIdList.size() == 0 ) loadIdList( m_TomestonesItemDat, m_TomestonesItemIdList ); - return m_TomestonesItemIdList; - } - - const std::set< uint32_t >& getTopicSelectIdList() - { - if( m_TopicSelectIdList.size() == 0 ) + return m_TomestonesItemIdList; +} +const std::set< uint32_t >& getTopicSelectIdList() +{ + if( m_TopicSelectIdList.size() == 0 ) loadIdList( m_TopicSelectDat, m_TopicSelectIdList ); - return m_TopicSelectIdList; - } - - const std::set< uint32_t >& getTownIdList() - { - if( m_TownIdList.size() == 0 ) + return m_TopicSelectIdList; +} +const std::set< uint32_t >& getTownIdList() +{ + if( m_TownIdList.size() == 0 ) loadIdList( m_TownDat, m_TownIdList ); - return m_TownIdList; - } - - const std::set< uint32_t >& getTraitIdList() - { - if( m_TraitIdList.size() == 0 ) + return m_TownIdList; +} +const std::set< uint32_t >& getTraitIdList() +{ + if( m_TraitIdList.size() == 0 ) loadIdList( m_TraitDat, m_TraitIdList ); - return m_TraitIdList; - } - - const std::set< uint32_t >& getTraitRecastIdList() - { - if( m_TraitRecastIdList.size() == 0 ) + return m_TraitIdList; +} +const std::set< uint32_t >& getTraitRecastIdList() +{ + if( m_TraitRecastIdList.size() == 0 ) loadIdList( m_TraitRecastDat, m_TraitRecastIdList ); - return m_TraitRecastIdList; - } - - const std::set< uint32_t >& getTraitTransientIdList() - { - if( m_TraitTransientIdList.size() == 0 ) + return m_TraitRecastIdList; +} +const std::set< uint32_t >& getTraitTransientIdList() +{ + if( m_TraitTransientIdList.size() == 0 ) loadIdList( m_TraitTransientDat, m_TraitTransientIdList ); - return m_TraitTransientIdList; - } - - const std::set< uint32_t >& getTransformationIdList() - { - if( m_TransformationIdList.size() == 0 ) + return m_TraitTransientIdList; +} +const std::set< uint32_t >& getTransformationIdList() +{ + if( m_TransformationIdList.size() == 0 ) loadIdList( m_TransformationDat, m_TransformationIdList ); - return m_TransformationIdList; - } - - const std::set< uint32_t >& getTreasureIdList() - { - if( m_TreasureIdList.size() == 0 ) + return m_TransformationIdList; +} +const std::set< uint32_t >& getTreasureIdList() +{ + if( m_TreasureIdList.size() == 0 ) loadIdList( m_TreasureDat, m_TreasureIdList ); - return m_TreasureIdList; - } - - const std::set< uint32_t >& getTreasureHuntRankIdList() - { - if( m_TreasureHuntRankIdList.size() == 0 ) + return m_TreasureIdList; +} +const std::set< uint32_t >& getTreasureHuntRankIdList() +{ + if( m_TreasureHuntRankIdList.size() == 0 ) loadIdList( m_TreasureHuntRankDat, m_TreasureHuntRankIdList ); - return m_TreasureHuntRankIdList; - } - - const std::set< uint32_t >& getTribeIdList() - { - if( m_TribeIdList.size() == 0 ) + return m_TreasureHuntRankIdList; +} +const std::set< uint32_t >& getTribeIdList() +{ + if( m_TribeIdList.size() == 0 ) loadIdList( m_TribeDat, m_TribeIdList ); - return m_TribeIdList; - } - - const std::set< uint32_t >& getTripleTriadIdList() - { - if( m_TripleTriadIdList.size() == 0 ) + return m_TribeIdList; +} +const std::set< uint32_t >& getTripleTriadIdList() +{ + if( m_TripleTriadIdList.size() == 0 ) loadIdList( m_TripleTriadDat, m_TripleTriadIdList ); - return m_TripleTriadIdList; - } - - const std::set< uint32_t >& getTripleTriadCardIdList() - { - if( m_TripleTriadCardIdList.size() == 0 ) + return m_TripleTriadIdList; +} +const std::set< uint32_t >& getTripleTriadCardIdList() +{ + if( m_TripleTriadCardIdList.size() == 0 ) loadIdList( m_TripleTriadCardDat, m_TripleTriadCardIdList ); - return m_TripleTriadCardIdList; - } - - const std::set< uint32_t >& getTripleTriadCardRarityIdList() - { - if( m_TripleTriadCardRarityIdList.size() == 0 ) + return m_TripleTriadCardIdList; +} +const std::set< uint32_t >& getTripleTriadCardRarityIdList() +{ + if( m_TripleTriadCardRarityIdList.size() == 0 ) loadIdList( m_TripleTriadCardRarityDat, m_TripleTriadCardRarityIdList ); - return m_TripleTriadCardRarityIdList; - } - - const std::set< uint32_t >& getTripleTriadCardResidentIdList() - { - if( m_TripleTriadCardResidentIdList.size() == 0 ) + return m_TripleTriadCardRarityIdList; +} +const std::set< uint32_t >& getTripleTriadCardResidentIdList() +{ + if( m_TripleTriadCardResidentIdList.size() == 0 ) loadIdList( m_TripleTriadCardResidentDat, m_TripleTriadCardResidentIdList ); - return m_TripleTriadCardResidentIdList; - } - - const std::set< uint32_t >& getTripleTriadCardTypeIdList() - { - if( m_TripleTriadCardTypeIdList.size() == 0 ) + return m_TripleTriadCardResidentIdList; +} +const std::set< uint32_t >& getTripleTriadCardTypeIdList() +{ + if( m_TripleTriadCardTypeIdList.size() == 0 ) loadIdList( m_TripleTriadCardTypeDat, m_TripleTriadCardTypeIdList ); - return m_TripleTriadCardTypeIdList; - } - - const std::set< uint32_t >& getTripleTriadCompetitionIdList() - { - if( m_TripleTriadCompetitionIdList.size() == 0 ) + return m_TripleTriadCardTypeIdList; +} +const std::set< uint32_t >& getTripleTriadCompetitionIdList() +{ + if( m_TripleTriadCompetitionIdList.size() == 0 ) loadIdList( m_TripleTriadCompetitionDat, m_TripleTriadCompetitionIdList ); - return m_TripleTriadCompetitionIdList; - } - - const std::set< uint32_t >& getTripleTriadRuleIdList() - { - if( m_TripleTriadRuleIdList.size() == 0 ) + return m_TripleTriadCompetitionIdList; +} +const std::set< uint32_t >& getTripleTriadRuleIdList() +{ + if( m_TripleTriadRuleIdList.size() == 0 ) loadIdList( m_TripleTriadRuleDat, m_TripleTriadRuleIdList ); - return m_TripleTriadRuleIdList; - } - - const std::set< uint32_t >& getTutorialIdList() - { - if( m_TutorialIdList.size() == 0 ) + return m_TripleTriadRuleIdList; +} +const std::set< uint32_t >& getTutorialIdList() +{ + if( m_TutorialIdList.size() == 0 ) loadIdList( m_TutorialDat, m_TutorialIdList ); - return m_TutorialIdList; - } - - const std::set< uint32_t >& getTutorialDPSIdList() - { - if( m_TutorialDPSIdList.size() == 0 ) + return m_TutorialIdList; +} +const std::set< uint32_t >& getTutorialDPSIdList() +{ + if( m_TutorialDPSIdList.size() == 0 ) loadIdList( m_TutorialDPSDat, m_TutorialDPSIdList ); - return m_TutorialDPSIdList; - } - - const std::set< uint32_t >& getTutorialHealerIdList() - { - if( m_TutorialHealerIdList.size() == 0 ) + return m_TutorialDPSIdList; +} +const std::set< uint32_t >& getTutorialHealerIdList() +{ + if( m_TutorialHealerIdList.size() == 0 ) loadIdList( m_TutorialHealerDat, m_TutorialHealerIdList ); - return m_TutorialHealerIdList; - } - - const std::set< uint32_t >& getTutorialTankIdList() - { - if( m_TutorialTankIdList.size() == 0 ) + return m_TutorialHealerIdList; +} +const std::set< uint32_t >& getTutorialTankIdList() +{ + if( m_TutorialTankIdList.size() == 0 ) loadIdList( m_TutorialTankDat, m_TutorialTankIdList ); - return m_TutorialTankIdList; - } - - const std::set< uint32_t >& getVaseFlowerIdList() - { - if( m_VaseFlowerIdList.size() == 0 ) + return m_TutorialTankIdList; +} +const std::set< uint32_t >& getVaseFlowerIdList() +{ + if( m_VaseFlowerIdList.size() == 0 ) loadIdList( m_VaseFlowerDat, m_VaseFlowerIdList ); - return m_VaseFlowerIdList; - } - - const std::set< uint32_t >& getVFXIdList() - { - if( m_VFXIdList.size() == 0 ) + return m_VaseFlowerIdList; +} +const std::set< uint32_t >& getVFXIdList() +{ + if( m_VFXIdList.size() == 0 ) loadIdList( m_VFXDat, m_VFXIdList ); - return m_VFXIdList; - } - - const std::set< uint32_t >& getWarpIdList() - { - if( m_WarpIdList.size() == 0 ) + return m_VFXIdList; +} +const std::set< uint32_t >& getWarpIdList() +{ + if( m_WarpIdList.size() == 0 ) loadIdList( m_WarpDat, m_WarpIdList ); - return m_WarpIdList; - } - - const std::set< uint32_t >& getWarpConditionIdList() - { - if( m_WarpConditionIdList.size() == 0 ) + return m_WarpIdList; +} +const std::set< uint32_t >& getWarpConditionIdList() +{ + if( m_WarpConditionIdList.size() == 0 ) loadIdList( m_WarpConditionDat, m_WarpConditionIdList ); - return m_WarpConditionIdList; - } - - const std::set< uint32_t >& getWeatherIdList() - { - if( m_WeatherIdList.size() == 0 ) + return m_WarpConditionIdList; +} +const std::set< uint32_t >& getWarpLogicIdList() +{ + if( m_WarpLogicIdList.size() == 0 ) + loadIdList( m_WarpLogicDat, m_WarpLogicIdList ); + return m_WarpLogicIdList; +} +const std::set< uint32_t >& getWeatherIdList() +{ + if( m_WeatherIdList.size() == 0 ) loadIdList( m_WeatherDat, m_WeatherIdList ); - return m_WeatherIdList; - } - - const std::set< uint32_t >& getWeatherGroupIdList() - { - if( m_WeatherGroupIdList.size() == 0 ) + return m_WeatherIdList; +} +const std::set< uint32_t >& getWeatherGroupIdList() +{ + if( m_WeatherGroupIdList.size() == 0 ) loadIdList( m_WeatherGroupDat, m_WeatherGroupIdList ); - return m_WeatherGroupIdList; - } - - const std::set< uint32_t >& getWeatherRateIdList() - { - if( m_WeatherRateIdList.size() == 0 ) + return m_WeatherGroupIdList; +} +const std::set< uint32_t >& getWeatherRateIdList() +{ + if( m_WeatherRateIdList.size() == 0 ) loadIdList( m_WeatherRateDat, m_WeatherRateIdList ); - return m_WeatherRateIdList; - } - - const std::set< uint32_t >& getWeddingBGMIdList() - { - if( m_WeddingBGMIdList.size() == 0 ) + return m_WeatherRateIdList; +} +const std::set< uint32_t >& getWeddingBGMIdList() +{ + if( m_WeddingBGMIdList.size() == 0 ) loadIdList( m_WeddingBGMDat, m_WeddingBGMIdList ); - return m_WeddingBGMIdList; - } - - const std::set< uint32_t >& getWeeklyBingoOrderDataIdList() - { - if( m_WeeklyBingoOrderDataIdList.size() == 0 ) + return m_WeddingBGMIdList; +} +const std::set< uint32_t >& getWeeklyBingoOrderDataIdList() +{ + if( m_WeeklyBingoOrderDataIdList.size() == 0 ) loadIdList( m_WeeklyBingoOrderDataDat, m_WeeklyBingoOrderDataIdList ); - return m_WeeklyBingoOrderDataIdList; - } - - const std::set< uint32_t >& getWeeklyBingoRewardDataIdList() - { - if( m_WeeklyBingoRewardDataIdList.size() == 0 ) + return m_WeeklyBingoOrderDataIdList; +} +const std::set< uint32_t >& getWeeklyBingoRewardDataIdList() +{ + if( m_WeeklyBingoRewardDataIdList.size() == 0 ) loadIdList( m_WeeklyBingoRewardDataDat, m_WeeklyBingoRewardDataIdList ); - return m_WeeklyBingoRewardDataIdList; - } - - const std::set< uint32_t >& getWeeklyBingoTextIdList() - { - if( m_WeeklyBingoTextIdList.size() == 0 ) + return m_WeeklyBingoRewardDataIdList; +} +const std::set< uint32_t >& getWeeklyBingoTextIdList() +{ + if( m_WeeklyBingoTextIdList.size() == 0 ) loadIdList( m_WeeklyBingoTextDat, m_WeeklyBingoTextIdList ); - return m_WeeklyBingoTextIdList; - } - - const std::set< uint32_t >& getWorldIdList() - { - if( m_WorldIdList.size() == 0 ) + return m_WeeklyBingoTextIdList; +} +const std::set< uint32_t >& getWeeklyLotBonusIdList() +{ + if( m_WeeklyLotBonusIdList.size() == 0 ) + loadIdList( m_WeeklyLotBonusDat, m_WeeklyLotBonusIdList ); + return m_WeeklyLotBonusIdList; +} +const std::set< uint32_t >& getWorldIdList() +{ + if( m_WorldIdList.size() == 0 ) loadIdList( m_WorldDat, m_WorldIdList ); - return m_WorldIdList; - } - - const std::set< uint32_t >& getWorldDCGroupTypeIdList() - { - if( m_WorldDCGroupTypeIdList.size() == 0 ) + return m_WorldIdList; +} +const std::set< uint32_t >& getWorldDCGroupTypeIdList() +{ + if( m_WorldDCGroupTypeIdList.size() == 0 ) loadIdList( m_WorldDCGroupTypeDat, m_WorldDCGroupTypeIdList ); - return m_WorldDCGroupTypeIdList; - } - - const std::set< uint32_t >& getYKWIdList() - { - if( m_YKWIdList.size() == 0 ) + return m_WorldDCGroupTypeIdList; +} +const std::set< uint32_t >& getYKWIdList() +{ + if( m_YKWIdList.size() == 0 ) loadIdList( m_YKWDat, m_YKWIdList ); - return m_YKWIdList; - } - - const std::set< uint32_t >& getZoneSharedGroupIdList() - { - if( m_ZoneSharedGroupIdList.size() == 0 ) + return m_YKWIdList; +} +const std::set< uint32_t >& getZoneSharedGroupIdList() +{ + if( m_ZoneSharedGroupIdList.size() == 0 ) loadIdList( m_ZoneSharedGroupDat, m_ZoneSharedGroupIdList ); - return m_ZoneSharedGroupIdList; - } + return m_ZoneSharedGroupIdList; +} -}; + }; } } diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 6ea8426d..de799ab3 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -197,7 +197,7 @@ enum ServerZoneIpcType : // Unknown IPC types that still need to be sent // TODO: figure all these out properly - IPCTYPE_UNK_320 = 0x0248, // updated 4.4 + IPCTYPE_UNK_320 = 0x0249, // updated 4.4 IPCTYPE_UNK_322 = 0x024B, // updated 4.4 }; @@ -249,40 +249,40 @@ enum ClientZoneIpcType : ReqJoinNoviceNetwork = 0x0129, // updated 4.2 - ReqCountdownInitiate = 0x0138, // updated 4.3 - ReqCountdownCancel = 0x0139, // updated 4.3 - ClearWaymarks = 0x013A, // updated 4.3 + ReqCountdownInitiate = 0x012F, // updated 4.4 + ReqCountdownCancel = 0x0130, // updated 4.4 + ClearWaymarks = 0x0131, // updated 4.4 - ZoneLineHandler = 0x013C, // updated 4.3 - ClientTrigger = 0x013D, // updated 4.3 - DiscoveryHandler = 0x013E, // updated 4.3 + ZoneLineHandler = 0x0133, // updated 4.4 + ClientTrigger = 0x0134, // updated 4.4 was 13D in 4.3 + DiscoveryHandler = 0x0135, // updated 4.4 AddWaymark = 0x013F, // updated 4.3 - SkillHandler = 0x0140, // updated 4.3 - GMCommand1 = 0x0141, // updated 4.3 - GMCommand2 = 0x0142, // updated 4.3 + SkillHandler = 0x0137, // updated 4.4 + GMCommand1 = 0x0138, // updated 4.4 + GMCommand2 = 0x0139, // updated 4.4 - UpdatePositionHandler = 0x0144, // updated 4.3 + UpdatePositionHandler = 0x013B, // updated 4.4 was 144 UpdatePositionInstance = 0x0183, // updated 4.3 - InventoryModifyHandler = 0x014B, // updated 4.3 + InventoryModifyHandler = 0x0142, // updated 4.4 - TalkEventHandler = 0x0154, // updated 4.3 - EmoteEventHandler = 0x0155, // updated 4.3 - WithinRangeEventHandler = 0x0156, // updated 4.3 - OutOfRangeEventHandler = 0x0157, // updated 4.3 - EnterTeriEventHandler = 0x0158, // updated 4.3 + TalkEventHandler = 0x014B, // updated 4.4 + EmoteEventHandler = 0x014C, // updated 4.4 + WithinRangeEventHandler = 0x014D, // updated 4.4 + OutOfRangeEventHandler = 0x014E, // updated 4.4 + EnterTeriEventHandler = 0x014F, // updated 4.4 - ReturnEventHandler = 0x015D, // updated 4.3 - TradeReturnEventHandler = 0x015E, // updated 4.3 + ReturnEventHandler = 0x0154, // updated 4.4 + TradeReturnEventHandler = 0x0155, // updated 4.4 LinkshellEventHandler = 0x0150, // updated 4.1 ?? LinkshellEventHandler1 = 0x0151, // updated 4.1 ?? PerformNoteHandler = 0x029B, // updated 4.3 - ReqEquipDisplayFlagsChange = 0x0178, // updated 4.3 + ReqEquipDisplayFlagsChange = 0x016F, // updated 4.4 }; diff --git a/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h b/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h index 05132749..a135a9cf 100644 --- a/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h +++ b/src/common/Network/PacketDef/Lobby/ServerLobbyDef.h @@ -59,8 +59,7 @@ struct FFXIVIpcServerList : } server[6]; }; -struct FFXIVIpcCharList : - FFXIVIpcBasePacket< LobbyCharList > +struct FFXIVIpcCharList : FFXIVIpcBasePacket< LobbyCharList > { uint64_t seq; uint8_t counter; // current packet count * 4, count * 4 +1 on last packet. @@ -82,6 +81,8 @@ struct FFXIVIpcCharList : uint16_t unknown8; uint32_t entitledExpansion; uint32_t padding2; + uint32_t padding3; + uint32_t padding4; struct CharaDetails { @@ -92,16 +93,16 @@ struct FFXIVIpcCharList : uint32_t padding2; uint16_t serverId; uint16_t serverId1; + uint8_t unknown[9]; char nameChara[32]; char nameServer[32]; char nameServer1[32]; - char charDetailJson[1028]; + char charDetailJson[1051]; } charaDetails[2]; }; -struct FFXIVIpcEnterWorld : - FFXIVIpcBasePacket< LobbyEnterWorld > +struct FFXIVIpcEnterWorld : FFXIVIpcBasePacket< LobbyEnterWorld > { uint64_t seq; uint32_t charId; @@ -115,8 +116,7 @@ struct FFXIVIpcEnterWorld : uint64_t padding4; }; -struct FFXIVIpcCharCreate : - FFXIVIpcBasePacket< LobbyCharCreate > +struct FFXIVIpcCharCreate : FFXIVIpcBasePacket< LobbyCharCreate > { uint64_t seq; uint8_t unknown; @@ -126,17 +126,23 @@ struct FFXIVIpcCharCreate : uint32_t unknown_3; uint32_t unknown_4; uint32_t unknown_5; + uint64_t unknown_6; + uint64_t unknown_61; + uint64_t unknown_62; + uint64_t unknown_63; uint64_t content_id; uint16_t unknown_7; uint16_t unknown_8; uint32_t unknown_9; uint16_t unknown_10; + uint8_t unknown_11[11]; char name[32]; char world[32]; + char world2[32]; + uint8_t unknown_12[0x953]; }; -struct FFXIVIpcLobbyError : - FFXIVIpcBasePacket< LobbyError > +struct FFXIVIpcLobbyError : FFXIVIpcBasePacket< LobbyError > { uint64_t seq; uint32_t error_id; diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 83c639cf..038c7b3f 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -716,6 +716,9 @@ struct FFXIVIpcInitZone : uint16_t festivalId; uint16_t additionalFestivalId; uint32_t unknown8; + uint32_t unknown9; + uint32_t unknown10; + uint32_t unknown11; Common::FFXIVARR_POSITION3 pos; }; diff --git a/src/servers/sapphire_api/PlayerMinimal.cpp b/src/servers/sapphire_api/PlayerMinimal.cpp index cb2006e7..c79b2f28 100644 --- a/src/servers/sapphire_api/PlayerMinimal.cpp +++ b/src/servers/sapphire_api/PlayerMinimal.cpp @@ -100,11 +100,11 @@ std::string PlayerMinimal::getLookString() std::string PlayerMinimal::getModelString() { std::string modelString = "\"" + + std::to_string( m_modelEquip[ 0 ] ) + "\",\"" + + std::to_string( m_modelEquip[ 1 ] ) + "\",\"" + std::to_string( m_modelEquip[ 2 ] ) + "\",\"" + std::to_string( m_modelEquip[ 3 ] ) + "\",\"" - + std::to_string( m_modelEquip[ 4 ] ) + "\",\"" - + std::to_string( m_modelEquip[ 6 ] ) + "\",\"" - + std::to_string( m_modelEquip[ 7 ] ) + "\",\"5\",\"6\",\"7\",\"8\",\"9\""; + + std::to_string( m_modelEquip[ 4 ] ) + "\",\"5\",\"6\",\"7\",\"8\",\"9\""; return modelString; } diff --git a/src/servers/sapphire_lobby/GameConnection.cpp b/src/servers/sapphire_lobby/GameConnection.cpp index ce47eee1..688d0b04 100644 --- a/src/servers/sapphire_lobby/GameConnection.cpp +++ b/src/servers/sapphire_lobby/GameConnection.cpp @@ -163,11 +163,14 @@ void Core::Network::GameConnection::getCharList( FFXIVARR_PACKET_RAW& packet, ui details.uniqueId = get< 1 >( charEntry ); details.contentId = get< 2 >( charEntry ); details.serverId = g_serverLobby.getConfig()->getValue< uint16_t >( "Lobby.WorldID", 1 ); + details.serverId1 = g_serverLobby.getConfig()->getValue< uint16_t >( "Lobby.WorldID", 1 ); details.index = charIndex; strcpy( details.charDetailJson, get< 3 >( charEntry ).c_str() ); strcpy( details.nameChara, get< 0 >( charEntry ).c_str() ); strcpy( details.nameServer, g_serverLobby.getConfig()->getValue< std::string >( "Lobby.WorldName", "Sapphire" ).c_str() ); + strcpy( details.nameServer1, + g_serverLobby.getConfig()->getValue< std::string >( "Lobby.WorldName", "Sapphire" ).c_str() ); charListPacket->data().charaDetails[ j ] = details; @@ -342,6 +345,8 @@ bool Core::Network::GameConnection::createOrModifyChar( FFXIVARR_PACKET_RAW& pac strcpy( charCreatePacket->data().name, name.c_str() ); strcpy( charCreatePacket->data().world, g_serverLobby.getConfig()->getValue< std::string >( "Lobby.WorldName", "Sapphire" ).c_str() ); + strcpy( charCreatePacket->data().world2, + g_serverLobby.getConfig()->getValue< std::string >( "Lobby.WorldName", "Sapphire" ).c_str() ); charCreatePacket->data().type = 2; charCreatePacket->data().seq = sequence; charCreatePacket->data().unknown = 1; diff --git a/src/servers/sapphire_zone/Event/EventHelper.cpp b/src/servers/sapphire_zone/Event/EventHelper.cpp index fc8fc3f4..467c9c58 100644 --- a/src/servers/sapphire_zone/Event/EventHelper.cpp +++ b/src/servers/sapphire_zone/Event/EventHelper.cpp @@ -96,7 +96,7 @@ uint32_t Core::Event::mapEventActorToRealActor( uint32_t eventActorId ) auto pExdData = g_fw.get< Data::ExdDataGenerated >(); auto levelInfo = pExdData->get< Core::Data::Level >( eventActorId ); if( levelInfo ) - return levelInfo->objectKey; + return levelInfo->object; return 0; } diff --git a/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp index f1f8c2ef..df03db4f 100644 --- a/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp @@ -77,7 +77,7 @@ void Core::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_PACK if( !cfCondition ) return; - auto instance = pTeriMgr->createInstanceContent( cfCondition->instanceContent ); + auto instance = pTeriMgr->createInstanceContent( cfCondition->content ); if( !instance ) return; From c12648e495269da3db3a88a0039f080a25c22b68 Mon Sep 17 00:00:00 2001 From: Mordred Date: Tue, 18 Sep 2018 23:23:18 +0200 Subject: [PATCH 02/45] Fixed initui --- src/common/Network/PacketDef/Ipcs.h | 2 +- .../Network/PacketDef/Zone/ServerZoneDef.h | 34 ++++++++----------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index de799ab3..08ec79b4 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -275,7 +275,7 @@ enum ClientZoneIpcType : EnterTeriEventHandler = 0x014F, // updated 4.4 ReturnEventHandler = 0x0154, // updated 4.4 - TradeReturnEventHandler = 0x0155, // updated 4.4 + TradeReturnEventHandler = 0x0155, // updated 4.4 LinkshellEventHandler = 0x0150, // updated 4.1 ?? LinkshellEventHandler1 = 0x0151, // updated 4.1 ?? diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 038c7b3f..3bbf5a1a 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -691,8 +691,7 @@ struct FFXIVIpcUpdateClassInfo : * Structural representation of the packet sent by the server * to send the titles available to the player */ -struct FFXIVIpcPlayerTitleList : - FFXIVIpcBasePacket< PlayerTitleList > +struct FFXIVIpcPlayerTitleList : FFXIVIpcBasePacket< PlayerTitleList > { uint8_t titleList[48]; }; @@ -701,8 +700,7 @@ struct FFXIVIpcPlayerTitleList : * Structural representation of the packet sent by the server * to initialize a zone for the player */ -struct FFXIVIpcInitZone : - FFXIVIpcBasePacket< InitZone > +struct FFXIVIpcInitZone : FFXIVIpcBasePacket< InitZone > { uint16_t serverId; uint16_t zoneId; @@ -727,8 +725,7 @@ struct FFXIVIpcInitZone : * Structural representation of the packet sent by the server to initialize * the client UI upon initial connection. */ -struct FFXIVIpcInitUI : - FFXIVIpcBasePacket< InitUI > +struct FFXIVIpcInitUI : FFXIVIpcBasePacket< InitUI > { // plain C types for a bit until the packet is actually fixed. // makes conversion between different editors easier. @@ -759,11 +756,11 @@ struct FFXIVIpcInitUI : unsigned short unknown5E; unsigned short pvpFrontlineWeeklyCampaigns; unsigned short enhancedAnimaGlassProgress; - unsigned short unknown64[4]; // needs confirmation, probably pvp total/weeklies + unsigned short unknown64[4]; unsigned short pvpRivalWingsTotalMatches; unsigned short pvpRivalWingsTotalVictories; - unsigned short pvpRivalWingsWeeklyMatches; // needs confirmation - unsigned short pvpRivalWingsWeeklyVictories; // needs confirmation + unsigned short pvpRivalWingsWeeklyMatches; + unsigned short pvpRivalWingsWeeklyVictories; unsigned char maxLevel; unsigned char expansion; unsigned char unknown76; @@ -813,7 +810,7 @@ struct FFXIVIpcInitUI : unsigned char companionDefRank; unsigned char companionAttRank; unsigned char companionHealRank; - unsigned char mountGuideMask[16]; + unsigned char mountGuideMask[17]; char name[32]; unsigned char unknownOword[16]; unsigned char unknown258; @@ -821,9 +818,9 @@ struct FFXIVIpcInitUI : unsigned char aetheryte[17]; unsigned char discovery[421]; unsigned char howto[33]; - unsigned char minions[38]; + unsigned char minions[40]; unsigned char chocoboTaxiMask[8]; - unsigned char watchedCutscenes[111]; + unsigned char watchedCutscenes[115]; unsigned char companionBardingMask[9]; unsigned char companionEquippedHead; unsigned char companionEquippedBody; @@ -843,12 +840,12 @@ struct FFXIVIpcInitUI : unsigned char unknownMask5C4[3]; unsigned char unknown5C9[2]; unsigned char challengeLogComplete[9]; - unsigned char unknown5D4[9]; + unsigned char unknown5D4[11]; unsigned char unknownMask5DD[28]; unsigned char relicCompletion[12]; unsigned char sightseeingMask[26]; unsigned char huntingMarkMask[55]; - unsigned char tripleTriadCards[29]; + unsigned char tripleTriadCards[30]; unsigned char unknownMask673[10]; unsigned char unknown67D; unsigned char aetherCurrentMask[22]; @@ -856,18 +853,17 @@ struct FFXIVIpcInitUI : unsigned char orchestrionMask[40]; unsigned char hallOfNoviceCompleteMask[3]; unsigned char animaCompletion[11]; - unsigned char unknown6CD[3]; - unsigned char unknownMask6C0[11]; - unsigned char unknownMask6DB[13]; + unsigned char unknown6CD[16]; + unsigned char unknownMask6DB[11]; unsigned char unlockedRaids[28]; unsigned char unlockedDungeons[18]; unsigned char unlockedGuildhests[10]; - unsigned char unlockedTrials[7]; + unsigned char unlockedTrials[8]; unsigned char unlockedPvp[5]; unsigned char clearedRaids[28]; unsigned char clearedDungeons[18]; unsigned char clearedGuildhests[10]; - unsigned char clearedTrials[7]; + unsigned char clearedTrials[8]; unsigned char clearedPvp[5]; }; From e2eb625e5933fba6a5bdebbb12e411e325d8a7df Mon Sep 17 00:00:00 2001 From: Mordred <30826167+SapphireMordred@users.noreply.github.com> Date: Wed, 19 Sep 2018 14:06:56 +0200 Subject: [PATCH 03/45] Updated field sizes in update.sql --- sql/update.sql | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sql/update.sql b/sql/update.sql index bd8873d2..43b36def 100644 --- a/sql/update.sql +++ b/sql/update.sql @@ -43,11 +43,12 @@ MODIFY COLUMN UPDATE_DATE DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURR ALTER TABLE charainfo ADD `Orchestrion` binary(38) DEFAULT NULL AFTER `Mounts`; -ALTER TABLE `charainfo` CHANGE `Mounts` `Mounts` BINARY(15) NULL DEFAULT NULL; +ALTER TABLE `charainfo` CHANGE `Mounts` `Mounts` BINARY(17) NULL DEFAULT NULL; ALTER TABLE `charainfo` CHANGE `Orchestrion` `Orchestrion` BINARY(40) NULL DEFAULT NULL; -ALTER TABLE `charainfo` CHANGE `Minions` `Minions` BINARY(37) NULL DEFAULT NULL; +ALTER TABLE `charainfo` CHANGE `Minions` `Minions` BINARY(40) NULL DEFAULT NULL; ALTER TABLE `charainfo` CHANGE `QuestCompleteFlags` `QuestCompleteFlags` VARBINARY(396) NULL DEFAULT NULL; +ALTER TABLE `charainfo` CHANGE `Aetheryte` `Minions` BINARY(17) NULL DEFAULT NULL; ALTER TABLE `charainfo` ADD COLUMN `EquipDisplayFlags` INT(3) NULL DEFAULT '0' AFTER `GMRank`; ALTER TABLE `charainfo` ADD COLUMN `Pose` INT(3) NULL DEFAULT '0' AFTER `EquipDisplayFlags`; -ALTER TABLE `characlass` DROP PRIMARY KEY, ADD INDEX `CharacterId` (`CharacterId`); \ No newline at end of file +ALTER TABLE `characlass` DROP PRIMARY KEY, ADD INDEX `CharacterId` (`CharacterId`); From a3661c9d89d21fb7baa58430f09a9c17298b730d Mon Sep 17 00:00:00 2001 From: Mordred <30826167+SapphireMordred@users.noreply.github.com> Date: Wed, 19 Sep 2018 14:07:38 +0200 Subject: [PATCH 04/45] Updated field sizes in player.h --- src/servers/sapphire_zone/Actor/Player.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/servers/sapphire_zone/Actor/Player.h b/src/servers/sapphire_zone/Actor/Player.h index 0821f7f4..75306a01 100644 --- a/src/servers/sapphire_zone/Actor/Player.h +++ b/src/servers/sapphire_zone/Actor/Player.h @@ -953,8 +953,8 @@ private: uint16_t m_activeTitle; uint8_t m_titleList[48]; uint8_t m_howTo[33]; - uint8_t m_minions[37]; - uint8_t m_mountGuide[15]; + uint8_t m_minions[40]; + uint8_t m_mountGuide[17]; uint8_t m_homePoint; uint8_t m_startTown; uint16_t m_townWarpFstFlags; From 625487737d134f7a2ce657b876d62d953e99881d Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Wed, 19 Sep 2018 22:25:14 +1000 Subject: [PATCH 05/45] Fixed Gmrank in playerspawn --- src/common/Network/PacketDef/Zone/ServerZoneDef.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 3bbf5a1a..d6bccdbd 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -446,10 +446,10 @@ struct FFXIVIpcPlayerSpawn : uint16_t u1b; uint8_t u2b; uint8_t u2ab; - uint8_t gmRank; + uint8_t u3a; uint8_t u3b; - uint8_t u3a; + uint8_t gmRank; uint8_t onlineStatus; uint8_t u3c; uint8_t pose; From cec5d3122911b437e1fd3ceef14c9656368cdb62 Mon Sep 17 00:00:00 2001 From: Mordred <30826167+SapphireMordred@users.noreply.github.com> Date: Wed, 19 Sep 2018 14:58:11 +0200 Subject: [PATCH 06/45] Fixed ActorCast opcode --- src/common/Network/PacketDef/Ipcs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index 08ec79b4..42166f17 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -119,7 +119,7 @@ enum ServerZoneIpcType : ActorMove = 0x0170, // updated 4.4 ActorSetPos = 0x0172, // updated 4.4 - ActorCast = 0x0170, // updated 4.4 + ActorCast = 0x0174, // updated 4.4 PartyList = 0x0176, // updated 4.4 HateList = 0x0177, // updated 4.4 From 953affede17bd8e7b5f5f74d881f2995ebc3fc6a Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Wed, 19 Sep 2018 23:53:34 +1000 Subject: [PATCH 07/45] Fix InitZone bitmask and add my findings --- src/common/Network/PacketDef/Zone/ServerZoneDef.h | 4 ++-- src/servers/sapphire_zone/Actor/Player.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index d6bccdbd..11993119 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -709,8 +709,8 @@ struct FFXIVIpcInitZone : FFXIVIpcBasePacket< InitZone > uint32_t unknown3; uint32_t unknown4; uint8_t weatherId; - uint8_t bitmask; - uint16_t unknown5; + uint16_t bitmask; + uint8_t unknown5; uint16_t festivalId; uint16_t additionalFestivalId; uint32_t unknown8; diff --git a/src/servers/sapphire_zone/Actor/Player.cpp b/src/servers/sapphire_zone/Actor/Player.cpp index 144fd847..2297d889 100644 --- a/src/servers/sapphire_zone/Actor/Player.cpp +++ b/src/servers/sapphire_zone/Actor/Player.cpp @@ -1561,7 +1561,7 @@ void Core::Entity::Player::sendZonePackets() auto initZonePacket = makeZonePacket< FFXIVIpcInitZone >( getId() ); initZonePacket->data().zoneId = getCurrentZone()->getTerritoryId(); initZonePacket->data().weatherId = static_cast< uint8_t >( getCurrentZone()->getCurrentWeather() ); - initZonePacket->data().bitmask = 0x1; + initZonePacket->data().bitmask = 0x1; //Setting this to 16 makes it so you can fly in the area (more research needed!) initZonePacket->data().unknown5 = 0x2A; initZonePacket->data().festivalId = getCurrentZone()->getCurrentFestival().first; initZonePacket->data().additionalFestivalId = getCurrentZone()->getCurrentFestival().second; From b96ee1aeba11262f604efdfff11d7fa44c4e7262 Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Thu, 20 Sep 2018 00:00:01 +1000 Subject: [PATCH 08/45] Should probs mention it's decimal not hex --- src/servers/sapphire_zone/Actor/Player.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/servers/sapphire_zone/Actor/Player.cpp b/src/servers/sapphire_zone/Actor/Player.cpp index 2297d889..6efdf86a 100644 --- a/src/servers/sapphire_zone/Actor/Player.cpp +++ b/src/servers/sapphire_zone/Actor/Player.cpp @@ -1561,7 +1561,7 @@ void Core::Entity::Player::sendZonePackets() auto initZonePacket = makeZonePacket< FFXIVIpcInitZone >( getId() ); initZonePacket->data().zoneId = getCurrentZone()->getTerritoryId(); initZonePacket->data().weatherId = static_cast< uint8_t >( getCurrentZone()->getCurrentWeather() ); - initZonePacket->data().bitmask = 0x1; //Setting this to 16 makes it so you can fly in the area (more research needed!) + initZonePacket->data().bitmask = 0x1; //Setting this to 16 (deciaml) makes it so you can fly in the area (more research needed!) initZonePacket->data().unknown5 = 0x2A; initZonePacket->data().festivalId = getCurrentZone()->getCurrentFestival().first; initZonePacket->data().additionalFestivalId = getCurrentZone()->getCurrentFestival().second; From ea466241480d3acebea7e33507d2a9089baab0c6 Mon Sep 17 00:00:00 2001 From: Mordred Date: Wed, 19 Sep 2018 23:04:23 +0200 Subject: [PATCH 09/45] Fixed !instance cr, it now takes contentfindercondition ids as input though --- src/common/Exd/ExdDataGenerated.cpp | 2 +- src/common/Exd/ExdDataGenerated.h | 2 +- .../sapphire_zone/Network/Handlers/CFHandlers.cpp | 4 ++-- src/servers/sapphire_zone/Zone/InstanceContent.cpp | 3 ++- src/servers/sapphire_zone/Zone/InstanceContent.h | 1 + src/servers/sapphire_zone/Zone/TerritoryMgr.cpp | 14 ++++++++++---- src/servers/sapphire_zone/Zone/TerritoryMgr.h | 2 +- 7 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/common/Exd/ExdDataGenerated.cpp b/src/common/Exd/ExdDataGenerated.cpp index edd86806..dbbd6e37 100644 --- a/src/common/Exd/ExdDataGenerated.cpp +++ b/src/common/Exd/ExdDataGenerated.cpp @@ -1247,7 +1247,7 @@ Core::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, Cor auto row = exdData->m_ContentFinderConditionDat.get_row( row_id ); territoryType = exdData->getField< uint16_t >( row, 1 ); contentLinkType = exdData->getField< uint8_t >( row, 2 ); - content = exdData->getField< uint16_t >( row, 3 ); + instanceContent = exdData->getField< uint16_t >( row, 3 ); contentMemberType = exdData->getField< uint8_t >( row, 9 ); classJobLevelRequired = exdData->getField< uint8_t >( row, 15 ); classJobLevelSync = exdData->getField< uint8_t >( row, 16 ); diff --git a/src/common/Exd/ExdDataGenerated.h b/src/common/Exd/ExdDataGenerated.h index db3d2a8e..780e9bf1 100644 --- a/src/common/Exd/ExdDataGenerated.h +++ b/src/common/Exd/ExdDataGenerated.h @@ -1551,7 +1551,7 @@ struct ContentFinderCondition { uint16_t territoryType; uint8_t contentLinkType; - uint16_t content; + uint16_t instanceContent; uint8_t contentMemberType; uint8_t classJobLevelRequired; uint8_t classJobLevelSync; diff --git a/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp index df03db4f..a1c76163 100644 --- a/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp @@ -77,12 +77,12 @@ void Core::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_PACK if( !cfCondition ) return; - auto instance = pTeriMgr->createInstanceContent( cfCondition->content ); + auto instance = pTeriMgr->createInstanceContent( cfCondition->instanceContent ); if( !instance ) return; auto pInstance = instance->getAsInstanceContent(); - pInstance->bindPlayer( player.getId() ); +a pInstance->bindPlayer( player.getId() ); player.sendDebug( "Created instance with id: " + std::to_string( instance->getGuId() ) ); diff --git a/src/servers/sapphire_zone/Zone/InstanceContent.cpp b/src/servers/sapphire_zone/Zone/InstanceContent.cpp index 860dbdf6..5e04a430 100644 --- a/src/servers/sapphire_zone/Zone/InstanceContent.cpp +++ b/src/servers/sapphire_zone/Zone/InstanceContent.cpp @@ -30,12 +30,13 @@ using namespace Core::Network::Packets::Server; using namespace Core::Network::ActorControl; Core::InstanceContent::InstanceContent( boost::shared_ptr< Core::Data::InstanceContent > pInstanceConfiguration, + uint16_t territoryType, uint32_t guId, const std::string& internalName, const std::string& contentName, uint32_t instanceContentId ) : - Zone( static_cast< uint16_t >( pInstanceConfiguration->territoryType ), guId, internalName, contentName ), + Zone( static_cast< uint16_t >( territoryType ), guId, internalName, contentName ), Director( Event::Director::InstanceContent, instanceContentId ), m_instanceConfiguration( pInstanceConfiguration ), m_instanceContentId( instanceContentId ), diff --git a/src/servers/sapphire_zone/Zone/InstanceContent.h b/src/servers/sapphire_zone/Zone/InstanceContent.h index f451e0b6..7d4bc945 100644 --- a/src/servers/sapphire_zone/Zone/InstanceContent.h +++ b/src/servers/sapphire_zone/Zone/InstanceContent.h @@ -22,6 +22,7 @@ public: }; InstanceContent( boost::shared_ptr< Core::Data::InstanceContent > pInstanceConfiguration, + uint16_t territoryType, uint32_t guId, const std::string& internalName, const std::string& contentName, diff --git a/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp b/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp index 65e5f964..773a00b9 100644 --- a/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp +++ b/src/servers/sapphire_zone/Zone/TerritoryMgr.cpp @@ -218,17 +218,23 @@ Core::ZonePtr Core::TerritoryMgr::createTerritoryInstance( uint32_t territoryTyp return pZone; } -Core::ZonePtr Core::TerritoryMgr::createInstanceContent( uint32_t instanceContentId ) +Core::ZonePtr Core::TerritoryMgr::createInstanceContent( uint32_t contentFinderConditionId ) { + auto pExdData = g_fw.get< Data::ExdDataGenerated >(); + auto pContentFinderCondition = pExdData->get< Core::Data::ContentFinderCondition >( contentFinderConditionId ); + if( !pContentFinderCondition ) + return nullptr; + auto instanceContentId = pContentFinderCondition->instanceContent; + auto pInstanceContent = pExdData->get< Core::Data::InstanceContent >( instanceContentId ); if( !pInstanceContent ) return nullptr; - if( !isInstanceContentTerritory( pInstanceContent->territoryType ) ) + if( !isInstanceContentTerritory( pContentFinderCondition->territoryType ) ) return nullptr; - auto pTeri = getTerritoryDetail( pInstanceContent->territoryType ); + auto pTeri = getTerritoryDetail( pContentFinderCondition->territoryType ); if( !pTeri || pInstanceContent->name.empty() ) return nullptr; @@ -237,7 +243,7 @@ Core::ZonePtr Core::TerritoryMgr::createInstanceContent( uint32_t instanceConten pLog->debug( "Starting instance for InstanceContent id: " + std::to_string( instanceContentId ) + " (" + pInstanceContent->name + ")" ); - auto pZone = make_InstanceContent( pInstanceContent, getNextInstanceId(), + auto pZone = make_InstanceContent( pInstanceContent, pContentFinderCondition->territoryType, getNextInstanceId(), pTeri->name, pInstanceContent->name, instanceContentId ); pZone->init(); diff --git a/src/servers/sapphire_zone/Zone/TerritoryMgr.h b/src/servers/sapphire_zone/Zone/TerritoryMgr.h index 50954a7a..8519ad48 100644 --- a/src/servers/sapphire_zone/Zone/TerritoryMgr.h +++ b/src/servers/sapphire_zone/Zone/TerritoryMgr.h @@ -95,7 +95,7 @@ public: /*! creates a new instance for a given territoryTypeId */ ZonePtr createTerritoryInstance( uint32_t territoryTypeId ); - ZonePtr createInstanceContent( uint32_t instanceContentId ); + ZonePtr createInstanceContent( uint32_t contentFinderConditionId ); /*! removes instance by instanceId, return true if successful */ bool removeTerritoryInstance( uint32_t territoryTypeId ); From 7bd63181676440e75314d691bc82293298c7c7cf Mon Sep 17 00:00:00 2001 From: Mordred Date: Wed, 19 Sep 2018 23:26:36 +0200 Subject: [PATCH 10/45] Build fix --- src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp index a1c76163..f1f8c2ef 100644 --- a/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp @@ -82,7 +82,7 @@ void Core::Network::GameConnection::cfRegisterDuty( const Packets::FFXIVARR_PACK return; auto pInstance = instance->getAsInstanceContent(); -a pInstance->bindPlayer( player.getId() ); + pInstance->bindPlayer( player.getId() ); player.sendDebug( "Created instance with id: " + std::to_string( instance->getGuId() ) ); From 06abc5f33d3ea4c711b2f3e0809abc566d0105d5 Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Fri, 21 Sep 2018 01:59:45 +1000 Subject: [PATCH 11/45] Lobby now shows correct info for everything --- src/common/Database/ZoneDbConnection.cpp | 4 +- src/servers/sapphire_api/PlayerMinimal.cpp | 45 ++++++++++++++++++---- src/servers/sapphire_api/PlayerMinimal.h | 8 ++++ 3 files changed, 48 insertions(+), 9 deletions(-) diff --git a/src/common/Database/ZoneDbConnection.cpp b/src/common/Database/ZoneDbConnection.cpp index cf9d9e8c..0db28603 100644 --- a/src/common/Database/ZoneDbConnection.cpp +++ b/src/common/Database/ZoneDbConnection.cpp @@ -50,8 +50,8 @@ void Core::Db::ZoneDbConnection::doPrepareStatements() "CFPenaltyUntil = ?, Pose = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); - prepareStatement( CHARA_SEL_MINIMAL, "SELECT Name, Customize, ModelEquip, TerritoryId, GuardianDeity, " - "Class, ContentId, BirthDay, BirthMonth " + prepareStatement( CHARA_SEL_MINIMAL, "SELECT Name, Customize, ModelMainWeapon, ModelSubWeapon, ModelEquip, TerritoryId, GuardianDeity, " + "Class, ContentId, BirthDay, BirthMonth, EquipDisplayFlags " "FROM charainfo WHERE CharacterId = ?;", CONNECTION_SYNC ); prepareStatement( CHARA_INS, "INSERT INTO charainfo (AccountId, CharacterId, ContentId, Name, Hp, Mp, " diff --git a/src/servers/sapphire_api/PlayerMinimal.cpp b/src/servers/sapphire_api/PlayerMinimal.cpp index c79b2f28..9440a096 100644 --- a/src/servers/sapphire_api/PlayerMinimal.cpp +++ b/src/servers/sapphire_api/PlayerMinimal.cpp @@ -55,12 +55,16 @@ void PlayerMinimal::load( uint32_t charId ) auto modelEquip = res->getBlobVector( "ModelEquip" ); memcpy( ( char* ) m_modelEquip, modelEquip.data(), modelEquip.size() ); + m_modelMainWeapon = res->getUInt64( "ModelMainWeapon" ); + m_modelSubWeapon = res->getUInt64( "ModelSubWeapon" ); + m_equipDisplayFlags = res->getUInt8( "EquipDisplayFlags" ); + setBirthDay( res->getUInt8( "BirthDay" ), res->getUInt8( "BirthMonth" ) ); m_guardianDeity = res->getUInt8( "GuardianDeity" ); m_class = res->getUInt8( "Class" ); m_contentId = res->getUInt64( "ContentId" ); - m_zoneId = res->getUInt8( "TerritoryId" ); + m_zoneId = res->getUInt16( "TerritoryId" ); // SELECT ClassIdx, Exp, Lvl auto stmtClass = g_charaDb.getPreparedStatement( Db::ZoneDbStatements::CHARA_SEL_MINIMAL ); @@ -104,15 +108,20 @@ std::string PlayerMinimal::getModelString() + std::to_string( m_modelEquip[ 1 ] ) + "\",\"" + std::to_string( m_modelEquip[ 2 ] ) + "\",\"" + std::to_string( m_modelEquip[ 3 ] ) + "\",\"" - + std::to_string( m_modelEquip[ 4 ] ) + "\",\"5\",\"6\",\"7\",\"8\",\"9\""; + + std::to_string( m_modelEquip[ 4 ] ) + "\",\"" + + std::to_string( m_modelEquip[ 5 ] ) + "\",\"" + + std::to_string( m_modelEquip[ 6 ] ) + "\",\"" + + std::to_string( m_modelEquip[ 7 ] ) + "\",\"" + + std::to_string( m_modelEquip[ 8 ] ) + "\",\"" + + std::to_string( m_modelEquip[ 9 ] ) + "\""; return modelString; } std::string PlayerMinimal::getInfoJson() { std::string charDetails = "{\"content\":[\"" + std::string( getName() ) + "\"," + - //"[" + getClassString() + "]," + - "[\"0\",\"0\",\"0\",\"0\",\"0\",\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"]," + "[\"0\",\"0\",\"0\",\"0\",\"" + std::to_string( getClassLevel( m_class ) ) + + "\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"]," "\"0\",\"0\",\"0\",\"" + std::to_string( getBirthMonth() ) + "\",\"" + std::to_string( getBirthDay() ) + @@ -120,15 +129,37 @@ std::string PlayerMinimal::getInfoJson() "\",\"" + std::to_string( m_class ) + "\",\"0\",\"" + std::to_string( getZoneId() ) + "\",\"0\"," + - "[" + getLookString() + "]," + - "\"0\",\"0\"," + + "\"" + std::to_string( m_modelMainWeapon ) + "\",\"" + std::to_string( m_modelSubWeapon ) + "\"," + "[" + getModelString() + "]," + - "\"1\",\"0\",\"0\",\"0\",\"0\",\"0\",\"\",\"0\",\"0\"]," + + "\"1\",\"0\",\"0\",\"0\",\"" + std::to_string( m_equipDisplayFlags ) + + "\",\"0\",\"\",\"0\",\"0\"]," + "\"classname\":\"ClientSelectData\",\"classid\":116}"; return charDetails; } +uint16_t PlayerMinimal::getClassLevel(uint8_t classId) +{ + + auto stmtClass = g_charaDb.getPreparedStatement( Db::ZoneDbStatements::CHARA_CLASS_SEL ); + stmtClass->setInt( 1, m_id ); + + auto resClass = g_charaDb.query( stmtClass ); + + while( resClass->next() ) + { + auto classIdx = resClass->getUInt16( 1 ); + auto lvl = resClass->getUInt8( 3 ); + + if( classIdx == classId ) { + m_classLevel = lvl; + break; + } + + } + return m_classLevel; +} + std::string PlayerMinimal::getClassString() { diff --git a/src/servers/sapphire_api/PlayerMinimal.h b/src/servers/sapphire_api/PlayerMinimal.h index d9105a8b..e6907f10 100644 --- a/src/servers/sapphire_api/PlayerMinimal.h +++ b/src/servers/sapphire_api/PlayerMinimal.h @@ -31,6 +31,8 @@ public: std::string getClassString(); + uint16_t getClassLevel( uint8_t classId ); + // return the id of the actor uint32_t getId() const { @@ -177,6 +179,7 @@ private: uint8_t m_birthMonth; uint8_t m_birthDay; uint8_t m_class; + uint8_t m_classLevel; uint8_t m_voice; @@ -184,10 +187,15 @@ private: uint16_t m_zoneId; + uint64_t m_modelMainWeapon; + uint64_t m_modelSubWeapon; + uint8_t m_equipDisplayFlags; + std::map< uint8_t, uint8_t > m_lookMap; std::map< uint8_t, uint16_t > m_classMap; uint8_t m_look[26]; + uint8_t m_gmRank; bool m_gmInvis; From d8c71d69ca817c60e2f423d979cbf038951e5997 Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Fri, 21 Sep 2018 02:02:51 +1000 Subject: [PATCH 12/45] Gm teri will now tele to the main aetheryte if there is one in the zone --- .../Network/Handlers/GMCommandHandlers.cpp | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp index 7a9a23f3..b1cefd56 100644 --- a/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include @@ -455,10 +456,42 @@ void Core::Network::GameConnection::gm1Handler( const Packets::FFXIVARR_PACKET_R break; } - targetPlayer->setPos( targetPlayer->getPos() ); - targetPlayer->performZoning( param1, targetPlayer->getPos(), 0 ); + bool doTeleport = false; + uint16_t teleport; + + auto pExdData = g_fw.get< Data::ExdDataGenerated >(); + auto idList = pExdData->getAetheryteIdList(); + + for( auto i : idList ) + { + auto data = pExdData->get< Core::Data::Aetheryte >( i ); + + if( !data ) { + continue; + } + + if( data->territory == param1 ) { + if( data->isAetheryte ) { + { + doTeleport = true; + teleport = i; + break; + } + } + } + } + if( doTeleport ) + { + player.teleport( teleport ); + } + else + { + targetPlayer->setPos( targetPlayer->getPos() ); + targetPlayer->performZoning( param1, targetPlayer->getPos(), 0 ); + } + player.sendNotice( targetPlayer->getName() + " was warped to zone " + - std::to_string( param1 ) + " (" + pZone->getName() + ")" ); + std::to_string( param1 ) + " (" + pZone->getName() + ")" ); } break; } From 68d0fb7186cb4876e546b1183ea5a3b2e0fb62f9 Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Fri, 21 Sep 2018 02:03:10 +1000 Subject: [PATCH 13/45] Discov ref should be a debug, not notice --- src/servers/sapphire_zone/Network/Handlers/PacketHandlers.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/servers/sapphire_zone/Network/Handlers/PacketHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/PacketHandlers.cpp index 798e3d9a..b7067259 100644 --- a/src/servers/sapphire_zone/Network/Handlers/PacketHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/PacketHandlers.cpp @@ -365,7 +365,7 @@ void Core::Network::GameConnection::discoveryHandler( const Core::Network::Packe if( !pQR->next() ) { - player.sendNotice( "Discovery ref pos ID: " + std::to_string( positionRef ) + " not found. " ); + player.sendDebug( "Discovery ref pos ID: " + std::to_string( positionRef ) + " not found. " ); return; } @@ -374,7 +374,7 @@ void Core::Network::GameConnection::discoveryHandler( const Core::Network::Packe discoveryPacket->data().map_part_id = pQR->getUInt( 3 ); player.queuePacket( discoveryPacket ); - player.sendNotice( "Discovery ref pos ID: " + std::to_string( positionRef ) ); + player.sendDebug( "Discovery ref pos ID: " + std::to_string( positionRef ) ); player.discover( pQR->getUInt16( 2 ), pQR->getUInt16( 3 ) ); From 749490bb276a67a15741a0f354f993c1c0075ae8 Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Fri, 21 Sep 2018 02:06:00 +1000 Subject: [PATCH 14/45] I can already hear the screams of mordred shouting style --- .../sapphire_zone/Network/Handlers/GMCommandHandlers.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp index b1cefd56..ed02dd03 100644 --- a/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp @@ -491,7 +491,7 @@ void Core::Network::GameConnection::gm1Handler( const Packets::FFXIVARR_PACKET_R } player.sendNotice( targetPlayer->getName() + " was warped to zone " + - std::to_string( param1 ) + " (" + pZone->getName() + ")" ); + std::to_string( param1 ) + " (" + pZone->getName() + ")" ); } break; } From de6e87e0d7f515b2dc6000449de399d70ddff62b Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Fri, 21 Sep 2018 03:26:02 +1000 Subject: [PATCH 15/45] classLevel cleanup, now check EXD --- src/servers/sapphire_api/PlayerMinimal.cpp | 36 ++++++++-------------- src/servers/sapphire_api/PlayerMinimal.h | 2 +- 2 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/servers/sapphire_api/PlayerMinimal.cpp b/src/servers/sapphire_api/PlayerMinimal.cpp index 9440a096..d117eea0 100644 --- a/src/servers/sapphire_api/PlayerMinimal.cpp +++ b/src/servers/sapphire_api/PlayerMinimal.cpp @@ -66,15 +66,21 @@ void PlayerMinimal::load( uint32_t charId ) m_contentId = res->getUInt64( "ContentId" ); m_zoneId = res->getUInt16( "TerritoryId" ); + res.reset(); + // SELECT ClassIdx, Exp, Lvl - auto stmtClass = g_charaDb.getPreparedStatement( Db::ZoneDbStatements::CHARA_SEL_MINIMAL ); + auto stmtClass = g_charaDb.getPreparedStatement( Db::ZoneDbStatements::CHARA_CLASS_SEL ); stmtClass->setInt( 1, m_id ); - auto resClass = g_charaDb.query( stmt ); + auto resClass = g_charaDb.query( stmtClass ); while( resClass->next() ) { - m_classMap[ resClass->getUInt( 1 ) ] = resClass->getUInt( 3 ); + auto classIdx = resClass->getUInt( 1 ); + auto lvl = resClass->getUInt( 3 ); + + m_classMap[ classIdx ] = lvl; + m_classLevel = getClassLevel(); } } @@ -120,7 +126,7 @@ std::string PlayerMinimal::getModelString() std::string PlayerMinimal::getInfoJson() { std::string charDetails = "{\"content\":[\"" + std::string( getName() ) + "\"," + - "[\"0\",\"0\",\"0\",\"0\",\"" + std::to_string( getClassLevel( m_class ) ) + + "[\"0\",\"0\",\"0\",\"0\",\"" + std::to_string( m_classLevel ) + "\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\",\"0\"]," "\"0\",\"0\",\"0\",\"" + std::to_string( getBirthMonth() ) + @@ -138,26 +144,10 @@ std::string PlayerMinimal::getInfoJson() return charDetails; } -uint16_t PlayerMinimal::getClassLevel(uint8_t classId) +uint8_t PlayerMinimal::getClassLevel() { - - auto stmtClass = g_charaDb.getPreparedStatement( Db::ZoneDbStatements::CHARA_CLASS_SEL ); - stmtClass->setInt( 1, m_id ); - - auto resClass = g_charaDb.query( stmtClass ); - - while( resClass->next() ) - { - auto classIdx = resClass->getUInt16( 1 ); - auto lvl = resClass->getUInt8( 3 ); - - if( classIdx == classId ) { - m_classLevel = lvl; - break; - } - - } - return m_classLevel; + uint8_t classJobIndex = g_exdDataGen.get< Core::Data::ClassJob >( static_cast< uint8_t >( m_class ) )->expArrayIndex; + return static_cast< uint8_t >( m_classMap[ classJobIndex ] ); } std::string PlayerMinimal::getClassString() diff --git a/src/servers/sapphire_api/PlayerMinimal.h b/src/servers/sapphire_api/PlayerMinimal.h index e6907f10..4bbe8036 100644 --- a/src/servers/sapphire_api/PlayerMinimal.h +++ b/src/servers/sapphire_api/PlayerMinimal.h @@ -31,7 +31,7 @@ public: std::string getClassString(); - uint16_t getClassLevel( uint8_t classId ); + uint8_t getClassLevel(); // return the id of the actor uint32_t getId() const From e4488632157566ef42f70f5e2916e51c5dcd7e6f Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Fri, 21 Sep 2018 03:50:38 +1000 Subject: [PATCH 16/45] Style for mordred --- .../sapphire_zone/Network/Handlers/GMCommandHandlers.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp index ed02dd03..f822a568 100644 --- a/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp @@ -466,12 +466,15 @@ void Core::Network::GameConnection::gm1Handler( const Packets::FFXIVARR_PACKET_R { auto data = pExdData->get< Core::Data::Aetheryte >( i ); - if( !data ) { + if( !data ) + { continue; } - if( data->territory == param1 ) { - if( data->isAetheryte ) { + if( data->territory == param1 ) + { + if( data->isAetheryte ) + { { doTeleport = true; teleport = i; From a2f03fd3045204afa28e0e84b0b0aed0f29cb924 Mon Sep 17 00:00:00 2001 From: Mordred Date: Thu, 20 Sep 2018 23:31:38 +0200 Subject: [PATCH 17/45] Some cmake cleanups --- CMakeLists.txt | 17 +++++++------- src/servers/CMakeLists.txt | 12 ++-------- src/servers/Scripts/quest/ManFst001.cpp | 2 +- src/servers/Scripts/quest/ManFst002.cpp | 7 +++--- src/servers/sapphire_api/CMakeLists.txt | 1 - src/servers/sapphire_lobby/CMakeLists.txt | 1 - .../sapphire_zone/Action/ActionMount.cpp | 2 +- .../sapphire_zone/Action/ActionTeleport.cpp | 2 +- src/servers/sapphire_zone/Actor/BNpc.cpp | 2 +- src/servers/sapphire_zone/Actor/Chara.cpp | 3 ++- src/servers/sapphire_zone/Actor/Npc.cpp | 3 ++- src/servers/sapphire_zone/CMakeLists.txt | 22 ++----------------- .../Network/Handlers/EventHandlers.cpp | 2 +- 13 files changed, 24 insertions(+), 52 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b9b359a5..135f8516 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,15 +1,14 @@ -cmake_policy(SET CMP0014 NEW) -cmake_minimum_required(VERSION 3.0.2) -project (Sapphire) +cmake_policy( SET CMP0014 NEW ) +cmake_minimum_required( VERSION 3.0.2 ) +project( Sapphire ) -set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin) +set( CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin ) -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin) -set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) -set(EXECUTABLE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) +set( EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin ) +set( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) +set( EXECUTABLE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin ) -set(PROJECT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include) -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) +set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake ) ########################################################################## # Boost stuff diff --git a/src/servers/CMakeLists.txt b/src/servers/CMakeLists.txt index 28e43594..ea5a9774 100644 --- a/src/servers/CMakeLists.txt +++ b/src/servers/CMakeLists.txt @@ -1,13 +1,5 @@ -cmake_minimum_required(VERSION 2.6) -project (Sapphire) - -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) -set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) - -set(PROJECT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include) - -include_directories("${PROJECT_INCLUDE_DIR}") -include_directories("${PROJECT_SOURCE_DIR}") +cmake_minimum_required( VERSION 3.0 ) +project( Sapphire ) add_subdirectory(${PROJECT_SOURCE_DIR}/sapphire_lobby) add_subdirectory(${PROJECT_SOURCE_DIR}/sapphire_api) diff --git a/src/servers/Scripts/quest/ManFst001.cpp b/src/servers/Scripts/quest/ManFst001.cpp index de98aeb5..53372d95 100644 --- a/src/servers/Scripts/quest/ManFst001.cpp +++ b/src/servers/Scripts/quest/ManFst001.cpp @@ -1,7 +1,7 @@ #include -#include #include #include "Event/EventHelper.h" +#include "Event/EventHandler.h" // Quest Script: ManFst001_00039 // Quest Name: Coming to Gridania diff --git a/src/servers/Scripts/quest/ManFst002.cpp b/src/servers/Scripts/quest/ManFst002.cpp index 93c6639c..831a4fca 100644 --- a/src/servers/Scripts/quest/ManFst002.cpp +++ b/src/servers/Scripts/quest/ManFst002.cpp @@ -1,7 +1,7 @@ #include -#include -#include "Event/EventHelper.h" #include +#include "Event/EventHandler.h" +#include "Event/EventHelper.h" // Quest Script: ManFst002_00124 // Quest Name: Close to Home @@ -9,8 +9,7 @@ // Start NPC: 1001140 // End NPC: 1000100 -class ManFst002 : - public EventScript +class ManFst002 : public EventScript { private: diff --git a/src/servers/sapphire_api/CMakeLists.txt b/src/servers/sapphire_api/CMakeLists.txt index fb32ceb0..429077df 100644 --- a/src/servers/sapphire_api/CMakeLists.txt +++ b/src/servers/sapphire_api/CMakeLists.txt @@ -5,7 +5,6 @@ project(Sapphire) file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/") add_executable(sapphire_api ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) set_target_properties(sapphire_api PROPERTIES diff --git a/src/servers/sapphire_lobby/CMakeLists.txt b/src/servers/sapphire_lobby/CMakeLists.txt index f937d857..aea65735 100644 --- a/src/servers/sapphire_lobby/CMakeLists.txt +++ b/src/servers/sapphire_lobby/CMakeLists.txt @@ -5,7 +5,6 @@ project(Sapphire) file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/") add_executable(sapphire_lobby ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) diff --git a/src/servers/sapphire_zone/Action/ActionMount.cpp b/src/servers/sapphire_zone/Action/ActionMount.cpp index 97822bd6..d5e75422 100644 --- a/src/servers/sapphire_zone/Action/ActionMount.cpp +++ b/src/servers/sapphire_zone/Action/ActionMount.cpp @@ -3,11 +3,11 @@ #include #include #include -#include #include "Network/PacketWrappers/ActorControlPacket142.h" #include "Network/PacketWrappers/ActorControlPacket143.h" #include "Network/PacketWrappers/ActorControlPacket144.h" +#include "Network/PacketWrappers/EffectPacket.h" #include "Actor/Player.h" #include "Script/ScriptMgr.h" diff --git a/src/servers/sapphire_zone/Action/ActionTeleport.cpp b/src/servers/sapphire_zone/Action/ActionTeleport.cpp index 91197f02..968b174b 100644 --- a/src/servers/sapphire_zone/Action/ActionTeleport.cpp +++ b/src/servers/sapphire_zone/Action/ActionTeleport.cpp @@ -2,11 +2,11 @@ #include #include #include -#include #include #include "Network/PacketWrappers/ActorControlPacket142.h" #include "Network/PacketWrappers/ActorControlPacket143.h" +#include "Network/PacketWrappers/EffectPacket.h" #include "Actor/Player.h" diff --git a/src/servers/sapphire_zone/Actor/BNpc.cpp b/src/servers/sapphire_zone/Actor/BNpc.cpp index 5e1c86aa..2461088e 100644 --- a/src/servers/sapphire_zone/Actor/BNpc.cpp +++ b/src/servers/sapphire_zone/Actor/BNpc.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include "Forwards.h" #include "Action/Action.h" diff --git a/src/servers/sapphire_zone/Actor/Chara.cpp b/src/servers/sapphire_zone/Actor/Chara.cpp index d736dba5..8d416786 100644 --- a/src/servers/sapphire_zone/Actor/Chara.cpp +++ b/src/servers/sapphire_zone/Actor/Chara.cpp @@ -4,7 +4,7 @@ #include #include #include -#include + #include "Forwards.h" #include "Action/Action.h" @@ -16,6 +16,7 @@ #include "Network/PacketWrappers/ActorControlPacket143.h" #include "Network/PacketWrappers/ActorControlPacket144.h" #include "Network/PacketWrappers/UpdateHpMpTpPacket.h" +#include "Network/PacketWrappers/EffectPacket.h" #include "StatusEffect/StatusEffect.h" #include "Action/ActionCollision.h" diff --git a/src/servers/sapphire_zone/Actor/Npc.cpp b/src/servers/sapphire_zone/Actor/Npc.cpp index 1f96dea6..b3a475f4 100644 --- a/src/servers/sapphire_zone/Actor/Npc.cpp +++ b/src/servers/sapphire_zone/Actor/Npc.cpp @@ -4,7 +4,7 @@ #include #include #include -#include + #include "Forwards.h" #include "Action/Action.h" @@ -16,6 +16,7 @@ #include "Network/PacketWrappers/ActorControlPacket143.h" #include "Network/PacketWrappers/ActorControlPacket144.h" #include "Network/PacketWrappers/UpdateHpMpTpPacket.h" +#include "Network/PacketWrappers/EffectPacket.h" #include "StatusEffect/StatusEffect.h" #include "Action/ActionCollision.h" diff --git a/src/servers/sapphire_zone/CMakeLists.txt b/src/servers/sapphire_zone/CMakeLists.txt index 9e4e7c0c..f3d02e5c 100644 --- a/src/servers/sapphire_zone/CMakeLists.txt +++ b/src/servers/sapphire_zone/CMakeLists.txt @@ -4,22 +4,6 @@ cmake_policy(SET CMP0014 OLD) project(sapphire_zone) -file(GLOB SERVER_PUBLIC_INCLUDE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} - /*.h - Actor/*.h - Action/*.h - DebugCommand/*.h - Event/*.h - Inventory/*.h - Linkshell/*.h - Math/*.h - Network/*.h - Network/Handlers/*.h - Network/PacketWrappers/*.h - Script/*.h - StatusEffect/*.h - Zone/*.h) - file(GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.c* Actor/*.c* @@ -36,9 +20,7 @@ file(GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} StatusEffect/*.c* Zone/*.c*) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/") - -add_executable(sapphire_zone ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES} ) +add_executable( sapphire_zone ${SERVER_SOURCE_FILES} ) set_target_properties(sapphire_zone PROPERTIES CXX_STANDARD 14 @@ -65,8 +47,8 @@ endif() target_link_libraries( sapphire_zone ${Boost_LIBRARIES} ) target_include_directories( sapphire_zone PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" ) -target_include_directories( sapphire_zone PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/Script" ) target_include_directories( sapphire_zone PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external" ) + if (UNIX) cotire( sapphire_zone ) endif() diff --git a/src/servers/sapphire_zone/Network/Handlers/EventHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/EventHandlers.cpp index 9298a673..f68943ce 100644 --- a/src/servers/sapphire_zone/Network/Handlers/EventHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/EventHandlers.cpp @@ -6,7 +6,6 @@ #include #include #include -#include #include #include "Network/GameConnection.h" @@ -17,6 +16,7 @@ #include "Script/ScriptMgr.h" +#include "Event/EventHandler.h" #include "Event/EventHelper.h" #include "Zone/InstanceContent.h" From efb0d74494820c4e6ab54797f7903a9e869c28bb Mon Sep 17 00:00:00 2001 From: Biscuit Boy Date: Fri, 21 Sep 2018 09:28:34 +1000 Subject: [PATCH 18/45] welcome back to moredreds coooode review! today we are going to be hunting for some extra brackets in the sewer! so come along for the ride --- .../sapphire_zone/Network/Handlers/GMCommandHandlers.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp index f822a568..9b15a373 100644 --- a/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp @@ -475,11 +475,9 @@ void Core::Network::GameConnection::gm1Handler( const Packets::FFXIVARR_PACKET_R { if( data->isAetheryte ) { - { - doTeleport = true; - teleport = i; - break; - } + doTeleport = true; + teleport = i; + break; } } } From a3234bba440e3f4e40a88640d094d0bd7a49219e Mon Sep 17 00:00:00 2001 From: Mordred Date: Sat, 22 Sep 2018 09:57:40 +0200 Subject: [PATCH 19/45] More cmake cleanup --- src/servers/sapphire_lobby/CMakeLists.txt | 23 +- src/servers/sapphire_zone/CMakeLists.txt | 24 +- .../sapphire_zone/Script/ScriptMgr.cpp | 2 +- src/servers/sapphire_zone/Watchdog.h | 322 ++++++++++++++++++ 4 files changed, 338 insertions(+), 33 deletions(-) create mode 100644 src/servers/sapphire_zone/Watchdog.h diff --git a/src/servers/sapphire_lobby/CMakeLists.txt b/src/servers/sapphire_lobby/CMakeLists.txt index aea65735..3470f06f 100644 --- a/src/servers/sapphire_lobby/CMakeLists.txt +++ b/src/servers/sapphire_lobby/CMakeLists.txt @@ -1,14 +1,13 @@ -cmake_minimum_required(VERSION 2.6) -cmake_policy(SET CMP0015 NEW) -project(Sapphire) +cmake_minimum_required( VERSION 2.6 ) +cmake_policy( SET CMP0015 NEW ) +project( Sapphire ) -file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") -file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") +file( GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*" ) +file( GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.cpp" ) +add_executable( sapphire_lobby ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES} ) -add_executable(sapphire_lobby ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) - -set_target_properties(sapphire_lobby PROPERTIES +set_target_properties( sapphire_lobby PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS ON @@ -19,11 +18,5 @@ set_target_properties(sapphire_lobby PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" ) -if (UNIX) - target_link_libraries(sapphire_lobby common pthread dl z) -else() - target_link_libraries(sapphire_lobby common zlib1) -endif() - -target_link_libraries(sapphire_lobby ${Boost_LIBRARIES} ${Boost_LIBRARIES}) +target_link_libraries( sapphire_lobby common ) cotire( sapphire_lobby ) diff --git a/src/servers/sapphire_zone/CMakeLists.txt b/src/servers/sapphire_zone/CMakeLists.txt index f3d02e5c..72b1f646 100644 --- a/src/servers/sapphire_zone/CMakeLists.txt +++ b/src/servers/sapphire_zone/CMakeLists.txt @@ -1,10 +1,10 @@ -cmake_minimum_required(VERSION 3.0.2) -cmake_policy(SET CMP0015 NEW) -cmake_policy(SET CMP0014 OLD) +cmake_minimum_required( VERSION 3.0.2 ) +cmake_policy( SET CMP0015 NEW ) +cmake_policy( SET CMP0014 OLD ) -project(sapphire_zone) +project( sapphire_zone ) -file(GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} +file( GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.c* Actor/*.c* Action/*.c* @@ -22,7 +22,7 @@ file(GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} add_executable( sapphire_zone ${SERVER_SOURCE_FILES} ) -set_target_properties(sapphire_zone PROPERTIES +set_target_properties( sapphire_zone PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS ON @@ -37,18 +37,8 @@ set_target_properties(sapphire_zone PROPERTIES target_link_libraries( sapphire_zone common ) -if (UNIX) - target_link_libraries( sapphire_zone pthread ) - target_link_libraries( sapphire_zone dl ) - target_link_libraries( sapphire_zone z ) -else() - target_link_libraries( sapphire_zone zlib1 ) -endif() - -target_link_libraries( sapphire_zone ${Boost_LIBRARIES} ) target_include_directories( sapphire_zone PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" ) -target_include_directories( sapphire_zone PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external" ) -if (UNIX) +if( UNIX ) cotire( sapphire_zone ) endif() diff --git a/src/servers/sapphire_zone/Script/ScriptMgr.cpp b/src/servers/sapphire_zone/Script/ScriptMgr.cpp index e686b4f2..4663ae50 100644 --- a/src/servers/sapphire_zone/Script/ScriptMgr.cpp +++ b/src/servers/sapphire_zone/Script/ScriptMgr.cpp @@ -8,7 +8,7 @@ #include #include -#include "watchdog/Watchdog.h" +#include "Watchdog.h" #include "Zone/Zone.h" #include "Zone/InstanceContent.h" diff --git a/src/servers/sapphire_zone/Watchdog.h b/src/servers/sapphire_zone/Watchdog.h new file mode 100644 index 00000000..a9e2de2d --- /dev/null +++ b/src/servers/sapphire_zone/Watchdog.h @@ -0,0 +1,322 @@ +/* + + Watchdog + + Copyright (c) 2014, Simon Geilfus + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, are permitted provided that + the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and + the following disclaimer. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + */ + +#pragma once + +#include +#include +#include +#include +#include +#include + +#include +namespace ci { namespace fs = boost::filesystem; } + +//! Exception for when Watchdog can't locate a file or parse the wildcard +class WatchedFileSystemExc : public std::exception { +public: + WatchedFileSystemExc( const ci::fs::path &path ) + { + m_message = "Failed to find the file or directory at: " + path.string(); + } + + virtual const char* what() const throw() { return m_message.c_str(); } + + std::string m_message; +}; + +//! Watchdog class. +class Watchdog { +public: + + //! Watches a file or directory for modification and call back the specified std::function. The path specified is passed as argument of the callback even if there is multiple files. Use the second watch method if you want to receive a list of all the files that have been modified. + static void watch( const ci::fs::path &path, const std::function &callback ) + { + watchImpl( path, callback, std::function&)>() ); + } + + //! Watches a file or directory for modification and call back the specified std::function. A list of modified files or directory is passed as argument of the callback. Use this version only if you are watching multiple files or a directory. + static void watchMany( const ci::fs::path &path, const std::function&)> &callback ) + { + watchImpl( path, std::function(), callback ); + } + //! Unwatches a previously registrated file or directory + static void unwatch( const ci::fs::path &path ) + { + watchImpl( path ); + } + //! Unwatches all previously registrated file or directory + static void unwatchAll() + { + watchImpl( ci::fs::path() ); + } + //! Sets the last modification time of a file or directory. by default sets the time to the current time + static void touch( const ci::fs::path &path, std::time_t time = std::time( nullptr ) ) + { + + // if the file or directory exists change its last write time + if( ci::fs::exists( path ) ){ + ci::fs::last_write_time( path, time ); + return; + } + // if not, visit each path if there's a wildcard + if( path.string().find( "*" ) != std::string::npos ){ + visitWildCardPath( path, [time]( const ci::fs::path &p ){ + ci::fs::last_write_time( p, time ); + return false; + } ); + } + // otherwise throw an exception + else { + throw WatchedFileSystemExc( path ); + } + } + +protected: + + Watchdog() + : mWatching(false) + { + } + + void close() + { + // remove all watchers + unwatchAll(); + + // stop the thread + mWatching = false; + if( mThread->joinable() ) mThread->join(); + } + + + void start() + { + mWatching = true; + mThread = std::unique_ptr( new std::thread( [this](){ + // keep watching for modifications every ms milliseconds + auto ms = std::chrono::milliseconds( 500 ); + while( mWatching ) { + do { + // iterate through each watcher and check for modification + std::lock_guard lock( mMutex ); + auto end = mFileWatchers.end(); + for( auto it = mFileWatchers.begin(); it != end; ++it ) { + it->second.watch(); + } + // lock will be released before this thread goes to sleep + } while( false ); + + // make this thread sleep for a while + std::this_thread::sleep_for( ms ); + } + } ) ); + } + static void watchImpl( const ci::fs::path &path, const std::function &callback = std::function(), const std::function&)> &listCallback = std::function&)>() ) + { + // create the static Watchdog instance + static Watchdog wd; + // and start its thread + if( !wd.mWatching ) { + wd.start(); + } + + const std::string key = path.string(); + + // add a new watcher + if( callback || listCallback ){ + + std::string filter; + ci::fs::path p = path; + // try to see if there's a match for the wildcard + if( path.string().find( "*" ) != std::string::npos ){ + bool found = false; + std::pair pathFilter = visitWildCardPath( path, [&found]( const ci::fs::path &p ){ + found = true; + return true; + } ); + if( !found ){ + throw WatchedFileSystemExc( path ); + } + else { + p = pathFilter.first; + filter = pathFilter.second; + } + } + + std::lock_guard lock( wd.mMutex ); + if( wd.mFileWatchers.find( key ) == wd.mFileWatchers.end() ){ + wd.mFileWatchers.emplace( make_pair( key, Watcher( p, filter, callback, listCallback ) ) ); + } + } + // if there is no callback that means that we are unwatching + else { + // if the path is empty we unwatch all files + if( path.empty() ){ + std::lock_guard lock( wd.mMutex ); + for( auto it = wd.mFileWatchers.begin(); it != wd.mFileWatchers.end(); ) { + it = wd.mFileWatchers.erase( it ); + } + } + // or the specified file or directory + else { + std::lock_guard lock( wd.mMutex ); + auto watcher = wd.mFileWatchers.find( key ); + if( watcher != wd.mFileWatchers.end() ){ + wd.mFileWatchers.erase( watcher ); + } + } + } + } + + static std::pair getPathFilterPair( const ci::fs::path &path ) + { + // extract wildcard and parent path + std::string key = path.string(); + ci::fs::path p = path; + size_t wildCardPos = key.find( "*" ); + std::string filter; + if( wildCardPos != std::string::npos ){ + filter = path.filename().string(); + p = path.parent_path(); + } + + // throw an exception if the file doesn't exist + if( filter.empty() && !ci::fs::exists( p ) ){ + throw WatchedFileSystemExc( path ); + } + + return std::make_pair( p, filter ); + + } + + static std::pair visitWildCardPath( const ci::fs::path &path, const std::function &visitor ){ + std::pair pathFilter = getPathFilterPair( path ); + if( !pathFilter.second.empty() ){ + std::string full = ( pathFilter.first / pathFilter.second ).string(); + size_t wildcardPos = full.find( "*" ); + std::string before = full.substr( 0, wildcardPos ); + std::string after = full.substr( wildcardPos + 1 ); + ci::fs::directory_iterator end; + for( ci::fs::directory_iterator it( pathFilter.first ); it != end; ++it ){ + std::string current = it->path().string(); + size_t beforePos = current.find( before ); + size_t afterPos = current.find( after ); + if( ( beforePos != std::string::npos || before.empty() ) + && ( afterPos != std::string::npos || after.empty() ) ) { + if( visitor( it->path() ) ){ + break; + } + } + } + } + return pathFilter; + } + + class Watcher { + public: + Watcher( const ci::fs::path &path, const std::string &filter, const std::function &callback, const std::function&)> &listCallback ) + : mPath(path), mFilter(filter), mCallback(callback), mListCallback(listCallback) + { + // make sure we store all initial write time + if( !mFilter.empty() ) { + std::vector paths; + visitWildCardPath( path / filter, [this,&paths]( const ci::fs::path &p ){ + hasChanged( p ); + paths.push_back( p ); + return false; + } ); + // this means that the first watch won't call the callback function + // so we have to manually call it here + if( mCallback ){ + mCallback( mPath / mFilter ); + } + else { + mListCallback( paths ); + } + } + } + + void watch() + { + // if there's no filter we just check for one item + if( mFilter.empty() && hasChanged( mPath ) && mCallback ){ + mCallback( mPath ); + //#error TODO: still have to figure out an elegant way to do this without cinder + } + // otherwise we check the whole parent directory + else if( !mFilter.empty() ){ + + std::vector paths; + visitWildCardPath( mPath / mFilter, [this,&paths]( const ci::fs::path &p ){ + bool pathHasChanged = hasChanged( p ); + if( pathHasChanged && mCallback ){ + mCallback( mPath / mFilter ); + //#error TODO: still have to figure out an elegant way to do this without cinder + return true; + } + else if( pathHasChanged && mListCallback ){ + paths.push_back( p ); + } + return false; + } ); + if( paths.size() && mListCallback ){ + mListCallback( paths ); + } + } + + } + + bool hasChanged( const ci::fs::path &path ) + { + // get the last modification time + auto time = ci::fs::last_write_time( path ); + // add a new modification time to the map + std::string key = path.string(); + if( mModificationTimes.find( key ) == mModificationTimes.end() ) { + mModificationTimes[ key ] = time; + return true; + } + // or compare with an older one + auto &prev = mModificationTimes[ key ]; + if( prev < time ) { + prev = time; + return true; + } + return false; + }; + + protected: + ci::fs::path mPath; + std::string mFilter; + std::function mCallback; + std::function&)> mListCallback; + std::map< std::string, std::time_t > mModificationTimes; + }; + + std::mutex mMutex; + std::atomic mWatching; + std::unique_ptr mThread; + std::map mFileWatchers; +}; \ No newline at end of file From acf389d512bfe04f10f45c5cafc1134a485a09a0 Mon Sep 17 00:00:00 2001 From: Mordred Date: Sat, 22 Sep 2018 11:06:00 +0200 Subject: [PATCH 20/45] Linux build fix --- src/common/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index c49d6bb5..811e94e4 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -32,7 +32,7 @@ target_link_libraries( common PUBLIC xivdat ) target_link_libraries( common PUBLIC mysqlConnector ) if( UNIX ) - target_link_libraries( common PUBLIC mysqlclient ) + target_link_libraries( common PUBLIC mysqlclient pthread ) else() target_link_libraries( common PUBLIC libmysql ) endif() From a8a820b89cd4e65b16c7726be5d77f0de9209ca2 Mon Sep 17 00:00:00 2001 From: Mordred Date: Sat, 22 Sep 2018 13:07:20 +0200 Subject: [PATCH 21/45] Linux build fix #2 --- src/servers/sapphire_zone/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/servers/sapphire_zone/CMakeLists.txt b/src/servers/sapphire_zone/CMakeLists.txt index 72b1f646..bca1efd6 100644 --- a/src/servers/sapphire_zone/CMakeLists.txt +++ b/src/servers/sapphire_zone/CMakeLists.txt @@ -37,8 +37,10 @@ set_target_properties( sapphire_zone PROPERTIES target_link_libraries( sapphire_zone common ) +target_link_libraries( sapphire_zone ${Boost_LIBRARIES} ) + target_include_directories( sapphire_zone PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" ) -if( UNIX ) +if (UNIX) cotire( sapphire_zone ) endif() From 02de786f60ddd3df925033a72a504f57365f12fd Mon Sep 17 00:00:00 2001 From: Mordred Date: Sat, 22 Sep 2018 15:04:18 +0200 Subject: [PATCH 22/45] Another build fix attempt --- src/servers/sapphire_lobby/CMakeLists.txt | 43 ++++++++++++--------- src/servers/sapphire_zone/CMakeLists.txt | 47 +++++++++++++---------- 2 files changed, 52 insertions(+), 38 deletions(-) diff --git a/src/servers/sapphire_lobby/CMakeLists.txt b/src/servers/sapphire_lobby/CMakeLists.txt index 3470f06f..a063ef63 100644 --- a/src/servers/sapphire_lobby/CMakeLists.txt +++ b/src/servers/sapphire_lobby/CMakeLists.txt @@ -1,22 +1,29 @@ -cmake_minimum_required( VERSION 2.6 ) -cmake_policy( SET CMP0015 NEW ) -project( Sapphire ) +cmake_minimum_required(VERSION 3.0.2) +cmake_policy(SET CMP0015 NEW) +project(Sapphire) -file( GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*" ) -file( GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.cpp" ) +file(GLOB SERVER_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") +file(GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*") -add_executable( sapphire_lobby ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES} ) -set_target_properties( sapphire_lobby PROPERTIES - CXX_STANDARD 14 - CXX_STANDARD_REQUIRED ON - CXX_EXTENSIONS ON - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" - VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" -) +add_executable(sapphire_lobby ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES}) -target_link_libraries( sapphire_lobby common ) -cotire( sapphire_lobby ) +set_target_properties(sapphire_lobby PROPERTIES + CXX_STANDARD 14 + CXX_STANDARD_REQUIRED ON + CXX_EXTENSIONS ON + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" + RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" + RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" + VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" + ) + +if (UNIX) + target_link_libraries(sapphire_lobby common pthread dl z) +else() + target_link_libraries(sapphire_lobby common zlib1) +endif() + +target_link_libraries(sapphire_lobby ${Boost_LIBRARIES} ${Boost_LIBRARIES}) +cotire( sapphire_lobby ) \ No newline at end of file diff --git a/src/servers/sapphire_zone/CMakeLists.txt b/src/servers/sapphire_zone/CMakeLists.txt index bca1efd6..ba454f5c 100644 --- a/src/servers/sapphire_zone/CMakeLists.txt +++ b/src/servers/sapphire_zone/CMakeLists.txt @@ -1,10 +1,10 @@ -cmake_minimum_required( VERSION 3.0.2 ) -cmake_policy( SET CMP0015 NEW ) -cmake_policy( SET CMP0014 OLD ) +cmake_minimum_required(VERSION 3.0.2) +cmake_policy(SET CMP0015 NEW) +cmake_policy(SET CMP0014 OLD) -project( sapphire_zone ) +project(sapphire_zone) -file( GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} +file(GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.c* Actor/*.c* Action/*.c* @@ -22,25 +22,32 @@ file( GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} add_executable( sapphire_zone ${SERVER_SOURCE_FILES} ) -set_target_properties( sapphire_zone PROPERTIES - CXX_STANDARD 14 - CXX_STANDARD_REQUIRED ON - CXX_EXTENSIONS ON - ENABLE_EXPORTS ON - WINDOWS_EXPORT_ALL_SYMBOLS ON - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" - VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" -) +set_target_properties(sapphire_zone PROPERTIES + CXX_STANDARD 14 + CXX_STANDARD_REQUIRED ON + CXX_EXTENSIONS ON + ENABLE_EXPORTS ON + WINDOWS_EXPORT_ALL_SYMBOLS ON + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" + RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" + RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" + VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../../bin/" + ) target_link_libraries( sapphire_zone common ) -target_link_libraries( sapphire_zone ${Boost_LIBRARIES} ) +if (UNIX) + target_link_libraries( sapphire_zone pthread ) + target_link_libraries( sapphire_zone dl ) + target_link_libraries( sapphire_zone z ) +else() + target_link_libraries( sapphire_zone zlib1 ) +endif() +target_link_libraries( sapphire_zone ${Boost_LIBRARIES} ) target_include_directories( sapphire_zone PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" ) if (UNIX) - cotire( sapphire_zone ) -endif() + cotire( sapphire_zone ) +endif() \ No newline at end of file From b89402e109926efb9da537265e2b33bd4fc5ffd4 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 24 Sep 2018 09:03:29 -0400 Subject: [PATCH 23/45] Some linker reorg --- src/common/CMakeLists.txt | 7 +++---- src/servers/Scripts/ScriptObject.h | 2 +- src/servers/sapphire_lobby/CMakeLists.txt | 9 ++------- src/servers/sapphire_zone/Actor/Player.h | 2 +- src/servers/sapphire_zone/CMakeLists.txt | 13 ++----------- src/servers/sapphire_zone/Script/NativeScriptApi.h | 2 +- 6 files changed, 10 insertions(+), 25 deletions(-) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 811e94e4..a87b1ac1 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -27,14 +27,13 @@ set_target_properties( common PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" ) - +target_link_libraries( common PUBLIC ${Boost_LIBRARIES} ) target_link_libraries( common PUBLIC xivdat ) target_link_libraries( common PUBLIC mysqlConnector ) if( UNIX ) - target_link_libraries( common PUBLIC mysqlclient pthread ) -else() - target_link_libraries( common PUBLIC libmysql ) + target_link_libraries( common PUBLIC pthread ) + endif() target_include_directories( common PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/" ) diff --git a/src/servers/Scripts/ScriptObject.h b/src/servers/Scripts/ScriptObject.h index 1106541c..f5db9532 100644 --- a/src/servers/Scripts/ScriptObject.h +++ b/src/servers/Scripts/ScriptObject.h @@ -1,7 +1,7 @@ #ifndef SAPPHIRE_SCRIPTOBJECT_H #define SAPPHIRE_SCRIPTOBJECT_H -#include +#include #include