So today I worked on the last attack, I left this one for last because it was the most complicated to create? Well, it had the most parts D:
It consists in a fire puke (particles, lots of particles), which should cause damage if touching the player, and spawn enemies if there aren?t enough enemies spawned already.
I started by creating the particles, took me a while to achieve the visual I had in my mind when thinking of fire puke, but in the end I’m quite happy with the end result of those particles :) I made an array for them and I’m toggling an “enableEmission” toggle in the code when needed, so they don’t just disappear out of nowhere, but instead smot emitting.
"foreach puke in FirePukes"… Don’t judge my naming conventions XD but yeah, that’s kind of how the actual attack code is looking. It’s a succession of things happening with WaitForSeconds waiting for the next thing to happen.
So, the boss can puke enemies at you, that will both force the player to deal with a bit more direct threat than the boss’s pattern of attacks and will also be a source of possible health-pickups and extra weapons. They’re aggro-able and will follow the player if they pick their scent, while adding them I found some problems on my pathfinding, so I had to reprogram some of it, now if the enemies find a free path to the player (checking a raycast) they’ll simply move in the players direction, otherwise they will use the A* to try and get a free path to the player, that solved a bunch of problems.
For the spawn itself, I decided to use the same spawner I wrote for the rooms, however some of the logic in it involved talking back to the room to tell if the monsters were dead, and give a list of the alive monsters for it to keep, I had to abstract some of that so it wouldn’t require a “roomtemplate” component. That opens up possibilities for making hazards that spawn enemies, or enemies that spawn other enemies, like the boss :)
Now there is only one thing left for this boss battle to be “done” for the contest… The boss death D: I’ll leave that for tomorrow… I am running out of time though =x I have until 11:59pm of the saturday to submit this to the competition, but saturday I should be already working on Ludum Dare so… D: I gotta finish this up quick, I still have a menu to program!