promotional bannermobile promotional banner

LazyProf

Calculate the cheapest path to level your professions. Works with TSM and Auctionator for real prices.

File Details

v0.3.5

  • R
  • Jan 27, 2026
  • 367.84 KB
  • 112
  • 2.5.5+1
  • Classic + 1

File Name

LazyProf-v0.3.5.zip

Supported Versions

  • 2.5.5
  • 1.15.8

LazyProf

v0.3.5 (2026-01-27)

Full Changelog Previous Releases

  • docs: release v0.3.5
    • Added owned materials optimization (treat owned items as free)
    • Added Copy All button in debug window
    • Welcome message no longer shows redundant addon name
    • Updated CraftLib to v0.2.10
  • fix: remove redundant addon name from welcome messages
    • LazyProf: Remove "LazyProf" from message (Ace3 Print already adds prefix)
    • Update TOC versions to match CHANGELOG (LazyProf 0.3.2, CraftLib 0.2.7)
    • Update CraftLib submodule with welcome message feature
  • docs: add owned materials optimization to changelog and readme
    Documents the new pathfinding feature that treats owned materials
    as free when calculating the cheapest leveling path.
  • feat(ui): add 'From Alts' section to shopping list
    • Pathfinder now tracks which items come from which alt characters
    • Shopping list shows purple "From Alts" section between Bank and To Craft
    • Each item shows character names and counts
    • Tooltip shows full breakdown per character
      Helps users know which alt to log into for material transfers.
  • feat(pathfinder): use actual cost (owned materials = free) in recipe scoring
    ScoreRecipe now calculates actualCost by subtracting owned materials:
    • actualCost = sum of (materials_to_buy × market_price)
    • materials_to_buy = max(0, needed - owned)
      This makes recipes using materials you already own score better,
      minimizing actual gold spent rather than theoretical market value.
      Market prices are NOT modified (avoids nil/zero rejection conflict).
      Debug output now shows both actual and theoretical costs.
  • feat(inventory): add ScanAlts() for cross-character material scanning
    • ScanAlts() iterates all characters via Syndicator API
    • Returns both combined counts and per-character breakdown for UI
    • ScanAll() updated to include alts when settings enabled
  • feat(config): add owned materials optimization settings
    • useOwnedMaterials: treat owned items as free in pathfinding
    • includeAltCharacters: extend to alt inventories (requires Syndicator)
      Both settings include verbose tooltips explaining behavior.
  • chore: add .worktrees/ to gitignore
    Prepare for feature branch worktrees by ensuring the
    directory won't be tracked.
  • feat(ui): add Copy All button to debug log window
    Adds a button that selects all text so users can copy with Ctrl+C.
    Removes misleading Ctrl+A hint since WoW EditBox doesn't support it.
  • chore: update CraftLib submodule
  • fix(release): use auto-detect for game versions
    • Revert to comma-separated Interface values in TOC
    • Remove -g flags from workflow (let packager auto-detect)
    • Remove enable-toc-creation (not needed)