#Animal Genomes

1 messages · Page 1 of 1 (latest)

covert willow
#

Is there a post anywhere explaining how this works?

Presumably each parent passes on one of each gene, the dominant one if they have only one dominant, otherwise pick at random. Then the child uses the dominant gene if they only have one dominant, otherwise it's random? And genes can come with a negative relating to something totally different.

#

I'm guessing the values are 0 to 1, not sure why meat ratio gets two numbers

covert willow
#

Some bits on butchering, still more to figure out

each animal has definitions for the products it gives, so for example cows, as a base, give 8-15 each of beef and steak:
table.insert(AnimalPartsDefinitions.animals["cowangus"].parts, {item = "Base.Steak", minNb = 8, maxNb = 15})
table.insert(AnimalPartsDefinitions.animals["cowangus"].parts, {item = "Base.Beef", minNb = 8, maxNb = 15})

when you butcher, this gets multiplied by animal size (e.g. 0.78 in this one: ⁠pz_b42_chat_no_mp_yet⁠ I guess?)

local minNb = part.minNb * carcass:getAnimalSize();
local maxNb = part.maxNb * carcass:getAnimalSize();
local nb = part.nb;

then ground vs not ground has a multiplier:

if fromGround then
    minNb = minNb * 0.6;
    maxNb = maxNb * 0.6;
else
    minNb = minNb * 1.2;
    maxNb = maxNb * 1.2;
end

then butchering skill further multiplies it:
-- every 2 pts in butchering gives * 1.1 max meat ratio
local skillIndex = (math.floor(skill/2) / 10) + 1;
maxNb = maxNb * skillIndex;

same again for meatratio:
-- We add more or less meat depending on its meatRatio
minNb = meatRatio * minNb;
maxNb = meatRatio * maxNb;
end

roadkill redictions:
if carcass:getModData()["roadKill"] then
minNb = minNb / 2;
maxNb = maxNb / 2;
meatRatio = ZombRand(0.1, 0.2);
end