HUDManager/HUD Manager/Structs/ElementKind.cs

192 lines
7.4 KiB
C#
Executable File

using Dalamud.Data;
using HUD_Manager.Lumina;
using Lumina.Excel.GeneratedSheets;
namespace HUD_Manager.Structs {
public enum ElementKind : uint {
FocusTargetBar = 3264409695,
StatusInfoEnfeeblements = 511728259,
StatusInfoEnhancements = 524431540,
StatusInfoOther = 482796762,
TargetInfoHp = 3172107127,
TargetInfoProgressBar = 3411321583,
TargetInfoStatus = 124737899,
PartyList = 1027756089,
EnemyList = 3099420293,
ScenarioGuide = 2297324375,
ExperienceBar = 568671438,
PetHotbar = 3637610751,
Hotbar10 = 4117249958,
Hotbar9 = 4104803729,
Hotbar8 = 4294316716,
Hotbar7 = 4264851611,
Hotbar6 = 4235380418,
Hotbar5 = 4256214261,
Hotbar4 = 4177508976,
Hotbar3 = 4181577799,
Hotbar2 = 4219170334,
Hotbar1 = 3297588741,
CrossHotbar = 3129075921,
ProgressBar = 3971127313,
Minimap = 1901658651,
BloodGauge = 4031678328, // DRK
DarksideGauge = 4052544847, // DRK
OathGauge = 4022009408, // PLD
BeastGauge = 2136801802, // WAR
PowderGauge = 2931998943, // GNB
ArcanaGauge = 2509863090, // AST
AetherflowGaugeSch = 3403503819, // SCH
FaerieGauge = 2712183943, // SCH
HealingGauge = 2050434994, // WHM
DragonGauge = 3130538176, // DRG
ChakraGauge = 1939064324, // MNK
HutonGauge = 1895405704, // NIN
NinkiGauge = 1899754175, // NIN
SenGauge = 3983830498, // SAM
KenkiGauge = 3971352533, // SAM
SongGauge = 2121561139, // BRD
HeatGauge = 2557790060, // MCH
StepGauge = 2431309076, // DNC
FourfoldFeathers = 2435366691, // DNC
ElementalGauge = 3702264410, // BLM
BalanceGauge = 4010433280, // RDM
TranceGauge = 976301837, // SMN
AetherflowGaugeSmn = 1005798714, // SMN
ItemHelp = 1120659295,
ActionHelp = 1180822218,
Gil = 1125522082,
InventoryGrid = 471196175,
MainMenu = 2331597424,
Notices = 3743511396,
ParameterBar = 2552153246,
LimitGauge = 3349103882,
DutyList = 2727411922,
ServerInfo = 3450378102,
AllianceList1 = 692286106,
AllianceList2 = 721800387,
NewGamePlusGuide = 3660166250,
TargetBar = 2436811133,
StatusEffects = 1247188502,
DutyGauge = 2168013717,
DutyAction = 1421395594,
CompressedAether = 3300326260,
RivalWingsMercenaryInfo = 2045148168,
RivalWingsTeamInfo = 1180574470,
RivalWingsStationInfo = 2702651974,
RivalWingsAllianceList = 3869061330,
RivalWingsGauges = 273150177,
TheFeastEnemyInfo = 912936203,
TheFeastAllyInfo = 933766972,
TheFeastScore = 3622852831,
BattleHighGauge = 884971695,
}
public static class ElementKindExt {
public static string LocalisedName(this ElementKind kind, DataManager data) {
uint? id = kind switch {
ElementKind.Hotbar1 => 0,
ElementKind.Hotbar2 => 1,
ElementKind.Hotbar3 => 2,
ElementKind.Hotbar4 => 3,
ElementKind.Hotbar5 => 4,
ElementKind.Hotbar6 => 5,
ElementKind.Hotbar7 => 6,
ElementKind.Hotbar8 => 7,
ElementKind.Hotbar9 => 8,
ElementKind.Hotbar10 => 9,
ElementKind.PetHotbar => 10,
ElementKind.CrossHotbar => 11,
ElementKind.ProgressBar => 12,
ElementKind.TargetBar => 13,
ElementKind.FocusTargetBar => 14,
ElementKind.PartyList => 15,
ElementKind.EnemyList => 16,
ElementKind.ParameterBar => 17,
ElementKind.Notices => 18,
ElementKind.Minimap => 19,
ElementKind.MainMenu => 20,
ElementKind.ServerInfo => 21,
ElementKind.Gil => 22,
ElementKind.InventoryGrid => 23,
ElementKind.DutyList => 24,
ElementKind.ItemHelp => 25,
ElementKind.ActionHelp => 26,
ElementKind.LimitGauge => 27,
ElementKind.ExperienceBar => 28,
ElementKind.StatusEffects => 29,
ElementKind.AllianceList1 => 30,
ElementKind.AllianceList2 => 31,
// ElementKind.DutyList => 32, // listed twice?
// 33 is "Timers"
// 34-39 empty
ElementKind.OathGauge => 40,
// 41 is "LightningGauge" - guessing that's for GL
ElementKind.BeastGauge => 42,
ElementKind.DragonGauge => 43,
ElementKind.SongGauge => 44,
ElementKind.HealingGauge => 45,
ElementKind.ElementalGauge => 46,
ElementKind.AetherflowGaugeSch => 47, // order?
ElementKind.AetherflowGaugeSmn => 48, // order?
ElementKind.TranceGauge => 49,
ElementKind.FaerieGauge => 50,
ElementKind.NinkiGauge => 51,
ElementKind.HeatGauge => 52,
// 53 is empty
ElementKind.BloodGauge => 54,
ElementKind.ArcanaGauge => 55,
ElementKind.KenkiGauge => 56,
ElementKind.SenGauge => 57,
ElementKind.BalanceGauge => 58,
ElementKind.DutyGauge => 59,
ElementKind.DutyAction => 60,
ElementKind.ChakraGauge => 61,
ElementKind.HutonGauge => 62,
ElementKind.ScenarioGuide => 63,
ElementKind.RivalWingsGauges => 64,
ElementKind.RivalWingsAllianceList => 65,
ElementKind.RivalWingsTeamInfo => 66,
ElementKind.StatusInfoEnhancements => 67,
ElementKind.StatusInfoEnfeeblements => 68,
ElementKind.StatusInfoOther => 69,
ElementKind.TargetInfoStatus => 70,
ElementKind.TargetInfoProgressBar => 71,
ElementKind.TargetInfoHp => 72,
ElementKind.TheFeastScore => 73,
ElementKind.TheFeastAllyInfo => 74,
ElementKind.TheFeastEnemyInfo => 75,
ElementKind.RivalWingsStationInfo => 76,
ElementKind.RivalWingsMercenaryInfo => 77,
ElementKind.DarksideGauge => 78,
ElementKind.PowderGauge => 79,
ElementKind.StepGauge => 80,
ElementKind.FourfoldFeathers => 81,
ElementKind.BattleHighGauge => 82,
ElementKind.NewGamePlusGuide => 83,
ElementKind.CompressedAether => 84,
// 84 is "Ocean Fishing: Voyage Missions"
_ => null,
};
if (id == null) {
return kind.ToString();
}
var name = data.GetExcelSheet<HudSheet>().GetRow(id.Value).Name;
uint? jobId = kind switch {
ElementKind.AetherflowGaugeSmn => 27,
ElementKind.AetherflowGaugeSch => 28,
_ => null,
};
if (jobId != null) {
var abbr = data.GetExcelSheet<ClassJob>().GetRow(jobId.Value).Abbreviation;
name += $" ({abbr})";
}
return name;
}
}
}