RoleplayersToolbox/RoleplayersToolbox/Tools/Housing/HousingArea.cs

44 lines
1.5 KiB
C#
Raw Normal View History

2021-05-30 20:22:26 +00:00
using System;
using Dalamud.Data;
using Lumina.Excel.GeneratedSheets;
namespace RoleplayersToolbox.Tools.Housing {
internal enum HousingArea {
Mist = 339,
LavenderBeds = 340,
Goblet = 341,
Shirogane = 641,
}
internal static class HousingAreaExtensions {
public static string Name(this HousingArea area) => area switch {
HousingArea.Mist => "Mist",
HousingArea.LavenderBeds => "Lavender Beds",
HousingArea.Goblet => "Goblet",
HousingArea.Shirogane => "Shirogane",
_ => throw new ArgumentOutOfRangeException(nameof(area), area, null),
};
public static ushort CityStateTerritoryType(this HousingArea area) => area switch {
HousingArea.Mist => 129,
HousingArea.LavenderBeds => 132,
HousingArea.Goblet => 130,
HousingArea.Shirogane => 628,
_ => throw new ArgumentOutOfRangeException(nameof(area), area, null),
};
public static TerritoryType CityState(this HousingArea area, DataManager data) {
2021-08-24 05:17:42 +00:00
return data.GetExcelSheet<TerritoryType>()!.GetRow(area.CityStateTerritoryType())!;
2021-05-30 20:22:26 +00:00
}
public static bool CanWorldTravel(this HousingArea area) {
return area switch {
HousingArea.Mist => true,
HousingArea.LavenderBeds => true,
HousingArea.Goblet => true,
_ => false,
};
}
2021-05-30 20:22:26 +00:00
}
}