This repository has been archived by the owner on Aug 4, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
character.ts
133 lines (125 loc) · 3.8 KB
/
character.ts
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/* eslint-disable @typescript-eslint/no-explicit-any */
export type CharacterProfile = {
name: string
race: string
class: string
active_spec_name: string
active_spec_role: string
gender: string
faction: 'alliance' | 'horde'
achievement_points: number
honorable_kills: number
thumbnail_url: string
region: 'us' | 'eu' | 'tw' | 'kr' | 'cn'
realm: string
last_crawled_at: string
profile_url: string
profile_banner: string
covenant: { id: number; name: 'Kyrian' | 'Necrolord' | 'Nightfae' | 'Venthyr'; renown_level: number }
gear: CharacterProfileGear
guild?: {
name: string
realm: string
}
raid_progression: {
'castle-nathria'?: CharacterProfileRaidProg
'fated-castle-nathria'?: CharacterProfileRaidProg
'fated-sanctum-of-domination'?: CharacterProfileRaidProg
'fated-sepulcher-of-the-first-ones'?: CharacterProfileRaidProg
'sanctum-of-domination'?: CharacterProfileRaidProg
'sepulcher-of-the-first-ones'?: CharacterProfileRaidProg
'vault-of-the-incarnates'?: CharacterProfileRaidProg
}
raid_achievement_curve: Array<CharacterProfileRaidCurve>
mythic_plus_scores?: CharacterProfileMPlusScore
mythic_plus_scores_by_season: Array<CharacterProfileMPlusScoresBySeason>
}
export type CharacterProfileMPlusScoresBySeason = {
season: `season-sl-1` | `season-sl-2` | `season-sl-3` | `season-sl-4` | `season-df-1` | `season-df-2` | `season-df-3`
scores: CharacterProfileMPlusScore
segments: CharacterProfileMPlusSegments
}
export type CharacterProfileMPlusScore = {
all: number
dps: number
healer: number
tank: number
spec_0: number
spec_1: number
spec_2: number
spec_3: number
}
export type CharacterProfileMPlusSegments = {
all: CharacterProfileMPlusSegmentStats
dps: CharacterProfileMPlusSegmentStats
healer: CharacterProfileMPlusSegmentStats
tank: CharacterProfileMPlusSegmentStats
spec_0: CharacterProfileMPlusSegmentStats
spec_1: CharacterProfileMPlusSegmentStats
spec_2: CharacterProfileMPlusSegmentStats
spec_3: CharacterProfileMPlusSegmentStats
}
export type CharacterProfileMPlusSegmentStats = {
score: number
color: string
}
export type CharacterProfileGearItem = {
item_id: number
item_level: number
enchant?: number
icon: string
name: string
item_quality: number
is_legendary: boolean
is_azerite_armor: boolean
azerite_powers: Array<any>
corruption: { added: number; resisted: number; total: number }
domination_shards: Array<any>
gems: Array<number>
bonuses: Array<number>
tier?: string
}
export type CharacterProfileRaidProg = {
summary: string
total_bosses: number
normal_bosses_killed: number
heroic_bosses_killed: number
mythic_bosses_killed: number
}
export type CharacterProfileRaidCurve = {
raid: 'castle-nathria' | 'sanctum-of-domination' | 'sepulcher-of-the-first-ones' | 'vault-of-the-incarnates' | 'aberrus-the-shadowed-crucible' | 'amirdrassil-the-dreams-hope'
aotc: string
cutting_edge?: string
}
export type CharacterProfileGear = {
updated_at: string
item_level_equipped: number
item_level_total: number
artifact_traits: number
corruption: {
added: number
resisted: number
total: number
cloakRank: number
spells: Array<any>
}
items: {
head: CharacterProfileGearItem
neck: CharacterProfileGearItem
shoulder: CharacterProfileGearItem
back: CharacterProfileGearItem
chest: CharacterProfileGearItem
waist: CharacterProfileGearItem
shirt: CharacterProfileGearItem
wrist: CharacterProfileGearItem
hands: CharacterProfileGearItem
legs: CharacterProfileGearItem
feet: CharacterProfileGearItem
finger1: CharacterProfileGearItem
finger2: CharacterProfileGearItem
trinket1: CharacterProfileGearItem
trinket2: CharacterProfileGearItem
mainhand: CharacterProfileGearItem
offhand: CharacterProfileGearItem
}
}