VoidArkMods / QoLPlus

ARK: Survival Ascended mod. Adds quality of life changes.
GNU Affero General Public License v3.0
17 stars 13 forks source link

Propagator being....weird? #142

Open MapIeNeko opened 9 months ago

MapIeNeko commented 9 months ago

So I was doing a little playing around with propagators and found a few interesting issues, firstly, they mutate the base stat and don't add on to the new mutation "Stat" here's a little bronto that got 4 points into melee, but as shown its not seen in the mutation collum. First image is the bronto in the egg and second is as a bby

uno1 uno

Also I've found that it gives the baby a lineage of wild parents and not its actual parents

uno 3

SO yeh, props being a lil weird.

VoidArkMods commented 9 months ago

Hello! The first issue has been fixed as part of CurseForge release 32 (23rd January 2024). Regarding the second issue, I've been able to reproduce it. If I can remember properly, this was also the case in SE, as the code does not capture the IDs of the ancestors. I will need more time to fix the ancestry line, as a result I suggest to not use propagator-generated creature with Ark Smart Breeding or similar tools, as the ancestors won't appear.

maheshphule22 commented 9 months ago

Thanks for the update. Current update is putting mutation stack correctly in 2nd field as seen in tek binocular

But I would say there are still issues with it

  1. Seems like it is putting mutation in hidden stats also (speed or oxygen) - for some babies I am able to see +4 mutations in health etc, but for some babies not able to see +4 anywhere in stats but overall baby level is increased +4 from parents(same stats parent), I have not enabled movement speed leveling. let me know if I need to create different issue for this.
  2. wild Ancestors - ASE S+ was used to show ancestors correctly, at-least names, i never used/tracked by ID, sometimes we used those to correct names ofwhen we missed naming a baby TheriMutationAncestry
MapIeNeko commented 9 months ago

Hello! The first issue has been fixed as part of CurseForge release 32 (23rd January 2024). Regarding the second issue, I've been able to reproduce it. If I can remember properly, this was also the case in SE, as the code does not capture the IDs of the ancestors. I will need more time to fix the ancestry line, as a result I suggest to not use propagator-generated creature with Ark Smart Breeding or similar tools, as the ancestors won't appear.

First of all, the prop fix so far is fantastic for mutations! Though today, I once again ran into another weirdness. When breeding non-breedable, such as the rhinioganthas, all babies are level 1 D: I'm not sure if those are hard game-coded problems or something on the QOL+ end.

VoidArkMods commented 9 months ago

Hmm, that's kinda weird: I tested it with very random creatures (boss creatures from heavy mods like primal chaos/ark descended) and their lvl seems correct. I'll test it further. Regarding hidden stats, your assumption is true: the random mutation can happen in a hidden stat. I'll try to investigate to see how to prevent those mutations from happening. There is also a known bug, after the recent update on the propagator: the new eggs to not forward the previous mutation stack. It means it's not possible to stack mutations as before. I'll figure out something.

VoidArkMods commented 9 months ago

The propagator should now forward mutations as expected. I'll leave the issue open and use it as reference for the ancestry definition.

Roundie74 commented 9 months ago

Is the update to fix the mutation stacking still pending release by curseforge? Updated the mod this morning but mutations still don't seem to be stacking for me?

Loving your work btw! I appreciate it!

VoidArkMods commented 9 months ago

A comment was added and then deleted, but this forced me to go check on console :p I just tested on the latest available version on console (PS5) and mutations are forwarded as expected. Are you sure the mod updated properly? You can check your engram, if you see the QoL+ Dedicated Storages, you're good to go, as they were added after the propagator fix.

Roundie74 commented 9 months ago

Yup, put a whole bunch of dedis down today. I'm on PC, not Console like Fubz.

If I put 2 element in the mutation for the female in the prop, I will get a stat like 2 + 4. When I hatch the egg, that stat still only says 2. Not sure what is happening?

VoidArkMods commented 9 months ago

Let's say you have a bunch of females, with 10 wild levels in each stats, without any mutation. You want to breed them with a male, that has 5 wild levels in each stats and +10 from mutations in health, stamina, weight and damage (a round of mutation grants +2 to the counter, so that's 5 rounds in each of the listed stats). You place everything in the QoL+ Propagator, set all the females to breed with 2 pulses of mutations.

For each stat, the QoL+ Propagator will select if the inherited stat of the offspring will come from the mother or the father. There is 45% chance that the lower stat gets selected (45% chance to get the stat of the father, 5 wild levels) and 55% chance to select the higher stat (55% chance to get the 10 wild levels from the mother). In ASA, the mutation stack is kept in a dedicated counter, per stat. Both the mother and the father have their own. In our example, the mother has 0 mutation in all of its counters, the father has 10 in health, 10 in stamina, 10 in weight, 10 in damage and 0 in the other stats. The highest mutation stack between the father and the mother always attaches to the highest wild level stat: if the selected stat from the previous paragraph was the mother ones (10 wild levels), then the +10 from mutations will be forwarded. If the offspring inherited the 5 wild levels from the male, then the +10 from mutations will not be forwarded. After all of that, the QoL+ Propagator decides if there are new mutations, in which stat, and apply them.

Therefore, you can end up with eggs like these:

