- summary: The server refusing your walk request and telling you the cell you stand on, as map coordinates.
- area: Game.Gamemap
The server refusing your walk request and telling you the cell you stand on, as map coordinates.
Kind event · Area Game.Gamemap
The server's NO to your MapMovementRequest: you do not walk the path you
asked for. Instead the server tells you the cell you stand on, as map
coordinates. Exactly one of this message or MapMovementEvent answers a walk
request.
WHAT TO DO WHEN YOU RECEIVE IT
1. YOU ARE ON (cell_x, cell_y). Put the character there and stop any walk you were animating or simulating - the official client stops its character's movement and idles it on that cell. Convert the coordinates to a cell id with the client's own formula:
cell_id = floor(14 * cell_x - 13 * cell_y + (cell_x - cell_y) / 2)
The pair is outside the map grid when cell_y < -cell_x, cell_y > cell_x,
cell_y > 27 - cell_x or cell_y < cell_x - 39. These are the same map
coordinates as the |dx| + |dy| distance used by InteractiveUseRequest.
2. DO NOT CONFIRM. There was no walk, so send no MapMovementConfirmRequest
for it: the official client sends that only when a walk it was granted
ends.
3. YOUR WALK STATE IS RESET. Nothing is in progress any more; you may ask to
walk again (the 250 ms spacing of MapMovementRequest still applies).
4. WHAT WAS WAITING ON THE WALK:
- a pending MapChangeRequest is NOT sent - you never reached the exit
cell;
- a pending InteractiveUseRequest IS still sent by the official
client, from wherever it now stands; expect it to be refused if that is
out of range.
The fight client also handles this message: it resets its own fight movement state, reading neither coordinate.
The members are the cell's map coordinates, not a cell id, and come x first: the official client passes them, in that order, to the routine that builds a map point from (x, y).
When you may send it
- Requires
context_readyinferred
Related messages
- Arrives after
MapMovementRequest
Fields
| # | Field | Type | Meaning | You set it |
|---|---|---|---|---|
| 2 | cell_x | int32 | X map coordinate of the cell the character stands on after the refusal. (map cell coordinate) cell_id = floor(14 * cell_x - 13 * cell_y + (cell_x - cell_y) / 2). The official client passes it first, then cell_y, to the routine that builds a map point. | never |
| 3 | cell_y | int32 | Y map coordinate of the cell the character stands on after the refusal. (map cell coordinate) Off the grid when cell_y < -cell_x, cell_y > cell_x, cell_y > 27 - cell_x or cell_y < cell_x - 39. | never |