Skip to content

Add the perfume cost of taking over a bound item - #175

Merged
erwan-joly merged 1 commit into
masterfrom
claude/project-thread-wi9f5y-perfume
Nov 12, 2026
Merged

erwan-joly merged 1 commit into
masterfrom
claude/project-thread-wi9f5y-perfume

Conversation

@erwan-joly

@erwan-joly erwan-joly commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

What changed

Perfume (item 1428) lets a player take over a weapon or armour that is bound to another player. The client's perfume window works out both costs itself, from the item's level and rarity, so the server must charge exactly what it shows. IShellService gains:

  • GetPerfumeCost(itemLevel, rarity, heroic): the perfume count. Items up to level 20, level 100 and above, and rarity 0 or 8 cost no perfume. A heroic item costs its level plus 40 per rarity.
  • GetPerfumeGoldCost(itemLevel): the gold. It runs from 1 000 at level 1 to 20 000 at level 90-99.

The numbers come from the client executable. Its perfume window calls one function for the count and one for the gold. I ran both for every level from 0 to 255 and every rarity from 0 to 255, and the brackets here are exactly the ones they return.

The ShellDocumentation approval table gains both tables.

Minor version (new API): 6.6.0.


Generated by Claude Code

Summary by CodeRabbit

  • New Features
    • Added perfume and gold cost information for taking over items bound to another player. Costs vary by item level and rarity, with separate perfume pricing for heroic items.
  • Documentation
    • Added tables showing perfume and gold costs across supported item levels and rarities.

The client's perfume window computes the perfume and gold it asks for
from the item's level and rarity, and for heroic items from the level
plus 40 per rarity. ShellService now gives the same numbers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014gSmkVtYup7KTZ63CJcxZT
@coderabbitai

coderabbitai Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The shell service adds lookups for regular and heroic perfume costs and related gold costs. Its generated documentation and approved output now include perfume cost tables.

Changes

Perfume Cost Lookups

Layer / File(s) Summary
Cost lookup contract and implementation
src/NosCore.Algorithm/ShellService/IShellService.cs, src/NosCore.Algorithm/ShellService/ShellService.cs
The interface adds perfume and gold cost methods. The service selects regular costs by level threshold, calculates heroic costs from item level and rarity, and defines configured costs for levels 1 through 100.
Generated and approved cost documentation
test/NosCore.Algorithm.Tests/DocumentationTest.cs, documentation/DocumentationTest.ShellDocumentation.approved.md
The documentation test adds regular and heroic perfume cost tables. The approved documentation includes the resulting tables.

Estimated code review effort: 2 (Simple) | ~15 minutes

Change: Feature

Suggested reviewers: claude

Merge Risk: Minimal · up to de8bb

This change adds perfume and gold cost lookups for taking over bound items, along with generated documentation. No merge-blocking risk was identified.

Pre-merge checks: Passed 4

Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "Add the perfume cost of taking over a bound item" matches the main change. The PR adds IShellService.GetPerfumeCost and GetPerfumeGoldCost to compute the perfume and gold costs for taking o…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "Add the perfume cost of taking over a bound item" matches the main change. The PR adds IShellService.GetPerfumeCost and GetPerfumeGoldCost to compute the perfume and gold costs for taking over a bound item, and it updates the ShellDocumentation approval file and test to document these costs. The title is specific and describes the primary change.

Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 8667ab9 and de8bbd2.

Files selected for processing: 4

  • documentation/DocumentationTest.ShellDocumentation.approved.md
  • src/NosCore.Algorithm/ShellService/IShellService.cs
  • src/NosCore.Algorithm/ShellService/ShellService.cs
  • test/NosCore.Algorithm.Tests/DocumentationTest.cs

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@erwan-joly
erwan-joly merged commit c3bd913 into master Nov 12, 2026
3 checks passed
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.

2 participants