Skip to content

feat(leathercraft): ancient runic leather archery quiver bench, arrow divider, and ammunition engine - #293

Open
angelTomo9 wants to merge 2 commits into
Bitcoindefi:mainfrom
angelTomo9:feat-archery-quiver-1788154860366
Open

feat(leathercraft): ancient runic leather archery quiver bench, arrow divider, and ammunition engine#293
angelTomo9 wants to merge 2 commits into
Bitcoindefi:mainfrom
angelTomo9:feat-archery-quiver-1788154860366

Conversation

@angelTomo9

Copy link
Copy Markdown

Summary

Implements an ancient runic leather archery quiver bench, arrow divider separator, and ammunition quiver crafting system, quiver benches (Oak Quiver Stitching Bench, Runic Ironwood Arrow Divider Rig, Celestial Void Seraphic Quiver Sanctum), raw tanned deerskin and hardened ironwood stiffeners (Tanned Deerskin Quiver Body, Hardened Ironwood Divider Stiffener, Celestial Void Starlight Ammunition Leather), archery quiver recipes (Ranger Swift-Draw Hip Quiver, Master Sniper Back Quiver, Celestial Void Seraphic Endless Arrow Quiver), draw speed fluidity ratings (scaled across catalog baselines ~14% to 100%), calibrated ranged attack speed and ammo retention scaling, upfront material deduction on all attempts, consistent remainingProvidedLeathers shapes across all branches, extensionless test import, crypto-secure default gameplay rolls strictly in [0, 1), and quiver bench maintenance for OpenAO MMORPG.

Features

  • Quiver bench catalog with power ratings, durability, and fluidity bonuses
  • Archery quiver recipes with calibrated ranged attack speed and ammo retention scaling
  • Independent draw speed fluidity quality roll scaling
  • Upfront material deduction on all craft attempts to prevent zero-cost retries
  • Consistent remainingProvidedLeathers arrays returned on all early rejection branches
  • Cached static catalog maxima and table maintenance with durability threshold gating
  • Full unit test coverage under Vitest including mid-range draw speed tests

Comment thread api/src/lib/ancientRunicLeatherArcheryQuiverBench.ts Outdated
@gitar-bot

gitar-bot Bot commented Aug 31, 2026

Copy link
Copy Markdown
Code Review ✅ Approved 1 resolved / 1 findings

Implements archery quiver crafting system with benches, recipes, and draw speed scaling, addressing the craftQuiver mutation issue by cloning the bench for immutable input safety. No issues found.

✅ 1 resolved
Quality: craftQuiver mutates caller's bench in place

📄 api/src/lib/ancientRunicLeatherArcheryQuiverBench.ts:122-123 📄 api/src/lib/ancientRunicLeatherArcheryQuiverBench.ts:171-175 📄 api/src/lib/ancientRunicLeatherArcheryQuiverBench.ts:230
craftQuiver mutates the passed bench object's currentDurability/isFunctional directly (lines 171-175) rather than operating on a copy, and returns the same reference as updatedBench. This is documented, but because durability and materials are consumed even on the success-roll failure branch, a caller who keeps a reference to the original bench (e.g. for retry or rollback) will see silent state changes. Consider cloning the bench and returning the clone so the input remains immutable, making rollback/retry logic safe.

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Important

Your trial ends in 1 day — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more.

Was this helpful? React with 👍 / 👎 | Gitar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant