TheYellowArchitect / doubledamnation

Exclusively Co-Op Metroidvania with Movement as smooth as Smash Bros Melee
GNU General Public License v3.0
19 stars 2 forks source link

Each Attack ANGLE To Have Different Properties #21

Open TheYellowArchitect opened 2 years ago

TheYellowArchitect commented 2 years ago

Currently, whether you attack diagonally down or diagonally up or plain horizontal, it is irrelevant - except the hitbox of course. spearhitboxes The above monster requiring a diagonal down attack to be hit in equal elevation, is a good example of hitbox importance.

Ideally, dash attacks would have more horizontal knockback depending on the velocity/influenceX As for angles?

Diagonal down should "dig" an enemy, hence, more knockbackY, less knockbackX. Diagonal up should either have more knockbackX than plain horizontal attack (1.0,0.0) Or simply push enemies diagonally upwards.

With the above, each attack input would matter. The only difference right now is the hitbox, which is dead obvious to attack an enemy.

CODING I would have to refactor TakeDamage() on enemies, as they make absolutely no use of knockbackPowerX and knockbackPowerY... Hence, it fits with the general planned enemy refactoring, whose main goals are:

Changing the movement, health/damage and monster attacks? Its easier to remake enemies, than refactor 70% of the code. So, as you understand, simply "attackInput changes enemy push" would take a full month or so - most of the time spent on debugging. This is a huge undertaking for such little results. Huge backend change, for almost no front-end difference, hence it is delayed forever.

P.S. Related to this issue is how spellword "Push" works, and could be expanded upon.