Skip to content

Commit

Permalink
Teleport Small Fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Yazawazi committed Apr 21, 2022
1 parent 6863600 commit a01783e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
9 changes: 8 additions & 1 deletion src/main/java/emu/grasscutter/game/World.java
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,10 @@ public boolean transferPlayerToScene(GenshinPlayer player, int sceneId, Position
return false;
}

Integer oldSceneId = null;

if (player.getScene() != null) {
oldSceneId = player.getScene().getId();
player.getScene().removePlayer(player);
}

Expand All @@ -221,7 +224,11 @@ public boolean transferPlayerToScene(GenshinPlayer player, int sceneId, Position
player.getPos().set(pos);

// Teleport packet
player.sendPacket(new PacketPlayerEnterSceneNotify(player, EnterType.EnterSelf, EnterReason.TransPoint, sceneId, pos));
if (oldSceneId.equals(sceneId)) {
player.sendPacket(new PacketPlayerEnterSceneNotify(player, EnterType.EnterGoto, EnterReason.TransPoint, sceneId, pos));
} else {
player.sendPacket(new PacketPlayerEnterSceneNotify(player, EnterType.EnterJump, EnterReason.TransPoint, sceneId, pos));
}
return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public PacketPlayerEnterSceneNotify(GenshinPlayer player, GenshinPlayer target,
.setSceneId(newScene)
.setPos(newPos.toProto())
.setSceneBeginTime(System.currentTimeMillis())
.setType(EnterType.EnterSelf)
.setType(type)
.setTargetUid(target.getUid())
.setEnterSceneToken(player.getEnterSceneToken())
.setWorldLevel(target.getWorld().getWorldLevel())
Expand Down

0 comments on commit a01783e

Please sign in to comment.