Skip to content

feat(leathercraft): ancient runic leather scribe satchel bench, wax seal, and scroll pouch engine - #301

Open
angelTomo9 wants to merge 2 commits into
Bitcoindefi:mainfrom
angelTomo9:feat-scribe-satchel-1788159645313
Open

feat(leathercraft): ancient runic leather scribe satchel bench, wax seal, and scroll pouch engine#301
angelTomo9 wants to merge 2 commits into
Bitcoindefi:mainfrom
angelTomo9:feat-scribe-satchel-1788159645313

Conversation

@angelTomo9

Copy link
Copy Markdown

Summary

Implements an ancient runic leather scribe satchel bench, ink-proof wax seal press, and scroll pouch crafting system, satchel benches (Oak Scribe Satchel Bench, Runic Ironwood Document Rig, Celestial Void Seraphic Archivist Sanctum), raw tanned calfskin satchel blanks and enchanted waterproof wax cakes (Tanned Calfskin Satchel Blank, Enchanted Waterproof Wax Cake, Celestial Void Starlight Archivist Leather), scroll satchel recipes (Apprentice Moisture-Proof Scroll Pouch, Scholar Multi-Tier Document Satchel, Celestial Void Seraphic Bottomless Grimoire Haversack), retrieval fluidity ratings (scaled across catalog baselines ~14% to 100%), calibrated scroll mana cost reduction and scroll damage mitigation scaling, upfront material deduction on all attempts, consistent remainingProvidedLeathers shapes across all branches, immutable bench cloning on craft and maintain operations, extensionless test import, crypto-secure default gameplay rolls strictly in [0, 1), and satchel bench maintenance for OpenAO MMORPG.

Features

  • Satchel bench catalog with power ratings, durability, and quickcast bonuses
  • Scroll satchel recipes with calibrated scroll mana cost reduction and damage mitigation scaling
  • Independent retrieval 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
  • Immutable bench cloning pattern across craft and maintain functions to safeguard caller state references
  • Cached static catalog maxima and table maintenance with durability threshold gating
  • Full unit test coverage under Vitest including mid-range retrieval fluidity tests

Comment thread api/src/tests/ancientRunicLeatherScribeSatchelBench.test.ts Outdated
@gitar-bot

gitar-bot Bot commented Aug 31, 2026

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

Implements a leather scribe satchel bench, wax seal, and scroll pouch crafting system for OpenAO MMORPG with satchel bench catalog, calibrated scroll recipes, retrieval fluidity scaling, upfront material deduction, immutable bench cloning, and full test coverage. Type-only import usage was corrected. No issues found.

✅ 1 resolved
Quality: Type-only import not using import type

📄 api/src/tests/ancientRunicLeatherScribeSatchelBench.test.ts:2-5
ActiveSatchelBench is an interface used only as a type annotation, but it is imported as a value in the same statement as the runtime AncientRunicLeatherScribeSatchelBenchEngine. Existing api/src/tests files (e.g. arenas.integration.test.ts, auth.integration.test.ts) consistently use import type for type-only imports. It works today because verbatimModuleSyntax/isolatedModules are off and esbuild elides the unused type, but it would break if those stricter options are enabled later. Split the type import into an import type { ActiveSatchelBench } statement to match convention.

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