DCurrent / openbor

OpenBOR is the ultimate 2D side scrolling engine for beat em' ups, shooters, and more!
http://www.chronocrash.com
BSD 3-Clause "New" or "Revised" License
921 stars 124 forks source link

Entities blocking in falling state. #94

Closed DCurrent closed 5 years ago

DCurrent commented 6 years ago

Entities in fallen position can occasionally block incoming attacks. This creates a jarring scenario where a fallen entity sudden appears in standing block pose.

  1. Knock down entity with high block chance in modeltext.
  2. Attack entity with OTG capable strike, do not enable unblockable flag. The fallen entity may block the attack, appearing instantly in block pose from fallen position.
dbaldan commented 6 years ago

This is kinda strage, because I have the same situation on my mod and I never had any issue. Those OTG should be set to unblocked - it makes more sense that way. This is an user error.

But the engine should not try to block an attack while on ground.

DCurrent commented 6 years ago

I found the problem - just a simple logic fix, but I'm cleaning up the block code while I'm at it. It's very messy and redundant. Have it finished by tonight or in the morning.

msmalik681 commented 6 years ago

Great work

dantedevilMKTC commented 6 years ago

After doing several tests with the OpenBOR.v3.0.Build.6315, I have found several new problems, generated by this bug. In order to be better understood, I decided to share a video to make it clearer:

https://www.youtube.com/watch?v=Ph2prRMJdG4

In this video you can clearly see how the enemy appears standing blocking the attack, without going through the anim rise. But other new bugs come later, if you pay attention, after the enemy blocks an attack while it was down, now it can not touch the player, its attacks do not take effect, not even when it executes in grab, the attacks do not work. Also the other bug that also appears after the enemy blocks an attack is on the floor, is that the player can not grab the enemy and clarified that this enemy does not have paingrab 1. Another curious thing is that although the player can hit the enemy (after the blocks while they failed bug), with a simple common punch the enemy is knocked down, as seen in the video at time 0:38, which is rare since that attack does not knock down the enemy and the enemy is not in the air. Just after knocking down the enemy, everything is normalized, until it blocks again while it is on the ground.

DCurrent commented 6 years ago

The blocking logic revamp I'm working on should fix all this. Sorry I've run over on the ETA.

dantedevilMKTC commented 6 years ago

I was testing each build in descending order, from the last one backwards and finally I can confirm that the bug started with OpenBOR v3.0 Build 5134.

Until the OpenBOR v3.0 Build 4905 which is the previous one, everything works fine. It should be noted that in this build I also work the Ilusionista Script for branch in holes. http://www.chronocrash.com/forum/index.php?topic=3910.msg54840#msg54840

Only the Game Over bug remains in this Build.