[1.3] Children and Pregnancy - v4.1.0

Started by GhostData, March 22, 2020, 04:32:51 PM

Previous topic - Next topic

sumghai


SergeshD123

How to fix headless children bug? This happens to some children, but not others.

Meester

Im getting for example, for all pawns.

QuoteException drawing French: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorldChildren.AlienRaces_DrawAddons_Patch.ModifyScale (Verse.Graphic graphic, Verse.Pawn pawn, Verse.Rot4 rotation, System.Object addon) [0x0002c] in <983a3154892047e8894820e6d4b4bdbe>:0
  at (wrapper dynamic-method) AlienRace.HarmonyPatches.AlienRace.HarmonyPatches.DrawAddons_Patch0(bool,UnityEngine.Vector3,Verse.Pawn,UnityEngine.Quaternion,Verse.Rot4,bool)
  at (wrapper dynamic-method) Verse.PawnRenderer.Verse.PawnRenderer.RenderPawnInternal_Patch6(Verse.PawnRenderer,UnityEngine.Vector3,single,bool,Verse.Rot4,Verse.Rot4,Verse.RotDrawMode,bool,bool,bool)
  at Verse.PawnRenderer.RenderPawnInternal (UnityEngine.Vector3 rootLoc, System.Single angle, System.Boolean renderBody, Verse.RotDrawMode draw, System.Boolean headStump, System.Boolean invisible) [0x0001a] in <d72310b4d8f64d25aee502792b58549f>:0
  at (wrapper dynamic-method) Verse.PawnRenderer.Verse.PawnRenderer.RenderPawnAt_Patch4(Verse.PawnRenderer,UnityEngine.Vector3,Verse.RotDrawMode,bool,bool)
  at (wrapper dynamic-method) Verse.PawnRenderer.Verse.PawnRenderer.RenderPawnAt_Patch1(Verse.PawnRenderer,UnityEngine.Vector3)
  at Verse.Pawn_DrawTracker.DrawAt (UnityEngine.Vector3 loc) [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.Pawn.DrawAt (UnityEngine.Vector3 drawLoc, System.Boolean flip) [0x00006] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.Thing.Draw () [0x00007] in <d72310b4d8f64d25aee502792b58549f>:0
  at (wrapper dynamic-method) Verse.ThingWithComps.Verse.ThingWithComps.Draw_Patch1(Verse.ThingWithComps)
  at (wrapper dynamic-method) Verse.DynamicDrawManager.Verse.DynamicDrawManager.DrawDynamicThings_Patch1(Verse.DynamicDrawManager)
Verse.Log:Error(String, Boolean)
Verse.DynamicDrawManager:Verse.DynamicDrawManager.DrawDynamicThings_Patch1(DynamicDrawManager)
Verse.Map:Verse.Map.MapUpdate_Patch3(Map)
Verse.Game:Verse.Game.UpdatePlay_Patch2(Game)
Verse.Root_Play:Verse.Root_Play.Update_Patch1(Root_Play)

sou

#423
Hi, is there a list of supported alien races?
I really like this mod and its options but I am finding that races that have extra parts (horns, tails, etc.  e.g., Revia, Thrumkin) do not get rendered correctly when life stage for that race is turned on, even when the mod list is at a bare minimum (tons of Exception drawing System.NullReferenceException type errors get spit out in the background).

Luneflyte

#424
Hello! Thank you for working on this mod, I've been enjoying it so far.

Unfortunately I'm having a bit of a weird behavior with raiders. They seem to get partway into my killbox loop before becoming stuck, twitching in place.

Exception in JobDriver tick for pawn Yuki driver=JobDriver_Goto (toilIndex=0) driver.job=(Goto (Job_15040243) A=(75, 0, 123))
System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorldChildren.API.ChildrenUtility.RaceUsesChildren (Verse.Pawn pawn) [0x00011] in <983a3154892047e8894820e6d4b4bdbe>:0
  at RimWorldChildren.CombatPatches+AttackTargetFinder_BestShootTargetFromCurrentPosition_Patch.ShouldShootToddlers (Verse.Thing t) [0x00007] in <983a3154892047e8894820e6d4b4bdbe>:0
  at Verse.AI.AttackTargetFinder+<>c__DisplayClass5_0.<BestAttackTarget>b__1 (Verse.AI.IAttackTarget t) [0x000e4] in <d72310b4d8f64d25aee502792b58549f>:0
  at (wrapper dynamic-method) Verse.AI.AttackTargetFinder.Verse.AI.AttackTargetFinder.BestAttackTarget_Patch1(Verse.AI.IAttackTargetSearcher,Verse.AI.TargetScanFlags,System.Predicate`1<Verse.Thing>,single,single,Verse.IntVec3,single,bool,bool)
  at (wrapper dynamic-method) Verse.AI.AttackTargetFinder.Verse.AI.AttackTargetFinder.BestShootTargetFromCurrentPosition_Patch1(Verse.AI.IAttackTargetSearcher,Verse.AI.TargetScanFlags,System.Predicate`1<Verse.Thing>,single,single)
  at RunAndGun.Harmony.JobDriver_SetupToils.checkForAutoAttack (Verse.AI.JobDriver_Goto __instance) [0x000f2] in <b794371ac9ff4775865fbf8a3b981e2c>:0
  at RunAndGun.Harmony.JobDriver_SetupToils+<>c__DisplayClass0_0.<Postfix>b__0 () [0x00073] in <b794371ac9ff4775865fbf8a3b981e2c>:0
  at (wrapper dynamic-method) Verse.AI.JobDriver.Verse.AI.JobDriver.DriverTick_Patch1(Verse.AI.JobDriver)
Verse.Log:Error(String, Boolean)
Verse.AI.JobUtility:TryStartErrorRecoverJob(Pawn, String, Exception, JobDriver)
Verse.AI.JobDriver:Verse.AI.JobDriver.DriverTick_Patch1(JobDriver)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Verse.Pawn.Tick_Patch1(Pawn)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


One of those shows up for each stuck raider.

And here is the hugslib link: https://gist.github.com/bd03321e0f81bf536167fc4bce850fd1

I'm pretty sure I just have another mod that doesn't want to play nice, but I'm pretty new to Rimworld and don't know how to figure out which one it is.

Thank you for your time~

Edit: In a startling moment of Possessing Reading Comprehension, I saw 'Run and Gun' on the error, and in an equally unlikely moment of Trying To Fix Things Myself, disabled Run and Gun to see what would happen. Turns out what happens is the errors goes away and the raiders proceed to raid. Who would have guessed?

RIP Run and Gun, I'll miss you, but the challenge of kids is far more fun.

Edit Redux: The raiders do proceed to raid, but there is a new and exciting error.

JobDriver threw exception in initAction for pawn Tatyana driver=JobDriver_Wait (toilIndex=0) driver.job=(Wait_Combat (Job_16150142))
System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorldChildren.API.ChildrenUtility.RaceUsesChildren (Verse.Pawn pawn) [0x00011] in <983a3154892047e8894820e6d4b4bdbe>:0
  at RimWorldChildren.CombatPatches+AttackTargetFinder_BestShootTargetFromCurrentPosition_Patch.ShouldShootToddlers (Verse.Thing t) [0x00007] in <983a3154892047e8894820e6d4b4bdbe>:0
  at Verse.AI.AttackTargetFinder+<>c__DisplayClass5_0.<BestAttackTarget>b__1 (Verse.AI.IAttackTarget t) [0x000e4] in <d72310b4d8f64d25aee502792b58549f>:0
  at (wrapper dynamic-method) Verse.AI.AttackTargetFinder.Verse.AI.AttackTargetFinder.BestAttackTarget_Patch1(Verse.AI.IAttackTargetSearcher,Verse.AI.TargetScanFlags,System.Predicate`1<Verse.Thing>,single,single,Verse.IntVec3,single,bool,bool)
  at (wrapper dynamic-method) Verse.AI.AttackTargetFinder.Verse.AI.AttackTargetFinder.BestShootTargetFromCurrentPosition_Patch1(Verse.AI.IAttackTargetSearcher,Verse.AI.TargetScanFlags,System.Predicate`1<Verse.Thing>,single,single)
  at (wrapper dynamic-method) Verse.AI.JobDriver_Wait.Verse.AI.JobDriver_Wait.CheckForAutoAttack_Patch1(Verse.AI.JobDriver_Wait)
  at Verse.AI.JobDriver_Wait.<MakeNewToils>b__3_0 () [0x00037] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x001df] in <d72310b4d8f64d25aee502792b58549f>:0
