Skip to content
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

Multicellular edits of multiple cells can still result in MP being incorrectly refunded #5010

Open
hhyyrylainen opened this issue Apr 10, 2024 · 2 comments

Comments

@hhyyrylainen
Copy link
Member

https://community.revolutionarygamesstudio.com/t/exploit-in-early-multicelluar-stage/7409

To replicate it yourself: In the early multicelluar stage, add any parts of your choosing to your cell, and then duplicate the cell. Next, go back to your modified stem cell and refund all the added parts. Delete the cell and go to the duplicate stem cell. Now, your previous modifications will still be there, and you can add more to it with your refunded mutation points. Rinse and repeat.

@Avery-Brinkman
Copy link

I had a couple ideas for this:

  • Prevent duplication of modified cells entirely
  • Don't include the new parts in the duplicated cell
  • Make duplication cost the same as whatever parts were added (ie, add a 10 point part to Cell, duplication of that cell now costs 10 points, removing the part from the original cell will refund the 10 points while removing from the duplicate would cost points)
  • Retain the state of parts for the duplicate, which would also mean a cost for duplication (ie, add a 10 point part to Cell, duplication now costs 10 points, removing the part from either the original cell or the new cell will refund the 10 points)

Do any of these sound reasonable? I like the last one the most, but I'm not familiar enough with the code to judge how difficult it'd be to do.

@hhyyrylainen
Copy link
Member Author

I would personally approach this by preventing action combine for add organelle-delete organelle action pair if there is a cell duplication action that affects the same cell that organelle is for. That way everything should work the same as before but the MP is not incorrectly refunded.

It would be pretty complicated to then correctly refund the MP if the organelle was deleted from all duplicated copies, so I would just leave that out. So if someone messed around with this they'd lose MP if they didn't undo changes all the way to the cell duplication action, but at least it shouldn't be possible to get free MP this way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Thrive Planning
  
Backburner
Development

No branches or pull requests

2 participants