Implement table-driven draw rules and pity state - #26
Open
ToumanLin wants to merge 1 commit into
Open
Conversation
Owner
|
Reviewed against The project builds and
GitHub currently reports conflicts, although a local Git 2.49 merge-tree calculation at the reviewed base/head was clean; please reconcile the remote merge status. No published CI checks were reported. No changes were pushed during review. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The draw catalog exposes the available banners, but the server does not implement their actual probability, pity, target-rate, calibration, and inherited-pity rules. This causes character, weapon, Fate, Uniframe, and CUB results to diverge from the rules described by the client tables. The existing counters also track lifetime activity progress, so they cannot safely represent the current pity round.
Summary
Data sources
Runtime results come from authoritative draw probability/preview tables, the server-owned draw-rule table, the selected banner, persisted player pity state, and runtime random sampling. Captured response snapshots are not used as runtime sources.
Testing
dotnet build AscNet/AscNet.csprojdotnet run --project AscNet.Test/AscNet.Test.csproj -- --draw-rules-only