-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathJob.cs
109 lines (105 loc) · 2.78 KB
/
Job.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
using System;
using Dalamud.Plugin;
using Lumina.Excel.GeneratedSheets;
namespace JobIcons
{
internal enum Job : uint
{
ADV = 0,
GLA = 1,
PGL = 2,
MRD = 3,
LNC = 4,
ARC = 5,
CNJ = 6,
THM = 7,
CRP = 8,
BSM = 9,
ARM = 10,
GSM = 11,
LTW = 12,
WVR = 13,
ALC = 14,
CUL = 15,
MIN = 16,
BTN = 17,
FSH = 18,
PLD = 19,
MNK = 20,
WAR = 21,
DRG = 22,
BRD = 23,
WHM = 24,
BLM = 25,
ACN = 26,
SMN = 27,
SCH = 28,
ROG = 29,
NIN = 30,
MCH = 31,
DRK = 32,
AST = 33,
SAM = 34,
RDM = 35,
BLU = 36,
GNB = 37,
DNC = 38,
//SAG = 39,
//REP = 40
}
internal static class JobExtensions
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0066:Convert switch statement to expression", Justification = "No, it looks dumb")]
public static JobRole GetRole(this Job job)
{
switch (job)
{
case Job.GLA:
case Job.MRD:
case Job.PLD:
case Job.WAR:
case Job.DRK:
case Job.GNB: return JobRole.Tank;
case Job.CNJ:
case Job.AST:
case Job.WHM:
case Job.SCH:
/*case Job.SAG:*/ return JobRole.Heal;
case Job.PGL:
case Job.LNC:
case Job.MNK:
case Job.DRG:
case Job.ROG:
case Job.NIN:
case Job.SAM:
/*case Job.REP:*/ return JobRole.Melee;
case Job.ARC:
case Job.BRD:
case Job.MCH:
case Job.DNC: return JobRole.Ranged;
case Job.THM:
case Job.BLM:
case Job.ACN:
case Job.SMN:
case Job.RDM:
case Job.BLU: return JobRole.Magical;
case Job.CRP:
case Job.BSM:
case Job.ARM:
case Job.GSM:
case Job.LTW:
case Job.WVR:
case Job.ALC:
case Job.CUL: return JobRole.Crafter;
case Job.MIN:
case Job.BTN:
case Job.FSH: return JobRole.Gatherer;
default: throw new ArgumentException($"Unknown jobID {(int)job}");
}
}
public static string GetName(this Job job)
{
return JobIconsPlugin.DataManager.Excel.GetSheet<ClassJob>().GetRow((uint)job).Name ?? "ERROR";
}
}
}