feat: implement teapot suite (#2344)

* feat: implement teapot suite

* fix: home animals, check respawn, etc

* fix: NPE and cancel summon events

* fix: forgot to send eventId also
This commit is contained in:
hamusuke
2023-09-08 12:34:03 +09:00
committed by GitHub
Unverified
parent 83602f78ae
commit fc42f665a7
36 changed files with 1125 additions and 210 deletions
@@ -5,10 +5,7 @@ import emu.grasscutter.net.packet.PacketHandler;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.HomeUpdateArrangementInfoReqOuterClass;
import emu.grasscutter.server.game.GameSession;
import emu.grasscutter.server.packet.send.PacketHomeAvatarTalkFinishInfoNotify;
import emu.grasscutter.server.packet.send.PacketHomeBasicInfoNotify;
import emu.grasscutter.server.packet.send.PacketHomeMarkPointNotify;
import emu.grasscutter.server.packet.send.PacketHomeUpdateArrangementInfoRsp;
import emu.grasscutter.server.packet.send.*;
@Opcodes(PacketOpcodes.HomeUpdateArrangementInfoReq)
public class HandlerHomeUpdateArrangementInfoReq extends PacketHandler {
@@ -22,14 +19,17 @@ public class HandlerHomeUpdateArrangementInfoReq extends PacketHandler {
session.getPlayer().getHome().getHomeSceneItem(session.getPlayer().getSceneId());
var roomSceneId = homeScene.getRoomSceneId();
homeScene.update(req.getSceneArrangementInfo());
homeScene.update(req.getSceneArrangementInfo(), session.getPlayer());
if (roomSceneId != homeScene.getRoomSceneId()) {
session.getPlayer().getHome().onMainHouseChanged();
}
session.getPlayer().getCurHomeWorld().getModuleManager().onUpdateArrangement();
session.send(new PacketHomeAvatarRewardEventNotify(session.getPlayer()));
session.send(
new PacketHomeBasicInfoNotify(session.getPlayer(), session.getPlayer().isInEditMode()));
session.send(new PacketHomeAvatarTalkFinishInfoNotify(session.getPlayer()));
session.send(new PacketHomeAvatarSummonAllEventNotify(session.getPlayer()));
session.send(new PacketHomeMarkPointNotify(session.getPlayer()));
session.getPlayer().getHome().save();