959 lines
25 KiB
C#
959 lines
25 KiB
C#
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Linq;
|
|
using System.Numerics;
|
|
using Dalamud.Plugin.Services;
|
|
using Lumina.Excel.Sheets;
|
|
using Questionable.Model.Common;
|
|
|
|
namespace Questionable.Data;
|
|
|
|
internal sealed class AetheryteData
|
|
{
|
|
public ReadOnlyDictionary<EAetheryteLocation, Vector3> Locations { get; } = new Dictionary<EAetheryteLocation, Vector3>
|
|
{
|
|
{
|
|
EAetheryteLocation.Gridania,
|
|
new Vector3(32.913696f, 2.670288f, 30.014404f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GridaniaArcher,
|
|
new Vector3(166.58276f, -1.7243042f, 86.13721f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GridaniaLeatherworker,
|
|
new Vector3(101.27405f, 9.018005f, -111.31464f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GridaniaLancer,
|
|
new Vector3(121.23291f, 12.649658f, -229.63306f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GridaniaConjurer,
|
|
new Vector3(-145.15906f, 4.9591064f, -11.7647705f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GridaniaBotanist,
|
|
new Vector3(-311.0857f, 7.94989f, -177.05048f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GridaniaAmphitheatre,
|
|
new Vector3(-73.92999f, 7.9804688f, -140.15417f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CentralShroudBentbranchMeadows,
|
|
new Vector3(13.076904f, 0.56451416f, 35.90442f)
|
|
},
|
|
{
|
|
EAetheryteLocation.EastShroudHawthorneHut,
|
|
new Vector3(-186.54156f, 3.7994385f, 297.56616f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SouthShroudQuarrymill,
|
|
new Vector3(178.60681f, 10.543945f, -68.19263f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SouthShroudCampTranquil,
|
|
new Vector3(-230.0603f, 22.62909f, 355.45886f)
|
|
},
|
|
{
|
|
EAetheryteLocation.NorthShroudFallgourdFloat,
|
|
new Vector3(-41.58087f, -38.55963f, 233.7528f)
|
|
},
|
|
{
|
|
EAetheryteLocation.Uldah,
|
|
new Vector3(-144.51825f, -1.3580933f, -169.6651f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UldahAdventurers,
|
|
new Vector3(64.22522f, 4.5318604f, -115.31244f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UldahThaumaturge,
|
|
new Vector3(-154.83331f, 14.633362f, 73.07532f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UldahGladiator,
|
|
new Vector3(-53.849182f, 10.696533f, 12.222412f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UldahMiner,
|
|
new Vector3(33.49353f, 13.229492f, 113.206665f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UldahAlchemist,
|
|
new Vector3(-98.25293f, 42.34375f, 88.45642f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UldahWeaver,
|
|
new Vector3(89.64673f, 12.924377f, 58.27417f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UldahGoldsmith,
|
|
new Vector3(-19.333252f, 14.602844f, 72.03784f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UldahSapphireAvenue,
|
|
new Vector3(131.9447f, 4.714966f, -29.800903f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UldahChamberOfRule,
|
|
new Vector3(6.6376343f, 30.655273f, -24.826477f)
|
|
},
|
|
{
|
|
EAetheryteLocation.WesternThanalanHorizon,
|
|
new Vector3(68.0094f, 48.203125f, -227.039f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CentralThanalanBlackBrushStation,
|
|
new Vector3(-16.159302f, 0.32037354f, -166.58276f)
|
|
},
|
|
{
|
|
EAetheryteLocation.EasternThanalanCampDrybone,
|
|
new Vector3(-386.3432f, -57.1756f, 142.59558f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SouthernThanalanLittleAlaMhigo,
|
|
new Vector3(-159.3805f, 30.105957f, -415.45746f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SouthernThanalanForgottenSprings,
|
|
new Vector3(-326.6194f, 10.696533f, 406.63757f)
|
|
},
|
|
{
|
|
EAetheryteLocation.NorthernThanalanCampBluefog,
|
|
new Vector3(20.98108f, 8.8349f, 454.0321f)
|
|
},
|
|
{
|
|
EAetheryteLocation.NorthernThanalanCeruleumProcessingPlant,
|
|
new Vector3(-26.596497f, 49.881714f, -30.838562f)
|
|
},
|
|
{
|
|
EAetheryteLocation.Limsa,
|
|
new Vector3(-84.031494f, 20.767456f, 0.015197754f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LimsaAftcastle,
|
|
new Vector3(16.067688f, 40.787354f, 68.80286f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LimsaCulinarian,
|
|
new Vector3(-56.50421f, 44.47998f, -131.45648f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LimsaArcanist,
|
|
new Vector3(-335.1645f, 12.619202f, 56.381958f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LimsaFisher,
|
|
new Vector3(-179.40033f, 4.8065186f, 182.97095f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LimsaMarauder,
|
|
new Vector3(-5.1728516f, 44.63257f, -218.06671f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LimsaHawkersAlley,
|
|
new Vector3(-213.61108f, 16.739136f, 51.80432f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LowerLaNosceaMorabyDrydocks,
|
|
new Vector3(156.11499f, 15.518433f, 673.21277f)
|
|
},
|
|
{
|
|
EAetheryteLocation.MiddleLaNosceaSummerfordFarms,
|
|
new Vector3(227.98499f, 115.526f, -257.0382f)
|
|
},
|
|
{
|
|
EAetheryteLocation.EasternLaNosceaCostaDelSol,
|
|
new Vector3(489.15845f, 20.828491f, 468.80298f)
|
|
},
|
|
{
|
|
EAetheryteLocation.EasternLaNosceaWineport,
|
|
new Vector3(-18.387146f, 72.67859f, 3.829956f)
|
|
},
|
|
{
|
|
EAetheryteLocation.WesternLaNosceaSwiftperch,
|
|
new Vector3(651.5449f, 11.734131f, 513.35913f)
|
|
},
|
|
{
|
|
EAetheryteLocation.WesternLaNosceaAleport,
|
|
new Vector3(260.94446f, -19.60791f, 218.52441f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UpperLaNosceaCampBronzeLake,
|
|
new Vector3(437.4303f, 5.508484f, 94.590576f)
|
|
},
|
|
{
|
|
EAetheryteLocation.OuterLaNosceaCampOverlook,
|
|
new Vector3(-117.54028f, 66.02576f, -212.66504f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CoerthasCentralHighlandsCampDragonhead,
|
|
new Vector3(223.98718f, 315.7854f, -234.85168f)
|
|
},
|
|
{
|
|
EAetheryteLocation.MorDhona,
|
|
new Vector3(40.024292f, 24.002441f, -668.0247f)
|
|
},
|
|
{
|
|
EAetheryteLocation.WolvesDenPier,
|
|
new Vector3(40.93994f, 5.4779663f, -14.816589f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GoldSaucer,
|
|
new Vector3(-0.015319824f, 3.4942627f, -0.015319824f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GoldSaucerEntranceCardSquares,
|
|
new Vector3(-64.74408f, 2.8839111f, 54.33728f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GoldSaucerWonderSquareEast,
|
|
new Vector3(59.067627f, 23.88031f, 63.035034f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GoldSaucerWonderSquareWest,
|
|
new Vector3(-0.38153076f, 23.88031f, 58.609863f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GoldSaucerEventSquare,
|
|
new Vector3(95.47571f, -2.1210327f, -72.3125f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GoldSaucerCactpotBoard,
|
|
new Vector3(114.42737f, 13.595764f, -38.864807f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GoldSaucerRoundSquare,
|
|
new Vector3(-24.765442f, 6.1798096f, -85.67944f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GoldSaucerChocoboSquare,
|
|
new Vector3(-16.037292f, 2.8839111f, -33.432617f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GoldSaucerMinionSquare,
|
|
new Vector3(50.736206f, 2.8839111f, 19.912964f)
|
|
},
|
|
{
|
|
EAetheryteLocation.Ishgard,
|
|
new Vector3(-63.98114f, 11.154297f, 43.9917f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IshgardForgottenKnight,
|
|
new Vector3(45.792236f, 24.551636f, 0.99176025f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IshgardSkysteelManufactory,
|
|
new Vector3(-111.436646f, 16.128723f, -27.054321f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IshgardBrume,
|
|
new Vector3(49.42395f, -11.154419f, 66.69714f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IshgardAthenaeumAstrologicum,
|
|
new Vector3(133.37903f, -8.86554f, -64.77466f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IshgardJeweledCrozier,
|
|
new Vector3(-134.6914f, -11.795227f, -15.396423f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IshgardSaintReymanaudsCathedral,
|
|
new Vector3(-77.958374f, 10.60498f, -126.54315f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IshgardTribunal,
|
|
new Vector3(78.01941f, 11.001709f, -126.51257f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IshgardLastVigil,
|
|
new Vector3(0.015197754f, 16.525452f, -32.51703f)
|
|
},
|
|
{
|
|
EAetheryteLocation.Idyllshire,
|
|
new Vector3(71.94617f, 211.26111f, -18.905945f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IdyllshireWest,
|
|
new Vector3(-75.48645f, 210.22351f, -21.347473f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RhalgrsReach,
|
|
new Vector3(78.23291f, 1.9683228f, 97.45935f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RhalgrsReachWest,
|
|
new Vector3(-84.275635f, 0.503479f, 9.323181f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RhalgrsReachNorthEast,
|
|
new Vector3(101.24353f, 3.463745f, -115.46509f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CoerthasWesternHighlandsFalconsNest,
|
|
new Vector3(474.87585f, 217.94458f, 708.5221f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SeaOfCloudsCampCloudtop,
|
|
new Vector3(-615.7473f, -118.36426f, 546.5934f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SeaOfCloudsOkZundu,
|
|
new Vector3(-613.1533f, -49.485046f, -415.03015f)
|
|
},
|
|
{
|
|
EAetheryteLocation.AzysLlaHelix,
|
|
new Vector3(-722.8046f, -182.29956f, -593.40814f)
|
|
},
|
|
{
|
|
EAetheryteLocation.DravanianForelandsTailfeather,
|
|
new Vector3(532.6771f, -48.722107f, 30.166992f)
|
|
},
|
|
{
|
|
EAetheryteLocation.DravanianForelandsAnyxTrine,
|
|
new Vector3(-304.12756f, -16.70868f, 32.059082f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ChurningMistsMoghome,
|
|
new Vector3(259.20496f, -37.70508f, 596.85657f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ChurningMistsZenith,
|
|
new Vector3(-584.9546f, 52.84192f, 313.43542f)
|
|
},
|
|
{
|
|
EAetheryteLocation.Kugane,
|
|
new Vector3(47.501343f, 8.438171f, -37.30841f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KuganeShiokazeHostelry,
|
|
new Vector3(-73.16705f, -6.088379f, -77.77527f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KuganePier1,
|
|
new Vector3(-113.57294f, -3.8911133f, 155.41309f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KuganeThavnairianConsulate,
|
|
new Vector3(27.17627f, 9.048584f, 141.58838f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KuganeMarkets,
|
|
new Vector3(26.687988f, 4.92865f, 73.3501f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KuganeBokairoInn,
|
|
new Vector3(-76.00525f, 19.058472f, -161.18109f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KuganeRubyBazaar,
|
|
new Vector3(132.40247f, 12.954895f, 83.02429f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KuganeSekiseigumiBarracks,
|
|
new Vector3(119.09656f, 13.01593f, -92.881714f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KuganeRakuzaDistrict,
|
|
new Vector3(24.64331f, 7.003784f, -152.97174f)
|
|
},
|
|
{
|
|
EAetheryteLocation.FringesCastrumOriens,
|
|
new Vector3(-629.11426f, 132.89075f, -509.14783f)
|
|
},
|
|
{
|
|
EAetheryteLocation.FringesPeeringStones,
|
|
new Vector3(415.3047f, 117.357056f, 246.75354f)
|
|
},
|
|
{
|
|
EAetheryteLocation.PeaksAlaGannha,
|
|
new Vector3(114.579956f, 120.10376f, -747.06647f)
|
|
},
|
|
{
|
|
EAetheryteLocation.PeaksAlaGhiri,
|
|
new Vector3(-271.3817f, 259.87634f, 748.86694f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LochsPortaPraetoria,
|
|
new Vector3(-652.0333f, 53.391357f, -16.006714f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LochsAlaMhiganQuarter,
|
|
new Vector3(612.4512f, 84.45862f, 656.82446f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RubySeaTamamizu,
|
|
new Vector3(358.72437f, -118.05908f, -263.4165f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RubySeaOnokoro,
|
|
new Vector3(88.181885f, 4.135132f, -583.3677f)
|
|
},
|
|
{
|
|
EAetheryteLocation.YanxiaNamai,
|
|
new Vector3(432.66956f, 73.07532f, -90.74542f)
|
|
},
|
|
{
|
|
EAetheryteLocation.YanxiaHouseOfTheFierce,
|
|
new Vector3(246.02112f, 9.079041f, -401.3581f)
|
|
},
|
|
{
|
|
EAetheryteLocation.AzimSteppeReunion,
|
|
new Vector3(556.1454f, -16.800232f, 340.10828f)
|
|
},
|
|
{
|
|
EAetheryteLocation.AzimSteppeDawnThrone,
|
|
new Vector3(78.26355f, 119.37134f, 36.301147f)
|
|
},
|
|
{
|
|
EAetheryteLocation.AzimSteppeDhoroIloh,
|
|
new Vector3(-754.63495f, 131.2428f, 116.5636f)
|
|
},
|
|
{
|
|
EAetheryteLocation.DomanEnclave,
|
|
new Vector3(42.648926f, 1.4190674f, -14.8776245f)
|
|
},
|
|
{
|
|
EAetheryteLocation.DomanEnclaveNorthern,
|
|
new Vector3(8.987488f, 0.8086548f, -105.85187f)
|
|
},
|
|
{
|
|
EAetheryteLocation.DomanEnclaveSouthern,
|
|
new Vector3(-61.57019f, 0.77819824f, 90.684326f)
|
|
},
|
|
{
|
|
EAetheryteLocation.DomanEnclaveDocks,
|
|
new Vector3(96.269165f, -3.4332886f, 81.01013f)
|
|
},
|
|
{
|
|
EAetheryteLocation.Crystarium,
|
|
new Vector3(-65.0188f, 4.5318604f, 0.015197754f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CrystariumMarkets,
|
|
new Vector3(-6.149414f, -7.736328f, 148.72961f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CrystariumTemenosRookery,
|
|
new Vector3(-107.37775f, -0.015319824f, -58.762512f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CrystariumDossalGate,
|
|
new Vector3(64.86609f, -0.015319824f, -18.173523f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CrystariumPendants,
|
|
new Vector3(35.477173f, -0.015319824f, 222.58337f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CrystariumAmaroLaunch,
|
|
new Vector3(66.60559f, 35.99597f, -131.09033f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CrystariumCrystallineMean,
|
|
new Vector3(-52.506348f, 19.97406f, -173.35773f)
|
|
},
|
|
{
|
|
EAetheryteLocation.CrystariumCabinetOfCuriosity,
|
|
new Vector3(-54.398438f, -37.70508f, -241.07733f)
|
|
},
|
|
{
|
|
EAetheryteLocation.Eulmore,
|
|
new Vector3(0.015197754f, 81.986694f, 0.93078613f)
|
|
},
|
|
{
|
|
EAetheryteLocation.EulmoreMainstay,
|
|
new Vector3(10.940674f, 36.087524f, -4.196289f)
|
|
},
|
|
{
|
|
EAetheryteLocation.EulmoreNightsoilPots,
|
|
new Vector3(-54.093323f, -0.83929443f, 52.140015f)
|
|
},
|
|
{
|
|
EAetheryteLocation.EulmoreGloryGate,
|
|
new Vector3(6.9122925f, 6.240906f, -56.351562f)
|
|
},
|
|
{
|
|
EAetheryteLocation.EulmoreSoutheastDerelict,
|
|
new Vector3(71.82422f, -10.391418f, 65.32385f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LakelandFortJobb,
|
|
new Vector3(753.7803f, 24.338135f, -28.82434f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LakelandOstallImperative,
|
|
new Vector3(-735.01184f, 53.391357f, -230.02979f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KholusiaStilltide,
|
|
new Vector3(668.32983f, 29.465088f, 289.17358f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KholusiaWright,
|
|
new Vector3(-244.00702f, 20.736938f, 385.45813f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KholusiaTomra,
|
|
new Vector3(-426.38287f, 419.27222f, -623.5294f)
|
|
},
|
|
{
|
|
EAetheryteLocation.AmhAraengMordSouq,
|
|
new Vector3(246.38745f, 12.985352f, -220.29456f)
|
|
},
|
|
{
|
|
EAetheryteLocation.AmhAraengInnAtJourneysHead,
|
|
new Vector3(399.0996f, -24.521301f, 307.97278f)
|
|
},
|
|
{
|
|
EAetheryteLocation.AmhAraengTwine,
|
|
new Vector3(-511.3451f, 47.989624f, -212.604f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RaktikaSlitherbough,
|
|
new Vector3(-103.4104f, -19.333252f, 297.23047f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RaktikaFanow,
|
|
new Vector3(382.77246f, 21.042175f, -194.11005f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IlMhegLydhaLran,
|
|
new Vector3(-344.71655f, 48.722046f, 512.2606f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IlMhegPlaEnni,
|
|
new Vector3(-72.55664f, 103.95972f, -857.35864f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IlMhegWolekdorf,
|
|
new Vector3(380.51416f, 87.20532f, -687.2511f)
|
|
},
|
|
{
|
|
EAetheryteLocation.TempestOndoCups,
|
|
new Vector3(561.76074f, 352.62073f, -199.17603f)
|
|
},
|
|
{
|
|
EAetheryteLocation.TempestMacarensesAngle,
|
|
new Vector3(-141.74109f, -280.5371f, 218.00562f)
|
|
},
|
|
{
|
|
EAetheryteLocation.OldSharlayan,
|
|
new Vector3(0.07623291f, 4.8065186f, -0.10687256f)
|
|
},
|
|
{
|
|
EAetheryteLocation.OldSharlayanStudium,
|
|
new Vector3(-291.1574f, 20.004517f, -74.143616f)
|
|
},
|
|
{
|
|
EAetheryteLocation.OldSharlayanBaldesionAnnex,
|
|
new Vector3(-92.21033f, 2.304016f, 29.709229f)
|
|
},
|
|
{
|
|
EAetheryteLocation.OldSharlayanRostra,
|
|
new Vector3(-36.94214f, 41.367188f, -156.6034f)
|
|
},
|
|
{
|
|
EAetheryteLocation.OldSharlayanLeveilleurEstate,
|
|
new Vector3(204.79126f, 21.774597f, -118.73047f)
|
|
},
|
|
{
|
|
EAetheryteLocation.OldSharlayanJourneysEnd,
|
|
new Vector3(206.22559f, 1.8463135f, 13.77887f)
|
|
},
|
|
{
|
|
EAetheryteLocation.OldSharlayanScholarsHarbor,
|
|
new Vector3(16.494995f, -16.250854f, 127.73328f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RadzAtHan,
|
|
new Vector3(25.986084f, 3.250122f, -27.023743f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RadzAtHanMeghaduta,
|
|
new Vector3(-365.95715f, 44.99878f, -31.815125f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RadzAtHanRuveydahFibers,
|
|
new Vector3(-156.14563f, 35.99597f, 27.725586f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RadzAtHanAirship,
|
|
new Vector3(-144.33508f, 27.969727f, 202.2583f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RadzAtHanAlzadaalsPeace,
|
|
new Vector3(6.6071167f, -2.02948f, 110.55151f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RadzAtHanHallOfTheRadiantHost,
|
|
new Vector3(-141.37488f, 3.982544f, -98.435974f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RadzAtHanMehrydesMeyhane,
|
|
new Vector3(-42.61847f, -0.015319824f, -197.61963f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RadzAtHanKama,
|
|
new Vector3(129.59485f, 26.993164f, 13.473633f)
|
|
},
|
|
{
|
|
EAetheryteLocation.RadzAtHanHighCrucible,
|
|
new Vector3(57.90796f, -24.704407f, -210.6203f)
|
|
},
|
|
{
|
|
EAetheryteLocation.FirmamentMendicantsCourt,
|
|
new Vector3(23.941406f, -16.006714f, 169.35986f)
|
|
},
|
|
{
|
|
EAetheryteLocation.FirmamentMattock,
|
|
new Vector3(76.035645f, -18.509216f, 10.299805f)
|
|
},
|
|
{
|
|
EAetheryteLocation.FirmamentNewNest,
|
|
new Vector3(149.49255f, -50.003845f, 98.55798f)
|
|
},
|
|
{
|
|
EAetheryteLocation.FirmanentSaintRoellesDais,
|
|
new Vector3(207.75159f, -40.024475f, -25.589417f)
|
|
},
|
|
{
|
|
EAetheryteLocation.FirmamentFeatherfall,
|
|
new Vector3(-78.78235f, -0.015319824f, 75.97461f)
|
|
},
|
|
{
|
|
EAetheryteLocation.FirmamentHoarfrostHall,
|
|
new Vector3(-132.55518f, 9.964111f, -14.66394f)
|
|
},
|
|
{
|
|
EAetheryteLocation.FirmamentWesternRisensongQuarter,
|
|
new Vector3(-91.722046f, -0.015319824f, -115.19043f)
|
|
},
|
|
{
|
|
EAetheryteLocation.FIrmamentEasternRisensongQuarter,
|
|
new Vector3(114.3053f, -20.004639f, -107.43884f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LabyrinthosArcheion,
|
|
new Vector3(443.5338f, 170.6416f, -476.18835f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LabyrinthosSharlayanHamlet,
|
|
new Vector3(8.377136f, -27.542603f, -46.67737f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LabyrinthosAporia,
|
|
new Vector3(-729.18286f, -27.634155f, 302.1438f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ThavnairYedlihmad,
|
|
new Vector3(193.49963f, 6.9733276f, 629.2362f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ThavnairGreatWork,
|
|
new Vector3(-527.48914f, 4.776001f, 36.75891f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ThavnairPalakasStand,
|
|
new Vector3(405.1422f, 5.2643433f, -244.4953f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GarlemaldCampBrokenGlass,
|
|
new Vector3(-408.10254f, 24.15503f, 479.9724f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GarlemaldTertium,
|
|
new Vector3(518.9136f, -35.324707f, -178.36273f)
|
|
},
|
|
{
|
|
EAetheryteLocation.MareLamentorumSinusLacrimarum,
|
|
new Vector3(-566.2471f, 134.66089f, 650.6294f)
|
|
},
|
|
{
|
|
EAetheryteLocation.MareLamentorumBestwaysBurrow,
|
|
new Vector3(-0.015319824f, -128.83197f, -512.0165f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ElpisAnagnorisis,
|
|
new Vector3(159.96033f, 11.703674f, 126.878784f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ElpisTwelveWonders,
|
|
new Vector3(-633.7225f, -19.821533f, 542.56494f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ElpisPoietenOikos,
|
|
new Vector3(-529.9001f, 161.24207f, -222.2782f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UltimaThuleReahTahra,
|
|
new Vector3(-544.152f, 74.32666f, 269.6421f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UltimaThuleAbodeOfTheEa,
|
|
new Vector3(64.286255f, 272.48022f, -657.49603f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UltimaThuleBaseOmicron,
|
|
new Vector3(489.2804f, 437.5829f, 333.63843f)
|
|
},
|
|
{
|
|
EAetheryteLocation.Tuliyollal,
|
|
new Vector3(-24.093994f, 0.77819824f, 7.583679f)
|
|
},
|
|
{
|
|
EAetheryteLocation.TuliyollalDirigibleLanding,
|
|
new Vector3(-413.68738f, 2.9754639f, -45.975464f)
|
|
},
|
|
{
|
|
EAetheryteLocation.TuliyollalTheResplendentQuarter,
|
|
new Vector3(-187.1214f, 39.93274f, 6.088318f)
|
|
},
|
|
{
|
|
EAetheryteLocation.TuliyollalTheForardCabins,
|
|
new Vector3(-149.73682f, -15.030151f, 198.90125f)
|
|
},
|
|
{
|
|
EAetheryteLocation.TuliyollalBaysideBevyMarketplace,
|
|
new Vector3(-14.999634f, -10.025269f, 135.57642f)
|
|
},
|
|
{
|
|
EAetheryteLocation.TuliyollalVollokShoonsa,
|
|
new Vector3(-99.13794f, 100.72473f, -222.03406f)
|
|
},
|
|
{
|
|
EAetheryteLocation.TuliyollalWachumeqimeqi,
|
|
new Vector3(166.27747f, -17.990417f, 38.742676f)
|
|
},
|
|
{
|
|
EAetheryteLocation.TuliyollalBrightploomPost,
|
|
new Vector3(71.7937f, 47.074097f, -333.21124f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SolutionNine,
|
|
new Vector3(-0.015319824f, 8.987488f, -0.015319824f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SolutionNineInformationCenter,
|
|
new Vector3(-30.441833f, -6.0579224f, 209.3385f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SolutionNineTrueVue,
|
|
new Vector3(382.6809f, 59.983154f, 76.67651f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SolutionNineNeonStein,
|
|
new Vector3(258.28943f, 50.736206f, 148.72961f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SolutionNineTheArcadion,
|
|
new Vector3(374.77686f, 60.01367f, 325.67322f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SolutionNineResolution,
|
|
new Vector3(-32.059265f, 38.04065f, -345.2354f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SolutionNineNexusArcade,
|
|
new Vector3(-160.05188f, -0.015319824f, 21.591492f)
|
|
},
|
|
{
|
|
EAetheryteLocation.SolutionNineResidentialSector,
|
|
new Vector3(-378.13385f, 13.992493f, 136.49194f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UrqopachaWachunpelo,
|
|
new Vector3(332.96704f, -160.11298f, -416.22034f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UrqopachaWorlarsEcho,
|
|
new Vector3(465.62903f, 114.94617f, 634.9126f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KozamaukaOkHanu,
|
|
new Vector3(-169.51251f, 6.576599f, -479.42322f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KozamaukaManyFires,
|
|
new Vector3(541.16125f, 117.41809f, 203.60107f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KozamaukaEarthenshire,
|
|
new Vector3(-477.53113f, 124.04053f, 311.32983f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KozamaukaDockPoga,
|
|
new Vector3(787.59436f, 14.175598f, -236.22491f)
|
|
},
|
|
{
|
|
EAetheryteLocation.YakTelIqBraax,
|
|
new Vector3(-397.05505f, 23.5141f, -431.93713f)
|
|
},
|
|
{
|
|
EAetheryteLocation.YakTelMamook,
|
|
new Vector3(721.40076f, -132.31104f, 526.1769f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ShaaloaniHhusatahwi,
|
|
new Vector3(386.40417f, -0.19836426f, 467.61267f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ShaaloaniShesheneweziSprings,
|
|
new Vector3(-291.70673f, 19.08899f, -114.54956f)
|
|
},
|
|
{
|
|
EAetheryteLocation.ShaaloaniMehwahhetsoan,
|
|
new Vector3(311.36023f, -14.175659f, -567.74243f)
|
|
},
|
|
{
|
|
EAetheryteLocation.HeritageFoundYyasulaniStation,
|
|
new Vector3(514.6105f, 145.86096f, 207.56836f)
|
|
},
|
|
{
|
|
EAetheryteLocation.HeritageFoundTheOutskirts,
|
|
new Vector3(-223.0412f, 31.937134f, -584.03906f)
|
|
},
|
|
{
|
|
EAetheryteLocation.HeritageFoundElectropeStrike,
|
|
new Vector3(-219.53156f, 32.913696f, 120.77515f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LivingMemoryLeynodeMnemo,
|
|
new Vector3(-0.22894287f, 57.175537f, 796.9634f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LivingMemoryLeynodePyro,
|
|
new Vector3(657.98413f, 28.976807f, -284.01617f)
|
|
},
|
|
{
|
|
EAetheryteLocation.LivingMemoryLeynodeAero,
|
|
new Vector3(-255.26825f, 59.433838f, -397.6654f)
|
|
}
|
|
}.AsReadOnly();
|
|
|
|
private ReadOnlyDictionary<EAetheryteLocation, Vector3> AirshipLandingLocations { get; } = new Dictionary<EAetheryteLocation, Vector3>
|
|
{
|
|
{
|
|
EAetheryteLocation.LimsaAirship,
|
|
new Vector3(-19.44352f, 91.99999f, -9.892939f)
|
|
},
|
|
{
|
|
EAetheryteLocation.GridaniaAirship,
|
|
new Vector3(24.86354f, -19.000002f, 96f)
|
|
},
|
|
{
|
|
EAetheryteLocation.UldahAirship,
|
|
new Vector3(-16.954851f, 82.999985f, -9.421141f)
|
|
},
|
|
{
|
|
EAetheryteLocation.KuganeAirship,
|
|
new Vector3(-55.72525f, 79.10602f, 46.23109f)
|
|
},
|
|
{
|
|
EAetheryteLocation.IshgardFirmament,
|
|
new Vector3(9.92315f, -15.2f, 173.5059f)
|
|
}
|
|
}.AsReadOnly();
|
|
|
|
public ReadOnlyDictionary<EAetheryteLocation, ushort> TerritoryIds { get; }
|
|
|
|
public ReadOnlyDictionary<EAetheryteLocation, ushort> AethernetGroups { get; }
|
|
|
|
private IReadOnlyList<ushort> TownTerritoryIds { get; set; }
|
|
|
|
public AetheryteData(IDataManager dataManager)
|
|
{
|
|
Dictionary<EAetheryteLocation, ushort> territoryIds = new Dictionary<EAetheryteLocation, ushort>();
|
|
Dictionary<EAetheryteLocation, ushort> aethernetGroups = new Dictionary<EAetheryteLocation, ushort>();
|
|
foreach (Aetheryte item in from x in dataManager.GetExcelSheet<Aetheryte>()
|
|
where x.RowId != 0
|
|
select x)
|
|
{
|
|
if (item.Territory.RowId != 0)
|
|
{
|
|
territoryIds[(EAetheryteLocation)item.RowId] = (ushort)item.Territory.RowId;
|
|
}
|
|
if (item.AethernetGroup > 0)
|
|
{
|
|
aethernetGroups[(EAetheryteLocation)item.RowId] = item.AethernetGroup;
|
|
}
|
|
}
|
|
ConfigureAetheryte(EAetheryteLocation.IshgardFirmament, 886, aethernetGroups[EAetheryteLocation.Ishgard]);
|
|
ConfigureAetheryteWithAutoGroup(EAetheryteLocation.FirmamentMendicantsCourt, 886);
|
|
ConfigureAetheryteWithAutoGroup(EAetheryteLocation.FirmamentMattock, 886);
|
|
ConfigureAetheryteWithAutoGroup(EAetheryteLocation.FirmamentNewNest, 886);
|
|
ConfigureAetheryteWithAutoGroup(EAetheryteLocation.FirmanentSaintRoellesDais, 886);
|
|
ConfigureAetheryteWithAutoGroup(EAetheryteLocation.FirmamentFeatherfall, 886);
|
|
ConfigureAetheryteWithAutoGroup(EAetheryteLocation.FirmamentHoarfrostHall, 886);
|
|
ConfigureAetheryteWithAutoGroup(EAetheryteLocation.FirmamentWesternRisensongQuarter, 886);
|
|
ConfigureAetheryteWithAutoGroup(EAetheryteLocation.FIrmamentEasternRisensongQuarter, 886);
|
|
TerritoryIds = territoryIds.AsReadOnly();
|
|
AethernetGroups = aethernetGroups.AsReadOnly();
|
|
TownTerritoryIds = (from x in dataManager.GetExcelSheet<TerritoryType>()
|
|
where x.RowId != 0 && !string.IsNullOrEmpty(x.Name.ToString()) && x.TerritoryIntendedUse.RowId == 0
|
|
select (ushort)x.RowId).ToList();
|
|
void ConfigureAetheryte(EAetheryteLocation aetheryteLocation, ushort territoryId, ushort aethernetGroup)
|
|
{
|
|
territoryIds[aetheryteLocation] = territoryId;
|
|
aethernetGroups[aetheryteLocation] = aethernetGroup;
|
|
}
|
|
void ConfigureAetheryteWithAutoGroup(EAetheryteLocation aetheryteLocation, ushort territoryId)
|
|
{
|
|
ConfigureAetheryte(aetheryteLocation, territoryId, (ushort)((int)aetheryteLocation / 100));
|
|
}
|
|
}
|
|
|
|
public float CalculateDistance(Vector3 fromPosition, ushort fromTerritoryType, EAetheryteLocation to)
|
|
{
|
|
if (!TerritoryIds.TryGetValue(to, out var value) || fromTerritoryType != value)
|
|
{
|
|
return float.MaxValue;
|
|
}
|
|
if (!Locations.TryGetValue(to, out var value2))
|
|
{
|
|
return float.MaxValue;
|
|
}
|
|
return (fromPosition - value2).Length();
|
|
}
|
|
|
|
public float CalculateAirshipLandingDistance(Vector3 fromPosition, ushort fromTerritoryType, EAetheryteLocation to)
|
|
{
|
|
if (!TerritoryIds.TryGetValue(to, out var value) || fromTerritoryType != value)
|
|
{
|
|
return float.MaxValue;
|
|
}
|
|
if (!AirshipLandingLocations.TryGetValue(to, out var value2))
|
|
{
|
|
return float.MaxValue;
|
|
}
|
|
return (fromPosition - value2).Length();
|
|
}
|
|
|
|
public bool IsCityAetheryte(EAetheryteLocation aetheryte)
|
|
{
|
|
if (aetheryte == EAetheryteLocation.IshgardFirmament)
|
|
{
|
|
return true;
|
|
}
|
|
ushort value = TerritoryIds[aetheryte];
|
|
return TownTerritoryIds.Contains(value);
|
|
}
|
|
|
|
public bool IsAirshipLanding(EAetheryteLocation aetheryte)
|
|
{
|
|
return AirshipLandingLocations.ContainsKey(aetheryte);
|
|
}
|
|
|
|
public bool IsGoldSaucerAetheryte(EAetheryteLocation aetheryte)
|
|
{
|
|
ushort num = TerritoryIds[aetheryte];
|
|
if (num == 144 || num == 388)
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}
|