diff --git a/gc_needed2.json b/gc_needed2.json
index 9bbd60d0..23c4e3e2 100644
--- a/gc_needed2.json
+++ b/gc_needed2.json
@@ -185,6 +185,9 @@
{
"name": "GadgetInteractReq"
},
+ {
+ "name": "VisionType"
+ },
{
"name": "GadgetBornType"
},
@@ -284,6 +287,9 @@
{
"name": "FurnitureMakeData"
},
+ {
+ "name": "HomeAvatarTalkFinishInfo"
+ },
{
"name": "HomeAnimalData"
},
@@ -293,9 +299,33 @@
{
"name": "HomeMarkPointFurnitureData"
},
+ {
+ "name": "HomeAvatarRewardEventNotify"
+ },
+ {
+ "name": "HomeAvatarSummonAllEventNotify"
+ },
+ {
+ "name": "HomeMarkPointNPCData"
+ },
+ {
+ "name": "HomeNpcData"
+ },
{
"name": "HomeSceneArrangementInfo"
},
+ {
+ "name": "HomeAvatarRewardEventInfo"
+ },
+ {
+ "name": "HomeAvatarSummonEventInfo"
+ },
+ {
+ "name": "HomeFurnitureSuiteData"
+ },
+ {
+ "name": "HomeMarkPointSuiteData"
+ },
{
"name": "Equip"
},
@@ -452,9 +482,6 @@
{
"name": "PlayerApplyEnterMpResultNotify"
},
- {
- "name": "VisionType"
- },
{
"name": "InvestigationMonster"
},
@@ -620,6 +647,9 @@
{
"name": "EnterWorldAreaReq"
},
+ {
+ "name": "EntityAiKillSelfNotify"
+ },
{
"name": "EntityAiSyncNotify"
},
@@ -719,9 +749,24 @@
{
"name": "HitTreeNotify"
},
+ {
+ "name": "HomeAvatarRewardEventGetReq"
+ },
+ {
+ "name": "HomeAvatarSummonEventReq"
+ },
+ {
+ "name": "HomeAvatarSummonFinishReq"
+ },
+ {
+ "name": "HomeAvatarTalkReq"
+ },
{
"name": "HomeChangeBgmReq"
},
+ {
+ "name": "HomeChangeEditModeReq"
+ },
{
"name": "HomeChangeModuleReq"
},
@@ -956,6 +1001,9 @@
{
"name": "TowerTeamSelectReq"
},
+ {
+ "name": "TryEnterHomeReq"
+ },
{
"name": "UnionCmdNotify"
},
@@ -1493,6 +1541,27 @@
{
"name": "HomeAllUnlockedBgmIdListNotify"
},
+ {
+ "name": "HomeAvatarAllFinishRewardNotify"
+ },
+ {
+ "name": "HomeAvatarCostumeChangeNotify"
+ },
+ {
+ "name": "HomeAvatarRewardEventGetRsp"
+ },
+ {
+ "name": "HomeAvatarSummonEventRsp"
+ },
+ {
+ "name": "HomeAvatarSummonFinishRsp"
+ },
+ {
+ "name": "HomeAvatarTalkFinishInfoNotify"
+ },
+ {
+ "name": "HomeAvatarTalkRsp"
+ },
{
"name": "HomeChangeBgmNotify"
},
@@ -1718,6 +1787,9 @@
{
"name": "PlayerPropNotify"
},
+ {
+ "name": "PlayerQuitFromHomeNotify"
+ },
{
"name": "PlayerSetPauseRsp"
},
diff --git a/proto/HomeAvatarAllFinishRewardNotify.proto b/proto/HomeAvatarAllFinishRewardNotify.proto
new file mode 100644
index 00000000..90ea6711
--- /dev/null
+++ b/proto/HomeAvatarAllFinishRewardNotify.proto
@@ -0,0 +1,23 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+// CmdId: 9497
+// Obf: PLHINAALPPO
+message HomeAvatarAllFinishRewardNotify {
+ repeated uint32 event_id_list = 12;
+}
diff --git a/proto/HomeAvatarRewardEventGetReq.proto b/proto/HomeAvatarRewardEventGetReq.proto
new file mode 100644
index 00000000..ceb2205b
--- /dev/null
+++ b/proto/HomeAvatarRewardEventGetReq.proto
@@ -0,0 +1,24 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+// CmdId: 26566
+// Obf: BKHPKONPAPN
+message HomeAvatarRewardEventGetReq {
+ uint32 avatar_id = 9;
+ uint32 event_id = 10;
+}
diff --git a/proto/HomeAvatarRewardEventGetRsp.proto b/proto/HomeAvatarRewardEventGetRsp.proto
new file mode 100644
index 00000000..26acac02
--- /dev/null
+++ b/proto/HomeAvatarRewardEventGetRsp.proto
@@ -0,0 +1,26 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+import "ItemParam.proto";
+// CmdId: 25571
+// Obf: BDMGFBJLCFC
+message HomeAvatarRewardEventGetRsp {
+ repeated ItemParam item_list = 15;
+ int32 retcode = 10;
+ uint32 event_id = 13;
+}
diff --git a/proto/HomeAvatarRewardEventInfo.proto b/proto/HomeAvatarRewardEventInfo.proto
new file mode 100644
index 00000000..505c9b9f
--- /dev/null
+++ b/proto/HomeAvatarRewardEventInfo.proto
@@ -0,0 +1,26 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+// Obf: HOLFHPKHFLL
+message HomeAvatarRewardEventInfo {
+ uint32 guid = 11;
+ uint32 event_id = 8;
+ uint32 avatar_id = 5;
+ uint32 random_position = 1;
+ uint32 suite_id = 3;
+}
diff --git a/proto/HomeAvatarRewardEventNotify.proto b/proto/HomeAvatarRewardEventNotify.proto
new file mode 100644
index 00000000..2cf49897
--- /dev/null
+++ b/proto/HomeAvatarRewardEventNotify.proto
@@ -0,0 +1,26 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+import "HomeAvatarRewardEventInfo.proto";
+// CmdId: 2640
+// Obf: DCCPJJPIGAB
+message HomeAvatarRewardEventNotify {
+ HomeAvatarRewardEventInfo reward_event = 4;
+ repeated HomeAvatarRewardEventInfo pending_list = 12;
+ bool is_event_trigger = 7;
+}
diff --git a/proto/HomeAvatarSummonAllEventNotify.proto b/proto/HomeAvatarSummonAllEventNotify.proto
new file mode 100644
index 00000000..fd73aa12
--- /dev/null
+++ b/proto/HomeAvatarSummonAllEventNotify.proto
@@ -0,0 +1,24 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+import "HomeAvatarSummonEventInfo.proto";
+// CmdId: 6401
+// Obf: BPCEHNJGDLB
+message HomeAvatarSummonAllEventNotify {
+ repeated HomeAvatarSummonEventInfo summon_event_list = 15;
+}
diff --git a/proto/HomeAvatarSummonEventInfo.proto b/proto/HomeAvatarSummonEventInfo.proto
new file mode 100644
index 00000000..b64807b2
--- /dev/null
+++ b/proto/HomeAvatarSummonEventInfo.proto
@@ -0,0 +1,27 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+// Obf: JMKEALMLNEH
+message HomeAvatarSummonEventInfo {
+ uint32 guid = 2;
+ uint32 event_over_time = 4;
+ uint32 event_id = 6;
+ uint32 suit_id = 9;
+ uint32 avatar_id = 14;
+ uint32 random_position = 12;
+}
diff --git a/proto/HomeAvatarSummonEventReq.proto b/proto/HomeAvatarSummonEventReq.proto
new file mode 100644
index 00000000..2f0e01f2
--- /dev/null
+++ b/proto/HomeAvatarSummonEventReq.proto
@@ -0,0 +1,25 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+// CmdId: 9238
+// Obf: JIJKLANOOHE
+message HomeAvatarSummonEventReq {
+ uint32 avatar_id = 4;
+ uint32 suit_id = 1;
+ uint32 guid = 5;
+}
diff --git a/proto/HomeAvatarSummonEventRsp.proto b/proto/HomeAvatarSummonEventRsp.proto
new file mode 100644
index 00000000..e1a11bbe
--- /dev/null
+++ b/proto/HomeAvatarSummonEventRsp.proto
@@ -0,0 +1,24 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+// CmdId: 27614
+// Obf: KBGKKKOOOLF
+message HomeAvatarSummonEventRsp {
+ uint32 event_id = 7;
+ int32 retcode = 8;
+}
diff --git a/proto/HomeAvatarSummonFinishReq.proto b/proto/HomeAvatarSummonFinishReq.proto
new file mode 100644
index 00000000..4d5db3ac
--- /dev/null
+++ b/proto/HomeAvatarSummonFinishReq.proto
@@ -0,0 +1,23 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+// CmdId: 24791
+// Obf: OJLLDCGAIDJ
+message HomeAvatarSummonFinishReq {
+ uint32 event_id = 11;
+}
diff --git a/proto/HomeAvatarSummonFinishRsp.proto b/proto/HomeAvatarSummonFinishRsp.proto
new file mode 100644
index 00000000..c5325ec3
--- /dev/null
+++ b/proto/HomeAvatarSummonFinishRsp.proto
@@ -0,0 +1,24 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+// CmdId: 8835
+// Obf: LIPNGPJHCIB
+message HomeAvatarSummonFinishRsp {
+ int32 retcode = 1;
+ uint32 event_id = 4;
+}
diff --git a/proto/PlayerQuitFromHomeNotify.proto b/proto/PlayerQuitFromHomeNotify.proto
new file mode 100644
index 00000000..9b519b07
--- /dev/null
+++ b/proto/PlayerQuitFromHomeNotify.proto
@@ -0,0 +1,34 @@
+// https://github.com/SlushinPS/beach-simulator
+// Copyright (C) 2023 Slushy Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+option java_package = "emu.grasscutter.net.proto";
+// CmdId: 27102
+// Obf: CAIIHFNBIMA
+message PlayerQuitFromHomeNotify {
+ // Obf: ALCHPFAKDCI
+ enum QuitReason {
+ INVALID = 0;
+ KICK_BY_HOST = 1;
+ BACK_TO_MY_WORLD = 2;
+ HOME_BLOCKED = 3;
+ HOME_IN_EDIT_MODE = 4;
+ BY_MUIP = 5;
+ CUR_MODULE_CLOSED = 6;
+ }
+
+ QuitReason reason = 14;
+}