Verse.Log:Error(String, Boolean)
Verse.AI.JobUtility:TryStartErrorRecoverJob(Pawn, String, Exception, JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:Verse.AI.JobDriver.ReadyForNextToil_Patch1(JobDriver)
Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch3(Pawn_JobTracker, Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1, Boolean, Boolean)
Verse.AI.Pawn_JobTracker:CheckForJobOverride()
Verse.AI.Pawn_JobTracker:Notify_DamageTaken(DamageInfo)
Verse.Pawn_HealthTracker:Verse.Pawn_HealthTracker.PreApplyDamage_Patch2(Pawn_HealthTracker, DamageInfo, Boolean&)
Verse.Pawn:Verse.Pawn.PreApplyDamage_Patch1(Pawn, DamageInfo&, Boolean&)
Verse.Thing:Verse.Thing.TakeDamage_Patch1(Thing, DamageInfo)
Verse.HealthUtility:DamageUntilDead(Pawn)
Verse.DebugToolsPawns:DamageToDeath(Pawn)
Verse.<>c__DisplayClass8_0:<DebugToolMapForPawns_NewTmp>b__0()
Verse.DebugTool:DebugToolOnGUI()
Verse.DebugTools:DebugToolsOnGUI()
RimWorld.UIRoot_Play:UIRootOnGUI()
Verse.Root:Verse.Root.OnGUI_Patch1(Root)


Hugslib: https://gist.github.com/5719d11034c957fcb47b95a2a59fdff3

Hadley

I can't even get humanoid raids to spawn with this Mod.

Mistrornge

Super amazing mod.  Loving it.
Question... is there a way to adjust a race's pregnancy length and lifespan?  Not sure if this is the right mod to ask about this.

PlatanusO

#427
So I have a problem with the toddlers not being able to play when outside of the crib.  It is extremely hard to get them in the crib to play with them once they start crawling around.  plus, once you do get them in bed they fall asleep before you can get a pawn to play with them. I think it is due to this bit in Driver_PlayWithBaby.cs on line 80:

        protected override IEnumerable<Toil> MakeNewToils() {
            this.FailOnDespawnedNullOrForbidden(TargetIndex.A);
            this.FailOn(() => !Baby.InBed() || !Baby.Awake());
            if (Chair != null) {
                this.FailOnDespawnedNullOrForbidden(TargetIndex.B);
            }


I have very limited abilities in C#.  Does anyone know how to make it so toddlers do not have to be in the crib to play with them?

PlatanusO

#428
Okay,

I am getting this error in the debugger:

Exception in JobDriver tick for pawn Marjot driver=JobDriver_PlayWithBaby (toilIndex=3) driver.job=(error)
System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorldChildren.JobDriver_PlayWithBaby.<MakeNewToils>b__7_1 () [0x000c3] in <1f5f58e363274a8aa94d1c13877805a5>:0
  at (wrapper dynamic-method) Verse.AI.JobDriver.Verse.AI.JobDriver.DriverTick_Patch1(Verse.AI.JobDriver)
Verse.Log:Warning(String, Boolean)
Verse.AI.JobUtility:Verse.AI.JobUtility.TryStartErrorRecoverJob_Patch0(Pawn, String, Exception, JobDriver)
Verse.AI.JobDriver:Verse.AI.JobDriver.DriverTick_Patch1(JobDriver)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Verse.Pawn.Tick_Patch1(Pawn)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


And this:

Isabel threw exception in WorkGiver TakeBabyToCrib: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorldChildren.WorkGiver_TakeBabyToCrib.HasJobOnThing (Verse.Pawn pawn, Verse.Thing t, System.Boolean forced) [0x0001e] in <1f5f58e363274a8aa94d1c13877805a5>:0
  at RimWorld.JobGiver_Work+<>c__DisplayClass3_1.<TryIssueJobPackage>b__0 (Verse.Thing t) [0x00013] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.GenClosest+<>c__DisplayClass2_0.<ClosestThingReachable>b__0 (Verse.Thing t) [0x00034] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.GenClosest.<ClosestThing_Global>g__Process|5_0 (Verse.Thing t, Verse.GenClosest+<>c__DisplayClass5_0& ) [0x00047] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.GenClosest.ClosestThing_Global (Verse.IntVec3 center, System.Collections.IEnumerable searchSet, System.Single maxDistance, System.Predicate`1[T] validator, System.Func`2[T,TResult] priorityGetter) [0x0008d] in <d72310b4d8f64d25aee502792b58549f>:0
  at Verse.GenClosest.ClosestThingReachable (Verse.IntVec3 root, Verse.Map map, Verse.ThingRequest thingReq, Verse.AI.PathEndMode peMode, Verse.TraverseParms traverseParams, System.Single maxDistance, System.Predicate`1[T] validator, System.Collections.Generic.IEnumerable`1[T] customGlobalSearchSet, System.Int32 searchRegionsMin, System.Int32 searchRegionsMax, System.Boolean forceAllowGlobalSearch, Verse.RegionType traversableRegionTypes, System.Boolean ignoreEntirelyForbiddenRegions) [0x0014e] in <d72310b4d8f64d25aee502792b58549f>:0
  at (wrapper dynamic-method) RimWorld.JobGiver_Work.RimWorld.JobGiver_Work.TryIssueJobPackage_Patch1(RimWorld.JobGiver_Work,Verse.Pawn,Verse.AI.JobIssueParams)
Verse.Log:Error(String, Boolean)
RimWorld.JobGiver_Work:RimWorld.JobGiver_Work.TryIssueJobPackage_Patch1(JobGiver_Work, Pawn, JobIssueParams)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Subtree:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob(ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch2(Pawn_JobTracker, JobCondition, Boolean, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Verse.Pawn.Tick_Patch1(Pawn)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

jager666

Looks like the mod is dead in the water again.

PlatanusO

#430
Quote from: jager666 on January 08, 2021, 04:23:53 PM
Looks like the mod is dead in the water again.

I mean the mod works, there are just some 'bugs'.  Also quite a few improvements that could be made.

Some of the things I thought were major bugs previously were not actually bugs just not really implimented.  There are a bunch of error messages in the logger, but most of these seem pretty harmless and meaningless.

The actual bugs (which do need to be fixed at top priority) I have found so far are:


  • Infants (immobile stage) try to mediate and this takes them out of the crib and requires rescue.
  • If the designated crib is outside the child's allowed zone then any time the child is outside of crib, an adult will take them to a random bed upon rescue (even if that bed is outside the allowed zone).
  • Random adults, including men and pawns assigned to a no-drugs policy, will randomly take contraceptive.  This does not seem related to 'chemical fascination', it seems that just any adult will randomly take the contraceptive.
  • Upon leaving the toddler stage at age 3 (they become a short pawn), the children can be assigned tasks (but cannot use weapons 'safely' (all weapons as far as I know)).  Unfortunately the new short child pawns do not display any skill levels.  I have to close out of the game and then load back in to the game again to see the traits in the bio.  Clearly this is a bug.

Here is a list of features I think really need to be implemented:

  • Pawns capable of breastfeeding and assigned to childcare should prioritize breastfeeding immobile babies and not feed them regular food
  • Toddlers in crawling stage should not be able to pick up food and feed themselves. This should require a 'take to bed and feed' from a pawn assigned to childcare
  • Although toddlers can feed themselves, if an adult pawn with childcare abilities chooses to feed a walking stage toddler, they should be fed at a table and chair if possible, if not, they should be fed anywhere. Toddlers in walking stage should not be required to be taken to bed for an adult to feed them.
  • Toddlers in crawling stage should not be able to clothe themselves, an adult pawn should need to clothe them in appropriate toddler clothes (the onesie and beanie).
  • Adult pawns with childcare assignments should be able to play with toddlers in either crawling or walking stage outside of the crib/bed.  I know that toddler pawns in both stages can play with each other or can relax socially if they have access to a chair and table with the 'gathering spot' option enabled, but the 'play with baby' should not require a crib at the toddler stage.  If this is implemented, I would remove the ability for the toddler pawn to relax socially from the crawling stage, as it is unrealistic that a crawling 6 to 18 month old would be able to converse in any meaningful way with adults.  I think relaxing socially is still acceptable for walking stage toddlers.
  • We need more descriptive help lists.  It is not clear what happens at what stage or how high a young child can train their skills to.
  • There should be an option to turn off children under a certain age appearing in raids and caravans.  I know on a rimworld, tribal cultures may encourage young children to fight, but this is too upsetting to some people and should be able to be turned off.

Here is a list of features I would like to see to have better compatibility with Dub's Hygiene mod, which I use.  Implementing these features will likely require work on both mods:

  • Immobile babies should not create bedpans.
  • Pawns assigned to childcare should be able to wash babies, it should not require doctoring to be assigned.
  • Crawling toddlers should not be able wash themselves.  I think it is okay for toddlers in walking stage to wash themselves, but crawling toddlers should create a childcare work driver for 'take to bed and wash', which must be done by an adult pawn assigned to childcare.
  • All baby stages, from immobile through walking toddler, should not use toilets.  Adult pawns assigned to childcare should have a 'take to bed and change diaper' Workdef.  Once a child reaches the age of three, they should start using toilets (I think doing a potty training thing would be way outside of the scope of the game so no need for that level of minutia)

Finally, at some point, I think it would be interesting to implement something along the lines of the old Children and School mod, but I don't think this ought to be a priority.  I have some C# knowledge, but I have been having trouble compiling my code so I really think someone with more advanced knowledge would need to help me make some of these fixes and changes.

Geese man

Quote from: PlatanusO on January 10, 2021, 03:54:48 PMInfants (immobile stage) try to mediate and this takes them out of the crib and requires rescue.
Not CNP's fault and fixed if you use rimworld v1.2.2753.

Quote from: PlatanusO on January 10, 2021, 03:54:48 PMIf the designated crib is outside the child's allowed zone then any time the child is outside of crib, an adult will take them to a random bed upon rescue (even if that bed is outside the allowed zone).
If pawn A needs rescue pawn B will first try to get them to the nearest medical bed or unowned bed if there is no medical bed available regardless of the allowed zone of pawn A, but your story lacks context and there have been bed assigning problems before (babies would be fed on random beds not in their assigned cribs) perhaps clarify the exact conditions.

Quote from: PlatanusO on January 10, 2021, 03:54:48 PMRandom adults, including men and pawns assigned to a no-drugs policy, will randomly take contraceptive.  This does not seem related to 'chemical fascination', it seems that just any adult will randomly take the contraceptive.
Should very much be related to chemical interest and fascination traits, both traits cause pawns to ignore drug policies "Will ignore drug policies for recreational drugs (i.e. all drugs except for penoxycyline and luciferium) regardless of chemical need. NOTE: The colonist will still respect allowed areas and will not use forbidden stacks of any drug regardless of chemical need"
and contraceptives have a minuscule (0.01) chemical value causing chemical cunts to take them. So unless non chemical traits pawns take them on their own its working as intended.

Quote from: PlatanusO on January 10, 2021, 03:54:48 PMUpon leaving the toddler stage at age 3 (they become a short pawn), the children can be assigned tasks (but cannot use weapons 'safely' (all weapons as far as I know)).  Unfortunately the new short child pawns do not display any skill levels.  I have to close out of the game and then load back in to the game again to see the traits in the bio.  Clearly this is a bug.
For the weapon part children (age <12) can safely use pistols or melee weapons. The no skill display is caused by the fact that the child gains a new backstory at the age of 3 which removes all the "incapable of" from baby and toddler stage backstories but rimworld was not made to handle changing backstories as without mods it shouldn't happen at all thus you will have to live with reloading upon children reaching the age of 3. this could be solved by instead of changing their backstory to giving the newborn children a hediff that dissappears after 3 years (10800000 ticks) and gets less severe over time (so it would incapacitate them until they reach 2 quadrums or crawling toddler stage whilst still keeping them from having any manipulation etc.)


Quote from: PlatanusO on January 10, 2021, 03:54:48 PMPawns capable of breastfeeding and assigned to childcare should prioritize breastfeeding immobile babies and not feed them regular food
Yes agreed + toddlers can still be breastfed so not just infants. This can for now be done by setting them to no food or drugs as ambrosia has nutrition value, this will cause lactating childcare and doctors to breastfeed them.


Quote from: PlatanusO on January 10, 2021, 03:54:48 PMToddlers in crawling stage should not be able to pick up food and feed themselves. This should require a 'take to bed and feed' from a pawn assigned to childcare
It was already patched that they would take meals to their inventory, but why wouldn't they be able to eat for themselves last time I looked they would simply eat the meal of the ground which is not outside a crawling toddler capabilities.

Quote from: PlatanusO on January 10, 2021, 03:54:48 PMAlthough toddlers can feed themselves, if an adult pawn with childcare abilities chooses to feed a walking stage toddler, they should be fed at a table and chair if possible, if not, they should be fed anywhere. Toddlers in walking stage should not be required to be taken to bed for an adult to feed them.
the only reason they are taken to their crib or bed for feeding is cause the feeding system is based on the feed patient system from rimworld itself.

Quote from: PlatanusO on January 10, 2021, 03:54:48 PMToddlers in crawling stage should not be able to clothe themselves, an adult pawn should need to clothe them in appropriate toddler clothes (the onesie and beanie).
there is no dressing mechanic in rimworld (there is a mod tho) and its not like toddlers being able to put on a beanie and onesie themselves should be a issue.

Quote from: PlatanusO on January 10, 2021, 03:54:48 PMAdult pawns with childcare assignments should be able to play with toddlers in either crawling or walking stage outside of the crib/bed.  I know that toddler pawns in both stages can play with each other or can relax socially if they have access to a chair and table with the 'gathering spot' option enabled, but the 'play with baby' should not require a crib at the toddler stage.  If this is implemented, I would remove the ability for the toddler pawn to relax socially from the crawling stage, as it is unrealistic that a crawling 6 to 18 month old would be able to converse in any meaningful way with adults.  I think relaxing socially is still acceptable for walking stage toddlers.
Same as with the feeding requires a bed CNP bases alot of its interactions on the feeding patients system and tragix meant to fix this eventually but he first wanted to make CNP play better with alien races first. Removing the socially relaxing from crawling toddlers would mean you either need to have a television for them to use or have your pawn play constantly with them and for my experience this is less then ideally working as they will only play with them until just above the recreation deprived limit causing childcare pawns to constantly run back and forth to play with them and why shouldn't a crawling toddler be able to "socialize" with other toddlers.

Quote from: PlatanusO on January 10, 2021, 03:54:48 PMWe need more descriptive help lists.  It is not clear what happens at what stage or how high a young child can train their skills to.
the skills part is based on their parents so if both parents had a 20 medical skill with burning passion at the time of the impregnation (the baby gets created at the moment of the impregnation) the chances of the baby having a burning passion in medical with level 10+ is very likely, there does need to be a list for traits they can still receive after their birth but even tragix did not knew this exactly saw him saying something about if they killed 50 animals before they hit 13 they would gain the psychopath trait at 13.

Quote from: PlatanusO on January 10, 2021, 03:54:48 PMThere should be an option to turn off children under a certain age appearing in raids and caravans.  I know on a rimworld, tribal cultures may encourage young children to fight, but this is too upsetting to some people and should be able to be turned off.
If somebody can't handle children fighting then perhaps dont use a mod that adds them to rimworld. There is a patch that makes pirate raids never spawn children can be found in the "Patches" folder you could replicate it for other factions as well I suppose.

I don't use the hygiene mod so cant really comment on that.
For now lets just hope tragix didn't die from corona or something.




PlatanusO

I am not going to respond to all points, but here are some key point responses:

QuoteShould very much be related to chemical interest and fascination traits, both traits cause pawns to ignore drug policies "Will ignore drug policies for recreational drugs (i.e. all drugs except for penoxycyline and luciferium) regardless of chemical need. NOTE: The colonist will still respect allowed areas and will not use forbidden stacks of any drug regardless of chemical need"
I literally have no pawns in my colony with these traits (lucky!).  I do have a 'stoner' trait pawn from the Vanilla Traits Expanded mod which may cause use (although it is technically supposed to be limited only to smokeleaf, but that could be a bug with that mod, not CNP), but I have seen pawns with no chemical related traits what-so-ever using the contraceptive on occasion (based on their health status).  I will take a screenshot next time I see a pawn with this inappropriate health status.

Quotebut why wouldn't they be able to eat for themselves last time I looked they would simply eat the meal of the ground which is not outside a crawling toddler capabilities.
I use rimfridge so crawling children are reaching into the fridge.  I guess it could makes sense in the vanilla 'eat off the floor' scenario if we assume that prepaired meals really have no kind of packaging...  However,  rim fridge is one of the most popular mods so there must be some way to stop them manipulating the refrigerator.  Additionally, I don't think a 6 month old could open a packaged survival meal on their own or a canned meal (again this would be from a mod).  I think you may overestimate the strength and dexterity of six month old babies just starting to crawl.

Quote
Quote from: PlatanusO on January 10, 2021, 03:54:48 PMInfants (immobile stage) try to mediate and this takes them out of the crib and requires rescue.
Not CNP's fault and fixed if you use rimworld v1.2.2753.
I do use 1.2.2753 and I have still had this issue... I am just reporting the bugs that I have.  As for 'fault', obviously this isn't a CNP feature (the meditation that is), but, a patch could still be included in the CNP download.  Again, I will take screenshots if I see this again.

Quote
Quote from: Geese man on January 10, 2021, 11:14:28 PM
Quote from: PlatanusO on January 10, 2021, 03:54:48 PMIf the designated crib is outside the child's allowed zone then any time the child is outside of crib, an adult will take them to a random bed upon rescue (even if that bed is outside the allowed zone).
Not CNP's fault and fixed if you use rimworld v1.2.2753.
In all cases, this bed reassignment came after being the baby started meditating and needed to be rescued, that is when it became reassigned to a new bed.  Additionally, the crib could not be immediately reassigned.  The incorrect bed first had to be unassigned from the baby before the crib could be assigned again. Clearly 'buggy' behavior and I suppose it must relate specifically to the meditation issue. Perhaps it is a relation to being in a crib outside of the baby's allowed zone, as I have only had this problem (both the meditation and bed reassignment issues) when the baby is in a crib outside of the allowed zone.

Quote
Quote from: PlatanusO on January 10, 2021, 03:54:48 PMAlthough toddlers can feed themselves, if an adult pawn with childcare abilities chooses to feed a walking stage toddler, they should be fed at a table and chair if possible, if not, they should be fed anywhere. Toddlers in walking stage should not be required to be taken to bed for an adult to feed them.
the only reason they are taken to their crib or bed for feeding is cause the feeding system is based on the feed patient system from rimworld itself.
This is fine.  It may just be too difficult to change this in the code.  This is one of my lower tier gripes and I am fine leaving that feature 'as-is'.


Quote
Quote from: PlatanusO on January 10, 2021, 03:54:48 PMUpon leaving the toddler stage at age 3 (they become a short pawn), the children can be assigned tasks (but cannot use weapons 'safely' (all weapons as far as I know)).  Unfortunately the new short child pawns do not display any skill levels.  I have to close out of the game and then load back in to the game again to see the traits in the bio.  Clearly this is a bug.
For the weapon part children (age <12) can safely use pistols or melee weapons. The no skill display is caused by the fact that the child gains a new backstory at the age of 3 which removes all the "incapable of" from baby and toddler stage backstories but rimworld was not made to handle changing backstories as without mods it shouldn't happen at all thus you will have to live with reloading upon children reaching the age of 3. this could be solved by instead of changing their backstory to giving the newborn children a hediff that dissappears after 3 years (10800000 ticks) and gets less severe over time (so it would incapacitate them until they reach 2 quadrums or crawling toddler stage whilst still keeping them from having any manipulation etc.)
I suspected this would be a difficult bug to tackle. There must be a work-around somehow and someone willing to work with me on this.

Quote
Quote from: PlatanusO on January 10, 2021, 03:54:48 PMToddlers in crawling stage should not be able to clothe themselves, an adult pawn should need to clothe them in appropriate toddler clothes (the onesie and beanie).
there is no dressing mechanic in rimworld (there is a mod tho) and its not like toddlers being able to put on a beanie and onesie themselves should be a issue.
I don't mean to be insulting here at all, but it is clear that you don't have or have not worked with children much.  The crawling stage in the game starts at 2 quadrums, equivalent to half a year or 6 months IRL.  This is realistic (at least for some children, crawling can start a bit latter but 6-8 months is typical).  Children IRL are typically not fully capable of dressing themselves until around the age of two or three.  There is no way on God's green earth a crawling 6 to 8 month old baby is going to be able to dress themselves, especially in a onsie.  It is utterly unrealistic.  Not saying this is something that would be easy to code, but it is something that is worth taking a shot at.  Maybe this won't be possible after all though.

Quote
For the weapon part children (age <12) can safely use pistols or melee weapons.
Being a proper gun-owning American I can assure you that a lot of 7 year olds can handle a rifle of small to moderate caliber just fine.  A handgun is actually much harder to control and most children cannot safely use a handgun.  Conversely, I can't imagine a 7 year old could effectively wield a steel mace (or a halberd if you are using other weapon mods like Vanilla weapons expanded), but a 7 year old should be able to wield a short bow (of lower draw weight) or use throwing rocks (again, Vanilla weapons expanded).  I am not sure the best way to go about this.  I will think on it.

Quote
If somebody can't handle children fighting then perhaps dont use a mod that adds them to rimworld. There is a patch that makes pirate raids never spawn children can be found in the "Patches" folder you could replicate it for other factions as well I suppose.
I personally don't care.  I fully would expect a privative tribe to use children in battle.  I just thought it would be a good feature to add if possible, however, you may have a very good point about just not adding children if someone doesn't like the idea of children fighting.  Therefore I rescind this suggestion.  Let us slaughter the child soldiers!

Quote
The no skill display is caused by the fact that the child gains a new backstory at the age of 3 which removes all the "incapable of" from baby and toddler stage backstories but rimworld was not made to handle changing backstories as without mods it shouldn't happen at all thus you will have to live with reloading upon children reaching the age of 3
This is a very inconvenient bug.  I really do think it would be worth the effort to try and find a work-around.  I think your hediff idea was much better.  Plus, this would make it easier to get compatibility with other mods like Dub's hygiene in which various hygiene features can be disabled based on particular pawn hediffs.  All in all, the hediff idea seems to be the right direction.

Geese man

Quote from: PlatanusO on January 11, 2021, 12:43:52 AMBeing a proper gun-owning American I can assure you that a lot of 7 year olds can handle a rifle of small to moderate caliber just fine.  A handgun is actually much harder to control and most children cannot safely use a handgun.  Conversely, I can't imagine a 7 year old could effectively wield a steel mace (or a halberd if you are using other weapon mods like Vanilla weapons expanded), but a 7 year old should be able to wield a short bow (of lower draw weight) or use throwing rocks (again, Vanilla weapons expanded).  I am not sure the best way to go about this.  I will think on it.
Quote from: PlatanusO on January 11, 2021, 12:43:52 AMI don't mean to be insulting here at all, but it is clear that you don't have or have not worked with children much.  The crawling stage in the game starts at 2 quadrums, equivalent to half a year or 6 months IRL.  This is realistic (at least for some children, crawling can start a bit latter but 6-8 months is typical).  Children IRL are typically not fully capable of dressing themselves until around the age of two or three.  There is no way on God's green earth a crawling 6 to 8 month old baby is going to be able to dress themselves, especially in a onsie.  It is utterly unrealistic.  Not saying this is something that would be easy to code, but it is something that is worth taking a shot at.  Maybe this won't be possible after all though.
Quote from: PlatanusO on January 11, 2021, 12:43:52 AMI use rimfridge so crawling children are reaching into the fridge.  I guess it could makes sense in the vanilla 'eat off the floor' scenario if we assume that prepaired meals really have no kind of packaging...  However,  rim fridge is one of the most popular mods so there must be some way to stop them manipulating the refrigerator.  Additionally, I don't think a 6 month old could open a packaged survival meal on their own or a canned meal (again this would be from a mod).  I think you may overestimate the strength and dexterity of six month old babies just starting to crawl.
First off you want realism tragix did not want too much of it
Quote from: Tragix on August 18, 2020, 11:19:39 AMMy goal is to be believable rather than realistic.
As for the guns what ever was used to make rifles "unsafe to use" could be extended to much more but mod weapons would need to be a separate patch (could potentially also be used for the packaged meals and canned food for that matter)

Non taken, as I said before tragix didn't want too much realism, It should be possible to code but there have been issues before of toddlers trying to put on adult clothing themselves resulting in a "clothing is too big for X" message spam and the toddler freezing in place until the clothes are picked up/hauled away.

So trying to prevent them from using fridges might result in some really fucky interactions as the rimfridge mod had to make prisoners be able to use fridges, which means the toddler might get counted as prisoner and even if they cant "reach in the fridge" they will still be able to eat something inside from the floor and trying to prevent that sounds pretty complicated.

Quote from: PlatanusO on January 11, 2021, 12:43:52 AMI do use 1.2.2753 and I have still had this issue... I am just reporting the bugs that I have.  As for 'fault', obviously this isn't a CNP feature (the meditation that is), but, a patch could still be included in the CNP download.  Again, I will take screenshots if I see this again.
Very strange I never had it happen after that update anymore not even with several pawn behavior influencing mods.

Quote from: PlatanusO on January 11, 2021, 12:43:52 AMIn all cases, this bed reassignment came after being the baby started meditating and needed to be rescued, that is when it became reassigned to a new bed.  Additionally, the crib could not be immediately reassigned.  The incorrect bed first had to be unassigned from the baby before the crib could be assigned again. Clearly 'buggy' behavior and I suppose it must relate specifically to the meditation issue. Perhaps it is a relation to being in a crib outside of the baby's allowed zone, as I have only had this problem (both the meditation and bed reassignment issues) when the baby is in a crib outside of the allowed zone.
I also think the issue might be in the fact that the current children backstory doesn't give any meditation type(s), tragix didn't have royalty as far as I know hence he couldn't have known.

Anyway if you want help with thinking of solutions just DM me I don't have any coding skills but I do understand the logic behind most of rimworld and this mod.

Katinka

HI

I am doing a German translation for the mod, can I send you the language folder or should I upload it as a translation mod?