HASH 4f2bc6f4d4d5
DATE 2025-07-25
SUBJECT preRaid rankings init
FILES 6 CHANGED
HASH 4f2bc6f4d4d5
DATE 2025-07-25
SUBJECT preRaid rankings init
FILES 6 CHANGED
┌─ nix/apps/simulation/default.nix ──────────────────────────────────────────┐
│ diff --git a/nix/apps/simulation/default.nix b/nix/apps/simulation/default.nix │
│ index 87ba8d8..8053c82 100644 │
│ --- a/nix/apps/simulation/default.nix │
│ +++ b/nix/apps/simulation/default.nix │
│ @@ -142,6 +142,135 @@ │
│ duration = "burst"; │
│ template = "multiTarget"; │
│ }; │
│ + dps-preRaid-raid-single-long = mkMassSim { │
│ + specs = "dps"; # shortcut to all DPS classes templates │
│ + encounter = encounter.raid.long.singleTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "single"; │
│ + duration = "long"; │
│ + template = "singleTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-three-long = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.long.threeTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "three"; │
│ + duration = "long"; │
│ + template = "multiTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-cleave-long = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.long.cleave; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "cleave"; │
│ + duration = "long"; │
│ + template = "cleave"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-ten-long = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.long.tenTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "ten"; │
│ + duration = "long"; │
│ + template = "multiTarget"; │
│ + }; │
│ + dps-preRaid-raid-single-short = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.short.singleTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "single"; │
│ + duration = "short"; │
│ + template = "singleTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-three-short = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.short.threeTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "three"; │
│ + duration = "short"; │
│ + template = "multiTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-cleave-short = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.short.cleave; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "cleave"; │
│ + duration = "short"; │
│ + template = "cleave"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-ten-short = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.short.tenTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "ten"; │
│ + duration = "short"; │
│ + template = "multiTarget"; │
│ + }; │
│ + dps-preRaid-raid-single-burst = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.burst.singleTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "single"; │
│ + duration = "burst"; │
│ + template = "singleTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-three-burst = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.burst.threeTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "three"; │
│ + duration = "burst"; │
│ + template = "multiTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-cleave-burst = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.burst.cleave; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "cleave"; │
│ + duration = "burst"; │
│ + template = "cleave"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-ten-burst = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.burst.tenTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "ten"; │
│ + duration = "burst"; │
│ + template = "multiTarget"; │
│ + }; │
│ }; │
│ │
│ # for all race combinations │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ nix/apps/simulation/default.nix ────┐
│ diff --git a/nix/apps/simulation/default.nix │
│ b/nix/apps/simulation/default.nix │
│ index 87ba8d8..8053c82 100644 │
│ --- a/nix/apps/simulation/default.nix │
│ +++ b/nix/apps/simulation/default.nix │
│ @@ -142,6 +142,135 @@ │
│ duration = "burst"; │
│ template = "multiTarget"; │
│ }; │
│ + dps-preRaid-raid-single-long = mkMassSi │
│ m { │
│ + specs = "dps"; # shortcut to all DPS │
│ classes templates │
│ + encounter = encounter.raid.long.singl │
│ eTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "single"; │
│ + duration = "long"; │
│ + template = "singleTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-three-long = mkMassSim │
│ { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.long.three │
│ Target; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "three"; │
│ + duration = "long"; │
│ + template = "multiTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-cleave-long = mkMassSi │
│ m { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.long.cleav │
│ e; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "cleave"; │
│ + duration = "long"; │
│ + template = "cleave"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-ten-long = mkMassSim { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.long.tenTa │
│ rget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "ten"; │
│ + duration = "long"; │
│ + template = "multiTarget"; │
│ + }; │
│ + dps-preRaid-raid-single-short = mkMassS │
│ im { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.short.sing │
│ leTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "single"; │
│ + duration = "short"; │
│ + template = "singleTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-three-short = mkMassSi │
│ m { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.short.thre │
│ eTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "three"; │
│ + duration = "short"; │
│ + template = "multiTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-cleave-short = mkMassS │
│ im { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.short.clea │
│ ve; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "cleave"; │
│ + duration = "short"; │
│ + template = "cleave"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-ten-short = mkMassSim │
│ { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.short.tenT │
│ arget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "ten"; │
│ + duration = "short"; │
│ + template = "multiTarget"; │
│ + }; │
│ + dps-preRaid-raid-single-burst = mkMassS │
│ im { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.burst.sing │
│ leTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "single"; │
│ + duration = "burst"; │
│ + template = "singleTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-three-burst = mkMassSi │
│ m { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.burst.thre │
│ eTarget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "three"; │
│ + duration = "burst"; │
│ + template = "multiTarget"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-cleave-burst = mkMassS │
│ im { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.burst.clea │
│ ve; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "cleave"; │
│ + duration = "burst"; │
│ + template = "cleave"; │
│ + }; │
│ + │
│ + dps-preRaid-raid-ten-burst = mkMassSim │
│ { │
│ + specs = "dps"; │
│ + encounter = encounter.raid.burst.tenT │
│ arget; │
│ + iterations = 10000; │
│ + phase = "preRaid"; │
│ + encounterType = "raid"; │
│ + targetCount = "ten"; │
│ + duration = "burst"; │
│ + template = "multiTarget"; │
│ + }; │
│ }; │
│ │
│ # for all race combinations │
└──────────────────────────────────────────────┘
┌─ nix/apps/simulation/mkMassSim.nix ────────────────────────────────────────┐
│ diff --git a/nix/apps/simulation/mkMassSim.nix b/nix/apps/simulation/mkMassSim.nix │
│ index 9555de5..64d236e 100644 │
│ --- a/nix/apps/simulation/mkMassSim.nix │
│ +++ b/nix/apps/simulation/mkMassSim.nix │
│ @@ -19,7 +19,7 @@ │
│ │
│ # categorize specs by role │
│ # TODO: tanks │
│ - getAllDPSSpecs = classes: template: let │
│ + getAllDPSSpecs = classes: template: phase: let │
│ dpsSpecs = { │
│ death_knight = ["frost" "unholy"]; │
│ druid = ["balance" "feral"]; │
│ @@ -50,12 +50,12 @@ │
│ in │
│ if │
│ lib.hasAttr defaultRace spec.template │
│ - && lib.hasAttr "p1" spec.template.${defaultRace} │
│ - && lib.hasAttr "raid" spec.template.${defaultRace}.p1 │
│ - && lib.hasAttr template spec.template.${defaultRace}.p1.raid │
│ + && lib.hasAttr phase spec.template.${defaultRace} │
│ + && lib.hasAttr "raid" spec.template.${defaultRace}.${phase} │
│ + && lib.hasAttr template spec.template.${defaultRace}.${phase} │
│ .raid │
│ then { │
│ inherit className specName; │
│ - config = spec.template.${defaultRace}.p1.raid.${template}; │
│ + config = spec.template.${defaultRace}.${phase}.raid.${templat │
│ e}; │
│ } │
│ else null │
│ else null │
│ @@ -292,7 +292,7 @@ │
│ # get the list of specs based on the specs parameter │
│ specConfigs = │
│ if specs == "dps" │
│ - then getAllDPSSpecs classes template │
│ + then getAllDPSSpecs classes template phase │
│ else if builtins.isList specs │
│ then specs │
│ else throw "specs must be 'dps' or a list of spec configurations"; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...apps/simulation/mkMassSim.nix ───┐
│ diff --git a/nix/apps/simulation/mkMassSim.n │
│ ix b/nix/apps/simulation/mkMassSim.nix │
│ index 9555de5..64d236e 100644 │
│ --- a/nix/apps/simulation/mkMassSim.nix │
│ +++ b/nix/apps/simulation/mkMassSim.nix │
│ @@ -19,7 +19,7 @@ │
│ │
│ # categorize specs by role │
│ # TODO: tanks │
│ - getAllDPSSpecs = classes: template: let │
│ + getAllDPSSpecs = classes: template: phase │
│ : let │
│ dpsSpecs = { │
│ death_knight = ["frost" "unholy"]; │
│ druid = ["balance" "feral"]; │
│ @@ -50,12 +50,12 @@ │
│ in │
│ if │
│ lib.hasAttr defaultRace │
│ spec.template │
│ - && lib.hasAttr "p1" spe │
│ c.template.${defaultRace} │
│ - && lib.hasAttr "raid" s │
│ pec.template.${defaultRace}.p1 │
│ - && lib.hasAttr template │
│ spec.template.${defaultRace}.p1.raid │
│ + && lib.hasAttr phase sp │
│ ec.template.${defaultRace} │
│ + && lib.hasAttr "raid" s │
│ pec.template.${defaultRace}.${phase} │
│ + && lib.hasAttr template │
│ spec.template.${defaultRace}.${phase}.raid │
│ then { │
│ inherit className specN │
│ ame; │
│ - config = spec.template. │
│ ${defaultRace}.p1.raid.${template}; │
│ + config = spec.template. │
│ ${defaultRace}.${phase}.raid.${template}; │
│ } │
│ else null │
│ else null │
│ @@ -292,7 +292,7 @@ │
│ # get the list of specs based on the sp │
│ ecs parameter │
│ specConfigs = │
│ if specs == "dps" │
│ - then getAllDPSSpecs classes template │
│ + then getAllDPSSpecs classes template │
│ phase │
│ else if builtins.isList specs │
│ then specs │
│ else throw "specs must be 'dps' or a │
│ list of spec configurations"; │
└──────────────────────────────────────────────┘
┌─ nix/classes/hunter/beast_mastery.nix ─────────────────────────────────────┐
│ diff --git a/nix/classes/hunter/beast_mastery.nix b/nix/classes/hunter/beast_maste │
│ ry.nix │
│ index 035415c..117990c 100644 │
│ --- a/nix/classes/hunter/beast_mastery.nix │
│ +++ b/nix/classes/hunter/beast_mastery.nix │
│ @@ -53,7 +53,7 @@ │
│ singleTarget = { │
│ apl = "bm"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "prebis"; │
│ + preRaid.gearset = "preraid"; │
│ talents = beast_mastery.talents.glaiveToss; │
│ glyphs = beast_mastery.glyphs.default; │
│ }; │
│ @@ -61,7 +61,7 @@ │
│ multiTarget = { │
│ apl = "bm"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "prebis"; │
│ + preRaid.gearset = "preraid"; │
│ talents = beast_mastery.talents.glaiveToss; │
│ glyphs = beast_mastery.glyphs.default; │
│ }; │
│ @@ -69,7 +69,7 @@ │
│ cleave = { │
│ apl = "bm"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "prebis"; │
│ + preRaid.gearset = "preraid"; │
│ talents = beast_mastery.talents.glaiveToss; │
│ glyphs = beast_mastery.glyphs.default; │
│ }; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...sses/hunter/beast_mastery.nix ───┐
│ diff --git a/nix/classes/hunter/beast_master │
│ y.nix b/nix/classes/hunter/beast_mastery.nix │
│ index 035415c..117990c 100644 │
│ --- a/nix/classes/hunter/beast_mastery.nix │
│ +++ b/nix/classes/hunter/beast_mastery.nix │
│ @@ -53,7 +53,7 @@ │
│ singleTarget = { │
│ apl = "bm"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "prebis"; │
│ + preRaid.gearset = "preraid"; │
│ talents = beast_mastery.talents.gla │
│ iveToss; │
│ glyphs = beast_mastery.glyphs.defau │
│ lt; │
│ }; │
│ @@ -61,7 +61,7 @@ │
│ multiTarget = { │
│ apl = "bm"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "prebis"; │
│ + preRaid.gearset = "preraid"; │
│ talents = beast_mastery.talents.gla │
│ iveToss; │
│ glyphs = beast_mastery.glyphs.defau │
│ lt; │
│ }; │
│ @@ -69,7 +69,7 @@ │
│ cleave = { │
│ apl = "bm"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "prebis"; │
│ + preRaid.gearset = "preraid"; │
│ talents = beast_mastery.talents.gla │
│ iveToss; │
│ glyphs = beast_mastery.glyphs.defau │
│ lt; │
│ }; │
└──────────────────────────────────────────────┘
┌─ nix/classes/warlock/destruction.nix ──────────────────────────────────────┐
│ diff --git a/nix/classes/warlock/destruction.nix b/nix/classes/warlock/destruction │
│ .nix │
│ index 81de958..9fc65b9 100644 │
│ --- a/nix/classes/warlock/destruction.nix │
│ +++ b/nix/classes/warlock/destruction.nix │
│ @@ -44,7 +44,7 @@ │
│ singleTarget = { │
│ apl = "default"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "preraid"; │
│ + preRaid.gearset = "p1-prebis"; │
│ talents = destruction.talents.archimondesDarkness; │
│ glyphs = destruction.glyphs.default; │
│ }; │
│ @@ -52,7 +52,7 @@ │
│ multiTarget = { │
│ apl = "default"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "preraid"; │
│ + preRaid.gearset = "p1-prebis"; │
│ talents = destruction.talents.archimondesDarkness; │
│ glyphs = destruction.glyphs.default; │
│ }; │
│ @@ -60,7 +60,7 @@ │
│ cleave = { │
│ apl = "default"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "preraid"; │
│ + preRaid.gearset = "p1-prebis"; │
│ talents = destruction.talents.archimondesDarkness; │
│ glyphs = destruction.glyphs.default; │
│ }; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...asses/warlock/destruction.nix ───┐
│ diff --git a/nix/classes/warlock/destruction │
│ .nix b/nix/classes/warlock/destruction.nix │
│ index 81de958..9fc65b9 100644 │
│ --- a/nix/classes/warlock/destruction.nix │
│ +++ b/nix/classes/warlock/destruction.nix │
│ @@ -44,7 +44,7 @@ │
│ singleTarget = { │
│ apl = "default"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "preraid"; │
│ + preRaid.gearset = "p1-prebis"; │
│ talents = destruction.talents.archi │
│ mondesDarkness; │
│ glyphs = destruction.glyphs.default │
│ ; │
│ }; │
│ @@ -52,7 +52,7 @@ │
│ multiTarget = { │
│ apl = "default"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "preraid"; │
│ + preRaid.gearset = "p1-prebis"; │
│ talents = destruction.talents.archi │
│ mondesDarkness; │
│ glyphs = destruction.glyphs.default │
│ ; │
│ }; │
│ @@ -60,7 +60,7 @@ │
│ cleave = { │
│ apl = "default"; │
│ p1.gearset = "p1"; │
│ - preRaid.gearset = "preraid"; │
│ + preRaid.gearset = "p1-prebis"; │
│ talents = destruction.talents.archi │
│ mondesDarkness; │
│ glyphs = destruction.glyphs.default │
│ ; │
│ }; │
└──────────────────────────────────────────────┘
┌─ web/.astro/types.d.ts ────────────────────────────────────────────────────┐
│ diff --git a/web/.astro/types.d.ts b/web/.astro/types.d.ts │
│ index 03d7cc4..f964fe0 100644 │
│ --- a/web/.astro/types.d.ts │
│ +++ b/web/.astro/types.d.ts │
│ @@ -1,2 +1 @@ │
│ /// <reference types="astro/client" /> │
│ -/// <reference path="content.d.ts" /> │
│ \ No newline at end of file │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ web/.astro/types.d.ts ──────────────┐
│ diff --git a/web/.astro/types.d.ts b/web/.as │
│ tro/types.d.ts │
│ index 03d7cc4..f964fe0 100644 │
│ --- a/web/.astro/types.d.ts │
│ +++ b/web/.astro/types.d.ts │
│ @@ -1,2 +1 @@ │
│ /// <reference types="astro/client" /> │
│ -/// <reference path="content.d.ts" /> │
│ \ No newline at end of file │
└──────────────────────────────────────────────┘
┌─ web/src/layouts/ChartLayout.astro ────────────────────────────────────────┐
│ diff --git a/web/src/layouts/ChartLayout.astro b/web/src/layouts/ChartLayout.astro │
│ index ba9ee64..dd7c381 100644 │
│ --- a/web/src/layouts/ChartLayout.astro │
│ +++ b/web/src/layouts/ChartLayout.astro │
│ @@ -389,6 +389,7 @@ const isFixedClassSpec = fixedClass && fixedSpec; │
│ <div class="control-group"> │
│ <label for="phase">Phase:</label> │
│ <select id="phase"> │
│ + <option value="preRaid">Pre-Raid</option> │
│ <option value="p1">Phase 1</option> │
│ </select> │
│ </div> │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...src/layouts/ChartLayout.astro ───┐
│ diff --git a/web/src/layouts/ChartLayout.ast │
│ ro b/web/src/layouts/ChartLayout.astro │
│ index ba9ee64..dd7c381 100644 │
│ --- a/web/src/layouts/ChartLayout.astro │
│ +++ b/web/src/layouts/ChartLayout.astro │
│ @@ -389,6 +389,7 @@ const isFixedClassSpec = │
│ fixedClass && fixedSpec; │
│ <div class="control-group"> │
│ <label for="phase">Phase:</labe │
│ l> │
│ <select id="phase"> │
│ + <option value="preRaid">Pre-R │
│ aid</option> │
│ <option value="p1">Phase 1</o │
│ ption> │
│ </select> │
│ </div> │
└──────────────────────────────────────────────┘
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET