1
DF Modding / Methods for races that undergo metamorphosis.
« on: November 18, 2020, 08:18:12 am »
So, I've had the vague idea of creating an insectoid playable race for a long time, using different castes to create the structure of a Eusocial colony, like ants, and have finally started to research it.
During my research I seem to have discovered a hypothetical means of doing it successfully:
This process, if correct, is dependant on a few unknows, so here are my questions:
I understand that this is a very complex issue that doesn't seem to have been resolved yet, and that, as a first time modder, its a big undertaking. Thank you all for any help or advice you can give.
I will be trying to *Science* the secretion and syndrome questions over the next few days and report back my findings, if I can get anything to work as it should.
P.S.
If the secretion method doesn't work, I have an idea for a method based almost entirely on DFHack scripts that I will persue instead (assuming I haven't dropped my efforts by then).
During my research I seem to have discovered a hypothetical means of doing it successfully:
- Create the race, making sure that all the physical attributes are defined in the castes.
- Make all castes immortal. This will ensure that world-generated instances of these casts will always survive long enough for the transformation to occur correctly.
- Create a syndrome that is infectous on contact and that triggers a transformation after a fixed time period.
- Create a contaminant material that applies the syndrome.
- Give all the castes an internal organ that continously secretes the contaminant material. This material and syndrome may need to be different for each life-stage.
- Make sure that the syndrome immediately removes the secrete tag from the infected creature. This will prevent the contaminant material from being produced every tick after the creature is already infected, preserving performance. It would functinally be a 'secrete continuously unitl infected' condition.
- Make the syndrome on the final life-stage castes trigger death by old age, possibly by adding a very low maximum age, mimicking a lifespan based not on how old they are, but on how long they've been in that life-stage. This time will need to be unique per final life-stage caste.
- Test, test, test...
This process, if correct, is dependant on a few unknows, so here are my questions:
- Are secretions computed during worldgen?
- Are contact syndromes computed during worldgen?
- Is there a better way to prevent the randomly-aged and randomly-caste initial-spawns of the civilization from dying out, due to transformation times, than the immortality trick I described above?
I understand that this is a very complex issue that doesn't seem to have been resolved yet, and that, as a first time modder, its a big undertaking. Thank you all for any help or advice you can give.
I will be trying to *Science* the secretion and syndrome questions over the next few days and report back my findings, if I can get anything to work as it should.
P.S.
If the secretion method doesn't work, I have an idea for a method based almost entirely on DFHack scripts that I will persue instead (assuming I haven't dropped my efforts by then).