qstbak/Questionable/Questionable.Data/AlliedSocietyData.cs
2025-10-09 07:53:51 +10:00

224 lines
4.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Questionable.Model;
using Questionable.Model.Common;
using Questionable.Model.Questing;
namespace Questionable.Data;
internal sealed class AlliedSocietyData
{
public ReadOnlyDictionary<ushort, AlliedSocietyMountConfiguration> Mounts { get; } = new Dictionary<ushort, AlliedSocietyMountConfiguration>
{
{
66,
new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(1016093u), EAetheryteLocation.SeaOfCloudsOkZundu)
},
{
79,
new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(1017031u), EAetheryteLocation.DravanianForelandsAnyxTrine)
},
{
88,
new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlyArray<uint>(new uint[2] { 1017470u, 1017432u }), EAetheryteLocation.ChurningMistsZenith)
},
{
89,
new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(1017322u), EAetheryteLocation.ChurningMistsZenith)
},
{
147,
new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlyArray<uint>(new uint[2] { 1024777u, 1024912u }), EAetheryteLocation.FringesPeeringStones)
},
{
369,
new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(1051798u), EAetheryteLocation.KozamaukaDockPoga)
},
{
391,
new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(1052562u), EAetheryteLocation.YakTelMamook)
},
{
24,
new AlliedSocietyMountConfiguration(new global::_003C_003Ez__ReadOnlySingleElementList<uint>(1052562u), EAetheryteLocation.EastShroudHawthorneHut)
}
}.AsReadOnly();
public EAlliedSociety GetCommonAlliedSocietyTurnIn(ElementId elementId)
{
if (elementId is QuestId { Value: var value })
{
switch (value)
{
case 2171:
case 2172:
case 2173:
case 2174:
case 2175:
case 2176:
case 2177:
case 2178:
case 2179:
case 2180:
case 2181:
case 2182:
case 2183:
case 2184:
case 2185:
case 2186:
case 2187:
case 2188:
case 2189:
case 2190:
case 2191:
case 2192:
case 2193:
case 2194:
case 2195:
case 2196:
case 2197:
case 2198:
case 2199:
case 2200:
return EAlliedSociety.VanuVanu;
case 2261:
case 2262:
case 2263:
case 2264:
case 2265:
case 2266:
case 2267:
case 2268:
case 2269:
case 2270:
case 2271:
case 2272:
case 2273:
case 2274:
case 2275:
case 2276:
case 2277:
case 2278:
case 2279:
case 2280:
return EAlliedSociety.Vath;
case 2290:
case 2291:
case 2292:
case 2293:
case 2294:
case 2295:
case 2296:
case 2297:
case 2298:
case 2299:
case 2300:
case 2301:
case 2302:
case 2303:
case 2304:
case 2305:
case 2306:
case 2307:
case 2308:
case 2309:
case 2310:
case 2311:
case 2312:
case 2313:
case 2314:
case 2315:
case 2316:
case 2317:
case 2318:
case 2319:
return EAlliedSociety.Moogles;
case 5199:
case 5200:
case 5201:
case 5202:
case 5203:
case 5204:
case 5205:
case 5206:
case 5207:
case 5208:
case 5209:
case 5210:
case 5211:
case 5212:
case 5213:
case 5214:
case 5215:
case 5216:
case 5217:
case 5218:
case 5219:
case 5220:
case 5221:
case 5222:
case 5223:
case 5224:
case 5225:
case 5226:
return EAlliedSociety.Pelupelu;
case 5261:
case 5262:
case 5263:
case 5264:
case 5265:
case 5266:
case 5267:
case 5268:
case 5269:
case 5270:
case 5271:
case 5272:
case 5273:
case 5274:
case 5275:
case 5276:
case 5277:
case 5278:
case 5279:
case 5280:
case 5281:
case 5282:
case 5283:
case 5284:
case 5285:
case 5286:
case 5287:
case 5288:
return EAlliedSociety.MamoolJa;
default:
return EAlliedSociety.None;
}
}
return EAlliedSociety.None;
}
public void GetCommonAlliedSocietyNpcs(EAlliedSociety alliedSociety, out uint[] normalNpcs, out uint[] mountNpcs)
{
switch (alliedSociety)
{
case EAlliedSociety.VanuVanu:
normalNpcs = new uint[3] { 1016088u, 1016091u, 1016092u };
mountNpcs = new uint[1] { 1016093u };
break;
case EAlliedSociety.Vath:
normalNpcs = Array.Empty<uint>();
mountNpcs = new uint[1] { 1017031u };
break;
case EAlliedSociety.Moogles:
normalNpcs = Array.Empty<uint>();
mountNpcs = new uint[3] { 1017322u, 1017470u, 1017471u };
break;
default:
normalNpcs = Array.Empty<uint>();
mountNpcs = Array.Empty<uint>();
break;
}
}
}