Hey everyone, quick update here on the progress of combat implementation. The main functionality is now coded, the only thing missing is animations, we'll be completing these over the next few days and once that's in there's only a few more bells and whistles to tack on before we're ready for a public demo!
Here is a brief explanation on the behaviour. Engaging in combat at the moment is strictly dictated by a monsters Hunger stat. When a monster is very hungry, it may lash out and take its aggression out on another monster nearby. When this happens a fight ensues, both monsters become hostile towards one another, and will begin moving towards each other until they are within their species attack range (each species has a different basic attack, and therefore a different range), at this point they will begin to attempt to make basic attacks on their enemy. A basic attack can be launched if a monster is A) within range, and B) their basic attack has cooled down, like range each species attacks take a different amount of time to cool down, however Speed can affect this rate. Once these two conditions are met the monster will attack, calculating it's Attack stat versus the opponents Defense, and then testing for a critical hit.
Critical hits are very simple at the moment, if an attack is critical it simply adds 1 to the damage, this was merely to test functionality, later on critical hits may be tied to a stat, each species may have their own critical hit chance and effect, or we could come up with some other way to deal with these. I will be opening this up to the community for input. For the time being there is simply a 25% chance to add 1 damage to an attack. Here are a few screenshots of combat, you can see damage numbers, the larger yellow number is indicating a critical hit.
After checking for a critical hit, the resulting damage will be transferred to the enemy. If a monster's HP ever reaches 0, they exit combat and enter a recovery mode (once more the amount of time is based on species). If both monsters attack on the same frame call (very unlikely) and are both left with 0 HP, there is no victor. However, if one of the monster's HP is still above 0, they are declared the victor, they gain XP equal to the opponent's Max HP (for now) and are given a chance to sexually engage, based on their Lust stat. If they choose to do so the forced sexual animation will play for both monsters 😉
Oh I almost forgot, there's also a cool war drum loop which plays whenever a battle is occuring, so the player will always know if shits going down.