promotional bannermobile promotional banner

HelloStock

Simple and opinionated stock tracking addon.

File Details

v0.3.0-classic

  • R
  • May 12, 2026
  • 47.05 KB
  • 5
  • 1.15.8
  • Classic

File Name

HelloStock-v0.3.0-classic.zip

Supported Versions

  • 1.15.8

HelloStock

v0.3.0 (2026-05-12)

Full Changelog Previous Releases

  • Expand HelloStock into a full crafting-stockpile companion
    This collapses the addon's organic growth into a single change. The
    high-level theme is moving from a hard-coded ingredient checklist to a
    recipe-aware stockpile and craft planner that talks to itself across the
    paired-account scope.
    Items / data model
    • Replace Defaults.lua with Items.lua, organised as Consumables and
      Ingredients tabs with sub-categories (flasks, battle/guardian elixirs,
      combat potions, protection potions, food & drink, Blasted Lands buffs,
      Jujus, weapon buffs, bandages, utility, explosives, herbs, ores, stones,
      leather, cloth, elemental, alchemy supplies, cooking supplies, parts,
      enchanting).
    • Items can carry recipe, classes, indent, separator, and
      roundUpTo metadata; recipes may declare yield for crafts that
      produce more than one (e.g. Dense Dynamite at yield=2).
    • Categories ordered greatest-to-smallest within each type to match the
      established UI pattern.
      Stockpile and tooltips
    • Tooltip.lua: global hook on GameTooltip / ItemRefTooltip appends a
      "Stockpile (N total)" breakdown, a "Can craft" list of characters that
      know the recipe, "Made from" / "Used in" sections derived from
      Items.lua, with yield-aware framing for multi-output recipes. The hook
      is rebuild-safe so it plays nicely with other tooltip addons.
      To gather / To craft views
    • ComputeGatheringList propagates demand through nested recipes via a
      topological sort, applies roundUpTo (so e.g. 50 E'kos rounds to 51),
      and divides ingredient demand by recipe yield.
    • ComputeCraftList is the sibling that emits the crafts themselves,
      rounded up to yield multiples and carrying both the items-to-make and
      the action count.
    • UI: new "To gather" and "To craft" tabs; rows show Need / Stock /
      Gather|Craft with yellow / white / red colouring. Cell-wide hover
      overlays open a tooltip with the ingredient breakdown for that quantity;
      SHIFT expands sub-recipes down to raw ingredients (header line marks
      the option in yellow). The craft view shows a small green
      ready-check on rows where at least one tracked character knows the
      recipe.
      Filtering and class picker
    • Account-wide "In stock", "With target", "Under target" checkboxes
      (linked: toggling "Under target" implies "With target"); persisted
      through /reload by binding on OnShow rather than file-load time.
    • Per-character class filter dropdown (saved to HelloStockCharDB) on the
      Consumables tab; swaps in-place with a red player-class button when
      toggled to the current character's class. Shaman / Paladin hidden by
      faction. Items declare which class groups (MELEE, CASTER, MANA, AGI,
      STR, TANK) they benefit, with warriors included in AGI buffs.
    • Two-pass row render so separators only appear between visible rows
      after filtering.
      Recipe scanning and sync
    • Core scans the trade-skill and craft (enchanting) windows, hashes the
      result with FNV-1a, and only broadcasts a snapshot when the set of
      known recipe IDs changes.
    • Comm.lua: payload now carries crft= (recipe IDs known by the
      character) alongside stocks; Comm:IsBusy() exposes pending in/out
      state so the UI can grey the manual sync button and show an
      explanatory tooltip while a sync is running.
    • System-message filter suppresses "No player named X is currently
      playing" spam for paired characters that are offline.
      UI polish
    • Frame default position on the right edge, with SetUserPlaced(false) so
      WoW's per-character layout cache stops overwriting it. /hs resetpos
      and an Options-panel button reset to default.
    • Top-left collapse/expand-all button aligned with the category arrows;
      per-tab collapsed state remembered.
    • Empty-state messaging: centred under the divider, green when all
      targets met, yellow when nothing is targeted yet.
    • BoP items show a small lock badge to make non-poolable stock obvious.
    • E'ko rows indent under their parent Juju with an L-bracket connector;
      Blasted Lands buffs share a category with their reagents, separated by
      a divider row.
      Minimap, options, slash commands
    • Native minimap button (Minimap.lua) with angle-based positioning
      persisted to HelloStockDB; toggle from Options.
    • /hs cleartargets, /hs gather, /hs resetpos, /hs minimap, plus the
      existing /hs and /hs debug.
      Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com