The combat system continues to undergo further improvements, adding more feedback to the player and implementing a bunch of under-the-hood changes. Hooray for progress!
As mentioned in the previous post, counter-attacking can be somewhat confusing because, by default, no special animations are played, and it all happens very quickly (the counter-attack is performed immediately, actually before the original attack even finishes, as I discovered when I went through its code). I've managed to get it to now also play the target's dodge animation (the blurring effect on Conrad), plus added on to the notification at the top of the screen to indicate both the target dodged and countered.
Some additional animations have been added for even more visual feedback!
All told, there should be a lot more interesting movement on screen when fighting battles. Now, if I can somehow make the backgrounds animated at all...
One other animation tweak that's been made is to the movement cursor for mouse/touchscreen movement. I've replaced the indicator with a much sleeker one that's more in line with other UI elements.
There's also been some heavy edits to the code in two major ways.
The first major edit was to the loot system itself, moving from notetags used in each monster entry to a JSON psuedo-database. As a player, you won't notice any difference, but this makes it WAY easier for me to manage loot tables for all the monsters, as well as even have a "master" table for drops (and their conditionals) that apply to all monsters. This way, if I want to make a change, I just have to change it once, and not change it for every monster in the game. And of course individual monsters will have their own tables for additional drops (or changes from the master table), which is a lot easier to edit in a JSON editor than a tiny-arse notetag box that can't be resized (Seriously, the RPG Maker interface is pretty painful sometimes).
This also fixes a problem I was running into with generating the extra item drops (I go well, WELL beyond the vanilla three items per monster) causing some massive amounts of lag. I can write in a bunch of conditionals ahead of time, but normally all of them will get crunched every time the rolls are made, which slows things down. Essentially I made the main parsing happen during initial game load instead, making the game simply roll off a list after battle instead of crunch all those odds after every fight, and also added the capability of adjusting the odds list dynamically (instead of relying on the conditionals ahead of time).
Second, I've overhauled the way random affixes for weapons and armor are generated, again by converting to an external JSON database instead of notetags, to be more efficient in rolling for affixes (it was compounding the lag issues above), and to allow for more dynamic calculations during the course of gameplay (i.e. they can now be changed on the fly, as opposed to being fixed). One of the big ways I can make use of this will be with the crafting system, and using optional items when attempting to nano-forge something that'll alter the probabilities of affixes, for example using Fire Motes to increase the odds the affixes will boost ATK or DEF.
Oh, I also created an effect that can improve loot and affix quality. This will itself probably mostly manifest as an affix on equipment, but maybe I'll devise other ways of utilizing it. It'll be built into Hardcore Mode at the least.
Alright, I think that'll do it for today. Back to the gruntwork of editing JSON!