This should work in theory, I'm unable to test at the moment (due to being at work). You'll probably need to get a new world (I'd recommend pocket):
This one goes in Inorganic_spawnunit.txt, I put it at the end of the kobold section.
[INORGANIC:SPAWN_KOBOLD_BABIES]
[USE_MATERIAL_TEMPLATE:STONE_VAPOR_TEMPLATE][STATE_NAME_ADJ:ALL:Spawn Unit][MATERIAL_VALUE:0][SYNDROME]
[SYN_CLASS:\AUTO_SYNDROME][SYN_CLASS:WORKER_ID][SYN_CLASS:\COMMAND][SYN_CLASS:babies]
[SYN_CLASS:KOBOLD_CAMP][SYN_CLASS:28][SYN_CLASS:Kobold][SYN_CLASS:\LOCATION]
This one goes at the end of Reaction_kobold.txt
[REACTION:SPAWN_KOBOLD_BABIES]
[BUILDING:BREEDING_WARREN:CUSTOM_NONE]
[NAME:Breed a new set of babies]
[REAGENT:A:1:MEAT:NONE:NONE:NONE][REAGENT:B:1:SKIN_TANNED:NONE:NONE:NONE]
[PRODUCT:0:1:BOULDER:NONE:INORGANIC:SPAWN_KOBOLD_BABIES]
[SKILL:PERSUASION]
And make a new file in /hack/scripts (or lua or whatever, I don't think it matters) called babies.lua that has this.
function empregnate(unit)
unit=arg[1]
if unit==nil then
error("Failed to empregnate. Unit not selected/valid")
end
if unit.curse then
unit.curse.add_tags2.STERILE=false
end
local genes = unit.appearance.genes
if unit.relations.pregnancy_genes == nil then
print("creating preg ptr.")
if false then
print(string.format("%x %x",df.sizeof(unit.relations:_field("pregnancy_genes"))))
return
end
unit.relations.pregnancy_genes = { new = true, assign = genes }
end
local ngenes = unit.relations.pregnancy_genes
if #ngenes.appearance ~= #genes.appearance or #ngenes.colors ~= #genes.colors then
print("Array sizes incorrect, fixing.")
ngenes:assign(genes);
end
print("Setting preg timer.")
unit.relations.pregnancy_timer=10
unit.relations.pregnancy_caste=1
end
EDIT: AS I WAS TYPING IT UP. CURSE OUR SIMILAR ACTIVITY TIMES!