HASH 51a1219066ef
DATE 2025-07-29
SUBJECT nix: use alchemy profession if simulating alchamist stone
FILES 1 CHANGED
HASH 51a1219066ef
DATE 2025-07-29
SUBJECT nix: use alchemy profession if
simulating alchamist stone
FILES 1 CHANGED
┌─ nix/apps/simulation/mkTrinketComparison.nix ──────────────────────────────┐
│ diff --git a/nix/apps/simulation/mkTrinketComparison.nix b/nix/apps/simulation/mkT │
│ rinketComparison.nix │
│ index 03453df..2cf24ba 100644 │
│ --- a/nix/apps/simulation/mkTrinketComparison.nix │
│ +++ b/nix/apps/simulation/mkTrinketComparison.nix │
│ @@ -56,14 +56,33 @@ │
│ # Create baseline player config │
│ baselineConfig = baseConfig // {equipment = baselineGearset;}; │
│ │
│ + # Trinket profession requirements mapping │
│ + trinketProfessionRequirements = { │
│ + "75274" = "Alchemy"; # Zen Alchemist Stone │
│ + # Add other profession-specific trinkets here as needed │
│ + }; │
│ + │
│ # Generate trinket gearsets │
│ trinketGearsets = trinketLib.generateTrinketGearsets baselineGearset actualTr │
│ inketIds; │
│ │
│ - # Create trinket configs with gearsets │
│ + # Create trinket configs with gearsets and profession adjustments │
│ trinketConfigs = │
│ - lib.imap0 (index: gearset: { │
│ + lib.imap0 (index: gearset: let │
│ trinketId = builtins.elemAt actualTrinketIds index; │
│ - config = baseConfig // {equipment = gearset;}; │
│ + trinketIdStr = toString trinketId; │
│ + requiredProfession = trinketProfessionRequirements.${trinketIdStr} or nul │
│ l; │
│ + │
│ + # Modify profession if trinket requires it │
│ + configWithProfession = │
│ + if requiredProfession != null │
│ + then baseConfig // { │
│ + equipment = gearset; │
│ + profession2 = requiredProfession; │
│ + } │
│ + else baseConfig // {equipment = gearset;}; │
│ + in { │
│ + trinketId = trinketId; │
│ + config = configWithProfession; │
│ }) │
│ trinketGearsets; │
│ │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...ation/mkTrinketComparison.nix ───┐
│ diff --git a/nix/apps/simulation/mkTrinketCo │
│ mparison.nix b/nix/apps/simulation/mkTrinket │
│ Comparison.nix │
│ index 03453df..2cf24ba 100644 │
│ --- a/nix/apps/simulation/mkTrinketCompariso │
│ n.nix │
│ +++ b/nix/apps/simulation/mkTrinketCompariso │
│ n.nix │
│ @@ -56,14 +56,33 @@ │
│ # Create baseline player config │
│ baselineConfig = baseConfig // {equipme │
│ nt = baselineGearset;}; │
│ │
│ + # Trinket profession requirements mappi │
│ ng │
│ + trinketProfessionRequirements = { │
│ + "75274" = "Alchemy"; # Zen Alchemist │
│ Stone │
│ + # Add other profession-specific trink │
│ ets here as needed │
│ + }; │
│ + │
│ # Generate trinket gearsets │
│ trinketGearsets = trinketLib.generateTr │
│ inketGearsets baselineGearset actualTrinketI │
│ ds; │
│ │
│ - # Create trinket configs with gearsets │
│ + # Create trinket configs with gearsets │
│ and profession adjustments │
│ trinketConfigs = │
│ - lib.imap0 (index: gearset: { │
│ + lib.imap0 (index: gearset: let │
│ trinketId = builtins.elemAt actualT │
│ rinketIds index; │
│ - config = baseConfig // {equipment = │
│ gearset;}; │
│ + trinketIdStr = toString trinketId; │
│ + requiredProfession = trinketProfess │
│ ionRequirements.${trinketIdStr} or null; │
│ + │
│ + # Modify profession if trinket requ │
│ ires it │
│ + configWithProfession = │
│ + if requiredProfession != null │
│ + then baseConfig // { │
│ + equipment = gearset; │
│ + profession2 = requiredProfessio │
│ n; │
│ + } │
│ + else baseConfig // {equipment = g │
│ earset;}; │
│ + in { │
│ + trinketId = trinketId; │
│ + config = configWithProfession; │
│ }) │
│ trinketGearsets; │
│ │
└──────────────────────────────────────────────┘
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET