dkfans / keeperfx

Open source remake and Fan Expansion of Dungeon Keeper.
https://keeperfx.net/
GNU General Public License v2.0
777 stars 77 forks source link

HAIL type Projectile not impacting #3169

Open ErminioLucente opened 6 months ago

ErminioLucente commented 6 months ago

It seems like some projects on rare occasions do not impact the ground and just get stuck, or fly along the floor without inertia set. The projectiles do respect gravity/fall acceleration even if in the video it appears to float.

its been confirmed that PROPERTIES = STRENGTH_BASED REBOUND_IMMUNE is the culprit.

This video demonstrates the issue.

https://github.com/dkfans/keeperfx/assets/167131626/253d0770-57d1-4099-84f0-35f5a760f0ae

This video demonstrates it in possession mode. It consistently does this if autoaim/PRIMARYTARGET is set, it does NOT do it if this is set to 0.

https://github.com/dkfans/keeperfx/assets/167131626/082d95f1-1bf0-43ac-a403-412a03e880bd

ErminioLucente commented 6 months ago

Here is my SHOT set up

**[shot55];ACID_SPRAY_FUNCTION NAME = ACID_SPRAY_FUNCTION ANIMATION = POISON_BUBBLE ANIMATIONSIZE = 100 ANIMATIONTRANSPARENCY = 2 SIZE_XY = 64 SIZE_Z = 64 DAMAGE = 6 HEALTH = 50 HITTYPE = 3 AREADAMAGE = 1 0 0 FIRELOGIC = 3 EFFECTAMOUNT = 2

SPEED = 180 SPEEDDEVIATION = 80 EXPLOSIONEFFECTS = -121 -130 0 0

SPREAD_XY = 120 SPREAD_Z = 60

FIRINGSOUND = 26

FALLACCELERATION = 22 UPDATELOGIC = 0

DESTROYONHIT = 1 HITCREATURESOUND = 181 PROPERTIES = STRENGTH_BASED REBOUND_IMMUNE**

Loobinex commented 6 months ago

After a bit of investigation, I think this is because it sets TMvF_Unknown10 in thing_fire_shot here:

        if (((shotst->model_flags & ShMF_StrengthBased) != 0) && ((shotst->model_flags & ShMF_ReboundImmune) != 0) && (target->class_id != TCls_Door))
        {
          flag1 = true;

That makes it a duplicate of this issue: #2811