Implement CamOps Contract Negotiation #5054
Merged
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.
This implements the CamOps RAW Negotiation mechanics for the CamOps Contract Market. Players are allowed to reroll each term once, and the term is recalculated based on the MOS/MOF of an opposed negotiation check. For each 2 points of MOS/MOF, the roll on the supplemental terms table is adjusted up or down by 1.
I ended up adding some additional Camops-specific state in AtBContract. Specifically, the initial rolls for the contract so that they can later be adjusted if the terms are negotiated.
Flipping this to Draft since while writing I realized that we would need to serialize the initial rolls as well.