DPB2Class ยท Navigation

ExilePather

Query routes and path distances in the current area. Route calculation and issuing movement commands are separate operations.

Namespace: DreamPoeBot.Loki.Bot.Pathfinding

public static class ExilePatherView DPB1 version โ†’

Examples

Imports used by these examples
using System;
using System.Linq;
using DreamPoeBot.Loki.Game;
using DreamPoeBot.Loki.Game.Objects;
using DreamPoeBot.Loki.Bot;
using DreamPoeBot.Loki.Bot.Pathfinding;
using DreamPoeBot.Loki.Common;

Measure the route to a transition

if (!LokiPoe.IsInGame)
    return;

var target = LokiPoe.ObjectManager.GetObjectsByType<AreaTransition>()
    .FirstOrDefault(obj => obj.IsTargetable);
if (target != null)
{
    var distance = ExilePather.PathDistance(LokiPoe.MyPosition, target.Position);
}

A path measurement is not a movement command. Recheck the target before moving.

Members and overloads

1 results
Show all members

BlockTriggerableBlockages

MethodLink โ†—
public static void ExilePather.BlockTriggerableBlockages(ref byte[] data, int bytesPerRow, Func<NetworkObject, bool> shouldBlock, List<NetworkObject> obj)

Sets a blockage's observed footprint to zero clearance (predicate true) or restores its original clearance (predicate false). Does not open or close the object in the game or turn surrounding walls into walkable cells. Empty bounds contain no cells and are ignored without interrupting the remaining objects.

databyte[]
Walkability data buffer to modify.
bytesPerRowint
Row stride in bytes for data.
shouldBlockFunc<NetworkObject, bool>
Predicate indicating whether a blockage should be applied for a given object.
objList<NetworkObject>
Objects whose triggerable blockage components supply the overlay.

When data is the active LokiPoe.TerrainData.Cache.Data buffer, call UpdateObstacles once after batching edits. It rebuilds the global mesh only if cells changed, preserving temporary obstacles and their handles. Explicit choices take priority over automatic blockage updates for this cached terrain. A forced Reload(true) or terrain recache reads a new game buffer; reapply the choices afterwards if still required. Edits to a separate byte array do not affect the global Pathfinder. The footprint must first be observed while the object is closed. An already-open object's buffer is not a mask; if its closed footprint is unknown this method reports the missing data instead of altering the whole rectangle.

Related types

DPB2 0.4.5.88 ยท Reference reviewed 2026-10-02. Descriptions use source summaries where available, otherwise concise signature-based descriptions. Examples illustrate usage; they are not a live-game test.