This was going to be an edit, but the post is a decent size, so~
--
I finally figured out the rules/system for defensive collision masks after I realized that they should be easily understandable by the player. Before, I went in circles imagining complicated (unrealistic) cases. Now, the rule is as simple as defending is successful if done in the same direction as attacker origin.....Yeah... Sometimes it's easy to forget that you're just making a game, not a masterpiece, nor a potential future game.
By design, along with the defensive mask, you can define the move to change to if it connects. For consistency, normal blocking should use the block move. That means, while moving backwards, the mask is should be active(created). It also means that, while moving forward, I can support parrying in the same exact way just by changing the move to set.
There are on contact GFX and SFX for defensive masks, too. If it's successful, they will be activated instead of the attack mask FXs.
That's coded, I just have to do testing. I'm also adding in the code for Attack vs Attack masks. There are 3 strength levels, 0, 1 and 2. Attacks with strengths of 0 and 1 can be overpowered by the higher level, or both cancelled if equal. A level of 2 means that it cannot be overpowered, nor cancelled.
In hindsight, after taking things in slower bits, the collision response system turned out easier than expected. Most of it is done, I think. Though, I still have to get to the grabbing system. But I consider that a separate system than the direct collision response system.
--
I finally figured out the rules/system for defensive collision masks after I realized that they should be easily understandable by the player. Before, I went in circles imagining complicated (unrealistic) cases. Now, the rule is as simple as defending is successful if done in the same direction as attacker origin.....Yeah... Sometimes it's easy to forget that you're just making a game, not a masterpiece, nor a potential future game.
By design, along with the defensive mask, you can define the move to change to if it connects. For consistency, normal blocking should use the block move. That means, while moving backwards, the mask is should be active(created). It also means that, while moving forward, I can support parrying in the same exact way just by changing the move to set.
There are on contact GFX and SFX for defensive masks, too. If it's successful, they will be activated instead of the attack mask FXs.
That's coded, I just have to do testing. I'm also adding in the code for Attack vs Attack masks. There are 3 strength levels, 0, 1 and 2. Attacks with strengths of 0 and 1 can be overpowered by the higher level, or both cancelled if equal. A level of 2 means that it cannot be overpowered, nor cancelled.
In hindsight, after taking things in slower bits, the collision response system turned out easier than expected. Most of it is done, I think. Though, I still have to get to the grabbing system. But I consider that a separate system than the direct collision response system.