[#bugs] npcs with jump will not use it to overcome otherwise insurmountable obstacles su...

Issue #6221 resolved
Freehold Games Bot Account created an issue

Marked for crossposting by: helado, animated ice cream

Message (jump):

<helado, animated ice cream> npcs with jump will not use it to overcome otherwise insurmountable obstacles such as pits and wooden fences

Comments (6)

  1. Noelle Lavenza

    Can’t reproduce by trapping a hostile pearlfrog in a fence, can you give more exact details?

  2. Noelle Lavenza

    Okay, I think I can reproduce it with having a party member with Jump being trapped behind a fence. Current hypothesis: getClosestPassableCellFor doesn't take into account Jump, due to using IsPassable, which uses ConsiderSolidFor.

                    if (obj.IsFluid() || obj.IsFlying)
                    {
                        if (HasTagOrProperty("Flyover"))
                        {
                            return false;
                        }
                    }
    

    Going to test a Harmony patch that checks for HasSkill("Acrobatics_Jump") in addition to IsFlying and IsFluid() and report back.

    EDIT: It already uses TryMovementMutations; the issue is actually with new FindPath(), since NavigationWeight doesn’t take into account the jump ability. Having Jump add the PathAsIfFlying tag/property might work as a test case to prove that the issue is with the navigation weight.

  3. Noelle Lavenza

    The parameter names are mismatched between things that fire the AIGetMovementMutationList event and things that handle the event. ErosTeleportation, Teleportation, and Acrobatics_Jump use "TargetCell" when handling the event, but MoveTo and Bored use "Target" when firing it.

    In the cases where it does work, the TargetCell/Target parameters are just ignored entirely, instead using no arguments or only providing Distance (which appears to be unused).

  4. Noelle Lavenza

    This patch fixes it; the AI will now jump when you direct them to move to somewhere accessible only via jumping. It will likely also fix teleportation.

  5. Log in to comment