DPB2Class · Game state and actions

LokiPoe.TerrainData

This class let you retrieve information about the Terrain layout in the current area. This is exactly how the game use some specific graphic elements, to draw the area map. This graphic elements are placed in the zone as you enter the area, for the entire zone and are static elements. This mean that you can know where exactly they are (theyr coordinates), without exploring the area. You can use this information to recognize specific spot in a zone, since some special graphic elements, always describe a specific game element, like a stair, a gate, a special door. Please bear in mind that usually there are more than 1 elements of the same kinde placed in a area, and not all of them are placed in walkable space, so you need to iterate all the specific element you want, and check if a path exist to them.

Namespace: DreamPoeBot.Loki.Game

public static class LokiPoe.TerrainDataView DPB1 version →

Members and overloads

14 results

UnBlockBreachWalls

MethodLink ↗
public static void LokiPoe.TerrainData.UnBlockBreachWalls(ref byte[] data, int bytesPerRow)

Executes the un block breach walls operation with the supplied arguments.

databyte[]
Not read by this overload in the reviewed source. Do not rely on this argument to change its behavior.
bytesPerRowint
Not read by this overload in the reviewed source. Do not rely on this argument to change its behavior.

UnblockTriggerableBlockages

MethodLink ↗
public static void LokiPoe.TerrainData.UnblockTriggerableBlockages(ref byte[] data, int bytesPerRow, Func<TriggerableBlockage, bool> shouldUnblock)

This method is mostly used internally and allow us to remove obstacle dynamically placed by the ExilePather class, like closed doors or other NetworkObjects that deny the passage. This is actually used to clear all blocking NetworkObject in some special situation.

databyte[]
Not read by this overload in the reviewed source. Do not rely on this argument to change its behavior.
bytesPerRowint
Not read by this overload in the reviewed source. Do not rely on this argument to change its behavior.
shouldUnblockFunc<TriggerableBlockage, bool>
A Function that take a TriggerableBlockage as parameter.

BytesPerRow

PropertyLink ↗
public static int LokiPoe.TerrainData.BytesPerRow { get; }

The number of bytes that compose a map row. By dividing a map Layer by this number, you can get a full representation of the map row and columns.

Cache

PropertyLink ↗
public static CachedTerrainData LokiPoe.TerrainData.Cache { get; }

Return a CachedTerrainData class that contain a cache version of the terrain data.

Cols

PropertyLink ↗
public static int LokiPoe.TerrainData.Cols { get; }

Return the numbers of Columns in the current area.

Layer0

PropertyLink ↗
public static byte[] LokiPoe.TerrainData.Layer0 { get; }

Retrieve a array of bytes representing the current area bytes layout used by the game to calculate ground (object that can only move on the ground and need to account for terrain obstacle) walkable area. The bytes goes from 0 to 5, representing the min size of a object that can wal on this location, players and Networkobject have usually a size of 3, this mean that they can only walk on location where bytes are 3 or higher. Items or various modificator that change the size o NetworkObjects can change their ability to move on different locations.

Layer1

PropertyLink ↗
public static byte[] LokiPoe.TerrainData.Layer1 { get; }

Retrieve a array of bytes representing the current area bytes layout used by the game to calculate Flying (object that can fly and do not and need to account for terrain obstacle) walkable area. The bytes goes from 0 to 5, representing the min size of a object that can wal on this location, players and Networkobject have usually a size of 3, this mean that they can only walk on location where bytes are 3 or higher. Items or various modificator that change the size o NetworkObjects can change their ability to move on different locations.

Rows

PropertyLink ↗
public static int LokiPoe.TerrainData.Rows { get; }

Return the number of Rows in the current area.

Size

PropertyLink ↗
public static Vector2i LokiPoe.TerrainData.Size { get; }

Return a Vector2i class representing the size of the current area a Columns, Rows.

SizeInNavCells

PropertyLink ↗
public static Vector2i LokiPoe.TerrainData.SizeInNavCells { get; }

Return a Vector2i representing the size of the current area in Navigation Cells form. A navigation Cell, is a square of 23 * 23 bytes.

TdtEntries

PropertyLink ↗
public static LokiPoe.TerrainDataEntry[,] LokiPoe.TerrainData.TdtEntries { get; }

Retrieve and 2d array of TerrainDataEntry representing the full map Tdt layout

TdtUnderPlayer

PropertyLink ↗
public static LokiPoe.TerrainDataEntry LokiPoe.TerrainData.TdtUnderPlayer { get; }

Retrieve a TerrainDataEntry representing the Tdt (a data representation of the graphic tile) under the player. This member is mostly used for debug purpose.

TgtEntries

PropertyLink ↗
public static LokiPoe.TerrainDataEntry[,] LokiPoe.TerrainData.TgtEntries { get; }

Retrieve and 2d array of TerrainDataEntry representing the full map Tgt layout

TgtUnderPlayer

PropertyLink ↗
public static LokiPoe.TerrainDataEntry LokiPoe.TerrainData.TgtUnderPlayer { get; }

Retrieve a TerrainDataEntry class representing the Tgt graphic element under the current character.

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.