mirror of
https://github.com/Melledy/Grasscutter.git
synced 2024-11-23 16:16:46 +00:00
fix(serenitea pot): teleport & read born pos from lua
This commit is contained in:
parent
295f15eece
commit
4f3112133c
@ -268,6 +268,11 @@ public class World implements Iterable<Player> {
|
|||||||
} else if (oldScene == newScene) {
|
} else if (oldScene == newScene) {
|
||||||
enterType = EnterType.ENTER_GOTO;
|
enterType = EnterType.ENTER_GOTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Home
|
||||||
|
if (2001 <= newScene.getId() && newScene.getId() <= 2004) {
|
||||||
|
enterType = EnterType.ENTER_SELF_HOME;
|
||||||
|
}
|
||||||
|
|
||||||
// Teleport packet
|
// Teleport packet
|
||||||
player.sendPacket(new PacketPlayerEnterSceneNotify(player, enterType, enterReason, sceneId, pos));
|
player.sendPacket(new PacketPlayerEnterSceneNotify(player, enterType, enterReason, sceneId, pos));
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package emu.grasscutter.server.packet.recv;
|
package emu.grasscutter.server.packet.recv;
|
||||||
|
|
||||||
import emu.grasscutter.Grasscutter;
|
import emu.grasscutter.data.GameData;
|
||||||
|
import emu.grasscutter.game.world.Scene;
|
||||||
import emu.grasscutter.net.packet.Opcodes;
|
import emu.grasscutter.net.packet.Opcodes;
|
||||||
import emu.grasscutter.net.packet.PacketHandler;
|
import emu.grasscutter.net.packet.PacketHandler;
|
||||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||||
import emu.grasscutter.net.proto.TryEnterHomeReqOuterClass;
|
import emu.grasscutter.net.proto.TryEnterHomeReqOuterClass;
|
||||||
|
import emu.grasscutter.scripts.data.SceneConfig;
|
||||||
import emu.grasscutter.server.game.GameSession;
|
import emu.grasscutter.server.game.GameSession;
|
||||||
import emu.grasscutter.server.packet.send.PacketTryEnterHomeRsp;
|
import emu.grasscutter.server.packet.send.PacketTryEnterHomeRsp;
|
||||||
import emu.grasscutter.utils.Position;
|
import emu.grasscutter.utils.Position;
|
||||||
@ -23,44 +25,16 @@ public class HandlerTryEnterHomeReq extends PacketHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hardcoded for now
|
int realmId = 2000 + session.getPlayer().getCurrentRealmId();
|
||||||
switch (session.getPlayer().getCurrentRealmId()) {
|
|
||||||
case 1:
|
|
||||||
session.getPlayer().getWorld().transferPlayerToScene(
|
|
||||||
session.getPlayer(),
|
|
||||||
2001,
|
|
||||||
new Position(839, 319, 137)
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
Scene scene = session.getPlayer().getWorld().getSceneById(realmId);
|
||||||
session.getPlayer().getWorld().transferPlayerToScene(
|
Position pos = scene.getScriptManager().getConfig().born_pos;
|
||||||
session.getPlayer(),
|
|
||||||
2002,
|
|
||||||
new Position(605, 444, 554)
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
session.getPlayer().getWorld().transferPlayerToScene(
|
||||||
session.getPlayer().getWorld().transferPlayerToScene(
|
session.getPlayer(),
|
||||||
session.getPlayer(),
|
realmId,
|
||||||
2003,
|
pos
|
||||||
new Position(511, 229, 605)
|
);
|
||||||
);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 4:
|
|
||||||
session.getPlayer().getWorld().transferPlayerToScene(
|
|
||||||
session.getPlayer(),
|
|
||||||
2004,
|
|
||||||
new Position(239, 187, 536)
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
session.send(new PacketTryEnterHomeRsp());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
session.send(new PacketTryEnterHomeRsp(req.getTargetUid()));
|
session.send(new PacketTryEnterHomeRsp(req.getTargetUid()));
|
||||||
|
Loading…
Reference in New Issue
Block a user