Bleach:Zanpakutou Senshi is a totally free Total Conversation of Half-Life 1. It´s based on the japanese hit Anime Bleach.
To follow up on Update #23 and clarify what is done with the collision boxes:
Keep in mind that this could be relevant for any type of model that can be rotated, as the Axis Aligned Boundary Box cannot be rotated. Also keep in mind that the solution comes with a cost of multiple elements instead of one, and one weight that against the need of precision.
In this image you see 4 shapes, the top are how the Getsuga would look with a boundary box when aligned and when diagonal to the world axis (represented in 2D as x and y), the bottom shows the Getsuga with multiple boundary boxes inside itself when aligned and diagonal to the world axis.
The boundary box is coloured red and the area that would incorrectly be part of the collision is striped with blue lines.
The AABB is fast to calculate and today is often used as a broad collision detection in modern engines. Those elements that collide will then use a more advanced collision detection algorithm to determine if there is a collision or not.
In HL AABB is what you got to work with and when it detects a collision several things happens, including a event call to a Touch function. It is possible to do a more detailed check at this point, but it is not practical to implement a custom collision system in HL.
If the boundry box was able to be rotated we would have been satisfied with that, so the top left shape is adequate for us, this is because the attack moves quickly forward.
However, when rotated there will be a spike in front of the model, this is not okay.
The bottom shows our solution by adding several small elements inside of the model, the model doesn't collide itself any longer. When aligned and diagonal it is only a matter of insignificant spikes that might extend from the model, providing more satisfactory game play.
The blue lines are not on the bottom shapes due to inadequate space to show them - not because they a perfect solution.