Cleanup and type fixes for impregnation
Partly from comment chain on !8041 (merged)
- Use a constructor to build fetus objects and get rid of the external type definition for
FC.Fetus. - Significantly simplify
fetusSplit. Removeidenticalandsplittedfetus tags;twinIDand a smarter loop can do all the work. -
WombImpregnateClonewill do the necessary genepool lookup itself, instead of forcing the caller to do it, and will set missing parents only once. -
generateGeneticsnow takes the fetus name directly, instead of building it from the descriptively named numeric parameterx, and loses a couple of unnecessary subfunctions that just return their parameter. - Fix some type annotations (make PlayerState and SlaveState slightly more compatible, add some missing annotations, etc).
Edited by svornost