diff --git a/bin/config/settings_lobby.xml b/bin/config/settings_lobby.xml index f41c6c7f..df2052ce 100644 --- a/bin/config/settings_lobby.xml +++ b/bin/config/settings_lobby.xml @@ -5,8 +5,6 @@ 54998 127.0.0.1 - - C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv 127.0.0.1 diff --git a/bin/config/settings_rest.xml b/bin/config/settings_rest.xml index ddadaf67..c0b84b7f 100644 --- a/bin/config/settings_rest.xml +++ b/bin/config/settings_rest.xml @@ -6,7 +6,7 @@ 127.0.0.1 - C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv + C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack 127.0.0.1 diff --git a/bin/config/settings_zone.xml b/bin/config/settings_zone.xml index 547219a7..5282957a 100644 --- a/bin/config/settings_zone.xml +++ b/bin/config/settings_zone.xml @@ -5,7 +5,7 @@ 127.0.0.1 - C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv + C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake index 543305e1..7d46f216 100644 --- a/cmake/GetGitRevisionDescription.cmake +++ b/cmake/GetGitRevisionDescription.cmake @@ -113,7 +113,6 @@ function(git_describe _var) execute_process(COMMAND "${GIT_EXECUTABLE}" describe - ${hash} ${ARGN} WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" diff --git a/src/common/Common.h b/src/common/Common.h index 29e2aa34..b6f38803 100644 --- a/src/common/Common.h +++ b/src/common/Common.h @@ -564,13 +564,12 @@ namespace Core { LeveStartError = 0x67, PlayerNameGrayout = 0x6A, - ItemObtainMsg = 0x75, - DutyQuestScreenMsg = 0x7B, + LeveStartAnim = 0x66, + LeveStartError = 0x67, + PlayerNameGrayout = 0x6A, - ItemObtainIcon = 0x84, - FateItemFailMsg = 0x85, - ItemFailMsg = 0x86, - ActionLearnMsg1 = 0x87, + ItemObtainMsg = 0x75, + DutyQuestScreenMsg = 0x7B, FreeEventPos = 0x8A, diff --git a/src/common/Exd/ExdDataGenerated.cpp b/src/common/Exd/ExdDataGenerated.cpp index a35c11a4..859998d2 100644 --- a/src/common/Exd/ExdDataGenerated.cpp +++ b/src/common/Exd/ExdDataGenerated.cpp @@ -1,3856 +1,3940 @@ #include "ExdDataGenerated.h" #include - +#include #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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - actionTimelineUse = 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - destination = exdData->getField< uint32_t >( row, 11 ); - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ) ); - } - - 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 ); - } - - Core::Data::BeastTribe::BeastTribe( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - auto row = exdData->m_BeastTribeDat.get_row( row_id ); - beastRankBonus = exdData->getField< uint8_t >( row, 2 ); - iconReputation = exdData->getField< uint32_t >( row, 3 ); - icon = exdData->getField< uint32_t >( row, 4 ); - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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, 2283 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2284 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2285 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2286 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2287 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2288 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2289 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2290 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2291 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2292 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2293 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2294 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2295 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2296 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2297 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2298 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2299 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2300 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2301 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2302 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2303 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2304 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2305 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2306 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2307 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2308 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2309 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2310 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2311 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2312 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2313 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2314 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2315 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2316 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2317 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2318 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2319 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2320 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2321 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2322 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2323 ) ); - facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2324 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - Core::Data::CompanyCraftProcess::CompanyCraftProcess( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - Core::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - auto row = exdData->m_ContentFinderConditionDat.get_row( row_id ); - contentIndicator = exdData->getField< uint8_t >( row, 1 ); - instanceContent = exdData->getField< uint16_t >( row, 2 ); - contentMemberType = exdData->getField< uint8_t >( row, 7 ); - classJobLevelRequired = exdData->getField< uint8_t >( row, 13 ); - classJobLevelSync = exdData->getField< uint8_t >( row, 14 ); - itemLevelRequired = exdData->getField< uint16_t >( row, 15 ); - itemLevelSync = exdData->getField< uint16_t >( row, 16 ); - icon = exdData->getField< uint32_t >( row, 36 ); - } - - 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 ); - } - - 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 ); - } - - 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, 10 ); - icon = exdData->getField< uint32_t >( row, 12 ); - rewardTomeA = exdData->getField< uint16_t >( row, 14 ); - rewardTomeB = exdData->getField< uint16_t >( row, 15 ); - rewardTomeC = exdData->getField< uint16_t >( row, 16 ); - sortKey = exdData->getField< uint8_t >( row, 19 ); - contentMemberType = exdData->getField< uint8_t >( row, 21 ); - requireAllDuties = exdData->getField< bool >( row, 31 ); - } - - 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 ); - } - - 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 ); - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - Core::Data::DailySupplyItem::DailySupplyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - auto row = exdData->m_DailySupplyItemDat.get_row( row_id ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - 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::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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - Core::Data::Fate::Fate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - auto row = exdData->m_FateDat.get_row( row_id ); - 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 ); - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - Core::Data::GCSupplyDuty::GCSupplyDuty( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - 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 ); - } - - 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 ); - icon = exdData->getField< int32_t >( row, 7 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - Core::Data::GuildOrderGuide::GuildOrderGuide( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - 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 ); - } - - 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 ); - } - - 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, 5 ); - item = exdData->getField< uint32_t >( row, 6 ); - destroyOnRemoval = exdData->getField< bool >( row, 7 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - Core::Data::InstanceContentType::InstanceContentType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - auto row = exdData->m_InstanceContentTypeDat.get_row( row_id ); - sortKey = exdData->getField< uint8_t >( row, 2 ); - contentType = exdData->getField< uint8_t >( row, 4 ); - } - - 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 ); - 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 ); - } - - 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 ) ); - } - - Core::Data::ItemFood::ItemFood( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - 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 ); - } - - 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 ); - } - - 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 ); - } - - Core::Data::LeveRewardItem::LeveRewardItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - type = exdData->getField< uint8_t >( row, 6 ); - dataType = exdData->getField< uint8_t >( row, 7 ); - dataKey = exdData->getField< uint16_t >( row, 8 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - icon = exdData->getField< uint16_t >( row, 30 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - Core::Data::OnlineStatus::OnlineStatus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - auto row = exdData->m_OnlineStatusDat.get_row( row_id ); - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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, 49 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 50 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 51 ) ); - scriptInstruction.push_back( exdData->getField< std::string >( row, 52 ) ); - 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 ) ); - scriptArg.push_back( exdData->getField< uint32_t >( 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 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1221 ) ); - 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 ) ); - classJobRequired = exdData->getField< uint8_t >( row, 1437 ); - expFactor = exdData->getField< uint16_t >( row, 1439 ); - gilReward = exdData->getField< uint32_t >( row, 1440 ); - gCSeals = exdData->getField< uint16_t >( row, 1442 ); - itemCatalyst.push_back( exdData->getField< uint8_t >( row, 1443 ) ); - itemCatalyst.push_back( exdData->getField< uint8_t >( row, 1444 ) ); - itemCatalyst.push_back( exdData->getField< uint8_t >( row, 1445 ) ); - itemCountCatalyst.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 ) ); - itemRewardType = exdData->getField< uint8_t >( row, 1449 ); - itemReward0.push_back( exdData->getField< uint32_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 ) ); - itemCountReward0.push_back( exdData->getField< uint8_t >( row, 1457 ) ); - 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 ) ); - stainReward0.push_back( exdData->getField< uint8_t >( row, 1464 ) ); - 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 ) ); - itemReward1.push_back( exdData->getField< uint32_t >( row, 1471 ) ); - 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 ) ); - itemCountReward1.push_back( exdData->getField< uint8_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 ) ); - isHQReward1.push_back( exdData->getField< bool >( 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 ) ); - stainReward1.push_back( exdData->getField< uint8_t >( 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 ) ); - emoteReward = exdData->getField< uint8_t >( row, 1491 ); - actionReward = exdData->getField< uint16_t >( row, 1492 ); - generalActionReward.push_back( exdData->getField< uint8_t >( row, 1493 ) ); - generalActionReward.push_back( exdData->getField< uint8_t >( row, 1494 ) ); - otherReward = exdData->getField< uint8_t >( row, 1496 ); - instanceContentUnlock = exdData->getField< uint32_t >( row, 1499 ); - tomestoneReward = exdData->getField< uint8_t >( row, 1501 ); - tomestoneCountReward = exdData->getField< uint8_t >( row, 1502 ); - reputationReward = exdData->getField< uint8_t >( row, 1503 ); - placeName = exdData->getField< uint16_t >( row, 1504 ); - journalGenre = exdData->getField< uint8_t >( row, 1505 ); - icon = exdData->getField< uint32_t >( row, 1507 ); - iconSpecial = exdData->getField< uint32_t >( row, 1508 ); - eventIconType = exdData->getField< uint8_t >( row, 1511 ); - sortKey = exdData->getField< uint16_t >( row, 1513 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - statusRequired = exdData->getField< int32_t >( row, 40 ); - itemRequired = exdData->getField< int32_t >( row, 41 ); - isSpecializationRequired = exdData->getField< bool >( row, 42 ); - } - - 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 ); - } - - 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, 2 ); - quality = exdData->getField< int16_t >( row, 3 ); - durability = exdData->getField< uint16_t >( row, 4 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - 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 ); - isPermanent = exdData->getField< bool >( row, 15 ); - inflictedByActor = exdData->getField< bool >( row, 17 ); - isFcBuff = exdData->getField< bool >( row, 21 ); - invisibility = exdData->getField< bool >( row, 22 ); - } - - Core::Data::Story::Story( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - auto row = exdData->m_StoryDat.get_row( row_id ); - } - - 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 ) ); - } - - 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 ); - aetheryte = exdData->getField< int32_t >( row, 23 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ) ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - Core::Data::WeatherRate::WeatherRate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) - { - auto row = exdData->m_WeatherRateDat.get_row( row_id ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } - - 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 ); - } +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 ); +} + +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 ); +} + +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 ); +} + +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 ); + actionTimelineUse = 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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); + 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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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, 2283 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2284 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2285 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2286 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2287 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2288 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2289 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2290 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2291 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2292 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2293 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2294 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2295 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2296 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2297 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2298 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2299 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2300 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2301 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2302 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2303 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2304 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2305 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2306 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2307 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2308 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2309 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2310 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2311 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2312 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2313 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2314 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2315 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2316 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2317 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2318 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2319 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2320 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2321 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2322 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2323 ) ); + facialFeatureIcon.push_back( exdData->getField< int32_t >( row, 2324 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); + 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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +Core::Data::CompanyCraftProcess::CompanyCraftProcess( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + 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 ) ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +Core::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ContentFinderConditionDat.get_row( row_id ); + contentIndicator = exdData->getField< uint8_t >( row, 1 ); + instanceContent = exdData->getField< uint16_t >( row, 2 ); + contentMemberType = exdData->getField< uint8_t >( row, 7 ); + classJobLevelRequired = exdData->getField< uint8_t >( row, 13 ); + classJobLevelSync = exdData->getField< uint8_t >( row, 14 ); + itemLevelRequired = exdData->getField< uint16_t >( row, 15 ); + itemLevelSync = exdData->getField< uint16_t >( row, 16 ); + icon = exdData->getField< uint32_t >( row, 36 ); +} + +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 ); +} + +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 ); +} + +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, 10 ); + icon = exdData->getField< uint32_t >( row, 12 ); + rewardTomeA = exdData->getField< uint16_t >( row, 14 ); + rewardTomeB = exdData->getField< uint16_t >( row, 15 ); + rewardTomeC = exdData->getField< uint16_t >( row, 16 ); + sortKey = exdData->getField< uint8_t >( row, 19 ); + contentMemberType = exdData->getField< uint8_t >( row, 21 ); + requireAllDuties = exdData->getField< bool >( row, 31 ); +} + +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 ); +} + +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 ); + 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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +Core::Data::DailySupplyItem::DailySupplyItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DailySupplyItemDat.get_row( row_id ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); + 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::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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +Core::Data::Fate::Fate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_FateDat.get_row( row_id ); + 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 ); + 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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +Core::Data::GCSupplyDuty::GCSupplyDuty( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + 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 ); +} + +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 ); + icon = exdData->getField< int32_t >( row, 7 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +Core::Data::GuildOrderGuide::GuildOrderGuide( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + 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 ); +} + +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 ); +} + +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, 5 ); + item = exdData->getField< uint32_t >( row, 6 ); + destroyOnRemoval = exdData->getField< bool >( row, 7 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +Core::Data::InstanceContentType::InstanceContentType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_InstanceContentTypeDat.get_row( row_id ); + sortKey = exdData->getField< uint8_t >( row, 2 ); + contentType = exdData->getField< uint8_t >( row, 4 ); +} + +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 ); + 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 ); +} + +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 ) ); +} + +Core::Data::ItemFood::ItemFood( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + 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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +Core::Data::LeveRewardItem::LeveRewardItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + 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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); + type = exdData->getField< uint8_t >( row, 6 ); + dataType = exdData->getField< uint8_t >( row, 7 ); + dataKey = exdData->getField< uint16_t >( row, 8 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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< int8_t >( row, 29 ); + icon = exdData->getField< uint16_t >( row, 30 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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, 49 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 50 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 51 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 52 ) ); + 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 ) ); + scriptArg.push_back( exdData->getField< uint32_t >( 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 ) ); + level.push_back( exdData->getField< uint32_t >( row, 1221 ) ); + 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 ) ); + classJobRequired = exdData->getField< uint8_t >( row, 1437 ); + expFactor = exdData->getField< uint16_t >( row, 1439 ); + gilReward = exdData->getField< uint32_t >( row, 1440 ); + gCSeals = exdData->getField< uint16_t >( row, 1442 ); + itemCatalyst.push_back( exdData->getField< uint8_t >( row, 1443 ) ); + itemCatalyst.push_back( exdData->getField< uint8_t >( row, 1444 ) ); + itemCatalyst.push_back( exdData->getField< uint8_t >( row, 1445 ) ); + itemCountCatalyst.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 ) ); + itemRewardType = exdData->getField< uint8_t >( row, 1449 ); + itemReward0.push_back( exdData->getField< uint32_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 ) ); + itemCountReward0.push_back( exdData->getField< uint8_t >( row, 1457 ) ); + 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 ) ); + stainReward0.push_back( exdData->getField< uint8_t >( row, 1464 ) ); + 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 ) ); + itemReward1.push_back( exdData->getField< uint32_t >( row, 1471 ) ); + 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 ) ); + itemCountReward1.push_back( exdData->getField< uint8_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 ) ); + isHQReward1.push_back( exdData->getField< bool >( 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 ) ); + stainReward1.push_back( exdData->getField< uint8_t >( 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 ) ); + emoteReward = exdData->getField< uint8_t >( row, 1491 ); + actionReward = exdData->getField< uint16_t >( row, 1492 ); + generalActionReward.push_back( exdData->getField< uint8_t >( row, 1493 ) ); + generalActionReward.push_back( exdData->getField< uint8_t >( row, 1494 ) ); + otherReward = exdData->getField< uint8_t >( row, 1496 ); + instanceContentUnlock = exdData->getField< uint32_t >( row, 1499 ); + tomestoneReward = exdData->getField< uint8_t >( row, 1501 ); + tomestoneCountReward = exdData->getField< uint8_t >( row, 1502 ); + reputationReward = exdData->getField< uint8_t >( row, 1503 ); + placeName = exdData->getField< uint16_t >( row, 1504 ); + journalGenre = exdData->getField< uint8_t >( row, 1505 ); + icon = exdData->getField< uint32_t >( row, 1507 ); + iconSpecial = exdData->getField< uint32_t >( row, 1508 ); + eventIconType = exdData->getField< uint8_t >( row, 1511 ); + sortKey = exdData->getField< uint16_t >( row, 1513 ); +} + +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 ); +} + +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 ); + icon1 = exdData->getField< int32_t >( row, 1 ); + 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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); + statusRequired = exdData->getField< int32_t >( row, 40 ); + itemRequired = exdData->getField< int32_t >( row, 41 ); + isSpecializationRequired = exdData->getField< bool >( row, 42 ); +} + +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 ); +} + +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, 2 ); + quality = exdData->getField< int16_t >( row, 3 ); + durability = exdData->getField< uint16_t >( row, 4 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); + 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 ); + isPermanent = exdData->getField< bool >( row, 15 ); + inflictedByActor = exdData->getField< bool >( row, 17 ); + isFcBuff = exdData->getField< bool >( row, 21 ); + invisibility = exdData->getField< bool >( row, 22 ); +} + +Core::Data::Story::Story( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + 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 ); +} + +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 ); +} + +Core::Data::SubmarineRank::SubmarineRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_SubmarineRankDat.get_row( row_id ); + 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 ) ); +} + +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 ); + aetheryte = exdData->getField< int32_t >( row, 23 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ) ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +Core::Data::WeatherRate::WeatherRate( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_WeatherRateDat.get_row( row_id ); +} + +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 ); +} + +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 ); +} + +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 ); +} + +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 ); +} Core::Data::ExdDataGenerated::ExdDataGenerated() @@ -4113,7 +4197,9 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) 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_PetDat = setupDatAccess( "Pet", xiv::exd::Language::en ); m_PetActionDat = setupDatAccess( "PetAction", xiv::exd::Language::en ); @@ -4121,6 +4207,8 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) m_PlaceNameDat = setupDatAccess( "PlaceName", xiv::exd::Language::en ); m_QuestDat = setupDatAccess( "Quest", xiv::exd::Language::en ); 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 ); @@ -4153,6 +4241,9 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) m_StainDat = setupDatAccess( "Stain", xiv::exd::Language::en ); m_StatusDat = setupDatAccess( "Status", xiv::exd::Language::en ); 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 ); @@ -4164,6 +4255,7 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) 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_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 ); @@ -4196,4476 +4288,6 @@ bool Core::Data::ExdDataGenerated::init( const std::string& path ) /////////////////////////////////////////////////////////////// // DIRECT GETTERS -Core::Data::ExdDataGenerated::AchievementPtr - Core::Data::ExdDataGenerated::getAchievement( uint32_t AchievementId ) -{ - try - { - auto row = m_AchievementDat.get_row( AchievementId ); - auto info = boost::make_shared< Achievement >( AchievementId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AchievementCategoryPtr - Core::Data::ExdDataGenerated::getAchievementCategory( uint32_t AchievementCategoryId ) -{ - try - { - auto row = m_AchievementCategoryDat.get_row( AchievementCategoryId ); - auto info = boost::make_shared< AchievementCategory >( AchievementCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AchievementKindPtr - Core::Data::ExdDataGenerated::getAchievementKind( uint32_t AchievementKindId ) -{ - try - { - auto row = m_AchievementKindDat.get_row( AchievementKindId ); - auto info = boost::make_shared< AchievementKind >( AchievementKindId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ActionPtr - Core::Data::ExdDataGenerated::getAction( uint32_t ActionId ) -{ - try - { - auto row = m_ActionDat.get_row( ActionId ); - auto info = boost::make_shared< Action >( ActionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ActionCategoryPtr - Core::Data::ExdDataGenerated::getActionCategory( uint32_t ActionCategoryId ) -{ - try - { - auto row = m_ActionCategoryDat.get_row( ActionCategoryId ); - auto info = boost::make_shared< ActionCategory >( ActionCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ActionComboRoutePtr - Core::Data::ExdDataGenerated::getActionComboRoute( uint32_t ActionComboRouteId ) -{ - try - { - auto row = m_ActionComboRouteDat.get_row( ActionComboRouteId ); - auto info = boost::make_shared< ActionComboRoute >( ActionComboRouteId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ActionIndirectionPtr - Core::Data::ExdDataGenerated::getActionIndirection( uint32_t ActionIndirectionId ) -{ - try - { - auto row = m_ActionIndirectionDat.get_row( ActionIndirectionId ); - auto info = boost::make_shared< ActionIndirection >( ActionIndirectionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ActionProcStatusPtr - Core::Data::ExdDataGenerated::getActionProcStatus( uint32_t ActionProcStatusId ) -{ - try - { - auto row = m_ActionProcStatusDat.get_row( ActionProcStatusId ); - auto info = boost::make_shared< ActionProcStatus >( ActionProcStatusId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ActionTimelinePtr - Core::Data::ExdDataGenerated::getActionTimeline( uint32_t ActionTimelineId ) -{ - try - { - auto row = m_ActionTimelineDat.get_row( ActionTimelineId ); - auto info = boost::make_shared< ActionTimeline >( ActionTimelineId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ActionTransientPtr - Core::Data::ExdDataGenerated::getActionTransient( uint32_t ActionTransientId ) -{ - try - { - auto row = m_ActionTransientDat.get_row( ActionTransientId ); - auto info = boost::make_shared< ActionTransient >( ActionTransientId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AddonPtr - Core::Data::ExdDataGenerated::getAddon( uint32_t AddonId ) -{ - try - { - auto row = m_AddonDat.get_row( AddonId ); - auto info = boost::make_shared< Addon >( AddonId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AdventurePtr - Core::Data::ExdDataGenerated::getAdventure( uint32_t AdventureId ) -{ - try - { - auto row = m_AdventureDat.get_row( AdventureId ); - auto info = boost::make_shared< Adventure >( AdventureId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AdventureExPhasePtr - Core::Data::ExdDataGenerated::getAdventureExPhase( uint32_t AdventureExPhaseId ) -{ - try - { - auto row = m_AdventureExPhaseDat.get_row( AdventureExPhaseId ); - auto info = boost::make_shared< AdventureExPhase >( AdventureExPhaseId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AetherCurrentPtr - Core::Data::ExdDataGenerated::getAetherCurrent( uint32_t AetherCurrentId ) -{ - try - { - auto row = m_AetherCurrentDat.get_row( AetherCurrentId ); - auto info = boost::make_shared< AetherCurrent >( AetherCurrentId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AetherialWheelPtr - Core::Data::ExdDataGenerated::getAetherialWheel( uint32_t AetherialWheelId ) -{ - try - { - auto row = m_AetherialWheelDat.get_row( AetherialWheelId ); - auto info = boost::make_shared< AetherialWheel >( AetherialWheelId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AetherytePtr - Core::Data::ExdDataGenerated::getAetheryte( uint32_t AetheryteId ) -{ - try - { - auto row = m_AetheryteDat.get_row( AetheryteId ); - auto info = boost::make_shared< Aetheryte >( AetheryteId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AirshipExplorationLevelPtr - Core::Data::ExdDataGenerated::getAirshipExplorationLevel( uint32_t AirshipExplorationLevelId ) -{ - try - { - auto row = m_AirshipExplorationLevelDat.get_row( AirshipExplorationLevelId ); - auto info = boost::make_shared< AirshipExplorationLevel >( AirshipExplorationLevelId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AirshipExplorationLogPtr - Core::Data::ExdDataGenerated::getAirshipExplorationLog( uint32_t AirshipExplorationLogId ) -{ - try - { - auto row = m_AirshipExplorationLogDat.get_row( AirshipExplorationLogId ); - auto info = boost::make_shared< AirshipExplorationLog >( AirshipExplorationLogId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AirshipExplorationParamTypePtr - Core::Data::ExdDataGenerated::getAirshipExplorationParamType( uint32_t AirshipExplorationParamTypeId ) -{ - try - { - auto row = m_AirshipExplorationParamTypeDat.get_row( AirshipExplorationParamTypeId ); - auto info = boost::make_shared< AirshipExplorationParamType >( AirshipExplorationParamTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AirshipExplorationPartPtr - Core::Data::ExdDataGenerated::getAirshipExplorationPart( uint32_t AirshipExplorationPartId ) -{ - try - { - auto row = m_AirshipExplorationPartDat.get_row( AirshipExplorationPartId ); - auto info = boost::make_shared< AirshipExplorationPart >( AirshipExplorationPartId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AirshipExplorationPointPtr - Core::Data::ExdDataGenerated::getAirshipExplorationPoint( uint32_t AirshipExplorationPointId ) -{ - try - { - auto row = m_AirshipExplorationPointDat.get_row( AirshipExplorationPointId ); - auto info = boost::make_shared< AirshipExplorationPoint >( AirshipExplorationPointId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AnimaWeapon5Ptr - Core::Data::ExdDataGenerated::getAnimaWeapon5( uint32_t AnimaWeapon5Id ) -{ - try - { - auto row = m_AnimaWeapon5Dat.get_row( AnimaWeapon5Id ); - auto info = boost::make_shared< AnimaWeapon5 >( AnimaWeapon5Id, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AnimaWeapon5ParamPtr - Core::Data::ExdDataGenerated::getAnimaWeapon5Param( uint32_t AnimaWeapon5ParamId ) -{ - try - { - auto row = m_AnimaWeapon5ParamDat.get_row( AnimaWeapon5ParamId ); - auto info = boost::make_shared< AnimaWeapon5Param >( AnimaWeapon5ParamId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AnimaWeapon5PatternGroupPtr - Core::Data::ExdDataGenerated::getAnimaWeapon5PatternGroup( uint32_t AnimaWeapon5PatternGroupId ) -{ - try - { - auto row = m_AnimaWeapon5PatternGroupDat.get_row( AnimaWeapon5PatternGroupId ); - auto info = boost::make_shared< AnimaWeapon5PatternGroup >( AnimaWeapon5PatternGroupId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AnimaWeapon5SpiritTalkPtr - Core::Data::ExdDataGenerated::getAnimaWeapon5SpiritTalk( uint32_t AnimaWeapon5SpiritTalkId ) -{ - try - { - auto row = m_AnimaWeapon5SpiritTalkDat.get_row( AnimaWeapon5SpiritTalkId ); - auto info = boost::make_shared< AnimaWeapon5SpiritTalk >( AnimaWeapon5SpiritTalkId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AnimaWeapon5SpiritTalkParamPtr - Core::Data::ExdDataGenerated::getAnimaWeapon5SpiritTalkParam( uint32_t AnimaWeapon5SpiritTalkParamId ) -{ - try - { - auto row = m_AnimaWeapon5SpiritTalkParamDat.get_row( AnimaWeapon5SpiritTalkParamId ); - auto info = boost::make_shared< AnimaWeapon5SpiritTalkParam >( AnimaWeapon5SpiritTalkParamId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AnimaWeapon5TradeItemPtr - Core::Data::ExdDataGenerated::getAnimaWeapon5TradeItem( uint32_t AnimaWeapon5TradeItemId ) -{ - try - { - auto row = m_AnimaWeapon5TradeItemDat.get_row( AnimaWeapon5TradeItemId ); - auto info = boost::make_shared< AnimaWeapon5TradeItem >( AnimaWeapon5TradeItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AnimaWeaponFUITalkPtr - Core::Data::ExdDataGenerated::getAnimaWeaponFUITalk( uint32_t AnimaWeaponFUITalkId ) -{ - try - { - auto row = m_AnimaWeaponFUITalkDat.get_row( AnimaWeaponFUITalkId ); - auto info = boost::make_shared< AnimaWeaponFUITalk >( AnimaWeaponFUITalkId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AnimaWeaponFUITalkParamPtr - Core::Data::ExdDataGenerated::getAnimaWeaponFUITalkParam( uint32_t AnimaWeaponFUITalkParamId ) -{ - try - { - auto row = m_AnimaWeaponFUITalkParamDat.get_row( AnimaWeaponFUITalkParamId ); - auto info = boost::make_shared< AnimaWeaponFUITalkParam >( AnimaWeaponFUITalkParamId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AnimaWeaponIconPtr - Core::Data::ExdDataGenerated::getAnimaWeaponIcon( uint32_t AnimaWeaponIconId ) -{ - try - { - auto row = m_AnimaWeaponIconDat.get_row( AnimaWeaponIconId ); - auto info = boost::make_shared< AnimaWeaponIcon >( AnimaWeaponIconId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AnimaWeaponItemPtr - Core::Data::ExdDataGenerated::getAnimaWeaponItem( uint32_t AnimaWeaponItemId ) -{ - try - { - auto row = m_AnimaWeaponItemDat.get_row( AnimaWeaponItemId ); - auto info = boost::make_shared< AnimaWeaponItem >( AnimaWeaponItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AquariumFishPtr - Core::Data::ExdDataGenerated::getAquariumFish( uint32_t AquariumFishId ) -{ - try - { - auto row = m_AquariumFishDat.get_row( AquariumFishId ); - auto info = boost::make_shared< AquariumFish >( AquariumFishId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AquariumWaterPtr - Core::Data::ExdDataGenerated::getAquariumWater( uint32_t AquariumWaterId ) -{ - try - { - auto row = m_AquariumWaterDat.get_row( AquariumWaterId ); - auto info = boost::make_shared< AquariumWater >( AquariumWaterId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::AttackTypePtr - Core::Data::ExdDataGenerated::getAttackType( uint32_t AttackTypeId ) -{ - try - { - auto row = m_AttackTypeDat.get_row( AttackTypeId ); - auto info = boost::make_shared< AttackType >( AttackTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BalloonPtr - Core::Data::ExdDataGenerated::getBalloon( uint32_t BalloonId ) -{ - try - { - auto row = m_BalloonDat.get_row( BalloonId ); - auto info = boost::make_shared< Balloon >( BalloonId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BaseParamPtr - Core::Data::ExdDataGenerated::getBaseParam( uint32_t BaseParamId ) -{ - try - { - auto row = m_BaseParamDat.get_row( BaseParamId ); - auto info = boost::make_shared< BaseParam >( BaseParamId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BattleLevePtr - Core::Data::ExdDataGenerated::getBattleLeve( uint32_t BattleLeveId ) -{ - try - { - auto row = m_BattleLeveDat.get_row( BattleLeveId ); - auto info = boost::make_shared< BattleLeve >( BattleLeveId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BeastRankBonusPtr - Core::Data::ExdDataGenerated::getBeastRankBonus( uint32_t BeastRankBonusId ) -{ - try - { - auto row = m_BeastRankBonusDat.get_row( BeastRankBonusId ); - auto info = boost::make_shared< BeastRankBonus >( BeastRankBonusId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BeastReputationRankPtr - Core::Data::ExdDataGenerated::getBeastReputationRank( uint32_t BeastReputationRankId ) -{ - try - { - auto row = m_BeastReputationRankDat.get_row( BeastReputationRankId ); - auto info = boost::make_shared< BeastReputationRank >( BeastReputationRankId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BeastTribePtr - Core::Data::ExdDataGenerated::getBeastTribe( uint32_t BeastTribeId ) -{ - try - { - auto row = m_BeastTribeDat.get_row( BeastTribeId ); - auto info = boost::make_shared< BeastTribe >( BeastTribeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BehaviorPtr - Core::Data::ExdDataGenerated::getBehavior( uint32_t BehaviorId ) -{ - try - { - auto row = m_BehaviorDat.get_row( BehaviorId ); - auto info = boost::make_shared< Behavior >( BehaviorId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BGMPtr - Core::Data::ExdDataGenerated::getBGM( uint32_t BGMId ) -{ - try - { - auto row = m_BGMDat.get_row( BGMId ); - auto info = boost::make_shared< BGM >( BGMId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BNpcAnnounceIconPtr - Core::Data::ExdDataGenerated::getBNpcAnnounceIcon( uint32_t BNpcAnnounceIconId ) -{ - try - { - auto row = m_BNpcAnnounceIconDat.get_row( BNpcAnnounceIconId ); - auto info = boost::make_shared< BNpcAnnounceIcon >( BNpcAnnounceIconId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BNpcBasePtr - Core::Data::ExdDataGenerated::getBNpcBase( uint32_t BNpcBaseId ) -{ - try - { - auto row = m_BNpcBaseDat.get_row( BNpcBaseId ); - auto info = boost::make_shared< BNpcBase >( BNpcBaseId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BNpcCustomizePtr - Core::Data::ExdDataGenerated::getBNpcCustomize( uint32_t BNpcCustomizeId ) -{ - try - { - auto row = m_BNpcCustomizeDat.get_row( BNpcCustomizeId ); - auto info = boost::make_shared< BNpcCustomize >( BNpcCustomizeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BNpcNamePtr - Core::Data::ExdDataGenerated::getBNpcName( uint32_t BNpcNameId ) -{ - try - { - auto row = m_BNpcNameDat.get_row( BNpcNameId ); - auto info = boost::make_shared< BNpcName >( BNpcNameId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BuddyActionPtr - Core::Data::ExdDataGenerated::getBuddyAction( uint32_t BuddyActionId ) -{ - try - { - auto row = m_BuddyActionDat.get_row( BuddyActionId ); - auto info = boost::make_shared< BuddyAction >( BuddyActionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BuddyEquipPtr - Core::Data::ExdDataGenerated::getBuddyEquip( uint32_t BuddyEquipId ) -{ - try - { - auto row = m_BuddyEquipDat.get_row( BuddyEquipId ); - auto info = boost::make_shared< BuddyEquip >( BuddyEquipId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BuddyItemPtr - Core::Data::ExdDataGenerated::getBuddyItem( uint32_t BuddyItemId ) -{ - try - { - auto row = m_BuddyItemDat.get_row( BuddyItemId ); - auto info = boost::make_shared< BuddyItem >( BuddyItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BuddyRankPtr - Core::Data::ExdDataGenerated::getBuddyRank( uint32_t BuddyRankId ) -{ - try - { - auto row = m_BuddyRankDat.get_row( BuddyRankId ); - auto info = boost::make_shared< BuddyRank >( BuddyRankId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::BuddySkillPtr - Core::Data::ExdDataGenerated::getBuddySkill( uint32_t BuddySkillId ) -{ - try - { - auto row = m_BuddySkillDat.get_row( BuddySkillId ); - auto info = boost::make_shared< BuddySkill >( BuddySkillId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CabinetPtr - Core::Data::ExdDataGenerated::getCabinet( uint32_t CabinetId ) -{ - try - { - auto row = m_CabinetDat.get_row( CabinetId ); - auto info = boost::make_shared< Cabinet >( CabinetId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CabinetCategoryPtr - Core::Data::ExdDataGenerated::getCabinetCategory( uint32_t CabinetCategoryId ) -{ - try - { - auto row = m_CabinetCategoryDat.get_row( CabinetCategoryId ); - auto info = boost::make_shared< CabinetCategory >( CabinetCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CalendarPtr - Core::Data::ExdDataGenerated::getCalendar( uint32_t CalendarId ) -{ - try - { - auto row = m_CalendarDat.get_row( CalendarId ); - auto info = boost::make_shared< Calendar >( CalendarId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CharaMakeCustomizePtr - Core::Data::ExdDataGenerated::getCharaMakeCustomize( uint32_t CharaMakeCustomizeId ) -{ - try - { - auto row = m_CharaMakeCustomizeDat.get_row( CharaMakeCustomizeId ); - auto info = boost::make_shared< CharaMakeCustomize >( CharaMakeCustomizeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CharaMakeTypePtr - Core::Data::ExdDataGenerated::getCharaMakeType( uint32_t CharaMakeTypeId ) -{ - try - { - auto row = m_CharaMakeTypeDat.get_row( CharaMakeTypeId ); - auto info = boost::make_shared< CharaMakeType >( CharaMakeTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ChocoboRacePtr - Core::Data::ExdDataGenerated::getChocoboRace( uint32_t ChocoboRaceId ) -{ - try - { - auto row = m_ChocoboRaceDat.get_row( ChocoboRaceId ); - auto info = boost::make_shared< ChocoboRace >( ChocoboRaceId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ChocoboRaceAbilityPtr - Core::Data::ExdDataGenerated::getChocoboRaceAbility( uint32_t ChocoboRaceAbilityId ) -{ - try - { - auto row = m_ChocoboRaceAbilityDat.get_row( ChocoboRaceAbilityId ); - auto info = boost::make_shared< ChocoboRaceAbility >( ChocoboRaceAbilityId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ChocoboRaceAbilityTypePtr - Core::Data::ExdDataGenerated::getChocoboRaceAbilityType( uint32_t ChocoboRaceAbilityTypeId ) -{ - try - { - auto row = m_ChocoboRaceAbilityTypeDat.get_row( ChocoboRaceAbilityTypeId ); - auto info = boost::make_shared< ChocoboRaceAbilityType >( ChocoboRaceAbilityTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ChocoboRaceItemPtr - Core::Data::ExdDataGenerated::getChocoboRaceItem( uint32_t ChocoboRaceItemId ) -{ - try - { - auto row = m_ChocoboRaceItemDat.get_row( ChocoboRaceItemId ); - auto info = boost::make_shared< ChocoboRaceItem >( ChocoboRaceItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ChocoboRaceRankPtr - Core::Data::ExdDataGenerated::getChocoboRaceRank( uint32_t ChocoboRaceRankId ) -{ - try - { - auto row = m_ChocoboRaceRankDat.get_row( ChocoboRaceRankId ); - auto info = boost::make_shared< ChocoboRaceRank >( ChocoboRaceRankId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ChocoboRaceStatusPtr - Core::Data::ExdDataGenerated::getChocoboRaceStatus( uint32_t ChocoboRaceStatusId ) -{ - try - { - auto row = m_ChocoboRaceStatusDat.get_row( ChocoboRaceStatusId ); - auto info = boost::make_shared< ChocoboRaceStatus >( ChocoboRaceStatusId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ChocoboRaceTerritoryPtr - Core::Data::ExdDataGenerated::getChocoboRaceTerritory( uint32_t ChocoboRaceTerritoryId ) -{ - try - { - auto row = m_ChocoboRaceTerritoryDat.get_row( ChocoboRaceTerritoryId ); - auto info = boost::make_shared< ChocoboRaceTerritory >( ChocoboRaceTerritoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ChocoboTaxiStandPtr - Core::Data::ExdDataGenerated::getChocoboTaxiStand( uint32_t ChocoboTaxiStandId ) -{ - try - { - auto row = m_ChocoboTaxiStandDat.get_row( ChocoboTaxiStandId ); - auto info = boost::make_shared< ChocoboTaxiStand >( ChocoboTaxiStandId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ClassJobPtr - Core::Data::ExdDataGenerated::getClassJob( uint32_t ClassJobId ) -{ - try - { - auto row = m_ClassJobDat.get_row( ClassJobId ); - auto info = boost::make_shared< ClassJob >( ClassJobId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ClassJobCategoryPtr - Core::Data::ExdDataGenerated::getClassJobCategory( uint32_t ClassJobCategoryId ) -{ - try - { - auto row = m_ClassJobCategoryDat.get_row( ClassJobCategoryId ); - auto info = boost::make_shared< ClassJobCategory >( ClassJobCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanionPtr - Core::Data::ExdDataGenerated::getCompanion( uint32_t CompanionId ) -{ - try - { - auto row = m_CompanionDat.get_row( CompanionId ); - auto info = boost::make_shared< Companion >( CompanionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanionMovePtr - Core::Data::ExdDataGenerated::getCompanionMove( uint32_t CompanionMoveId ) -{ - try - { - auto row = m_CompanionMoveDat.get_row( CompanionMoveId ); - auto info = boost::make_shared< CompanionMove >( CompanionMoveId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanionTransientPtr - Core::Data::ExdDataGenerated::getCompanionTransient( uint32_t CompanionTransientId ) -{ - try - { - auto row = m_CompanionTransientDat.get_row( CompanionTransientId ); - auto info = boost::make_shared< CompanionTransient >( CompanionTransientId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanyActionPtr - Core::Data::ExdDataGenerated::getCompanyAction( uint32_t CompanyActionId ) -{ - try - { - auto row = m_CompanyActionDat.get_row( CompanyActionId ); - auto info = boost::make_shared< CompanyAction >( CompanyActionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanyCraftDraftPtr - Core::Data::ExdDataGenerated::getCompanyCraftDraft( uint32_t CompanyCraftDraftId ) -{ - try - { - auto row = m_CompanyCraftDraftDat.get_row( CompanyCraftDraftId ); - auto info = boost::make_shared< CompanyCraftDraft >( CompanyCraftDraftId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanyCraftDraftCategoryPtr - Core::Data::ExdDataGenerated::getCompanyCraftDraftCategory( uint32_t CompanyCraftDraftCategoryId ) -{ - try - { - auto row = m_CompanyCraftDraftCategoryDat.get_row( CompanyCraftDraftCategoryId ); - auto info = boost::make_shared< CompanyCraftDraftCategory >( CompanyCraftDraftCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanyCraftManufactoryStatePtr - Core::Data::ExdDataGenerated::getCompanyCraftManufactoryState( uint32_t CompanyCraftManufactoryStateId ) -{ - try - { - auto row = m_CompanyCraftManufactoryStateDat.get_row( CompanyCraftManufactoryStateId ); - auto info = boost::make_shared< CompanyCraftManufactoryState >( CompanyCraftManufactoryStateId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanyCraftPartPtr - Core::Data::ExdDataGenerated::getCompanyCraftPart( uint32_t CompanyCraftPartId ) -{ - try - { - auto row = m_CompanyCraftPartDat.get_row( CompanyCraftPartId ); - auto info = boost::make_shared< CompanyCraftPart >( CompanyCraftPartId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanyCraftProcessPtr - Core::Data::ExdDataGenerated::getCompanyCraftProcess( uint32_t CompanyCraftProcessId ) -{ - try - { - auto row = m_CompanyCraftProcessDat.get_row( CompanyCraftProcessId ); - auto info = boost::make_shared< CompanyCraftProcess >( CompanyCraftProcessId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanyCraftSequencePtr - Core::Data::ExdDataGenerated::getCompanyCraftSequence( uint32_t CompanyCraftSequenceId ) -{ - try - { - auto row = m_CompanyCraftSequenceDat.get_row( CompanyCraftSequenceId ); - auto info = boost::make_shared< CompanyCraftSequence >( CompanyCraftSequenceId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanyCraftSupplyItemPtr - Core::Data::ExdDataGenerated::getCompanyCraftSupplyItem( uint32_t CompanyCraftSupplyItemId ) -{ - try - { - auto row = m_CompanyCraftSupplyItemDat.get_row( CompanyCraftSupplyItemId ); - auto info = boost::make_shared< CompanyCraftSupplyItem >( CompanyCraftSupplyItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompanyCraftTypePtr - Core::Data::ExdDataGenerated::getCompanyCraftType( uint32_t CompanyCraftTypeId ) -{ - try - { - auto row = m_CompanyCraftTypeDat.get_row( CompanyCraftTypeId ); - auto info = boost::make_shared< CompanyCraftType >( CompanyCraftTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompleteJournalPtr - Core::Data::ExdDataGenerated::getCompleteJournal( uint32_t CompleteJournalId ) -{ - try - { - auto row = m_CompleteJournalDat.get_row( CompleteJournalId ); - auto info = boost::make_shared< CompleteJournal >( CompleteJournalId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CompleteJournalCategoryPtr - Core::Data::ExdDataGenerated::getCompleteJournalCategory( uint32_t CompleteJournalCategoryId ) -{ - try - { - auto row = m_CompleteJournalCategoryDat.get_row( CompleteJournalCategoryId ); - auto info = boost::make_shared< CompleteJournalCategory >( CompleteJournalCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ContentExActionPtr - Core::Data::ExdDataGenerated::getContentExAction( uint32_t ContentExActionId ) -{ - try - { - auto row = m_ContentExActionDat.get_row( ContentExActionId ); - auto info = boost::make_shared< ContentExAction >( ContentExActionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ContentFinderConditionPtr - Core::Data::ExdDataGenerated::getContentFinderCondition( uint32_t ContentFinderConditionId ) -{ - try - { - auto row = m_ContentFinderConditionDat.get_row( ContentFinderConditionId ); - auto info = boost::make_shared< ContentFinderCondition >( ContentFinderConditionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ContentFinderConditionTransientPtr - Core::Data::ExdDataGenerated::getContentFinderConditionTransient( uint32_t ContentFinderConditionTransientId ) -{ - try - { - auto row = m_ContentFinderConditionTransientDat.get_row( ContentFinderConditionTransientId ); - auto info = boost::make_shared< ContentFinderConditionTransient >( ContentFinderConditionTransientId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ContentMemberTypePtr - Core::Data::ExdDataGenerated::getContentMemberType( uint32_t ContentMemberTypeId ) -{ - try - { - auto row = m_ContentMemberTypeDat.get_row( ContentMemberTypeId ); - auto info = boost::make_shared< ContentMemberType >( ContentMemberTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ContentRoulettePtr - Core::Data::ExdDataGenerated::getContentRoulette( uint32_t ContentRouletteId ) -{ - try - { - auto row = m_ContentRouletteDat.get_row( ContentRouletteId ); - auto info = boost::make_shared< ContentRoulette >( ContentRouletteId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ContentTypePtr - Core::Data::ExdDataGenerated::getContentType( uint32_t ContentTypeId ) -{ - try - { - auto row = m_ContentTypeDat.get_row( ContentTypeId ); - auto info = boost::make_shared< ContentType >( ContentTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CraftActionPtr - Core::Data::ExdDataGenerated::getCraftAction( uint32_t CraftActionId ) -{ - try - { - auto row = m_CraftActionDat.get_row( CraftActionId ); - auto info = boost::make_shared< CraftAction >( CraftActionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CraftLevePtr - Core::Data::ExdDataGenerated::getCraftLeve( uint32_t CraftLeveId ) -{ - try - { - auto row = m_CraftLeveDat.get_row( CraftLeveId ); - auto info = boost::make_shared< CraftLeve >( CraftLeveId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CraftTypePtr - Core::Data::ExdDataGenerated::getCraftType( uint32_t CraftTypeId ) -{ - try - { - auto row = m_CraftTypeDat.get_row( CraftTypeId ); - auto info = boost::make_shared< CraftType >( CraftTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CurrencyPtr - Core::Data::ExdDataGenerated::getCurrency( uint32_t CurrencyId ) -{ - try - { - auto row = m_CurrencyDat.get_row( CurrencyId ); - auto info = boost::make_shared< Currency >( CurrencyId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CustomTalkPtr - Core::Data::ExdDataGenerated::getCustomTalk( uint32_t CustomTalkId ) -{ - try - { - auto row = m_CustomTalkDat.get_row( CustomTalkId ); - auto info = boost::make_shared< CustomTalk >( CustomTalkId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CutscenePtr - Core::Data::ExdDataGenerated::getCutscene( uint32_t CutsceneId ) -{ - try - { - auto row = m_CutsceneDat.get_row( CutsceneId ); - auto info = boost::make_shared< Cutscene >( CutsceneId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::CutScreenImagePtr - Core::Data::ExdDataGenerated::getCutScreenImage( uint32_t CutScreenImageId ) -{ - try - { - auto row = m_CutScreenImageDat.get_row( CutScreenImageId ); - auto info = boost::make_shared< CutScreenImage >( CutScreenImageId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DailySupplyItemPtr - Core::Data::ExdDataGenerated::getDailySupplyItem( uint32_t DailySupplyItemId ) -{ - try - { - auto row = m_DailySupplyItemDat.get_row( DailySupplyItemId ); - auto info = boost::make_shared< DailySupplyItem >( DailySupplyItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DeepDungeonBanPtr - Core::Data::ExdDataGenerated::getDeepDungeonBan( uint32_t DeepDungeonBanId ) -{ - try - { - auto row = m_DeepDungeonBanDat.get_row( DeepDungeonBanId ); - auto info = boost::make_shared< DeepDungeonBan >( DeepDungeonBanId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DeepDungeonDangerPtr - Core::Data::ExdDataGenerated::getDeepDungeonDanger( uint32_t DeepDungeonDangerId ) -{ - try - { - auto row = m_DeepDungeonDangerDat.get_row( DeepDungeonDangerId ); - auto info = boost::make_shared< DeepDungeonDanger >( DeepDungeonDangerId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DeepDungeonEquipmentPtr - Core::Data::ExdDataGenerated::getDeepDungeonEquipment( uint32_t DeepDungeonEquipmentId ) -{ - try - { - auto row = m_DeepDungeonEquipmentDat.get_row( DeepDungeonEquipmentId ); - auto info = boost::make_shared< DeepDungeonEquipment >( DeepDungeonEquipmentId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DeepDungeonFloorEffectUIPtr - Core::Data::ExdDataGenerated::getDeepDungeonFloorEffectUI( uint32_t DeepDungeonFloorEffectUIId ) -{ - try - { - auto row = m_DeepDungeonFloorEffectUIDat.get_row( DeepDungeonFloorEffectUIId ); - auto info = boost::make_shared< DeepDungeonFloorEffectUI >( DeepDungeonFloorEffectUIId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DeepDungeonItemPtr - Core::Data::ExdDataGenerated::getDeepDungeonItem( uint32_t DeepDungeonItemId ) -{ - try - { - auto row = m_DeepDungeonItemDat.get_row( DeepDungeonItemId ); - auto info = boost::make_shared< DeepDungeonItem >( DeepDungeonItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DeepDungeonStatusPtr - Core::Data::ExdDataGenerated::getDeepDungeonStatus( uint32_t DeepDungeonStatusId ) -{ - try - { - auto row = m_DeepDungeonStatusDat.get_row( DeepDungeonStatusId ); - auto info = boost::make_shared< DeepDungeonStatus >( DeepDungeonStatusId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DefaultTalkPtr - Core::Data::ExdDataGenerated::getDefaultTalk( uint32_t DefaultTalkId ) -{ - try - { - auto row = m_DefaultTalkDat.get_row( DefaultTalkId ); - auto info = boost::make_shared< DefaultTalk >( DefaultTalkId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DeliveryQuestPtr - Core::Data::ExdDataGenerated::getDeliveryQuest( uint32_t DeliveryQuestId ) -{ - try - { - auto row = m_DeliveryQuestDat.get_row( DeliveryQuestId ); - auto info = boost::make_shared< DeliveryQuest >( DeliveryQuestId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DisposalShopPtr - Core::Data::ExdDataGenerated::getDisposalShop( uint32_t DisposalShopId ) -{ - try - { - auto row = m_DisposalShopDat.get_row( DisposalShopId ); - auto info = boost::make_shared< DisposalShop >( DisposalShopId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DisposalShopFilterTypePtr - Core::Data::ExdDataGenerated::getDisposalShopFilterType( uint32_t DisposalShopFilterTypeId ) -{ - try - { - auto row = m_DisposalShopFilterTypeDat.get_row( DisposalShopFilterTypeId ); - auto info = boost::make_shared< DisposalShopFilterType >( DisposalShopFilterTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DisposalShopItemPtr - Core::Data::ExdDataGenerated::getDisposalShopItem( uint32_t DisposalShopItemId ) -{ - try - { - auto row = m_DisposalShopItemDat.get_row( DisposalShopItemId ); - auto info = boost::make_shared< DisposalShopItem >( DisposalShopItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DpsChallengePtr - Core::Data::ExdDataGenerated::getDpsChallenge( uint32_t DpsChallengeId ) -{ - try - { - auto row = m_DpsChallengeDat.get_row( DpsChallengeId ); - auto info = boost::make_shared< DpsChallenge >( DpsChallengeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DpsChallengeOfficerPtr - Core::Data::ExdDataGenerated::getDpsChallengeOfficer( uint32_t DpsChallengeOfficerId ) -{ - try - { - auto row = m_DpsChallengeOfficerDat.get_row( DpsChallengeOfficerId ); - auto info = boost::make_shared< DpsChallengeOfficer >( DpsChallengeOfficerId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::DpsChallengeTransientPtr - Core::Data::ExdDataGenerated::getDpsChallengeTransient( uint32_t DpsChallengeTransientId ) -{ - try - { - auto row = m_DpsChallengeTransientDat.get_row( DpsChallengeTransientId ); - auto info = boost::make_shared< DpsChallengeTransient >( DpsChallengeTransientId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::EmotePtr - Core::Data::ExdDataGenerated::getEmote( uint32_t EmoteId ) -{ - try - { - auto row = m_EmoteDat.get_row( EmoteId ); - auto info = boost::make_shared< Emote >( EmoteId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::EmoteCategoryPtr - Core::Data::ExdDataGenerated::getEmoteCategory( uint32_t EmoteCategoryId ) -{ - try - { - auto row = m_EmoteCategoryDat.get_row( EmoteCategoryId ); - auto info = boost::make_shared< EmoteCategory >( EmoteCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ENpcBasePtr - Core::Data::ExdDataGenerated::getENpcBase( uint32_t ENpcBaseId ) -{ - try - { - auto row = m_ENpcBaseDat.get_row( ENpcBaseId ); - auto info = boost::make_shared< ENpcBase >( ENpcBaseId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ENpcResidentPtr - Core::Data::ExdDataGenerated::getENpcResident( uint32_t ENpcResidentId ) -{ - try - { - auto row = m_ENpcResidentDat.get_row( ENpcResidentId ); - auto info = boost::make_shared< ENpcResident >( ENpcResidentId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::EObjPtr - Core::Data::ExdDataGenerated::getEObj( uint32_t EObjId ) -{ - try - { - auto row = m_EObjDat.get_row( EObjId ); - auto info = boost::make_shared< EObj >( EObjId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::EquipRaceCategoryPtr - Core::Data::ExdDataGenerated::getEquipRaceCategory( uint32_t EquipRaceCategoryId ) -{ - try - { - auto row = m_EquipRaceCategoryDat.get_row( EquipRaceCategoryId ); - auto info = boost::make_shared< EquipRaceCategory >( EquipRaceCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::EquipSlotCategoryPtr - Core::Data::ExdDataGenerated::getEquipSlotCategory( uint32_t EquipSlotCategoryId ) -{ - try - { - auto row = m_EquipSlotCategoryDat.get_row( EquipSlotCategoryId ); - auto info = boost::make_shared< EquipSlotCategory >( EquipSlotCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::EventActionPtr - Core::Data::ExdDataGenerated::getEventAction( uint32_t EventActionId ) -{ - try - { - auto row = m_EventActionDat.get_row( EventActionId ); - auto info = boost::make_shared< EventAction >( EventActionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::EventIconPriorityPtr - Core::Data::ExdDataGenerated::getEventIconPriority( uint32_t EventIconPriorityId ) -{ - try - { - auto row = m_EventIconPriorityDat.get_row( EventIconPriorityId ); - auto info = boost::make_shared< EventIconPriority >( EventIconPriorityId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::EventIconTypePtr - Core::Data::ExdDataGenerated::getEventIconType( uint32_t EventIconTypeId ) -{ - try - { - auto row = m_EventIconTypeDat.get_row( EventIconTypeId ); - auto info = boost::make_shared< EventIconType >( EventIconTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::EventItemPtr - Core::Data::ExdDataGenerated::getEventItem( uint32_t EventItemId ) -{ - try - { - auto row = m_EventItemDat.get_row( EventItemId ); - auto info = boost::make_shared< EventItem >( EventItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::EventItemHelpPtr - Core::Data::ExdDataGenerated::getEventItemHelp( uint32_t EventItemHelpId ) -{ - try - { - auto row = m_EventItemHelpDat.get_row( EventItemHelpId ); - auto info = boost::make_shared< EventItemHelp >( EventItemHelpId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ExVersionPtr - Core::Data::ExdDataGenerated::getExVersion( uint32_t ExVersionId ) -{ - try - { - auto row = m_ExVersionDat.get_row( ExVersionId ); - auto info = boost::make_shared< ExVersion >( ExVersionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FatePtr - Core::Data::ExdDataGenerated::getFate( uint32_t FateId ) -{ - try - { - auto row = m_FateDat.get_row( FateId ); - auto info = boost::make_shared< Fate >( FateId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FCActivityPtr - Core::Data::ExdDataGenerated::getFCActivity( uint32_t FCActivityId ) -{ - try - { - auto row = m_FCActivityDat.get_row( FCActivityId ); - auto info = boost::make_shared< FCActivity >( FCActivityId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FCActivityCategoryPtr - Core::Data::ExdDataGenerated::getFCActivityCategory( uint32_t FCActivityCategoryId ) -{ - try - { - auto row = m_FCActivityCategoryDat.get_row( FCActivityCategoryId ); - auto info = boost::make_shared< FCActivityCategory >( FCActivityCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FCAuthorityPtr - Core::Data::ExdDataGenerated::getFCAuthority( uint32_t FCAuthorityId ) -{ - try - { - auto row = m_FCAuthorityDat.get_row( FCAuthorityId ); - auto info = boost::make_shared< FCAuthority >( FCAuthorityId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FCAuthorityCategoryPtr - Core::Data::ExdDataGenerated::getFCAuthorityCategory( uint32_t FCAuthorityCategoryId ) -{ - try - { - auto row = m_FCAuthorityCategoryDat.get_row( FCAuthorityCategoryId ); - auto info = boost::make_shared< FCAuthorityCategory >( FCAuthorityCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FCChestNamePtr - Core::Data::ExdDataGenerated::getFCChestName( uint32_t FCChestNameId ) -{ - try - { - auto row = m_FCChestNameDat.get_row( FCChestNameId ); - auto info = boost::make_shared< FCChestName >( FCChestNameId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FccShopPtr - Core::Data::ExdDataGenerated::getFccShop( uint32_t FccShopId ) -{ - try - { - auto row = m_FccShopDat.get_row( FccShopId ); - auto info = boost::make_shared< FccShop >( FccShopId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FCHierarchyPtr - Core::Data::ExdDataGenerated::getFCHierarchy( uint32_t FCHierarchyId ) -{ - try - { - auto row = m_FCHierarchyDat.get_row( FCHierarchyId ); - auto info = boost::make_shared< FCHierarchy >( FCHierarchyId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FCProfilePtr - Core::Data::ExdDataGenerated::getFCProfile( uint32_t FCProfileId ) -{ - try - { - auto row = m_FCProfileDat.get_row( FCProfileId ); - auto info = boost::make_shared< FCProfile >( FCProfileId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FCReputationPtr - Core::Data::ExdDataGenerated::getFCReputation( uint32_t FCReputationId ) -{ - try - { - auto row = m_FCReputationDat.get_row( FCReputationId ); - auto info = boost::make_shared< FCReputation >( FCReputationId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FCRightsPtr - Core::Data::ExdDataGenerated::getFCRights( uint32_t FCRightsId ) -{ - try - { - auto row = m_FCRightsDat.get_row( FCRightsId ); - auto info = boost::make_shared< FCRights >( FCRightsId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FishingSpotPtr - Core::Data::ExdDataGenerated::getFishingSpot( uint32_t FishingSpotId ) -{ - try - { - auto row = m_FishingSpotDat.get_row( FishingSpotId ); - auto info = boost::make_shared< FishingSpot >( FishingSpotId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::FishParameterPtr - Core::Data::ExdDataGenerated::getFishParameter( uint32_t FishParameterId ) -{ - try - { - auto row = m_FishParameterDat.get_row( FishParameterId ); - auto info = boost::make_shared< FishParameter >( FishParameterId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GardeningSeedPtr - Core::Data::ExdDataGenerated::getGardeningSeed( uint32_t GardeningSeedId ) -{ - try - { - auto row = m_GardeningSeedDat.get_row( GardeningSeedId ); - auto info = boost::make_shared< GardeningSeed >( GardeningSeedId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringConditionPtr - Core::Data::ExdDataGenerated::getGatheringCondition( uint32_t GatheringConditionId ) -{ - try - { - auto row = m_GatheringConditionDat.get_row( GatheringConditionId ); - auto info = boost::make_shared< GatheringCondition >( GatheringConditionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringExpPtr - Core::Data::ExdDataGenerated::getGatheringExp( uint32_t GatheringExpId ) -{ - try - { - auto row = m_GatheringExpDat.get_row( GatheringExpId ); - auto info = boost::make_shared< GatheringExp >( GatheringExpId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringItemPtr - Core::Data::ExdDataGenerated::getGatheringItem( uint32_t GatheringItemId ) -{ - try - { - auto row = m_GatheringItemDat.get_row( GatheringItemId ); - auto info = boost::make_shared< GatheringItem >( GatheringItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringItemLevelConvertTablePtr - Core::Data::ExdDataGenerated::getGatheringItemLevelConvertTable( uint32_t GatheringItemLevelConvertTableId ) -{ - try - { - auto row = m_GatheringItemLevelConvertTableDat.get_row( GatheringItemLevelConvertTableId ); - auto info = boost::make_shared< GatheringItemLevelConvertTable >( GatheringItemLevelConvertTableId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringItemPointPtr - Core::Data::ExdDataGenerated::getGatheringItemPoint( uint32_t GatheringItemPointId ) -{ - try - { - auto row = m_GatheringItemPointDat.get_row( GatheringItemPointId ); - auto info = boost::make_shared< GatheringItemPoint >( GatheringItemPointId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringNotebookListPtr - Core::Data::ExdDataGenerated::getGatheringNotebookList( uint32_t GatheringNotebookListId ) -{ - try - { - auto row = m_GatheringNotebookListDat.get_row( GatheringNotebookListId ); - auto info = boost::make_shared< GatheringNotebookList >( GatheringNotebookListId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringPointPtr - Core::Data::ExdDataGenerated::getGatheringPoint( uint32_t GatheringPointId ) -{ - try - { - auto row = m_GatheringPointDat.get_row( GatheringPointId ); - auto info = boost::make_shared< GatheringPoint >( GatheringPointId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringPointBasePtr - Core::Data::ExdDataGenerated::getGatheringPointBase( uint32_t GatheringPointBaseId ) -{ - try - { - auto row = m_GatheringPointBaseDat.get_row( GatheringPointBaseId ); - auto info = boost::make_shared< GatheringPointBase >( GatheringPointBaseId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringPointBonusPtr - Core::Data::ExdDataGenerated::getGatheringPointBonus( uint32_t GatheringPointBonusId ) -{ - try - { - auto row = m_GatheringPointBonusDat.get_row( GatheringPointBonusId ); - auto info = boost::make_shared< GatheringPointBonus >( GatheringPointBonusId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringPointBonusTypePtr - Core::Data::ExdDataGenerated::getGatheringPointBonusType( uint32_t GatheringPointBonusTypeId ) -{ - try - { - auto row = m_GatheringPointBonusTypeDat.get_row( GatheringPointBonusTypeId ); - auto info = boost::make_shared< GatheringPointBonusType >( GatheringPointBonusTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringPointNamePtr - Core::Data::ExdDataGenerated::getGatheringPointName( uint32_t GatheringPointNameId ) -{ - try - { - auto row = m_GatheringPointNameDat.get_row( GatheringPointNameId ); - auto info = boost::make_shared< GatheringPointName >( GatheringPointNameId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringSubCategoryPtr - Core::Data::ExdDataGenerated::getGatheringSubCategory( uint32_t GatheringSubCategoryId ) -{ - try - { - auto row = m_GatheringSubCategoryDat.get_row( GatheringSubCategoryId ); - auto info = boost::make_shared< GatheringSubCategory >( GatheringSubCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GatheringTypePtr - Core::Data::ExdDataGenerated::getGatheringType( uint32_t GatheringTypeId ) -{ - try - { - auto row = m_GatheringTypeDat.get_row( GatheringTypeId ); - auto info = boost::make_shared< GatheringType >( GatheringTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GcArmyExpeditionPtr - Core::Data::ExdDataGenerated::getGcArmyExpedition( uint32_t GcArmyExpeditionId ) -{ - try - { - auto row = m_GcArmyExpeditionDat.get_row( GcArmyExpeditionId ); - auto info = boost::make_shared< GcArmyExpedition >( GcArmyExpeditionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GcArmyExpeditionMemberBonusPtr - Core::Data::ExdDataGenerated::getGcArmyExpeditionMemberBonus( uint32_t GcArmyExpeditionMemberBonusId ) -{ - try - { - auto row = m_GcArmyExpeditionMemberBonusDat.get_row( GcArmyExpeditionMemberBonusId ); - auto info = boost::make_shared< GcArmyExpeditionMemberBonus >( GcArmyExpeditionMemberBonusId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GcArmyExpeditionTypePtr - Core::Data::ExdDataGenerated::getGcArmyExpeditionType( uint32_t GcArmyExpeditionTypeId ) -{ - try - { - auto row = m_GcArmyExpeditionTypeDat.get_row( GcArmyExpeditionTypeId ); - auto info = boost::make_shared< GcArmyExpeditionType >( GcArmyExpeditionTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GcArmyMemberGrowPtr - Core::Data::ExdDataGenerated::getGcArmyMemberGrow( uint32_t GcArmyMemberGrowId ) -{ - try - { - auto row = m_GcArmyMemberGrowDat.get_row( GcArmyMemberGrowId ); - auto info = boost::make_shared< GcArmyMemberGrow >( GcArmyMemberGrowId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GcArmyTrainingPtr - Core::Data::ExdDataGenerated::getGcArmyTraining( uint32_t GcArmyTrainingId ) -{ - try - { - auto row = m_GcArmyTrainingDat.get_row( GcArmyTrainingId ); - auto info = boost::make_shared< GcArmyTraining >( GcArmyTrainingId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCRankGridaniaFemaleTextPtr - Core::Data::ExdDataGenerated::getGCRankGridaniaFemaleText( uint32_t GCRankGridaniaFemaleTextId ) -{ - try - { - auto row = m_GCRankGridaniaFemaleTextDat.get_row( GCRankGridaniaFemaleTextId ); - auto info = boost::make_shared< GCRankGridaniaFemaleText >( GCRankGridaniaFemaleTextId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCRankGridaniaMaleTextPtr - Core::Data::ExdDataGenerated::getGCRankGridaniaMaleText( uint32_t GCRankGridaniaMaleTextId ) -{ - try - { - auto row = m_GCRankGridaniaMaleTextDat.get_row( GCRankGridaniaMaleTextId ); - auto info = boost::make_shared< GCRankGridaniaMaleText >( GCRankGridaniaMaleTextId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCRankLimsaFemaleTextPtr - Core::Data::ExdDataGenerated::getGCRankLimsaFemaleText( uint32_t GCRankLimsaFemaleTextId ) -{ - try - { - auto row = m_GCRankLimsaFemaleTextDat.get_row( GCRankLimsaFemaleTextId ); - auto info = boost::make_shared< GCRankLimsaFemaleText >( GCRankLimsaFemaleTextId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCRankLimsaMaleTextPtr - Core::Data::ExdDataGenerated::getGCRankLimsaMaleText( uint32_t GCRankLimsaMaleTextId ) -{ - try - { - auto row = m_GCRankLimsaMaleTextDat.get_row( GCRankLimsaMaleTextId ); - auto info = boost::make_shared< GCRankLimsaMaleText >( GCRankLimsaMaleTextId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCRankUldahFemaleTextPtr - Core::Data::ExdDataGenerated::getGCRankUldahFemaleText( uint32_t GCRankUldahFemaleTextId ) -{ - try - { - auto row = m_GCRankUldahFemaleTextDat.get_row( GCRankUldahFemaleTextId ); - auto info = boost::make_shared< GCRankUldahFemaleText >( GCRankUldahFemaleTextId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCRankUldahMaleTextPtr - Core::Data::ExdDataGenerated::getGCRankUldahMaleText( uint32_t GCRankUldahMaleTextId ) -{ - try - { - auto row = m_GCRankUldahMaleTextDat.get_row( GCRankUldahMaleTextId ); - auto info = boost::make_shared< GCRankUldahMaleText >( GCRankUldahMaleTextId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCScripShopCategoryPtr - Core::Data::ExdDataGenerated::getGCScripShopCategory( uint32_t GCScripShopCategoryId ) -{ - try - { - auto row = m_GCScripShopCategoryDat.get_row( GCScripShopCategoryId ); - auto info = boost::make_shared< GCScripShopCategory >( GCScripShopCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCScripShopItemPtr - Core::Data::ExdDataGenerated::getGCScripShopItem( uint32_t GCScripShopItemId ) -{ - try - { - auto row = m_GCScripShopItemDat.get_row( GCScripShopItemId ); - auto info = boost::make_shared< GCScripShopItem >( GCScripShopItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCShopPtr - Core::Data::ExdDataGenerated::getGCShop( uint32_t GCShopId ) -{ - try - { - auto row = m_GCShopDat.get_row( GCShopId ); - auto info = boost::make_shared< GCShop >( GCShopId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCShopItemCategoryPtr - Core::Data::ExdDataGenerated::getGCShopItemCategory( uint32_t GCShopItemCategoryId ) -{ - try - { - auto row = m_GCShopItemCategoryDat.get_row( GCShopItemCategoryId ); - auto info = boost::make_shared< GCShopItemCategory >( GCShopItemCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCSupplyDutyPtr - Core::Data::ExdDataGenerated::getGCSupplyDuty( uint32_t GCSupplyDutyId ) -{ - try - { - auto row = m_GCSupplyDutyDat.get_row( GCSupplyDutyId ); - auto info = boost::make_shared< GCSupplyDuty >( GCSupplyDutyId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GCSupplyDutyRewardPtr - Core::Data::ExdDataGenerated::getGCSupplyDutyReward( uint32_t GCSupplyDutyRewardId ) -{ - try - { - auto row = m_GCSupplyDutyRewardDat.get_row( GCSupplyDutyRewardId ); - auto info = boost::make_shared< GCSupplyDutyReward >( GCSupplyDutyRewardId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GeneralActionPtr - Core::Data::ExdDataGenerated::getGeneralAction( uint32_t GeneralActionId ) -{ - try - { - auto row = m_GeneralActionDat.get_row( GeneralActionId ); - auto info = boost::make_shared< GeneralAction >( GeneralActionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GilShopPtr - Core::Data::ExdDataGenerated::getGilShop( uint32_t GilShopId ) -{ - try - { - auto row = m_GilShopDat.get_row( GilShopId ); - auto info = boost::make_shared< GilShop >( GilShopId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GilShopItemPtr - Core::Data::ExdDataGenerated::getGilShopItem( uint32_t GilShopItemId ) -{ - try - { - auto row = m_GilShopItemDat.get_row( GilShopItemId ); - auto info = boost::make_shared< GilShopItem >( GilShopItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GoldSaucerTextDataPtr - Core::Data::ExdDataGenerated::getGoldSaucerTextData( uint32_t GoldSaucerTextDataId ) -{ - try - { - auto row = m_GoldSaucerTextDataDat.get_row( GoldSaucerTextDataId ); - auto info = boost::make_shared< GoldSaucerTextData >( GoldSaucerTextDataId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GrandCompanyPtr - Core::Data::ExdDataGenerated::getGrandCompany( uint32_t GrandCompanyId ) -{ - try - { - auto row = m_GrandCompanyDat.get_row( GrandCompanyId ); - auto info = boost::make_shared< GrandCompany >( GrandCompanyId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GrandCompanyRankPtr - Core::Data::ExdDataGenerated::getGrandCompanyRank( uint32_t GrandCompanyRankId ) -{ - try - { - auto row = m_GrandCompanyRankDat.get_row( GrandCompanyRankId ); - auto info = boost::make_shared< GrandCompanyRank >( GrandCompanyRankId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GuardianDeityPtr - Core::Data::ExdDataGenerated::getGuardianDeity( uint32_t GuardianDeityId ) -{ - try - { - auto row = m_GuardianDeityDat.get_row( GuardianDeityId ); - auto info = boost::make_shared< GuardianDeity >( GuardianDeityId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GuildleveAssignmentPtr - Core::Data::ExdDataGenerated::getGuildleveAssignment( uint32_t GuildleveAssignmentId ) -{ - try - { - auto row = m_GuildleveAssignmentDat.get_row( GuildleveAssignmentId ); - auto info = boost::make_shared< GuildleveAssignment >( GuildleveAssignmentId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GuildOrderGuidePtr - Core::Data::ExdDataGenerated::getGuildOrderGuide( uint32_t GuildOrderGuideId ) -{ - try - { - auto row = m_GuildOrderGuideDat.get_row( GuildOrderGuideId ); - auto info = boost::make_shared< GuildOrderGuide >( GuildOrderGuideId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::GuildOrderOfficerPtr - Core::Data::ExdDataGenerated::getGuildOrderOfficer( uint32_t GuildOrderOfficerId ) -{ - try - { - auto row = m_GuildOrderOfficerDat.get_row( GuildOrderOfficerId ); - auto info = boost::make_shared< GuildOrderOfficer >( GuildOrderOfficerId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::HouseRetainerPosePtr - Core::Data::ExdDataGenerated::getHouseRetainerPose( uint32_t HouseRetainerPoseId ) -{ - try - { - auto row = m_HouseRetainerPoseDat.get_row( HouseRetainerPoseId ); - auto info = boost::make_shared< HouseRetainerPose >( HouseRetainerPoseId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::HousingFurniturePtr - Core::Data::ExdDataGenerated::getHousingFurniture( uint32_t HousingFurnitureId ) -{ - try - { - auto row = m_HousingFurnitureDat.get_row( HousingFurnitureId ); - auto info = boost::make_shared< HousingFurniture >( HousingFurnitureId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::HousingYardObjectPtr - Core::Data::ExdDataGenerated::getHousingYardObject( uint32_t HousingYardObjectId ) -{ - try - { - auto row = m_HousingYardObjectDat.get_row( HousingYardObjectId ); - auto info = boost::make_shared< HousingYardObject >( HousingYardObjectId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::InstanceContentPtr - Core::Data::ExdDataGenerated::getInstanceContent( uint32_t InstanceContentId ) -{ - try - { - auto row = m_InstanceContentDat.get_row( InstanceContentId ); - auto info = boost::make_shared< InstanceContent >( InstanceContentId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::InstanceContentBuffPtr - Core::Data::ExdDataGenerated::getInstanceContentBuff( uint32_t InstanceContentBuffId ) -{ - try - { - auto row = m_InstanceContentBuffDat.get_row( InstanceContentBuffId ); - auto info = boost::make_shared< InstanceContentBuff >( InstanceContentBuffId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::InstanceContentTextDataPtr - Core::Data::ExdDataGenerated::getInstanceContentTextData( uint32_t InstanceContentTextDataId ) -{ - try - { - auto row = m_InstanceContentTextDataDat.get_row( InstanceContentTextDataId ); - auto info = boost::make_shared< InstanceContentTextData >( InstanceContentTextDataId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::InstanceContentTypePtr - Core::Data::ExdDataGenerated::getInstanceContentType( uint32_t InstanceContentTypeId ) -{ - try - { - auto row = m_InstanceContentTypeDat.get_row( InstanceContentTypeId ); - auto info = boost::make_shared< InstanceContentType >( InstanceContentTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ItemPtr - Core::Data::ExdDataGenerated::getItem( uint32_t ItemId ) -{ - try - { - auto row = m_ItemDat.get_row( ItemId ); - auto info = boost::make_shared< Item >( ItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ItemActionPtr - Core::Data::ExdDataGenerated::getItemAction( uint32_t ItemActionId ) -{ - try - { - auto row = m_ItemActionDat.get_row( ItemActionId ); - auto info = boost::make_shared< ItemAction >( ItemActionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ItemFoodPtr - Core::Data::ExdDataGenerated::getItemFood( uint32_t ItemFoodId ) -{ - try - { - auto row = m_ItemFoodDat.get_row( ItemFoodId ); - auto info = boost::make_shared< ItemFood >( ItemFoodId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ItemSearchCategoryPtr - Core::Data::ExdDataGenerated::getItemSearchCategory( uint32_t ItemSearchCategoryId ) -{ - try - { - auto row = m_ItemSearchCategoryDat.get_row( ItemSearchCategoryId ); - auto info = boost::make_shared< ItemSearchCategory >( ItemSearchCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ItemSeriesPtr - Core::Data::ExdDataGenerated::getItemSeries( uint32_t ItemSeriesId ) -{ - try - { - auto row = m_ItemSeriesDat.get_row( ItemSeriesId ); - auto info = boost::make_shared< ItemSeries >( ItemSeriesId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ItemSpecialBonusPtr - Core::Data::ExdDataGenerated::getItemSpecialBonus( uint32_t ItemSpecialBonusId ) -{ - try - { - auto row = m_ItemSpecialBonusDat.get_row( ItemSpecialBonusId ); - auto info = boost::make_shared< ItemSpecialBonus >( ItemSpecialBonusId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ItemUICategoryPtr - Core::Data::ExdDataGenerated::getItemUICategory( uint32_t ItemUICategoryId ) -{ - try - { - auto row = m_ItemUICategoryDat.get_row( ItemUICategoryId ); - auto info = boost::make_shared< ItemUICategory >( ItemUICategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::JournalCategoryPtr - Core::Data::ExdDataGenerated::getJournalCategory( uint32_t JournalCategoryId ) -{ - try - { - auto row = m_JournalCategoryDat.get_row( JournalCategoryId ); - auto info = boost::make_shared< JournalCategory >( JournalCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::JournalGenrePtr - Core::Data::ExdDataGenerated::getJournalGenre( uint32_t JournalGenreId ) -{ - try - { - auto row = m_JournalGenreDat.get_row( JournalGenreId ); - auto info = boost::make_shared< JournalGenre >( JournalGenreId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::JournalSectionPtr - Core::Data::ExdDataGenerated::getJournalSection( uint32_t JournalSectionId ) -{ - try - { - auto row = m_JournalSectionDat.get_row( JournalSectionId ); - auto info = boost::make_shared< JournalSection >( JournalSectionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LevePtr - Core::Data::ExdDataGenerated::getLeve( uint32_t LeveId ) -{ - try - { - auto row = m_LeveDat.get_row( LeveId ); - auto info = boost::make_shared< Leve >( LeveId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LeveAssignmentTypePtr - Core::Data::ExdDataGenerated::getLeveAssignmentType( uint32_t LeveAssignmentTypeId ) -{ - try - { - auto row = m_LeveAssignmentTypeDat.get_row( LeveAssignmentTypeId ); - auto info = boost::make_shared< LeveAssignmentType >( LeveAssignmentTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LeveClientPtr - Core::Data::ExdDataGenerated::getLeveClient( uint32_t LeveClientId ) -{ - try - { - auto row = m_LeveClientDat.get_row( LeveClientId ); - auto info = boost::make_shared< LeveClient >( LeveClientId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LevelPtr - Core::Data::ExdDataGenerated::getLevel( uint32_t LevelId ) -{ - try - { - auto row = m_LevelDat.get_row( LevelId ); - auto info = boost::make_shared< Level >( LevelId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LeveRewardItemPtr - Core::Data::ExdDataGenerated::getLeveRewardItem( uint32_t LeveRewardItemId ) -{ - try - { - auto row = m_LeveRewardItemDat.get_row( LeveRewardItemId ); - auto info = boost::make_shared< LeveRewardItem >( LeveRewardItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LeveRewardItemGroupPtr - Core::Data::ExdDataGenerated::getLeveRewardItemGroup( uint32_t LeveRewardItemGroupId ) -{ - try - { - auto row = m_LeveRewardItemGroupDat.get_row( LeveRewardItemGroupId ); - auto info = boost::make_shared< LeveRewardItemGroup >( LeveRewardItemGroupId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LeveVfxPtr - Core::Data::ExdDataGenerated::getLeveVfx( uint32_t LeveVfxId ) -{ - try - { - auto row = m_LeveVfxDat.get_row( LeveVfxId ); - auto info = boost::make_shared< LeveVfx >( LeveVfxId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LogFilterPtr - Core::Data::ExdDataGenerated::getLogFilter( uint32_t LogFilterId ) -{ - try - { - auto row = m_LogFilterDat.get_row( LogFilterId ); - auto info = boost::make_shared< LogFilter >( LogFilterId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LogKindPtr - Core::Data::ExdDataGenerated::getLogKind( uint32_t LogKindId ) -{ - try - { - auto row = m_LogKindDat.get_row( LogKindId ); - auto info = boost::make_shared< LogKind >( LogKindId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LogKindCategoryTextPtr - Core::Data::ExdDataGenerated::getLogKindCategoryText( uint32_t LogKindCategoryTextId ) -{ - try - { - auto row = m_LogKindCategoryTextDat.get_row( LogKindCategoryTextId ); - auto info = boost::make_shared< LogKindCategoryText >( LogKindCategoryTextId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::LogMessagePtr - Core::Data::ExdDataGenerated::getLogMessage( uint32_t LogMessageId ) -{ - try - { - auto row = m_LogMessageDat.get_row( LogMessageId ); - auto info = boost::make_shared< LogMessage >( LogMessageId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MacroIconPtr - Core::Data::ExdDataGenerated::getMacroIcon( uint32_t MacroIconId ) -{ - try - { - auto row = m_MacroIconDat.get_row( MacroIconId ); - auto info = boost::make_shared< MacroIcon >( MacroIconId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MacroIconRedirectOldPtr - Core::Data::ExdDataGenerated::getMacroIconRedirectOld( uint32_t MacroIconRedirectOldId ) -{ - try - { - auto row = m_MacroIconRedirectOldDat.get_row( MacroIconRedirectOldId ); - auto info = boost::make_shared< MacroIconRedirectOld >( MacroIconRedirectOldId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MainCommandPtr - Core::Data::ExdDataGenerated::getMainCommand( uint32_t MainCommandId ) -{ - try - { - auto row = m_MainCommandDat.get_row( MainCommandId ); - auto info = boost::make_shared< MainCommand >( MainCommandId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MainCommandCategoryPtr - Core::Data::ExdDataGenerated::getMainCommandCategory( uint32_t MainCommandCategoryId ) -{ - try - { - auto row = m_MainCommandCategoryDat.get_row( MainCommandCategoryId ); - auto info = boost::make_shared< MainCommandCategory >( MainCommandCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MapPtr - Core::Data::ExdDataGenerated::getMap( uint32_t MapId ) -{ - try - { - auto row = m_MapDat.get_row( MapId ); - auto info = boost::make_shared< Map >( MapId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MapMarkerPtr - Core::Data::ExdDataGenerated::getMapMarker( uint32_t MapMarkerId ) -{ - try - { - auto row = m_MapMarkerDat.get_row( MapMarkerId ); - auto info = boost::make_shared< MapMarker >( MapMarkerId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MapSymbolPtr - Core::Data::ExdDataGenerated::getMapSymbol( uint32_t MapSymbolId ) -{ - try - { - auto row = m_MapSymbolDat.get_row( MapSymbolId ); - auto info = boost::make_shared< MapSymbol >( MapSymbolId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MasterpieceSupplyDutyPtr - Core::Data::ExdDataGenerated::getMasterpieceSupplyDuty( uint32_t MasterpieceSupplyDutyId ) -{ - try - { - auto row = m_MasterpieceSupplyDutyDat.get_row( MasterpieceSupplyDutyId ); - auto info = boost::make_shared< MasterpieceSupplyDuty >( MasterpieceSupplyDutyId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MasterpieceSupplyMultiplierPtr - Core::Data::ExdDataGenerated::getMasterpieceSupplyMultiplier( uint32_t MasterpieceSupplyMultiplierId ) -{ - try - { - auto row = m_MasterpieceSupplyMultiplierDat.get_row( MasterpieceSupplyMultiplierId ); - auto info = boost::make_shared< MasterpieceSupplyMultiplier >( MasterpieceSupplyMultiplierId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MateriaPtr - Core::Data::ExdDataGenerated::getMateria( uint32_t MateriaId ) -{ - try - { - auto row = m_MateriaDat.get_row( MateriaId ); - auto info = boost::make_shared< Materia >( MateriaId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MinionRacePtr - Core::Data::ExdDataGenerated::getMinionRace( uint32_t MinionRaceId ) -{ - try - { - auto row = m_MinionRaceDat.get_row( MinionRaceId ); - auto info = boost::make_shared< MinionRace >( MinionRaceId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MinionRulesPtr - Core::Data::ExdDataGenerated::getMinionRules( uint32_t MinionRulesId ) -{ - try - { - auto row = m_MinionRulesDat.get_row( MinionRulesId ); - auto info = boost::make_shared< MinionRules >( MinionRulesId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MinionSkillTypePtr - Core::Data::ExdDataGenerated::getMinionSkillType( uint32_t MinionSkillTypeId ) -{ - try - { - auto row = m_MinionSkillTypeDat.get_row( MinionSkillTypeId ); - auto info = boost::make_shared< MinionSkillType >( MinionSkillTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MobHuntTargetPtr - Core::Data::ExdDataGenerated::getMobHuntTarget( uint32_t MobHuntTargetId ) -{ - try - { - auto row = m_MobHuntTargetDat.get_row( MobHuntTargetId ); - auto info = boost::make_shared< MobHuntTarget >( MobHuntTargetId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ModelCharaPtr - Core::Data::ExdDataGenerated::getModelChara( uint32_t ModelCharaId ) -{ - try - { - auto row = m_ModelCharaDat.get_row( ModelCharaId ); - auto info = boost::make_shared< ModelChara >( ModelCharaId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MonsterNotePtr - Core::Data::ExdDataGenerated::getMonsterNote( uint32_t MonsterNoteId ) -{ - try - { - auto row = m_MonsterNoteDat.get_row( MonsterNoteId ); - auto info = boost::make_shared< MonsterNote >( MonsterNoteId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MonsterNoteTargetPtr - Core::Data::ExdDataGenerated::getMonsterNoteTarget( uint32_t MonsterNoteTargetId ) -{ - try - { - auto row = m_MonsterNoteTargetDat.get_row( MonsterNoteTargetId ); - auto info = boost::make_shared< MonsterNoteTarget >( MonsterNoteTargetId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MountPtr - Core::Data::ExdDataGenerated::getMount( uint32_t MountId ) -{ - try - { - auto row = m_MountDat.get_row( MountId ); - auto info = boost::make_shared< Mount >( MountId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::MountActionPtr - Core::Data::ExdDataGenerated::getMountAction( uint32_t MountActionId ) -{ - try - { - auto row = m_MountActionDat.get_row( MountActionId ); - auto info = boost::make_shared< MountAction >( MountActionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::NpcEquipPtr - Core::Data::ExdDataGenerated::getNpcEquip( uint32_t NpcEquipId ) -{ - try - { - auto row = m_NpcEquipDat.get_row( NpcEquipId ); - auto info = boost::make_shared< NpcEquip >( NpcEquipId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::OmenPtr - Core::Data::ExdDataGenerated::getOmen( uint32_t OmenId ) -{ - try - { - auto row = m_OmenDat.get_row( OmenId ); - auto info = boost::make_shared< Omen >( OmenId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::OnlineStatusPtr - Core::Data::ExdDataGenerated::getOnlineStatus( uint32_t OnlineStatusId ) -{ - try - { - auto row = m_OnlineStatusDat.get_row( OnlineStatusId ); - auto info = boost::make_shared< OnlineStatus >( OnlineStatusId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::OpeningPtr - Core::Data::ExdDataGenerated::getOpening( uint32_t OpeningId ) -{ - try - { - auto row = m_OpeningDat.get_row( OpeningId ); - auto info = boost::make_shared< Opening >( OpeningId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::OrchestrionPtr - Core::Data::ExdDataGenerated::getOrchestrion( uint32_t OrchestrionId ) -{ - try - { - auto row = m_OrchestrionDat.get_row( OrchestrionId ); - auto info = boost::make_shared< Orchestrion >( OrchestrionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::OrchestrionPathPtr - Core::Data::ExdDataGenerated::getOrchestrionPath( uint32_t OrchestrionPathId ) -{ - try - { - auto row = m_OrchestrionPathDat.get_row( OrchestrionPathId ); - auto info = boost::make_shared< OrchestrionPath >( OrchestrionPathId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ParamGrowPtr - Core::Data::ExdDataGenerated::getParamGrow( uint32_t ParamGrowId ) -{ - try - { - auto row = m_ParamGrowDat.get_row( ParamGrowId ); - auto info = boost::make_shared< ParamGrow >( ParamGrowId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::PetPtr - Core::Data::ExdDataGenerated::getPet( uint32_t PetId ) -{ - try - { - auto row = m_PetDat.get_row( PetId ); - auto info = boost::make_shared< Pet >( PetId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::PetActionPtr - Core::Data::ExdDataGenerated::getPetAction( uint32_t PetActionId ) -{ - try - { - auto row = m_PetActionDat.get_row( PetActionId ); - auto info = boost::make_shared< PetAction >( PetActionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::PicturePtr - Core::Data::ExdDataGenerated::getPicture( uint32_t PictureId ) -{ - try - { - auto row = m_PictureDat.get_row( PictureId ); - auto info = boost::make_shared< Picture >( PictureId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::PlaceNamePtr - Core::Data::ExdDataGenerated::getPlaceName( uint32_t PlaceNameId ) -{ - try - { - auto row = m_PlaceNameDat.get_row( PlaceNameId ); - auto info = boost::make_shared< PlaceName >( PlaceNameId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::QuestPtr - Core::Data::ExdDataGenerated::getQuest( uint32_t QuestId ) -{ - try - { - auto row = m_QuestDat.get_row( QuestId ); - auto info = boost::make_shared< Quest >( QuestId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::QuestRewardOtherPtr - Core::Data::ExdDataGenerated::getQuestRewardOther( uint32_t QuestRewardOtherId ) -{ - try - { - auto row = m_QuestRewardOtherDat.get_row( QuestRewardOtherId ); - auto info = boost::make_shared< QuestRewardOther >( QuestRewardOtherId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RacePtr - Core::Data::ExdDataGenerated::getRace( uint32_t RaceId ) -{ - try - { - auto row = m_RaceDat.get_row( RaceId ); - auto info = boost::make_shared< Race >( RaceId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RacingChocoboItemPtr - Core::Data::ExdDataGenerated::getRacingChocoboItem( uint32_t RacingChocoboItemId ) -{ - try - { - auto row = m_RacingChocoboItemDat.get_row( RacingChocoboItemId ); - auto info = boost::make_shared< RacingChocoboItem >( RacingChocoboItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RacingChocoboNamePtr - Core::Data::ExdDataGenerated::getRacingChocoboName( uint32_t RacingChocoboNameId ) -{ - try - { - auto row = m_RacingChocoboNameDat.get_row( RacingChocoboNameId ); - auto info = boost::make_shared< RacingChocoboName >( RacingChocoboNameId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RacingChocoboNameCategoryPtr - Core::Data::ExdDataGenerated::getRacingChocoboNameCategory( uint32_t RacingChocoboNameCategoryId ) -{ - try - { - auto row = m_RacingChocoboNameCategoryDat.get_row( RacingChocoboNameCategoryId ); - auto info = boost::make_shared< RacingChocoboNameCategory >( RacingChocoboNameCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RacingChocoboNameInfoPtr - Core::Data::ExdDataGenerated::getRacingChocoboNameInfo( uint32_t RacingChocoboNameInfoId ) -{ - try - { - auto row = m_RacingChocoboNameInfoDat.get_row( RacingChocoboNameInfoId ); - auto info = boost::make_shared< RacingChocoboNameInfo >( RacingChocoboNameInfoId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RacingChocoboParamPtr - Core::Data::ExdDataGenerated::getRacingChocoboParam( uint32_t RacingChocoboParamId ) -{ - try - { - auto row = m_RacingChocoboParamDat.get_row( RacingChocoboParamId ); - auto info = boost::make_shared< RacingChocoboParam >( RacingChocoboParamId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RecipePtr - Core::Data::ExdDataGenerated::getRecipe( uint32_t RecipeId ) -{ - try - { - auto row = m_RecipeDat.get_row( RecipeId ); - auto info = boost::make_shared< Recipe >( RecipeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RecipeElementPtr - Core::Data::ExdDataGenerated::getRecipeElement( uint32_t RecipeElementId ) -{ - try - { - auto row = m_RecipeElementDat.get_row( RecipeElementId ); - auto info = boost::make_shared< RecipeElement >( RecipeElementId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RecipeLevelTablePtr - Core::Data::ExdDataGenerated::getRecipeLevelTable( uint32_t RecipeLevelTableId ) -{ - try - { - auto row = m_RecipeLevelTableDat.get_row( RecipeLevelTableId ); - auto info = boost::make_shared< RecipeLevelTable >( RecipeLevelTableId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RecipeNotebookListPtr - Core::Data::ExdDataGenerated::getRecipeNotebookList( uint32_t RecipeNotebookListId ) -{ - try - { - auto row = m_RecipeNotebookListDat.get_row( RecipeNotebookListId ); - auto info = boost::make_shared< RecipeNotebookList >( RecipeNotebookListId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RelicPtr - Core::Data::ExdDataGenerated::getRelic( uint32_t RelicId ) -{ - try - { - auto row = m_RelicDat.get_row( RelicId ); - auto info = boost::make_shared< Relic >( RelicId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::Relic3Ptr - Core::Data::ExdDataGenerated::getRelic3( uint32_t Relic3Id ) -{ - try - { - auto row = m_Relic3Dat.get_row( Relic3Id ); - auto info = boost::make_shared< Relic3 >( Relic3Id, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RelicItemPtr - Core::Data::ExdDataGenerated::getRelicItem( uint32_t RelicItemId ) -{ - try - { - auto row = m_RelicItemDat.get_row( RelicItemId ); - auto info = boost::make_shared< RelicItem >( RelicItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RelicNotePtr - Core::Data::ExdDataGenerated::getRelicNote( uint32_t RelicNoteId ) -{ - try - { - auto row = m_RelicNoteDat.get_row( RelicNoteId ); - auto info = boost::make_shared< RelicNote >( RelicNoteId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RelicNoteCategoryPtr - Core::Data::ExdDataGenerated::getRelicNoteCategory( uint32_t RelicNoteCategoryId ) -{ - try - { - auto row = m_RelicNoteCategoryDat.get_row( RelicNoteCategoryId ); - auto info = boost::make_shared< RelicNoteCategory >( RelicNoteCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RetainerTaskPtr - Core::Data::ExdDataGenerated::getRetainerTask( uint32_t RetainerTaskId ) -{ - try - { - auto row = m_RetainerTaskDat.get_row( RetainerTaskId ); - auto info = boost::make_shared< RetainerTask >( RetainerTaskId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RetainerTaskNormalPtr - Core::Data::ExdDataGenerated::getRetainerTaskNormal( uint32_t RetainerTaskNormalId ) -{ - try - { - auto row = m_RetainerTaskNormalDat.get_row( RetainerTaskNormalId ); - auto info = boost::make_shared< RetainerTaskNormal >( RetainerTaskNormalId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RetainerTaskParameterPtr - Core::Data::ExdDataGenerated::getRetainerTaskParameter( uint32_t RetainerTaskParameterId ) -{ - try - { - auto row = m_RetainerTaskParameterDat.get_row( RetainerTaskParameterId ); - auto info = boost::make_shared< RetainerTaskParameter >( RetainerTaskParameterId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::RetainerTaskRandomPtr - Core::Data::ExdDataGenerated::getRetainerTaskRandom( uint32_t RetainerTaskRandomId ) -{ - try - { - auto row = m_RetainerTaskRandomDat.get_row( RetainerTaskRandomId ); - auto info = boost::make_shared< RetainerTaskRandom >( RetainerTaskRandomId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::SalvagePtr - Core::Data::ExdDataGenerated::getSalvage( uint32_t SalvageId ) -{ - try - { - auto row = m_SalvageDat.get_row( SalvageId ); - auto info = boost::make_shared< Salvage >( SalvageId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::SatisfactionNpcPtr - Core::Data::ExdDataGenerated::getSatisfactionNpc( uint32_t SatisfactionNpcId ) -{ - try - { - auto row = m_SatisfactionNpcDat.get_row( SatisfactionNpcId ); - auto info = boost::make_shared< SatisfactionNpc >( SatisfactionNpcId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::SatisfactionSupplyPtr - Core::Data::ExdDataGenerated::getSatisfactionSupply( uint32_t SatisfactionSupplyId ) -{ - try - { - auto row = m_SatisfactionSupplyDat.get_row( SatisfactionSupplyId ); - auto info = boost::make_shared< SatisfactionSupply >( SatisfactionSupplyId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::SatisfactionSupplyRewardPtr - Core::Data::ExdDataGenerated::getSatisfactionSupplyReward( uint32_t SatisfactionSupplyRewardId ) -{ - try - { - auto row = m_SatisfactionSupplyRewardDat.get_row( SatisfactionSupplyRewardId ); - auto info = boost::make_shared< SatisfactionSupplyReward >( SatisfactionSupplyRewardId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::ScreenImagePtr - Core::Data::ExdDataGenerated::getScreenImage( uint32_t ScreenImageId ) -{ - try - { - auto row = m_ScreenImageDat.get_row( ScreenImageId ); - auto info = boost::make_shared< ScreenImage >( ScreenImageId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::SecretRecipeBookPtr - Core::Data::ExdDataGenerated::getSecretRecipeBook( uint32_t SecretRecipeBookId ) -{ - try - { - auto row = m_SecretRecipeBookDat.get_row( SecretRecipeBookId ); - auto info = boost::make_shared< SecretRecipeBook >( SecretRecipeBookId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::SpearfishingItemPtr - Core::Data::ExdDataGenerated::getSpearfishingItem( uint32_t SpearfishingItemId ) -{ - try - { - auto row = m_SpearfishingItemDat.get_row( SpearfishingItemId ); - auto info = boost::make_shared< SpearfishingItem >( SpearfishingItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::SpearfishingNotebookPtr - Core::Data::ExdDataGenerated::getSpearfishingNotebook( uint32_t SpearfishingNotebookId ) -{ - try - { - auto row = m_SpearfishingNotebookDat.get_row( SpearfishingNotebookId ); - auto info = boost::make_shared< SpearfishingNotebook >( SpearfishingNotebookId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::SpecialShopPtr - Core::Data::ExdDataGenerated::getSpecialShop( uint32_t SpecialShopId ) -{ - try - { - auto row = m_SpecialShopDat.get_row( SpecialShopId ); - auto info = boost::make_shared< SpecialShop >( SpecialShopId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::SpecialShopItemCategoryPtr - Core::Data::ExdDataGenerated::getSpecialShopItemCategory( uint32_t SpecialShopItemCategoryId ) -{ - try - { - auto row = m_SpecialShopItemCategoryDat.get_row( SpecialShopItemCategoryId ); - auto info = boost::make_shared< SpecialShopItemCategory >( SpecialShopItemCategoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::StainPtr - Core::Data::ExdDataGenerated::getStain( uint32_t StainId ) -{ - try - { - auto row = m_StainDat.get_row( StainId ); - auto info = boost::make_shared< Stain >( StainId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::StatusPtr - Core::Data::ExdDataGenerated::getStatus( uint32_t StatusId ) -{ - try - { - auto row = m_StatusDat.get_row( StatusId ); - auto info = boost::make_shared< Status >( StatusId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::StoryPtr - Core::Data::ExdDataGenerated::getStory( uint32_t StoryId ) -{ - try - { - auto row = m_StoryDat.get_row( StoryId ); - auto info = boost::make_shared< Story >( StoryId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::SwitchTalkPtr - Core::Data::ExdDataGenerated::getSwitchTalk( uint32_t SwitchTalkId ) -{ - try - { - auto row = m_SwitchTalkDat.get_row( SwitchTalkId ); - auto info = boost::make_shared< SwitchTalk >( SwitchTalkId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TerritoryTypePtr - Core::Data::ExdDataGenerated::getTerritoryType( uint32_t TerritoryTypeId ) -{ - try - { - auto row = m_TerritoryTypeDat.get_row( TerritoryTypeId ); - auto info = boost::make_shared< TerritoryType >( TerritoryTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TextCommandPtr - Core::Data::ExdDataGenerated::getTextCommand( uint32_t TextCommandId ) -{ - try - { - auto row = m_TextCommandDat.get_row( TextCommandId ); - auto info = boost::make_shared< TextCommand >( TextCommandId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TitlePtr - Core::Data::ExdDataGenerated::getTitle( uint32_t TitleId ) -{ - try - { - auto row = m_TitleDat.get_row( TitleId ); - auto info = boost::make_shared< Title >( TitleId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TomestonesPtr - Core::Data::ExdDataGenerated::getTomestones( uint32_t TomestonesId ) -{ - try - { - auto row = m_TomestonesDat.get_row( TomestonesId ); - auto info = boost::make_shared< Tomestones >( TomestonesId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TomestonesItemPtr - Core::Data::ExdDataGenerated::getTomestonesItem( uint32_t TomestonesItemId ) -{ - try - { - auto row = m_TomestonesItemDat.get_row( TomestonesItemId ); - auto info = boost::make_shared< TomestonesItem >( TomestonesItemId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TopicSelectPtr - Core::Data::ExdDataGenerated::getTopicSelect( uint32_t TopicSelectId ) -{ - try - { - auto row = m_TopicSelectDat.get_row( TopicSelectId ); - auto info = boost::make_shared< TopicSelect >( TopicSelectId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TownPtr - Core::Data::ExdDataGenerated::getTown( uint32_t TownId ) -{ - try - { - auto row = m_TownDat.get_row( TownId ); - auto info = boost::make_shared< Town >( TownId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TraitPtr - Core::Data::ExdDataGenerated::getTrait( uint32_t TraitId ) -{ - try - { - auto row = m_TraitDat.get_row( TraitId ); - auto info = boost::make_shared< Trait >( TraitId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TraitRecastPtr - Core::Data::ExdDataGenerated::getTraitRecast( uint32_t TraitRecastId ) -{ - try - { - auto row = m_TraitRecastDat.get_row( TraitRecastId ); - auto info = boost::make_shared< TraitRecast >( TraitRecastId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TraitTransientPtr - Core::Data::ExdDataGenerated::getTraitTransient( uint32_t TraitTransientId ) -{ - try - { - auto row = m_TraitTransientDat.get_row( TraitTransientId ); - auto info = boost::make_shared< TraitTransient >( TraitTransientId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TribePtr - Core::Data::ExdDataGenerated::getTribe( uint32_t TribeId ) -{ - try - { - auto row = m_TribeDat.get_row( TribeId ); - auto info = boost::make_shared< Tribe >( TribeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TripleTriadPtr - Core::Data::ExdDataGenerated::getTripleTriad( uint32_t TripleTriadId ) -{ - try - { - auto row = m_TripleTriadDat.get_row( TripleTriadId ); - auto info = boost::make_shared< TripleTriad >( TripleTriadId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TripleTriadCardPtr - Core::Data::ExdDataGenerated::getTripleTriadCard( uint32_t TripleTriadCardId ) -{ - try - { - auto row = m_TripleTriadCardDat.get_row( TripleTriadCardId ); - auto info = boost::make_shared< TripleTriadCard >( TripleTriadCardId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TripleTriadCardRarityPtr - Core::Data::ExdDataGenerated::getTripleTriadCardRarity( uint32_t TripleTriadCardRarityId ) -{ - try - { - auto row = m_TripleTriadCardRarityDat.get_row( TripleTriadCardRarityId ); - auto info = boost::make_shared< TripleTriadCardRarity >( TripleTriadCardRarityId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TripleTriadCardResidentPtr - Core::Data::ExdDataGenerated::getTripleTriadCardResident( uint32_t TripleTriadCardResidentId ) -{ - try - { - auto row = m_TripleTriadCardResidentDat.get_row( TripleTriadCardResidentId ); - auto info = boost::make_shared< TripleTriadCardResident >( TripleTriadCardResidentId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TripleTriadCardTypePtr - Core::Data::ExdDataGenerated::getTripleTriadCardType( uint32_t TripleTriadCardTypeId ) -{ - try - { - auto row = m_TripleTriadCardTypeDat.get_row( TripleTriadCardTypeId ); - auto info = boost::make_shared< TripleTriadCardType >( TripleTriadCardTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TripleTriadCompetitionPtr - Core::Data::ExdDataGenerated::getTripleTriadCompetition( uint32_t TripleTriadCompetitionId ) -{ - try - { - auto row = m_TripleTriadCompetitionDat.get_row( TripleTriadCompetitionId ); - auto info = boost::make_shared< TripleTriadCompetition >( TripleTriadCompetitionId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TripleTriadRulePtr - Core::Data::ExdDataGenerated::getTripleTriadRule( uint32_t TripleTriadRuleId ) -{ - try - { - auto row = m_TripleTriadRuleDat.get_row( TripleTriadRuleId ); - auto info = boost::make_shared< TripleTriadRule >( TripleTriadRuleId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TutorialPtr - Core::Data::ExdDataGenerated::getTutorial( uint32_t TutorialId ) -{ - try - { - auto row = m_TutorialDat.get_row( TutorialId ); - auto info = boost::make_shared< Tutorial >( TutorialId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TutorialDPSPtr - Core::Data::ExdDataGenerated::getTutorialDPS( uint32_t TutorialDPSId ) -{ - try - { - auto row = m_TutorialDPSDat.get_row( TutorialDPSId ); - auto info = boost::make_shared< TutorialDPS >( TutorialDPSId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TutorialHealerPtr - Core::Data::ExdDataGenerated::getTutorialHealer( uint32_t TutorialHealerId ) -{ - try - { - auto row = m_TutorialHealerDat.get_row( TutorialHealerId ); - auto info = boost::make_shared< TutorialHealer >( TutorialHealerId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::TutorialTankPtr - Core::Data::ExdDataGenerated::getTutorialTank( uint32_t TutorialTankId ) -{ - try - { - auto row = m_TutorialTankDat.get_row( TutorialTankId ); - auto info = boost::make_shared< TutorialTank >( TutorialTankId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::WarpPtr - Core::Data::ExdDataGenerated::getWarp( uint32_t WarpId ) -{ - try - { - auto row = m_WarpDat.get_row( WarpId ); - auto info = boost::make_shared< Warp >( WarpId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::WeatherPtr - Core::Data::ExdDataGenerated::getWeather( uint32_t WeatherId ) -{ - try - { - auto row = m_WeatherDat.get_row( WeatherId ); - auto info = boost::make_shared< Weather >( WeatherId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::WeatherGroupPtr - Core::Data::ExdDataGenerated::getWeatherGroup( uint32_t WeatherGroupId ) -{ - try - { - auto row = m_WeatherGroupDat.get_row( WeatherGroupId ); - auto info = boost::make_shared< WeatherGroup >( WeatherGroupId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::WeatherRatePtr - Core::Data::ExdDataGenerated::getWeatherRate( uint32_t WeatherRateId ) -{ - try - { - auto row = m_WeatherRateDat.get_row( WeatherRateId ); - auto info = boost::make_shared< WeatherRate >( WeatherRateId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::WeeklyBingoOrderDataPtr - Core::Data::ExdDataGenerated::getWeeklyBingoOrderData( uint32_t WeeklyBingoOrderDataId ) -{ - try - { - auto row = m_WeeklyBingoOrderDataDat.get_row( WeeklyBingoOrderDataId ); - auto info = boost::make_shared< WeeklyBingoOrderData >( WeeklyBingoOrderDataId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::WeeklyBingoRewardDataPtr - Core::Data::ExdDataGenerated::getWeeklyBingoRewardData( uint32_t WeeklyBingoRewardDataId ) -{ - try - { - auto row = m_WeeklyBingoRewardDataDat.get_row( WeeklyBingoRewardDataId ); - auto info = boost::make_shared< WeeklyBingoRewardData >( WeeklyBingoRewardDataId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::WeeklyBingoTextPtr - Core::Data::ExdDataGenerated::getWeeklyBingoText( uint32_t WeeklyBingoTextId ) -{ - try - { - auto row = m_WeeklyBingoTextDat.get_row( WeeklyBingoTextId ); - auto info = boost::make_shared< WeeklyBingoText >( WeeklyBingoTextId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} -Core::Data::ExdDataGenerated::WorldDCGroupTypePtr - Core::Data::ExdDataGenerated::getWorldDCGroupType( uint32_t WorldDCGroupTypeId ) -{ - try - { - auto row = m_WorldDCGroupTypeDat.get_row( WorldDCGroupTypeId ); - auto info = boost::make_shared< WorldDCGroupType >( WorldDCGroupTypeId, this ); - return info; - } - catch( ... ) - { - return nullptr; - } - return nullptr; -} diff --git a/src/common/Exd/ExdDataGenerated.h b/src/common/Exd/ExdDataGenerated.h index c6f7ffd9..0cc29084 100644 --- a/src/common/Exd/ExdDataGenerated.h +++ b/src/common/Exd/ExdDataGenerated.h @@ -11,6 +11,7 @@ #include #include #include +#include namespace Core { namespace Data { @@ -244,7 +245,9 @@ struct Omen; struct OnlineStatus; struct Opening; struct Orchestrion; +struct OrchestrionCategory; struct OrchestrionPath; +struct OrchestrionUiparam; struct ParamGrow; struct Pet; struct PetAction; @@ -252,6 +255,8 @@ struct Picture; struct PlaceName; struct Quest; struct QuestRewardOther; +struct QuickChat; +struct QuickChatTransient; struct Race; struct RacingChocoboItem; struct RacingChocoboName; @@ -284,6 +289,9 @@ struct SpecialShopItemCategory; struct Stain; struct Status; struct Story; +struct SubmarineExploration; +struct SubmarinePart; +struct SubmarineRank; struct SwitchTalk; struct TerritoryType; struct TextCommand; @@ -295,6 +303,7 @@ struct Town; struct Trait; struct TraitRecast; struct TraitTransient; +struct TreasureHuntRank; struct Tribe; struct TripleTriad; struct TripleTriadCard; @@ -487,7 +496,6 @@ struct Aetheryte uint16_t placeName; uint16_t aethernetName; uint16_t territory; - uint32_t destination; bool isAetheryte; uint8_t aethernetGroup; uint16_t map; @@ -693,9 +701,16 @@ struct BeastReputationRank 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; @@ -1536,7 +1551,7 @@ struct EventAction { std::string name; uint16_t icon; - uint16_t castTime; + uint8_t castTime; EventAction( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -1996,6 +2011,9 @@ struct GilShop struct GilShopItem { int32_t item; + std::vector< int32_t > rowRequired; + uint16_t stateRequired; + uint16_t patch; GilShopItem( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; @@ -2284,6 +2302,7 @@ struct Leve int32_t placeNameStart; int32_t placeNameIssued; uint8_t classJobCategory; + int32_t journalGenre; int32_t placeNameStartZone; int32_t iconCityState; int32_t dataId; @@ -2552,6 +2571,7 @@ struct Mount uint8_t flyingCondition; uint8_t isFlying; uint16_t rideBGM; + int8_t order; uint16_t icon; Mount( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); @@ -2604,6 +2624,7 @@ struct Omen struct OnlineStatus { + uint8_t priority; std::string name; uint32_t icon; @@ -2625,6 +2646,13 @@ struct Orchestrion Orchestrion( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct OrchestrionCategory +{ + std::string name; + + OrchestrionCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct OrchestrionPath { std::string file; @@ -2632,6 +2660,14 @@ struct OrchestrionPath OrchestrionPath( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct OrchestrionUiparam +{ + uint8_t orchestrionCategory; + uint16_t order; + + OrchestrionUiparam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct ParamGrow { int32_t expToNext; @@ -2753,6 +2789,22 @@ struct QuestRewardOther QuestRewardOther( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); }; +struct QuickChat +{ + std::string nameAction; + int32_t icon1; + int8_t quickChatTransient; + + QuickChat( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct QuickChatTransient +{ + std::string textOutput; + + QuickChatTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct Race { std::string masculine; @@ -3086,6 +3138,41 @@ struct Story 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; + + 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; + + SubmarinePart( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + +struct SubmarineRank +{ + uint32_t expToNext; + + SubmarineRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct SwitchTalk { std::vector< uint32_t > quest; @@ -3187,6 +3274,18 @@ struct TraitTransient TraitTransient( 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; + + TreasureHuntRank( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ); +}; + struct Tribe { std::string masculine; @@ -3623,7 +3722,9 @@ struct WorldDCGroupType 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_PetDat; xiv::exd::Exd m_PetActionDat; @@ -3631,6 +3732,8 @@ struct WorldDCGroupType xiv::exd::Exd m_PlaceNameDat; xiv::exd::Exd m_QuestDat; 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; @@ -3663,6 +3766,9 @@ struct WorldDCGroupType xiv::exd::Exd m_StainDat; xiv::exd::Exd m_StatusDat; 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; @@ -3674,6 +3780,7 @@ struct WorldDCGroupType xiv::exd::Exd m_TraitDat; xiv::exd::Exd m_TraitRecastDat; xiv::exd::Exd m_TraitTransientDat; + xiv::exd::Exd m_TreasureHuntRankDat; xiv::exd::Exd m_TribeDat; xiv::exd::Exd m_TripleTriadDat; xiv::exd::Exd m_TripleTriadCardDat; @@ -3697,601 +3804,326 @@ struct WorldDCGroupType using AchievementPtr = boost::shared_ptr< Achievement >; - AchievementPtr getAchievement( uint32_t AchievementId ); using AchievementCategoryPtr = boost::shared_ptr< AchievementCategory >; - AchievementCategoryPtr getAchievementCategory( uint32_t AchievementCategoryId ); using AchievementKindPtr = boost::shared_ptr< AchievementKind >; - AchievementKindPtr getAchievementKind( uint32_t AchievementKindId ); using ActionPtr = boost::shared_ptr< Action >; - ActionPtr getAction( uint32_t ActionId ); using ActionCategoryPtr = boost::shared_ptr< ActionCategory >; - ActionCategoryPtr getActionCategory( uint32_t ActionCategoryId ); using ActionComboRoutePtr = boost::shared_ptr< ActionComboRoute >; - ActionComboRoutePtr getActionComboRoute( uint32_t ActionComboRouteId ); using ActionIndirectionPtr = boost::shared_ptr< ActionIndirection >; - ActionIndirectionPtr getActionIndirection( uint32_t ActionIndirectionId ); using ActionProcStatusPtr = boost::shared_ptr< ActionProcStatus >; - ActionProcStatusPtr getActionProcStatus( uint32_t ActionProcStatusId ); using ActionTimelinePtr = boost::shared_ptr< ActionTimeline >; - ActionTimelinePtr getActionTimeline( uint32_t ActionTimelineId ); using ActionTransientPtr = boost::shared_ptr< ActionTransient >; - ActionTransientPtr getActionTransient( uint32_t ActionTransientId ); using AddonPtr = boost::shared_ptr< Addon >; - AddonPtr getAddon( uint32_t AddonId ); using AdventurePtr = boost::shared_ptr< Adventure >; - AdventurePtr getAdventure( uint32_t AdventureId ); using AdventureExPhasePtr = boost::shared_ptr< AdventureExPhase >; - AdventureExPhasePtr getAdventureExPhase( uint32_t AdventureExPhaseId ); using AetherCurrentPtr = boost::shared_ptr< AetherCurrent >; - AetherCurrentPtr getAetherCurrent( uint32_t AetherCurrentId ); using AetherialWheelPtr = boost::shared_ptr< AetherialWheel >; - AetherialWheelPtr getAetherialWheel( uint32_t AetherialWheelId ); using AetherytePtr = boost::shared_ptr< Aetheryte >; - AetherytePtr getAetheryte( uint32_t AetheryteId ); using AirshipExplorationLevelPtr = boost::shared_ptr< AirshipExplorationLevel >; - AirshipExplorationLevelPtr getAirshipExplorationLevel( uint32_t AirshipExplorationLevelId ); using AirshipExplorationLogPtr = boost::shared_ptr< AirshipExplorationLog >; - AirshipExplorationLogPtr getAirshipExplorationLog( uint32_t AirshipExplorationLogId ); using AirshipExplorationParamTypePtr = boost::shared_ptr< AirshipExplorationParamType >; - AirshipExplorationParamTypePtr getAirshipExplorationParamType( uint32_t AirshipExplorationParamTypeId ); using AirshipExplorationPartPtr = boost::shared_ptr< AirshipExplorationPart >; - AirshipExplorationPartPtr getAirshipExplorationPart( uint32_t AirshipExplorationPartId ); using AirshipExplorationPointPtr = boost::shared_ptr< AirshipExplorationPoint >; - AirshipExplorationPointPtr getAirshipExplorationPoint( uint32_t AirshipExplorationPointId ); using AnimaWeapon5Ptr = boost::shared_ptr< AnimaWeapon5 >; - AnimaWeapon5Ptr getAnimaWeapon5( uint32_t AnimaWeapon5Id ); using AnimaWeapon5ParamPtr = boost::shared_ptr< AnimaWeapon5Param >; - AnimaWeapon5ParamPtr getAnimaWeapon5Param( uint32_t AnimaWeapon5ParamId ); using AnimaWeapon5PatternGroupPtr = boost::shared_ptr< AnimaWeapon5PatternGroup >; - AnimaWeapon5PatternGroupPtr getAnimaWeapon5PatternGroup( uint32_t AnimaWeapon5PatternGroupId ); using AnimaWeapon5SpiritTalkPtr = boost::shared_ptr< AnimaWeapon5SpiritTalk >; - AnimaWeapon5SpiritTalkPtr getAnimaWeapon5SpiritTalk( uint32_t AnimaWeapon5SpiritTalkId ); using AnimaWeapon5SpiritTalkParamPtr = boost::shared_ptr< AnimaWeapon5SpiritTalkParam >; - AnimaWeapon5SpiritTalkParamPtr getAnimaWeapon5SpiritTalkParam( uint32_t AnimaWeapon5SpiritTalkParamId ); using AnimaWeapon5TradeItemPtr = boost::shared_ptr< AnimaWeapon5TradeItem >; - AnimaWeapon5TradeItemPtr getAnimaWeapon5TradeItem( uint32_t AnimaWeapon5TradeItemId ); using AnimaWeaponFUITalkPtr = boost::shared_ptr< AnimaWeaponFUITalk >; - AnimaWeaponFUITalkPtr getAnimaWeaponFUITalk( uint32_t AnimaWeaponFUITalkId ); using AnimaWeaponFUITalkParamPtr = boost::shared_ptr< AnimaWeaponFUITalkParam >; - AnimaWeaponFUITalkParamPtr getAnimaWeaponFUITalkParam( uint32_t AnimaWeaponFUITalkParamId ); using AnimaWeaponIconPtr = boost::shared_ptr< AnimaWeaponIcon >; - AnimaWeaponIconPtr getAnimaWeaponIcon( uint32_t AnimaWeaponIconId ); using AnimaWeaponItemPtr = boost::shared_ptr< AnimaWeaponItem >; - AnimaWeaponItemPtr getAnimaWeaponItem( uint32_t AnimaWeaponItemId ); using AquariumFishPtr = boost::shared_ptr< AquariumFish >; - AquariumFishPtr getAquariumFish( uint32_t AquariumFishId ); using AquariumWaterPtr = boost::shared_ptr< AquariumWater >; - AquariumWaterPtr getAquariumWater( uint32_t AquariumWaterId ); using AttackTypePtr = boost::shared_ptr< AttackType >; - AttackTypePtr getAttackType( uint32_t AttackTypeId ); using BalloonPtr = boost::shared_ptr< Balloon >; - BalloonPtr getBalloon( uint32_t BalloonId ); using BaseParamPtr = boost::shared_ptr< BaseParam >; - BaseParamPtr getBaseParam( uint32_t BaseParamId ); using BattleLevePtr = boost::shared_ptr< BattleLeve >; - BattleLevePtr getBattleLeve( uint32_t BattleLeveId ); using BeastRankBonusPtr = boost::shared_ptr< BeastRankBonus >; - BeastRankBonusPtr getBeastRankBonus( uint32_t BeastRankBonusId ); using BeastReputationRankPtr = boost::shared_ptr< BeastReputationRank >; - BeastReputationRankPtr getBeastReputationRank( uint32_t BeastReputationRankId ); using BeastTribePtr = boost::shared_ptr< BeastTribe >; - BeastTribePtr getBeastTribe( uint32_t BeastTribeId ); using BehaviorPtr = boost::shared_ptr< Behavior >; - BehaviorPtr getBehavior( uint32_t BehaviorId ); using BGMPtr = boost::shared_ptr< BGM >; - BGMPtr getBGM( uint32_t BGMId ); using BNpcAnnounceIconPtr = boost::shared_ptr< BNpcAnnounceIcon >; - BNpcAnnounceIconPtr getBNpcAnnounceIcon( uint32_t BNpcAnnounceIconId ); using BNpcBasePtr = boost::shared_ptr< BNpcBase >; - BNpcBasePtr getBNpcBase( uint32_t BNpcBaseId ); using BNpcCustomizePtr = boost::shared_ptr< BNpcCustomize >; - BNpcCustomizePtr getBNpcCustomize( uint32_t BNpcCustomizeId ); using BNpcNamePtr = boost::shared_ptr< BNpcName >; - BNpcNamePtr getBNpcName( uint32_t BNpcNameId ); using BuddyActionPtr = boost::shared_ptr< BuddyAction >; - BuddyActionPtr getBuddyAction( uint32_t BuddyActionId ); using BuddyEquipPtr = boost::shared_ptr< BuddyEquip >; - BuddyEquipPtr getBuddyEquip( uint32_t BuddyEquipId ); using BuddyItemPtr = boost::shared_ptr< BuddyItem >; - BuddyItemPtr getBuddyItem( uint32_t BuddyItemId ); using BuddyRankPtr = boost::shared_ptr< BuddyRank >; - BuddyRankPtr getBuddyRank( uint32_t BuddyRankId ); using BuddySkillPtr = boost::shared_ptr< BuddySkill >; - BuddySkillPtr getBuddySkill( uint32_t BuddySkillId ); using CabinetPtr = boost::shared_ptr< Cabinet >; - CabinetPtr getCabinet( uint32_t CabinetId ); using CabinetCategoryPtr = boost::shared_ptr< CabinetCategory >; - CabinetCategoryPtr getCabinetCategory( uint32_t CabinetCategoryId ); using CalendarPtr = boost::shared_ptr< Calendar >; - CalendarPtr getCalendar( uint32_t CalendarId ); using CharaMakeCustomizePtr = boost::shared_ptr< CharaMakeCustomize >; - CharaMakeCustomizePtr getCharaMakeCustomize( uint32_t CharaMakeCustomizeId ); using CharaMakeTypePtr = boost::shared_ptr< CharaMakeType >; - CharaMakeTypePtr getCharaMakeType( uint32_t CharaMakeTypeId ); using ChocoboRacePtr = boost::shared_ptr< ChocoboRace >; - ChocoboRacePtr getChocoboRace( uint32_t ChocoboRaceId ); using ChocoboRaceAbilityPtr = boost::shared_ptr< ChocoboRaceAbility >; - ChocoboRaceAbilityPtr getChocoboRaceAbility( uint32_t ChocoboRaceAbilityId ); using ChocoboRaceAbilityTypePtr = boost::shared_ptr< ChocoboRaceAbilityType >; - ChocoboRaceAbilityTypePtr getChocoboRaceAbilityType( uint32_t ChocoboRaceAbilityTypeId ); using ChocoboRaceItemPtr = boost::shared_ptr< ChocoboRaceItem >; - ChocoboRaceItemPtr getChocoboRaceItem( uint32_t ChocoboRaceItemId ); using ChocoboRaceRankPtr = boost::shared_ptr< ChocoboRaceRank >; - ChocoboRaceRankPtr getChocoboRaceRank( uint32_t ChocoboRaceRankId ); using ChocoboRaceStatusPtr = boost::shared_ptr< ChocoboRaceStatus >; - ChocoboRaceStatusPtr getChocoboRaceStatus( uint32_t ChocoboRaceStatusId ); using ChocoboRaceTerritoryPtr = boost::shared_ptr< ChocoboRaceTerritory >; - ChocoboRaceTerritoryPtr getChocoboRaceTerritory( uint32_t ChocoboRaceTerritoryId ); using ChocoboTaxiStandPtr = boost::shared_ptr< ChocoboTaxiStand >; - ChocoboTaxiStandPtr getChocoboTaxiStand( uint32_t ChocoboTaxiStandId ); using ClassJobPtr = boost::shared_ptr< ClassJob >; - ClassJobPtr getClassJob( uint32_t ClassJobId ); using ClassJobCategoryPtr = boost::shared_ptr< ClassJobCategory >; - ClassJobCategoryPtr getClassJobCategory( uint32_t ClassJobCategoryId ); using CompanionPtr = boost::shared_ptr< Companion >; - CompanionPtr getCompanion( uint32_t CompanionId ); using CompanionMovePtr = boost::shared_ptr< CompanionMove >; - CompanionMovePtr getCompanionMove( uint32_t CompanionMoveId ); using CompanionTransientPtr = boost::shared_ptr< CompanionTransient >; - CompanionTransientPtr getCompanionTransient( uint32_t CompanionTransientId ); using CompanyActionPtr = boost::shared_ptr< CompanyAction >; - CompanyActionPtr getCompanyAction( uint32_t CompanyActionId ); using CompanyCraftDraftPtr = boost::shared_ptr< CompanyCraftDraft >; - CompanyCraftDraftPtr getCompanyCraftDraft( uint32_t CompanyCraftDraftId ); using CompanyCraftDraftCategoryPtr = boost::shared_ptr< CompanyCraftDraftCategory >; - CompanyCraftDraftCategoryPtr getCompanyCraftDraftCategory( uint32_t CompanyCraftDraftCategoryId ); using CompanyCraftManufactoryStatePtr = boost::shared_ptr< CompanyCraftManufactoryState >; - CompanyCraftManufactoryStatePtr getCompanyCraftManufactoryState( uint32_t CompanyCraftManufactoryStateId ); using CompanyCraftPartPtr = boost::shared_ptr< CompanyCraftPart >; - CompanyCraftPartPtr getCompanyCraftPart( uint32_t CompanyCraftPartId ); using CompanyCraftProcessPtr = boost::shared_ptr< CompanyCraftProcess >; - CompanyCraftProcessPtr getCompanyCraftProcess( uint32_t CompanyCraftProcessId ); using CompanyCraftSequencePtr = boost::shared_ptr< CompanyCraftSequence >; - CompanyCraftSequencePtr getCompanyCraftSequence( uint32_t CompanyCraftSequenceId ); using CompanyCraftSupplyItemPtr = boost::shared_ptr< CompanyCraftSupplyItem >; - CompanyCraftSupplyItemPtr getCompanyCraftSupplyItem( uint32_t CompanyCraftSupplyItemId ); using CompanyCraftTypePtr = boost::shared_ptr< CompanyCraftType >; - CompanyCraftTypePtr getCompanyCraftType( uint32_t CompanyCraftTypeId ); using CompleteJournalPtr = boost::shared_ptr< CompleteJournal >; - CompleteJournalPtr getCompleteJournal( uint32_t CompleteJournalId ); using CompleteJournalCategoryPtr = boost::shared_ptr< CompleteJournalCategory >; - CompleteJournalCategoryPtr getCompleteJournalCategory( uint32_t CompleteJournalCategoryId ); using ContentExActionPtr = boost::shared_ptr< ContentExAction >; - ContentExActionPtr getContentExAction( uint32_t ContentExActionId ); using ContentFinderConditionPtr = boost::shared_ptr< ContentFinderCondition >; - ContentFinderConditionPtr getContentFinderCondition( uint32_t ContentFinderConditionId ); using ContentFinderConditionTransientPtr = boost::shared_ptr< ContentFinderConditionTransient >; - ContentFinderConditionTransientPtr getContentFinderConditionTransient( uint32_t ContentFinderConditionTransientId ); using ContentMemberTypePtr = boost::shared_ptr< ContentMemberType >; - ContentMemberTypePtr getContentMemberType( uint32_t ContentMemberTypeId ); using ContentRoulettePtr = boost::shared_ptr< ContentRoulette >; - ContentRoulettePtr getContentRoulette( uint32_t ContentRouletteId ); using ContentTypePtr = boost::shared_ptr< ContentType >; - ContentTypePtr getContentType( uint32_t ContentTypeId ); using CraftActionPtr = boost::shared_ptr< CraftAction >; - CraftActionPtr getCraftAction( uint32_t CraftActionId ); using CraftLevePtr = boost::shared_ptr< CraftLeve >; - CraftLevePtr getCraftLeve( uint32_t CraftLeveId ); using CraftTypePtr = boost::shared_ptr< CraftType >; - CraftTypePtr getCraftType( uint32_t CraftTypeId ); using CurrencyPtr = boost::shared_ptr< Currency >; - CurrencyPtr getCurrency( uint32_t CurrencyId ); using CustomTalkPtr = boost::shared_ptr< CustomTalk >; - CustomTalkPtr getCustomTalk( uint32_t CustomTalkId ); using CutscenePtr = boost::shared_ptr< Cutscene >; - CutscenePtr getCutscene( uint32_t CutsceneId ); using CutScreenImagePtr = boost::shared_ptr< CutScreenImage >; - CutScreenImagePtr getCutScreenImage( uint32_t CutScreenImageId ); using DailySupplyItemPtr = boost::shared_ptr< DailySupplyItem >; - DailySupplyItemPtr getDailySupplyItem( uint32_t DailySupplyItemId ); using DeepDungeonBanPtr = boost::shared_ptr< DeepDungeonBan >; - DeepDungeonBanPtr getDeepDungeonBan( uint32_t DeepDungeonBanId ); using DeepDungeonDangerPtr = boost::shared_ptr< DeepDungeonDanger >; - DeepDungeonDangerPtr getDeepDungeonDanger( uint32_t DeepDungeonDangerId ); using DeepDungeonEquipmentPtr = boost::shared_ptr< DeepDungeonEquipment >; - DeepDungeonEquipmentPtr getDeepDungeonEquipment( uint32_t DeepDungeonEquipmentId ); using DeepDungeonFloorEffectUIPtr = boost::shared_ptr< DeepDungeonFloorEffectUI >; - DeepDungeonFloorEffectUIPtr getDeepDungeonFloorEffectUI( uint32_t DeepDungeonFloorEffectUIId ); using DeepDungeonItemPtr = boost::shared_ptr< DeepDungeonItem >; - DeepDungeonItemPtr getDeepDungeonItem( uint32_t DeepDungeonItemId ); using DeepDungeonStatusPtr = boost::shared_ptr< DeepDungeonStatus >; - DeepDungeonStatusPtr getDeepDungeonStatus( uint32_t DeepDungeonStatusId ); using DefaultTalkPtr = boost::shared_ptr< DefaultTalk >; - DefaultTalkPtr getDefaultTalk( uint32_t DefaultTalkId ); using DeliveryQuestPtr = boost::shared_ptr< DeliveryQuest >; - DeliveryQuestPtr getDeliveryQuest( uint32_t DeliveryQuestId ); using DisposalShopPtr = boost::shared_ptr< DisposalShop >; - DisposalShopPtr getDisposalShop( uint32_t DisposalShopId ); using DisposalShopFilterTypePtr = boost::shared_ptr< DisposalShopFilterType >; - DisposalShopFilterTypePtr getDisposalShopFilterType( uint32_t DisposalShopFilterTypeId ); using DisposalShopItemPtr = boost::shared_ptr< DisposalShopItem >; - DisposalShopItemPtr getDisposalShopItem( uint32_t DisposalShopItemId ); using DpsChallengePtr = boost::shared_ptr< DpsChallenge >; - DpsChallengePtr getDpsChallenge( uint32_t DpsChallengeId ); using DpsChallengeOfficerPtr = boost::shared_ptr< DpsChallengeOfficer >; - DpsChallengeOfficerPtr getDpsChallengeOfficer( uint32_t DpsChallengeOfficerId ); using DpsChallengeTransientPtr = boost::shared_ptr< DpsChallengeTransient >; - DpsChallengeTransientPtr getDpsChallengeTransient( uint32_t DpsChallengeTransientId ); using EmotePtr = boost::shared_ptr< Emote >; - EmotePtr getEmote( uint32_t EmoteId ); using EmoteCategoryPtr = boost::shared_ptr< EmoteCategory >; - EmoteCategoryPtr getEmoteCategory( uint32_t EmoteCategoryId ); using ENpcBasePtr = boost::shared_ptr< ENpcBase >; - ENpcBasePtr getENpcBase( uint32_t ENpcBaseId ); using ENpcResidentPtr = boost::shared_ptr< ENpcResident >; - ENpcResidentPtr getENpcResident( uint32_t ENpcResidentId ); using EObjPtr = boost::shared_ptr< EObj >; - EObjPtr getEObj( uint32_t EObjId ); using EquipRaceCategoryPtr = boost::shared_ptr< EquipRaceCategory >; - EquipRaceCategoryPtr getEquipRaceCategory( uint32_t EquipRaceCategoryId ); using EquipSlotCategoryPtr = boost::shared_ptr< EquipSlotCategory >; - EquipSlotCategoryPtr getEquipSlotCategory( uint32_t EquipSlotCategoryId ); using EventActionPtr = boost::shared_ptr< EventAction >; - EventActionPtr getEventAction( uint32_t EventActionId ); using EventIconPriorityPtr = boost::shared_ptr< EventIconPriority >; - EventIconPriorityPtr getEventIconPriority( uint32_t EventIconPriorityId ); using EventIconTypePtr = boost::shared_ptr< EventIconType >; - EventIconTypePtr getEventIconType( uint32_t EventIconTypeId ); using EventItemPtr = boost::shared_ptr< EventItem >; - EventItemPtr getEventItem( uint32_t EventItemId ); using EventItemHelpPtr = boost::shared_ptr< EventItemHelp >; - EventItemHelpPtr getEventItemHelp( uint32_t EventItemHelpId ); using ExVersionPtr = boost::shared_ptr< ExVersion >; - ExVersionPtr getExVersion( uint32_t ExVersionId ); using FatePtr = boost::shared_ptr< Fate >; - FatePtr getFate( uint32_t FateId ); using FCActivityPtr = boost::shared_ptr< FCActivity >; - FCActivityPtr getFCActivity( uint32_t FCActivityId ); using FCActivityCategoryPtr = boost::shared_ptr< FCActivityCategory >; - FCActivityCategoryPtr getFCActivityCategory( uint32_t FCActivityCategoryId ); using FCAuthorityPtr = boost::shared_ptr< FCAuthority >; - FCAuthorityPtr getFCAuthority( uint32_t FCAuthorityId ); using FCAuthorityCategoryPtr = boost::shared_ptr< FCAuthorityCategory >; - FCAuthorityCategoryPtr getFCAuthorityCategory( uint32_t FCAuthorityCategoryId ); using FCChestNamePtr = boost::shared_ptr< FCChestName >; - FCChestNamePtr getFCChestName( uint32_t FCChestNameId ); using FccShopPtr = boost::shared_ptr< FccShop >; - FccShopPtr getFccShop( uint32_t FccShopId ); using FCHierarchyPtr = boost::shared_ptr< FCHierarchy >; - FCHierarchyPtr getFCHierarchy( uint32_t FCHierarchyId ); using FCProfilePtr = boost::shared_ptr< FCProfile >; - FCProfilePtr getFCProfile( uint32_t FCProfileId ); using FCReputationPtr = boost::shared_ptr< FCReputation >; - FCReputationPtr getFCReputation( uint32_t FCReputationId ); using FCRightsPtr = boost::shared_ptr< FCRights >; - FCRightsPtr getFCRights( uint32_t FCRightsId ); using FishingSpotPtr = boost::shared_ptr< FishingSpot >; - FishingSpotPtr getFishingSpot( uint32_t FishingSpotId ); using FishParameterPtr = boost::shared_ptr< FishParameter >; - FishParameterPtr getFishParameter( uint32_t FishParameterId ); using GardeningSeedPtr = boost::shared_ptr< GardeningSeed >; - GardeningSeedPtr getGardeningSeed( uint32_t GardeningSeedId ); using GatheringConditionPtr = boost::shared_ptr< GatheringCondition >; - GatheringConditionPtr getGatheringCondition( uint32_t GatheringConditionId ); using GatheringExpPtr = boost::shared_ptr< GatheringExp >; - GatheringExpPtr getGatheringExp( uint32_t GatheringExpId ); using GatheringItemPtr = boost::shared_ptr< GatheringItem >; - GatheringItemPtr getGatheringItem( uint32_t GatheringItemId ); using GatheringItemLevelConvertTablePtr = boost::shared_ptr< GatheringItemLevelConvertTable >; - GatheringItemLevelConvertTablePtr getGatheringItemLevelConvertTable( uint32_t GatheringItemLevelConvertTableId ); using GatheringItemPointPtr = boost::shared_ptr< GatheringItemPoint >; - GatheringItemPointPtr getGatheringItemPoint( uint32_t GatheringItemPointId ); using GatheringNotebookListPtr = boost::shared_ptr< GatheringNotebookList >; - GatheringNotebookListPtr getGatheringNotebookList( uint32_t GatheringNotebookListId ); using GatheringPointPtr = boost::shared_ptr< GatheringPoint >; - GatheringPointPtr getGatheringPoint( uint32_t GatheringPointId ); using GatheringPointBasePtr = boost::shared_ptr< GatheringPointBase >; - GatheringPointBasePtr getGatheringPointBase( uint32_t GatheringPointBaseId ); using GatheringPointBonusPtr = boost::shared_ptr< GatheringPointBonus >; - GatheringPointBonusPtr getGatheringPointBonus( uint32_t GatheringPointBonusId ); using GatheringPointBonusTypePtr = boost::shared_ptr< GatheringPointBonusType >; - GatheringPointBonusTypePtr getGatheringPointBonusType( uint32_t GatheringPointBonusTypeId ); using GatheringPointNamePtr = boost::shared_ptr< GatheringPointName >; - GatheringPointNamePtr getGatheringPointName( uint32_t GatheringPointNameId ); using GatheringSubCategoryPtr = boost::shared_ptr< GatheringSubCategory >; - GatheringSubCategoryPtr getGatheringSubCategory( uint32_t GatheringSubCategoryId ); using GatheringTypePtr = boost::shared_ptr< GatheringType >; - GatheringTypePtr getGatheringType( uint32_t GatheringTypeId ); using GcArmyExpeditionPtr = boost::shared_ptr< GcArmyExpedition >; - GcArmyExpeditionPtr getGcArmyExpedition( uint32_t GcArmyExpeditionId ); using GcArmyExpeditionMemberBonusPtr = boost::shared_ptr< GcArmyExpeditionMemberBonus >; - GcArmyExpeditionMemberBonusPtr getGcArmyExpeditionMemberBonus( uint32_t GcArmyExpeditionMemberBonusId ); using GcArmyExpeditionTypePtr = boost::shared_ptr< GcArmyExpeditionType >; - GcArmyExpeditionTypePtr getGcArmyExpeditionType( uint32_t GcArmyExpeditionTypeId ); using GcArmyMemberGrowPtr = boost::shared_ptr< GcArmyMemberGrow >; - GcArmyMemberGrowPtr getGcArmyMemberGrow( uint32_t GcArmyMemberGrowId ); using GcArmyTrainingPtr = boost::shared_ptr< GcArmyTraining >; - GcArmyTrainingPtr getGcArmyTraining( uint32_t GcArmyTrainingId ); using GCRankGridaniaFemaleTextPtr = boost::shared_ptr< GCRankGridaniaFemaleText >; - GCRankGridaniaFemaleTextPtr getGCRankGridaniaFemaleText( uint32_t GCRankGridaniaFemaleTextId ); using GCRankGridaniaMaleTextPtr = boost::shared_ptr< GCRankGridaniaMaleText >; - GCRankGridaniaMaleTextPtr getGCRankGridaniaMaleText( uint32_t GCRankGridaniaMaleTextId ); using GCRankLimsaFemaleTextPtr = boost::shared_ptr< GCRankLimsaFemaleText >; - GCRankLimsaFemaleTextPtr getGCRankLimsaFemaleText( uint32_t GCRankLimsaFemaleTextId ); using GCRankLimsaMaleTextPtr = boost::shared_ptr< GCRankLimsaMaleText >; - GCRankLimsaMaleTextPtr getGCRankLimsaMaleText( uint32_t GCRankLimsaMaleTextId ); using GCRankUldahFemaleTextPtr = boost::shared_ptr< GCRankUldahFemaleText >; - GCRankUldahFemaleTextPtr getGCRankUldahFemaleText( uint32_t GCRankUldahFemaleTextId ); using GCRankUldahMaleTextPtr = boost::shared_ptr< GCRankUldahMaleText >; - GCRankUldahMaleTextPtr getGCRankUldahMaleText( uint32_t GCRankUldahMaleTextId ); using GCScripShopCategoryPtr = boost::shared_ptr< GCScripShopCategory >; - GCScripShopCategoryPtr getGCScripShopCategory( uint32_t GCScripShopCategoryId ); using GCScripShopItemPtr = boost::shared_ptr< GCScripShopItem >; - GCScripShopItemPtr getGCScripShopItem( uint32_t GCScripShopItemId ); using GCShopPtr = boost::shared_ptr< GCShop >; - GCShopPtr getGCShop( uint32_t GCShopId ); using GCShopItemCategoryPtr = boost::shared_ptr< GCShopItemCategory >; - GCShopItemCategoryPtr getGCShopItemCategory( uint32_t GCShopItemCategoryId ); using GCSupplyDutyPtr = boost::shared_ptr< GCSupplyDuty >; - GCSupplyDutyPtr getGCSupplyDuty( uint32_t GCSupplyDutyId ); using GCSupplyDutyRewardPtr = boost::shared_ptr< GCSupplyDutyReward >; - GCSupplyDutyRewardPtr getGCSupplyDutyReward( uint32_t GCSupplyDutyRewardId ); using GeneralActionPtr = boost::shared_ptr< GeneralAction >; - GeneralActionPtr getGeneralAction( uint32_t GeneralActionId ); using GilShopPtr = boost::shared_ptr< GilShop >; - GilShopPtr getGilShop( uint32_t GilShopId ); using GilShopItemPtr = boost::shared_ptr< GilShopItem >; - GilShopItemPtr getGilShopItem( uint32_t GilShopItemId ); using GoldSaucerTextDataPtr = boost::shared_ptr< GoldSaucerTextData >; - GoldSaucerTextDataPtr getGoldSaucerTextData( uint32_t GoldSaucerTextDataId ); using GrandCompanyPtr = boost::shared_ptr< GrandCompany >; - GrandCompanyPtr getGrandCompany( uint32_t GrandCompanyId ); using GrandCompanyRankPtr = boost::shared_ptr< GrandCompanyRank >; - GrandCompanyRankPtr getGrandCompanyRank( uint32_t GrandCompanyRankId ); using GuardianDeityPtr = boost::shared_ptr< GuardianDeity >; - GuardianDeityPtr getGuardianDeity( uint32_t GuardianDeityId ); using GuildleveAssignmentPtr = boost::shared_ptr< GuildleveAssignment >; - GuildleveAssignmentPtr getGuildleveAssignment( uint32_t GuildleveAssignmentId ); using GuildOrderGuidePtr = boost::shared_ptr< GuildOrderGuide >; - GuildOrderGuidePtr getGuildOrderGuide( uint32_t GuildOrderGuideId ); using GuildOrderOfficerPtr = boost::shared_ptr< GuildOrderOfficer >; - GuildOrderOfficerPtr getGuildOrderOfficer( uint32_t GuildOrderOfficerId ); using HouseRetainerPosePtr = boost::shared_ptr< HouseRetainerPose >; - HouseRetainerPosePtr getHouseRetainerPose( uint32_t HouseRetainerPoseId ); using HousingFurniturePtr = boost::shared_ptr< HousingFurniture >; - HousingFurniturePtr getHousingFurniture( uint32_t HousingFurnitureId ); using HousingYardObjectPtr = boost::shared_ptr< HousingYardObject >; - HousingYardObjectPtr getHousingYardObject( uint32_t HousingYardObjectId ); using InstanceContentPtr = boost::shared_ptr< InstanceContent >; - InstanceContentPtr getInstanceContent( uint32_t InstanceContentId ); using InstanceContentBuffPtr = boost::shared_ptr< InstanceContentBuff >; - InstanceContentBuffPtr getInstanceContentBuff( uint32_t InstanceContentBuffId ); using InstanceContentTextDataPtr = boost::shared_ptr< InstanceContentTextData >; - InstanceContentTextDataPtr getInstanceContentTextData( uint32_t InstanceContentTextDataId ); using InstanceContentTypePtr = boost::shared_ptr< InstanceContentType >; - InstanceContentTypePtr getInstanceContentType( uint32_t InstanceContentTypeId ); using ItemPtr = boost::shared_ptr< Item >; - ItemPtr getItem( uint32_t ItemId ); using ItemActionPtr = boost::shared_ptr< ItemAction >; - ItemActionPtr getItemAction( uint32_t ItemActionId ); using ItemFoodPtr = boost::shared_ptr< ItemFood >; - ItemFoodPtr getItemFood( uint32_t ItemFoodId ); using ItemSearchCategoryPtr = boost::shared_ptr< ItemSearchCategory >; - ItemSearchCategoryPtr getItemSearchCategory( uint32_t ItemSearchCategoryId ); using ItemSeriesPtr = boost::shared_ptr< ItemSeries >; - ItemSeriesPtr getItemSeries( uint32_t ItemSeriesId ); using ItemSpecialBonusPtr = boost::shared_ptr< ItemSpecialBonus >; - ItemSpecialBonusPtr getItemSpecialBonus( uint32_t ItemSpecialBonusId ); using ItemUICategoryPtr = boost::shared_ptr< ItemUICategory >; - ItemUICategoryPtr getItemUICategory( uint32_t ItemUICategoryId ); using JournalCategoryPtr = boost::shared_ptr< JournalCategory >; - JournalCategoryPtr getJournalCategory( uint32_t JournalCategoryId ); using JournalGenrePtr = boost::shared_ptr< JournalGenre >; - JournalGenrePtr getJournalGenre( uint32_t JournalGenreId ); using JournalSectionPtr = boost::shared_ptr< JournalSection >; - JournalSectionPtr getJournalSection( uint32_t JournalSectionId ); using LevePtr = boost::shared_ptr< Leve >; - LevePtr getLeve( uint32_t LeveId ); using LeveAssignmentTypePtr = boost::shared_ptr< LeveAssignmentType >; - LeveAssignmentTypePtr getLeveAssignmentType( uint32_t LeveAssignmentTypeId ); using LeveClientPtr = boost::shared_ptr< LeveClient >; - LeveClientPtr getLeveClient( uint32_t LeveClientId ); using LevelPtr = boost::shared_ptr< Level >; - LevelPtr getLevel( uint32_t LevelId ); using LeveRewardItemPtr = boost::shared_ptr< LeveRewardItem >; - LeveRewardItemPtr getLeveRewardItem( uint32_t LeveRewardItemId ); using LeveRewardItemGroupPtr = boost::shared_ptr< LeveRewardItemGroup >; - LeveRewardItemGroupPtr getLeveRewardItemGroup( uint32_t LeveRewardItemGroupId ); using LeveVfxPtr = boost::shared_ptr< LeveVfx >; - LeveVfxPtr getLeveVfx( uint32_t LeveVfxId ); using LogFilterPtr = boost::shared_ptr< LogFilter >; - LogFilterPtr getLogFilter( uint32_t LogFilterId ); using LogKindPtr = boost::shared_ptr< LogKind >; - LogKindPtr getLogKind( uint32_t LogKindId ); using LogKindCategoryTextPtr = boost::shared_ptr< LogKindCategoryText >; - LogKindCategoryTextPtr getLogKindCategoryText( uint32_t LogKindCategoryTextId ); using LogMessagePtr = boost::shared_ptr< LogMessage >; - LogMessagePtr getLogMessage( uint32_t LogMessageId ); using MacroIconPtr = boost::shared_ptr< MacroIcon >; - MacroIconPtr getMacroIcon( uint32_t MacroIconId ); using MacroIconRedirectOldPtr = boost::shared_ptr< MacroIconRedirectOld >; - MacroIconRedirectOldPtr getMacroIconRedirectOld( uint32_t MacroIconRedirectOldId ); using MainCommandPtr = boost::shared_ptr< MainCommand >; - MainCommandPtr getMainCommand( uint32_t MainCommandId ); using MainCommandCategoryPtr = boost::shared_ptr< MainCommandCategory >; - MainCommandCategoryPtr getMainCommandCategory( uint32_t MainCommandCategoryId ); using MapPtr = boost::shared_ptr< Map >; - MapPtr getMap( uint32_t MapId ); using MapMarkerPtr = boost::shared_ptr< MapMarker >; - MapMarkerPtr getMapMarker( uint32_t MapMarkerId ); using MapSymbolPtr = boost::shared_ptr< MapSymbol >; - MapSymbolPtr getMapSymbol( uint32_t MapSymbolId ); using MasterpieceSupplyDutyPtr = boost::shared_ptr< MasterpieceSupplyDuty >; - MasterpieceSupplyDutyPtr getMasterpieceSupplyDuty( uint32_t MasterpieceSupplyDutyId ); using MasterpieceSupplyMultiplierPtr = boost::shared_ptr< MasterpieceSupplyMultiplier >; - MasterpieceSupplyMultiplierPtr getMasterpieceSupplyMultiplier( uint32_t MasterpieceSupplyMultiplierId ); using MateriaPtr = boost::shared_ptr< Materia >; - MateriaPtr getMateria( uint32_t MateriaId ); using MinionRacePtr = boost::shared_ptr< MinionRace >; - MinionRacePtr getMinionRace( uint32_t MinionRaceId ); using MinionRulesPtr = boost::shared_ptr< MinionRules >; - MinionRulesPtr getMinionRules( uint32_t MinionRulesId ); using MinionSkillTypePtr = boost::shared_ptr< MinionSkillType >; - MinionSkillTypePtr getMinionSkillType( uint32_t MinionSkillTypeId ); using MobHuntTargetPtr = boost::shared_ptr< MobHuntTarget >; - MobHuntTargetPtr getMobHuntTarget( uint32_t MobHuntTargetId ); using ModelCharaPtr = boost::shared_ptr< ModelChara >; - ModelCharaPtr getModelChara( uint32_t ModelCharaId ); using MonsterNotePtr = boost::shared_ptr< MonsterNote >; - MonsterNotePtr getMonsterNote( uint32_t MonsterNoteId ); using MonsterNoteTargetPtr = boost::shared_ptr< MonsterNoteTarget >; - MonsterNoteTargetPtr getMonsterNoteTarget( uint32_t MonsterNoteTargetId ); using MountPtr = boost::shared_ptr< Mount >; - MountPtr getMount( uint32_t MountId ); using MountActionPtr = boost::shared_ptr< MountAction >; - MountActionPtr getMountAction( uint32_t MountActionId ); using NpcEquipPtr = boost::shared_ptr< NpcEquip >; - NpcEquipPtr getNpcEquip( uint32_t NpcEquipId ); using OmenPtr = boost::shared_ptr< Omen >; - OmenPtr getOmen( uint32_t OmenId ); using OnlineStatusPtr = boost::shared_ptr< OnlineStatus >; - OnlineStatusPtr getOnlineStatus( uint32_t OnlineStatusId ); using OpeningPtr = boost::shared_ptr< Opening >; - OpeningPtr getOpening( uint32_t OpeningId ); using OrchestrionPtr = boost::shared_ptr< Orchestrion >; - OrchestrionPtr getOrchestrion( uint32_t OrchestrionId ); + using OrchestrionCategoryPtr = boost::shared_ptr< OrchestrionCategory >; using OrchestrionPathPtr = boost::shared_ptr< OrchestrionPath >; - OrchestrionPathPtr getOrchestrionPath( uint32_t OrchestrionPathId ); + using OrchestrionUiparamPtr = boost::shared_ptr< OrchestrionUiparam >; using ParamGrowPtr = boost::shared_ptr< ParamGrow >; - ParamGrowPtr getParamGrow( uint32_t ParamGrowId ); using PetPtr = boost::shared_ptr< Pet >; - PetPtr getPet( uint32_t PetId ); using PetActionPtr = boost::shared_ptr< PetAction >; - PetActionPtr getPetAction( uint32_t PetActionId ); using PicturePtr = boost::shared_ptr< Picture >; - PicturePtr getPicture( uint32_t PictureId ); using PlaceNamePtr = boost::shared_ptr< PlaceName >; - PlaceNamePtr getPlaceName( uint32_t PlaceNameId ); using QuestPtr = boost::shared_ptr< Quest >; - QuestPtr getQuest( uint32_t QuestId ); using QuestRewardOtherPtr = boost::shared_ptr< QuestRewardOther >; - QuestRewardOtherPtr getQuestRewardOther( uint32_t QuestRewardOtherId ); + using QuickChatPtr = boost::shared_ptr< QuickChat >; + using QuickChatTransientPtr = boost::shared_ptr< QuickChatTransient >; using RacePtr = boost::shared_ptr< Race >; - RacePtr getRace( uint32_t RaceId ); using RacingChocoboItemPtr = boost::shared_ptr< RacingChocoboItem >; - RacingChocoboItemPtr getRacingChocoboItem( uint32_t RacingChocoboItemId ); using RacingChocoboNamePtr = boost::shared_ptr< RacingChocoboName >; - RacingChocoboNamePtr getRacingChocoboName( uint32_t RacingChocoboNameId ); using RacingChocoboNameCategoryPtr = boost::shared_ptr< RacingChocoboNameCategory >; - RacingChocoboNameCategoryPtr getRacingChocoboNameCategory( uint32_t RacingChocoboNameCategoryId ); using RacingChocoboNameInfoPtr = boost::shared_ptr< RacingChocoboNameInfo >; - RacingChocoboNameInfoPtr getRacingChocoboNameInfo( uint32_t RacingChocoboNameInfoId ); using RacingChocoboParamPtr = boost::shared_ptr< RacingChocoboParam >; - RacingChocoboParamPtr getRacingChocoboParam( uint32_t RacingChocoboParamId ); using RecipePtr = boost::shared_ptr< Recipe >; - RecipePtr getRecipe( uint32_t RecipeId ); using RecipeElementPtr = boost::shared_ptr< RecipeElement >; - RecipeElementPtr getRecipeElement( uint32_t RecipeElementId ); using RecipeLevelTablePtr = boost::shared_ptr< RecipeLevelTable >; - RecipeLevelTablePtr getRecipeLevelTable( uint32_t RecipeLevelTableId ); using RecipeNotebookListPtr = boost::shared_ptr< RecipeNotebookList >; - RecipeNotebookListPtr getRecipeNotebookList( uint32_t RecipeNotebookListId ); using RelicPtr = boost::shared_ptr< Relic >; - RelicPtr getRelic( uint32_t RelicId ); using Relic3Ptr = boost::shared_ptr< Relic3 >; - Relic3Ptr getRelic3( uint32_t Relic3Id ); using RelicItemPtr = boost::shared_ptr< RelicItem >; - RelicItemPtr getRelicItem( uint32_t RelicItemId ); using RelicNotePtr = boost::shared_ptr< RelicNote >; - RelicNotePtr getRelicNote( uint32_t RelicNoteId ); using RelicNoteCategoryPtr = boost::shared_ptr< RelicNoteCategory >; - RelicNoteCategoryPtr getRelicNoteCategory( uint32_t RelicNoteCategoryId ); using RetainerTaskPtr = boost::shared_ptr< RetainerTask >; - RetainerTaskPtr getRetainerTask( uint32_t RetainerTaskId ); using RetainerTaskNormalPtr = boost::shared_ptr< RetainerTaskNormal >; - RetainerTaskNormalPtr getRetainerTaskNormal( uint32_t RetainerTaskNormalId ); using RetainerTaskParameterPtr = boost::shared_ptr< RetainerTaskParameter >; - RetainerTaskParameterPtr getRetainerTaskParameter( uint32_t RetainerTaskParameterId ); using RetainerTaskRandomPtr = boost::shared_ptr< RetainerTaskRandom >; - RetainerTaskRandomPtr getRetainerTaskRandom( uint32_t RetainerTaskRandomId ); using SalvagePtr = boost::shared_ptr< Salvage >; - SalvagePtr getSalvage( uint32_t SalvageId ); using SatisfactionNpcPtr = boost::shared_ptr< SatisfactionNpc >; - SatisfactionNpcPtr getSatisfactionNpc( uint32_t SatisfactionNpcId ); using SatisfactionSupplyPtr = boost::shared_ptr< SatisfactionSupply >; - SatisfactionSupplyPtr getSatisfactionSupply( uint32_t SatisfactionSupplyId ); using SatisfactionSupplyRewardPtr = boost::shared_ptr< SatisfactionSupplyReward >; - SatisfactionSupplyRewardPtr getSatisfactionSupplyReward( uint32_t SatisfactionSupplyRewardId ); using ScreenImagePtr = boost::shared_ptr< ScreenImage >; - ScreenImagePtr getScreenImage( uint32_t ScreenImageId ); using SecretRecipeBookPtr = boost::shared_ptr< SecretRecipeBook >; - SecretRecipeBookPtr getSecretRecipeBook( uint32_t SecretRecipeBookId ); using SpearfishingItemPtr = boost::shared_ptr< SpearfishingItem >; - SpearfishingItemPtr getSpearfishingItem( uint32_t SpearfishingItemId ); using SpearfishingNotebookPtr = boost::shared_ptr< SpearfishingNotebook >; - SpearfishingNotebookPtr getSpearfishingNotebook( uint32_t SpearfishingNotebookId ); using SpecialShopPtr = boost::shared_ptr< SpecialShop >; - SpecialShopPtr getSpecialShop( uint32_t SpecialShopId ); using SpecialShopItemCategoryPtr = boost::shared_ptr< SpecialShopItemCategory >; - SpecialShopItemCategoryPtr getSpecialShopItemCategory( uint32_t SpecialShopItemCategoryId ); using StainPtr = boost::shared_ptr< Stain >; - StainPtr getStain( uint32_t StainId ); using StatusPtr = boost::shared_ptr< Status >; - StatusPtr getStatus( uint32_t StatusId ); using StoryPtr = boost::shared_ptr< Story >; - StoryPtr getStory( uint32_t StoryId ); + using SubmarineExplorationPtr = boost::shared_ptr< SubmarineExploration >; + using SubmarinePartPtr = boost::shared_ptr< SubmarinePart >; + using SubmarineRankPtr = boost::shared_ptr< SubmarineRank >; using SwitchTalkPtr = boost::shared_ptr< SwitchTalk >; - SwitchTalkPtr getSwitchTalk( uint32_t SwitchTalkId ); using TerritoryTypePtr = boost::shared_ptr< TerritoryType >; - TerritoryTypePtr getTerritoryType( uint32_t TerritoryTypeId ); using TextCommandPtr = boost::shared_ptr< TextCommand >; - TextCommandPtr getTextCommand( uint32_t TextCommandId ); using TitlePtr = boost::shared_ptr< Title >; - TitlePtr getTitle( uint32_t TitleId ); using TomestonesPtr = boost::shared_ptr< Tomestones >; - TomestonesPtr getTomestones( uint32_t TomestonesId ); using TomestonesItemPtr = boost::shared_ptr< TomestonesItem >; - TomestonesItemPtr getTomestonesItem( uint32_t TomestonesItemId ); using TopicSelectPtr = boost::shared_ptr< TopicSelect >; - TopicSelectPtr getTopicSelect( uint32_t TopicSelectId ); using TownPtr = boost::shared_ptr< Town >; - TownPtr getTown( uint32_t TownId ); using TraitPtr = boost::shared_ptr< Trait >; - TraitPtr getTrait( uint32_t TraitId ); using TraitRecastPtr = boost::shared_ptr< TraitRecast >; - TraitRecastPtr getTraitRecast( uint32_t TraitRecastId ); using TraitTransientPtr = boost::shared_ptr< TraitTransient >; - TraitTransientPtr getTraitTransient( uint32_t TraitTransientId ); + using TreasureHuntRankPtr = boost::shared_ptr< TreasureHuntRank >; using TribePtr = boost::shared_ptr< Tribe >; - TribePtr getTribe( uint32_t TribeId ); using TripleTriadPtr = boost::shared_ptr< TripleTriad >; - TripleTriadPtr getTripleTriad( uint32_t TripleTriadId ); using TripleTriadCardPtr = boost::shared_ptr< TripleTriadCard >; - TripleTriadCardPtr getTripleTriadCard( uint32_t TripleTriadCardId ); using TripleTriadCardRarityPtr = boost::shared_ptr< TripleTriadCardRarity >; - TripleTriadCardRarityPtr getTripleTriadCardRarity( uint32_t TripleTriadCardRarityId ); using TripleTriadCardResidentPtr = boost::shared_ptr< TripleTriadCardResident >; - TripleTriadCardResidentPtr getTripleTriadCardResident( uint32_t TripleTriadCardResidentId ); using TripleTriadCardTypePtr = boost::shared_ptr< TripleTriadCardType >; - TripleTriadCardTypePtr getTripleTriadCardType( uint32_t TripleTriadCardTypeId ); using TripleTriadCompetitionPtr = boost::shared_ptr< TripleTriadCompetition >; - TripleTriadCompetitionPtr getTripleTriadCompetition( uint32_t TripleTriadCompetitionId ); using TripleTriadRulePtr = boost::shared_ptr< TripleTriadRule >; - TripleTriadRulePtr getTripleTriadRule( uint32_t TripleTriadRuleId ); using TutorialPtr = boost::shared_ptr< Tutorial >; - TutorialPtr getTutorial( uint32_t TutorialId ); using TutorialDPSPtr = boost::shared_ptr< TutorialDPS >; - TutorialDPSPtr getTutorialDPS( uint32_t TutorialDPSId ); using TutorialHealerPtr = boost::shared_ptr< TutorialHealer >; - TutorialHealerPtr getTutorialHealer( uint32_t TutorialHealerId ); using TutorialTankPtr = boost::shared_ptr< TutorialTank >; - TutorialTankPtr getTutorialTank( uint32_t TutorialTankId ); using WarpPtr = boost::shared_ptr< Warp >; - WarpPtr getWarp( uint32_t WarpId ); using WeatherPtr = boost::shared_ptr< Weather >; - WeatherPtr getWeather( uint32_t WeatherId ); using WeatherGroupPtr = boost::shared_ptr< WeatherGroup >; - WeatherGroupPtr getWeatherGroup( uint32_t WeatherGroupId ); using WeatherRatePtr = boost::shared_ptr< WeatherRate >; - WeatherRatePtr getWeatherRate( uint32_t WeatherRateId ); using WeeklyBingoOrderDataPtr = boost::shared_ptr< WeeklyBingoOrderData >; - WeeklyBingoOrderDataPtr getWeeklyBingoOrderData( uint32_t WeeklyBingoOrderDataId ); using WeeklyBingoRewardDataPtr = boost::shared_ptr< WeeklyBingoRewardData >; - WeeklyBingoRewardDataPtr getWeeklyBingoRewardData( uint32_t WeeklyBingoRewardDataId ); using WeeklyBingoTextPtr = boost::shared_ptr< WeeklyBingoText >; - WeeklyBingoTextPtr getWeeklyBingoText( uint32_t WeeklyBingoTextId ); using WorldDCGroupTypePtr = boost::shared_ptr< WorldDCGroupType >; - WorldDCGroupTypePtr getWorldDCGroupType( uint32_t WorldDCGroupTypeId ); + + 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; @@ -4521,7 +4353,9 @@ struct WorldDCGroupType 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_PetIdList; std::set< uint32_t > m_PetActionIdList; @@ -4529,6 +4363,8 @@ struct WorldDCGroupType std::set< uint32_t > m_PlaceNameIdList; std::set< uint32_t > m_QuestIdList; 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; @@ -4561,6 +4397,9 @@ struct WorldDCGroupType std::set< uint32_t > m_StainIdList; std::set< uint32_t > m_StatusIdList; 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; @@ -4572,6 +4411,7 @@ struct WorldDCGroupType std::set< uint32_t > m_TraitIdList; std::set< uint32_t > m_TraitRecastIdList; std::set< uint32_t > m_TraitTransientIdList; + std::set< uint32_t > m_TreasureHuntRankIdList; std::set< uint32_t > m_TribeIdList; std::set< uint32_t > m_TripleTriadIdList; std::set< uint32_t > m_TripleTriadCardIdList; @@ -5956,12 +5796,24 @@ const std::set< uint32_t >& getOrchestrionIdList() loadIdList( m_OrchestrionDat, m_OrchestrionIdList ); 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 ) loadIdList( m_OrchestrionPathDat, m_OrchestrionPathIdList ); 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 ) @@ -6004,6 +5856,18 @@ const std::set< uint32_t >& getQuestRewardOtherIdList() loadIdList( m_QuestRewardOtherDat, m_QuestRewardOtherIdList ); 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 ) + loadIdList( m_QuickChatTransientDat, m_QuickChatTransientIdList ); + return m_QuickChatTransientIdList; +} const std::set< uint32_t >& getRaceIdList() { if( m_RaceIdList.size() == 0 ) @@ -6196,6 +6060,24 @@ const std::set< uint32_t >& getStoryIdList() loadIdList( m_StoryDat, m_StoryIdList ); 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 ) + loadIdList( m_SubmarinePartDat, m_SubmarinePartIdList ); + 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 ) @@ -6262,6 +6144,12 @@ const std::set< uint32_t >& getTraitTransientIdList() loadIdList( m_TraitTransientDat, m_TraitTransientIdList ); return m_TraitTransientIdList; } +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 ) diff --git a/src/common/Network/PacketDef/Ipcs.h b/src/common/Network/PacketDef/Ipcs.h index f1893eea..12071465 100644 --- a/src/common/Network/PacketDef/Ipcs.h +++ b/src/common/Network/PacketDef/Ipcs.h @@ -96,6 +96,7 @@ namespace Packets { SetCharacterFCInfo = 0x0114, // updated 4.2 StatusEffectList = 0x0125, // updated 4.2 Effect = 0x0128, // updated 4.2 + PersistantEffect = 0x013B, // updated 4.2 GCAffiliation = 0xCCFC, // OUTDATED @@ -105,6 +106,7 @@ namespace Packets { ActorSetPos = 0x0160, // updated 4.2 ActorCast = 0x0162, // updated 4.2 HateList = 0x0165, // updated 4.2 + ObjectSpawn = 0x0167, // updated 4.2 UpdateClassInfo = 0x0169, // updated 4.2 InitUI = 0x016B, // updated 4.2 @@ -145,6 +147,8 @@ namespace Packets { Mount = 0x01CD, // updated 4.2 + DirectorVars = 0x01CF, // updated 4.2 + WeatherChange = 0x01EA, // updated 4.2 PlayerTitleList = 0x01EB, // updated 4.2 Discovery = 0x01EC, // updated 4.2 @@ -153,7 +157,7 @@ namespace Packets { EquipDisplayFlags = 0x01FA, // updated 4.2 - CFAvailableContents = 0x01CF, + CFAvailableContents = 0x01FD, // updated 4.2 PrepareZoning = 0x027C, // updated 4.2 ActorGauge = 0x027D, // updated 4.2 diff --git a/src/common/Network/PacketDef/Zone/ServerZoneDef.h b/src/common/Network/PacketDef/Zone/ServerZoneDef.h index 7a3ebeb9..9d39555e 100644 --- a/src/common/Network/PacketDef/Zone/ServerZoneDef.h +++ b/src/common/Network/PacketDef/Zone/ServerZoneDef.h @@ -461,20 +461,21 @@ struct FFXIVIpcNpcSpawn : FFXIVIpcBasePacket { uint16_t title; uint16_t u1b; - uint16_t u2a; - uint16_t u2b; - - uint8_t pose; + uint8_t u2b; + uint8_t u2ab; + uint8_t gmRank; uint8_t u3b; + + uint8_t u3a; + uint8_t onlineStatus; uint8_t u3c; - uint8_t u3d; + uint8_t pose; uint32_t u4; uint64_t targetId; uint32_t u6; uint32_t u7; - uint64_t mainWeaponModel; uint64_t secWeaponModel; uint64_t craftToolModel; @@ -485,44 +486,40 @@ struct FFXIVIpcNpcSpawn : FFXIVIpcBasePacket uint32_t bNPCName; uint32_t u18; uint32_t u19; - uint32_t u20; - uint32_t u21; + uint32_t directorId; + uint32_t ownerId; uint32_t u22; - - uint32_t hPCurr; uint32_t hPMax; + uint32_t hPCurr; uint32_t displayFlags; uint16_t fateID; uint16_t mPCurr; uint16_t tPCurr; uint16_t mPMax; - - uint16_t unk21a; + uint16_t tPMax; uint16_t modelChara; uint16_t rotation; - uint16_t unk22b; + uint16_t activeMinion; uint8_t spawnIndex; - uint8_t state; // ActorState - uint8_t u24a; - uint8_t type; // 1 for player, 2 for NPC, else furniture; - uint8_t subtype; // 4 for players, 2 for pet, 3 for companion, 5 for mob, 7 for minion - uint8_t u25b; + uint8_t state; + uint8_t persistantEmote; + uint8_t type; + uint8_t subtype; + uint8_t voice; uint16_t u25c; - - uint8_t enemyType; // 0 for friendly, anything else is an enemy + uint8_t enemyType; uint8_t level; uint8_t classJob; uint8_t u26d; - uint16_t u27a; - uint8_t currentMount; uint8_t mountHead; uint8_t mountBody; uint8_t mountFeet; - uint16_t mountColor; - + uint8_t mountColor; + uint8_t scale; uint32_t u29b; + uint32_t u30b; Common::StatusEffect effect[30]; Common::FFXIVARR_POSITION3 pos; uint32_t models[10]; @@ -1321,6 +1318,23 @@ struct FFXIVIpcMount : FFXIVIpcBasePacket uint32_t id; }; +/** +* Structural representation of the packet sent by the server +* to mount a player +*/ +struct FFXIVIpcDirectorVars : FFXIVIpcBasePacket +{ + /*! DirectorType | ContentId */ + uint32_t m_directorId; + /*! currect sequence */ + uint8_t m_sequence; + /*! current branch */ + uint8_t m_branch; + /*! raw storage for flags/vars */ + uint8_t m_unionData[10]; +}; + + struct FFXIVIpcActorGauge : FFXIVIpcBasePacket { uint8_t classJobId; @@ -1347,6 +1361,28 @@ struct FFXIVIpcMSQTrackerComplete : FFXIVIpcBasePacket uint64_t padding4; // last 4 bytes is uint32_t but who cares }; +struct FFXIVIpcObjectSpawn : FFXIVIpcBasePacket +{ + uint8_t count; + uint8_t objKind; + uint8_t unknown2; + uint8_t state; + uint32_t objId; + uint32_t actorId; + uint32_t levelId; + uint32_t unknown10; + uint32_t someActorId14; + uint32_t hierachyId; + uint32_t unknown1C; + uint32_t unknown20; + uint32_t unknown24; + uint32_t unknown28; + uint32_t unknown2c; + Common::FFXIVARR_POSITION3 position; + int16_t rotation; + int16_t unknown; +}; + } /* Server */ } /* Packets */ diff --git a/src/libraries b/src/libraries index 978d3d2a..732e26b4 160000 --- a/src/libraries +++ b/src/libraries @@ -1 +1 @@ -Subproject commit 978d3d2a336b97bb6ea0d95dc7000cbc1618a8cc +Subproject commit 732e26b4bfb15875d71ae4ec13b8bd6155013840 diff --git a/src/servers/sapphire_api/PlayerMinimal.cpp b/src/servers/sapphire_api/PlayerMinimal.cpp index 6033b0b5..ba95c96f 100644 --- a/src/servers/sapphire_api/PlayerMinimal.cpp +++ b/src/servers/sapphire_api/PlayerMinimal.cpp @@ -220,7 +220,7 @@ namespace Core { // CharacterId, ClassIdx, Exp, Lvl auto stmtClass = g_charaDb.getPreparedStatement( Db::CharaDbStatements::CHARA_CLASS_INS ); stmtClass->setInt( 1, m_id ); - stmtClass->setInt( 2, g_exdDataGen.getClassJob( m_class )->expArrayIndex ); + stmtClass->setInt( 2, g_exdDataGen.get< Core::Data::ClassJob >( m_class )->expArrayIndex ); stmtClass->setInt( 3, 0 ); stmtClass->setInt( 4, 1 ); g_charaDb.directExecute( stmtClass ); @@ -292,14 +292,14 @@ namespace Core { /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// SETUP EQUIPMENT / STARTING GEAR - auto classJobInfo = g_exdDataGen.getClassJob( m_class ); + auto classJobInfo = g_exdDataGen.get< Core::Data::ClassJob >( m_class ); uint32_t weaponId = classJobInfo->itemStartingWeapon; uint64_t uniqueId = getNextUId64(); uint8_t race = customize[CharaLook::Race]; uint8_t gender = customize[CharaLook::Gender]; - auto raceInfo = g_exdDataGen.getRace( race ); + auto raceInfo = g_exdDataGen.get< Core::Data::Race >( race ); uint32_t body; uint32_t hands; diff --git a/src/servers/sapphire_api/main.cpp b/src/servers/sapphire_api/main.cpp index 1a6fe25f..bdb1bc01 100644 --- a/src/servers/sapphire_api/main.cpp +++ b/src/servers/sapphire_api/main.cpp @@ -241,7 +241,7 @@ std::string buildHttpResponse( uint16_t rCode, const std::string& content = "", void getZoneName( shared_ptr response, shared_ptr request ) { string number = request->path_match[1]; - auto info = g_exdDataGen.getTerritoryType( atoi( number.c_str() ) ); + auto info = g_exdDataGen.get< Core::Data::TerritoryType >( atoi( number.c_str() ) ); std::string responseStr = "Not found!"; if( info ) responseStr = info->name + ", " + info->bg; @@ -739,7 +739,7 @@ void defaultGet( shared_ptr response, shared_ptr +#include #include #define TYPE_FORWARD( x ) \ class x; \ typedef boost::shared_ptr< x > x ## Ptr; \ -typedef std::vector< x > x ## PtrList; +template< typename...Args > \ +x ## Ptr make_ ## x( Args &&...args ) { \ +return boost::make_shared< x >( std::forward< Args >( args ) ... ); }\ +typedef std::vector< x > x ## PtrList; namespace Core { diff --git a/src/servers/sapphire_lobby/GameConnection.cpp b/src/servers/sapphire_lobby/GameConnection.cpp index 8d9a52a3..6b3b6705 100644 --- a/src/servers/sapphire_lobby/GameConnection.cpp +++ b/src/servers/sapphire_lobby/GameConnection.cpp @@ -42,7 +42,7 @@ Core::Network::GameConnection::~GameConnection() // overwrite the parents onConnect for our game socket needs void Core::Network::GameConnection::OnAccept( const std::string & host, uint16_t port ) { - GameConnectionPtr connection( new GameConnection( m_hive, m_pAcceptor ) ); + auto connection = make_GameConnection( m_hive, m_pAcceptor ); m_pAcceptor->Accept( connection ); g_log.info( "Connect from " + m_socket.remote_endpoint().address().to_string() ); @@ -54,12 +54,12 @@ void Core::Network::GameConnection::OnDisconnect() g_log.debug( "DISCONNECT" ); } -void Core::Network::GameConnection::OnRecv( std::vector< uint8_t > & buffer ) +void Core::Network::GameConnection::OnRecv( std::vector< uint8_t >& buffer ) { Packets::FFXIVARR_PACKET_HEADER packetHeader; - const auto headerResult = Packets::getHeader(buffer, 0, packetHeader); + const auto headerResult = Packets::getHeader( buffer, 0, packetHeader ); - if (headerResult == Incomplete) + if( headerResult == Incomplete ) { g_log.info("Dropping connection due to incomplete packet header."); g_log.info("FIXME: Packet message bounary is not implemented."); @@ -67,7 +67,7 @@ void Core::Network::GameConnection::OnRecv( std::vector< uint8_t > & buffer ) return; } - if (headerResult == Malformed) + if( headerResult == Malformed ) { g_log.info("Dropping connection due to malformed packet header."); Disconnect(); @@ -76,9 +76,10 @@ void Core::Network::GameConnection::OnRecv( std::vector< uint8_t > & buffer ) // Dissect packet list std::vector< Packets::FFXIVARR_PACKET_RAW > packetList; - const auto packetResult = Packets::getPackets(buffer, sizeof(struct FFXIVARR_PACKET_HEADER), packetHeader, packetList); + const auto packetResult = Packets::getPackets( buffer, sizeof( struct FFXIVARR_PACKET_HEADER ), + packetHeader, packetList ); - if (packetResult == Incomplete) + if( packetResult == Incomplete ) { g_log.info("Dropping connection due to incomplete packets."); g_log.info("FIXME: Packet message bounary is not implemented."); @@ -86,7 +87,7 @@ void Core::Network::GameConnection::OnRecv( std::vector< uint8_t > & buffer ) return; } - if (packetResult == Malformed) + if( packetResult == Malformed ) { g_log.info("Dropping connection due to malformed packets."); Disconnect(); @@ -94,7 +95,7 @@ void Core::Network::GameConnection::OnRecv( std::vector< uint8_t > & buffer ) } // Handle it - handlePackets(packetHeader, packetList); + handlePackets( packetHeader, packetList ); } @@ -163,21 +164,21 @@ void Core::Network::GameConnection::getCharList( FFXIVARR_PACKET_RAW& packet, ui memset( &details, 0, sizeof( FFXIVIpcCharList::CharaDetails ) ); auto& charEntry = charList[charIndex]; - details.uniqueId = get<1>( charEntry ); - details.contentId = get<2>( charEntry ); + details.uniqueId = get< 1 >( charEntry ); + details.contentId = get< 2 >( charEntry ); details.serverId = g_serverLobby.getConfig()->getValue( "Settings.Parameters.WorldID", 1 ); details.index = charIndex; - strcpy( details.charDetailJson, get<3>( charEntry ).c_str() ); - strcpy( details.nameChara, get<0>( charEntry ).c_str() ); + 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 >( "Settings.Parameters.WorldName", "Sapphire" ).c_str() ); charListPacket.data().charaDetails[j] = details; g_log.debug( "[" + std::to_string( charIndex ) + "] " + std::to_string( details.index ) + " - " - + get<0>( charEntry ) + " - " + - std::to_string( get<1>( charEntry ) ) + " - " + - std::to_string( get<2>( charEntry ) ) + " - " + - get<3>( charEntry ) ); + + get< 0 >( charEntry ) + " - " + + std::to_string( get< 1 >( charEntry ) ) + " - " + + std::to_string( get< 2 >( charEntry ) ) + " - " + + get< 3 >( charEntry ) ); } charIndex++; } @@ -215,12 +216,12 @@ void Core::Network::GameConnection::enterWorld( FFXIVARR_PACKET_RAW& packet, uin auto charList = g_restConnector.getCharList( ( char * )m_pSession->getSessionId() ); for( uint32_t i = 0; i < charList.size(); i++ ) { - uint64_t thisContentId = get<2>( charList[i] ); + uint64_t thisContentId = get< 2 >( charList[i] ); if( thisContentId == lookupId ) { - logInCharId = get<1>( charList[i] ); - logInCharName = get<0>( charList[i] ); + logInCharId = get< 1 >( charList[i] ); + logInCharName = get< 0 >( charList[i] ); break; } } @@ -250,13 +251,13 @@ bool Core::Network::GameConnection::sendServiceAccountList( FFXIVARR_PACKET_RAW& { LobbySessionPtr pSession = g_serverLobby.getSession( ( char* )&packet.data[0] + 0x20 ); - if( g_serverLobby.getConfig()->getValue( "Settings.Parameters.AllowNoSessionConnect" ) && pSession == nullptr ) + if( g_serverLobby.getConfig()->getValue< bool >( "Settings.Parameters.AllowNoSessionConnect" ) && pSession == nullptr ) { - LobbySessionPtr session( new Core::LobbySession() ); + auto session = make_LobbySession(); session->setAccountID( 0 ); session->setSessionId( (uint8_t *)&packet.data[0] + 0x20 ); pSession = session; - g_log.Log( LoggingSeverity::info, "Allowed connection with no session: " + std::string( (char*)&packet.data[0] + 0x20 ) ); + g_log.Log( LoggingSeverity::info, "Allowed connection with no session: " + std::string( ( char* )&packet.data[0] + 0x20 ) ); } if( pSession != nullptr ) diff --git a/src/servers/sapphire_lobby/ServerLobby.cpp b/src/servers/sapphire_lobby/ServerLobby.cpp index 9c0e05d3..80e13d89 100644 --- a/src/servers/sapphire_lobby/ServerLobby.cpp +++ b/src/servers/sapphire_lobby/ServerLobby.cpp @@ -54,7 +54,7 @@ namespace Core { void ServerLobby::run( int32_t argc, char* argv[] ) { - g_log.setLogPath( "log\\SapphireLobby" ); + g_log.setLogPath( "log/SapphireLobby" ); g_log.init(); g_log.info( "===========================================================" ); diff --git a/src/servers/sapphire_zone/Action/ActionCast.cpp b/src/servers/sapphire_zone/Action/ActionCast.cpp index 8e275898..ee75c48b 100644 --- a/src/servers/sapphire_zone/Action/ActionCast.cpp +++ b/src/servers/sapphire_zone/Action/ActionCast.cpp @@ -31,7 +31,7 @@ Core::Action::ActionCast::ActionCast( Entity::ActorPtr pActor, Entity::ActorPtr m_startTime = 0; m_id = actionId; m_handleActionType = HandleActionType::Spell; - m_castTime = g_exdDataGen.getAction( actionId )->cast100ms * 100; // TODO: Add security checks. + m_castTime = g_exdDataGen.get< Core::Data::Action >( actionId )->cast100ms * 100; // TODO: Add security checks. m_pSource = pActor; m_pTarget = pTarget; m_bInterrupt = false; diff --git a/src/servers/sapphire_zone/Action/ActionCollision.cpp b/src/servers/sapphire_zone/Action/ActionCollision.cpp index f2d0b68f..a66d234c 100644 --- a/src/servers/sapphire_zone/Action/ActionCollision.cpp +++ b/src/servers/sapphire_zone/Action/ActionCollision.cpp @@ -1,5 +1,4 @@ #include -#include #include #include "ActionCollision.h" @@ -14,7 +13,7 @@ using namespace Core::Common; // todo: add AoE actor limits (16, 32) -bool ActionCollision::isActorApplicable( ActorPtr actorPtr, TargetFilter targetFilter ) +bool ActionCollision::isActorApplicable( Actor& actor, TargetFilter targetFilter ) { bool actorApplicable = false; switch( targetFilter ) @@ -26,29 +25,29 @@ bool ActionCollision::isActorApplicable( ActorPtr actorPtr, TargetFilter targetF } case TargetFilter::Players: { - actorApplicable = actorPtr->isPlayer(); + actorApplicable = actor.isPlayer(); break; } case TargetFilter::Allies: { // todo: implement ally NPCs - actorApplicable = !actorPtr->isMob(); + actorApplicable = !actor.isBattleNpc(); break; } case TargetFilter::Party: { // todo: implement party - actorApplicable = actorPtr->isPlayer(); + actorApplicable = actor.isPlayer(); break; } case TargetFilter::Enemies: { - actorApplicable = actorPtr->isMob(); + actorApplicable = actor.isBattleNpc(); break; } } - return ( actorApplicable && actorPtr->isAlive() ); + return ( actorApplicable && actor.isAlive() ); } std::set< Core::Entity::ActorPtr > ActionCollision::getActorsHitFromAction( FFXIVARR_POSITION3 aoePosition, @@ -71,7 +70,7 @@ std::set< Core::Entity::ActorPtr > ActionCollision::getActorsHitFromAction( FFXI assert( pActor ); // Don't bother wasting on collision if actor doesn't apply for it - if ( !isActorApplicable( pActor, targetFilter ) ) + if ( !isActorApplicable( *pActor, targetFilter ) ) continue; // Test our collision from actor with the area generated by the action from the AoE data @@ -89,7 +88,7 @@ std::set< Core::Entity::ActorPtr > ActionCollision::getActorsHitFromAction( FFXI { assert( pActor ); - if ( !isActorApplicable( pActor, targetFilter ) ) + if ( !isActorApplicable( *pActor, targetFilter ) ) continue; if ( radiusCollision( pActor->getPos(), aoePosition, actionInfo->effectRange ) ) @@ -103,7 +102,7 @@ std::set< Core::Entity::ActorPtr > ActionCollision::getActorsHitFromAction( FFXI { assert( pActor ); - if ( !isActorApplicable( pActor, targetFilter ) ) + if ( !isActorApplicable( *pActor, targetFilter ) ) continue; if ( boxCollision( pActor->getPos(), aoePosition, actionInfo->xAxisModifier, actionInfo->effectRange ) ) diff --git a/src/servers/sapphire_zone/Action/ActionCollision.h b/src/servers/sapphire_zone/Action/ActionCollision.h index ba2deb1e..0c0da597 100644 --- a/src/servers/sapphire_zone/Action/ActionCollision.h +++ b/src/servers/sapphire_zone/Action/ActionCollision.h @@ -23,7 +23,7 @@ namespace Entity { { public: - static bool isActorApplicable( ActorPtr actorPtr, TargetFilter targetFilter ); + static bool isActorApplicable( Actor& actor, TargetFilter targetFilter ); static std::set< ActorPtr > getActorsHitFromAction( Common::FFXIVARR_POSITION3 aoePosition, std::set< ActorPtr > actorsInRange, boost::shared_ptr< Data::Action > actionInfo, diff --git a/src/servers/sapphire_zone/Action/ActionMount.cpp b/src/servers/sapphire_zone/Action/ActionMount.cpp index 5e5a4846..13dcc05d 100644 --- a/src/servers/sapphire_zone/Action/ActionMount.cpp +++ b/src/servers/sapphire_zone/Action/ActionMount.cpp @@ -3,7 +3,6 @@ #include #include #include -#include #include #include "Network/PacketWrappers/ActorControlPacket142.h" @@ -17,7 +16,6 @@ using namespace Core::Network; using namespace Core::Network::Packets; using namespace Core::Network::Packets::Server; -extern Core::Data::ExdData g_exdData; extern Core::Logger g_log; extern Core::Scripting::ScriptManager g_scriptMgr; diff --git a/src/servers/sapphire_zone/Action/ActionTeleport.cpp b/src/servers/sapphire_zone/Action/ActionTeleport.cpp index 7ba3d7b7..6151b2cd 100644 --- a/src/servers/sapphire_zone/Action/ActionTeleport.cpp +++ b/src/servers/sapphire_zone/Action/ActionTeleport.cpp @@ -26,7 +26,7 @@ Core::Action::ActionTeleport::ActionTeleport( Entity::ActorPtr pActor, uint16_t m_startTime = 0; m_id = 5; m_handleActionType = HandleActionType::Teleport; - m_castTime = g_exdDataGen.getAction( 5 )->cast100ms * 100; // TODO: Add security checks. + m_castTime = g_exdDataGen.get< Core::Data::Action >( 5 )->cast100ms * 100; // TODO: Add security checks. m_pSource = pActor; m_bInterrupt = false; m_targetAetheryte = targetZone; diff --git a/src/servers/sapphire_zone/Action/EventAction.cpp b/src/servers/sapphire_zone/Action/EventAction.cpp index 9fa93a45..9c08f3a7 100644 --- a/src/servers/sapphire_zone/Action/EventAction.cpp +++ b/src/servers/sapphire_zone/Action/EventAction.cpp @@ -28,7 +28,7 @@ Core::Action::EventAction::EventAction( Entity::ActorPtr pActor, uint32_t eventI m_handleActionType = HandleActionType::Event; m_eventId = eventId; m_id = action; - m_castTime = g_exdDataGen.getEventAction( action )->castTime * 1000; // TODO: Add security checks. + m_castTime = g_exdDataGen.get< Core::Data::EventAction >( action )->castTime * 1000; // TODO: Add security checks. m_onActionFinishClb = finishRef; m_onActionInterruptClb = interruptRef; m_pSource = pActor; diff --git a/src/servers/sapphire_zone/Actor/Actor.cpp b/src/servers/sapphire_zone/Actor/Actor.cpp index 3342a6e0..a874b71c 100644 --- a/src/servers/sapphire_zone/Actor/Actor.cpp +++ b/src/servers/sapphire_zone/Actor/Actor.cpp @@ -1,7 +1,6 @@ #include #include #include -#include #include #include @@ -23,15 +22,18 @@ #include "Math/CalcBattle.h" #include "Actor.h" #include "Player.h" +#include "Zone/TerritoryMgr.h" extern Core::ServerZone g_serverZone; extern Core::Data::ExdDataGenerated g_exdDataGen; +extern Core::TerritoryMgr g_territoryMgr; using namespace Core::Common; using namespace Core::Network::Packets; using namespace Core::Network::Packets::Server; -Core::Entity::Actor::Actor() +Core::Entity::Actor::Actor( ObjKind type ) : + GameObject( type ) { // initialize the free slot queue for( uint8_t i = 0; i < MAX_STATUS_EFFECTS; i++ ) @@ -44,51 +46,22 @@ Core::Entity::Actor::~Actor() { } -/*! \return the id of the actor */ -uint32_t Core::Entity::Actor::getId() const -{ - return m_id; -} - -/*! \return the actors position object */ -Core::Common::FFXIVARR_POSITION3& Core::Entity::Actor::getPos() -{ - return m_pos; -} /*! \return the actors name */ std::string Core::Entity::Actor::getName() const { return std::string( m_name ); } -/*! \return true if the actor is of type player */ -bool Core::Entity::Actor::isPlayer() const -{ - return m_objKind == ObjKind::Player; -} - -/*! \return true if the actor is of type mob */ -bool Core::Entity::Actor::isMob() const -{ - return m_objKind == ObjKind::BattleNpc; -} - -/*! \return true if the actor is of type resident */ -bool Core::Entity::Actor::isEventNpc() const -{ - return m_objKind == ObjKind::EventNpc; -} - /*! \return list of actors currently in range */ std::set< Core::Entity::ActorPtr > Core::Entity::Actor::getInRangeActors( bool includeSelf ) { - auto tempInRange = m_inRangeActors; + auto tempInRange = m_inRangeActors; - if( includeSelf ) - tempInRange.insert( shared_from_this() ); + if( includeSelf ) + tempInRange.insert( getAsActor() ); - return tempInRange; -} + return tempInRange; + } /*! \return current stance of the actors */ Core::Entity::Actor::Stance Core::Entity::Actor::getStance() const @@ -285,7 +258,7 @@ Sets the actors position and notifies the zone to propagate the change void Core::Entity::Actor::setPosition( const Common::FFXIVARR_POSITION3& pos ) { m_pos = pos; - m_pCurrentZone->changeActorPosition( shared_from_this() ); + m_pCurrentZone->updateActorPosition( *this ); } void Core::Entity::Actor::setPosition( float x, float y, float z ) @@ -293,7 +266,7 @@ void Core::Entity::Actor::setPosition( float x, float y, float z ) m_pos.x = x; m_pos.y = y; m_pos.z = z; - m_pCurrentZone->changeActorPosition( shared_from_this() ); + m_pCurrentZone->updateActorPosition( *this ); } /*! @@ -336,9 +309,7 @@ Change the current target and propagate to in range players void Core::Entity::Actor::changeTarget( uint64_t targetId ) { setTargetId( targetId ); - - sendToInRangeSet( ActorControlPacket144( m_id, SetTarget, - 0, 0, 0, 0, targetId ) ); + sendToInRangeSet( ActorControlPacket144( m_id, SetTarget, 0, 0, 0, 0, targetId ) ); } /*! @@ -409,28 +380,10 @@ so players can have their own version and we can abolish the param. */ void Core::Entity::Actor::sendStatusUpdate( bool toSelf ) { - UpdateHpMpTpPacket updateHpPacket( shared_from_this() ); + UpdateHpMpTpPacket updateHpPacket( *this ); sendToInRangeSet( updateHpPacket ); } -/*! \return pointer to this instance as PlayerPtr */ -Core::Entity::PlayerPtr Core::Entity::Actor::getAsPlayer() -{ - return boost::dynamic_pointer_cast< Entity::Player, Entity::Actor >( shared_from_this() ); -} - -/*! \return pointer to this instance as BattleNpcPtr */ -Core::Entity::BattleNpcPtr Core::Entity::Actor::getAsBattleNpc() -{ - return boost::reinterpret_pointer_cast< Entity::BattleNpc, Entity::Actor >( shared_from_this() ); -} - -/*! \return pointer to this instance as EventNpcPtr */ -Core::Entity::EventNpcPtr Core::Entity::Actor::getAsEventNpc() -{ - return boost::reinterpret_pointer_cast< Entity::EventNpc, Entity::Actor >( shared_from_this() ); -} - /*! \return ActionPtr of the currently registered action, or nullptr */ Core::Action::ActionPtr Core::Entity::Actor::getCurrentAction() const { @@ -540,39 +493,29 @@ void Core::Entity::Actor::addInRangeActor( ActorPtr pActor ) // if actor is a player, add it to the in range player set m_inRangePlayers.insert( pPlayer ); } - - m_inRangeActorMap[pActor->getId()] = pActor; } /*! -Remove a given actor from the fitting in range set according to type +Remove a given actor from the matching in range set according to type but also to the global actor map \param ActorPtr to remove */ -void Core::Entity::Actor::removeInRangeActor( ActorPtr pActor ) +void Core::Entity::Actor::removeInRangeActor( Actor& actor ) { - // if this is null, something went wrong - assert( pActor ); - // call virtual event - onRemoveInRangeActor( pActor ); + onRemoveInRangeActor( actor ); // remove actor from in range actor set - m_inRangeActors.erase( pActor ); + m_inRangeActors.erase( actor.getAsActor() ); // if actor is a player, despawn ourself for him // TODO: move to virtual onRemove? if( isPlayer() ) - pActor->despawn( shared_from_this() ); + actor.despawn( getAsPlayer() ); - if( pActor->isPlayer() ) - { - auto pPlayer = pActor->getAsPlayer(); - m_inRangePlayers.erase( pPlayer ); - } - - m_inRangeActorMap.erase( pActor->getId() ); + if( actor.isPlayer() ) + m_inRangePlayers.erase( actor.getAsPlayer() ); } /*! \return true if there is at least one actor in the in range set */ @@ -581,12 +524,57 @@ bool Core::Entity::Actor::hasInRangeActor() const return ( m_inRangeActors.size() > 0 ); } +void Core::Entity::Actor::removeFromInRange() +{ + if( !hasInRangeActor() ) + return; + + Entity::ActorPtr pCurAct; + + for( auto& pCurAct : m_inRangeActors ) + { + pCurAct->removeInRangeActor( *this ); + } + +} + +void Core::Entity::Actor::checkInRangeActors() +{ + if( hasInRangeActor() ) + { + Entity::ActorPtr pCurAct; + + float fRange = 70.0f; + for( auto iter = m_inRangeActors.begin(); iter != m_inRangeActors.end();) + { + pCurAct = *iter; + auto iter2 = iter++; + + float distance = Math::Util::distance( pCurAct->getPos().x, pCurAct->getPos().y, pCurAct->getPos().z, + getPos().x, getPos().y, getPos().z ); + + if( fRange > 0.0f && distance > fRange ) + { + pCurAct->removeInRangeActor( *this ); + + if( getCurrentZone() != pCurAct->getCurrentZone() ) + return; + + removeInRangeActor( **iter2 ); + + // @TODO FIXME! + // this break is more or less a hack, iteration will break otherwise after removing + break; + } + } + } +} + /*! Clear the whole in range set, this does no cleanup */ void Core::Entity::Actor::clearInRangeSet() { m_inRangeActors.clear(); m_inRangePlayers.clear(); - m_inRangeActorMap.clear(); } /*! \return ZonePtr to the current zone, nullptr if not set */ @@ -637,7 +625,7 @@ void Core::Entity::Actor::autoAttack( ActorPtr pTarget ) if( ( tick - m_lastAttack ) > 2500 ) { - pTarget->onActionHostile( shared_from_this() ); + pTarget->onActionHostile( *this ); m_lastAttack = tick; srand( static_cast< uint32_t >( tick ) ); @@ -674,29 +662,29 @@ ChaiScript Skill Handler. \param bool should be send to self? */ void Core::Entity::Actor::handleScriptSkill( uint32_t type, uint16_t actionId, uint64_t param1, - uint64_t param2, Entity::Actor& pTarget ) + uint64_t param2, Entity::Actor& target ) { if( isPlayer() ) { - getAsPlayer()->sendDebug( std::to_string( pTarget.getId() ) ); + getAsPlayer()->sendDebug( std::to_string( target.getId() ) ); getAsPlayer()->sendDebug( "Handle script skill type: " + std::to_string( type ) ); } - auto actionInfoPtr = g_exdDataGen.getAction( actionId ); + auto actionInfoPtr = g_exdDataGen.get< Core::Data::Action >( actionId ); // Todo: Effect packet generator. 90% of this is basically setting params and it's basically unreadable. // Prepare packet. This is seemingly common for all packets in the action handler. ZoneChannelPacket< FFXIVIpcEffect > effectPacket( getId() ); - effectPacket.data().targetId = pTarget.getId(); + effectPacket.data().targetId = target.getId(); effectPacket.data().actionAnimationId = actionId; effectPacket.data().unknown_62 = 1; // Affects displaying action name next to number in floating text effectPacket.data().unknown_2 = 1; // This seems to have an effect on the "double-cast finish" animation effectPacket.data().actionTextId = actionId; effectPacket.data().numEffects = 1; effectPacket.data().rotation = Math::Util::floatToUInt16Rot( getRotation() ); - effectPacket.data().effectTarget = pTarget.getId(); + effectPacket.data().effectTarget = target.getId(); // Todo: for each actor, calculate how much damage the calculated value should deal to them - 2-step damage calc. we only have 1-step switch( type ) @@ -712,21 +700,21 @@ void Core::Entity::Actor::handleScriptSkill( uint32_t type, uint16_t actionId, u if( actionInfoPtr->castType == 1 && actionInfoPtr->effectRange != 0 || actionInfoPtr->castType != 1 ) { // If action on this specific target is valid... - if ( isPlayer() && !ActionCollision::isActorApplicable( pTarget.shared_from_this(), TargetFilter::Enemies ) ) + if ( isPlayer() && !ActionCollision::isActorApplicable( target, TargetFilter::Enemies ) ) break; sendToInRangeSet( effectPacket, true ); - if ( pTarget.isAlive() ) - pTarget.onActionHostile( shared_from_this() ); + if ( target.isAlive() ) + target.onActionHostile( *this ); - pTarget.takeDamage( static_cast< uint32_t >( param1 ) ); + target.takeDamage( static_cast< uint32_t >( param1 ) ); } else { - auto actorsCollided = ActionCollision::getActorsHitFromAction( pTarget.getPos(), getInRangeActors( true ), + auto actorsCollided = ActionCollision::getActorsHitFromAction( target.getPos(), getInRangeActors( true ), actionInfoPtr, TargetFilter::Enemies ); for( const auto& pHitActor : actorsCollided ) @@ -739,7 +727,7 @@ void Core::Entity::Actor::handleScriptSkill( uint32_t type, uint16_t actionId, u if( pHitActor->isAlive() ) - pHitActor->onActionHostile( shared_from_this() ); + pHitActor->onActionHostile( *this ); pHitActor->takeDamage( static_cast< uint32_t >( param1 ) ); @@ -767,23 +755,23 @@ void Core::Entity::Actor::handleScriptSkill( uint32_t type, uint16_t actionId, u if( actionInfoPtr->castType == 1 && actionInfoPtr->effectRange != 0 || actionInfoPtr->castType != 1 ) { - if( isPlayer() && !ActionCollision::isActorApplicable( pTarget.shared_from_this(), TargetFilter::Allies ) ) + if( isPlayer() && !ActionCollision::isActorApplicable( target, TargetFilter::Allies ) ) break; sendToInRangeSet( effectPacket, true ); - pTarget.heal( calculatedHeal ); + target.heal( calculatedHeal ); } else { // todo: get proper packets: the following was just kind of thrown together from what we know. // atm buggy (packets look "delayed" from client) - auto actorsCollided = ActionCollision::getActorsHitFromAction( pTarget.getPos(), getInRangeActors( true ), + auto actorsCollided = ActionCollision::getActorsHitFromAction( target.getPos(), getInRangeActors( true ), actionInfoPtr, TargetFilter::Allies ); for( auto pHitActor : actorsCollided ) { - effectPacket.data().targetId = pTarget.getId(); + effectPacket.data().targetId = target.getId(); effectPacket.data().effectTarget = pHitActor->getId(); sendToInRangeSet( effectPacket, true ); @@ -837,22 +825,20 @@ void Core::Entity::Actor::addStatusEffect( StatusEffect::StatusEffectPtr pEffect } /*! \param StatusEffectPtr to be applied to the actor */ -void Core::Entity::Actor::addStatusEffectById( uint32_t id, int32_t duration, Entity::Actor& pSource, uint16_t param ) +void Core::Entity::Actor::addStatusEffectById( uint32_t id, int32_t duration, Entity::Actor& source, uint16_t param ) { - StatusEffect::StatusEffectPtr effect( new StatusEffect::StatusEffect( id, pSource.shared_from_this(), - shared_from_this(), duration, 3000 ) ); + auto effect = StatusEffect::make_StatusEffect( id, source.getAsActor(), getAsActor(), duration, 3000 ); effect->setParam( param ); addStatusEffect( effect ); } /*! \param StatusEffectPtr to be applied to the actor */ -void Core::Entity::Actor::addStatusEffectByIdIfNotExist( uint32_t id, int32_t duration, Entity::Actor& pSource, uint16_t param ) +void Core::Entity::Actor::addStatusEffectByIdIfNotExist( uint32_t id, int32_t duration, Entity::Actor& source, uint16_t param ) { if( hasStatusEffect( id ) ) return; - StatusEffect::StatusEffectPtr effect( new StatusEffect::StatusEffect( id, pSource.shared_from_this(), - shared_from_this(), duration, 3000 ) ); + auto effect = StatusEffect::make_StatusEffect( id, source.getAsActor(), getAsActor(), duration, 3000 ); effect->setParam( param ); addStatusEffect( effect ); diff --git a/src/servers/sapphire_zone/Actor/Actor.h b/src/servers/sapphire_zone/Actor/Actor.h index 08ff963b..e65d1b0a 100644 --- a/src/servers/sapphire_zone/Actor/Actor.h +++ b/src/servers/sapphire_zone/Actor/Actor.h @@ -5,6 +5,7 @@ #include #include "Forwards.h" +#include "GameObject.h" #include #include #include @@ -17,28 +18,9 @@ namespace Entity { \brief Base class for all actors */ -class Actor : public boost::enable_shared_from_this< Actor > +class Actor : public GameObject { public: - enum ObjKind : uint8_t - { - None = 0x00, - Player = 0x01, - BattleNpc = 0x02, - EventNpc = 0x03, - Treasure = 0x04, - Aetheryte = 0x05, - GatheringPoint = 0x06, - EventObj = 0x07, - Mount = 0x08, - Companion = 0x09, - Retainer = 0x0A, - Area = 0x0B, - Housing = 0x0C, - Cutscene = 0x0D, - CardStand = 0x0E, - }; - enum Stance : uint8_t { Passive = 0, @@ -113,21 +95,9 @@ public: } m_baseStats; protected: - // TODO: The position class should probably be abolished and - // the FFXIV_POS struct used instead ( the functions in there - // could be moved to a FFXIV_POS_Helper namespace and rotation to - // its own member ) - /*! Position of the actor */ - Common::FFXIVARR_POSITION3 m_pos; - float m_rot; - /*! Name of the actor */ char m_name[34]; /*! Id of the zone the actor currently is in */ uint32_t m_zoneId; - /*! Id of the actor */ - uint32_t m_id; - /*! Type of the actor */ - ObjKind m_objKind; /*! Ptr to the ZoneObj the actor belongs to */ ZonePtr m_pCurrentZone; /*! Last tick time for the actor ( in ms ) */ @@ -169,15 +139,16 @@ protected: std::vector< std::pair< uint8_t, uint32_t> > m_statusEffectList; std::map< uint8_t, StatusEffect::StatusEffectPtr > m_statusEffectMap; -public: - Actor(); + std::set< ActorPtr > m_inRangeActors; + std::set< PlayerPtr > m_inRangePlayers; - virtual ~Actor(); +public: + Actor( ObjKind type ); + + virtual ~Actor() override; virtual void calculateStats() {}; - uint32_t getId() const; - /// Status effect functions void addStatusEffect( StatusEffect::StatusEffectPtr pEffect ); void removeStatusEffect( uint8_t effectSlotId ); @@ -209,16 +180,8 @@ public: float getRotation() const; - Common::FFXIVARR_POSITION3& getPos(); - std::string getName() const; - bool isPlayer() const; - - bool isMob() const; - - bool isEventNpc() const; - std::set< ActorPtr > getInRangeActors( bool includeSelf = false ); bool face( const Common::FFXIVARR_POSITION3& p ); @@ -230,11 +193,8 @@ public: ActorStats getStats() const; uint32_t getHp() const; - uint32_t getMp() const; - uint16_t getTp() const; - uint16_t getGp() const; Common::InvincibilityType getInvincibilityType() const; @@ -252,17 +212,13 @@ public: bool isAlive() const; virtual uint32_t getMaxHp() const; - virtual uint32_t getMaxMp() const; void resetHp(); - void resetMp(); void setHp( uint32_t hp ); - void setMp( uint32_t mp ); - void setGp( uint32_t gp ); void setInvincibilityType( Common::InvincibilityType type ); @@ -277,13 +233,11 @@ public: virtual void autoAttack( ActorPtr pTarget ); - virtual void spawn( PlayerPtr pTarget ) {} - virtual void despawn( ActorPtr pTarget ) {} + virtual void onRemoveInRangeActor( Actor& pActor ) {} - virtual void onRemoveInRangeActor( ActorPtr pActor ) {} virtual void onDeath() {}; virtual void onDamageTaken( Actor& pSource ) {}; - virtual void onActionHostile( Core::Entity::ActorPtr pSource ) {}; + virtual void onActionHostile( Actor& source ) {}; virtual void onActionFriendly( Actor& pSource ) {}; virtual void onTick() {}; @@ -294,10 +248,6 @@ public: virtual void heal( uint32_t amount ); virtual bool checkAction(); virtual void update( int64_t currTime ) {}; - - PlayerPtr getAsPlayer(); - BattleNpcPtr getAsBattleNpc(); - EventNpcPtr getAsEventNpc(); Action::ActionPtr getCurrentAction() const; @@ -313,14 +263,18 @@ public: void sendToInRangeSet( Network::Packets::GamePacketPtr pPacket, bool bToSelf = false ); // add an actor to in range set - virtual void addInRangeActor( ActorPtr pActor ); + void addInRangeActor( ActorPtr pActor ); // remove an actor from the in range set - void removeInRangeActor( ActorPtr pActor ); + void removeInRangeActor( Actor& pActor ); // return true if there is at least one actor in the in range set bool hasInRangeActor() const; + void checkInRangeActors(); + + void removeFromInRange(); + // clear the whole in range set, this does no cleanup virtual void clearInRangeSet(); @@ -334,13 +288,7 @@ public: // set the current cell void setCell( Cell* pCell ); - - // TODO: Why did i even declare them publicly here?! - std::set< ActorPtr > m_inRangeActors; - std::set< PlayerPtr > m_inRangePlayers; - std::map< uint32_t, ActorPtr > m_inRangeActorMap; - - Core::Cell* m_pCell; + Core::Cell* m_pCell; }; diff --git a/src/servers/sapphire_zone/Actor/BattleNpc.cpp b/src/servers/sapphire_zone/Actor/BattleNpc.cpp index 81732922..5b43728b 100644 --- a/src/servers/sapphire_zone/Actor/BattleNpc.cpp +++ b/src/servers/sapphire_zone/Actor/BattleNpc.cpp @@ -25,10 +25,10 @@ extern Core::Data::ExdDataGenerated g_exdDataGen; uint32_t Core::Entity::BattleNpc::m_nextID = 1149241694; -Core::Entity::BattleNpc::BattleNpc() +Core::Entity::BattleNpc::BattleNpc() : + Actor( ObjKind::BattleNpc ) { m_id = 0; - m_objKind = ObjKind::BattleNpc; m_status = ActorStatus::Idle; } @@ -39,7 +39,8 @@ Core::Entity::BattleNpc::~BattleNpc() Core::Entity::BattleNpc::BattleNpc( uint16_t modelId, uint16_t nameid, const Common::FFXIVARR_POSITION3& spawnPos, uint16_t bnpcBaseId, uint32_t type, uint8_t level, uint8_t behaviour, - uint32_t mobType ) : Actor() + uint32_t mobType ) : + Actor( ObjKind::BattleNpc ) { BattleNpc::m_nextID++; m_id = BattleNpc::m_nextID; @@ -48,8 +49,6 @@ Core::Entity::BattleNpc::BattleNpc( uint16_t modelId, uint16_t nameid, const Com m_pos = spawnPos; m_posOrigin = spawnPos; - m_objKind = ObjKind::BattleNpc; - m_mode = MODE_IDLE; m_targetId = static_cast< uint64_t >( INVALID_GAME_OBJECT_ID ); @@ -149,11 +148,8 @@ void Core::Entity::BattleNpc::spawn( PlayerPtr pTarget ) } // despawn -void Core::Entity::BattleNpc::despawn( ActorPtr pTarget ) +void Core::Entity::BattleNpc::despawn( PlayerPtr pPlayer ) { - - auto pPlayer = pTarget->getAsPlayer(); - pPlayer->freePlayerSpawnId( getId() ); ActorControlPacket143 controlPacket( m_id, DespawnZoneScreenMsg, 0x04, getId(), 0x01 ); @@ -181,11 +177,11 @@ uint8_t Core::Entity::BattleNpc::getbehavior() const return m_behavior; } -void Core::Entity::BattleNpc::hateListAdd( ActorPtr pActor, int32_t hateAmount ) +void Core::Entity::BattleNpc::hateListAdd( Actor& actor, int32_t hateAmount ) { auto hateEntry = new HateListEntry(); hateEntry->m_hateAmount = hateAmount; - hateEntry->m_pActor = pActor; + hateEntry->m_pActor = actor.getAsActor(); m_hateList.insert( hateEntry ); } @@ -278,32 +274,32 @@ bool Core::Entity::BattleNpc::moveTo( Common::FFXIVARR_POSITION3& pos ) } -void Core::Entity::BattleNpc::aggro( ActorPtr pActor ) +void Core::Entity::BattleNpc::aggro( Actor& actor ) { m_lastAttack = Util::getTimeMs(); - hateListUpdate( pActor, 1 ); + hateListUpdate( actor, 1 ); - changeTarget( pActor->getId() ); + changeTarget( actor.getId() ); setStance( Stance::Active ); m_mode = MODE_COMBAT; - if( pActor->isPlayer() ) + if( actor.isPlayer() ) { - PlayerPtr tmpPlayer = pActor->getAsPlayer(); + PlayerPtr tmpPlayer = actor.getAsPlayer(); tmpPlayer->queuePacket( ActorControlPacket142( getId(), 0, 1, 1 ) ); tmpPlayer->onMobAggro( getAsBattleNpc() ); } } -void Core::Entity::BattleNpc::deaggro( ActorPtr pActor ) +void Core::Entity::BattleNpc::deaggro( Actor& actor ) { - if( !hateListHasActor( pActor ) ) - hateListRemove( pActor ); + if( !hateListHasActor( actor ) ) + hateListRemove( actor ); - if( pActor->isPlayer() ) + if( actor.isPlayer() ) { - PlayerPtr tmpPlayer = pActor->getAsPlayer(); + PlayerPtr tmpPlayer = actor.getAsPlayer(); tmpPlayer->onMobDeaggro( getAsBattleNpc() ); } } @@ -314,7 +310,7 @@ void Core::Entity::BattleNpc::hateListClear() for( ; it != m_hateList.end(); ++it ) { if( isInRangeSet( ( *it )->m_pActor ) ) - deaggro( ( *it )->m_pActor ); + deaggro( *( *it )->m_pActor ); HateListEntry* tmpListEntry = ( *it ); delete tmpListEntry; } @@ -322,19 +318,19 @@ void Core::Entity::BattleNpc::hateListClear() } -void Core::Entity::BattleNpc::hateListRemove( ActorPtr pActor ) +void Core::Entity::BattleNpc::hateListRemove( Actor& actor ) { auto it = m_hateList.begin(); for( ; it != m_hateList.end(); ++it ) { - if( ( *it )->m_pActor == pActor ) + if( ( *it )->m_pActor->getId() == actor.getId() ) { HateListEntry* pEntry = *it; m_hateList.erase( it ); delete pEntry; - if( pActor->isPlayer() ) + if( actor.isPlayer() ) { - PlayerPtr tmpPlayer = pActor->getAsPlayer(); + PlayerPtr tmpPlayer = actor.getAsPlayer(); tmpPlayer->onMobDeaggro( getAsBattleNpc() ); } return; @@ -342,12 +338,12 @@ void Core::Entity::BattleNpc::hateListRemove( ActorPtr pActor ) } } -bool Core::Entity::BattleNpc::hateListHasActor( ActorPtr pActor ) +bool Core::Entity::BattleNpc::hateListHasActor( Actor& actor ) { auto it = m_hateList.begin(); for( ; it != m_hateList.end(); ++it ) { - if( ( *it )->m_pActor == pActor ) + if( ( *it )->m_pActor->getId() == actor.getId() ) return true; } return false; @@ -363,13 +359,13 @@ uint32_t Core::Entity::BattleNpc::getNameId() const return m_nameId; } -void Core::Entity::BattleNpc::hateListUpdate( ActorPtr pActor, int32_t hateAmount ) +void Core::Entity::BattleNpc::hateListUpdate( Actor& actor, int32_t hateAmount ) { auto it = m_hateList.begin(); for( ; it != m_hateList.end(); ++it ) { - if( ( *it )->m_pActor == pActor ) + if( ( *it )->m_pActor->getId() == actor.getId() ) { ( *it )->m_hateAmount += hateAmount; return; @@ -378,7 +374,7 @@ void Core::Entity::BattleNpc::hateListUpdate( ActorPtr pActor, int32_t hateAmoun auto hateEntry = new HateListEntry(); hateEntry->m_hateAmount = hateAmount; - hateEntry->m_pActor = pActor; + hateEntry->m_pActor = actor.getAsActor(); m_hateList.insert( hateEntry ); } @@ -422,7 +418,7 @@ void Core::Entity::BattleNpc::onDeath() auto levelDiff = static_cast< int32_t >( this->m_level ) - level; auto cappedLevelDiff = Math::Util::clamp( levelDiff, 1, 6 ); - auto expNeeded = g_exdDataGen.getParamGrow( m_level + cappedLevelDiff - 1 )->expToNext; + auto expNeeded = g_exdDataGen.get< Core::Data::ParamGrow >( m_level + cappedLevelDiff - 1 )->expToNext; int32_t exp = 0; // todo: arbitrary numbers pulled out of my ass @@ -452,14 +448,14 @@ void Core::Entity::BattleNpc::onDeath() hateListClear(); } -void Core::Entity::BattleNpc::onActionHostile( ActorPtr pSource ) +void Core::Entity::BattleNpc::onActionHostile( Actor& source ) { if( hateListGetHighest() == nullptr ) - aggro( pSource ); + aggro( source ); if( getClaimer() == nullptr ) - setOwner( pSource->getAsPlayer() ); + setOwner( source.getAsPlayer() ); } Core::Entity::ActorPtr Core::Entity::BattleNpc::getClaimer() const @@ -526,7 +522,7 @@ void Core::Entity::BattleNpc::update( int64_t currTime ) if( pClosestActor != nullptr && !pClosestActor->isAlive() ) { - hateListRemove( pClosestActor ); + hateListRemove( *pClosestActor ); pClosestActor = hateListGetHighest(); } diff --git a/src/servers/sapphire_zone/Actor/BattleNpc.h b/src/servers/sapphire_zone/Actor/BattleNpc.h index 6bc0b93e..b80e6340 100644 --- a/src/servers/sapphire_zone/Actor/BattleNpc.h +++ b/src/servers/sapphire_zone/Actor/BattleNpc.h @@ -24,7 +24,7 @@ class BattleNpc : public Actor { public: BattleNpc(); - ~BattleNpc(); + virtual ~BattleNpc() override; BattleNpc( uint16_t modelId, uint16_t nameid, const Common::FFXIVARR_POSITION3& spawnPos, uint16_t bnpcBaseId = 0, uint32_t type = 2, uint8_t level = 0, uint8_t behaviour = 1, uint32_t mobType = 0 ); @@ -42,7 +42,7 @@ public: void spawn( PlayerPtr pTarget ) override; // send despawn packets to pTarget - void despawn( ActorPtr pTarget ) override; + void despawn( PlayerPtr pTarget ) override; uint8_t getLevel() const override; @@ -52,12 +52,12 @@ public: uint8_t getbehavior() const; - void hateListAdd( ActorPtr pActor, int32_t hateAmount ); + void hateListAdd( Actor& actor, int32_t hateAmount ); - void hateListUpdate( ActorPtr pActor, int32_t hateAmount ); - void hateListRemove( ActorPtr pActor ); + void hateListUpdate( Actor& actor, int32_t hateAmount ); + void hateListRemove( Actor& actor ); - bool hateListHasActor( ActorPtr pActor ); + bool hateListHasActor( Actor& actor ); void resetPos(); @@ -67,15 +67,15 @@ public: ActorPtr hateListGetHighest(); - void aggro( ActorPtr pActor ); + void aggro( Actor& actor ); - void deaggro( ActorPtr pActor ); + void deaggro( Actor& actor ); void setOwner( PlayerPtr pPlayer ); void onDeath() override; - void onActionHostile( ActorPtr pSource ) override; + void onActionHostile( Actor& source ) override; ActorPtr getClaimer() const; diff --git a/src/servers/sapphire_zone/Actor/EventNpc.cpp b/src/servers/sapphire_zone/Actor/EventNpc.cpp index 5b1e4bc4..af3eb0a3 100644 --- a/src/servers/sapphire_zone/Actor/EventNpc.cpp +++ b/src/servers/sapphire_zone/Actor/EventNpc.cpp @@ -5,7 +5,6 @@ #include #include -#include #include #include @@ -21,14 +20,13 @@ using namespace Core::Network::Packets; using namespace Core::Network::Packets::Server; extern Core::Logger g_log; -extern Core::Data::ExdData g_exdData; uint32_t Core::Entity::EventNpc::m_nextID = 1249241694; -Core::Entity::EventNpc::EventNpc() +Core::Entity::EventNpc::EventNpc() : + Actor( ObjKind::EventNpc ) { m_id = 0; - m_objKind = ObjKind::EventNpc; m_status = ActorStatus::Idle; } @@ -37,7 +35,8 @@ Core::Entity::EventNpc::~EventNpc() } -Core::Entity::EventNpc::EventNpc( uint32_t enpcId, const Common::FFXIVARR_POSITION3& spawnPos, float rotation ) : Actor() +Core::Entity::EventNpc::EventNpc( uint32_t enpcId, const Common::FFXIVARR_POSITION3& spawnPos, float rotation ) : + Actor( ObjKind::EventNpc ) { EventNpc::m_nextID++; m_id = EventNpc::m_nextID; @@ -45,8 +44,6 @@ Core::Entity::EventNpc::EventNpc( uint32_t enpcId, const Common::FFXIVARR_POSITI m_pos = spawnPos; m_posOrigin = spawnPos; - m_objKind = ObjKind::EventNpc; - m_targetId = static_cast< uint64_t >( INVALID_GAME_OBJECT_ID ); m_maxHp = 150; @@ -70,7 +67,8 @@ Core::Entity::EventNpc::EventNpc( uint32_t enpcId, const Common::FFXIVARR_POSITI } // spawn this player for pTarget -// TODO: Retail additionally sends Look+Models for EventNpcs even though it is not needed, add when the new exd reader is implemented(also counts for BNPCs) +/*! TODO: Retail additionally sends Look+Models for EventNpcs even though it is not needed, + add when the new exd reader is implemented(also counts for BNPCs) */ void Core::Entity::EventNpc::spawn( PlayerPtr pTarget ) { ZoneChannelPacket< FFXIVIpcNpcSpawn > spawnPacket( getId(), pTarget->getId() ); @@ -96,16 +94,12 @@ void Core::Entity::EventNpc::spawn( PlayerPtr pTarget ) } // despawn -void Core::Entity::EventNpc::despawn( ActorPtr pTarget ) +void Core::Entity::EventNpc::despawn( PlayerPtr pTarget ) { - - auto pPlayer = pTarget->getAsPlayer(); - - pPlayer->freePlayerSpawnId( getId() ); + pTarget->freePlayerSpawnId( getId() ); ActorControlPacket143 controlPacket( m_id, DespawnZoneScreenMsg, 0x04, getId(), 0x01 ); - pPlayer->queuePacket( controlPacket ); - + pTarget->queuePacket( controlPacket ); } uint8_t Core::Entity::EventNpc::getLevel() const diff --git a/src/servers/sapphire_zone/Actor/EventNpc.h b/src/servers/sapphire_zone/Actor/EventNpc.h index fa994bbe..726eae94 100644 --- a/src/servers/sapphire_zone/Actor/EventNpc.h +++ b/src/servers/sapphire_zone/Actor/EventNpc.h @@ -11,7 +11,7 @@ class EventNpc : public Actor { public: EventNpc(); - ~EventNpc(); + virtual ~EventNpc() override; EventNpc( uint32_t enpcId, const Common::FFXIVARR_POSITION3& spawnPos, float rotation ); @@ -19,7 +19,7 @@ public: void spawn( PlayerPtr pTarget ) override; // send despawn packets to pTarget - void despawn( ActorPtr pTarget ) override; + void despawn( PlayerPtr pTarget ) override; uint8_t getLevel() const override; diff --git a/src/servers/sapphire_zone/Actor/GameObject.cpp b/src/servers/sapphire_zone/Actor/GameObject.cpp new file mode 100644 index 00000000..16c042ab --- /dev/null +++ b/src/servers/sapphire_zone/Actor/GameObject.cpp @@ -0,0 +1,94 @@ +#include "GameObject.h" + +#include "Player.h" +#include "Actor.h" +#include "BattleNpc.h" +#include "EventNpc.h" + +Core::Entity::GameObject::GameObject( ObjKind type ) : + m_objKind( type ) +{ + +} + +uint32_t Core::Entity::GameObject::getId() const +{ + return m_id; +} + +Core::Entity::GameObject::ObjKind Core::Entity::GameObject::getObjKind() const +{ + return m_objKind; +} + +Core::Common::FFXIVARR_POSITION3& Core::Entity::GameObject::getPos() +{ + return m_pos; +} + +void Core::Entity::GameObject::setPos( float x, float y, float z ) +{ + m_pos.x = x; + m_pos.y = y; + m_pos.z = z; +} + +void Core::Entity::GameObject::setPos( const Core::Common::FFXIVARR_POSITION3& pos ) +{ + m_pos = pos; +} + +float Core::Entity::GameObject::getRot() const +{ + return m_rot; +} + +void Core::Entity::GameObject::setRot( float rot ) +{ + m_rot = rot; +} + +bool Core::Entity::GameObject::isPlayer() const +{ + return m_objKind == ObjKind::Player; +} + +bool Core::Entity::GameObject::isBattleNpc() const +{ + return m_objKind == ObjKind::BattleNpc; +} + +bool Core::Entity::GameObject::isEventNpc() const +{ + return m_objKind == ObjKind::EventNpc; +} + +/*! \return pointer to this instance as ActorPtr */ +Core::Entity::ActorPtr Core::Entity::GameObject::getAsActor() +{ + return boost::dynamic_pointer_cast< Entity::Actor, Entity::GameObject >( shared_from_this() ); +} + +/*! \return pointer to this instance as PlayerPtr */ +Core::Entity::PlayerPtr Core::Entity::GameObject::getAsPlayer() +{ + if( !isPlayer() ) + return nullptr; + return boost::dynamic_pointer_cast< Entity::Player, Entity::GameObject >( shared_from_this() ); +} + +/*! \return pointer to this instance as BattleNpcPtr */ +Core::Entity::BattleNpcPtr Core::Entity::GameObject::getAsBattleNpc() +{ + if( !isBattleNpc() ) + return nullptr; + return boost::dynamic_pointer_cast< Entity::BattleNpc, Entity::GameObject >( shared_from_this() ); +} + +/*! \return pointer to this instance as EventNpcPtr */ +Core::Entity::EventNpcPtr Core::Entity::GameObject::getAsEventNpc() +{ + if( !isEventNpc() ) + return nullptr; + return boost::dynamic_pointer_cast< Entity::EventNpc, Entity::GameObject >( shared_from_this() ); +} diff --git a/src/servers/sapphire_zone/Actor/GameObject.h b/src/servers/sapphire_zone/Actor/GameObject.h new file mode 100644 index 00000000..d1f70b3b --- /dev/null +++ b/src/servers/sapphire_zone/Actor/GameObject.h @@ -0,0 +1,82 @@ +#ifndef _GAME_OBJECT_H_ +#define _GAME_OBJECT_H_ + +#include +#include + +#include "Forwards.h" +#include +#include +#include + +namespace Core { +namespace Entity { + +/*! +\class GameObject +\brief Base class for all actor/objects + +*/ + class GameObject : public boost::enable_shared_from_this< GameObject > + { + public: + enum ObjKind : uint8_t + { + None = 0x00, + Player = 0x01, + BattleNpc = 0x02, + EventNpc = 0x03, + Treasure = 0x04, + Aetheryte = 0x05, + GatheringPoint = 0x06, + EventObj = 0x07, + Mount = 0x08, + Companion = 0x09, + Retainer = 0x0A, + Area = 0x0B, + Housing = 0x0C, + Cutscene = 0x0D, + CardStand = 0x0E, + }; + + protected: + /*! Position of the object */ + Common::FFXIVARR_POSITION3 m_pos; + /*! Rotation of the object */ + float m_rot; + /*! Id of the actor */ + uint32_t m_id; + /*! Type of the actor */ + ObjKind m_objKind; + + public: + explicit GameObject( ObjKind type ); + virtual ~GameObject() {}; + + virtual void spawn( PlayerPtr pTarget ) {} + virtual void despawn( PlayerPtr pTarget ) {} + + uint32_t getId() const; + + ObjKind getObjKind() const; + + Common::FFXIVARR_POSITION3& getPos(); + void setPos( const Common::FFXIVARR_POSITION3& pos ); + void setPos( float x, float y, float z ); + + float getRot() const; + void setRot( float rot ); + + bool isPlayer() const; + bool isBattleNpc() const; + bool isEventNpc() const; + + ActorPtr getAsActor(); + PlayerPtr getAsPlayer(); + BattleNpcPtr getAsBattleNpc(); + EventNpcPtr getAsEventNpc(); + }; + +} +} +#endif diff --git a/src/servers/sapphire_zone/Actor/InstanceObject.cpp b/src/servers/sapphire_zone/Actor/InstanceObject.cpp new file mode 100644 index 00000000..a182b66b --- /dev/null +++ b/src/servers/sapphire_zone/Actor/InstanceObject.cpp @@ -0,0 +1,48 @@ +#include "InstanceObject.h" +#include "Zone/InstanceContent.h" + +Core::Entity::InstanceObject::InstanceObject( uint32_t objectId, uint32_t mapLinkId ) : + Core::Entity::GameObject( ObjKind::EventObj ), + m_mapLinkId( mapLinkId ), + m_state( 0 ) +{ + m_id = objectId; +} + +Core::Entity::InstanceObject::InstanceObject( uint32_t objectId, uint32_t mapLinkId, Common::FFXIVARR_POSITION3 pos ) : + InstanceObject( objectId, mapLinkId ) +{ + +} + +uint32_t Core::Entity::InstanceObject::getHierachyId() const +{ + return m_mapLinkId; +} + +void Core::Entity::InstanceObject::setHierachyId( uint32_t hierachyId ) +{ + m_mapLinkId = hierachyId; +} + +uint8_t Core::Entity::InstanceObject::getState() const +{ + return m_state; +} + +void Core::Entity::InstanceObject::setState( uint8_t state ) +{ + m_state = state; + + //m_parentInstance->updateInstanceObj( InstanceObjectPtr( this ) ); +} + +void Core::Entity::InstanceObject::setParentInstance( Core::InstanceContentPtr instance ) +{ + m_parentInstance = instance; +} + +Core::InstanceContentPtr Core::Entity::InstanceObject::getParentInstance() const +{ + return m_parentInstance; +} \ No newline at end of file diff --git a/src/servers/sapphire_zone/Actor/InstanceObject.h b/src/servers/sapphire_zone/Actor/InstanceObject.h new file mode 100644 index 00000000..6bd61e0f --- /dev/null +++ b/src/servers/sapphire_zone/Actor/InstanceObject.h @@ -0,0 +1,33 @@ +#ifndef SAPPHIRE_INSTANCEOBJECT_H +#define SAPPHIRE_INSTANCEOBJECT_H + +#include "GameObject.h" + +namespace Core +{ +namespace Entity +{ + class InstanceObject : public GameObject + { + public: + InstanceObject( uint32_t objectId, uint32_t mapLinkId ); + InstanceObject( uint32_t objectId, uint32_t mapLinkId, Common::FFXIVARR_POSITION3 pos ); + + uint32_t getHierachyId() const; + void setHierachyId( uint32_t hierachyId ); + + uint8_t getState() const; + void setState( uint8_t state ); + + InstanceContentPtr getParentInstance() const; + void setParentInstance( InstanceContentPtr instance ); + + protected: + uint32_t m_mapLinkId; + uint8_t m_state; + InstanceContentPtr m_parentInstance; + }; +} +} + +#endif //SAPPHIRE_INSTANCEOBJECT_H diff --git a/src/servers/sapphire_zone/Actor/Player.cpp b/src/servers/sapphire_zone/Actor/Player.cpp index 3842db70..204d3f71 100644 --- a/src/servers/sapphire_zone/Actor/Player.cpp +++ b/src/servers/sapphire_zone/Actor/Player.cpp @@ -58,7 +58,7 @@ using namespace Core::Network::Packets::Server; // player constructor Core::Entity::Player::Player() : - Actor(), + Actor( ObjKind::Player ), m_lastWrite( 0 ), m_lastPing( 0 ), m_bIsLogin( false ), @@ -75,10 +75,10 @@ Core::Entity::Player::Player() : m_zoningType( Common::ZoneingType::None ), m_bAutoattack( false ), m_markedForRemoval( false ), - m_mount( 0 ) + m_mount( 0 ), + m_directorInitialized( false ) { m_id = 0; - m_objKind = ObjKind::Player; m_currentStance = Stance::Passive; m_onlineStatus = 0; m_queuedZoneing = nullptr; @@ -95,7 +95,6 @@ Core::Entity::Player::Player() : Core::Entity::Player::~Player() { - g_log.debug( "PlayerObj destroyed" ); } // TODO: add a proper calculation based on race / job / level / gear @@ -216,9 +215,9 @@ void Core::Entity::Player::calculateStats() uint8_t level = getLevel(); uint8_t job = static_cast< uint8_t >( getClass() ); - auto classInfo = g_exdDataGen.getClassJob( job ); - auto tribeInfo = g_exdDataGen.getTribe( tribe ); - auto paramGrowthInfo = g_exdDataGen.getParamGrow( level ); + auto classInfo = g_exdDataGen.get< Core::Data::ClassJob >( job ); + auto tribeInfo = g_exdDataGen.get< Core::Data::Tribe >( tribe ); + auto paramGrowthInfo = g_exdDataGen.get< Core::Data::ParamGrow >( level ); // TODO: put formula somewhere else... float base = Math::CalcStats::calculateBaseStat( getAsPlayer() ); @@ -301,7 +300,7 @@ uint64_t Core::Entity::Player::getFriendsListId() const void Core::Entity::Player::teleport( uint16_t aetheryteId, uint8_t type ) { - auto data = g_exdDataGen.getAetheryte( aetheryteId ); + auto data = g_exdDataGen.get< Core::Data::Aetheryte >( aetheryteId ); if( data == nullptr ) { @@ -310,7 +309,7 @@ void Core::Entity::Player::teleport( uint16_t aetheryteId, uint8_t type ) setStateFlag( PlayerStateFlag::BetweenAreas ); - auto z_pos = g_territoryMgr.getTerritoryPosition( data->destination ); + auto z_pos = g_territoryMgr.getTerritoryPosition( data->territory ); Common::FFXIVARR_POSITION3 pos; pos.x = 0; @@ -324,7 +323,8 @@ void Core::Entity::Player::teleport( uint16_t aetheryteId, uint8_t type ) rot = z_pos->getTargetRotation(); } - sendDebug( "Teleport: " + g_exdDataGen.getPlaceName( data->placeName )->name + " " + g_exdDataGen.getPlaceName( data->aethernetName )->name + + sendDebug( "Teleport: " + g_exdDataGen.get< Core::Data::PlaceName >( data->placeName )->name + " " + + g_exdDataGen.get< Core::Data::PlaceName >( data->aethernetName )->name + "(" + std::to_string( data->territory ) + ")" ); // TODO: this should be simplified and a type created in server_common/common.h. @@ -503,7 +503,7 @@ void Core::Entity::Player::discover( int16_t map_id, int16_t sub_id ) int32_t offset = 4; - auto info = g_exdDataGen.getMap( g_exdDataGen.getTerritoryType( getCurrentZone()->getTerritoryId() )->map ); + auto info = g_exdDataGen.get< Core::Data::Map >( g_exdDataGen.get< Core::Data::TerritoryType >( getCurrentZone()->getTerritoryId() )->map ); if( info->discoveryArrayByte ) offset = 4 + 2 * info->discoveryIndex; else @@ -518,7 +518,7 @@ void Core::Entity::Player::discover( int16_t map_id, int16_t sub_id ) uint16_t level = getLevel(); - uint32_t exp = ( g_exdDataGen.getParamGrow( level )->expToNext * 5 / 100 ); + uint32_t exp = ( g_exdDataGen.get< Core::Data::ParamGrow >( level )->expToNext * 5 / 100 ); gainExp( exp ); @@ -595,9 +595,9 @@ void Core::Entity::Player::gainExp( uint32_t amount ) uint16_t level = getLevel(); - uint32_t neededExpToLevel = g_exdDataGen.getParamGrow( level )->expToNext; + uint32_t neededExpToLevel = g_exdDataGen.get< Core::Data::ParamGrow >( level )->expToNext; - uint32_t neededExpToLevelplus1 = g_exdDataGen.getParamGrow( level + 1 )->expToNext; + uint32_t neededExpToLevelplus1 = g_exdDataGen.get< Core::Data::ParamGrow >( level + 1 )->expToNext; queuePacket( ActorControlPacket143( getId(), GainExpMsg, static_cast< uint8_t >( getClass() ), amount ) ); @@ -629,8 +629,8 @@ void Core::Entity::Player::gainExp( uint32_t amount ) void Core::Entity::Player::gainLevel() { - setLevel( getLevel() + 1 ); + setLevel( getLevel() + 1 ); calculateStats(); sendStats(); sendStatusUpdate(); @@ -661,6 +661,12 @@ void Core::Entity::Player::gainLevel() classInfoPacket.data().currentExp = getExp(); queuePacket( classInfoPacket ); + + + + + + } void Core::Entity::Player::unlock() @@ -670,52 +676,30 @@ void Core::Entity::Player::unlock() void Core::Entity::Player::sendStatusUpdate( bool toSelf ) { - // CGamePacket* pPE = new CGamePacket(0x140, 0x0128, getId(), getId()); - - //pPE->setInt8At(0x20, static_cast(getClass())); - - // pPE->setInt8At(0x21, getLevel()); - // pPE->setInt8At(0x22, getLevel()); - - // // current exp - // pPE->setInt32At(0x28, getExp()); - - // // rested exp - // //pPE->setInt32At(0x2C, m_hp); - - // pPE->setInt32At(0x24, m_hp); - // pPE->setInt32At(0x28, getMaxHp()); - // pPE->setInt16At(0x2C, m_mp); - // pPE->setInt16At(0x2E, getMaxMp()); - // pPE->setInt16At(0x30, m_tp); - - // sendToInRangeSet(pPE, toSelf); - - sendToInRangeSet( UpdateHpMpTpPacket( shared_from_this() ), true ); - + sendToInRangeSet( UpdateHpMpTpPacket( *this ), true ); } uint8_t Core::Entity::Player::getLevel() const { - uint8_t classJobIndex = g_exdDataGen.getClassJob( static_cast< uint8_t >( getClass() ) )->expArrayIndex; + uint8_t classJobIndex = g_exdDataGen.get< Core::Data::ClassJob >( static_cast< uint8_t >( getClass() ) )->expArrayIndex; return static_cast< uint8_t >( m_classArray[classJobIndex] ); } uint8_t Core::Entity::Player::getLevelForClass( Common::ClassJob pClass ) const { - uint8_t classJobIndex = g_exdDataGen.getClassJob( static_cast< uint8_t >( pClass ) )->expArrayIndex; + uint8_t classJobIndex = g_exdDataGen.get< Core::Data::ClassJob >( static_cast< uint8_t >( pClass ) )->expArrayIndex; return static_cast< uint8_t >( m_classArray[classJobIndex] ); } uint32_t Core::Entity::Player::getExp() const { - uint8_t classJobIndex = g_exdDataGen.getClassJob( static_cast< uint8_t >( getClass() ) )->expArrayIndex; + uint8_t classJobIndex = g_exdDataGen.get< Core::Data::ClassJob >( static_cast< uint8_t >( getClass() ) )->expArrayIndex; return m_expArray[classJobIndex]; } void Core::Entity::Player::setExp( uint32_t amount ) { - uint8_t classJobIndex = g_exdDataGen.getClassJob( static_cast< uint8_t >( getClass() ) )->expArrayIndex; + uint8_t classJobIndex = g_exdDataGen.get< Core::Data::ClassJob >( static_cast< uint8_t >( getClass() ) )->expArrayIndex; m_expArray[classJobIndex] = amount; } @@ -755,13 +739,13 @@ void Core::Entity::Player::setClassJob( Common::ClassJob classJob ) void Core::Entity::Player::setLevel( uint8_t level ) { - uint8_t classJobIndex = g_exdDataGen.getClassJob( static_cast< uint8_t >( getClass() ) )->expArrayIndex; + uint8_t classJobIndex = g_exdDataGen.get< Core::Data::ClassJob >( static_cast< uint8_t >( getClass() ) )->expArrayIndex; m_classArray[classJobIndex] = level; } void Core::Entity::Player::setLevelForClass( uint8_t level, Common::ClassJob classjob ) { - uint8_t classJobIndex = g_exdDataGen.getClassJob( static_cast< uint8_t >( classjob ) )->expArrayIndex; + uint8_t classJobIndex = g_exdDataGen.get< Core::Data::ClassJob >( static_cast< uint8_t >( classjob ) )->expArrayIndex; if( m_classArray[classJobIndex] == 0 ) insertDbClass( classJobIndex ); @@ -844,9 +828,9 @@ void Core::Entity::Player::spawn( Entity::PlayerPtr pTarget ) } // despawn -void Core::Entity::Player::despawn( Entity::ActorPtr pTarget ) +void Core::Entity::Player::despawn( Entity::PlayerPtr pTarget ) { - auto pPlayer = pTarget->getAsPlayer(); + auto pPlayer = pTarget; pPlayer->freePlayerSpawnId( getId() ); @@ -911,7 +895,7 @@ const uint8_t* Core::Entity::Player::getStateFlags() const bool Core::Entity::Player::actionHasCastTime( uint32_t actionId ) //TODO: Add logic for special cases { - auto actionInfoPtr = g_exdDataGen.getAction( actionId ); + auto actionInfoPtr = g_exdDataGen.get< Core::Data::Action >( actionId ); if( actionInfoPtr->preservesCombo ) return false; @@ -1454,7 +1438,7 @@ void Core::Entity::Player::autoAttack( ActorPtr pTarget ) auto mainWeap = m_pInventory->getItemAt( Inventory::GearSet0, Inventory::EquipSlot::MainHand ); - pTarget->onActionHostile( shared_from_this() ); + pTarget->onActionHostile( *this ); //uint64_t tick = Util::getTimeMs(); //srand(static_cast< uint32_t >(tick)); @@ -1591,8 +1575,8 @@ void Player::sendZonePackets() } // set flags, will be reset automatically by zoning ( only on client side though ) - setStateFlag( PlayerStateFlag::BetweenAreas ); - setStateFlag( PlayerStateFlag::BetweenAreas1 ); + //setStateFlag( PlayerStateFlag::BetweenAreas ); + //setStateFlag( PlayerStateFlag::BetweenAreas1 ); sendStats(); @@ -1644,5 +1628,17 @@ void Player::sendZonePackets() if( getLastPing() == 0 ) sendQuestInfo(); + getCurrentZone()->onEnterTerritory( *this ); + m_bMarkedForZoning = false; } + +void Player::setDirectorInitialized( bool isInitialized ) +{ + m_directorInitialized = isInitialized; +} + +bool Player::isDirectorInitialized() const +{ + return m_directorInitialized; +} diff --git a/src/servers/sapphire_zone/Actor/Player.h b/src/servers/sapphire_zone/Actor/Player.h index ce4cfb6b..cd2b549f 100644 --- a/src/servers/sapphire_zone/Actor/Player.h +++ b/src/servers/sapphire_zone/Actor/Player.h @@ -430,7 +430,7 @@ public: /*! send spawn packets to pTarget */ void spawn( PlayerPtr pTarget ) override; /*! send despawn packets to pTarget */ - void despawn( ActorPtr pTarget ) override; + void despawn( PlayerPtr pTarget ) override; // Player State Handling ////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -508,6 +508,9 @@ public: void sendUrgent( const std::string& message ); void sendDebug( const std::string& message ); + bool isDirectorInitialized() const; + void setDirectorInitialized( bool isInitialized ); + // Player Battle Handling ////////////////////////////////////////////////////////////////////////////////////////////////////// void onMobAggro( BattleNpcPtr pBNpc ); @@ -575,6 +578,8 @@ private: bool m_markedForRemoval; + bool m_directorInitialized; + private: Common::FFXIVARR_POSITION3 m_prevPos; diff --git a/src/servers/sapphire_zone/Actor/PlayerEvent.cpp b/src/servers/sapphire_zone/Actor/PlayerEvent.cpp index 2e08bdb4..7189b106 100644 --- a/src/servers/sapphire_zone/Actor/PlayerEvent.cpp +++ b/src/servers/sapphire_zone/Actor/PlayerEvent.cpp @@ -80,7 +80,7 @@ void Core::Entity::Player::eventStart( uint64_t actorId, uint32_t eventId, uint32_t eventParam2 ) { - Event::EventHandlerPtr newEvent( new Event::EventHandler( this, actorId, eventId, eventType, eventParam2 ) ); + auto newEvent = Event::make_EventHandler( this, actorId, eventId, eventType, eventParam2 ); addEvent( newEvent ); @@ -227,8 +227,8 @@ void Core::Entity::Player::eventActionStart( uint32_t eventId, ActionCallback interruptCallback, uint64_t additional ) { - Action::ActionPtr pEventAction( new Action::EventAction( shared_from_this(), eventId, action, - finishCallback, interruptCallback, additional ) ); + auto pEventAction = Action::make_EventAction( getAsActor(), eventId, action, + finishCallback, interruptCallback, additional ); setCurrentAction( pEventAction ); auto pEvent = getEvent( eventId ); @@ -257,8 +257,8 @@ void Core::Entity::Player::eventItemActionStart( uint32_t eventId, ActionCallback interruptCallback, uint64_t additional ) { - Action::ActionPtr pEventItemAction( new Action::EventItemAction( shared_from_this(), eventId, action, - finishCallback, interruptCallback, additional ) ); + Action::ActionPtr pEventItemAction = Action::make_EventItemAction( getAsActor(), eventId, action, + finishCallback, interruptCallback, additional ); setCurrentAction( pEventItemAction ); diff --git a/src/servers/sapphire_zone/Actor/PlayerInventory.cpp b/src/servers/sapphire_zone/Actor/PlayerInventory.cpp index e20dfa88..2f18f857 100644 --- a/src/servers/sapphire_zone/Actor/PlayerInventory.cpp +++ b/src/servers/sapphire_zone/Actor/PlayerInventory.cpp @@ -1,5 +1,4 @@ #include -#include #include #include diff --git a/src/servers/sapphire_zone/Actor/PlayerQuest.cpp b/src/servers/sapphire_zone/Actor/PlayerQuest.cpp index 2b1c642d..d8e7bfd0 100644 --- a/src/servers/sapphire_zone/Actor/PlayerQuest.cpp +++ b/src/servers/sapphire_zone/Actor/PlayerQuest.cpp @@ -1015,13 +1015,13 @@ void Core::Entity::Player::removeQuestsCompleted( uint32_t questId ) bool Core::Entity::Player::giveQuestRewards( uint32_t questId, uint32_t optionalChoice ) { uint32_t playerLevel = getLevel(); - auto questInfo = g_exdDataGen.getQuest( questId ); + auto questInfo = g_exdDataGen.get< Core::Data::Quest >( questId ); if( !questInfo ) return false; - auto paramGrowth = g_exdDataGen.getParamGrow( questInfo->classJobLevel0 ); + auto paramGrowth = g_exdDataGen.get< Core::Data::ParamGrow >( questInfo->classJobLevel0 ); // TODO: use the correct formula, this one is wrong uint32_t exp = ( questInfo->expFactor * paramGrowth->questExpModifier * ( 45 + 5 * questInfo->classJobLevel0 ) ) / 100; diff --git a/src/servers/sapphire_zone/Actor/PlayerSql.cpp b/src/servers/sapphire_zone/Actor/PlayerSql.cpp index fbf2f60c..b3b63f1f 100644 --- a/src/servers/sapphire_zone/Actor/PlayerSql.cpp +++ b/src/servers/sapphire_zone/Actor/PlayerSql.cpp @@ -60,7 +60,40 @@ bool Core::Entity::Player::load( uint32_t charId, SessionPtr pSession ) m_prevZoneId = res->getUInt( "OTerritoryId" ); m_prevZoneType = res->getUInt( "OTerritoryType" ); - ZonePtr pCurrZone = g_territoryMgr.getZoneByTerriId( zoneId ); + // Position + m_pos.x = res->getFloat( "PosX" ); + m_pos.y = res->getFloat( "PosY" ); + m_pos.z = res->getFloat( "PosZ" ); + setRotation( res->getFloat( "PosR" ) ); + + m_prevPos.x = res->getFloat( "OPosX" ); + m_prevPos.y = res->getFloat( "OPosY" ); + m_prevPos.z = res->getFloat( "OPosZ" ); + m_prevRot = res->getFloat( "OPosR" ); + + ZonePtr pCurrZone = nullptr; + + // if the zone is an instanceContent zone, we need to actually find the instance + if( g_territoryMgr.isInstanceContentTerritory( zoneId ) ) + { + // try to find an instance actually linked to this player + pCurrZone = g_territoryMgr.getLinkedInstance( m_id ); + // if none found, revert to previous zone and position + if( !pCurrZone ) + { + zoneId = m_prevZoneId; + m_pos.x = m_prevPos.x; + m_pos.y = m_prevPos.y; + m_pos.z = m_prevPos.z; + setRotation( m_prevRot ); + pCurrZone = g_territoryMgr.getZoneByTerriId( zoneId ); + } + } + else + { + pCurrZone = g_territoryMgr.getZoneByTerriId( zoneId ); + } + m_zoneId = zoneId; // TODO: logic for instances needs to be added here @@ -86,20 +119,8 @@ bool Core::Entity::Player::load( uint32_t charId, SessionPtr pSession ) m_mp = res->getUInt( "Mp" ); m_tp = 0; - // Position - - m_pos.x = res->getFloat( "PosX" ); - m_pos.y = res->getFloat( "PosY" ); - m_pos.z = res->getFloat( "PosZ" ); - setRotation( res->getFloat( "PosR" ) ); - - m_prevPos.x = res->getFloat( "OPosX" ); - m_prevPos.y = res->getFloat( "OPosY" ); - m_prevPos.z = res->getFloat( "OPosZ" ); - m_prevRot = res->getFloat( "OPosR" ); // Model - auto custom = res->getBlobVector( "Customize" ); memcpy( reinterpret_cast< char* >( m_customize ), custom.data(), custom.size() ); @@ -181,11 +202,10 @@ bool Core::Entity::Player::load( uint32_t charId, SessionPtr pSession ) m_modelSubWeapon = 0; m_lastTickTime = 0; - auto pPlayer = getAsPlayer(); // TODO: remove Inventory and actually inline it in Player class - m_pInventory = InventoryPtr( new Inventory( pPlayer.get() ) ); + m_pInventory = make_Inventory( this ); - pPlayer->calculateStats(); + calculateStats(); // first login, run the script event if( m_bNewGame ) @@ -219,6 +239,9 @@ bool Core::Entity::Player::load( uint32_t charId, SessionPtr pSession ) if( !m_playerIdToSpawnIdMap.empty() ) m_playerIdToSpawnIdMap.clear(); + if( !g_territoryMgr.movePlayer( pCurrZone, getAsPlayer() ) ) + return false; + return true; } @@ -433,7 +456,7 @@ void Core::Entity::Player::updateSql() void Core::Entity::Player::updateDbClass() const { - uint8_t classJobIndex = g_exdDataGen.getClassJob( static_cast( getClass() ) )->expArrayIndex; + uint8_t classJobIndex = g_exdDataGen.get< Core::Data::ClassJob >( static_cast( getClass() ) )->expArrayIndex; //Exp = ?, Lvl = ? WHERE CharacterId = ? AND ClassIdx = ? auto stmtS = g_charaDb.getPreparedStatement( Db::CHARA_CLASS_UP ); diff --git a/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp b/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp index cf23a55d..8afbd2e3 100644 --- a/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp +++ b/src/servers/sapphire_zone/DebugCommand/DebugCommandHandler.cpp @@ -27,6 +27,7 @@ #include "Actor/EventNpc.h" #include "Zone/Zone.h" +#include "Zone/InstanceContent.h" #include "ServerZone.h" @@ -345,7 +346,7 @@ void Core::DebugCommandHandler::add( char * data, Entity::Player& player, boost: sscanf( params.c_str(), "%d %d %hu", &id, &duration, ¶m ); - StatusEffect::StatusEffectPtr effect( new StatusEffect::StatusEffect( id, player.getAsPlayer(), player.getAsPlayer(), duration, 3000 ) ); + auto effect = StatusEffect::make_StatusEffect( id, player.getAsPlayer(), player.getAsPlayer(), duration, 3000 ); effect->setParam( param ); player.addStatusEffect( effect ); @@ -364,7 +365,7 @@ void Core::DebugCommandHandler::add( char * data, Entity::Player& player, boost: sscanf( params.c_str(), "%d %d", &model, &name ); - Entity::BattleNpcPtr pBNpc( new Entity::BattleNpc( model, name, player.getPos() ) ); + auto pBNpc = Entity::make_BattleNpc( model, name, player.getPos() ); auto pZone = player.getCurrentZone(); pBNpc->setCurrentZone( pZone ); @@ -400,7 +401,7 @@ void Core::DebugCommandHandler::add( char * data, Entity::Player& player, boost: // temporary research packet int32_t opcode; sscanf( params.c_str(), "%x", &opcode ); - Network::Packets::GamePacketPtr pPe( new Network::Packets::GamePacket( opcode, 0x30, player.getId(), player.getId() ) ); + auto pPe = Network::Packets::make_GamePacket( opcode, 0x30, player.getId(), player.getId() ); player.queuePacket( pPe ); } else if( subCommand == "eventnpc-self" ) @@ -424,7 +425,7 @@ void Core::DebugCommandHandler::add( char * data, Entity::Player& player, boost: sscanf( params.c_str(), "%d", &id ); - Entity::EventNpcPtr pENpc( new Entity::EventNpc( id, player.getPos(), player.getRotation() ) ); + auto pENpc = Entity::make_EventNpc( id, player.getPos(), player.getRotation() ); auto pZone = player.getCurrentZone(); pENpc->setCurrentZone( pZone ); @@ -505,7 +506,7 @@ void Core::DebugCommandHandler::get( char * data, Entity::Player& player, boost: if( ( subCommand == "pos" ) ) { - int16_t map_id = g_exdDataGen.getTerritoryType( player.getCurrentZone()->getTerritoryId() )->map; + int16_t map_id = g_exdDataGen.get< Core::Data::TerritoryType >( player.getCurrentZone()->getTerritoryId() )->map; player.sendNotice( "Pos:\n" + std::to_string( player.getPos().x ) + "\n" + @@ -778,6 +779,53 @@ void Core::DebugCommandHandler::instance( char* data, Entity::Player &player, bo { player.exitInstance(); } + else if( subCommand == "set" ) + { + uint32_t instanceId; + uint32_t index; + uint32_t value; + sscanf( params.c_str(), "%d %d %d", &instanceId, &index, &value ); + + auto pInstance = g_territoryMgr.getInstanceZonePtr( instanceId ); + if( !pInstance ) + return; + auto instance = boost::dynamic_pointer_cast< InstanceContent >( pInstance ); + + instance->setVar( static_cast< uint8_t >( index ), static_cast< uint8_t >( value ) ); + } + else if( subCommand == "objupdate" ) + { + uint32_t objId; + + sscanf( params.c_str(), "%d", &objId ); + + auto instance = boost::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() ); + if( !instance ) + return; + + auto obj = instance->getInstanceObject( objId ); + if( !obj ) + return; + + instance->updateInstanceObj( obj ); + } + else if( subCommand == "objstate" ) + { + uint32_t objId; + uint8_t state; + + sscanf( params.c_str(), "%d %hhu", &objId, &state ); + + auto instance = boost::dynamic_pointer_cast< InstanceContent >( player.getCurrentZone() ); + if( !instance ) + return; + + auto obj = instance->getInstanceObject( objId ); + if( !obj ) + return; + + obj->setState( state ); + } else if( subCommand == "festival" ) { uint32_t festivalId; diff --git a/src/servers/sapphire_zone/Event/Director.cpp b/src/servers/sapphire_zone/Event/Director.cpp index 79e7142b..a201a5ab 100644 --- a/src/servers/sapphire_zone/Event/Director.cpp +++ b/src/servers/sapphire_zone/Event/Director.cpp @@ -1 +1,170 @@ #include "Director.h" + +#include +#include + +#include "Actor/Player.h" + +#include "Network/PacketWrappers/ActorControlPacket142.h" +#include "Network/PacketWrappers/ActorControlPacket143.h" + + +using namespace Core::Common; +using namespace Core::Network::Packets; +using namespace Core::Network::Packets::Server; + +Core::Event::Director::Director( Core::Event::Director::DirectorType type, uint16_t contentId ) : + m_contentId( contentId ), + m_type( type ), + m_directorId( ( static_cast< uint32_t >( type ) << 16 ) | contentId ), + m_sequence( 1 ), + m_branch( 0 ), + m_elapsedTime( 0 ) +{ + memset( m_unionData.arrData, 0, sizeof( m_unionData ) ); +} + +uint32_t Core::Event::Director::getDirectorId() const +{ + return m_directorId; +} + +uint16_t Core::Event::Director::getContentId() const +{ + return m_contentId; +} + +uint8_t Core::Event::Director::getSequence() const +{ + return m_sequence; +} + +void Core::Event::Director::sendDirectorClear( Core::Entity::Player& player ) const +{ + player.queuePacket( ActorControlPacket143( player.getId(), DirectorClear, m_directorId ) ); +} + +void Core::Event::Director::sendDirectorVars( Core::Entity::Player& player ) const +{ + ZoneChannelPacket< FFXIVIpcDirectorVars > varPacket( player.getId() ); + varPacket.data().m_directorId = getDirectorId(); + varPacket.data().m_sequence = getSequence(); + varPacket.data().m_branch = 0; + memcpy( varPacket.data().m_unionData, m_unionData.arrData, sizeof( varPacket.data().m_unionData ) ); + player.queuePacket( varPacket ); +} + +void Core::Event::Director::sendDirectorInit( Core::Entity::Player& player ) const +{ + player.queuePacket( ActorControlPacket143( player.getId(), DirectorInit, m_directorId, m_contentId ) ); +} + +Core::Event::Director::DirectorType Core::Event::Director::getType() const +{ + return m_type; +} + +uint8_t Core::Event::Director::getBranch() const +{ + return m_branch; +} + +void Core::Event::Director::setDirectorUI8AL( uint8_t value ) +{ + m_unionData.ui8lh.UI8AL = value; +} + +void Core::Event::Director::setDirectorUI8AH( uint8_t value ) +{ + m_unionData.ui8lh.UI8AH = value; +} + +void Core::Event::Director::setDirectorUI8BL( uint8_t value ) +{ + m_unionData.ui8lh.UI8BL = value; +} + +void Core::Event::Director::setDirectorUI8BH( uint8_t value ) +{ + m_unionData.ui8lh.UI8BH = value; +} + +void Core::Event::Director::setDirectorUI8CL( uint8_t value ) +{ + m_unionData.ui8lh.UI8CL = value; +} + +void Core::Event::Director::setDirectorUI8CH( uint8_t value ) +{ + m_unionData.ui8lh.UI8CH = value; +} + +void Core::Event::Director::setDirectorUI8DL( uint8_t value ) +{ + m_unionData.ui8lh.UI8DL = value; +} + +void Core::Event::Director::setDirectorUI8DH( uint8_t value ) +{ + m_unionData.ui8lh.UI8DH = value; +} + +void Core::Event::Director::setDirectorUI8EL( uint8_t value ) +{ + m_unionData.ui8lh.UI8EL = value; +} + +void Core::Event::Director::setDirectorUI8EH( uint8_t value ) +{ + m_unionData.ui8lh.UI8EH = value; +} + +void Core::Event::Director::setDirectorUI8FL( uint8_t value ) +{ + m_unionData.ui8lh.UI8FL = value; +} + +void Core::Event::Director::setDirectorUI8FH( uint8_t value ) +{ + m_unionData.ui8lh.UI8FH = value; +} + +void Core::Event::Director::setDirectorUI8GL( uint8_t value ) +{ + m_unionData.ui8lh.UI8GL = value; +} + +void Core::Event::Director::setDirectorUI8GH( uint8_t value ) +{ + m_unionData.ui8lh.UI8GH = value; +} + +void Core::Event::Director::setDirectorUI8HL( uint8_t value ) +{ + m_unionData.ui8lh.UI8HL = value; +} + +void Core::Event::Director::setDirectorUI8HH( uint8_t value ) +{ + m_unionData.ui8lh.UI8HH = value; +} + +void Core::Event::Director::setDirectorUI8IL( uint8_t value ) +{ + m_unionData.ui8lh.UI8IL = value; +} + +void Core::Event::Director::setDirectorUI8IH( uint8_t value ) +{ + m_unionData.ui8lh.UI8IH = value; +} + +void Core::Event::Director::setDirectorUI8JL( uint8_t value ) +{ + m_unionData.ui8lh.UI8JL = value; +} + +void Core::Event::Director::setDirectorUI8JH( uint8_t value ) +{ + m_unionData.ui8lh.UI8JH = value; +} diff --git a/src/servers/sapphire_zone/Event/Director.h b/src/servers/sapphire_zone/Event/Director.h index 8a3c0245..f5840390 100644 --- a/src/servers/sapphire_zone/Event/Director.h +++ b/src/servers/sapphire_zone/Event/Director.h @@ -30,9 +30,51 @@ public: DpsChallange = 0x800D }; + Director( DirectorType type, uint16_t contentId ); + + uint32_t getDirectorId() const; + uint16_t getContentId() const; + DirectorType getType() const; + uint8_t getSequence() const; + uint8_t getBranch() const; + + void sendDirectorInit( Entity::Player& player ) const; + void sendDirectorClear( Entity::Player& player ) const; + void sendDirectorVars( Entity::Player& player ) const; + + void setDirectorUI8AL( uint8_t value ); + void setDirectorUI8AH( uint8_t value ); + + void setDirectorUI8BL( uint8_t value ); + void setDirectorUI8BH( uint8_t value ); + + void setDirectorUI8CL( uint8_t value ); + void setDirectorUI8CH( uint8_t value ); + + void setDirectorUI8DL( uint8_t value ); + void setDirectorUI8DH( uint8_t value ); + + void setDirectorUI8EL( uint8_t value ); + void setDirectorUI8EH( uint8_t value ); + + void setDirectorUI8FL( uint8_t value ); + void setDirectorUI8FH( uint8_t value ); + + void setDirectorUI8GL( uint8_t value ); + void setDirectorUI8GH( uint8_t value ); + + void setDirectorUI8HL( uint8_t value ); + void setDirectorUI8HH( uint8_t value ); + + void setDirectorUI8IL( uint8_t value ); + void setDirectorUI8IH( uint8_t value ); + + void setDirectorUI8JL( uint8_t value ); + void setDirectorUI8JH( uint8_t value ); + private: /*! Id of the content of the director */ - uint16_t m_id; + uint16_t m_contentId; /*! DirectorType | ContentId */ uint32_t m_directorId; @@ -43,17 +85,69 @@ private: /*! current branch */ uint8_t m_branch; - /*! raw storage for flags/vars */ - uint8_t m_unionData[10]; + union + { + struct UI8LH + { + uint8_t UI8AL : 4; + uint8_t UI8AH : 4; + uint8_t UI8BL : 4; + uint8_t UI8BH : 4; + uint8_t UI8CL : 4; + uint8_t UI8CH : 4; + uint8_t UI8DL : 4; + uint8_t UI8DH : 4; + uint8_t UI8EL : 4; + uint8_t UI8EH : 4; + uint8_t UI8FL : 4; + uint8_t UI8FH : 4; + uint8_t UI8GL : 4; + uint8_t UI8GH : 4; + uint8_t UI8HL : 4; + uint8_t UI8HH : 4; + uint8_t UI8IL : 4; + uint8_t UI8IH : 4; + uint8_t UI8JL : 4; + uint8_t UI8JH : 4; + } ui8lh; + + struct UI8 + { + uint8_t UI8A; + uint8_t UI8B; + uint8_t UI8C; + uint8_t UI8D; + uint8_t UI8E; + uint8_t UI8F; + uint8_t UI8G; + uint8_t UI8H; + uint8_t UI8I; + uint8_t UI8J; + } ui8; + + struct FLAGS + { + uint8_t flags80; + uint8_t flags72; + uint8_t flags64; + uint8_t flags56; + uint8_t flags48; + uint8_t flags40; + uint8_t flags32; + uint8_t flags24; + uint8_t flags16; + uint8_t flags8; + } flags; + + /*! raw storage for flags/vars */ + uint8_t arrData[10]; + } m_unionData; /*! type of the director */ DirectorType m_type; - uint32_t getDirectorId() const; - uint16_t getContentId() const; - DirectorType getType() const; - uint8_t getSequence() const; - uint8_t getBranch() const; + uint32_t m_elapsedTime; + }; diff --git a/src/servers/sapphire_zone/Event/EventHelper.cpp b/src/servers/sapphire_zone/Event/EventHelper.cpp index b3b598f7..90ac6d26 100644 --- a/src/servers/sapphire_zone/Event/EventHelper.cpp +++ b/src/servers/sapphire_zone/Event/EventHelper.cpp @@ -17,7 +17,7 @@ std::string Core::Event::getEventName( uint32_t eventId ) { case Event::EventHandler::EventHandlerType::Quest: { - auto questInfo = g_exdDataGen.getQuest( eventId ); + auto questInfo = g_exdDataGen.get< Core::Data::Quest >( eventId ); if( !questInfo ) return unknown + "Quest"; @@ -28,7 +28,7 @@ std::string Core::Event::getEventName( uint32_t eventId ) } case Event::EventHandler::EventHandlerType::CustomTalk: { - auto customTalkInfo = g_exdDataGen.getCustomTalk( eventId ); + auto customTalkInfo = g_exdDataGen.get< Core::Data::CustomTalk >( eventId ); if( !customTalkInfo ) return unknown + "CustomTalk"; @@ -39,14 +39,14 @@ std::string Core::Event::getEventName( uint32_t eventId ) } case Event::EventHandler::EventHandlerType::Opening: { - auto openingInfo = g_exdDataGen.getOpening( eventId ); + auto openingInfo = g_exdDataGen.get< Core::Data::Opening >( eventId ); if( openingInfo ) return openingInfo->name; return unknown + "Opening"; } case Event::EventHandler::EventHandlerType::Aetheryte: { - auto aetherInfo = g_exdDataGen.getAetheryte( eventId & 0xFFFF ); + auto aetherInfo = g_exdDataGen.get< Core::Data::Aetheryte >( eventId & 0xFFFF ); if( aetherInfo->isAetheryte ) return "Aetheryte"; return "Aethernet"; @@ -65,7 +65,7 @@ std::string Core::Event::getEventName( uint32_t eventId ) uint32_t Core::Event::mapEventActorToRealActor( uint32_t eventActorId ) { - auto levelInfo = g_exdDataGen.getLevel( eventActorId ); + auto levelInfo = g_exdDataGen.get< Core::Data::Level >( eventActorId ); if( levelInfo ) return levelInfo->objectKey; diff --git a/src/servers/sapphire_zone/Forwards.h b/src/servers/sapphire_zone/Forwards.h index 54bfaa1a..fa387adb 100644 --- a/src/servers/sapphire_zone/Forwards.h +++ b/src/servers/sapphire_zone/Forwards.h @@ -1,18 +1,24 @@ #ifndef _FORWARDS_H #define _FORWARDS_H +#include #include +#include #include #define TYPE_FORWARD( x ) \ class x; \ typedef boost::shared_ptr< x > x ## Ptr; \ +template< typename...Args > \ +x ## Ptr make_ ## x( Args &&...args ) { \ +return boost::make_shared< x >( std::forward< Args >( args ) ... ); }\ typedef std::vector< x > x ## PtrList; namespace Core { TYPE_FORWARD( Cell ); TYPE_FORWARD( Zone ); + TYPE_FORWARD( InstanceContent ); TYPE_FORWARD( Item ); TYPE_FORWARD( ItemContainer ); TYPE_FORWARD( Inventory ); @@ -28,11 +34,13 @@ namespace Core namespace Entity { + TYPE_FORWARD( GameObject ); TYPE_FORWARD( Actor ); TYPE_FORWARD( Player ); TYPE_FORWARD( BattleNpc ); TYPE_FORWARD( EventNpc ); TYPE_FORWARD( BattleNpcTemplate ); + TYPE_FORWARD( InstanceObject ); } namespace Event @@ -48,6 +56,7 @@ namespace Core TYPE_FORWARD( ActionCast ); TYPE_FORWARD( ActionMount ); TYPE_FORWARD( EventAction ); + TYPE_FORWARD( EventItemAction ); } namespace Network diff --git a/src/servers/sapphire_zone/Inventory/Inventory.cpp b/src/servers/sapphire_zone/Inventory/Inventory.cpp index 7ace94d7..e2ed60d3 100644 --- a/src/servers/sapphire_zone/Inventory/Inventory.cpp +++ b/src/servers/sapphire_zone/Inventory/Inventory.cpp @@ -36,7 +36,7 @@ Core::Inventory::Inventory( Core::Entity::Player* pOwner ) // shortcut for setting up inventory // TODO: use a loop to set theese up? auto setupContainer = []( InventoryMap& map, InventoryType type ) - { map[type] = ItemContainerPtr( new ItemContainer( type ) ); }; + { map[type] = make_ItemContainer( type ); }; // main bags setupContainer( m_inventoryMap, Bag0 ); @@ -135,7 +135,7 @@ Core::ItemPtr Core::Inventory::getItemAt( uint16_t containerId, uint8_t slotId ) Core::ItemPtr Core::Inventory::createItem( uint32_t catalogId, uint8_t quantity ) { - auto itemInfo = g_exdDataGen.getItem( catalogId ); + auto itemInfo = g_exdDataGen.get< Core::Data::Item >( catalogId ); uint8_t itemAmount = quantity; @@ -473,7 +473,7 @@ bool Core::Inventory::isObtainable( uint32_t catalogId, uint8_t quantity ) int16_t Core::Inventory::addItem( uint16_t inventoryId, int8_t slotId, uint32_t catalogId, uint8_t quantity ) { - auto itemInfo = g_exdDataGen.getItem( catalogId ); + auto itemInfo = g_exdDataGen.get< Core::Data::Item >( catalogId ); // if item data doesn't exist or it's a blank field if( !itemInfo || itemInfo->levelItem == 0 ) @@ -656,7 +656,7 @@ Core::ItemPtr Core::Inventory::loadItem( uint64_t uId ) try { - auto itemInfo = g_exdDataGen.getItem( itemRes->getUInt( 1 ) ); + auto itemInfo = g_exdDataGen.get< Core::Data::Item >( itemRes->getUInt( 1 ) ); bool isHq = itemRes->getUInt( 3 ) == 1 ? true : false; ItemPtr pItem( new Item( uId, itemRes->getUInt( 1 ), diff --git a/src/servers/sapphire_zone/Inventory/Item.cpp b/src/servers/sapphire_zone/Inventory/Item.cpp index 01f7639c..5229a274 100644 --- a/src/servers/sapphire_zone/Inventory/Item.cpp +++ b/src/servers/sapphire_zone/Inventory/Item.cpp @@ -24,7 +24,7 @@ Core::Item::Item( uint64_t uId, uint32_t catalogId, uint64_t model1, uint64_t mo m_model2( model2 ), m_isHq( isHq ) { - auto itemInfo = g_exdDataGen.getItem( catalogId ); + auto itemInfo = g_exdDataGen.get< Core::Data::Item >( catalogId ); m_delayMs = itemInfo->delayms; m_physicalDmg = itemInfo->damagePhys; m_magicalDmg = itemInfo->damageMag; diff --git a/src/servers/sapphire_zone/Math/CalcBattle.cpp b/src/servers/sapphire_zone/Math/CalcBattle.cpp index 89a522cd..fb95cddc 100644 --- a/src/servers/sapphire_zone/Math/CalcBattle.cpp +++ b/src/servers/sapphire_zone/Math/CalcBattle.cpp @@ -30,8 +30,8 @@ extern Core::Data::ExdDataGenerated g_exdDataGen; uint32_t CalcBattle::calculateHealValue( PlayerPtr pPlayer, uint32_t potency ) { - auto classInfo = g_exdDataGen.getClassJob( static_cast< uint8_t >( pPlayer->getClass() ) ); - auto paramGrowthInfo = g_exdDataGen.getParamGrow( pPlayer->getLevel() ); + auto classInfo = g_exdDataGen.get< Core::Data::ClassJob >( static_cast< uint8_t >( pPlayer->getClass() ) ); + auto paramGrowthInfo = g_exdDataGen.get< Core::Data::ParamGrow >( pPlayer->getLevel() ); if ( !classInfo || !paramGrowthInfo ) return 0; diff --git a/src/servers/sapphire_zone/Math/CalcStats.cpp b/src/servers/sapphire_zone/Math/CalcStats.cpp index 63bf66ea..d15814dd 100644 --- a/src/servers/sapphire_zone/Math/CalcStats.cpp +++ b/src/servers/sapphire_zone/Math/CalcStats.cpp @@ -61,8 +61,8 @@ uint32_t CalcStats::calculateMaxHp( PlayerPtr pPlayer ) // Is there any way to pull reliable BaseHP without having to manually use a pet for every level, and using the values from a table? // More info here: https://docs.google.com/spreadsheets/d/1de06KGT0cNRUvyiXNmjNgcNvzBCCQku7jte5QxEQRbs/edit?usp=sharing - auto classInfo = g_exdDataGen.getClassJob( static_cast< uint8_t >( pPlayer->getClass() ) ); - auto paramGrowthInfo = g_exdDataGen.getParamGrow( pPlayer->getLevel() ); + auto classInfo = g_exdDataGen.get< Core::Data::ClassJob >( static_cast< uint8_t >( pPlayer->getClass() ) ); + auto paramGrowthInfo = g_exdDataGen.get< Core::Data::ParamGrow >( pPlayer->getLevel() ); if ( !classInfo || !paramGrowthInfo ) return 0; @@ -94,8 +94,8 @@ uint32_t CalcStats::calculateMaxHp( PlayerPtr pPlayer ) uint32_t CalcStats::calculateMaxMp( PlayerPtr pPlayer ) { - auto classInfo = g_exdDataGen.getClassJob( static_cast< uint8_t >( pPlayer->getClass() ) ); - auto paramGrowthInfo = g_exdDataGen.getParamGrow( pPlayer->getLevel() ); + auto classInfo = g_exdDataGen.get< Core::Data::ClassJob >( static_cast< uint8_t >( pPlayer->getClass() ) ); + auto paramGrowthInfo = g_exdDataGen.get< Core::Data::ParamGrow >( pPlayer->getLevel() ); if ( !classInfo || !paramGrowthInfo ) return 0; diff --git a/src/servers/sapphire_zone/Network/Handlers/ActionHandler.cpp b/src/servers/sapphire_zone/Network/Handlers/ActionHandler.cpp index c8bbc0f9..d79c8001 100644 --- a/src/servers/sapphire_zone/Network/Handlers/ActionHandler.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/ActionHandler.cpp @@ -200,11 +200,11 @@ void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& in case 0xCA: // Teleport { // TODO: only register this action if enough gil is in possession - auto targetAetheryte = g_exdDataGen.getAetheryte( param11 ); + auto targetAetheryte = g_exdDataGen.get< Core::Data::Aetheryte >( param11 ); if( targetAetheryte ) { - auto fromAetheryte = g_exdDataGen.getAetheryte( g_exdDataGen.getTerritoryType( player.getZoneId() )->aetheryte ); + auto fromAetheryte = g_exdDataGen.get< Core::Data::Aetheryte >( g_exdDataGen.get< Core::Data::TerritoryType >( player.getZoneId() )->aetheryte ); // calculate cost - does not apply for favorite points or homepoints neither checks for aether tickets auto cost = static_cast< uint16_t > ( ( sqrt( pow( fromAetheryte->aetherstreamX - targetAetheryte->aetherstreamX, 2 ) + @@ -219,7 +219,7 @@ void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& in if( !insufficientGil ) { - Action::ActionTeleportPtr pActionTeleport( new Action::ActionTeleport( player.getAsPlayer(), param11, cost ) ); + auto pActionTeleport = Action::make_ActionTeleport( player.getAsPlayer(), param11, cost ); player.setCurrentAction( pActionTeleport ); } } @@ -229,6 +229,11 @@ void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& in { break; } + case 0x321: // Director init finish + { + player.getCurrentZone()->onInitDirector( player ); + break; + } default: { g_log.debug( "[" + std::to_string( m_pSession->getId() ) + "] Unhandled action: " + diff --git a/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp index f9f6fb8d..40fa2c98 100644 --- a/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/CFHandlers.cpp @@ -14,8 +14,13 @@ #include "Actor/Player.h" #include "Forwards.h" +#include +#include "Zone/TerritoryMgr.h" +#include "Zone/Zone.h" extern Core::Logger g_log; +extern Core::Data::ExdDataGenerated g_exdDataGen; +extern Core::TerritoryMgr g_territoryMgr; using namespace Core::Common; using namespace Core::Network::Packets; @@ -46,24 +51,36 @@ void Core::Network::GameConnection::cfRegisterDuty( const Packets::GamePacket& i Entity::Player& player) { // TODO use for loop for this - auto contentId1 = inPacket.getValAt< uint16_t >( 46 ); - auto contentId2 = inPacket.getValAt< uint16_t >( 48 ); - auto contentId3 = inPacket.getValAt< uint16_t >( 50 ); - auto contentId4 = inPacket.getValAt< uint16_t >( 52 ); - auto contentId5 = inPacket.getValAt< uint16_t >( 54 ); + auto contentId1 = inPacket.getValAt< uint16_t >( 0x2E ); + auto contentId2 = inPacket.getValAt< uint16_t >( 0x30 ); + auto contentId3 = inPacket.getValAt< uint16_t >( 0x32 ); + auto contentId4 = inPacket.getValAt< uint16_t >( 0x34 ); + auto contentId5 = inPacket.getValAt< uint16_t >( 0x36 ); player.sendDebug("Duty register request"); - player.sendDebug("ContentId1" + std::to_string(contentId1)); - player.sendDebug("ContentId2" + std::to_string(contentId2)); - player.sendDebug("ContentId3" + std::to_string(contentId3)); - player.sendDebug("ContentId4" + std::to_string(contentId4)); - player.sendDebug("ContentId5" + std::to_string(contentId5)); + player.sendDebug("ContentId1: " + std::to_string(contentId1)); + player.sendDebug("ContentId2: " + std::to_string(contentId2)); + player.sendDebug("ContentId3: " + std::to_string(contentId3)); + player.sendDebug("ContentId4: " + std::to_string(contentId4)); + player.sendDebug("ContentId5: " + std::to_string(contentId5)); // let's cancel it because otherwise you can't register it again ZoneChannelPacket< FFXIVIpcCFNotify > cfCancelPacket( player.getId() ); cfCancelPacket.data().state1 = 3; cfCancelPacket.data().state2 = 1; // Your registration is withdrawn. queueOutPacket( cfCancelPacket ); + + auto cfCondition = g_exdDataGen.get< Core::Data::ContentFinderCondition >( contentId1 ); + if( !cfCondition ) + return; + + auto instance = g_territoryMgr.createInstanceContent( cfCondition->instanceContent ); + if( !instance ) + return; + + player.sendDebug( "Created instance with id: " + std::to_string( instance->getGuId() ) ); + + player.setInstance( instance ); } void Core::Network::GameConnection::cfRegisterRoulette( const Packets::GamePacket& inPacket, diff --git a/src/servers/sapphire_zone/Network/Handlers/EventHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/EventHandlers.cpp index 507dfb9f..399fdf9b 100644 --- a/src/servers/sapphire_zone/Network/Handlers/EventHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/EventHandlers.cpp @@ -52,7 +52,7 @@ void Core::Network::GameConnection::eventHandlerTalk( const Packets::GamePacket& if( !g_scriptMgr.onTalk( player, actorId, eventId ) && eventType == Event::EventHandler::EventHandlerType::Quest ) { - auto questInfo = g_exdDataGen.getQuest( eventId ); + auto questInfo = g_exdDataGen.get< Core::Data::Quest >( eventId ); if ( questInfo ) player.sendUrgent( "Quest not implemented: " + questInfo->name + " (" + questInfo->id + ")" ); } @@ -87,7 +87,7 @@ void Core::Network::GameConnection::eventHandlerEmote( const Packets::GamePacket if( !g_scriptMgr.onEmote( player, actorId, eventId, static_cast< uint8_t >( emoteId ) ) && eventType == Event::EventHandler::EventHandlerType::Quest ) { - auto questInfo = g_exdDataGen.getQuest( eventId ); + auto questInfo = g_exdDataGen.get< Core::Data::Quest >( eventId ); if( questInfo ) player.sendUrgent( "Quest not implemented: " + questInfo->name ); } diff --git a/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp index d3226c3a..9ba5c2b9 100644 --- a/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/GMCommandHandlers.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include @@ -38,7 +37,6 @@ extern Core::Logger g_log; extern Core::ServerZone g_serverZone; extern Core::TerritoryMgr g_territoryMgr; -extern Core::Data::ExdData g_exdData; extern Core::DebugCommandHandler g_gameCommandMgr; using namespace Core::Common; diff --git a/src/servers/sapphire_zone/Network/Handlers/InventoryHandler.cpp b/src/servers/sapphire_zone/Network/Handlers/InventoryHandler.cpp index 752ca776..9a44832f 100644 --- a/src/servers/sapphire_zone/Network/Handlers/InventoryHandler.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/InventoryHandler.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include @@ -26,7 +25,6 @@ extern Core::Logger g_log; extern Core::ServerZone g_serverZone; -extern Core::Data::ExdData g_exdData; extern Core::DebugCommandHandler g_gameCommandMgr; using namespace Core::Common; diff --git a/src/servers/sapphire_zone/Network/Handlers/PacketHandlers.cpp b/src/servers/sapphire_zone/Network/Handlers/PacketHandlers.cpp index 1131eef1..bdea196e 100644 --- a/src/servers/sapphire_zone/Network/Handlers/PacketHandlers.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/PacketHandlers.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include #include @@ -42,7 +41,6 @@ extern Core::Logger g_log; extern Core::ServerZone g_serverZone; extern Core::TerritoryMgr g_territoryMgr; -extern Core::Data::ExdData g_exdData; extern Core::DebugCommandHandler g_gameCommandMgr; extern Core::Social::SocialMgr< Core::Social::FriendList > g_friendListMgr; @@ -375,7 +373,7 @@ void Core::Network::GameConnection::initHandler( const Packets::GamePacket& inPa // init handler means this is a login procedure player.setIsLogin( true ); - player.setZone( player.getZoneId() ); + player.sendZonePackets(); } @@ -408,6 +406,8 @@ void Core::Network::GameConnection::pingHandler( const Packets::GamePacket& inPa void Core::Network::GameConnection::finishLoadingHandler( const Packets::GamePacket& inPacket, Entity::Player& player ) { + player.getCurrentZone()->onFinishLoading( player ); + // player is done zoning player.setLoadingComplete( true ); @@ -423,7 +423,7 @@ void Core::Network::GameConnection::finishLoadingHandler( const Packets::GamePac player.spawn( player.getAsPlayer() ); // notify the zone of a change in position to force an "inRangeActor" update - player.getCurrentZone()->changeActorPosition( player.getAsPlayer() ); + player.getCurrentZone()->updateActorPosition(player); } void Core::Network::GameConnection::socialListHandler( const Packets::GamePacket& inPacket, diff --git a/src/servers/sapphire_zone/Network/Handlers/SkillHandler.cpp b/src/servers/sapphire_zone/Network/Handlers/SkillHandler.cpp index 1240bf8c..a47a4988 100644 --- a/src/servers/sapphire_zone/Network/Handlers/SkillHandler.cpp +++ b/src/servers/sapphire_zone/Network/Handlers/SkillHandler.cpp @@ -60,7 +60,7 @@ void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inP std::string actionIdStr = boost::str( boost::format( "%|04X|" ) % action ); player.sendDebug( "---------------------------------------" ); player.sendDebug( "ActionHandler ( " + actionIdStr + " | " + - g_exdDataGen.getAction( action )->name + + g_exdDataGen.get< Core::Data::Action >( action )->name + " | " + std::to_string( targetId ) + " )" ); player.queuePacket( ActorControlPacket142( player.getId(), ActorControlType::ActionStart, 0x01, action ) ); @@ -87,7 +87,7 @@ void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inP } else { - Action::ActionCastPtr pActionCast( new Action::ActionCast( player.getAsPlayer(), targetActor, action ) ); + auto pActionCast = Action::make_ActionCast( player.getAsPlayer(), targetActor, action ); player.setCurrentAction( pActionCast ); player.sendDebug( "setCurrentAction()" ); player.getCurrentAction()->onStart(); @@ -100,7 +100,7 @@ void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inP } else if( action < 3000000 ) // item action { - auto info = g_exdDataGen.getEventItem( action ); + auto info = g_exdDataGen.get< Core::Data::EventItem >( action ); if( info ) { g_log.debug( info->name ); @@ -118,7 +118,7 @@ void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inP player.sendDebug( "Request mount " + std::to_string( action ) ); - Action::ActionMountPtr pActionMount( new Action::ActionMount( player.getAsPlayer(), action ) ); + auto pActionMount = Action::make_ActionMount( player.getAsPlayer(), action ); player.setCurrentAction( pActionMount ); player.sendDebug( "setCurrentAction()" ); player.getCurrentAction()->onStart(); diff --git a/src/servers/sapphire_zone/Network/PacketWrappers/PlayerSpawnPacket.h b/src/servers/sapphire_zone/Network/PacketWrappers/PlayerSpawnPacket.h index 61ad14fd..9c367aa9 100644 --- a/src/servers/sapphire_zone/Network/PacketWrappers/PlayerSpawnPacket.h +++ b/src/servers/sapphire_zone/Network/PacketWrappers/PlayerSpawnPacket.h @@ -32,8 +32,6 @@ namespace Server { void initialize( Entity::Player& player, Entity::Player& target ) { // todo: figure out unkown offsets - // TODO: temporary gm rank - //m_data.gmRank = 0xff; m_data.classJob = static_cast< uint8_t >( player.getClass() ); //m_data.status = static_cast< uint8_t >( pPlayer->getStatus() ); diff --git a/src/servers/sapphire_zone/Network/PacketWrappers/UpdateHpMpTpPacket.h b/src/servers/sapphire_zone/Network/PacketWrappers/UpdateHpMpTpPacket.h index dc3d2096..e880a4da 100644 --- a/src/servers/sapphire_zone/Network/PacketWrappers/UpdateHpMpTpPacket.h +++ b/src/servers/sapphire_zone/Network/PacketWrappers/UpdateHpMpTpPacket.h @@ -17,18 +17,18 @@ class UpdateHpMpTpPacket : public ZoneChannelPacket< FFXIVIpcUpdateHpMpTp > { public: - UpdateHpMpTpPacket( Entity::ActorPtr pActor ) : - ZoneChannelPacket< FFXIVIpcUpdateHpMpTp >( pActor->getId(), pActor->getId() ) + UpdateHpMpTpPacket( Entity::Actor& actor ) : + ZoneChannelPacket< FFXIVIpcUpdateHpMpTp >( actor.getId(), actor.getId() ) { - initialize( pActor ); + initialize( actor ); }; private: - void initialize( Entity::ActorPtr pActor ) + void initialize( Entity::Actor& actor ) { - m_data.hp = pActor->getHp(); - m_data.mp = pActor->getMp(); - m_data.tp = pActor->getTp(); + m_data.hp = actor.getHp(); + m_data.mp = actor.getMp(); + m_data.tp = actor.getTp(); }; }; diff --git a/src/servers/sapphire_zone/Script/NativeScriptApi.h b/src/servers/sapphire_zone/Script/NativeScriptApi.h index 72c0fac6..893dc6cd 100644 --- a/src/servers/sapphire_zone/Script/NativeScriptApi.h +++ b/src/servers/sapphire_zone/Script/NativeScriptApi.h @@ -8,6 +8,7 @@ #include #include #include +#include #ifdef _MSC_VER #define EXPORT __declspec( dllexport ) @@ -48,7 +49,7 @@ public: class StatusEffectScript : public ScriptObject { public: - StatusEffectScript( uint32_t effectId ) : + explicit StatusEffectScript( uint32_t effectId ) : ScriptObject( effectId, typeid( StatusEffectScript ).hash_code() ) { } @@ -66,7 +67,7 @@ public: class ActionScript : public ScriptObject { public: - ActionScript( uint32_t abilityId ) : + explicit ActionScript( uint32_t abilityId ) : ScriptObject( abilityId, typeid( ActionScript ).hash_code() ) { } @@ -79,7 +80,7 @@ public: class EventScript : public ScriptObject { public: - EventScript( uint32_t questId ) : + explicit EventScript( uint32_t questId ) : ScriptObject( questId, typeid( EventScript ).hash_code() ) { } @@ -97,7 +98,7 @@ public: class BattleNpcScript : public ScriptObject { public: - BattleNpcScript( uint32_t npcId ) : + explicit BattleNpcScript( uint32_t npcId ) : ScriptObject( npcId, typeid( BattleNpcScript ).hash_code() ) { } }; @@ -105,11 +106,22 @@ public: class ZoneScript : public ScriptObject { public: - ZoneScript( uint32_t zoneId ) : + explicit ZoneScript( uint32_t zoneId ) : ScriptObject( zoneId, typeid( ZoneScript ).hash_code() ) { } virtual void onZoneInit() { } }; +class InstanceContentScript : public ScriptObject +{ +public: + explicit InstanceContentScript( uint32_t instanceContentId ) : + ScriptObject( instanceContentId, typeid( InstanceContentScript ).hash_code() ) + { } + + virtual void onInit( InstanceContent& instance ) { } + virtual void onUpdate( InstanceContent& instance, uint32_t currTime ) { } +}; + #endif \ No newline at end of file diff --git a/src/servers/sapphire_zone/Script/ScriptManager.cpp b/src/servers/sapphire_zone/Script/ScriptManager.cpp index 2467fa07..1e569918 100644 --- a/src/servers/sapphire_zone/Script/ScriptManager.cpp +++ b/src/servers/sapphire_zone/Script/ScriptManager.cpp @@ -154,7 +154,7 @@ bool Core::Scripting::ScriptManager::onTalk( Entity::Player& player, uint64_t ac // aethernet/aetherytes need to be handled separately if( eventType == Event::EventHandler::EventHandlerType::Aetheryte ) { - auto aetherInfo = g_exdDataGen.getAetheryte( eventId & 0xFFFF ); + auto aetherInfo = g_exdDataGen.get< Core::Data::Aetheryte >( eventId & 0xFFFF ); scriptId = EVENTSCRIPT_AETHERYTE_ID; if( !aetherInfo->isAetheryte ) scriptId = EVENTSCRIPT_AETHERNET_ID; @@ -332,7 +332,7 @@ bool Core::Scripting::ScriptManager::onStatusTimeOut( Entity::ActorPtr pActor, u bool Core::Scripting::ScriptManager::onZoneInit( ZonePtr pZone ) { - auto script = m_nativeScriptManager->getScript< ZoneScript >(pZone->getTerritoryId() ); + auto script = m_nativeScriptManager->getScript< ZoneScript >( pZone->getTerritoryId() ); if( script ) { script->onZoneInit(); @@ -342,6 +342,30 @@ bool Core::Scripting::ScriptManager::onZoneInit( ZonePtr pZone ) return false; } +bool Core::Scripting::ScriptManager::onInstanceInit( InstanceContent& instance ) +{ + auto script = m_nativeScriptManager->getScript< InstanceContentScript >( instance.getInstanceContentId() ); + if( script ) + { + script->onInit( instance ); + return true; + } + + return false; +} + +bool Core::Scripting::ScriptManager::onInstanceUpdate( InstanceContent& instance, uint32_t currTime ) +{ + auto script = m_nativeScriptManager->getScript< InstanceContentScript >( instance.getInstanceContentId() ); + if( script ) + { + script->onUpdate( instance, currTime ); + return true; + } + + return false; +} + Scripting::NativeScriptManager& Core::Scripting::ScriptManager::getNativeScriptHandler() { return *m_nativeScriptManager; diff --git a/src/servers/sapphire_zone/Script/ScriptManager.h b/src/servers/sapphire_zone/Script/ScriptManager.h index 958412a0..634afefb 100644 --- a/src/servers/sapphire_zone/Script/ScriptManager.h +++ b/src/servers/sapphire_zone/Script/ScriptManager.h @@ -59,6 +59,8 @@ namespace Core bool onEventHandlerReturn( Entity::Player& player, uint32_t eventId, uint16_t subEvent, uint16_t param1, uint16_t param2, uint16_t param3 ); bool onEventHandlerTradeReturn( Entity::Player& player, uint32_t eventId, uint16_t subEvent, uint16_t param, uint32_t catalogId ); + bool onInstanceInit( InstanceContent& instance ); + bool onInstanceUpdate( InstanceContent& instance, uint32_t currTime ); void loadDir( const std::string& dirname, std::set &files, const std::string& ext ); diff --git a/src/servers/sapphire_zone/Script/Scripts/CMakeLists.txt b/src/servers/sapphire_zone/Script/Scripts/CMakeLists.txt index aeaa0094..03c76b3c 100644 --- a/src/servers/sapphire_zone/Script/Scripts/CMakeLists.txt +++ b/src/servers/sapphire_zone/Script/Scripts/CMakeLists.txt @@ -21,7 +21,8 @@ foreach(_scriptDir ${children}) if(IS_DIRECTORY ${_scriptDir} AND NOT ${_name} MATCHES "CMakeFiles") message("discovered plugin lib: ${_scriptDir} (${_name})") - file(GLOB_RECURSE SCRIPT_FILES "${_scriptDir}/*.cpp") + file(GLOB_RECURSE SCRIPT_BUILD_FILES "${_scriptDir}/*.cpp") + file(GLOB_RECURSE SCRIPT_FILES RELATIVE "${_scriptDir}" "${_name}/*.cpp") # build file list foreach(_script ${SCRIPT_FILES}) @@ -38,7 +39,7 @@ foreach(_scriptDir ${children}) endif() endforeach() - add_library("script_${_name}" MODULE "${SCRIPT_FILES}" "${SCRIPT_INCLUDE_FILES}" "${_scriptDir}/ScriptLoader.cpp") + add_library("script_${_name}" MODULE "${SCRIPT_BUILD_FILES}" "${SCRIPT_INCLUDE_FILES}" "${_scriptDir}/ScriptLoader.cpp") target_link_libraries("script_${_name}" sapphire_zone) if(MSVC) @@ -55,11 +56,13 @@ foreach(_scriptDir ${children}) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ScriptLoader.cpp.in" "${_scriptDir}/ScriptLoader.cpp") - add_custom_command(TARGET "script_${_name}" POST_BUILD - COMMAND ${CMAKE_COMMAND} -E remove "${SCRIPT_LIB_DIR}/script_${_name}.exp" - COMMAND ${CMAKE_COMMAND} -E remove "${SCRIPT_LIB_DIR}/script_${_name}.lib" - COMMAND ${CMAKE_COMMAND} -E remove "${SCRIPT_LIB_DIR}/script_${_name}.ilk" - ) + if(MSVC) + add_custom_command(TARGET "script_${_name}" POST_BUILD + COMMAND ${CMAKE_COMMAND} -E remove "${SCRIPT_LIB_DIR}/script_${_name}.exp" + COMMAND ${CMAKE_COMMAND} -E remove "${SCRIPT_LIB_DIR}/script_${_name}.lib" + COMMAND ${CMAKE_COMMAND} -E remove "${SCRIPT_LIB_DIR}/script_${_name}.ilk" + ) + endif() unset(ScriptIncludes) unset(ScriptNames) diff --git a/src/servers/sapphire_zone/Script/Scripts/ScriptLoader.cpp.in b/src/servers/sapphire_zone/Script/Scripts/ScriptLoader.cpp.in index 4530fb82..739b32af 100644 --- a/src/servers/sapphire_zone/Script/Scripts/ScriptLoader.cpp.in +++ b/src/servers/sapphire_zone/Script/Scripts/ScriptLoader.cpp.in @@ -1,8 +1,5 @@ -#include #include