I waited to finish the health and armor systems until I got the weapon system done. Now damage affects player and enemies correctly.
This is how it works, if you don’t have any armor all the Damage goes to Health. Normal Armor absorbs 1/3 and Mega Armor absorbs half the Damage. But if you have less Armor Points than the amount to absorb then armor behaves like Health Points.
Also, if you have 99 Mega Armor points and get a Normal Armor you’ll have 100 Armor Points but the absortion will be reduced form 1/2 to 1/3, making it a negative trade off.
The Environmental Suit and Invulnerability are working as expected.
Radial damage coming from a missile pushes the player, the same can be done to enemies but I’ll leave it like this until further experimentation is done.
I tweaked the nukage material to display different textures animated in sequence.
I’ve been reworking all the weapon system. At first each weapon and its functionality was contained in an individual actor which was spawned when picked up and attached to the player.
Through interfaces I could communicate between actors and activate them when needed.
But being sprite based I thought it would be better and simpler to just put everything in the PlayerCharacter and that’s what I did. All the weapon information is inside a series of structs.
I’ve been making some changes to the collisions, I improved some but some others are now all messed up. Now you can step on enemies and I added some impact effects. I’ve been playing with physical materials, thanks to this I can make them capable of damaging the player. And it’s also possible to add physical materials to sprites so it could be possible to change the kind of blood spurt with different enemies.
This is the SKAG (BFG) I’ll keep, the primary blast can affect up to 40 targets within an 80 meters radius and half a second later 40 rays from the player can damage enemies within a 100 meters range. And every unit damaged gets a miniblast visual effect.
I also improved how you die, now a spectator pawn is spawned and you can move around until you press LMB.
You may not notice it but now every sound is attenuated and spatialized and I increased the max number to 64 to avoid crashing the audio system. I may need to increase it to 128.
Another unnoticed change is movement. I doubled the acceleration and reduced friction.
Now it’s time to properly setup all the collisions, I want a explosive barrel chain reaction.