diff --git a/src/main/java/net/rptools/maptool/client/ui/zone/renderer/ZoneRenderer.java b/src/main/java/net/rptools/maptool/client/ui/zone/renderer/ZoneRenderer.java index b297dde9d7..61e632583e 100644 --- a/src/main/java/net/rptools/maptool/client/ui/zone/renderer/ZoneRenderer.java +++ b/src/main/java/net/rptools/maptool/client/ui/zone/renderer/ZoneRenderer.java @@ -436,7 +436,15 @@ public void commitMoveSelectionSet(GUID keyTokenId) { var lastPoint = tokenPath.getWayPointList().getLast(); var endPoint = switch (lastPoint) { - case CellPoint cp -> token.getDragAnchorAsIfLocatedInCell(zone, cp); + case CellPoint cp -> { + // Anchor at the cell center. + var grid = zone.getGrid(); + var zp = grid.convert(cp); + var centerOffset = grid.getCenterOffset(); + zp.x += (int) centerOffset.x; + zp.y += (int) centerOffset.y; + yield zp; + } case ZonePoint zp -> zp; }; token.moveDragAnchorTo(zone, endPoint); diff --git a/src/main/java/net/rptools/maptool/model/Token.java b/src/main/java/net/rptools/maptool/model/Token.java index b3e07086be..2aaecf50ff 100644 --- a/src/main/java/net/rptools/maptool/model/Token.java +++ b/src/main/java/net/rptools/maptool/model/Token.java @@ -1633,23 +1633,6 @@ public void moveDragAnchorTo(Zone zone, ZonePoint newDragAnchorPosition) { setY(newDragAnchorPosition.y - offsetY); } - /** - * Like {@link #getDragAnchor(Zone)}, but assume the token is in cell {@code cellPoint}. - * - * @param zone The zone that the token lives in. - * @param cellPoint The cell in which the token should pretend to be located. - * @return The drag anchor the token would have if located at {@code cellPoint}. - */ - public ZonePoint getDragAnchorAsIfLocatedInCell(Zone zone, CellPoint cellPoint) { - ZonePoint anchor = getDragAnchor(zone); - ZonePoint nearestGridCellVertex = zone.getGrid().convert(zone.getGrid().convert(anchor)); - ZonePoint targetCellVertex = zone.getGrid().convert(cellPoint); - - return new ZonePoint( - targetCellVertex.x + (anchor.x - nearestGridCellVertex.x), - targetCellVertex.y + (anchor.y - nearestGridCellVertex.y)); - } - /** * Gets the point where the token should go, if it were to be snapped to the grid. *