-
Notifications
You must be signed in to change notification settings - Fork 0
BAT
A golem is created -> Homescreen queues the golem into the GBP's inactive golem list.
A golem completes a behavior in any way -> the behavior is reported as complete to the GBP. It then assesses if the behavior failed or succeeded. If it succeeded, the behavior is removed from the active behavior list. If it failed, and if the behavior was a city behavior, it is pushed into its proper failure list. The golem is marked as invalid on the behavior, if necessary.
Behaviors need a way to be variable if different types of golems do them. For instance, ingenious golems should be able to create a pearlclay golem with one pearlclay and 16 saturated clay. Ambitious golems should be able to convert higher amounts of saturated clay into bricks all at once.
Behavior teaching: There is a small chance, based on golem personality/psychology type, that a golem might do a task different than they normally do. As long as their personality isn't recessive (ambitious when the city is creative, and vice versa), it increases the chance for other golems of the same personality to do the behavior that way. After a certain number of times, the behavior can start being done by the adjacent personality type (ambitious <-> ingenious <-> creative). If a single golem of that type does the behavior, it is considered learned for that personality, and moves onto the next personality (if applicable). If every personality learns the behavior, it becomes the new norm, and all future behaviors will be done that way. Likewise, if there are no golems of the other personality types, or just creative/ambitious and ingenious, only one/two personalities need to learn a behavior to ingrain it.
The number of learned behaviors is limited to the number of Centres of Understanding in a base. The golem keeps the way he learned with it, so even if they are transfered to another city, they continue using the learned way.
Behaviors need: Weight Personality Weight Modifier Pyschology Weight Modifier Obsolete Condition Obsolete Cleanup Require Condition Require Items Is Teachable
Behavior Assignment Thread walkthrough:
What if a golem is killed after claiming items, and its claiming obsoleted a harvest task?
Check pending behaviors -> Remove behaviors that are obsolete. Do proper cleanup, if necessary (to handle above question about killed golems claiming items)
Check pending inactive golems, and add them to the inactive list.
BAT has inactive golems -> Check if the golems require any necessary behaviors. Check if there are pending behaviors. -> Calculate behavior weights. Determine best behaviors. Do not claim items, only check inventory. Check if a map update caused stale data. Otherwise, begin assigning behaviors.