Sublyme
(Sublyme)
August 8, 2022, 9:28am
1
Logs here: Godot Engine v3.4.4.stable.mono..3089e490a - https://godotengine.orgOpenGL ES - Pastebin.com
As the title, placing a metabolosome then right-clicking → delete does not refund the full cost, it only refunds 40 instead of 45. You can undo the deletion and placement to regain the mutation points that were deleted. At first glance it doesn’t seem to break with other parts, but I haven’t looked extensively. Logs mention an invalid MP amount which only occurs if a cheat was enabled and disabled, but I have not enabled this cheat to my knowledge.
I’m pretty sure this is another case of:
opened 10:04AM - 19 Jul 22 UTC
difficult
programming
bug
C#
stage:microbe
stage:multicellular
We have a couple of reports of some cases where the MP results don't make sense.… I didn't get anyone to confirm these steps so they might not be accurate but here's at least one report:
> i removed a spike for the mouth. (which was fine, loss of mp like normal) then i added like 3 lysosomes when i should have only had enough mp for 1. same thing happened with when i was adding spikes for the outer cells and when i was putting on more mitochondria for the speed cells. i found out the signaling agent one by placing and undoing things and seeing if i lost or gained mp.
Those steps should cause:
![unknown](https://cdn.discordapp.com/attachments/958598553389903913/998010618055499837/unknown.png)
This might be early multicellular specific. Also I think I saw a related problem in a video where placing an organelle at one specific position was 5 MP cheaper than elsewhere, even though undo was used, but this might be a different problem. This issue is basically here to call attention that the dynamic MP system has at least one bug with inconsistency.
1 Like
There’s already a fix waiting for testing. If you have time and passion you may help test that fix to see if everything goes correct.
Revolutionary-Games:master
← Revolutionary-Games:dynamic_mp_fix
opened 08:08AM - 02 Aug 22 UTC
## Description
(This is added because the complexity of Dyn MP.)
Previously, D… yn MP uses a way similar to bubble sort to check if the action data can be merged together. Which means:
```
1. Place 1
2. Place 2
3. Remove 2
```
May be merged into
```
1. Move 2 -> 1
2. Place 2
```
This PR aims to make combine operation more optimal by adding a key function `GetLeastCostCombineTuple`.
Given the data to combine and a list of actions that may be combined to, this function calculates the cost saved by combination for each action and picks the one that saves the most. Then it returns some relevant info.
**Related Issues**
Extensive testing is needed to prove if this fixes #3558
Workaround #3661
<!-- List all issues this PR closes here with the closes syntax:
https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
If this is not related to an issue, it should be described in more detail why this PR is needed here instead.
-->
**Progress Checklist**
Note: before starting this checklist the PR should be marked as non-draft.
- [x] PR author has checked that this PR works as intended and doesn't
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)
- [ ] Initial code review passed (this and further items should not be checked by the PR author)
- [ ] Functionality is confirmed working by another person (see above checklist link)
- [ ] Final code review is passed and code conforms to the
[styleguide](https://github.com/Revolutionary-Games/Thrive/blob/master/doc/style_guide.md).
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](https://github.com/Revolutionary-Games/Thrive/blob/master/doc/style_guide.md#git).
2 Likes