diff --git a/src/common/Exd/ExdDataGenerated.cpp b/src/common/Exd/ExdDataGenerated.cpp index f46ce3f3..ed4b219f 100644 --- a/src/common/Exd/ExdDataGenerated.cpp +++ b/src/common/Exd/ExdDataGenerated.cpp @@ -78,6 +78,7 @@ Sapphire::Data::Action::Action( uint32_t row_id, Sapphire::Data::ExdDataGenerate affectsPosition = exdData->getField< bool >( row, 48 ); omen = exdData->getField< uint8_t >( row, 49 ); isPvP = exdData->getField< bool >( row, 50 ); + isPlayerAction = exdData->getField< bool >( row, 62 ); } Sapphire::Data::ActionCastTimeline::ActionCastTimeline( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -425,6 +426,85 @@ Sapphire::Data::AnimaWeaponItem::AnimaWeaponItem( uint32_t row_id, Sapphire::Dat item.push_back( exdData->getField< uint32_t >( row, 13 ) ); } +Sapphire::Data::AozAction::AozAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AozActionDat.get_row( row_id ); + action = exdData->getField< uint32_t >( row, 0 ); +} + +Sapphire::Data::AozActionTransient::AozActionTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AozActionTransientDat.get_row( row_id ); + icon = exdData->getField< uint32_t >( row, 1 ); + stats = exdData->getField< std::string >( row, 2 ); + description = exdData->getField< std::string >( row, 3 ); + location = exdData->getField< uint16_t >( row, 5 ); + startQuest = exdData->getField< uint32_t >( row, 6 ); + nextQuest = exdData->getField< uint32_t >( row, 7 ); +} + +Sapphire::Data::AOZArrangement::AOZArrangement( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AOZArrangementDat.get_row( row_id, subRow ); + aOZContentBriefingBNpc = exdData->getField< uint16_t >( row, 0 ); +} + +Sapphire::Data::AOZBoss::AOZBoss( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AOZBossDat.get_row( row_id ); + boss = exdData->getField< uint16_t >( row, 0 ); +} + +Sapphire::Data::AOZContent::AOZContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AOZContentDat.get_row( row_id ); + standardFinishTime = exdData->getField< uint16_t >( row, 0 ); + idealFinishTime = exdData->getField< uint16_t >( row, 1 ); + act1FightType = exdData->getField< uint8_t >( row, 2 ); + act1 = exdData->getField< uint16_t >( row, 3 ); + arenaType1 = exdData->getField< uint8_t >( row, 4 ); + act2FightType = exdData->getField< uint8_t >( row, 5 ); + act2 = exdData->getField< uint16_t >( row, 6 ); + arenaType2 = exdData->getField< uint8_t >( row, 7 ); + act3FightType = exdData->getField< uint8_t >( row, 8 ); + act3 = exdData->getField< uint16_t >( row, 9 ); + arenaType3 = exdData->getField< uint8_t >( row, 10 ); + contentEntry = exdData->getField< uint32_t >( row, 11 ); + order = exdData->getField< uint8_t >( row, 12 ); + gilReward = exdData->getField< uint16_t >( row, 13 ); + alliedSealsReward = exdData->getField< uint16_t >( row, 14 ); + tomestonesReward = exdData->getField< uint16_t >( row, 15 ); +} + +Sapphire::Data::AOZContentBriefingBNpc::AOZContentBriefingBNpc( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_AOZContentBriefingBNpcDat.get_row( row_id ); + bNpcName = exdData->getField< uint32_t >( row, 0 ); + targetSmall = exdData->getField< uint32_t >( row, 1 ); + targetLarge = exdData->getField< uint32_t >( row, 2 ); + endurance = exdData->getField< uint8_t >( row, 4 ); + fire = exdData->getField< uint8_t >( row, 5 ); + ice = exdData->getField< uint8_t >( row, 6 ); + wind = exdData->getField< uint8_t >( row, 7 ); + earth = exdData->getField< uint8_t >( row, 8 ); + thunder = exdData->getField< uint8_t >( row, 9 ); + water = exdData->getField< uint8_t >( row, 10 ); + slashing = exdData->getField< uint8_t >( row, 11 ); + piercing = exdData->getField< uint8_t >( row, 12 ); + blunt = exdData->getField< uint8_t >( row, 13 ); + magic = exdData->getField< uint8_t >( row, 14 ); + slowResistance = exdData->getField< bool >( row, 15 ); + petrificationResistance = exdData->getField< bool >( row, 16 ); + paralysisResistance = exdData->getField< bool >( row, 17 ); + silenceResistance = exdData->getField< bool >( row, 18 ); + blindResistance = exdData->getField< bool >( row, 19 ); + stunResistance = exdData->getField< bool >( row, 20 ); + sleepResistance = exdData->getField< bool >( row, 21 ); + bindResistance = exdData->getField< bool >( row, 22 ); + heavyResistance = exdData->getField< bool >( row, 23 ); + instaDeathResistance = exdData->getField< bool >( row, 24 ); +} + Sapphire::Data::AquariumFish::AquariumFish( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_AquariumFishDat.get_row( row_id ); @@ -1275,7 +1355,7 @@ Sapphire::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, dutyRecorderAllowed = exdData->getField< bool >( row, 30 ); name = exdData->getField< std::string >( row, 34 ); contentType = exdData->getField< uint8_t >( row, 35 ); - transient = exdData->getField< uint8_t >( row, 36 ); + transient = exdData->getField< uint32_t >( row, 37 ); image = exdData->getField< uint32_t >( row, 39 ); } @@ -1448,6 +1528,12 @@ Sapphire::Data::Credit::Credit( uint32_t row_id, uint32_t subRow, Sapphire::Data germanCast2 = exdData->getField< uint16_t >( row, 10 ); } +Sapphire::Data::CreditBackImage::CreditBackImage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CreditBackImageDat.get_row( row_id, subRow ); + backImage = exdData->getField< uint32_t >( row, 2 ); +} + Sapphire::Data::CreditCast::CreditCast( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_CreditCastDat.get_row( row_id ); @@ -1530,6 +1616,19 @@ Sapphire::Data::CustomTalk::CustomTalk( uint32_t row_id, Sapphire::Data::ExdData text = exdData->getField< bool >( row, 66 ); } +Sapphire::Data::CustomTalkDynamicIcon::CustomTalkDynamicIcon( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CustomTalkDynamicIconDat.get_row( row_id, subRow ); + smallIcon = exdData->getField< uint32_t >( row, 0 ); + largeIcon = exdData->getField< uint32_t >( row, 1 ); +} + +Sapphire::Data::CustomTalkNestHandlers::CustomTalkNestHandlers( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_CustomTalkNestHandlersDat.get_row( row_id, subRow ); + nestHandler = exdData->getField< uint32_t >( row, 0 ); +} + Sapphire::Data::Cutscene::Cutscene( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_CutsceneDat.get_row( row_id ); @@ -1680,6 +1779,35 @@ Sapphire::Data::DeliveryQuest::DeliveryQuest( uint32_t row_id, Sapphire::Data::E quest = exdData->getField< int32_t >( row, 0 ); } +Sapphire::Data::DescriptionPage::DescriptionPage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DescriptionPageDat.get_row( row_id, subRow ); + text1 = exdData->getField< uint32_t >( row, 1 ); + image1 = exdData->getField< uint32_t >( row, 2 ); + text2 = exdData->getField< uint32_t >( row, 3 ); + image2 = exdData->getField< uint32_t >( row, 4 ); + text3 = exdData->getField< uint32_t >( row, 5 ); + image3 = exdData->getField< uint32_t >( row, 6 ); + text4 = exdData->getField< uint32_t >( row, 7 ); + image4 = exdData->getField< uint32_t >( row, 8 ); + text5 = exdData->getField< uint32_t >( row, 9 ); + image5 = exdData->getField< uint32_t >( row, 10 ); + text6 = exdData->getField< uint32_t >( row, 11 ); + image6 = exdData->getField< uint32_t >( row, 12 ); + text7 = exdData->getField< uint32_t >( row, 13 ); + image7 = exdData->getField< uint32_t >( row, 14 ); + text8 = exdData->getField< uint32_t >( row, 15 ); + image8 = exdData->getField< uint32_t >( row, 16 ); + text9 = exdData->getField< uint32_t >( row, 17 ); + image9 = exdData->getField< uint32_t >( row, 18 ); +} + +Sapphire::Data::DescriptionString::DescriptionString( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_DescriptionStringDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); +} + Sapphire::Data::DisposalShop::DisposalShop( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_DisposalShopDat.get_row( row_id ); @@ -1748,6 +1876,18 @@ Sapphire::Data::DpsChallengeTransient::DpsChallengeTransient( uint32_t row_id, S instanceContent = exdData->getField< uint16_t >( row, 0 ); } +Sapphire::Data::EmjAddon::EmjAddon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EmjAddonDat.get_row( row_id ); + text = exdData->getField< std::string >( row, 0 ); +} + +Sapphire::Data::EmjDani::EmjDani( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_EmjDaniDat.get_row( row_id ); + icon = exdData->getField< uint32_t >( row, 0 ); +} + Sapphire::Data::Emote::Emote( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_EmoteDat.get_row( row_id ); @@ -1867,6 +2007,18 @@ Sapphire::Data::ENpcBase::ENpcBase( uint32_t row_id, Sapphire::Data::ExdDataGene balloon = exdData->getField< uint16_t >( row, 91 ); } +Sapphire::Data::ENpcDressUp::ENpcDressUp( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ENpcDressUpDat.get_row( row_id ); + eNpcDressUpDress = exdData->getField< uint8_t >( row, 1 ); +} + +Sapphire::Data::ENpcDressUpDress::ENpcDressUpDress( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_ENpcDressUpDressDat.get_row( row_id, subRow ); + eNpc = exdData->getField< uint32_t >( row, 6 ); +} + Sapphire::Data::ENpcResident::ENpcResident( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_ENpcResidentDat.get_row( row_id ); @@ -2738,6 +2890,12 @@ Sapphire::Data::GFateClimbing2TotemType::GFateClimbing2TotemType( uint32_t row_i publicContentTextData = exdData->getField< uint32_t >( row, 0 ); } +Sapphire::Data::GFateRideShooting::GFateRideShooting( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_GFateRideShootingDat.get_row( row_id ); + contentEntry = exdData->getField< uint32_t >( row, 0 ); +} + Sapphire::Data::GilShop::GilShop( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_GilShopDat.get_row( row_id ); @@ -3174,6 +3332,19 @@ Sapphire::Data::InstanceContentBuff::InstanceContentBuff( uint32_t row_id, Sapph echoDeath = exdData->getField< uint16_t >( row, 1 ); } +Sapphire::Data::InstanceContentCSBonus::InstanceContentCSBonus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_InstanceContentCSBonusDat.get_row( row_id ); + instance = exdData->getField< uint16_t >( row, 0 ); + item = exdData->getField< uint32_t >( row, 1 ); +} + +Sapphire::Data::InstanceContentGuide::InstanceContentGuide( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_InstanceContentGuideDat.get_row( row_id ); + instance = exdData->getField< uint32_t >( row, 0 ); +} + Sapphire::Data::InstanceContentTextData::InstanceContentTextData( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_InstanceContentTextDataDat.get_row( row_id ); @@ -3591,6 +3762,7 @@ Sapphire::Data::ManeuversArmor::ManeuversArmor( uint32_t row_id, Sapphire::Data: Sapphire::Data::Map::Map( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_MapDat.get_row( row_id ); + mapIndex = exdData->getField< int8_t >( row, 2 ); hierarchy = exdData->getField< uint8_t >( row, 3 ); mapMarkerRange = exdData->getField< uint16_t >( row, 4 ); id = exdData->getField< std::string >( row, 5 ); @@ -4156,11 +4328,16 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* 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 ); + deliveryQuest = exdData->getField< uint8_t >( row, 39 ); + issuerStart = exdData->getField< uint32_t >( row, 40 ); + behavior = exdData->getField< uint16_t >( row, 41 ); + targetEnd = exdData->getField< uint32_t >( row, 42 ); isRepeatable = exdData->getField< bool >( row, 43 ); repeatIntervalType = exdData->getField< uint8_t >( row, 44 ); questRepeatFlag = exdData->getField< uint8_t >( row, 45 ); + unlocksSystemContent = exdData->getField< bool >( row, 46 ); + type = exdData->getField< uint8_t >( row, 48 ); + questClassJobSupply = exdData->getField< uint16_t >( row, 49 ); scriptInstruction.push_back( exdData->getField< std::string >( row, 50 ) ); scriptInstruction.push_back( exdData->getField< std::string >( row, 51 ) ); scriptInstruction.push_back( exdData->getField< std::string >( row, 52 ) ); @@ -4261,177 +4438,334 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* scriptArg.push_back( exdData->getField< uint32_t >( row, 147 ) ); scriptArg.push_back( exdData->getField< uint32_t >( row, 148 ) ); scriptArg.push_back( exdData->getField< uint32_t >( row, 149 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1222 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1223 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1224 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1225 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1226 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1227 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1228 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1229 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1230 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1231 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1232 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1233 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1234 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1235 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1236 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1237 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1238 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1239 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1240 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1241 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1242 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1243 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1244 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1245 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1246 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1247 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1248 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1249 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1250 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1251 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1252 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1253 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1254 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1255 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1256 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1257 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1258 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1259 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1260 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1261 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1262 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1263 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1264 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1265 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1266 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1267 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1268 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1269 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1270 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1271 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1272 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1273 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1274 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1275 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1276 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1277 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1278 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1279 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1280 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1281 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1282 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1283 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1284 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1285 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1286 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1287 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1288 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1289 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1290 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1291 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1292 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1293 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1294 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1295 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1296 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1297 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1298 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1299 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1300 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1301 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1302 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1303 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1304 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1305 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1306 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1307 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1308 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1309 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1310 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1311 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1312 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1313 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1314 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1315 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1316 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1317 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1318 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1319 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1320 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1321 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1322 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1323 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1324 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1325 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1326 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1327 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1328 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1329 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1330 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1331 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1332 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1333 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1334 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1335 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1336 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1337 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1338 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1339 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1340 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1341 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1342 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1343 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1344 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1345 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1346 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1347 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1348 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1349 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1350 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1351 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1352 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1353 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1354 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1355 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1356 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1357 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1358 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1359 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1360 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1361 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1362 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1363 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1364 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1365 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1366 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1367 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1368 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1369 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1370 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1371 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1372 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1373 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1374 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1375 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1376 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1377 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1378 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1379 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1380 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1381 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1382 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1383 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1384 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1385 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1386 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1387 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1388 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1389 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1390 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1391 ) ); - level.push_back( exdData->getField< uint32_t >( row, 1392 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 150 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 151 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 152 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 153 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 154 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 155 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 156 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 157 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 158 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 159 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 160 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 161 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 162 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 163 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 164 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 165 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 166 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 167 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 168 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 169 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 170 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 171 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 172 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 173 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 174 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 175 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 176 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 177 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 178 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 179 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 180 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 181 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 182 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 183 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 184 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 185 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 186 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 187 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 188 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 189 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 190 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 191 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 192 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 193 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 194 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 195 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 196 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 197 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 198 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 199 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 200 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 201 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 202 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 203 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 204 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 205 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 206 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 207 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 208 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 209 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 210 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 211 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 212 ) ); + actorSpawnSeq.push_back( exdData->getField< uint8_t >( row, 213 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 214 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 215 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 216 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 217 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 218 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 219 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 220 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 221 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 222 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 223 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 224 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 225 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 226 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 227 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 228 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 229 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 230 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 231 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 232 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 233 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 234 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 235 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 236 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 237 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 238 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 239 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 240 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 241 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 242 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 243 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 244 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 245 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 246 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 247 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 248 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 249 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 250 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 251 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 252 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 253 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 254 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 255 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 256 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 257 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 258 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 259 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 260 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 261 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 262 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 263 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 264 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 265 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 266 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 267 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 268 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 269 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 270 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 271 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 272 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 273 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 274 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 275 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 276 ) ); + actorDespawnSeq.push_back( exdData->getField< uint8_t >( row, 277 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 278 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 279 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 280 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 281 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 282 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 283 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 284 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 285 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 286 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 287 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 288 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 289 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 290 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 291 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 292 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 293 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 294 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 295 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 296 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 297 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 298 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 299 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 300 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 301 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 302 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 303 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 304 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 305 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 306 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 307 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 308 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 309 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 310 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 311 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 312 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 313 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 314 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 315 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 316 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 317 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 318 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 319 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 320 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 321 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 322 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 323 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 324 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 325 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 326 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 327 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 328 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 329 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 330 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 331 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 332 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 333 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 334 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 335 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 336 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 337 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 338 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 339 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 340 ) ); + actorSpawn.push_back( exdData->getField< uint32_t >( row, 341 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 342 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 343 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 344 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 345 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 346 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 347 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 348 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 349 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 350 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 351 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 352 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 353 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 354 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 355 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 356 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 357 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 358 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 359 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 360 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 361 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 362 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 363 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 364 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 365 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 366 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 367 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 368 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 369 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 370 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 371 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 372 ) ); + questUInt8A.push_back( exdData->getField< uint8_t >( row, 373 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 374 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 375 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 376 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 377 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 378 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 379 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 380 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 381 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 382 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 383 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 384 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 385 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 386 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 387 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 388 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 389 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 390 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 391 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 392 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 393 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 394 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 395 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 396 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 397 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 398 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 399 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 400 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 401 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 402 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 403 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 404 ) ); + questUInt8B.push_back( exdData->getField< uint8_t >( row, 405 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1174 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1175 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1176 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1177 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1178 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1179 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1180 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1181 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1182 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1183 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1184 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1185 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1186 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1187 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1188 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1189 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1190 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1191 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1192 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1193 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1194 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1195 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1196 ) ); + toDoCompleteSeq.push_back( exdData->getField< uint8_t >( row, 1197 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1198 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1199 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1200 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1201 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1202 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1203 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1204 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1205 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1206 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1207 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1208 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1209 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1210 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1211 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1212 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1213 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1214 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1215 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1216 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1217 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1218 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1219 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1220 ) ); + toDoQty.push_back( exdData->getField< uint8_t >( row, 1221 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1222 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1223 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1224 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1225 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1226 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1227 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1228 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1229 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1230 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1231 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1232 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1233 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1234 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1235 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1236 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1237 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1238 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1239 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1240 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1241 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1242 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1243 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1244 ) ); + toDoMainLocation.push_back( exdData->getField< uint32_t >( row, 1245 ) ); classJobRequired = exdData->getField< uint8_t >( row, 1438 ); expFactor = exdData->getField< uint16_t >( row, 1440 ); gilReward = exdData->getField< uint32_t >( row, 1441 ); @@ -4498,6 +4832,312 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* sortKey = exdData->getField< uint16_t >( row, 1514 ); } +Sapphire::Data::QuestBattle::QuestBattle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_QuestBattleDat.get_row( row_id ); + quest = exdData->getField< int32_t >( row, 0 ); + timeLimit = exdData->getField< uint16_t >( row, 2 ); + levelSync = exdData->getField< uint16_t >( 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 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 33 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 34 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 35 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 36 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 37 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 38 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 39 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 40 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 41 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 42 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 43 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 44 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 45 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 46 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 47 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 48 ) ); + 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 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 99 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 100 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 101 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 102 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 103 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 104 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 105 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 106 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 107 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 108 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 109 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 110 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 111 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 112 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 113 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 114 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 115 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 116 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 117 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 118 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 119 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 120 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 121 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 122 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 123 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 124 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 125 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 126 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 127 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 128 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 129 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 130 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 131 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 132 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 133 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 134 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 135 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 136 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 137 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 138 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 139 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 140 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 141 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 142 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 143 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 144 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 145 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 146 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 147 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 148 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 149 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 150 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 151 ) ); + scriptInstruction.push_back( exdData->getField< std::string >( row, 152 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 153 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 154 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 155 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 156 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 157 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 158 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 159 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 160 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 161 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 162 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 163 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 164 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 165 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 166 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 167 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 168 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 169 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 170 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 171 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 172 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 173 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 174 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 175 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 176 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 177 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 178 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 179 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 180 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 181 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 182 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 183 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 184 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 185 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 186 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 187 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 188 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 189 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 190 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 191 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 192 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 193 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 194 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 195 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 196 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 197 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 198 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 199 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 200 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 201 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 202 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 203 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 204 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 205 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 206 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 207 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 208 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 209 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 210 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 211 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 212 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 213 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 214 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 215 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 216 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 217 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 218 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 219 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 220 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 221 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 222 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 223 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 224 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 225 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 226 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 227 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 228 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 229 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 230 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 231 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 232 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 233 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 234 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 235 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 236 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 237 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 238 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 239 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 240 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 241 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 242 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 243 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 244 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 245 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 246 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 247 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 248 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 249 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 250 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 251 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 252 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 253 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 254 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 255 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 256 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 257 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 258 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 259 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 260 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 261 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 262 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 263 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 264 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 265 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 266 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 267 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 268 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 269 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 270 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 271 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 272 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 273 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 274 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 275 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 276 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 277 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 278 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 279 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 280 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 281 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 282 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 283 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 284 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 285 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 286 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 287 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 288 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 289 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 290 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 291 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 292 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 293 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 294 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 295 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 296 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 297 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 298 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 299 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 300 ) ); + scriptValue.push_back( exdData->getField< std::string >( row, 301 ) ); +} + Sapphire::Data::QuestClassJobReward::QuestClassJobReward( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_QuestClassJobRewardDat.get_row( row_id, subRow ); @@ -4605,6 +5245,25 @@ Sapphire::Data::RacingChocoboParam::RacingChocoboParam( uint32_t row_id, Sapphir name = exdData->getField< std::string >( row, 0 ); } +Sapphire::Data::RecastNavimesh::RecastNavimesh( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_RecastNavimeshDat.get_row( row_id ); + tileSize = exdData->getField< float >( row, 1 ); + cellSize = exdData->getField< float >( row, 2 ); + cellHeight = exdData->getField< float >( row, 3 ); + agentHeight = exdData->getField< float >( row, 4 ); + agentRadius = exdData->getField< float >( row, 5 ); + agentMaxClimb = exdData->getField< float >( row, 6 ); + agentMaxSlope = exdData->getField< float >( row, 7 ); + regionMinSize = exdData->getField< float >( row, 9 ); + regionMergedSize = exdData->getField< float >( row, 10 ); + maxEdgeLength = exdData->getField< float >( row, 12 ); + maxEdgeError = exdData->getField< float >( row, 13 ); + vertsPerPoly = exdData->getField< float >( row, 14 ); + detailMeshSampleDistance = exdData->getField< float >( row, 15 ); + detailMeshMaxSampleError = exdData->getField< float >( row, 16 ); +} + Sapphire::Data::Recipe::Recipe( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_RecipeDat.get_row( row_id ); @@ -5162,6 +5821,186 @@ Sapphire::Data::SpecialShop::SpecialShop( uint32_t row_id, Sapphire::Data::ExdDa 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 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1261 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1262 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1263 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1264 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1265 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1266 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1267 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1268 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1269 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1270 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1271 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1272 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1273 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1274 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1275 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1276 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1277 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1278 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1279 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1280 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1281 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1282 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1283 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1284 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1285 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1286 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1287 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1288 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1289 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1290 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1291 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1292 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1293 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1294 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1295 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1296 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1297 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1298 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1299 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1300 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1301 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1302 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1303 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1304 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1305 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1306 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1307 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1308 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1309 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1310 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1311 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1312 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1313 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1314 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1315 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1316 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1317 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1318 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1319 ) ); + unknown.push_back( exdData->getField< int32_t >( row, 1320 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1321 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1322 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1323 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1324 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1325 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1326 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1327 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1328 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1329 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1330 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1331 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1332 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1333 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1334 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1335 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1336 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1337 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1338 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1339 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1340 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1341 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1342 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1343 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1344 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1345 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1346 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1347 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1348 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1349 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1350 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1351 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1352 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1353 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1354 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1355 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1356 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1357 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1358 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1359 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1360 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1361 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1362 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1363 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1364 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1365 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1366 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1367 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1368 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1369 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1370 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1371 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1372 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1373 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1374 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1375 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1376 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1377 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1378 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1379 ) ); + achievementUnlock.push_back( exdData->getField< int32_t >( row, 1380 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1801 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1802 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1803 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1804 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1805 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1806 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1807 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1808 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1809 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1810 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1811 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1812 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1813 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1814 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1815 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1816 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1817 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1818 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1819 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1820 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1821 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1822 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1823 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1824 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1825 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1826 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1827 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1828 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1829 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1830 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1831 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1832 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1833 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1834 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1835 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1836 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1837 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1838 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1839 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1840 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1841 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1842 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1843 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1844 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1845 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1846 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1847 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1848 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1849 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1850 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1851 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1852 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1853 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1854 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1855 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1856 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1857 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1858 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1859 ) ); + patchNumber.push_back( exdData->getField< uint16_t >( row, 1860 ) ); questUnlock = exdData->getField< uint32_t >( row, 1862 ); questShop = exdData->getField< int32_t >( row, 1863 ); notCompleteText = exdData->getField< int32_t >( row, 1864 ); @@ -5310,6 +6149,7 @@ Sapphire::Data::TerritoryType::TerritoryType( uint32_t row_id, Sapphire::Data::E territoryIntendedUse = exdData->getField< uint8_t >( row, 9 ); weatherRate = exdData->getField< uint8_t >( row, 12 ); arrayEventHandler = exdData->getField< uint32_t >( row, 22 ); + questBattle = exdData->getField< uint16_t >( row, 23 ); aetheryte = exdData->getField< int32_t >( row, 24 ); } @@ -5543,8 +6383,8 @@ Sapphire::Data::TutorialTank::TutorialTank( uint32_t row_id, Sapphire::Data::Exd Sapphire::Data::UIColor::UIColor( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_UIColorDat.get_row( row_id ); - foreground = exdData->getField< uint32_t >( row, 0 ); - background = exdData->getField< uint32_t >( row, 1 ); + uIForeground = exdData->getField< uint32_t >( row, 0 ); + uIGlow = exdData->getField< uint32_t >( row, 1 ); } Sapphire::Data::VaseFlower::VaseFlower( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -5628,6 +6468,13 @@ Sapphire::Data::WeatherRate::WeatherRate( uint32_t row_id, Sapphire::Data::ExdDa auto row = exdData->m_WeatherRateDat.get_row( row_id ); } +Sapphire::Data::WeatherReportReplace::WeatherReportReplace( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) +{ + auto row = exdData->m_WeatherReportReplaceDat.get_row( row_id ); + placeNameSub = exdData->getField< uint16_t >( row, 0 ); + placeNameParent = exdData->getField< uint16_t >( row, 1 ); +} + Sapphire::Data::WeddingBGM::WeddingBGM( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) { auto row = exdData->m_WeddingBGMDat.get_row( row_id ); @@ -5706,6 +6553,7 @@ Sapphire::Data::WorldDCGroupType::WorldDCGroupType( uint32_t row_id, Sapphire::D { auto row = exdData->m_WorldDCGroupTypeDat.get_row( row_id ); name = exdData->getField< std::string >( row, 0 ); + region = exdData->getField< uint8_t >( row, 1 ); } Sapphire::Data::YKW::YKW( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ) @@ -5805,6 +6653,12 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_AnimaWeaponFUITalkParamDat = setupDatAccess( "AnimaWeaponFUITalkParam", xiv::exd::Language::en ); m_AnimaWeaponIconDat = setupDatAccess( "AnimaWeaponIcon", xiv::exd::Language::none ); m_AnimaWeaponItemDat = setupDatAccess( "AnimaWeaponItem", xiv::exd::Language::none ); + m_AozActionDat = setupDatAccess( "AozAction", xiv::exd::Language::none ); + m_AozActionTransientDat = setupDatAccess( "AozActionTransient", xiv::exd::Language::en ); + m_AOZArrangementDat = setupDatAccess( "AOZArrangement", xiv::exd::Language::none ); + m_AOZBossDat = setupDatAccess( "AOZBoss", xiv::exd::Language::none ); + m_AOZContentDat = setupDatAccess( "AOZContent", xiv::exd::Language::none ); + m_AOZContentBriefingBNpcDat = setupDatAccess( "AOZContentBriefingBNpc", xiv::exd::Language::none ); m_AquariumFishDat = setupDatAccess( "AquariumFish", xiv::exd::Language::none ); m_AquariumWaterDat = setupDatAccess( "AquariumWater", xiv::exd::Language::en ); m_ArrayEventHandlerDat = setupDatAccess( "ArrayEventHandler", xiv::exd::Language::none ); @@ -5884,9 +6738,12 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_CraftLeveDat = setupDatAccess( "CraftLeve", xiv::exd::Language::none ); m_CraftTypeDat = setupDatAccess( "CraftType", xiv::exd::Language::en ); m_CreditDat = setupDatAccess( "Credit", xiv::exd::Language::none ); + m_CreditBackImageDat = setupDatAccess( "CreditBackImage", xiv::exd::Language::none ); m_CreditCastDat = setupDatAccess( "CreditCast", xiv::exd::Language::en ); m_CurrencyDat = setupDatAccess( "Currency", xiv::exd::Language::none ); m_CustomTalkDat = setupDatAccess( "CustomTalk", xiv::exd::Language::en ); + m_CustomTalkDynamicIconDat = setupDatAccess( "CustomTalkDynamicIcon", xiv::exd::Language::none ); + m_CustomTalkNestHandlersDat = setupDatAccess( "CustomTalkNestHandlers", xiv::exd::Language::none ); m_CutsceneDat = setupDatAccess( "Cutscene", xiv::exd::Language::none ); m_CutScreenImageDat = setupDatAccess( "CutScreenImage", xiv::exd::Language::none ); m_DailySupplyItemDat = setupDatAccess( "DailySupplyItem", xiv::exd::Language::none ); @@ -5904,15 +6761,21 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_DefaultTalkDat = setupDatAccess( "DefaultTalk", xiv::exd::Language::en ); m_DefaultTalkLipSyncTypeDat = setupDatAccess( "DefaultTalkLipSyncType", xiv::exd::Language::none ); m_DeliveryQuestDat = setupDatAccess( "DeliveryQuest", xiv::exd::Language::none ); + m_DescriptionPageDat = setupDatAccess( "DescriptionPage", xiv::exd::Language::none ); + m_DescriptionStringDat = setupDatAccess( "DescriptionString", xiv::exd::Language::en ); m_DisposalShopDat = setupDatAccess( "DisposalShop", xiv::exd::Language::en ); m_DisposalShopFilterTypeDat = setupDatAccess( "DisposalShopFilterType", xiv::exd::Language::en ); m_DisposalShopItemDat = setupDatAccess( "DisposalShopItem", xiv::exd::Language::none ); m_DpsChallengeDat = setupDatAccess( "DpsChallenge", xiv::exd::Language::en ); m_DpsChallengeOfficerDat = setupDatAccess( "DpsChallengeOfficer", xiv::exd::Language::none ); m_DpsChallengeTransientDat = setupDatAccess( "DpsChallengeTransient", xiv::exd::Language::none ); + m_EmjAddonDat = setupDatAccess( "EmjAddon", xiv::exd::Language::en ); + m_EmjDaniDat = setupDatAccess( "EmjDani", xiv::exd::Language::none ); m_EmoteDat = setupDatAccess( "Emote", xiv::exd::Language::en ); m_EmoteCategoryDat = setupDatAccess( "EmoteCategory", xiv::exd::Language::en ); m_ENpcBaseDat = setupDatAccess( "ENpcBase", xiv::exd::Language::none ); + m_ENpcDressUpDat = setupDatAccess( "ENpcDressUp", xiv::exd::Language::none ); + m_ENpcDressUpDressDat = setupDatAccess( "ENpcDressUpDress", xiv::exd::Language::none ); m_ENpcResidentDat = setupDatAccess( "ENpcResident", xiv::exd::Language::en ); m_EObjDat = setupDatAccess( "EObj", xiv::exd::Language::none ); m_EObjNameDat = setupDatAccess( "EObjName", xiv::exd::Language::en ); @@ -5993,6 +6856,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_GFateClimbing2Dat = setupDatAccess( "GFateClimbing2", xiv::exd::Language::none ); m_GFateClimbing2ContentDat = setupDatAccess( "GFateClimbing2Content", xiv::exd::Language::none ); m_GFateClimbing2TotemTypeDat = setupDatAccess( "GFateClimbing2TotemType", xiv::exd::Language::none ); + m_GFateRideShootingDat = setupDatAccess( "GFateRideShooting", xiv::exd::Language::none ); m_GilShopDat = setupDatAccess( "GilShop", xiv::exd::Language::en ); m_GilShopItemDat = setupDatAccess( "GilShopItem", xiv::exd::Language::none ); m_GoldSaucerArcadeMachineDat = setupDatAccess( "GoldSaucerArcadeMachine", xiv::exd::Language::en ); @@ -6012,9 +6876,9 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_HousingEmploymentNpcRaceDat = setupDatAccess( "HousingEmploymentNpcRace", xiv::exd::Language::en ); m_HousingExteriorDat = setupDatAccess( "HousingExterior", xiv::exd::Language::none ); m_HousingFurnitureDat = setupDatAccess( "HousingFurniture", xiv::exd::Language::none ); + m_HousingLandSetDat = setupDatAccess( "HousingLandSet", xiv::exd::Language::none ); m_HousingMapMarkerInfoDat = setupDatAccess( "HousingMapMarkerInfo", xiv::exd::Language::none ); m_HousingMerchantPoseDat = setupDatAccess( "HousingMerchantPose", xiv::exd::Language::en ); - m_HousingLandSetDat = setupDatAccess( "HousingLandSet", xiv::exd::Language::none ); m_HousingPlacementDat = setupDatAccess( "HousingPlacement", xiv::exd::Language::en ); m_HousingPresetDat = setupDatAccess( "HousingPreset", xiv::exd::Language::en ); m_HousingUnitedExteriorDat = setupDatAccess( "HousingUnitedExterior", xiv::exd::Language::none ); @@ -6024,6 +6888,8 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_HowToPageDat = setupDatAccess( "HowToPage", xiv::exd::Language::en ); m_InstanceContentDat = setupDatAccess( "InstanceContent", xiv::exd::Language::en ); m_InstanceContentBuffDat = setupDatAccess( "InstanceContentBuff", xiv::exd::Language::none ); + m_InstanceContentCSBonusDat = setupDatAccess( "InstanceContentCSBonus", xiv::exd::Language::none ); + m_InstanceContentGuideDat = setupDatAccess( "InstanceContentGuide", xiv::exd::Language::none ); m_InstanceContentTextDataDat = setupDatAccess( "InstanceContentTextData", xiv::exd::Language::en ); m_ItemDat = setupDatAccess( "Item", xiv::exd::Language::en ); m_ItemActionDat = setupDatAccess( "ItemAction", xiv::exd::Language::none ); @@ -6109,6 +6975,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_PvPSelectTraitDat = setupDatAccess( "PvPSelectTrait", xiv::exd::Language::en ); m_PvPTraitDat = setupDatAccess( "PvPTrait", xiv::exd::Language::none ); m_QuestDat = setupDatAccess( "Quest", xiv::exd::Language::en ); + m_QuestBattleDat = setupDatAccess( "QuestBattle", xiv::exd::Language::none ); m_QuestClassJobRewardDat = setupDatAccess( "QuestClassJobReward", xiv::exd::Language::none ); m_QuestClassJobSupplyDat = setupDatAccess( "QuestClassJobSupply", xiv::exd::Language::none ); m_QuestRepeatFlagDat = setupDatAccess( "QuestRepeatFlag", xiv::exd::Language::none ); @@ -6121,6 +6988,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_RacingChocoboNameCategoryDat = setupDatAccess( "RacingChocoboNameCategory", xiv::exd::Language::en ); m_RacingChocoboNameInfoDat = setupDatAccess( "RacingChocoboNameInfo", xiv::exd::Language::none ); m_RacingChocoboParamDat = setupDatAccess( "RacingChocoboParam", xiv::exd::Language::en ); + m_RecastNavimeshDat = setupDatAccess( "RecastNavimesh", xiv::exd::Language::none ); m_RecipeDat = setupDatAccess( "Recipe", xiv::exd::Language::none ); m_RecipeElementDat = setupDatAccess( "RecipeElement", xiv::exd::Language::en ); m_RecipeLevelTableDat = setupDatAccess( "RecipeLevelTable", xiv::exd::Language::none ); @@ -6202,6 +7070,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path ) m_WeatherDat = setupDatAccess( "Weather", xiv::exd::Language::en ); m_WeatherGroupDat = setupDatAccess( "WeatherGroup", xiv::exd::Language::none ); m_WeatherRateDat = setupDatAccess( "WeatherRate", xiv::exd::Language::none ); + m_WeatherReportReplaceDat = setupDatAccess( "WeatherReportReplace", xiv::exd::Language::none ); m_WeddingBGMDat = setupDatAccess( "WeddingBGM", xiv::exd::Language::en ); m_WeeklyBingoOrderDataDat = setupDatAccess( "WeeklyBingoOrderData", xiv::exd::Language::none ); m_WeeklyBingoRewardDataDat = setupDatAccess( "WeeklyBingoRewardData", xiv::exd::Language::none ); diff --git a/src/common/Exd/ExdDataGenerated.h b/src/common/Exd/ExdDataGenerated.h index fd99abdf..0de66c34 100644 --- a/src/common/Exd/ExdDataGenerated.h +++ b/src/common/Exd/ExdDataGenerated.h @@ -61,6 +61,12 @@ struct AnimaWeaponFUITalk; struct AnimaWeaponFUITalkParam; struct AnimaWeaponIcon; struct AnimaWeaponItem; +struct AozAction; +struct AozActionTransient; +struct AOZArrangement; +struct AOZBoss; +struct AOZContent; +struct AOZContentBriefingBNpc; struct AquariumFish; struct AquariumWater; struct ArrayEventHandler; @@ -140,9 +146,12 @@ struct CraftAction; struct CraftLeve; struct CraftType; struct Credit; +struct CreditBackImage; struct CreditCast; struct Currency; struct CustomTalk; +struct CustomTalkDynamicIcon; +struct CustomTalkNestHandlers; struct Cutscene; struct CutScreenImage; struct DailySupplyItem; @@ -160,15 +169,21 @@ struct DeepDungeonStatus; struct DefaultTalk; struct DefaultTalkLipSyncType; struct DeliveryQuest; +struct DescriptionPage; +struct DescriptionString; struct DisposalShop; struct DisposalShopFilterType; struct DisposalShopItem; struct DpsChallenge; struct DpsChallengeOfficer; struct DpsChallengeTransient; +struct EmjAddon; +struct EmjDani; struct Emote; struct EmoteCategory; struct ENpcBase; +struct ENpcDressUp; +struct ENpcDressUpDress; struct ENpcResident; struct EObj; struct EObjName; @@ -249,6 +264,7 @@ struct GFATE; struct GFateClimbing2; struct GFateClimbing2Content; struct GFateClimbing2TotemType; +struct GFateRideShooting; struct GilShop; struct GilShopItem; struct GoldSaucerArcadeMachine; @@ -268,9 +284,9 @@ struct HousingEmploymentNpcList; struct HousingEmploymentNpcRace; struct HousingExterior; struct HousingFurniture; +struct HousingLandSet; struct HousingMapMarkerInfo; struct HousingMerchantPose; -struct HousingLandSet; struct HousingPlacement; struct HousingPreset; struct HousingUnitedExterior; @@ -280,6 +296,8 @@ struct HowToCategory; struct HowToPage; struct InstanceContent; struct InstanceContentBuff; +struct InstanceContentCSBonus; +struct InstanceContentGuide; struct InstanceContentTextData; struct Item; struct ItemAction; @@ -365,6 +383,7 @@ struct PvPRank; struct PvPSelectTrait; struct PvPTrait; struct Quest; +struct QuestBattle; struct QuestClassJobReward; struct QuestClassJobSupply; struct QuestRepeatFlag; @@ -377,6 +396,7 @@ struct RacingChocoboName; struct RacingChocoboNameCategory; struct RacingChocoboNameInfo; struct RacingChocoboParam; +struct RecastNavimesh; struct Recipe; struct RecipeElement; struct RecipeLevelTable; @@ -458,6 +478,7 @@ struct WarpLogic; struct Weather; struct WeatherGroup; struct WeatherRate; +struct WeatherReportReplace; struct WeddingBGM; struct WeeklyBingoOrderData; struct WeeklyBingoRewardData; @@ -541,6 +562,7 @@ struct Action bool affectsPosition; uint8_t omen; bool isPvP; + bool isPlayerAction; Action( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -892,6 +914,91 @@ struct AnimaWeaponItem AnimaWeaponItem( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct AozAction +{ + uint32_t action; + + AozAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct AozActionTransient +{ + uint32_t icon; + std::string stats; + std::string description; + uint16_t location; + uint32_t startQuest; + uint32_t nextQuest; + + AozActionTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct AOZArrangement +{ + uint16_t aOZContentBriefingBNpc; + + AOZArrangement( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct AOZBoss +{ + uint16_t boss; + + AOZBoss( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct AOZContent +{ + uint16_t standardFinishTime; + uint16_t idealFinishTime; + uint8_t act1FightType; + uint16_t act1; + uint8_t arenaType1; + uint8_t act2FightType; + uint16_t act2; + uint8_t arenaType2; + uint8_t act3FightType; + uint16_t act3; + uint8_t arenaType3; + uint32_t contentEntry; + uint8_t order; + uint16_t gilReward; + uint16_t alliedSealsReward; + uint16_t tomestonesReward; + + AOZContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct AOZContentBriefingBNpc +{ + uint32_t bNpcName; + uint32_t targetSmall; + uint32_t targetLarge; + uint8_t endurance; + uint8_t fire; + uint8_t ice; + uint8_t wind; + uint8_t earth; + uint8_t thunder; + uint8_t water; + uint8_t slashing; + uint8_t piercing; + uint8_t blunt; + uint8_t magic; + bool slowResistance; + bool petrificationResistance; + bool paralysisResistance; + bool silenceResistance; + bool blindResistance; + bool stunResistance; + bool sleepResistance; + bool bindResistance; + bool heavyResistance; + bool instaDeathResistance; + + AOZContentBriefingBNpc( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct AquariumFish { uint8_t aquariumWater; @@ -1788,6 +1895,13 @@ struct Credit Credit( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct CreditBackImage +{ + uint32_t backImage; + + CreditBackImage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct CreditCast { std::string name; @@ -1815,6 +1929,21 @@ struct CustomTalk CustomTalk( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct CustomTalkDynamicIcon +{ + uint32_t smallIcon; + uint32_t largeIcon; + + CustomTalkDynamicIcon( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct CustomTalkNestHandlers +{ + uint32_t nestHandler; + + CustomTalkNestHandlers( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Cutscene { std::string path; @@ -1970,6 +2099,37 @@ struct DeliveryQuest DeliveryQuest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct DescriptionPage +{ + uint32_t text1; + uint32_t image1; + uint32_t text2; + uint32_t image2; + uint32_t text3; + uint32_t image3; + uint32_t text4; + uint32_t image4; + uint32_t text5; + uint32_t image5; + uint32_t text6; + uint32_t image6; + uint32_t text7; + uint32_t image7; + uint32_t text8; + uint32_t image8; + uint32_t text9; + uint32_t image9; + + DescriptionPage( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct DescriptionString +{ + std::string text; + + DescriptionString( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct DisposalShop { std::string shopName; @@ -2020,6 +2180,20 @@ struct DpsChallengeTransient DpsChallengeTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct EmjAddon +{ + std::string text; + + EmjAddon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct EmjDani +{ + uint32_t icon; + + EmjDani( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Emote { std::string name; @@ -2105,6 +2279,20 @@ struct ENpcBase ENpcBase( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct ENpcDressUp +{ + uint8_t eNpcDressUpDress; + + ENpcDressUp( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct ENpcDressUpDress +{ + uint32_t eNpc; + + ENpcDressUpDress( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct ENpcResident { std::string singular; @@ -2872,6 +3060,13 @@ struct GFateClimbing2TotemType GFateClimbing2TotemType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct GFateRideShooting +{ + uint32_t contentEntry; + + GFateRideShooting( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct GilShop { std::string name; @@ -3045,6 +3240,15 @@ struct HousingFurniture HousingFurniture( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct HousingLandSet +{ + std::vector< uint8_t > plotSize; + std::vector< uint32_t > minPrice; + std::vector< uint32_t > initialPrice; + + HousingLandSet( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct HousingMapMarkerInfo { uint16_t map; @@ -3064,15 +3268,6 @@ struct HousingMerchantPose HousingMerchantPose( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; -struct HousingLandSet -{ - std::vector< uint8_t > plotSize; - std::vector< uint32_t > minPrice; - std::vector< uint32_t > initialPrice; - - HousingLandSet( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); -}; - struct HousingPlacement { std::string text; @@ -3190,6 +3385,21 @@ struct InstanceContentBuff InstanceContentBuff( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct InstanceContentCSBonus +{ + uint16_t instance; + uint32_t item; + + InstanceContentCSBonus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + +struct InstanceContentGuide +{ + uint32_t instance; + + InstanceContentGuide( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct InstanceContentTextData { std::string text; @@ -3584,6 +3794,7 @@ struct ManeuversArmor struct Map { + int8_t mapIndex; uint8_t hierarchy; uint16_t mapMarkerRange; std::string id; @@ -4162,14 +4373,26 @@ struct Quest uint8_t beastReputationRank; int32_t mountRequired; bool isHouseRequired; - uint32_t eNpcResidentStart; - uint32_t eNpcResidentEnd; + uint8_t deliveryQuest; + uint32_t issuerStart; + uint16_t behavior; + uint32_t targetEnd; bool isRepeatable; uint8_t repeatIntervalType; uint8_t questRepeatFlag; + bool unlocksSystemContent; + uint8_t type; + uint16_t questClassJobSupply; std::vector< std::string > scriptInstruction; std::vector< uint32_t > scriptArg; - std::vector< uint32_t > level; + std::vector< uint8_t > actorSpawnSeq; + std::vector< uint8_t > actorDespawnSeq; + std::vector< uint32_t > actorSpawn; + std::vector< uint8_t > questUInt8A; + std::vector< uint8_t > questUInt8B; + std::vector< uint8_t > toDoCompleteSeq; + std::vector< uint8_t > toDoQty; + std::vector< uint32_t > toDoMainLocation; uint8_t classJobRequired; uint16_t expFactor; uint32_t gilReward; @@ -4202,6 +4425,17 @@ struct Quest Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct QuestBattle +{ + int32_t quest; + uint16_t timeLimit; + uint16_t levelSync; + std::vector< std::string > scriptInstruction; + std::vector< std::string > scriptValue; + + QuestBattle( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct QuestClassJobReward { uint8_t classJobCategory; @@ -4308,6 +4542,26 @@ struct RacingChocoboParam RacingChocoboParam( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct RecastNavimesh +{ + float tileSize; + float cellSize; + float cellHeight; + float agentHeight; + float agentRadius; + float agentMaxClimb; + float agentMaxSlope; + float regionMinSize; + float regionMergedSize; + float maxEdgeLength; + float maxEdgeError; + float vertsPerPoly; + float detailMeshSampleDistance; + float detailMeshMaxSampleError; + + RecastNavimesh( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct Recipe { int32_t craftType; @@ -4664,6 +4918,9 @@ struct SpecialShop { std::string name; std::vector< int32_t > questItem; + std::vector< int32_t > unknown; + std::vector< int32_t > achievementUnlock; + std::vector< uint16_t > patchNumber; uint32_t questUnlock; int32_t questShop; int32_t notCompleteText; @@ -4795,6 +5052,7 @@ struct TerritoryType uint8_t territoryIntendedUse; uint8_t weatherRate; uint32_t arrayEventHandler; + uint16_t questBattle; int32_t aetheryte; TerritoryType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); @@ -5034,8 +5292,8 @@ struct TutorialTank struct UIColor { - uint32_t foreground; - uint32_t background; + uint32_t uIForeground; + uint32_t uIGlow; UIColor( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -5111,6 +5369,14 @@ struct WeatherRate WeatherRate( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; +struct WeatherReportReplace +{ + uint16_t placeNameSub; + uint16_t placeNameParent; + + WeatherReportReplace( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); +}; + struct WeddingBGM { uint16_t song; @@ -5164,6 +5430,7 @@ struct World struct WorldDCGroupType { std::string name; + uint8_t region; WorldDCGroupType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData ); }; @@ -5254,6 +5521,12 @@ struct ZoneSharedGroup xiv::exd::Exd m_AnimaWeaponFUITalkParamDat; xiv::exd::Exd m_AnimaWeaponIconDat; xiv::exd::Exd m_AnimaWeaponItemDat; + xiv::exd::Exd m_AozActionDat; + xiv::exd::Exd m_AozActionTransientDat; + xiv::exd::Exd m_AOZArrangementDat; + xiv::exd::Exd m_AOZBossDat; + xiv::exd::Exd m_AOZContentDat; + xiv::exd::Exd m_AOZContentBriefingBNpcDat; xiv::exd::Exd m_AquariumFishDat; xiv::exd::Exd m_AquariumWaterDat; xiv::exd::Exd m_ArrayEventHandlerDat; @@ -5333,9 +5606,12 @@ struct ZoneSharedGroup xiv::exd::Exd m_CraftLeveDat; xiv::exd::Exd m_CraftTypeDat; xiv::exd::Exd m_CreditDat; + xiv::exd::Exd m_CreditBackImageDat; xiv::exd::Exd m_CreditCastDat; xiv::exd::Exd m_CurrencyDat; xiv::exd::Exd m_CustomTalkDat; + xiv::exd::Exd m_CustomTalkDynamicIconDat; + xiv::exd::Exd m_CustomTalkNestHandlersDat; xiv::exd::Exd m_CutsceneDat; xiv::exd::Exd m_CutScreenImageDat; xiv::exd::Exd m_DailySupplyItemDat; @@ -5353,15 +5629,21 @@ struct ZoneSharedGroup xiv::exd::Exd m_DefaultTalkDat; xiv::exd::Exd m_DefaultTalkLipSyncTypeDat; xiv::exd::Exd m_DeliveryQuestDat; + xiv::exd::Exd m_DescriptionPageDat; + xiv::exd::Exd m_DescriptionStringDat; xiv::exd::Exd m_DisposalShopDat; xiv::exd::Exd m_DisposalShopFilterTypeDat; xiv::exd::Exd m_DisposalShopItemDat; xiv::exd::Exd m_DpsChallengeDat; xiv::exd::Exd m_DpsChallengeOfficerDat; xiv::exd::Exd m_DpsChallengeTransientDat; + xiv::exd::Exd m_EmjAddonDat; + xiv::exd::Exd m_EmjDaniDat; xiv::exd::Exd m_EmoteDat; xiv::exd::Exd m_EmoteCategoryDat; xiv::exd::Exd m_ENpcBaseDat; + xiv::exd::Exd m_ENpcDressUpDat; + xiv::exd::Exd m_ENpcDressUpDressDat; xiv::exd::Exd m_ENpcResidentDat; xiv::exd::Exd m_EObjDat; xiv::exd::Exd m_EObjNameDat; @@ -5442,6 +5724,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_GFateClimbing2Dat; xiv::exd::Exd m_GFateClimbing2ContentDat; xiv::exd::Exd m_GFateClimbing2TotemTypeDat; + xiv::exd::Exd m_GFateRideShootingDat; xiv::exd::Exd m_GilShopDat; xiv::exd::Exd m_GilShopItemDat; xiv::exd::Exd m_GoldSaucerArcadeMachineDat; @@ -5461,9 +5744,9 @@ struct ZoneSharedGroup xiv::exd::Exd m_HousingEmploymentNpcRaceDat; xiv::exd::Exd m_HousingExteriorDat; xiv::exd::Exd m_HousingFurnitureDat; + xiv::exd::Exd m_HousingLandSetDat; xiv::exd::Exd m_HousingMapMarkerInfoDat; xiv::exd::Exd m_HousingMerchantPoseDat; - xiv::exd::Exd m_HousingLandSetDat; xiv::exd::Exd m_HousingPlacementDat; xiv::exd::Exd m_HousingPresetDat; xiv::exd::Exd m_HousingUnitedExteriorDat; @@ -5473,6 +5756,8 @@ struct ZoneSharedGroup xiv::exd::Exd m_HowToPageDat; xiv::exd::Exd m_InstanceContentDat; xiv::exd::Exd m_InstanceContentBuffDat; + xiv::exd::Exd m_InstanceContentCSBonusDat; + xiv::exd::Exd m_InstanceContentGuideDat; xiv::exd::Exd m_InstanceContentTextDataDat; xiv::exd::Exd m_ItemDat; xiv::exd::Exd m_ItemActionDat; @@ -5558,6 +5843,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_PvPSelectTraitDat; xiv::exd::Exd m_PvPTraitDat; xiv::exd::Exd m_QuestDat; + xiv::exd::Exd m_QuestBattleDat; xiv::exd::Exd m_QuestClassJobRewardDat; xiv::exd::Exd m_QuestClassJobSupplyDat; xiv::exd::Exd m_QuestRepeatFlagDat; @@ -5570,6 +5856,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_RacingChocoboNameCategoryDat; xiv::exd::Exd m_RacingChocoboNameInfoDat; xiv::exd::Exd m_RacingChocoboParamDat; + xiv::exd::Exd m_RecastNavimeshDat; xiv::exd::Exd m_RecipeDat; xiv::exd::Exd m_RecipeElementDat; xiv::exd::Exd m_RecipeLevelTableDat; @@ -5651,6 +5938,7 @@ struct ZoneSharedGroup xiv::exd::Exd m_WeatherDat; xiv::exd::Exd m_WeatherGroupDat; xiv::exd::Exd m_WeatherRateDat; + xiv::exd::Exd m_WeatherReportReplaceDat; xiv::exd::Exd m_WeddingBGMDat; xiv::exd::Exd m_WeeklyBingoOrderDataDat; xiv::exd::Exd m_WeeklyBingoRewardDataDat; @@ -5705,6 +5993,12 @@ struct ZoneSharedGroup using AnimaWeaponFUITalkParamPtr = std::shared_ptr< AnimaWeaponFUITalkParam >; using AnimaWeaponIconPtr = std::shared_ptr< AnimaWeaponIcon >; using AnimaWeaponItemPtr = std::shared_ptr< AnimaWeaponItem >; + using AozActionPtr = std::shared_ptr< AozAction >; + using AozActionTransientPtr = std::shared_ptr< AozActionTransient >; + using AOZArrangementPtr = std::shared_ptr< AOZArrangement >; + using AOZBossPtr = std::shared_ptr< AOZBoss >; + using AOZContentPtr = std::shared_ptr< AOZContent >; + using AOZContentBriefingBNpcPtr = std::shared_ptr< AOZContentBriefingBNpc >; using AquariumFishPtr = std::shared_ptr< AquariumFish >; using AquariumWaterPtr = std::shared_ptr< AquariumWater >; using ArrayEventHandlerPtr = std::shared_ptr< ArrayEventHandler >; @@ -5784,9 +6078,12 @@ struct ZoneSharedGroup using CraftLevePtr = std::shared_ptr< CraftLeve >; using CraftTypePtr = std::shared_ptr< CraftType >; using CreditPtr = std::shared_ptr< Credit >; + using CreditBackImagePtr = std::shared_ptr< CreditBackImage >; using CreditCastPtr = std::shared_ptr< CreditCast >; using CurrencyPtr = std::shared_ptr< Currency >; using CustomTalkPtr = std::shared_ptr< CustomTalk >; + using CustomTalkDynamicIconPtr = std::shared_ptr< CustomTalkDynamicIcon >; + using CustomTalkNestHandlersPtr = std::shared_ptr< CustomTalkNestHandlers >; using CutscenePtr = std::shared_ptr< Cutscene >; using CutScreenImagePtr = std::shared_ptr< CutScreenImage >; using DailySupplyItemPtr = std::shared_ptr< DailySupplyItem >; @@ -5804,15 +6101,21 @@ struct ZoneSharedGroup using DefaultTalkPtr = std::shared_ptr< DefaultTalk >; using DefaultTalkLipSyncTypePtr = std::shared_ptr< DefaultTalkLipSyncType >; using DeliveryQuestPtr = std::shared_ptr< DeliveryQuest >; + using DescriptionPagePtr = std::shared_ptr< DescriptionPage >; + using DescriptionStringPtr = std::shared_ptr< DescriptionString >; using DisposalShopPtr = std::shared_ptr< DisposalShop >; using DisposalShopFilterTypePtr = std::shared_ptr< DisposalShopFilterType >; using DisposalShopItemPtr = std::shared_ptr< DisposalShopItem >; using DpsChallengePtr = std::shared_ptr< DpsChallenge >; using DpsChallengeOfficerPtr = std::shared_ptr< DpsChallengeOfficer >; using DpsChallengeTransientPtr = std::shared_ptr< DpsChallengeTransient >; + using EmjAddonPtr = std::shared_ptr< EmjAddon >; + using EmjDaniPtr = std::shared_ptr< EmjDani >; using EmotePtr = std::shared_ptr< Emote >; using EmoteCategoryPtr = std::shared_ptr< EmoteCategory >; using ENpcBasePtr = std::shared_ptr< ENpcBase >; + using ENpcDressUpPtr = std::shared_ptr< ENpcDressUp >; + using ENpcDressUpDressPtr = std::shared_ptr< ENpcDressUpDress >; using ENpcResidentPtr = std::shared_ptr< ENpcResident >; using EObjPtr = std::shared_ptr< EObj >; using EObjNamePtr = std::shared_ptr< EObjName >; @@ -5893,6 +6196,7 @@ struct ZoneSharedGroup using GFateClimbing2Ptr = std::shared_ptr< GFateClimbing2 >; using GFateClimbing2ContentPtr = std::shared_ptr< GFateClimbing2Content >; using GFateClimbing2TotemTypePtr = std::shared_ptr< GFateClimbing2TotemType >; + using GFateRideShootingPtr = std::shared_ptr< GFateRideShooting >; using GilShopPtr = std::shared_ptr< GilShop >; using GilShopItemPtr = std::shared_ptr< GilShopItem >; using GoldSaucerArcadeMachinePtr = std::shared_ptr< GoldSaucerArcadeMachine >; @@ -5912,9 +6216,9 @@ struct ZoneSharedGroup using HousingEmploymentNpcRacePtr = std::shared_ptr< HousingEmploymentNpcRace >; using HousingExteriorPtr = std::shared_ptr< HousingExterior >; using HousingFurniturePtr = std::shared_ptr< HousingFurniture >; + using HousingLandSetPtr = std::shared_ptr< HousingLandSet >; using HousingMapMarkerInfoPtr = std::shared_ptr< HousingMapMarkerInfo >; using HousingMerchantPosePtr = std::shared_ptr< HousingMerchantPose >; - using HousingLandSetPtr = std::shared_ptr< HousingLandSet >; using HousingPlacementPtr = std::shared_ptr< HousingPlacement >; using HousingPresetPtr = std::shared_ptr< HousingPreset >; using HousingUnitedExteriorPtr = std::shared_ptr< HousingUnitedExterior >; @@ -5924,6 +6228,8 @@ struct ZoneSharedGroup using HowToPagePtr = std::shared_ptr< HowToPage >; using InstanceContentPtr = std::shared_ptr< InstanceContent >; using InstanceContentBuffPtr = std::shared_ptr< InstanceContentBuff >; + using InstanceContentCSBonusPtr = std::shared_ptr< InstanceContentCSBonus >; + using InstanceContentGuidePtr = std::shared_ptr< InstanceContentGuide >; using InstanceContentTextDataPtr = std::shared_ptr< InstanceContentTextData >; using ItemPtr = std::shared_ptr< Item >; using ItemActionPtr = std::shared_ptr< ItemAction >; @@ -6009,6 +6315,7 @@ struct ZoneSharedGroup using PvPSelectTraitPtr = std::shared_ptr< PvPSelectTrait >; using PvPTraitPtr = std::shared_ptr< PvPTrait >; using QuestPtr = std::shared_ptr< Quest >; + using QuestBattlePtr = std::shared_ptr< QuestBattle >; using QuestClassJobRewardPtr = std::shared_ptr< QuestClassJobReward >; using QuestClassJobSupplyPtr = std::shared_ptr< QuestClassJobSupply >; using QuestRepeatFlagPtr = std::shared_ptr< QuestRepeatFlag >; @@ -6021,6 +6328,7 @@ struct ZoneSharedGroup using RacingChocoboNameCategoryPtr = std::shared_ptr< RacingChocoboNameCategory >; using RacingChocoboNameInfoPtr = std::shared_ptr< RacingChocoboNameInfo >; using RacingChocoboParamPtr = std::shared_ptr< RacingChocoboParam >; + using RecastNavimeshPtr = std::shared_ptr< RecastNavimesh >; using RecipePtr = std::shared_ptr< Recipe >; using RecipeElementPtr = std::shared_ptr< RecipeElement >; using RecipeLevelTablePtr = std::shared_ptr< RecipeLevelTable >; @@ -6102,6 +6410,7 @@ struct ZoneSharedGroup using WeatherPtr = std::shared_ptr< Weather >; using WeatherGroupPtr = std::shared_ptr< WeatherGroup >; using WeatherRatePtr = std::shared_ptr< WeatherRate >; + using WeatherReportReplacePtr = std::shared_ptr< WeatherReportReplace >; using WeddingBGMPtr = std::shared_ptr< WeddingBGM >; using WeeklyBingoOrderDataPtr = std::shared_ptr< WeeklyBingoOrderData >; using WeeklyBingoRewardDataPtr = std::shared_ptr< WeeklyBingoRewardData >; @@ -6187,6 +6496,12 @@ struct ZoneSharedGroup std::set< uint32_t > m_AnimaWeaponFUITalkParamIdList; std::set< uint32_t > m_AnimaWeaponIconIdList; std::set< uint32_t > m_AnimaWeaponItemIdList; + std::set< uint32_t > m_AozActionIdList; + std::set< uint32_t > m_AozActionTransientIdList; + std::set< uint32_t > m_AOZArrangementIdList; + std::set< uint32_t > m_AOZBossIdList; + std::set< uint32_t > m_AOZContentIdList; + std::set< uint32_t > m_AOZContentBriefingBNpcIdList; std::set< uint32_t > m_AquariumFishIdList; std::set< uint32_t > m_AquariumWaterIdList; std::set< uint32_t > m_ArrayEventHandlerIdList; @@ -6266,9 +6581,12 @@ struct ZoneSharedGroup std::set< uint32_t > m_CraftLeveIdList; std::set< uint32_t > m_CraftTypeIdList; std::set< uint32_t > m_CreditIdList; + std::set< uint32_t > m_CreditBackImageIdList; std::set< uint32_t > m_CreditCastIdList; std::set< uint32_t > m_CurrencyIdList; std::set< uint32_t > m_CustomTalkIdList; + std::set< uint32_t > m_CustomTalkDynamicIconIdList; + std::set< uint32_t > m_CustomTalkNestHandlersIdList; std::set< uint32_t > m_CutsceneIdList; std::set< uint32_t > m_CutScreenImageIdList; std::set< uint32_t > m_DailySupplyItemIdList; @@ -6286,15 +6604,21 @@ struct ZoneSharedGroup std::set< uint32_t > m_DefaultTalkIdList; std::set< uint32_t > m_DefaultTalkLipSyncTypeIdList; std::set< uint32_t > m_DeliveryQuestIdList; + std::set< uint32_t > m_DescriptionPageIdList; + std::set< uint32_t > m_DescriptionStringIdList; std::set< uint32_t > m_DisposalShopIdList; std::set< uint32_t > m_DisposalShopFilterTypeIdList; std::set< uint32_t > m_DisposalShopItemIdList; std::set< uint32_t > m_DpsChallengeIdList; std::set< uint32_t > m_DpsChallengeOfficerIdList; std::set< uint32_t > m_DpsChallengeTransientIdList; + std::set< uint32_t > m_EmjAddonIdList; + std::set< uint32_t > m_EmjDaniIdList; std::set< uint32_t > m_EmoteIdList; std::set< uint32_t > m_EmoteCategoryIdList; std::set< uint32_t > m_ENpcBaseIdList; + std::set< uint32_t > m_ENpcDressUpIdList; + std::set< uint32_t > m_ENpcDressUpDressIdList; std::set< uint32_t > m_ENpcResidentIdList; std::set< uint32_t > m_EObjIdList; std::set< uint32_t > m_EObjNameIdList; @@ -6375,6 +6699,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_GFateClimbing2IdList; std::set< uint32_t > m_GFateClimbing2ContentIdList; std::set< uint32_t > m_GFateClimbing2TotemTypeIdList; + std::set< uint32_t > m_GFateRideShootingIdList; std::set< uint32_t > m_GilShopIdList; std::set< uint32_t > m_GilShopItemIdList; std::set< uint32_t > m_GoldSaucerArcadeMachineIdList; @@ -6394,9 +6719,9 @@ struct ZoneSharedGroup std::set< uint32_t > m_HousingEmploymentNpcRaceIdList; std::set< uint32_t > m_HousingExteriorIdList; std::set< uint32_t > m_HousingFurnitureIdList; + std::set< uint32_t > m_HousingLandSetIdList; std::set< uint32_t > m_HousingMapMarkerInfoIdList; std::set< uint32_t > m_HousingMerchantPoseIdList; - std::set< uint32_t > m_HousingLandSetIdList; std::set< uint32_t > m_HousingPlacementIdList; std::set< uint32_t > m_HousingPresetIdList; std::set< uint32_t > m_HousingUnitedExteriorIdList; @@ -6406,6 +6731,8 @@ struct ZoneSharedGroup std::set< uint32_t > m_HowToPageIdList; std::set< uint32_t > m_InstanceContentIdList; std::set< uint32_t > m_InstanceContentBuffIdList; + std::set< uint32_t > m_InstanceContentCSBonusIdList; + std::set< uint32_t > m_InstanceContentGuideIdList; std::set< uint32_t > m_InstanceContentTextDataIdList; std::set< uint32_t > m_ItemIdList; std::set< uint32_t > m_ItemActionIdList; @@ -6491,6 +6818,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_PvPSelectTraitIdList; std::set< uint32_t > m_PvPTraitIdList; std::set< uint32_t > m_QuestIdList; + std::set< uint32_t > m_QuestBattleIdList; std::set< uint32_t > m_QuestClassJobRewardIdList; std::set< uint32_t > m_QuestClassJobSupplyIdList; std::set< uint32_t > m_QuestRepeatFlagIdList; @@ -6503,6 +6831,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_RacingChocoboNameCategoryIdList; std::set< uint32_t > m_RacingChocoboNameInfoIdList; std::set< uint32_t > m_RacingChocoboParamIdList; + std::set< uint32_t > m_RecastNavimeshIdList; std::set< uint32_t > m_RecipeIdList; std::set< uint32_t > m_RecipeElementIdList; std::set< uint32_t > m_RecipeLevelTableIdList; @@ -6584,6 +6913,7 @@ struct ZoneSharedGroup std::set< uint32_t > m_WeatherIdList; std::set< uint32_t > m_WeatherGroupIdList; std::set< uint32_t > m_WeatherRateIdList; + std::set< uint32_t > m_WeatherReportReplaceIdList; std::set< uint32_t > m_WeddingBGMIdList; std::set< uint32_t > m_WeeklyBingoOrderDataIdList; std::set< uint32_t > m_WeeklyBingoRewardDataIdList; @@ -6853,6 +7183,42 @@ const std::set< uint32_t >& getAnimaWeaponItemIdList() loadIdList( m_AnimaWeaponItemDat, m_AnimaWeaponItemIdList ); return m_AnimaWeaponItemIdList; } +const std::set< uint32_t >& getAozActionIdList() +{ + if( m_AozActionIdList.size() == 0 ) + loadIdList( m_AozActionDat, m_AozActionIdList ); + return m_AozActionIdList; +} +const std::set< uint32_t >& getAozActionTransientIdList() +{ + if( m_AozActionTransientIdList.size() == 0 ) + loadIdList( m_AozActionTransientDat, m_AozActionTransientIdList ); + return m_AozActionTransientIdList; +} +const std::set< uint32_t >& getAOZArrangementIdList() +{ + if( m_AOZArrangementIdList.size() == 0 ) + loadIdList( m_AOZArrangementDat, m_AOZArrangementIdList ); + return m_AOZArrangementIdList; +} +const std::set< uint32_t >& getAOZBossIdList() +{ + if( m_AOZBossIdList.size() == 0 ) + loadIdList( m_AOZBossDat, m_AOZBossIdList ); + return m_AOZBossIdList; +} +const std::set< uint32_t >& getAOZContentIdList() +{ + if( m_AOZContentIdList.size() == 0 ) + loadIdList( m_AOZContentDat, m_AOZContentIdList ); + return m_AOZContentIdList; +} +const std::set< uint32_t >& getAOZContentBriefingBNpcIdList() +{ + if( m_AOZContentBriefingBNpcIdList.size() == 0 ) + loadIdList( m_AOZContentBriefingBNpcDat, m_AOZContentBriefingBNpcIdList ); + return m_AOZContentBriefingBNpcIdList; +} const std::set< uint32_t >& getAquariumFishIdList() { if( m_AquariumFishIdList.size() == 0 ) @@ -7327,6 +7693,12 @@ const std::set< uint32_t >& getCreditIdList() loadIdList( m_CreditDat, m_CreditIdList ); return m_CreditIdList; } +const std::set< uint32_t >& getCreditBackImageIdList() +{ + if( m_CreditBackImageIdList.size() == 0 ) + loadIdList( m_CreditBackImageDat, m_CreditBackImageIdList ); + return m_CreditBackImageIdList; +} const std::set< uint32_t >& getCreditCastIdList() { if( m_CreditCastIdList.size() == 0 ) @@ -7345,6 +7717,18 @@ const std::set< uint32_t >& getCustomTalkIdList() loadIdList( m_CustomTalkDat, m_CustomTalkIdList ); return m_CustomTalkIdList; } +const std::set< uint32_t >& getCustomTalkDynamicIconIdList() +{ + if( m_CustomTalkDynamicIconIdList.size() == 0 ) + loadIdList( m_CustomTalkDynamicIconDat, m_CustomTalkDynamicIconIdList ); + return m_CustomTalkDynamicIconIdList; +} +const std::set< uint32_t >& getCustomTalkNestHandlersIdList() +{ + if( m_CustomTalkNestHandlersIdList.size() == 0 ) + loadIdList( m_CustomTalkNestHandlersDat, m_CustomTalkNestHandlersIdList ); + return m_CustomTalkNestHandlersIdList; +} const std::set< uint32_t >& getCutsceneIdList() { if( m_CutsceneIdList.size() == 0 ) @@ -7447,6 +7831,18 @@ const std::set< uint32_t >& getDeliveryQuestIdList() loadIdList( m_DeliveryQuestDat, m_DeliveryQuestIdList ); return m_DeliveryQuestIdList; } +const std::set< uint32_t >& getDescriptionPageIdList() +{ + if( m_DescriptionPageIdList.size() == 0 ) + loadIdList( m_DescriptionPageDat, m_DescriptionPageIdList ); + return m_DescriptionPageIdList; +} +const std::set< uint32_t >& getDescriptionStringIdList() +{ + if( m_DescriptionStringIdList.size() == 0 ) + loadIdList( m_DescriptionStringDat, m_DescriptionStringIdList ); + return m_DescriptionStringIdList; +} const std::set< uint32_t >& getDisposalShopIdList() { if( m_DisposalShopIdList.size() == 0 ) @@ -7483,6 +7879,18 @@ const std::set< uint32_t >& getDpsChallengeTransientIdList() loadIdList( m_DpsChallengeTransientDat, m_DpsChallengeTransientIdList ); return m_DpsChallengeTransientIdList; } +const std::set< uint32_t >& getEmjAddonIdList() +{ + if( m_EmjAddonIdList.size() == 0 ) + loadIdList( m_EmjAddonDat, m_EmjAddonIdList ); + return m_EmjAddonIdList; +} +const std::set< uint32_t >& getEmjDaniIdList() +{ + if( m_EmjDaniIdList.size() == 0 ) + loadIdList( m_EmjDaniDat, m_EmjDaniIdList ); + return m_EmjDaniIdList; +} const std::set< uint32_t >& getEmoteIdList() { if( m_EmoteIdList.size() == 0 ) @@ -7501,6 +7909,18 @@ const std::set< uint32_t >& getENpcBaseIdList() loadIdList( m_ENpcBaseDat, m_ENpcBaseIdList ); return m_ENpcBaseIdList; } +const std::set< uint32_t >& getENpcDressUpIdList() +{ + if( m_ENpcDressUpIdList.size() == 0 ) + loadIdList( m_ENpcDressUpDat, m_ENpcDressUpIdList ); + return m_ENpcDressUpIdList; +} +const std::set< uint32_t >& getENpcDressUpDressIdList() +{ + if( m_ENpcDressUpDressIdList.size() == 0 ) + loadIdList( m_ENpcDressUpDressDat, m_ENpcDressUpDressIdList ); + return m_ENpcDressUpDressIdList; +} const std::set< uint32_t >& getENpcResidentIdList() { if( m_ENpcResidentIdList.size() == 0 ) @@ -7981,6 +8401,12 @@ const std::set< uint32_t >& getGFateClimbing2TotemTypeIdList() loadIdList( m_GFateClimbing2TotemTypeDat, m_GFateClimbing2TotemTypeIdList ); return m_GFateClimbing2TotemTypeIdList; } +const std::set< uint32_t >& getGFateRideShootingIdList() +{ + if( m_GFateRideShootingIdList.size() == 0 ) + loadIdList( m_GFateRideShootingDat, m_GFateRideShootingIdList ); + return m_GFateRideShootingIdList; +} const std::set< uint32_t >& getGilShopIdList() { if( m_GilShopIdList.size() == 0 ) @@ -8095,6 +8521,12 @@ const std::set< uint32_t >& getHousingFurnitureIdList() loadIdList( m_HousingFurnitureDat, m_HousingFurnitureIdList ); return m_HousingFurnitureIdList; } +const std::set< uint32_t >& getHousingLandSetIdList() +{ + if( m_HousingLandSetIdList.size() == 0 ) + loadIdList( m_HousingLandSetDat, m_HousingLandSetIdList ); + return m_HousingLandSetIdList; +} const std::set< uint32_t >& getHousingMapMarkerInfoIdList() { if( m_HousingMapMarkerInfoIdList.size() == 0 ) @@ -8107,12 +8539,6 @@ const std::set< uint32_t >& getHousingMerchantPoseIdList() loadIdList( m_HousingMerchantPoseDat, m_HousingMerchantPoseIdList ); return m_HousingMerchantPoseIdList; } -const std::set< uint32_t >& getHousingLandSetIdList() -{ - if( m_HousingLandSetIdList.size() == 0 ) - loadIdList( m_HousingLandSetDat, m_HousingLandSetIdList ); - return m_HousingLandSetIdList; -} const std::set< uint32_t >& getHousingPlacementIdList() { if( m_HousingPlacementIdList.size() == 0 ) @@ -8167,6 +8593,18 @@ const std::set< uint32_t >& getInstanceContentBuffIdList() loadIdList( m_InstanceContentBuffDat, m_InstanceContentBuffIdList ); return m_InstanceContentBuffIdList; } +const std::set< uint32_t >& getInstanceContentCSBonusIdList() +{ + if( m_InstanceContentCSBonusIdList.size() == 0 ) + loadIdList( m_InstanceContentCSBonusDat, m_InstanceContentCSBonusIdList ); + return m_InstanceContentCSBonusIdList; +} +const std::set< uint32_t >& getInstanceContentGuideIdList() +{ + if( m_InstanceContentGuideIdList.size() == 0 ) + loadIdList( m_InstanceContentGuideDat, m_InstanceContentGuideIdList ); + return m_InstanceContentGuideIdList; +} const std::set< uint32_t >& getInstanceContentTextDataIdList() { if( m_InstanceContentTextDataIdList.size() == 0 ) @@ -8677,6 +9115,12 @@ const std::set< uint32_t >& getQuestIdList() loadIdList( m_QuestDat, m_QuestIdList ); return m_QuestIdList; } +const std::set< uint32_t >& getQuestBattleIdList() +{ + if( m_QuestBattleIdList.size() == 0 ) + loadIdList( m_QuestBattleDat, m_QuestBattleIdList ); + return m_QuestBattleIdList; +} const std::set< uint32_t >& getQuestClassJobRewardIdList() { if( m_QuestClassJobRewardIdList.size() == 0 ) @@ -8749,6 +9193,12 @@ const std::set< uint32_t >& getRacingChocoboParamIdList() loadIdList( m_RacingChocoboParamDat, m_RacingChocoboParamIdList ); return m_RacingChocoboParamIdList; } +const std::set< uint32_t >& getRecastNavimeshIdList() +{ + if( m_RecastNavimeshIdList.size() == 0 ) + loadIdList( m_RecastNavimeshDat, m_RecastNavimeshIdList ); + return m_RecastNavimeshIdList; +} const std::set< uint32_t >& getRecipeIdList() { if( m_RecipeIdList.size() == 0 ) @@ -9235,6 +9685,12 @@ const std::set< uint32_t >& getWeatherRateIdList() loadIdList( m_WeatherRateDat, m_WeatherRateIdList ); return m_WeatherRateIdList; } +const std::set< uint32_t >& getWeatherReportReplaceIdList() +{ + if( m_WeatherReportReplaceIdList.size() == 0 ) + loadIdList( m_WeatherReportReplaceDat, m_WeatherReportReplaceIdList ); + return m_WeatherReportReplaceIdList; +} const std::set< uint32_t >& getWeddingBGMIdList() { if( m_WeddingBGMIdList.size() == 0 ) diff --git a/src/scripts/quest/ManFst004.cpp b/src/scripts/quest/ManFst004.cpp index ca91d4f9..6ec0b56a 100644 --- a/src/scripts/quest/ManFst004.cpp +++ b/src/scripts/quest/ManFst004.cpp @@ -11,8 +11,7 @@ using namespace Sapphire; -class ManFst004 : - public Sapphire::ScriptAPI::EventScript +class ManFst004 : public Sapphire::ScriptAPI::EventScript { private: // Basic quest information @@ -23,8 +22,7 @@ private: // GetQuestUI8BL // GetQuestUI8CH - enum Sequence : - uint8_t + enum Sequence : uint8_t { Seq0 = 0, Seq1 = 1, diff --git a/src/scripts/quest/ManFst005.cpp b/src/scripts/quest/ManFst005.cpp new file mode 100644 index 00000000..963f6a26 --- /dev/null +++ b/src/scripts/quest/ManFst005.cpp @@ -0,0 +1,188 @@ +#include +#include "Manager/EventMgr.h" +#include +#include "Framework.h" + +// Quest Script: ManFst005_00445 +// Quest Name: Chasing Shadows +// Quest ID: 65981 +// Start NPC: 1000421 +// End NPC: 1000421 + +using namespace Sapphire; + +class ManFst005 : public Sapphire::ScriptAPI::EventScript +{ + private: + // Basic quest information + // Quest vars / flags used + // GetQuestUI8AL + // GetQuestUI8BH + + // Steps in this quest ( 0 is before accepting, + // 1 is first, 255 means ready for turning it in + enum Sequence : uint8_t + { + Seq0 = 0, + Seq1 = 1, + Seq2 = 2, + Seq3 = 3, + SeqFinish = 255, + }; + + // Quest rewards + static constexpr auto RewardExpFactor = 200; + static constexpr auto RewardGil = 132; + static constexpr auto RewardItem = { 0, 0, 0, 0, 0, 0 }; + static constexpr auto RewardItemCount = { 0, 0, 0, 0, 0, 0 }; + static constexpr auto RewardItemOptional = { 0, 0, 0, 0, 0 }; + static constexpr auto RewardItemOptionalCount = { 0, 0, 0, 0, 0 }; + + // Entities found in the script data of the quest + static constexpr auto Actor0 = 1000421; + static constexpr auto CutScene02 = 55; + static constexpr auto CutScene03 = 56; + static constexpr auto CutScene04 = 57; + static constexpr auto Eobject0 = 2000953; + static constexpr auto Eobject1 = 2001194; + static constexpr auto EventActionProcessShor = 15; + static constexpr auto Item0 = 2000229; + static constexpr auto Questbattle0 = 11; + static constexpr auto Seq0Actor0Lq = 90; + static constexpr auto Territorytype0 = 233; + static constexpr auto Territorytype1 = 148; + + public: + ManFst005() : Sapphire::ScriptAPI::EventScript( 65981 ){}; + ~ManFst005(){}; + + ////////////////////////////////////////////////////////////////////// + // Event Handlers + void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override + { + auto pEventMgr = m_framework->get< World::Manager::EventMgr >(); + auto actor = pEventMgr->mapEventActorToRealActor( static_cast< uint32_t >( actorId ) ); + + if( actor == Actor0 ) + Scene00000( player ); + if( actor == Eobject0 ) + Scene00002( player ); + } + + private: + ////////////////////////////////////////////////////////////////////// + // Available Scenes in this quest, not necessarly all are used + void Scene00000( Entity::Player& player ) + { + player.playScene( getId(), 0, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + if( result.param2 == 1 ) // accept quest + { + Scene00001( player ); + } + } ); + } + + void Scene00001( Entity::Player& player ) + { + player.playScene( getId(), 1, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + player.updateQuest( getId(), Seq1 ); + } ); + } + + void Scene00002( Entity::Player& player ) + { + player.playScene( getId(), 2, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + player.eventActionStart( getId(), EventActionProcessShor, + [ & ]( Entity::Player& player, uint32_t eventId, uint64_t additional ) + { + Scene00003( player ); + }, + nullptr, getId() ); + } ); + } + + void Scene00003( Entity::Player& player ) + { + player.playScene( getId(), 3, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + if( result.param2 == 1 ) + { + // enter instance + } + } ); + } + + void Scene00004( Entity::Player& player ) + { + player.playScene( getId(), 4, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + } ); + } + + void Scene00005( Entity::Player& player ) + { + player.playScene( getId(), 5, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + } ); + } + + void Scene00006( Entity::Player& player ) + { + player.playScene( getId(), 6, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + } ); + } + + void Scene00007( Entity::Player& player ) + { + player.playScene( getId(), 7, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + } ); + } + + void Scene00008( Entity::Player& player ) + { + player.playScene( getId(), 8, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + } ); + } + + void Scene00009( Entity::Player& player ) + { + player.playScene( getId(), 9, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + } ); + } + + void Scene00010( Entity::Player& player ) + { + player.playScene( getId(), 10, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + } ); + } + + void Scene00011( Entity::Player& player ) + { + player.playScene( getId(), 11, HIDE_HOTBAR, + [ & ]( Entity::Player& player, const Event::SceneResult& result ) + { + } ); + } + +}; + +EXPOSE_SCRIPT( ManFst005 ); \ No newline at end of file diff --git a/src/tools/event_object_parser/main.cpp b/src/tools/event_object_parser/main.cpp index b5cff1b9..912287f3 100644 --- a/src/tools/event_object_parser/main.cpp +++ b/src/tools/event_object_parser/main.cpp @@ -32,8 +32,7 @@ namespace fs = std::experimental::filesystem; // garbage to ignore models bool ignoreModels = false; - -std::string gamePath( "/mnt/c/Program Files (x86)/Steam/steamapps/common/FINAL FANTASY XIV Online/game/sqpack" ); +std::string gamePath( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" ); std::unordered_map< uint32_t, std::string > eobjNameMap; std::unordered_map< uint16_t, std::string > zoneNameMap; std::unordered_map< uint16_t, std::vector< std::pair< uint16_t, std::string > > > zoneInstanceMap; diff --git a/src/tools/exd_struct_gen/main.cpp b/src/tools/exd_struct_gen/main.cpp index 0226134b..13a29feb 100644 --- a/src/tools/exd_struct_gen/main.cpp +++ b/src/tools/exd_struct_gen/main.cpp @@ -45,7 +45,7 @@ std::vector< std::string > cppKeyWords }; //std::string datLocation( "/home/mordred/sqpack" ); -std::string datLocation( "/mnt/c/Program Files (x86)/Steam/steamapps/common/FINAL FANTASY XIV Online/game/sqpack" ); +std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" ); std::map< uint8_t, std::string > g_typeMap; diff --git a/src/tools/quest_parser/main.cpp b/src/tools/quest_parser/main.cpp index 79aea813..a6f62ef0 100644 --- a/src/tools/quest_parser/main.cpp +++ b/src/tools/quest_parser/main.cpp @@ -282,8 +282,8 @@ createScript( std::shared_ptr< Sapphire::Data::Quest >& pQuestData, std::set< st std::string additional = "// Quest Script: " + pQuestData->id + "\n"; additional += "// Quest Name: " + pQuestData->name + "\n"; additional += "// Quest ID: " + std::to_string( questId ) + "\n"; - additional += "// Start NPC: " + std::to_string( pQuestData->eNpcResidentStart ) + "\n"; - additional += "// End NPC: " + std::to_string( pQuestData->eNpcResidentEnd ) + "\n\n"; + additional += "// Start NPC: " + std::to_string( pQuestData->issuerStart ) + "\n"; + additional += "// End NPC: " + std::to_string( pQuestData->targetEnd ) + "\n\n"; std::string actionEntry; std::string scriptEntry;