Skip to content

feat(hunting): radiant monster hunting bounty board and party proximity credit engine - #195

Open
angelTomo9 wants to merge 2 commits into
Bitcoindefi:mainfrom
angelTomo9:feat-hunting-bounty-1787846437923
Open

feat(hunting): radiant monster hunting bounty board and party proximity credit engine#195
angelTomo9 wants to merge 2 commits into
Bitcoindefi:mainfrom
angelTomo9:feat-hunting-bounty-1787846437923

Conversation

@angelTomo9

Copy link
Copy Markdown

Summary

Implements a radiant monster hunting and elite beast bounty board engine for OpenAO MMORPG.

Features

  • Dynamic bounty contracts with difficulty tiers and target kill quotas
  • Party kill credit verification based on proximity radius (15 tiles)
  • Multi-currency reward payouts (Gold, Faction Reputation, EXP)
  • Full unit test coverage under Vitest

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

gitar-bot Bot commented Aug 27, 2026

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

Implements a radiant monster hunting bounty board and party proximity credit engine with comprehensive test coverage. Contract existence validation in acceptContract and a requiredKillCount floor guard have been successfully addressed.

✅ 2 resolved
Edge Case: acceptContract does not validate contract existence

📄 api/src/lib/huntingBountyBoard.ts:47-55
acceptContract blindly builds progress from a raw contractId string without receiving/validating the BountyContract, so a player can accept a nonexistent or malformed contract, and there is no dedup guard against accepting the same contract twice. Pass the BountyContract (or a validated lookup) and reject unknown/duplicate contracts to keep progress records consistent with claimReward's contractId matching.

Edge Case: No guard for requiredKillCount <= 0

📄 api/src/lib/huntingBountyBoard.ts:73-87
If a BountyContract has requiredKillCount of 0 (or negative), recordMonsterKill never marks progress complete via the currentKills >= requiredKillCount path in a meaningful way, and claimReward will always report 'objectives not completed'. Validate requiredKillCount >= 1 when contracts are created, or treat non-positive quotas as immediately completed.

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 5 days — 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