Files
Calculateur-Talents-Wow/src/types.d.ts
T

53 lines
992 B
TypeScript

interface TalentTree {
id: number
name: string // e.g. Affliction
icon: string
talents: Talent[]
}
interface SpellData {
id?: number
name: string
rank: number
icon: string
description: string
}
interface ClassData {
id: number
name: string
icon: string
specs: number[]
}
interface TalentData {
/** ID for the Talent */
id: number
/** Row for talent. Starts at 0 */
row: number
/** Column for talent. Starts at 0 */
col: number
/** Icon */
icon: string
/** Array of spell IDs */
ranks: number[]
/** Talent dependencies for this talent */
requires: Array<{
/** Talent ID */
id: number
/** Amount of points required in this talent */
qty: number
}>
}
interface Talent {
name: string
row: number
column: number
type: 'ability' | 'talent'
ranks: string[]
prerequisite?: [number, number] | number // [row, column] OR index
}
type TalentClickHandler = (specId: number, talentId: number, modifier: 1 | -1) => void