[#bugs] npcs with jump will not use it to overcome otherwise insurmountable obstacles su...
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)
-
-
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 withnew FindPath()
, sinceNavigationWeight
doesn’t take into account the jump ability. Having Jump add thePathAsIfFlying
tag/property might work as a test case to prove that the issue is with the navigation weight.
-
The parameter names are mismatched between things that fire the
AIGetMovementMutationList
event and things that handle the event.ErosTeleportation
,Teleportation
, andAcrobatics_Jump
use "TargetCell" when handling the event, butMoveTo
andBored
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 providingDistance
(which appears to be unused).
-
- attached JumpPatcher.cs
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.
-
repo owner -
assigned issue to
- edited description
-
assigned issue to
-
- changed status to resolved
Fixed in 203.33
- Log in to comment
Can’t reproduce by trapping a hostile pearlfrog in a fence, can you give more exact details?