I plan on making the following changes to monster spawning in the near future, in regards primarily to dynamic spawns:
These changes, from the public point of view, primarily effect the format of the mongroups.json file.
Done:
Rename the “multiplier:” attribute as “cost_multiplier”.
Add the “pack:” attribute, which takes an array of the form [x,y], where, when this creature spawns, it spawns in groups of minimum size x and maximum size y. This behaviour will be given to things like wolves and some new monsters.
Add the “conditions_required:” attribute, which can be given a value or array of values, including “DAY”, “NIGHT”, “TWILIGHT”, “DUSK”, “DAWN”, and the seasons. When calculating spawns, the game will check to see if the condition matches, and if not, it will skip this spawn line in the same way it does for spawns before the appear date or after the disappear date. This will allow for the introduction of nocturnal, diurnal, and twilight animals, and enemies that are more common during certain conditions.
Add the “appears:” attribute, which adds a time delay before which these critters will not appear, in days. The earliest a creature will appear is the day of the given value, with zero being the first day. This will be used for the various zombified animals, which will only begin to appear over time. Since you can have multiple entries per animal, with their own delays, this allows for a gradual fade in of certain zombie types. When going through the spawn list, creatures that should not yet “appear” are simple skipped and do not prevent spawns like the current difficulty check.
Add the “disappears:” attribute, which works like the appears attribute but sets the last day on which this spawn is valid instead of the first. Days beyond this value have this spawn line skipped.