Skip to content

feat(leathercraft): ancient runic leather trophy mount bench, flesh hook, and beast wall engine - #299

Open
angelTomo9 wants to merge 2 commits into
Bitcoindefi:mainfrom
angelTomo9:feat-trophy-mount-1788158444103
Open

feat(leathercraft): ancient runic leather trophy mount bench, flesh hook, and beast wall engine#299
angelTomo9 wants to merge 2 commits into
Bitcoindefi:mainfrom
angelTomo9:feat-trophy-mount-1788158444103

Conversation

@angelTomo9

Copy link
Copy Markdown

Summary

Implements an ancient runic leather trophy mount bench, taxidermy flesh hook frame, and beast trophy wall mount crafting system, trophy benches (Oak Trophy Mounting Bench, Runic Ironwood Taxidermy Rig, Celestial Void Seraphic Trophy Sanctum), raw tanned direbear hides and carved mammoth ivory plaques (Tanned Direbear Trophy Hide, Carved Mammoth Ivory Plaque, Celestial Void Starlight Sovereign Trophy Leather), beast trophy wall mount recipes (Hunter Dire Wolf Wall Mount, Champion Manticore Head Mount, Celestial Void Seraphic Dragon Sovereign Wall Mount), morale inspiring ratings (scaled across catalog baselines ~14% to 100%), calibrated combat morale bonus and resting stamina regen 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 trophy bench maintenance for OpenAO MMORPG.

Features

  • Trophy bench catalog with power ratings, durability, and morale bonuses
  • Beast trophy recipes with calibrated combat morale bonus and resting stamina regen scaling
  • Independent morale inspiring 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 morale tests

CELESTIAL_VOID_SERAPHIC_DRAGON_SOVEREIGN_WALL_MOUNT: { recipeType: "CELESTIAL_VOID_SERAPHIC_DRAGON_SOVEREIGN_WALL_MOUNT", requiredLeatherType: "CELESTIAL_VOID_STARLIGHT_SOVEREIGN_TROPHY_LEATHER", requiredLeatherCount: 2, baseCombatMoraleBonusPercent: 80, baseRestingStaminaRegenPercent: 60 },
};

export class AncientRunicLeatherTrophyMountBenchEngine {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Quality: New trophy engine module is not wired into the app

AncientRunicLeatherTrophyMountBenchEngine is not imported or referenced anywhere outside its own file and test; unlike the other api/src/lib modules (email, passwords, gameData, etc.) it is not consumed by any route/service, so the feature is unreachable in the running game. If this is intended as future scaffolding that's fine, but otherwise add an integration point (controller/service/route) so the crafting engine is actually invoked.

Was this helpful? React with 👍 / 👎

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

gitar-bot Bot commented Aug 31, 2026

Copy link
Copy Markdown
Code Review 👍 Approved with suggestions 1 resolved / 2 findings

Adds a comprehensive ancient runic leather trophy mount crafting system with bench catalog, beast trophy recipes, morale scaling, and full test coverage. The new AncientRunicLeatherTrophyMountBenchEngine module is well-structured but not yet wired into the app—consider adding a controller, service, or route integration so the crafting engine is actually reachable in gameplay.

💡 Quality: New trophy engine module is not wired into the app

📄 api/src/lib/ancientRunicLeatherTrophyMountBench.ts:65

AncientRunicLeatherTrophyMountBenchEngine is not imported or referenced anywhere outside its own file and test; unlike the other api/src/lib modules (email, passwords, gameData, etc.) it is not consumed by any route/service, so the feature is unreachable in the running game. If this is intended as future scaffolding that's fine, but otherwise add an integration point (controller/service/route) so the crafting engine is actually invoked.

✅ 1 resolved
Quality: Doc comment claims unimplemented "intimidation aura" rating

📄 api/src/lib/ancientRunicLeatherTrophyMountBench.ts:8
The module JSDoc advertises "independent intimidation aura & morale inspiring ratings," but only the morale inspiring rating (moraleInspiringPercent) is computed and returned; there is no intimidation aura field or calculation. Remove the intimidation aura wording from the comment (lines 8, and the header at line 8) to keep the documentation accurate.

🤖 Prompt for agents
Code Review: Adds a comprehensive ancient runic leather trophy mount crafting system with bench catalog, beast trophy recipes, morale scaling, and full test coverage. The new `AncientRunicLeatherTrophyMountBenchEngine` module is well-structured but not yet wired into the app—consider adding a controller, service, or route integration so the crafting engine is actually reachable in gameplay.

1. 💡 Quality: New trophy engine module is not wired into the app
   Files: api/src/lib/ancientRunicLeatherTrophyMountBench.ts:65

   AncientRunicLeatherTrophyMountBenchEngine is not imported or referenced anywhere outside its own file and test; unlike the other api/src/lib modules (email, passwords, gameData, etc.) it is not consumed by any route/service, so the feature is unreachable in the running game. If this is intended as future scaffolding that's fine, but otherwise add an integration point (controller/service/route) so the crafting engine is actually invoked.

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