Documentation for the core framework used in Zarillion's HandyNotes expansion plugins.
Points of Interest (POIs) are visual overlays that appear on the map when hovering over nodes. They provide additional context like paths, areas, or related locations.
POIs extend the map display with custom graphics:
All POIs support conditional display based on quests, requirements, and user preferences.
The base class for all Point of Interest overlays.
ns.poi.POI({41176055, 41526214, 41995819, 43565838})
-- From Azj-Kahet plugin - Simple POI for treasure location
cot.nodes[67013019] = ns.node.Treasure({
quest = 82721,
label = '{item:224783}',
note = L['memory_cache_note'],
requires = ns.requirement.Item(224783), -- Web-Entangled Key
pois = {POI({67303040})} -- Key location marker
}) -- Trapped Memory Cache
-- Multiple coordinate path showing route
local poi = ns.poi.POI({59004200, 60004300, 61004400, 62004500})
-- With color and quest condition from project
local poi = ns.poi.POI({
color = 'Red',
quest = 82718, -- Hide after treasure collected
points = {62601430, 63501530, 64401630}
})
POIs are only displayed when hovering over their associated node. This keeps the map clean while providing additional context when needed.
ns.poi.POI requires the following properties:
points ([int]) (required)
ns.poi.POI supports the following properties:
color (color)
icon (string)
quest (int / [int])
questAny (int / [int])
questDeps (int / [int])
A Path is used to draw lines between multiple coordinates.
-- From project plugins - Path showing route through Azj-Kahet
Path({58463084, 59004200, 60004300, 61004400, 62004500})
-- Colored path with quest condition
Path({
color = 'Blue',
quest = 83287, -- A Spider's-Eye View
points = {45321322, 46522291, 47954059, 49234156}
})
-- Path for profession treasure route
Path({
color = 'Green',
points = {42835735, 44484947, 46812169, 47954059}
}) -- Alchemy treasure path
This adds a Segmented Line between two far apart coordinates.
-- From project - Line connecting rare spawn to related treasure
Line({61411274, 62601430}) -- Tka'ktath Fleshripper to Concealed Contraband
-- Colored line with completion tracking
Line({
color = 'Yellow',
quest = 81705, -- Hide after rare killed
points = {59235348, 58463084} -- Kej to Memory Cache Merchant
})
-- Line showing connection between vendor and treasure
Line({
color = 'Purple',
points = {58463084, 67013019} -- Memory Merchant to Trapped Cache
})
Uses Line as its base class but adds an arrow to the last segment.
Arrow({41176055, 41526214})
This is a function which returns coordinates of a circle.
Path({Circle({origin = 50005000, radius = 5.5})})
ns.poi.Cirlce requires the following properties:
origin (int)
radius (float)
This is a function which returns coordinates of a square.
Path({Square({origin = 50005000, radius = 5.5})})
ns.poi.Square requires the following properties:
origin (int)
width (float)