Skip to content

Add the shell identification tables - #159

Merged
erwan-joly merged 1 commit into
masterfrom
claude/project-thread-mqsz4u
Nov 6, 2026
Merged

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

Conversation

@erwan-joly

Copy link
Copy Markdown
Contributor

Requested by Erwan · project thread

Adds IShellService/ShellService, which NosCore needs to identify shells (NosCoreIO/NosCore#816):

  • GetSlots(ShellType, rarity): the option levels a shell of that kind and rarity rolls, in order. Each slot is either guaranteed or rolls half of the time.
  • GetWeaponOptions(level) / GetArmorOptions(level): for option levels 1-12 (normal, special and PvP groups ranked C/B/A/S), the options that can roll and their per-mille range.
  • GetValue(perMille, shellLevel): the option value. It scales with the shell level, which is floored at 30, and is never below 1. Flag options such as "undisturbed when casting" have a range of 0 and so always come out as 1.
  • GetIdentificationCost(shellLevel, rarity): the Rainbow Pearl count, level / 10 + rarity.

The whole table is in documentation/DocumentationTest.ShellDocumentation.approved.md. Bumps NosCore.Shared to 6.2.0 for the shell enums.


Generated by Claude Code

@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 7 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 6383125 and 8413fb4.

Files selected for processing: 8

  • documentation/DocumentationTest.ShellDocumentation.approved.md
  • src/NosCore.Algorithm/Constants.cs
  • src/NosCore.Algorithm/NosCore.Algorithm.csproj
  • src/NosCore.Algorithm/ShellService/IShellService.cs
  • src/NosCore.Algorithm/ShellService/ShellOption.cs
  • src/NosCore.Algorithm/ShellService/ShellService.cs
  • src/NosCore.Algorithm/ShellService/ShellSlot.cs
  • test/NosCore.Algorithm.Tests/DocumentationTest.cs
  • 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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014gSmkTwxzaQZAz7pgbZjPF
@erwan-joly
erwan-joly force-pushed the claude/project-thread-mqsz4u branch from 4609f4e to 8413fb4 Compare November 6, 2026 13:06
@erwan-joly
erwan-joly merged commit 61e9167 into master Nov 6, 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