summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorraven <citrons@mondecitronne.com>2026-03-21 16:27:18 -0500
committerraven <citrons@mondecitronne.com>2026-03-21 16:27:18 -0500
commit9ccacc08a961560118c553dd856f29db0da727ab (patch)
treeee98ab70b68078a62b660415cfd2f4e126c7fa34 /server
parent57d39e1bdc2b3f6ba5f63142800091d264ca9a4e (diff)
cross dimensional teleport to player
Diffstat (limited to 'server')
-rw-r--r--server/commands.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/server/commands.go b/server/commands.go
index 5ec321a..27dd041 100644
--- a/server/commands.go
+++ b/server/commands.go
@@ -95,8 +95,15 @@ var commands = map[string]commandHandler {
pl1 = ctx.server.players[sourcePlayer]
pl2 = ctx.server.players[destPlayer]
)
- pl2.GetInfo(ctx.server, func(_ string, state playerState) {
- pl1.MovePlayer(ctx.server, state.Pos, state.Facing)
+ pl1.GetInfo(ctx.server, func(_ string, st1 playerState) {
+ pl2.GetInfo(ctx.server, func(_ string, st2 playerState) {
+ if st1.LevelId == st2.LevelId {
+ pl1.MovePlayer(ctx.server, st2.Pos, st2.Facing)
+ } else {
+ pl1.ChangeLevel(ctx.server, st2.LevelId, st2.Pos)
+ pl1.MovePlayer(ctx.server, st2.Pos, st2.Facing)
+ }
+ })
})
} else {
if destPlayer != "" {