It got super hot today and I didn’t get as much done as I’d hoped. I did buy a giant fan yesterday which helped, but it’s also kind of drying me out which makes it hard to work as well.
Anyway, I made it so templates can now start off without a name and only become tracked by the thing that tracks all the templates once a name is assigned. It’s also now possible to build an entity without specifying a template, in which case it automatically creates an empty anonymous one, and then add behaviors to that and manually initiate them. I made it so all this stuff should get saved/loaded properly too, with entities using anonymous templates saving the complete templates within the entity save data and entities with named templates just saving the name of their template.
Using these new capabilities, I created a basic attack entity class, which creates its own template on instantiation with whatever capabilities are specified. I can create attacks now by creating one attack this way, then cloning it as necessary. That’s the idea anyway, I probably overlooked some stuff.
All of this might end up being a bit overcomplicated and error prone for a bit, but I think it will get streamlined over time and end up pretty awesome.