Skip to content

feat: expose mixed effects to custom mixing-output factories - #368

Closed
Lumahex-star wants to merge 1 commit into
ifBars:stablefrom
Lumahex-star:claude/youthful-hawking-hkygk4
Closed

Lumahex-star wants to merge 1 commit into
ifBars:stablefrom
Lumahex-star:claude/youthful-hawking-hkygk4

Conversation

@Lumahex-star

Copy link
Copy Markdown

ProductMixingOutput now carries the resolved effect list as ProductMixingEffect snapshots (Id, Name, Tier, ValueChange, ValueMultiplier) and a CalculateNativeValue(baseValue) helper that prices those effects with the game's own ProductManager calculation. Custom output factories can now match native mix pricing without a hand-maintained table of effect multipliers.

The mixing guide's MDMA example added a flat $10 to SourcePrice, which ignored each ingredient's multiplier and compounded on repeated mixes. It now prices from a fixed base via CalculateNativeValue.

Additive only: existing ProductMixingOutput members, the legacy internal constructor, and generated-product pricing are unchanged.

Claude-Session: https://claude.ai/code/session_019LX6FM1MZXnbvGC5gXufQe

Linked issue

Contributor checklist

  • I linked an issue opened before this PR, or explained an allowed exception above.
  • I checked existing issues and PRs for duplicate or overlapping work.
  • This PR addresses one focused problem or request.

Summary

Compatibility

  • Public/protected API:
  • Existing defaults and behavior:
  • Stable IDs, saves, and network payloads:

Validation

Mono

IL2CPP

Runtime evidence

Documentation

ProductMixingOutput now carries the resolved effect list as
ProductMixingEffect snapshots (Id, Name, Tier, ValueChange,
ValueMultiplier) and a CalculateNativeValue(baseValue) helper that
prices those effects with the game's own ProductManager calculation.
Custom output factories can now match native mix pricing without a
hand-maintained table of effect multipliers.

The mixing guide's MDMA example added a flat $10 to SourcePrice, which
ignored each ingredient's multiplier and compounded on repeated mixes.
It now prices from a fixed base via CalculateNativeValue.

Additive only: existing ProductMixingOutput members, the legacy
internal constructor, and generated-product pricing are unchanged.

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

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 79dd869a-f8a2-4197-bd5c-549e7365cfed
📥 Commits

Reviewing files that changed from the base of the PR and between c843c9d and e8efdb4.

📒 Files selected for processing: 5
  • S1API.Tests/Products/ProductMixingOutputTests.cs
  • S1API/Internal/Patches/MixReactionPatches.cs
  • S1API/Products/ProductMixingEffect.cs
  • S1API/Products/ProductMixingOutput.cs
  • S1API/docs/mixing-ingredients.md
+---------------------------------------------------------------------------+
| Edge cases called - they'd like to be included in your 'done' definition. |
+---------------------------------------------------------------------------+
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
  • 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

Comment @coderabbitai help to get the list of available commands.

@Lumahex-star

Copy link
Copy Markdown
Author

Didn't mean to do this yet, sorry bars.

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