Some refactoring and some basic feature support this week, all towards bosses and elite enemies.
- On the refactoring side, I ditched even more ScriptableObjects in favour of my own JSON-powered flyweight classes. The changed classes were some name generators and associated data.
- On the same topic, I've made a "boss name generator" for boss creatures, which creates names such as "Satha the sadistic" and "Iveri the power-hungry". Basically, the first name will eventually be derived using a language that's prevailing in the region where the boss will be found, followed by some villainous adjective.
- Fixed a visual bug where some visual effects like burning, freezing etc would be seen before the projectiles that caused them landed
- Added support for creature traits and made a few. Traits are a collection of effects applied to a creature, like providing resistances, increased base health, etc. What this plans to be is what Heroes of Might & Magic did: every creature was differentiated from others based on its stats and, most importantly, traits, which gave unique flavour to units. The difficult part is to come up with interesting traits of course, befitting the genre and gameplay.
- Added support for auras as an effect (applicable in traits). An aura is an effect that is centered on an entity and gets applied repeatedly to all entities (either friendly, or not, or anyone) within a particular radius. For example a boss with a damage aura could cause its enemies to take damage repeatedly while in radius, where as a boss with a damage-enhancing aura would cause all its allies/minions to get damage-enhancing bonuses while in radius.
- Elite creatures get a level bonus plus a corresponding trait for elite creatures (e.g. max health, better damage, faster, etc), whereas boss creatures get a bigger level bonus plus a corresponding trait (or two?) for boss creatures (some aura, etc). I want to have something like Diablo 2's unique monster bonuses
- Elite creatures have a different visual indicator to boss creatures: same effect, different colour.
- Early draft version (aka terrible looking) for visuals to represent auras. They are rendered correctly as a ground layer, alongside decals, but they need to be spiced up. I'll be looking of course at Diablo 2 for reference, but the rest of the work for this might be art-related or making lots of pretty shaders, which is best reserved for an "I-don't-want-to-code-architecture" day
- Spawned creatures can be normal, elite or boss.