120 lines
2.8 KiB
TypeScript
120 lines
2.8 KiB
TypeScript
export type Iwt2Difficulty = {
|
|
slug: string
|
|
name: string
|
|
droppedItemLevel: number
|
|
unlockLevel: number
|
|
healthMultiplier: number
|
|
damageMultiplier: number
|
|
experienceMultiplier: number
|
|
description: string
|
|
}
|
|
|
|
export const IWT2_DUNGEON_DIFFICULTIES: Iwt2Difficulty[] = [
|
|
{
|
|
slug: 'initiate',
|
|
name: 'Initiate',
|
|
droppedItemLevel: 1,
|
|
unlockLevel: 1,
|
|
healthMultiplier: 0.8,
|
|
damageMultiplier: 0.8,
|
|
experienceMultiplier: 1,
|
|
description: 'IWT1 starter dungeon tuning.',
|
|
},
|
|
{
|
|
slug: 'veteran',
|
|
name: 'Veteran',
|
|
droppedItemLevel: 10,
|
|
unlockLevel: 10,
|
|
healthMultiplier: 1.45,
|
|
damageMultiplier: 1.25,
|
|
experienceMultiplier: 2,
|
|
description: 'IWT1 veteran dungeon tuning.',
|
|
},
|
|
{
|
|
slug: 'champion',
|
|
name: 'Champion',
|
|
droppedItemLevel: 15,
|
|
unlockLevel: 15,
|
|
healthMultiplier: 1.7,
|
|
damageMultiplier: 1.45,
|
|
experienceMultiplier: 2.2,
|
|
description: 'IWT1 champion dungeon tuning.',
|
|
},
|
|
{
|
|
slug: 'mythic',
|
|
name: 'Mythic',
|
|
droppedItemLevel: 20,
|
|
unlockLevel: 20,
|
|
healthMultiplier: 2.25,
|
|
damageMultiplier: 1.85,
|
|
experienceMultiplier: 3.5,
|
|
description: 'IWT1 mythic dungeon tuning.',
|
|
},
|
|
{
|
|
slug: 'ascendant',
|
|
name: 'Ascendant',
|
|
droppedItemLevel: 25,
|
|
unlockLevel: 25,
|
|
healthMultiplier: 2.8,
|
|
damageMultiplier: 2.25,
|
|
experienceMultiplier: 4.5,
|
|
description: 'IWT1 ascendant dungeon tuning.',
|
|
},
|
|
]
|
|
|
|
export const IWT2_RAID_DIFFICULTIES: Iwt2Difficulty[] = [
|
|
{
|
|
slug: 'raid-normal',
|
|
name: 'Normal',
|
|
droppedItemLevel: 10,
|
|
unlockLevel: 10,
|
|
healthMultiplier: 1.45,
|
|
damageMultiplier: 1.25,
|
|
experienceMultiplier: 2,
|
|
description: 'IWT1 normal raid tuning.',
|
|
},
|
|
{
|
|
slug: 'raid-champion',
|
|
name: 'Champion Raid',
|
|
droppedItemLevel: 15,
|
|
unlockLevel: 15,
|
|
healthMultiplier: 1.7,
|
|
damageMultiplier: 1.45,
|
|
experienceMultiplier: 2.4,
|
|
description: 'IWT1 champion raid tuning.',
|
|
},
|
|
{
|
|
slug: 'raid-mythic',
|
|
name: 'Mythic Raid',
|
|
droppedItemLevel: 20,
|
|
unlockLevel: 20,
|
|
healthMultiplier: 2.25,
|
|
damageMultiplier: 1.85,
|
|
experienceMultiplier: 3.5,
|
|
description: 'IWT1 mythic raid tuning.',
|
|
},
|
|
{
|
|
slug: 'raid-ascendant',
|
|
name: 'Ascendant Raid',
|
|
droppedItemLevel: 25,
|
|
unlockLevel: 25,
|
|
healthMultiplier: 2.8,
|
|
damageMultiplier: 2.25,
|
|
experienceMultiplier: 4.5,
|
|
description: 'IWT1 ascendant raid tuning.',
|
|
},
|
|
]
|
|
|
|
export function findIwt2Difficulty(
|
|
difficulties: readonly Iwt2Difficulty[],
|
|
slug: string,
|
|
): Iwt2Difficulty {
|
|
return difficulties.find((difficulty) => difficulty.slug === slug) ?? difficulties[0]
|
|
}
|
|
|
|
export function isIwt2DifficultyUnlocked(difficulty: Iwt2Difficulty, level: number): boolean {
|
|
void difficulty
|
|
void level
|
|
return true
|
|
}
|