image This raptor took the lower wild level stat on HP and the QoL+ Propagator decided to mutate it, therefore 0 + 4 mutations in HP. On the other end, the stamina took the higher wild level stat, but the QoL+ Propagator did not add new mutations to it, therefore 10 + 0 mutations in stamina.

image This time, the baby raptor inherited the higher stat in HP and therefore the higher mutation stack from its parents attached to it. On top of that, the QoL+ Propagator decided to mutate the HP stat as well, which leads to 10 + 4 mutations (10 from the previous mutation stack, and 4 additional ones from this breeding cycle).

If you confirm that the QoL+ Propagator behaves like that on your side as well, that means everything works as expected and I can close this issue. If you need to test, I suggest you to test with a bunch of females, there are plenty of potential scenarios.

FuBz86 commented 9 months ago

Yeah sorry, i pulled my comment because i realised i must have been using old eggs from my singleplayer. All seems to be working now, but thanks for looking into it, really appreciate the work you're doing on this mod. It definitely makes life easier.

Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: VoidArkMods @.> Sent: Wednesday, January 31, 2024 12:46:13 AM To: VoidArkMods/QoLPlus @.> Cc: FuBz86 @.>; Comment @.> Subject: Re: [VoidArkMods/QoLPlus] Propagator being....weird? (Issue #142)

Let's say you have a bunch of females, with 10 wild levels in each stats, without any mutation. You want to breed them with a male, that has 5 wild levels in each stats and +10 from mutations in health, stamina, weight and damage (a round of mutation grants +2 to the counter, so that's 5 rounds in each of the listed stats). You place everything in the QoL+ Propagator, set all the females to breed with 2 pulses of mutations.

For each stat, the QoL+ Propagator will select if the inherited stat of the offspring will come from the mother or the father. There is 45% chance that the lower stat gets selected (45% chance to get the stat of the father, 5 wild levels) and 55% chance to select the higher stat (55% chance to get the 10 wild levels from the mother). In ASA, the mutation stack is kept in a dedicated counter, per stat. Both the mother and the father have their own. In our example, the mother has 0 mutation in all of its counters, the father has 10 in health, 10 in stamina, 10 in weight, 10 in damage and 0 in the other stats. The highest mutation stack between the father and the mother always attaches to the highest wild level stat: if the selected stat from the previous paragraph was the mother ones (10 wild levels), then the +10 from mutations will be forwarded. If the offspring inherited the 5 wild levels from the male, then the +10 from mutations will not be forwarded. After all of that, the QoL+ Propagator decides if there are new mutations, in which stat, and apply them.

Therefore, you can end up with eggs like these:

image.png (view on web)https://github.com/VoidArkMods/QoLPlus/assets/151264019/7df4c73c-5d44-4111-9f5c-3d65ad5a9c35 This raptor took the lower wild level stat on HP and the QoL+ Propagator decided to mutate it, therefore 0 + 4 mutations in HP. On the other end, the stamina took the higher wild level stat, but the QoL+ Propagator did not add new mutations to it, therefore 10 + 0 mutations in stamina.

image.png (view on web)https://github.com/VoidArkMods/QoLPlus/assets/151264019/448438e7-2c02-453e-96b4-408ec5fe1e6b This time, the baby raptor inherited the higher stat in HP and therefore the higher mutation stack from its parents attached to it. On top of that, the QoL+ Propagator decided to mutate the HP stat as well, which leads to 10 + 4 mutations (10 from the previous mutation stack, and 4 additional ones from this breeding cycle).

If you confirm that the QoL+ Propagator behaves like that on your side as well, that means everything works as expected and I can close this issue. If you need to test, I suggest you to test with a bunch of females, there are plenty of potential scenarios.

— Reply to this email directly, view it on GitHubhttps://github.com/VoidArkMods/QoLPlus/issues/142#issuecomment-1917464203, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BFC5WUGVLQI2A3EEO5WFES3YREPVLAVCNFSM6AAAAABCAQALMOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJXGQ3DIMRQGM. You are receiving this because you commented.Message ID: @.***>

Roundie74 commented 9 months ago

Thanks for the additional information @VoidArkMods . I apologise for being an idiot. Def user error on my behalf. I was still looking for the first stat to increase too with the mutation counter. I can confirm the + figure is increasing as per your example.

So I just need to add the base stat of the dino plus mutation points to make sure I don't breed over 254 total, right?

Again, apologies. didn't mean to waste your time. Thank you for the support!

ItsG4T0R commented 9 months ago

We added the propagator to our server last night and noticed the lineage scrub on baby dinos hatched from QOL eggs. is there any update on a fix for this?

VoidArkMods commented 9 months ago

Hello. I'm working on a fix for the lineage. It will probably come with the next update.

ItsG4T0R commented 9 months ago

Hello, referencing back to mutations falling in hidden stats. we are getting eggs from the propagator that have added levels but no added mutation shown. is this still an ongoing issue or was this fixed? 20240208111618_1 20240208111622_1

VoidArkMods commented 9 months ago

It has not been fixed as of now, no. It is likely the mutation went into movement speed (mutation stacks are treated much like wild levels, therefore when they occur on the speed stat the displayed value will still be 100%). This can be validated with the use of the tek binoculars, or a modded spyglass.