Skip to main content

Points on the Map

A point (Point) is a static interactive marker on a location: a quest giver, a trader, a stash, or a transfer to another map. Points are exactly how a story writer "embeds" a story into the game world.

Point structure

{
"id": "b3f1...-uuid",
"type": 1,
"name": "Sidorovich",
"pos": "128:64",
"data": { "chapter": "chapter_1", "stage": "stage_intro" },
"condition": { "!has": ["sidorovich_job_done"] },
"actions": { },
"editor": { "x": 240, "y": 120 }
}
  • pos — coordinates on the location in "x:y" format.
  • condition — the same condition system as in dialogues (see Conditions): the point is physically not shown on the map until the condition is met, and appears on its own once it is — with no extra code.
  • data.chapter + data.stage — if both fields are set, the point automatically becomes a quest point: clicking it opens the given stage of the given chapter. This is the main way to tie a point on the map to your dialogue.
  • editor.x/y — the icon's position on the location preview inside the editor; has no effect on gameplay.

Point types (type)

typeNameIconBehavior
0Quest markerquest.pngA regular quest point
1Quest marker with auto-triggerquest.pngThe dialogue opens automatically when the player enters the point's zone, without an explicit click
2Hidden quest markerno iconWorks like 0, but isn't shown visually on the map (for points the player learns about through text/story logic rather than an icon)
3Hidden quest marker with auto-triggerno iconA combination of 1 and 2
4Traderseller.pngOpens a trading window (equivalent to the openSeller action)
5Stashcache.pngA point where the player finds hidden loot
6Additional questquest1.pngVisually distinct from the main quest marker — handy for optional side quests
7Transfer to another locationtransfer.pngA transfer point to a neighboring map
Auto-trigger vs. click

Types 1/3 (auto-trigger) are handy for story triggers — for example, "as soon as the player enters Cordon, show the intro scene" — whereas 0/2 are better suited to points the player initiates themselves (talk to the trader whenever it's convenient for them).

Hidden points — why they're needed

Hidden points (2, 3) don't draw an icon on the map, but fully participate in the logic: condition, data.chapter/stage, and actions all work the same way for them. A typical use is trigger points that should fire based on the player being in a specific place, but without a visual "quest marker" that would tip the player off in advance that something's there.

Who adds points to the map

Points aren't necessarily "baked into" the location itself — a story chapter can carry its own list of points:

// inside a chapter
"points": {
"kordon": [ { "id": "...", "type": 1, "...": "..." } ]
}

The key is the map's identifier (for example, kordon), and the value is the list of points that this chapter adds specifically to that location. This way, several independent stories can place their own points on the same map without conflicting with each other.

Next