-
-
Notifications
You must be signed in to change notification settings - Fork 512
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix double refunding of organelle upgrade MP #5779
Fix double refunding of organelle upgrade MP #5779
Conversation
The lead programmer for Thrive is currently on vacation until 2025-01-07. Until then other programmers will try to make pull request reviews, but please be patient if your PR is not getting reviewed. PRs may be merged after multiple programmers have approved the changes (especially making sure to ensure style guide conformance and gameplay testing are good). If there are no active experienced programmers who can perform merges, PRs may need to wait until the lead programmer is back to be merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR fixes the issue based on my testing; the solution makes sense to me too.
src/microbe_stage/editor/action_data/OrganelleUpgradeActionData.cs
Outdated
Show resolved
Hide resolved
05fa998
to
66a2ab1
Compare
in the upgrade MP cost
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This fixes the infinite MP exploit (as long as I didn't accidentally mess up the steps). So I think this is good to merge now. I added a further TODO about a related issue that this doesn't fix (and I kept the deleted code as commented out for future reference).
58776aa
into
Revolutionary-Games:master
Brief Description of What This PR Does
When changing the organelle upgrade repeatedly in the same editor cycle, MP would be refunded twice (as detailed in #5524). This is because the cost of an upgrade also includes the negated cost of the current upgrade, meanwhile the editor refunds MP where
ActionInterferenceMode.Combinable
is returned as the interference mode.I initially fixed this by not combining the actions. However I have now changed the implementation to avoid the negated cost.
Related Issues
Closes #5524
Progress Checklist
Note: before starting this checklist the PR should be marked as non-draft.
break existing features:
https://wiki.revolutionarygamesstudio.com/wiki/Testing_Checklist
(this is important as to not waste the time of Thrive team
members reviewing this PR)
styleguide.
Before merging all CI jobs should finish on this PR without errors, if
there are automatically detected style issues they should be fixed by
the PR author. Merging must follow our
styleguide.