MoveSummon.txt

Per-map whitelist for arbitrary-coordinate teleports: Mobility Talisman, Resurrection Talisman, party summon skill, and similar coordinate-based warps. Each row declares which rectangle on a map is a legal destination and which level / reset / account / PK gates apply.

File Location#

Data/Move/MoveSummon.txt

Loaded once at GameServer startup. Changes require a restart.

Format#

//Map   X   Y   TX   TY   MinLevel   MaxLevel   MinReset   MaxReset   AccountLevel   PkMove
0       1   1   255  255  1          400        *          *          0              0
...
end

Terminated by the literal end token. Lines starting with // are ignored. Rows are stored in a list in file order, not keyed by an index, so duplicates are allowed and are each evaluated on lookup.

Columns#

ColumnTypeEffect
MapintMap index this whitelist row applies to
X / Y / TX / TYintInclusive bounds of the legal summon destination rectangle. 1 / 1 / 255 / 255 covers any tile on the map
MinLevel / MaxLevelintCharacter level range allowed to be summoned into the rectangle. * stores as -1 and disables that side. MinLevel is scaled by the same class modifier used elsewhere: MG / DL / RF need two-thirds of this value on every map except Swamp of Calmness
MinReset / MaxResetint or *Reset count range. * stores as -1 and disables
AccountLevel0-3Minimum account tier
PkMove0 or 11 allows PK characters (PK level 5+) to enter the rectangle. 0 blocks them

How It's Used#

The engine calls the MoveSummon check before any arbitrary-coordinate warp. Each row is tested in file order; the first row whose Map and rectangle contain the target tile decides the outcome. If that row's level / reset / account / PK gates all pass, the warp is allowed. If any gate fails, the warp is rejected immediately (the loop does not fall through to later rows). If no row matches the Map and rectangle, the warp is rejected.

Typical callers:

  • Mobility Talisman - player marks an arbitrary point, warps back to it later.
  • Resurrection Talisman - player revives at a saved point instead of the map's default respawn gate.
  • Party summon skill - summoner drops a beacon, party members warp in.
  • Plugin-driven teleports via CustomMove.xml.

Server-Side Extra Checks#

On top of the row-by-row match, the check also enforces:

  • Busy state: the warp is rejected if the character has a UI window open, an in-progress teleport, or a death-respawn in progress.
  • Castle Siege safe zone: during non-siege phases, summoning into the Castle Siege map's central rectangle (X in 161-191, Y in 188-216) is blocked.
  • Atlans: summoning into Atlans is blocked if the character is wearing a Uniria or Dinorant.
  • Icarus / Kanturu 3rd Floor: summoning in requires wings, Dinorant, or Fenrir.

These extra checks run before the whitelist loop.

Shipped Whitelist#

The shipped file whitelists the entire playable surface (1 / 1 / 255 / 255) on a set of generic gameplay maps: Lorencia, Dungeon, Devias, Noria, Lost Tower, Atlans, Tarkan, and a range of higher-tier hunting grounds. Every row ships with MinLevel=1, MaxLevel=400, unlimited resets, AccountLevel=0, and PkMove=0. Event-instance maps (Blood Castle, Chaos Castle, Devil Square, Castle Siege, Kanturu event instances, Raklion event instances) are absent by design: players cannot summon or resurrect into an event instance.

Cross-File Dependencies#

AttributeRelated in
MapMapManager.xml
Summon entry pointsGate.txt (MoveSummon does not use gate indices; it checks rectangles directly)
Mobility / Resurrection Talisman item definitionsItem.xml
Atlans / Icarus / Kanturu 3rd Floor equipment gatesWings, Dinorant, Fenrir definitions in Item.xml
PK level thresholdsCommon.dat
Class-scaled MinLevel exceptionSwamp of Calmness map index, see MapManager.xml

Common Issues#

  • Talisman rejects a valid-looking town - that map has no matching MoveSummon row; add one covering the intended rectangle.
  • Party summon fails into a dungeon but works in town - dungeons are intentionally excluded; add the map only if you want party summon to work there.
  • PK character cannot use Mobility Talisman - PkMove=0 on every matching row. Flip to 1 on rows where PK-tolerant summons are allowed.
  • First matching row rejects a player who would pass a later row - row order matters. The first row whose Map and rectangle contain the target tile is the only one evaluated. Reorder or narrow the rectangles so the intended row is hit first.
  • File silently drops rows - the parser stops at end or EOF; a missing end on a file with trailing whitespace can cause the last row to be consumed as a garbage token. Keep the end terminator on its own line.
  • Rectangle check behaves unexpectedly at edges - the check uses inclusive bounds on all four sides; a rectangle of 10 / 10 / 10 / 10 matches exactly tile (10, 10).

Last updated August 20, 2026