add teleport packet, fix movement semantics, fix tile precedence