I found that facilities pregnancy was very lacking compared to other ones. I was trying to potentially add some content but found the framework very limiting around this, as everything needed to be done within saPregnancy in order for things to be consistent.
This might need some discussion, but I figured the best way was to create an object within App.EndWeek.saVars
that can take multiple events populated during the SA reports. The alternative would be storing a bunch of variables from the SAEvents, but I thought that would be much messier.
The idea here being...within a week there could be multiple things that can cause pregnancy, with one winning out at random during the saPregnancy check. This keeps the events and ordering pretty consistent, while giving some flexibility to what is actually causing the pregnancy.
For a PoC on using this I migrated whore and public pregnancy events to their respective SAs, and added a preg chance scaling off of usage instead of a flat chance.
simple-compiler.[bat or sh]
)compile.[bat or sh]
)App.EndWeek.SASharedVariables.pregnancy
.saWhore
and saServeThePublic
to use new pregnancy object.