80 lines
1.4 KiB
TypeScript
80 lines
1.4 KiB
TypeScript
interface ClassData {
|
|
id: number
|
|
name: string
|
|
icon: string
|
|
specs: number[]
|
|
}
|
|
|
|
export const classes: ClassData[] = [
|
|
{
|
|
id: 1,
|
|
name: 'Warrior',
|
|
icon: 'class_warrior',
|
|
specs: [161, 164, 163]
|
|
},
|
|
{
|
|
id: 2,
|
|
name: 'Paladin',
|
|
icon: 'class_paladin',
|
|
specs: [382, 383, 381]
|
|
},
|
|
{
|
|
id: 3,
|
|
name: 'Hunter',
|
|
icon: 'class_hunter',
|
|
specs: [361, 363, 362]
|
|
},
|
|
{
|
|
id: 4,
|
|
name: 'Rogue',
|
|
icon: 'class_rogue',
|
|
specs: [182, 181, 183]
|
|
},
|
|
{
|
|
id: 5,
|
|
name: 'Priest',
|
|
icon: 'class_priest',
|
|
specs: [201, 202, 203]
|
|
},
|
|
{
|
|
id: 7,
|
|
name: 'Shaman',
|
|
icon: 'class_shaman',
|
|
specs: [261, 263, 262]
|
|
},
|
|
{
|
|
id: 8,
|
|
name: 'Mage',
|
|
icon: 'class_mage',
|
|
specs: [81, 41, 61]
|
|
},
|
|
{
|
|
id: 9,
|
|
name: 'Warlock',
|
|
icon: 'class_warlock',
|
|
specs: [302, 303, 301]
|
|
},
|
|
{
|
|
id: 11,
|
|
name: 'Druid',
|
|
icon: 'class_druid',
|
|
specs: [283, 281, 282]
|
|
},
|
|
]
|
|
|
|
export const classById: {[key: number]: ClassData} =
|
|
classes.reduce((previousValue: object, currentValue: ClassData) => {
|
|
return {
|
|
...previousValue,
|
|
[currentValue.id]: currentValue
|
|
}
|
|
}, {})
|
|
|
|
export const classByName: {[key: string]: ClassData} =
|
|
classes.reduce((previousValue: object, currentValue: ClassData) => {
|
|
return {
|
|
...previousValue,
|
|
[currentValue.name.toLowerCase()]: currentValue
|
|
}
|
|
}, {})
|