Event Generators

This weekend I worked on, and finished, the event loader that will be used to read and parse event mods. From there, I started working on 'Event Generators'. These are unique simulation objects whose job is to create and assign events during a simulation run, with each unique generator being associated with single loaded event mod entry.

A target type must be associated with each event definition, so that generators can successfully filter out which in-game entities are going to be affected by them. Currently there are only two target types: Cell Groups and Factions. As an example, discovery events target cell groups while decision events, being often related to faction politics, target factions exclusively.

Another thing that generators have to take care of is deciding when to assign an event to a target entity. That's where an event's assignment conditions, which are part of an event mod definition, will be used. I still have to implement the part of the simulation that takes care of evaluating assignment conditions for each generator. but I hope it will be done rather quickly.

Next week I hope to finish the work on the event generators and build some unit tests for them. Then it will be time to start working on decisions and the decision counterpart to the example Clan Split event I have been working on. The decision mod definition I created is way more complex than the one for events. So I expect for this to take a little bit longer to complete. But hopefully, I'll be able to reuse many of the elements I had to develop in order to implement event mods.