Talk:Mutations

From ARK Wiki
Jump to navigation Jump to search

The linked Video of Syntac is wrong. He allways talks about a Torpor mutation, not realizing, that it's just the level of the dino that increased. The Torpor stat can not mutate due to it's direct dependence on a dino's level. This means that the Torpor of a LV224 Dino is identic to all LV224 Dinos. A level mutation brings Torpor with it, but Torpor itself does not even have a slot for stat points. — Preceding unsigned comment added by 87.191.43.18 (talk • contribs) at 07:26, 2 April 2019‎. Please sign your posts with ~~~~

You could fix it yourself by adding a note detailing about the error, just make sure your information is correct as well or it could be undone. 216.54.120.82 14:44, 2 April 2019 (UTC)
I thought about restoring the link to TimmyCarbine's mutation video, but it is a bit old. I think until someone knows a good current one we can keep Syntac's. Other things than the Torpidity seems not to be wrong. --Flachdachs (talk) 20:30, 2 April 2019 (UTC)
Despite of a bit offtopic talk inbetween the best I found was TagBackTV's mutation video series. He's a massive breeder with many mutations occuring to show people how to. I would just delete the video link from that section and leave links behind at the bottom. — Preceding unsigned comment added by 87.191.43.18 (talk • contribs) at 08:17, 3 April 2019‎. Please sign your posts with ~~~~
If you post a link to that video here, someone could probably swap it with the current video. 216.54.120.82 15:51, 3 April 2019 (UTC)
Added note below video. Boidster (talk) 17:26, 16 September 2019 (UTC)

After reading all references (as well as any other 2017 or later references I could find), closely walking through the reverse-engineered code for DoMate(), and browsing the JSON data provided by u/mgxtx @Reddit, I have revised the Mechanics section. It covers all of the same ground as the previous text, but structured exactly as it happens in game. All of the mechanics are more or less intact, however, there appeared to be a major misconception regarding the X/20 checks for validity of a parent as the source of a Mutation. This is not exclusive to the Wiki.

The misconception was that, for a father dino, only the Patrilineal mutation counter mattered to determine if the father could be the source for a mutation. This is directly contradicted by the code, where the parents' mutation totals are both calculated as Matrilineal+Patrilineal before they are checked against the maximum (currently 20). For code readers, check the definition of randomMutationCount and randomMutationCountMate, as well as the section where they are actually used. For simplification in this Discussion thread, I have modified the pseudo-code to more directly assign gender, assuming that "this" dino (as referred in the code) is the mother, and the "withMate" dino is the father.

...near the top the limit is set...
// Game settings
RandomMutationCountLimit = 20

...a bit lower the parents' current count is set as Matrilineal+Patrilineal...
var randomMutationCount = mother.RandomMutationsMale + mother.RandomMutationsFemale;
var randomMutationCountMate = father.RandomMutationsMale + father.RandomMutationsFemale;

...farther down in the Mutations loop the mutation source's count is checked vs. the limit; "continue" means "quit this iteration"...

if ((randomMutationIsFromMate ? randomMutationCountMate : randomMutationCount) >= RandomMutationCountLimit)
  continue;

That last if statement can be restated as:
if [source is father] and [father's RandomMutationCount>=20] then quit this iteration
otherwise if [source is mother] and [mother's RandomMutationCount>=20] then quit this iteration

...keeping in mind that RandomMutationCount for both parents was previously calculated as M+P, without regard to the actual gender of the parent.

There does not appear to be a JSON dump available where a parent was, say, 10/20 on Matrilineal and 10/20 on Patrilineal, so that mutation percentages can be checked. This may be a project I take on at a later time, but unless the code is in error (in a pretty significant way), it is M+P on each parent that is checked against 20/20. Boidster (talk) 17:26, 16 September 2019 (UTC)