Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Talent Tree locks #73

Merged
merged 1 commit into from
Apr 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ui/core/player_spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ export abstract class PlayerSpec<SpecType extends Spec> {
static weaponTypes: EligibleWeaponType[];
static rangedWeaponTypes: RangedWeaponType[];

abstract readonly specIndex: number;
abstract readonly specID: SpecType;
abstract readonly classID: SpecClasses<SpecType>;
abstract readonly friendlyName: string;
Expand Down
6 changes: 6 additions & 0 deletions ui/core/player_specs/death_knight.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Class, Spec } from '../proto/common';
import { getSpecSiteUrl } from '../proto_utils/utils';

export class BloodDeathKnight extends PlayerSpec<Spec.SpecBloodDeathKnight> {
static specIndex = 0;
static specID = Spec.SpecBloodDeathKnight as Spec.SpecBloodDeathKnight;
static classID = Class.ClassDeathKnight as Class.ClassDeathKnight;
static friendlyName = 'Blood';
Expand All @@ -16,6 +17,7 @@ export class BloodDeathKnight extends PlayerSpec<Spec.SpecBloodDeathKnight> {

static canDualWield = true;

readonly specIndex = BloodDeathKnight.specIndex;
readonly specID = BloodDeathKnight.specID;
readonly classID = BloodDeathKnight.classID;
readonly friendlyName = BloodDeathKnight.friendlyName;
Expand All @@ -38,6 +40,7 @@ export class BloodDeathKnight extends PlayerSpec<Spec.SpecBloodDeathKnight> {
}

export class FrostDeathKnight extends PlayerSpec<Spec.SpecFrostDeathKnight> {
static specIndex = 1;
static specID = Spec.SpecFrostDeathKnight as Spec.SpecFrostDeathKnight;
static classID = Class.ClassDeathKnight as Class.ClassDeathKnight;
static friendlyName = 'Frost';
Expand All @@ -50,6 +53,7 @@ export class FrostDeathKnight extends PlayerSpec<Spec.SpecFrostDeathKnight> {

static canDualWield = true;

readonly specIndex = FrostDeathKnight.specIndex;
readonly specID = FrostDeathKnight.specID;
readonly classID = FrostDeathKnight.classID;
readonly friendlyName = FrostDeathKnight.friendlyName;
Expand All @@ -72,6 +76,7 @@ export class FrostDeathKnight extends PlayerSpec<Spec.SpecFrostDeathKnight> {
}

export class UnholyDeathKnight extends PlayerSpec<Spec.SpecUnholyDeathKnight> {
static specIndex = 2;
static specID = Spec.SpecUnholyDeathKnight as Spec.SpecUnholyDeathKnight;
static classID = Class.ClassDeathKnight as Class.ClassDeathKnight;
static friendlyName = 'Unholy';
Expand All @@ -84,6 +89,7 @@ export class UnholyDeathKnight extends PlayerSpec<Spec.SpecUnholyDeathKnight> {

static canDualWield = true;

readonly specIndex = UnholyDeathKnight.specIndex;
readonly specID = UnholyDeathKnight.specID;
readonly classID = UnholyDeathKnight.classID;
readonly friendlyName = UnholyDeathKnight.friendlyName;
Expand Down
6 changes: 6 additions & 0 deletions ui/core/player_specs/druid.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Class, Spec } from '../proto/common';
import { getSpecSiteUrl } from '../proto_utils/utils';

export class BalanceDruid extends PlayerSpec<Spec.SpecBalanceDruid> {
static specIndex = 0;
static specID = Spec.SpecBalanceDruid as Spec.SpecBalanceDruid;
static classID = Class.ClassDruid as Class.ClassDruid;
static friendlyName = 'Balance';
Expand All @@ -16,6 +17,7 @@ export class BalanceDruid extends PlayerSpec<Spec.SpecBalanceDruid> {

static canDualWield = false;

readonly specIndex = BalanceDruid.specIndex;
readonly specID = BalanceDruid.specID;
readonly classID = BalanceDruid.classID;
readonly friendlyName = BalanceDruid.friendlyName;
Expand All @@ -38,6 +40,7 @@ export class BalanceDruid extends PlayerSpec<Spec.SpecBalanceDruid> {
}

export class FeralDruid extends PlayerSpec<Spec.SpecFeralDruid> {
static specIndex = 1;
static specID = Spec.SpecFeralDruid as Spec.SpecFeralDruid;
static classID = Class.ClassDruid as Class.ClassDruid;
static friendlyName = 'Feral';
Expand All @@ -50,6 +53,7 @@ export class FeralDruid extends PlayerSpec<Spec.SpecFeralDruid> {

static canDualWield = false;

readonly specIndex = FeralDruid.specIndex;
readonly specID = FeralDruid.specID;
readonly classID = FeralDruid.classID;
readonly friendlyName = FeralDruid.friendlyName;
Expand All @@ -72,6 +76,7 @@ export class FeralDruid extends PlayerSpec<Spec.SpecFeralDruid> {
}

export class RestorationDruid extends PlayerSpec<Spec.SpecRestorationDruid> {
static specIndex = 2;
static specID = Spec.SpecRestorationDruid as Spec.SpecRestorationDruid;
static classID = Class.ClassDruid as Class.ClassDruid;
static friendlyName = 'Restoration';
Expand All @@ -84,6 +89,7 @@ export class RestorationDruid extends PlayerSpec<Spec.SpecRestorationDruid> {

static canDualWield = false;

readonly specIndex = RestorationDruid.specIndex;
readonly specID = RestorationDruid.specID;
readonly classID = RestorationDruid.classID;
readonly friendlyName = RestorationDruid.friendlyName;
Expand Down
6 changes: 6 additions & 0 deletions ui/core/player_specs/hunter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Class, Spec } from '../proto/common';
import { getSpecSiteUrl } from '../proto_utils/utils';

export class BeastMasteryHunter extends PlayerSpec<Spec.SpecBeastMasteryHunter> {
static specIndex = 0;
static specID = Spec.SpecBeastMasteryHunter as Spec.SpecBeastMasteryHunter;
static classID = Class.ClassHunter as Class.ClassHunter;
static friendlyName = 'Beast Mastery';
Expand All @@ -16,6 +17,7 @@ export class BeastMasteryHunter extends PlayerSpec<Spec.SpecBeastMasteryHunter>

static canDualWield = true;

readonly specIndex = BeastMasteryHunter.specIndex;
readonly specID = BeastMasteryHunter.specID;
readonly classID = BeastMasteryHunter.classID;
readonly friendlyName = BeastMasteryHunter.friendlyName;
Expand All @@ -38,6 +40,7 @@ export class BeastMasteryHunter extends PlayerSpec<Spec.SpecBeastMasteryHunter>
}

export class MarksmanshipHunter extends PlayerSpec<Spec.SpecMarksmanshipHunter> {
static specIndex = 1;
static specID = Spec.SpecMarksmanshipHunter as Spec.SpecMarksmanshipHunter;
static classID = Class.ClassHunter as Class.ClassHunter;
static friendlyName = 'Marksmanship';
Expand All @@ -50,6 +53,7 @@ export class MarksmanshipHunter extends PlayerSpec<Spec.SpecMarksmanshipHunter>

static canDualWield = true;

readonly specIndex = MarksmanshipHunter.specIndex;
readonly specID = MarksmanshipHunter.specID;
readonly classID = MarksmanshipHunter.classID;
readonly friendlyName = MarksmanshipHunter.friendlyName;
Expand All @@ -72,6 +76,7 @@ export class MarksmanshipHunter extends PlayerSpec<Spec.SpecMarksmanshipHunter>
}

export class SurvivalHunter extends PlayerSpec<Spec.SpecSurvivalHunter> {
static specIndex = 2;
static specID = Spec.SpecSurvivalHunter as Spec.SpecSurvivalHunter;
static classID = Class.ClassHunter as Class.ClassHunter;
static friendlyName = 'Survival';
Expand All @@ -84,6 +89,7 @@ export class SurvivalHunter extends PlayerSpec<Spec.SpecSurvivalHunter> {

static canDualWield = true;

readonly specIndex = SurvivalHunter.specIndex;
readonly specID = SurvivalHunter.specID;
readonly classID = SurvivalHunter.classID;
readonly friendlyName = SurvivalHunter.friendlyName;
Expand Down
6 changes: 6 additions & 0 deletions ui/core/player_specs/mage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Class, Spec } from '../proto/common';
import { getSpecSiteUrl } from '../proto_utils/utils';

export class ArcaneMage extends PlayerSpec<Spec.SpecArcaneMage> {
static specIndex = 0;
static specID = Spec.SpecArcaneMage as Spec.SpecArcaneMage;
static classID = Class.ClassMage as Class.ClassMage;
static friendlyName = 'Arcane';
Expand All @@ -16,6 +17,7 @@ export class ArcaneMage extends PlayerSpec<Spec.SpecArcaneMage> {

static canDualWield = false;

readonly specIndex = ArcaneMage.specIndex;
readonly specID = ArcaneMage.specID;
readonly classID = ArcaneMage.classID;
readonly friendlyName = ArcaneMage.friendlyName;
Expand All @@ -38,6 +40,7 @@ export class ArcaneMage extends PlayerSpec<Spec.SpecArcaneMage> {
}

export class FireMage extends PlayerSpec<Spec.SpecFireMage> {
static specIndex = 1;
static specID = Spec.SpecFireMage as Spec.SpecFireMage;
static classID = Class.ClassMage as Class.ClassMage;
static friendlyName = 'Fire';
Expand All @@ -50,6 +53,7 @@ export class FireMage extends PlayerSpec<Spec.SpecFireMage> {

static canDualWield = false;

readonly specIndex = FireMage.specIndex;
readonly specID = FireMage.specID;
readonly classID = FireMage.classID;
readonly friendlyName = FireMage.friendlyName;
Expand All @@ -72,6 +76,7 @@ export class FireMage extends PlayerSpec<Spec.SpecFireMage> {
}

export class FrostMage extends PlayerSpec<Spec.SpecFrostMage> {
static specIndex = 2;
static specID = Spec.SpecFrostMage as Spec.SpecFrostMage;
static classID = Class.ClassMage as Class.ClassMage;
static friendlyName = 'Frost';
Expand All @@ -84,6 +89,7 @@ export class FrostMage extends PlayerSpec<Spec.SpecFrostMage> {

static canDualWield = false;

readonly specIndex = FrostMage.specIndex;
readonly specID = FrostMage.specID;
readonly classID = FrostMage.classID;
readonly friendlyName = FrostMage.friendlyName;
Expand Down
6 changes: 6 additions & 0 deletions ui/core/player_specs/paladin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Class, Spec } from '../proto/common';
import { getSpecSiteUrl } from '../proto_utils/utils';

export class HolyPaladin extends PlayerSpec<Spec.SpecHolyPaladin> {
static specIndex = 0;
static specID = Spec.SpecHolyPaladin as Spec.SpecHolyPaladin;
static classID = Class.ClassPaladin as Class.ClassPaladin;
static friendlyName = 'Holy';
Expand All @@ -16,6 +17,7 @@ export class HolyPaladin extends PlayerSpec<Spec.SpecHolyPaladin> {

static canDualWield = false;

readonly specIndex = HolyPaladin.specIndex;
readonly specID = HolyPaladin.specID;
readonly classID = HolyPaladin.classID;
readonly friendlyName = HolyPaladin.friendlyName;
Expand All @@ -38,6 +40,7 @@ export class HolyPaladin extends PlayerSpec<Spec.SpecHolyPaladin> {
}

export class ProtectionPaladin extends PlayerSpec<Spec.SpecProtectionPaladin> {
static specIndex = 1;
static specID = Spec.SpecProtectionPaladin as Spec.SpecProtectionPaladin;
static classID = Class.ClassPaladin as Class.ClassPaladin;
static friendlyName = 'Protection';
Expand All @@ -50,6 +53,7 @@ export class ProtectionPaladin extends PlayerSpec<Spec.SpecProtectionPaladin> {

static canDualWield = false;

readonly specIndex = ProtectionPaladin.specIndex;
readonly specID = ProtectionPaladin.specID;
readonly classID = ProtectionPaladin.classID;
readonly friendlyName = ProtectionPaladin.friendlyName;
Expand All @@ -72,6 +76,7 @@ export class ProtectionPaladin extends PlayerSpec<Spec.SpecProtectionPaladin> {
}

export class RetributionPaladin extends PlayerSpec<Spec.SpecRetributionPaladin> {
static specIndex = 2;
static specID = Spec.SpecRetributionPaladin as Spec.SpecRetributionPaladin;
static classID = Class.ClassPaladin as Class.ClassPaladin;
static friendlyName = 'Retribution';
Expand All @@ -84,6 +89,7 @@ export class RetributionPaladin extends PlayerSpec<Spec.SpecRetributionPaladin>

static canDualWield = false;

readonly specIndex = RetributionPaladin.specIndex;
readonly specID = RetributionPaladin.specID;
readonly classID = RetributionPaladin.classID;
readonly friendlyName = RetributionPaladin.friendlyName;
Expand Down
6 changes: 6 additions & 0 deletions ui/core/player_specs/priest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Class, Spec } from '../proto/common';
import { getSpecSiteUrl } from '../proto_utils/utils';

export class DisciplinePriest extends PlayerSpec<Spec.SpecDisciplinePriest> {
static specIndex = 0;
static specID = Spec.SpecDisciplinePriest as Spec.SpecDisciplinePriest;
static classID = Class.ClassPriest as Class.ClassPriest;
static friendlyName = 'Discipline';
Expand All @@ -16,6 +17,7 @@ export class DisciplinePriest extends PlayerSpec<Spec.SpecDisciplinePriest> {

static canDualWield = false;

readonly specIndex = DisciplinePriest.specIndex;
readonly specID = DisciplinePriest.specID;
readonly classID = DisciplinePriest.classID;
readonly friendlyName = DisciplinePriest.friendlyName;
Expand All @@ -38,6 +40,7 @@ export class DisciplinePriest extends PlayerSpec<Spec.SpecDisciplinePriest> {
}

export class HolyPriest extends PlayerSpec<Spec.SpecHolyPriest> {
static specIndex = 1;
static specID = Spec.SpecHolyPriest as Spec.SpecHolyPriest;
static classID = Class.ClassPriest as Class.ClassPriest;
static friendlyName = 'Holy';
Expand All @@ -50,6 +53,7 @@ export class HolyPriest extends PlayerSpec<Spec.SpecHolyPriest> {

static canDualWield = false;

readonly specIndex = HolyPriest.specIndex;
readonly specID = HolyPriest.specID;
readonly classID = HolyPriest.classID;
readonly friendlyName = HolyPriest.friendlyName;
Expand All @@ -72,6 +76,7 @@ export class HolyPriest extends PlayerSpec<Spec.SpecHolyPriest> {
}

export class ShadowPriest extends PlayerSpec<Spec.SpecShadowPriest> {
static specIndex = 2;
static specID = Spec.SpecShadowPriest as Spec.SpecShadowPriest;
static classID = Class.ClassPriest as Class.ClassPriest;
static friendlyName = 'Shadow';
Expand All @@ -84,6 +89,7 @@ export class ShadowPriest extends PlayerSpec<Spec.SpecShadowPriest> {

static canDualWield = false;

readonly specIndex = ShadowPriest.specIndex;
readonly specID = ShadowPriest.specID;
readonly classID = ShadowPriest.classID;
readonly friendlyName = ShadowPriest.friendlyName;
Expand Down
6 changes: 6 additions & 0 deletions ui/core/player_specs/rogue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Class, Spec } from '../proto/common';
import { getSpecSiteUrl } from '../proto_utils/utils';

export class AssassinationRogue extends PlayerSpec<Spec.SpecAssassinationRogue> {
static specIndex = 0;
static specID = Spec.SpecAssassinationRogue as Spec.SpecAssassinationRogue;
static classID = Class.ClassRogue as Class.ClassRogue;
static friendlyName = 'Assassination';
Expand All @@ -16,6 +17,7 @@ export class AssassinationRogue extends PlayerSpec<Spec.SpecAssassinationRogue>

static canDualWield = true;

readonly specIndex = AssassinationRogue.specIndex;
readonly specID = AssassinationRogue.specID;
readonly classID = AssassinationRogue.classID;
readonly friendlyName = AssassinationRogue.friendlyName;
Expand All @@ -38,6 +40,7 @@ export class AssassinationRogue extends PlayerSpec<Spec.SpecAssassinationRogue>
}

export class CombatRogue extends PlayerSpec<Spec.SpecCombatRogue> {
static specIndex = 1;
static specID = Spec.SpecCombatRogue as Spec.SpecCombatRogue;
static classID = Class.ClassRogue as Class.ClassRogue;
static friendlyName = 'Combat';
Expand All @@ -50,6 +53,7 @@ export class CombatRogue extends PlayerSpec<Spec.SpecCombatRogue> {

static canDualWield = true;

readonly specIndex = CombatRogue.specIndex;
readonly specID = CombatRogue.specID;
readonly classID = CombatRogue.classID;
readonly friendlyName = CombatRogue.friendlyName;
Expand All @@ -72,6 +76,7 @@ export class CombatRogue extends PlayerSpec<Spec.SpecCombatRogue> {
}

export class SubtletyRogue extends PlayerSpec<Spec.SpecSubtletyRogue> {
static specIndex = 2;
static specID = Spec.SpecSubtletyRogue as Spec.SpecSubtletyRogue;
static classID = Class.ClassRogue as Class.ClassRogue;
static friendlyName = 'Subtlety';
Expand All @@ -84,6 +89,7 @@ export class SubtletyRogue extends PlayerSpec<Spec.SpecSubtletyRogue> {

static canDualWield = true;

readonly specIndex = SubtletyRogue.specIndex;
readonly specID = SubtletyRogue.specID;
readonly classID = SubtletyRogue.classID;
readonly friendlyName = SubtletyRogue.friendlyName;
Expand Down
6 changes: 6 additions & 0 deletions ui/core/player_specs/shaman.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Class, Spec } from '../proto/common';
import { getSpecSiteUrl } from '../proto_utils/utils';

export class ElementalShaman extends PlayerSpec<Spec.SpecElementalShaman> {
static specIndex = 0;
static specID = Spec.SpecElementalShaman as Spec.SpecElementalShaman;
static classID = Class.ClassShaman as Class.ClassShaman;
static friendlyName = 'Elemental';
Expand All @@ -16,6 +17,7 @@ export class ElementalShaman extends PlayerSpec<Spec.SpecElementalShaman> {

static canDualWield = false;

readonly specIndex = ElementalShaman.specIndex;
readonly specID = ElementalShaman.specID;
readonly classID = ElementalShaman.classID;
readonly friendlyName = ElementalShaman.friendlyName;
Expand All @@ -38,6 +40,7 @@ export class ElementalShaman extends PlayerSpec<Spec.SpecElementalShaman> {
}

export class EnhancementShaman extends PlayerSpec<Spec.SpecEnhancementShaman> {
static specIndex = 1;
static specID = Spec.SpecEnhancementShaman as Spec.SpecEnhancementShaman;
static classID = Class.ClassShaman as Class.ClassShaman;
static friendlyName = 'Enhancement';
Expand All @@ -50,6 +53,7 @@ export class EnhancementShaman extends PlayerSpec<Spec.SpecEnhancementShaman> {

static canDualWield = true;

readonly specIndex = EnhancementShaman.specIndex;
readonly specID = EnhancementShaman.specID;
readonly classID = EnhancementShaman.classID;
readonly friendlyName = EnhancementShaman.friendlyName;
Expand All @@ -72,6 +76,7 @@ export class EnhancementShaman extends PlayerSpec<Spec.SpecEnhancementShaman> {
}

export class RestorationShaman extends PlayerSpec<Spec.SpecRestorationShaman> {
static specIndex = 2;
static specID = Spec.SpecRestorationShaman as Spec.SpecRestorationShaman;
static classID = Class.ClassShaman as Class.ClassShaman;
static friendlyName = 'Restoration';
Expand All @@ -84,6 +89,7 @@ export class RestorationShaman extends PlayerSpec<Spec.SpecRestorationShaman> {

static canDualWield = false;

readonly specIndex = RestorationShaman.specIndex;
readonly specID = RestorationShaman.specID;
readonly classID = RestorationShaman.classID;
readonly friendlyName = RestorationShaman.friendlyName;
Expand Down
Loading
Loading