works 4.0 in-game

This commit is contained in:
Yuuki 2023-08-17 19:18:58 +08:00
parent 8588bcbdc7
commit 5c8ce7171b
1422 changed files with 25367 additions and 24850 deletions

File diff suppressed because it is too large Load Diff

19432
cmdid.json

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

2560
cmdid_ht_40.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -12,11 +12,14 @@
"name": "BattlePassMission"
},
{
"name": "AbilityInvokeEntryHead"
"name": "AbilityString"
},
{
"name": "AbilityInvokeEntry"
},
{
"name": "AbilityMetaAddAbility"
},
{
"name": "AbilityMetaModifierChange"
},
@ -24,7 +27,10 @@
"name": "AbilityMetaReInitOverrideMap"
},
{
"name": "AbilityMixinCostStamina"
"name": "AbilityMetaSetKilledState"
},
{
"name": "AbilityScalarType"
},
{
"name": "AbilityScalarValueEntry"
@ -32,6 +38,15 @@
{
"name": "ModifierAction"
},
{
"name": "AbilityActionCreateGadget"
},
{
"name": "AbilityActionGenerateElemBall"
},
{
"name": "AbilityActionSetRandomOverrideMapValue"
},
{
"name": "Achievement"
},
@ -42,23 +57,35 @@
"name": "ActivityInfo"
},
{
"name": "MusicBeatmapList"
},
{
"name": "MusicBeatmapNote"
},
{
"name": "MusicBeatmap"
"name": "MusicGameActivityDetailInfo"
},
{
"name": "UgcMusicBriefInfo"
},
{
"name": "UgcMusicNote"
},
{
"name": "UgcMusicRecord"
},
{
"name": "UgcMusicTrack"
},
{
"name": "MusicGameRecord"
},
{
"name": "ActivityWatcherInfo"
},
{
"name": "TrialAvatarGrantRecord"
},
{
"name": "TrialAvatarActivityDetailInfo"
},
{
"name": "TrialAvatarActivityRewardDetailInfo"
},
{
"name": "AvatarFetterInfo"
},
@ -77,6 +104,9 @@
{
"name": "ShowEquip"
},
{
"name": "TrialAvatarInfo"
},
{
"name": "BattlePassCycle"
},
@ -95,6 +125,9 @@
{
"name": "ChatInfo"
},
{
"name": "CityInfo"
},
{
"name": "Retcode"
},
@ -182,9 +215,6 @@
{
"name": "GadgetInteractReq"
},
{
"name": "PlatformInfo"
},
{
"name": "GadgetBornType"
},
@ -206,6 +236,9 @@
{
"name": "VehicleMember"
},
{
"name": "AbilityGadgetInfo"
},
{
"name": "BossChestInfo"
},
@ -230,6 +263,9 @@
{
"name": "MovingPlatformType"
},
{
"name": "PlatformInfo"
},
{
"name": "FightPropPair"
},
@ -350,9 +386,6 @@
{
"name": "HitTreeNotify"
},
{
"name": "AbilityActionGenerateElemBall"
},
{
"name": "AbilityIdentifier"
},
@ -534,7 +567,7 @@
"name": "ChangeGameTimeReq"
},
{
"name": "HomeChangeBgmReq"
"name": "Unk2700BEDLIGJANCJClientReq"
},
{
"name": "ChangeMailStarNotify"
@ -545,9 +578,21 @@
{
"name": "ChangeTeamNameReq"
},
{
"name": "CheckUgcStateReq"
},
{
"name": "CheckUgcUpdateReq"
},
{
"name": "ChooseCurAvatarTeamReq"
},
{
"name": "ClientAbilitiesInitFinishCombineNotify"
},
{
"name": "EntityAbilityInvokeEntry"
},
{
"name": "ClientAbilityChangeNotify"
},
@ -581,6 +626,9 @@
{
"name": "DealAddFriendReq"
},
{
"name": "DelBackupAvatarTeamReq"
},
{
"name": "DeleteFriendReq"
},
@ -596,12 +644,18 @@
{
"name": "DungeonEntryInfoReq"
},
{
"name": "DungeonPlayerDieReq"
},
{
"name": "DungeonSlipRevivePointActivateReq"
},
{
"name": "DungeonWayPointActivateReq"
},
{
"name": "EnterTrialAvatarActivityDungeonReq"
},
{
"name": "EnterWorldAreaReq"
},
@ -626,6 +680,9 @@
{
"name": "EvtEntityRenderersChangedNotify"
},
{
"name": "ExecuteGadgetLuaReq"
},
{
"name": "FireWorkReq"
},
@ -680,6 +737,18 @@
{
"name": "GetShopReq"
},
{
"name": "GetUgcBriefInfoReq"
},
{
"name": "UgcType"
},
{
"name": "GetUgcReq"
},
{
"name": "HomeChangeBgmReq"
},
{
"name": "HomeChangeEditModeReq"
},
@ -701,12 +770,18 @@
{
"name": "HomeUpdateArrangementInfoReq"
},
{
"name": "LaunchFireworksReq"
},
{
"name": "LevelupCityReq"
},
{
"name": "McoinExchangeHcoinReq"
},
{
"name": "MonsterAlertChangeNotify"
},
{
"name": "MusicGameCreateBeatmapReq"
},
@ -770,21 +845,27 @@
{
"name": "QuestDestroyEntityReq"
},
{
"name": "QuestDestroyNpcReq"
},
{
"name": "QuestTransmitReq"
},
{
"name": "QuestUpdateQuestVarReq"
},
{
"name": "QuestVarOp"
},
{
"name": "QuickUseWidgetRsp"
},
{
"name": "ReadMailNotify"
},
{
"name": "ReceivedTrialAvatarActivityRewardReq"
},
{
"name": "ReformFireworksReq"
},
{
"name": "ReliquaryDecomposeReq"
},
@ -792,7 +873,10 @@
"name": "ReliquaryUpgradeReq"
},
{
"name": "DelBackupAvatarTeamReq"
"name": "RemoveCustomTeamReq"
},
{
"name": "SaveUgcReq"
},
{
"name": "SceneAudioNotify"
@ -845,9 +929,6 @@
{
"name": "SetPlayerNameReq"
},
{
"name": "PropValue"
},
{
"name": "SetPlayerPropReq"
},
@ -989,6 +1070,9 @@
{
"name": "AddBackupAvatarTeamRsp"
},
{
"name": "AddCustomTeamRsp"
},
{
"name": "AddNoGachaAvatarCardNotify"
},
@ -1032,7 +1116,7 @@
"name": "AvatarDataNotify"
},
{
"name": "AvatarRenameInfo"
"name": "AvatarDelNotify"
},
{
"name": "AvatarDieAnimationEndRsp"
@ -1106,6 +1190,9 @@
{
"name": "AvatarSkillUpgradeRsp"
},
{
"name": "AvatarTeamAllDataNotify"
},
{
"name": "AvatarTeamUpdateNotify"
},
@ -1164,10 +1251,10 @@
"name": "ChangeGameTimeRsp"
},
{
"name": "HomeChangeBgmNotify"
"name": "Unk2700FJEHHCPCBLGServerNotify"
},
{
"name": "HomeChangeBgmRsp"
"name": "Unk2700OGHMHELMBNNServerRsp"
},
{
"name": "ChangeMpTeamAvatarRsp"
@ -1178,9 +1265,18 @@
{
"name": "ChapterStateNotify"
},
{
"name": "CheckUgcStateRsp"
},
{
"name": "CheckUgcUpdateRsp"
},
{
"name": "ChooseCurAvatarTeamRsp"
},
{
"name": "CloseCommonTipsNotify"
},
{
"name": "CodexDataFullNotify"
},
@ -1212,7 +1308,7 @@
"name": "CreateVehicleRsp"
},
{
"name": "AvatarTeamAllDataNotify"
"name": "CustomTeamListNotify"
},
{
"name": "CutSceneBeginNotify"
@ -1232,6 +1328,9 @@
{
"name": "DealAddFriendRsp"
},
{
"name": "DelBackupAvatarTeamRsp"
},
{
"name": "DeleteFriendNotify"
},
@ -1268,6 +1367,12 @@
{
"name": "DungeonEntryInfoRsp"
},
{
"name": "DungeonPlayerDieNotify"
},
{
"name": "DungeonPlayerDieRsp"
},
{
"name": "DungeonShowReminderNotify"
},
@ -1292,6 +1397,9 @@
{
"name": "EnterSceneReadyRsp"
},
{
"name": "EnterTrialAvatarActivityDungeonRsp"
},
{
"name": "EnterWorldAreaRsp"
},
@ -1307,6 +1415,9 @@
{
"name": "EvtAvatarLockChairRsp"
},
{
"name": "ExecuteGadgetLuaRsp"
},
{
"name": "FinishedParentQuestNotify"
},
@ -1325,6 +1436,18 @@
{
"name": "FireworkSetNotify"
},
{
"name": "FireworksLaunchDataNotify"
},
{
"name": "FireworksLaunchSchemeData"
},
{
"name": "FireworksReformDataNotify"
},
{
"name": "FireworksReformData"
},
{
"name": "ForgeDataNotify"
},
@ -1436,9 +1559,6 @@
{
"name": "GetPlayerTokenRsp"
},
{
"name": "CityInfo"
},
{
"name": "GetSceneAreaRsp"
},
@ -1454,6 +1574,12 @@
{
"name": "Shop"
},
{
"name": "GetUgcBriefInfoRsp"
},
{
"name": "GetUgcRsp"
},
{
"name": "GetWidgetSlotRsp"
},
@ -1469,12 +1595,21 @@
{
"name": "H5ActivityIdsNotify"
},
{
"name": "HomeAllUnlockedBgmIdListNotify"
},
{
"name": "HomeBasicInfoNotify"
},
{
"name": "HomeBasicInfo"
},
{
"name": "HomeChangeBgmNotify"
},
{
"name": "HomeChangeBgmRsp"
},
{
"name": "HomeChangeEditModeRsp"
},
@ -1505,6 +1640,9 @@
{
"name": "HomeModuleUnlockNotify"
},
{
"name": "HomeNewUnlockedBgmIdListNotify"
},
{
"name": "HomePreChangeEditModeNotify"
},
@ -1526,12 +1664,18 @@
{
"name": "HomeSceneJumpRsp"
},
{
"name": "HomeUnknown1Notify"
},
{
"name": "HostPlayerNotify"
},
{
"name": "ItemAddHintNotify"
},
{
"name": "LevelupCityRsp"
},
{
"name": "LifeStateChangeNotify"
},
@ -1544,18 +1688,30 @@
{
"name": "MailItem"
},
{
"name": "MarkMapRsp"
},
{
"name": "MarkNewNotify"
},
{
"name": "McoinExchangeHcoinRsp"
},
{
"name": "MonsterForceAlertNotify"
},
{
"name": "MusicGameCreateBeatmapRsp"
},
{
"name": "MusicGameUnknown1Enum"
},
{
"name": "MusicBeatmap"
},
{
"name": "MusicBriefInfo"
},
{
"name": "MusicGameGetBeatmapRsp"
},
@ -1625,6 +1781,9 @@
{
"name": "PlayerDataNotify"
},
{
"name": "PropValue"
},
{
"name": "PlayerEnterDungeonRsp"
},
@ -1685,6 +1844,9 @@
{
"name": "PlayerPropNotify"
},
{
"name": "PlayerSetPauseRsp"
},
{
"name": "PlayerStoreNotify"
},
@ -1733,6 +1895,15 @@
{
"name": "QuestDestroyEntityRsp"
},
{
"name": "QuestDestroyNpcRsp"
},
{
"name": "QuestGlobalVarNotify"
},
{
"name": "QuestGlobalVar"
},
{
"name": "QuestListNotify"
},
@ -1745,9 +1916,18 @@
{
"name": "QuestTransmitRsp"
},
{
"name": "QuestUpdateQuestVarNotify"
},
{
"name": "QuestUpdateQuestVarRsp"
},
{
"name": "ReceivedTrialAvatarActivityRewardRsp"
},
{
"name": "ReformFireworksRsp"
},
{
"name": "ReliquaryDecomposeRsp"
},
@ -1755,7 +1935,7 @@
"name": "ReliquaryUpgradeRsp"
},
{
"name": "DelBackupAvatarTeamRsp"
"name": "RemoveCustomTeamRsp"
},
{
"name": "ResinChangeNotify"
@ -1778,6 +1958,9 @@
{
"name": "SceneEntityMoveNotify"
},
{
"name": "SceneEntityUpdateNotify"
},
{
"name": "SceneForceLockNotify"
},
@ -1799,6 +1982,9 @@
{
"name": "ScenePlayerLocationNotify"
},
{
"name": "ScenePlayerSoundNotify"
},
{
"name": "ScenePointUnlockNotify"
},
@ -1868,6 +2054,12 @@
{
"name": "SetWidgetSlotRsp"
},
{
"name": "ShowClientGuideNotify"
},
{
"name": "ShowCommonTipsNotify"
},
{
"name": "SkipPlayerGameTimeRsp"
},
@ -1959,10 +2151,10 @@
"name": "UnlockedFurnitureSuiteDataNotify"
},
{
"name": "HomeAllUnlockedBgmIdListNotify"
"name": "Unk2700LOHBMOKOPLHServerNotify"
},
{
"name": "HomeNewUnlockedBgmIdListNotify"
"name": "Unk2700MEBFPBDNPGOServerNotify"
},
{
"name": "UnlockNameCardNotify"

4
op.js
View File

@ -7,7 +7,7 @@ const readline = require("readline");
const read_cmdid_last = "cmdid_last.csv";
const read_cmdid = "cmdid.csv";
const read_cmdid_output = "cmdid.json";
const read_cmdid_ht_output = "cmdid_ht_37.json";
const read_cmdid_ht_output = "cmdid_ht_40.json";
const read_cmdid_output_gc = "cmdid_gc.json";
const read_cmdid_output_gc_update = "cmdid_gc_update.json";
const read_cmdid_output_gc_nofound = "cmdid_gc_nofound.json";
@ -984,7 +984,7 @@ function cmdid_json_to_csv() {
//cmdid_json_to_csv();
// Update GC Proto
// get_cmdid_gc(); // 1. get cmd old gc
// read_cmdid_ht_json(); // 2 or
//read_cmdid_ht_json(); // 2 or
// get_cmdid_json(); // 2. get last cmdid.csv to json
// now we have cmdid_gc.json and cmdid.json
// update_cmdid_gc(); // 3. update gc cmdid (mode by id)

23
proto/ADHOJAAOLNO.proto Normal file
View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
enum ADHOJAAOLNO {
ADHOJAAOLNO_DungeonCandidateAvatarTypeNone = 0;
ADHOJAAOLNO_DungeonCandidateAvatarTypeFormal = 1;
ADHOJAAOLNO_DungeonCandidateAvatarTypeUgc = 2;
}

View File

@ -17,9 +17,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
// Obf: OPDCPCFOLIE
// Obf: BAFEPPHIOGH
message AbilityActionCreateGadget {
Vector rot = 8;
uint32 room_id = 6;
Vector pos = 13;
Vector pos = 10;
Vector rot = 12;
uint32 room_id = 7;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
// Obf: BEHNKFHKEMD
// Obf: OBEOLIIBNAF
message AbilityActionGenerateElemBall {
Vector pos = 4;
uint32 room_id = 7;
Vector rot = 15;
uint32 room_id = 6;
Vector rot = 9;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityString.proto";
import "AbilityScalarValueEntry.proto";
// Obf: GBOIHEDHOGC
// Obf: NKCDMLBKHGI
message AbilityAppliedAbility {
AbilityString ability_name = 1;
AbilityString ability_override = 2;

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityString.proto";
import "AbilityAttachedModifier.proto";
import "ModifierDurability.proto";
// Obf: DCPBFOKKPFJ
// Obf: OAHPGFENJJK
message AbilityAppliedModifier {
int32 modifier_local_id = 1;
uint32 parent_ability_entity_id = 2;

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: KLMOHHKFHDB
// Obf: COGFLLLFFFC
message AbilityAttachedModifier {
bool is_invalid = 1;
uint32 owner_entity_id = 2;

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityControlBlock.proto";
// CmdId: 1184
// Obf: PLMKKNIJMEC
// CmdId: 300
// Obf: GEMMGPJKGAF
message AbilityChangeNotify {
uint32 entity_id = 10;
AbilityControlBlock ability_control_block = 2;
AbilityControlBlock ability_control_block = 12;
uint32 entity_id = 8;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityEmbryo.proto";
// Obf: OLBGGLMLEBL
// Obf: GGPHMELJCOL
message AbilityControlBlock {
repeated AbilityEmbryo ability_embryo_list = 1;
}

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: JAODNDBPGJA
// Obf: PLELJEGMEOD
message AbilityEmbryo {
uint32 ability_id = 1;
fixed32 ability_name_hash = 2;

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: AELEICAJLLG
// Obf: AHHOEHNNEIN
message AbilityGadgetInfo {
uint32 camp_id = 1;
uint32 camp_target_type = 2;

View File

@ -15,16 +15,13 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: PIEGLPACNBP
// Obf: JJPHDINFFJI
message AbilityIdentifier {
uint32 instanced_modifier_id = 11;
int32 local_id = 2;
bool is_serverbuff_modifier = 14;
uint32 modifier_owner_id = 1;
uint32 ability_caster_id = 15;
uint32 instanced_ability_id = 9;
int32 local_id = 5;
uint32 instanced_ability_id = 11;
bool is_serverbuff_modifier = 2;
uint32 instanced_modifier_id = 12;
uint32 MDEDDJNNKOI = 6;
uint32 BKJOIGAMEAM = 10;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityInvokeEntry.proto";
// CmdId: 1196
// Obf: PJFLGALPCNO
// CmdId: 26313
// Obf: IFAKFDEJFLI
message AbilityInvocationsNotify {
repeated AbilityInvokeEntry invokes = 1;
repeated AbilityInvokeEntry invokes = 15;
}

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: IEGANFCMCNJ
// Obf: LBKBGBCCGMA
enum AbilityInvokeArgument {
ABILITY_INVOKE_ARGUMENT_NONE = 0;
ABILITY_INVOKE_ARGUMENT_META_MODIFIER_CHANGE = 1;
@ -44,6 +41,7 @@ enum AbilityInvokeArgument {
ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ELEMENT_REACTION = 20;
ABILITY_INVOKE_ARGUMENT_META_LOSE_HP = 21;
ABILITY_INVOKE_ARGUMENT_META_DURABILITY_IS_ZERO = 22;
ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ARKHE_REACTION = 23;
ABILITY_INVOKE_ARGUMENT_ACTION_TRIGGER_ABILITY = 50;
ABILITY_INVOKE_ARGUMENT_ACTION_SET_CRASH_DAMAGE = 51;
ABILITY_INVOKE_ARGUMENT_ACTION_EFFECT = 52;
@ -61,6 +59,7 @@ enum AbilityInvokeArgument {
ABILITY_INVOKE_ARGUMENT_ACTION_HIT_EFFECT = 64;
ABILITY_INVOKE_ARGUMENT_ACTION_SET_BULLET_TRACK_TARGET = 65;
ABILITY_INVOKE_ARGUMENT_ACTION_FIREWORK_EFFECT = 66;
ABILITY_INVOKE_ARGUMENT_ACTION_LEVEL_BANK_ADD_STUFF = 67;
ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_STEER_BY_CAMERA = 100;
ABILITY_INVOKE_ARGUMENT_MIXIN_MONSTER_DEFEND = 101;
ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_ZONE = 102;
@ -74,7 +73,7 @@ enum AbilityInvokeArgument {
ABILITY_INVOKE_ARGUMENT_MIXIN_FIELD_ENTITY_COUNT_CHANGE = 110;
ABILITY_INVOKE_ARGUMENT_MIXIN_SCENE_PROP_SYNC = 111;
ABILITY_INVOKE_ARGUMENT_MIXIN_WIDGET_MP_SUPPORT = 112;
ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_SELF_MODIFIER_ELEMENT_DURABILITY_INVOKE_ARGUMENT_RATIO = 113;
ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_SELF_MODIFIER_ELEMENT_DURABILITY_RATIO = 113;
ABILITY_INVOKE_ARGUMENT_MIXIN_FIREWORKS_LAUNCHER = 114;
ABILITY_INVOKE_ARGUMENT_MIXIN_ATTACK_RESULT_CREATE_COUNT = 115;
ABILITY_INVOKE_ARGUMENT_MIXIN_UGC_TIME_CONTROL = 116;
@ -87,5 +86,8 @@ enum AbilityInvokeArgument {
ABILITY_INVOKE_ARGUMENT_MIXIN_DAMAGE_LOAN = 123;
ABILITY_INVOKE_ARGUMENT_MIXIN_BROADCAST_GV = 124;
ABILITY_INVOKE_ARGUMENT_MIXIN_RECEIVE_GV = 125;
ABILITY_INVOKE_ARGUMENT_MIXIN_RAYCAST_SELECT_TARGET = 126;
ABILITY_INVOKE_ARGUMENT_MIXIN_ENERGY_CRYSTAL_TARGET = 127;
ABILITY_INVOKE_ARGUMENT_MIXIN_ROTATION_FOLLOW_CAMERA = 128;
ABILITY_INVOKE_ARGUMENT_MIXIN_BUOYANT_FORCE = 129;
}

View File

@ -15,22 +15,19 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityInvokeEntryHead.proto";
import "AbilityInvokeArgument.proto";
import "ForwardType.proto";
// Obf: ELGIBELOGKF
import "AbilityInvokeEntryHead.proto";
// Obf: BNCFAGLEKAM
message AbilityInvokeEntry {
uint32 event_id = 8;
uint32 entity_id = 10;
AbilityInvokeEntryHead head = 14;
bool is_ignore_auth = 2;
uint32 forward_peer = 3;
AbilityInvokeArgument argument_type = 1;
ForwardType forward_type = 11;
bytes ability_data = 12;
double total_tick_time = 4;
AbilityInvokeArgument argument_type = 7;
bytes ability_data = 2;
uint32 entity_id = 9;
ForwardType forward_type = 14;
double total_tick_time = 5;
uint32 forward_peer = 12;
uint32 event_id = 1;
bool is_ignore_auth = 13;
AbilityInvokeEntryHead head = 8;
}

View File

@ -15,17 +15,14 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: DPEDKHLIFHF
// Obf: JOJGDABCHAP
message AbilityInvokeEntryHead {
int32 modifier_config_local_id = 8;
uint32 target_id = 13;
uint32 instanced_ability_id = 9;
uint32 server_buff_uid = 2;
int32 local_id = 4;
uint32 instanced_ability_id = 5;
int32 modifier_config_local_id = 4;
int32 local_id = 9;
uint32 server_buff_uid = 7;
uint32 instanced_modifier_id = 11;
bool is_serverbuff_modifier = 12;
uint32 instanced_modifier_id = 15;
uint32 target_id = 8;
}

View File

@ -17,7 +17,7 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityAppliedAbility.proto";
// Obf: KGNBOGPLLAM
// Obf: GOIHMEADCCK
message AbilityMetaAddAbility {
AbilityAppliedAbility ability = 2;
AbilityAppliedAbility ability = 9;
}

View File

@ -15,25 +15,22 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityAttachedModifier.proto";
import "ModifierProperty.proto";
import "ModifierAction.proto";
import "AbilityString.proto";
import "AbilityAttachedModifier.proto";
// Obf: NANLJHBMAGF
// Obf: FFBMKELHDNF
message AbilityMetaModifierChange {
repeated ModifierProperty properties = 14;
ModifierAction action = 4;
uint32 apply_entity_id = 2;
bool is_mute_remote = 15;
bool JGGDMDGLJOP = 8;
AbilityString parent_ability_name = 1;
uint32 server_buff_uid = 7;
AbilityString parent_ability_override = 10;
AbilityAttachedModifier attached_instanced_modifier = 3;
bool DLOLFHNNEKI = 12;
int32 modifier_local_id = 5;
AbilityAttachedModifier attached_instanced_modifier = 15;
uint32 server_buff_uid = 5;
repeated ModifierProperty properties = 6;
bool BNMCKEBPDGI = 11;
bool is_attached_parent_ability = 2;
uint32 apply_entity_id = 9;
ModifierAction action = 1;
bool HEDGMMNKADC = 10;
AbilityString parent_ability_name = 7;
AbilityString parent_ability_override = 8;
int32 modifier_local_id = 14;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityScalarValueEntry.proto";
// Obf: EDIDAGDNOLP
// Obf: DKNHIBDBJDH
message AbilityMetaReInitOverrideMap {
repeated AbilityScalarValueEntry override_map = 2;
repeated AbilityScalarValueEntry override_map = 10;
}

View File

@ -15,21 +15,18 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "MassivePropSyncInfo.proto";
import "BreakoutSnapShot.proto";
// Obf: PEBNHOCGDFE
// Obf: NNBAGDGFEKA
message AbilityMixinRecoverInfo {
oneof Source {
uint32 instanced_ability_id = 1;
uint32 instanced_modifier_id = 2;
}
uint32 local_id = 3;
repeated uint32 data_list = 4;
bool is_serverbuff_modifier = 5;
repeated MassivePropSyncInfo massive_prop_list = 6;
BreakoutSnapShot breakout_snap_shot = 7;
oneof Source {
uint32 instanced_ability_id = 1;
uint32 instanced_modifier_id = 2;
}
}

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: EBCOKIIELIE
// Obf: HOIECOCMCMI
enum AbilityScalarType {
ABILITY_SCALAR_TYPE_UNKNOW = 0;
ABILITY_SCALAR_TYPE_FLOAT = 1;

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityString.proto";
import "AbilityScalarType.proto";
// Obf: ELHFFNHJCPD
// Obf: DAEKOPFKPMK
message AbilityScalarValueEntry {
AbilityString key = 1;
AbilityScalarType value_type = 2;

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: KHIKIFCBPKH
// Obf: PPIBJBLBJDL
message AbilityString {
oneof type {
string str = 1;

View File

@ -15,15 +15,12 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AbilityScalarValueEntry.proto";
import "AbilityAppliedAbility.proto";
import "AbilityAppliedModifier.proto";
import "AbilityMixinRecoverInfo.proto";
// Obf: LKMIECILJCL
// Obf: JDIFMANDKLC
message AbilitySyncStateInfo {
bool is_inited = 1;
repeated AbilityScalarValueEntry dynamic_value_map = 2;

View File

@ -18,13 +18,11 @@ syntax = "proto3";
import "Status.proto";
option java_package = "emu.grasscutter.net.proto";
// Obf: LPAPJAKPDJO
message Achievement {
uint32 id = 3;
Status status = 10;
uint32 total_progress = 14;
// Obf: NJOHADFBICH
message Achievement {
uint32 finish_timestamp = 15;
uint32 cur_progress = 5;
Status status = 10;
uint32 total_progress = 4;
uint32 cur_progress = 14;
uint32 id = 5;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Achievement.proto";
// CmdId: 2678
// Obf: JGJDJMAOIMP
// CmdId: 27422
// Obf: BMJFIOKJEMJ
message AchievementAllDataNotify {
repeated uint32 reward_taken_goal_id_list = 10;
repeated Achievement achievement_list = 4;
repeated uint32 reward_taken_goal_id_list = 4;
repeated Achievement achievement_list = 9;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Achievement.proto";
// CmdId: 2658
// Obf: CHOHAAMOIKE
// CmdId: 4460
// Obf: IDGAPFJMLNJ
message AchievementUpdateNotify {
repeated Achievement achievement_list = 2;
repeated Achievement achievement_list = 15;
}

View File

@ -15,10 +15,7 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ActivityWatcherInfo.proto";
import "ActivityPushTipsData.proto";
import "SeaLampActivityDetailInfo.proto";
@ -94,113 +91,130 @@ import "FungusFighterV2DetailInfo.proto";
import "AkaFesDetailInfo.proto";
import "SandwormCannonDetailInfo.proto";
import "SorushTrialDetailInfo.proto";
import "MPCBEPPJBHA.proto";
import "FFKMNCKOPHD.proto";
import "LFDOHAHCGAN.proto";
import "DPMOKIKIFAI.proto";
// Obf: FBLOJKJLOLH
import "JourneyInfo.proto";
import "EffigyChallengeV4Info.proto";
import "GcgPveInfo.proto";
import "UgcV2Info.proto";
import "PenumbraAdventureInfo.proto";
import "AnimalViewInfo.proto";
import "ActivityMultiCharacterInfo.proto";
import "GcgPveInfiniteInfo.proto";
import "ToyBattleInfo.proto";
import "PhotoUnderseaInfo.proto";
import "FontaineGatherInfo.proto";
import "GcgPvePuzzleInfo.proto";
// Obf: AMADJGLDDCF
message ActivityInfo {
uint32 activity_id = 3;
repeated uint32 DNMOEAFCDGC = 1736;
repeated ActivityWatcherInfo watcher_info_list = 9;
bool is_finished = 14;
repeated uint32 LJLDCLMAMNL = 482;
bool PJJKJGALLGD = 16;
uint32 activity_type = 1;
uint32 end_time = 6;
uint32 begin_time = 7;
uint32 KOHDIPCFMID = 1859;
uint32 first_day_start_time = 533;
bool BMIBLEHMCLP = 888;
bool KLIKNJBHDCK = 1369;
uint32 activity_id = 2;
repeated uint32 JCPFGDCAGFC = 726;
bool OLEFIJABEPB = 1478;
bool GGOIMBPGHJF = 9;
repeated ActivityWatcherInfo watcher_info_list = 14;
repeated uint32 meet_cond_list = 13;
map<uint32, uint32> wish_gift_num_map = 1016;
uint32 cur_score = 1089;
bool is_finished = 15;
map<uint32, uint32> activity_coin_map = 992;
bool DPDFHAIDJPN = 233;
repeated ActivityPushTipsData activity_push_tips_data_list = 1333;
repeated uint32 expire_cond_list = 5;
uint32 MANEEFHEAIA = 925;
repeated uint32 taken_reward_list = 31;
uint32 schedule_id = 12;
bool BNEDNKKLKCL = 11;
uint32 schedule_id = 5;
map<uint32, uint32> activity_coin_map = 1562;
repeated uint32 meet_cond_list = 12;
bool DKJDABCNGBP = 13;
uint32 begin_time = 2;
uint32 INGFNLLCDOL = 733;
bool ENNDKMJIMHN = 15;
uint32 cur_score = 1555;
bool BKJNDLLNAML = 1818;
uint32 first_day_start_time = 978;
bool ABMOPKOIMPA = 525;
uint32 FGFGECAAKJM = 1703;
bool GFEMIEBKKKL = 1117;
uint32 CEFIPNKPEKA = 621;
uint32 end_time = 11;
map<uint32, uint32> wish_gift_num_map = 924;
repeated uint32 PHCOMIFAIJD = 4;
repeated ActivityPushTipsData activity_push_tips_data_list = 643;
oneof detail {
SeaLampActivityDetailInfo sam_lamp_info = 4;
CrucibleActivityDetailInfo crucible_info = 10;
SeaLampActivityDetailInfo sam_lamp_info = 10;
CrucibleActivityDetailInfo crucible_info = 7;
SalesmanActivityDetailInfo salesman_info = 8;
TrialAvatarActivityDetailInfo trial_avatar_info = 3;
DeliveryActivityDetailInfo delivery_info = 1570;
AsterActivityDetailInfo aster_info = 344;
FlightActivityDetailInfo flight_info = 326;
DragonSpineActivityDetailInfo dragon_spine_info = 1821;
EffigyActivityDetailInfo effigy_info = 650;
TreasureMapActivityDetailInfo treasure_map_info = 1080;
BlessingActivityDetailInfo blessing_info = 81;
SeaLampActivityInfo sea_lamp_info = 587;
ExpeditionActivityDetailInfo expedition_info = 1257;
ArenaChallengeActivityDetailInfo arena_challenge_info = 827;
FleurFairActivityDetailInfo fleur_fair_info = 1111;
WaterSpiritActivityDetailInfo water_spirit_info = 975;
ChannelerSlabActivityDetailInfo challneler_slab_info = 2045;
MistTrialActivityDetailInfo mist_trial_activity_info = 742;
HideAndSeekActivityDetailInfo hide_and_seek_info = 1693;
FindHilichurlDetailInfo find_hilichurl_info = 448;
SummerTimeDetailInfo summer_time_info = 1370;
BuoyantCombatDetailInfo buoyant_combat_info = 1400;
EchoShellDetailInfo echo_shell_info = 433;
BounceConjuringActivityDetailInfo bounce_conjuring_info = 166;
BlitzRushActivityDetailInfo blitz_rush_info = 875;
ChessActivityDetailInfo chess_info = 1460;
SumoActivityDetailInfo sumo_info = 1433;
MoonfinTrialActivityDetailInfo moonfin_trial_info = 1010;
LunaRiteDetailInfo luna_rite_info = 921;
PlantFlowerActivityDetailInfo plant_flower_info = 289;
MusicGameActivityDetailInfo music_game_info = 490;
RoguelikeDungeonActivityDetailInfo roguelike_dungoen_info = 108;
DigActivityDetailInfo dig_info = 1721;
HachiActivityDetailInfo hachi_info = 1432;
WinterCampActivityDetailInfo winter_camp_info = 275;
PotionActivityDetailInfo potion_info = 1069;
TanukiTravelActivityDetailInfo tanuki_travel_activity_info = 22;
LanternRiteActivityDetailInfo lantern_rite_activity_info = 1809;
MichiaeMatsuriActivityDetailInfo michiae_matsuri_info = 635;
BartenderActivityDetailInfo bartender_info = 162;
UgcActivityDetailInfo ugc_info = 25;
CrystalLinkActivityDetailInfo crystal_link_info = 1427;
IrodoriActivityDetailInfo irodori_info = 2031;
PhotoActivityDetailInfo photo_info = 1971;
SpiceActivityDetailInfo spice_info = 1463;
GachaActivityDetailInfo gacha_info = 1869;
LuminanceStoneChallengeActivityDetailInfo luminance_stone_challenge_info = 1272;
RogueDiaryActivityDetailInfo rogue_diary_info = 1148;
SummerTimeV2DetailInfo summer_time_v2_info = 1413;
IslandPartyDetailInfo island_party_info = 708;
GearActivityDetailInfo gear_info = 1415;
GravenInnocenceDetailInfo graven_innocence_info = 1508;
InstableSprayDetailInfo instable_spray_info = 1694;
MuqadasPotionActivityDetailInfo muqadas_potion_info = 1232;
TreasureSeelieActivityDetailInfo treasure_seelie_info = 315;
RockBoardExploreDetailInfo rock_board_explore_info = 821;
VintageActivityDetailInfo vintage_info = 1330;
WindFieldDetailInfo wind_field_info = 1399;
FungusFighterDetailInfo fungus_fighter_info = 1549;
CharAmusementDetailInfo char_amusement_info = 1548;
EffigyChallengeV2DetailInfo effigy_challenge_info = 388;
CoinCollectDetailInfo coin_collect_info = 954;
BrickBreakerDetailInfo brick_breaker_info = 2012;
DuelHeartDetailInfo duel_heart_info = 1666;
SeaLampV3DetailInfo sea_lamp_v3_info = 574;
TeamChainDetailInfo team_chain_info = 937;
ElectroherculesBattleDetailInfo electrohercules_battle_info = 116;
GCGFestivalDetailInfo gcg_festival_info = 1486;
FleurFairV2DetailInfo fleur_fair_v2_info = 662;
FungusFighterV2DetailInfo fungus_fighter_v2_info = 790;
AkaFesDetailInfo aka_fes_info = 486;
SandwormCannonDetailInfo sandworm_cannon_detail_info = 1690;
SorushTrialDetailInfo sorush_trial_info = 1147;
MPCBEPPJBHA EOGBJAIIMGD = 1720;
FFKMNCKOPHD GPINLKNMFFK = 618;
LFDOHAHCGAN EIEBOHPGOHB = 1505;
DPMOKIKIFAI ABBKIICBKFG = 1349;
TrialAvatarActivityDetailInfo trial_avatar_info = 6;
DeliveryActivityDetailInfo delivery_info = 1846;
AsterActivityDetailInfo aster_info = 260;
FlightActivityDetailInfo flight_info = 826;
DragonSpineActivityDetailInfo dragon_spine_info = 110;
EffigyActivityDetailInfo effigy_info = 1010;
TreasureMapActivityDetailInfo treasure_map_info = 1754;
BlessingActivityDetailInfo blessing_info = 331;
SeaLampActivityInfo sea_lamp_info = 1114;
ExpeditionActivityDetailInfo expedition_info = 674;
ArenaChallengeActivityDetailInfo arena_challenge_info = 39;
FleurFairActivityDetailInfo fleur_fair_info = 293;
WaterSpiritActivityDetailInfo water_spirit_info = 1997;
ChannelerSlabActivityDetailInfo challneler_slab_info = 1757;
MistTrialActivityDetailInfo mist_trial_activity_info = 1622;
HideAndSeekActivityDetailInfo hide_and_seek_info = 1747;
FindHilichurlDetailInfo find_hilichurl_info = 1284;
SummerTimeDetailInfo summer_time_info = 950;
BuoyantCombatDetailInfo buoyant_combat_info = 519;
EchoShellDetailInfo echo_shell_info = 305;
BounceConjuringActivityDetailInfo bounce_conjuring_info = 1864;
BlitzRushActivityDetailInfo blitz_rush_info = 915;
ChessActivityDetailInfo chess_info = 1087;
SumoActivityDetailInfo sumo_info = 2008;
MoonfinTrialActivityDetailInfo moonfin_trial_info = 389;
LunaRiteDetailInfo luna_rite_info = 1971;
PlantFlowerActivityDetailInfo plant_flower_info = 1854;
MusicGameActivityDetailInfo music_game_info = 1847;
RoguelikeDungeonActivityDetailInfo roguelike_dungoen_info = 1025;
DigActivityDetailInfo dig_info = 1855;
HachiActivityDetailInfo hachi_info = 1176;
WinterCampActivityDetailInfo winter_camp_info = 2014;
PotionActivityDetailInfo potion_info = 1485;
TanukiTravelActivityDetailInfo tanuki_travel_activity_info = 944;
LanternRiteActivityDetailInfo lantern_rite_activity_info = 1980;
MichiaeMatsuriActivityDetailInfo michiae_matsuri_info = 114;
BartenderActivityDetailInfo bartender_info = 1441;
UgcActivityDetailInfo ugc_info = 1795;
CrystalLinkActivityDetailInfo crystal_link_info = 1301;
IrodoriActivityDetailInfo irodori_info = 54;
PhotoActivityDetailInfo photo_info = 1492;
SpiceActivityDetailInfo spice_info = 446;
GachaActivityDetailInfo gacha_info = 1192;
LuminanceStoneChallengeActivityDetailInfo luminance_stone_challenge_info = 38;
RogueDiaryActivityDetailInfo rogue_diary_info = 427;
SummerTimeV2DetailInfo summer_time_v2_info = 910;
IslandPartyDetailInfo island_party_info = 1044;
GearActivityDetailInfo gear_info = 1263;
GravenInnocenceDetailInfo graven_innocence_info = 356;
InstableSprayDetailInfo instable_spray_info = 508;
MuqadasPotionActivityDetailInfo muqadas_potion_info = 1474;
TreasureSeelieActivityDetailInfo treasure_seelie_info = 1251;
RockBoardExploreDetailInfo rock_board_explore_info = 1028;
VintageActivityDetailInfo vintage_info = 1465;
WindFieldDetailInfo wind_field_info = 768;
FungusFighterDetailInfo fungus_fighter_info = 834;
CharAmusementDetailInfo char_amusement_info = 1222;
EffigyChallengeV2DetailInfo effigy_challenge_info = 1275;
CoinCollectDetailInfo coin_collect_info = 839;
BrickBreakerDetailInfo brick_breaker_info = 551;
DuelHeartDetailInfo duel_heart_info = 1670;
SeaLampV3DetailInfo sea_lamp_v3_info = 833;
TeamChainDetailInfo team_chain_info = 1165;
ElectroherculesBattleDetailInfo electrohercules_battle_info = 981;
GCGFestivalDetailInfo gcg_festival_info = 1664;
FleurFairV2DetailInfo fleur_fair_v2_info = 1982;
FungusFighterV2DetailInfo fungus_fighter_v2_info = 1541;
AkaFesDetailInfo aka_fes_info = 1524;
SandwormCannonDetailInfo sandworm_cannon_detail_info = 626;
SorushTrialDetailInfo sorush_trial_info = 1077;
JourneyInfo journey_info = 1869;
EffigyChallengeV4Info effigy_challenge_v4_info = 1321;
GcgPveInfo gcg_pve_info = 1304;
UgcV2Info ugc_v2_info = 991;
PenumbraAdventureInfo penumbra_adventure_info = 306;
AnimalViewInfo animal_view_info = 947;
ActivityMultiCharacterInfo activity_multi_character_info = 1213;
GcgPveInfiniteInfo gcg_pve_infinite_info = 124;
ToyBattleInfo toy_battle_info = 62;
PhotoUnderseaInfo photo_undersea_info = 226;
FontaineGatherInfo fontaine_gather_info = 1035;
GcgPvePuzzleInfo gcg_pve_puzzle_info = 871;
}
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ActivityInfo.proto";
// CmdId: 2086
// Obf: LBHPBHMPCND
// CmdId: 1246
// Obf: JADBHEGBGIO
message ActivityInfoNotify {
ActivityInfo activity_info = 2;
ActivityInfo activity_info = 3;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "DJKIJHJIJPE.proto";
// Obf: MLCNNIOJGPI
message ActivityMultiCharacterInfo {
repeated DJKIJHJIJPE stage_info_list = 9;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ActivityPushTipsState.proto";
// Obf: PAGNHNLLIPL
// Obf: IBNKKJGBKML
message ActivityPushTipsData {
ActivityPushTipsState state = 14;
uint32 activity_push_tips_id = 5;
uint32 activity_push_tips_id = 13;
ActivityPushTipsState state = 6;
}

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: OPOLNPOBLMB
// Obf: DKHCNPIKCHO
enum ActivityPushTipsState {
ACTIVITY_PUSH_TIPS_STATE_NONE = 0;
ACTIVITY_PUSH_TIPS_STATE_START = 1;

View File

@ -15,15 +15,12 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: GJIJNIDNLEF
// Obf: MJEHIMOOCNJ
message ActivityScheduleInfo {
uint32 schedule_id = 6;
uint32 begin_time = 3;
uint32 activity_id = 8;
uint32 end_time = 13;
bool is_open = 14;
bool is_open = 6;
uint32 begin_time = 7;
uint32 end_time = 8;
uint32 schedule_id = 4;
uint32 activity_id = 1;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ActivityScheduleInfo.proto";
// CmdId: 2107
// Obf: HHEIHADMIIN
// CmdId: 23970
// Obf: HGICHODDHDN
message ActivityScheduleInfoNotify {
uint32 remain_fly_sea_lamp_num = 5;
repeated ActivityScheduleInfo activity_schedule_list = 12;
repeated ActivityScheduleInfo activity_schedule_list = 11;
uint32 remain_fly_sea_lamp_num = 10;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: GFKOLJPJAAA
// Obf: AENJPCKAMNL
message ActivityShopSheetInfo {
uint32 sheet_id = 9;
uint32 end_time = 3;
uint32 begin_time = 14;
uint32 begin_time = 1;
uint32 sheet_id = 14;
uint32 end_time = 15;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 2085
// Obf: LEAMDAPFCIP
// CmdId: 23105
// Obf: BMMNOCHPGPJ
message ActivityTakeWatcherRewardReq {
uint32 watcher_id = 11;
uint32 activity_id = 1;
uint32 activity_id = 15;
uint32 watcher_id = 3;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 2111
// Obf: BHBNNEDNMOG
// CmdId: 2165
// Obf: PJMLLMMGELO
message ActivityTakeWatcherRewardRsp {
int32 retcode = 6;
uint32 activity_id = 8;
uint32 watcher_id = 3;
uint32 watcher_id = 2;
int32 retcode = 13;
uint32 activity_id = 9;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ActivityWatcherInfo.proto";
// CmdId: 2007
// Obf: JCOLCLFIFCO
// CmdId: 20400
// Obf: AIJCCDDEFAD
message ActivityUpdateWatcherNotify {
uint32 activity_id = 14;
ActivityWatcherInfo watcher_info = 9;
ActivityWatcherInfo watcher_info = 6;
uint32 activity_id = 10;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: IIEEKCMJDAI
// Obf: MCEOHOILHEH
message ActivityWatcherInfo {
uint32 total_progress = 15;
uint32 cur_progress = 1;
uint32 watcher_id = 2;
bool is_taken_reward = 7;
uint32 total_progress = 14;
uint32 watcher_id = 13;
bool is_taken_reward = 8;
uint32 cur_progress = 15;
}

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1638
// Obf: DHMGMLAKAEN
// CmdId: 22083
// Obf: PDKOLMGNNBP
message AddBackupAvatarTeamReq {
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1649
// Obf: NBINNKHJLNA
// CmdId: 7930
// Obf: GDMKNCBFCEH
message AddBackupAvatarTeamRsp {
int32 retcode = 5;
int32 retcode = 3;
}

View File

@ -15,19 +15,16 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AddNoGachaAvatarCardTransferItem.proto";
// CmdId: 1794
// Obf: AGOKHIGKIPO
// CmdId: 7037
// Obf: BEANNFLOONI
message AddNoGachaAvatarCardNotify {
uint32 avatar_id = 7;
uint32 initial_promote_level = 2;
uint32 item_id = 1;
uint32 reason = 8;
uint32 initial_level = 5;
uint32 initial_level = 15;
uint32 avatar_id = 14;
uint32 reason = 12;
bool is_transfer_to_item = 9;
repeated AddNoGachaAvatarCardTransferItem transfer_item_list = 14;
uint32 item_id = 1;
repeated AddNoGachaAvatarCardTransferItem transfer_item_list = 2;
uint32 initial_promote_level = 8;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: AGNHEKAOCEH
// Obf: APPDFAFBKIM
message AddNoGachaAvatarCardTransferItem {
bool is_new = 5;
uint32 count = 14;
uint32 item_id = 10;
uint32 count = 1;
uint32 item_id = 15;
bool is_new = 13;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 448
// Obf: JIFDPGDHNAF
// CmdId: 3824
// Obf: AIJHHIHHOHI
message AddQuestContentProgressReq {
uint32 add_progress = 11;
uint32 content_type = 15;
uint32 param = 1;
uint32 add_progress = 7;
uint32 content_type = 1;
uint32 param = 6;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 458
// Obf: LHMBHBPCAIL
// CmdId: 5514
// Obf: FGGNCOHIPDL
message AddQuestContentProgressRsp {
uint32 content_type = 2;
int32 retcode = 10;
int32 retcode = 12;
uint32 content_type = 10;
}

View File

@ -15,16 +15,13 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: IEMLLFGMPCI
// Obf: OAFCFHMPGEH
message AdjustTrackingInfo {
string LKKFJNDEIAB = 6;
string DLKIMODBMME = 5;
string JEKNGABCEOG = 2;
string BBLFIMANGAD = 9;
string AJCKEINKHMB = 11;
string PACALGLDIGB = 15;
string AIEDPJJNAMJ = 3;
string JLFPJDBIKGL = 4;
string MCNDGMMPLEL = 15;
string EADIAAOPFBN = 8;
string JNAFPGEIFCD = 7;
string GOOEKEHFLAI = 10;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: EIAFDAJNOBI
// Obf: AJLFKACFMII
message AiSkillCdInfo {
map<uint32, uint32> skill_cd_map = 1;
map<uint32, uint32> skill_group_cd_map = 6;
map<uint32, uint32> skill_cd_map = 6;
map<uint32, uint32> skill_group_cd_map = 11;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: LDLPBJOIHEO
// Obf: HLGFNMAEPJO
message AiSyncInfo {
uint32 entity_id = 2;
bool is_self_killing = 7;
bool has_path_to_target = 8;
bool has_path_to_target = 4;
bool is_self_killing = 1;
}

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: IDODLGIKFOA
// Obf: HHHCEHIOMEP
message AiThreatInfo {
map<uint32, uint32> ai_threat_map = 4;
map<uint32, uint32> ai_threat_map = 12;
}

View File

@ -15,22 +15,19 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "CMDMHNMLEBD.proto";
import "JJFAPPOGLLE.proto";
import "AKEBNLHDNPG.proto";
import "EDMLKGMOBLK.proto";
import "CIAJIBCPGKL.proto";
import "BKDCMHLFHMC.proto";
// Obf: EDJJPNEEFNE
import "IHLKALJJCFJ.proto";
import "BCIBGJPGJNH.proto";
import "ONGCBHPILNP.proto";
import "MEJPJACBPIG.proto";
import "FHLNPLFEFFO.proto";
import "GLCFFFILFGK.proto";
// Obf: FIDDEODMLFC
message AkaFesDetailInfo {
CMDMHNMLEBD IIAMHKKGHFO = 1;
JJFAPPOGLLE CIEGJJKCJFC = 6;
AKEBNLHDNPG IBIIDGBEANP = 7;
EDMLKGMOBLK potion_info = 13;
CIAJIBCPGKL DNMDFPIOKNM = 5;
BKDCMHLFHMC LGPFKPCHKJA = 2;
IHLKALJJCFJ IEKAJGGJEFD = 12;
BCIBGJPGJNH KIJKCBOBFIM = 10;
ONGCBHPILNP EPBBHCIHJOB = 11;
MEJPJACBPIG potion_info = 1;
FHLNPLFEFFO NJALPDCPMOL = 5;
GLCFFFILFGK JFHPDMPHDKG = 13;
}

View File

@ -15,34 +15,33 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "WidgetCoolDownData.proto";
import "LunchBoxData.proto";
import "WeatherWizardData.proto";
import "AnchorPointData.proto";
import "SkyCrystalDetectorData.proto";
import "WidgetSlotData.proto";
import "ClientCollectorData.proto";
import "WidgetCameraInfo.proto";
import "OneoffGatherPointDetectorData.proto";
// CmdId: 4274
// Obf: KKFGPLOAPPM
import "ClientCollectorData.proto";
import "WidgetCoolDownData.proto";
import "AnchorPointData.proto";
import "LunchBoxData.proto";
import "LANPHFCMEBN.proto";
import "SkyCrystalDetectorData.proto";
import "EPIAFADAJAN.proto";
import "WidgetSlotData.proto";
import "WeatherWizardData.proto";
// CmdId: 2294
// Obf: PODFDFDOCGK
message AllWidgetDataNotify {
uint32 EDDCGLBMNLB = 1745;
uint32 AIOOKJNCEEL = 9;
repeated WidgetCoolDownData coolDownGroupDataList = 13;
LunchBoxData lunch_box_data = 14;
WeatherWizardData weather_wizard_data = 7;
repeated AnchorPointData anchor_point_list = 10;
repeated OneoffGatherPointDetectorData oneoff_gather_point_detector_data_list = 4;
repeated ClientCollectorData client_collector_data_list = 9;
uint32 CMFPEOMAJLM = 10;
repeated WidgetCoolDownData PEOHMDJKMKO = 8;
repeated AnchorPointData anchor_point_list = 15;
LunchBoxData lunch_box_data = 11;
repeated WidgetCoolDownData MCMDFPAFOIG = 14;
LANPHFCMEBN ELIOJBDGIMJ = 12;
SkyCrystalDetectorData sky_crystal_detector_data = 1;
repeated WidgetSlotData slot_list = 5;
repeated ClientCollectorData client_collector_data_list = 15;
repeated WidgetCoolDownData normalCoolDownDataList = 8;
repeated uint32 ENNIJLCIBGH = 1276;
repeated uint32 background_active_widget_list = 3;
WidgetCameraInfo MHDAHEDKPMG = 2;
repeated OneoffGatherPointDetectorData oneoff_gather_point_detector_data_list = 12;
repeated uint32 EMPBLGKLCOA = 1790;
EPIAFADAJAN NNPMMJCEJAO = 1715;
uint32 HALAOGOBMKJ = 1816;
repeated WidgetSlotData slot_list = 13;
repeated uint32 background_active_widget_list = 6;
WeatherWizardData weather_wizard_data = 2;
}

View File

@ -15,16 +15,13 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
// Obf: JKCHIBPNIHL
// Obf: EBCMEKLBHEL
message AnchorPointData {
uint32 anchor_point_id = 8;
Vector pos = 11;
Vector rot = 1;
uint32 end_time = 4;
uint32 scene_id = 10;
uint32 scene_id = 11;
uint32 end_time = 12;
uint32 anchor_point_id = 1;
Vector pos = 5;
Vector rot = 7;
}

View File

@ -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 <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "GNAAAEGCDOB.proto";
// Obf: LPPAPBJFBFM
message AnimalViewInfo {
repeated GNAAAEGCDOB FHBALCDOGFI = 12;
}

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: OJKLMOMAPKN
// Obf: IGGDJDFNMAG
message AnimatorParameterValueInfo {
uint32 para_type = 1;
oneof paraVal {

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AnimatorParameterValueInfo.proto";
// Obf: HDPEDMCMNHN
// Obf: CABIAHBAEHD
message AnimatorParameterValueInfoPair {
int32 name_id = 1;
AnimatorParameterValueInfo animator_para = 2;

View File

@ -15,19 +15,16 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: EJALGEOEIMH
// Obf: LIBOAIMMBLM
message AnnounceData {
bool is_center_system_last_5_every_minutes = 14;
uint32 end_time = 10;
uint32 count_down_frequency = 1;
string count_down_text = 7;
uint32 center_system_frequency = 8;
string center_system_text = 15;
uint32 config_id = 9;
string count_down_text = 3;
bool is_center_system_last_5_every_minutes = 7;
uint32 count_down_frequency = 2;
uint32 center_system_frequency = 14;
uint32 end_time = 5;
string dungeon_confirm_text = 11;
uint32 begin_time = 3;
uint32 config_id = 12;
string center_system_text = 1;
uint32 begin_time = 10;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 189
// Obf: AIJFKNJPJNM
// CmdId: 23699
// Obf: EOHKJFLKHHF
message AntiAddictNotify {
string level = 7;
int32 msg_type = 6;
string msg = 10;
string level = 15;
string msg = 12;
}

View File

@ -15,15 +15,12 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ArenaChallengeMonsterLevel.proto";
// Obf: HMIIGENHBNM
// Obf: ILEFEPACMPG
message ArenaChallengeActivityDetailInfo {
bool is_finish_any_level = 8;
uint32 world_level = 4;
repeated ArenaChallengeMonsterLevel level_list = 12;
map<uint32, uint32> level_open_time_map = 1;
repeated ArenaChallengeMonsterLevel level_list = 11;
uint32 world_level = 10;
map<uint32, uint32> level_open_time_map = 2;
bool is_finish_any_level = 9;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: DEOAPDFEJGL
// Obf: EABLJPHMFFJ
message ArenaChallengeMonsterLevel {
uint32 DBPEAEAANPG = 11;
uint32 PEPMDOACJNL = 13;
uint32 CCKGKFMEKKL = 7;
uint32 OAHPACPBKJM = 9;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "FriendBrief.proto";
// CmdId: 4033
// Obf: FAFJPCFKENC
// CmdId: 27323
// Obf: NADOGBCLNJI
message AskAddFriendNotify {
uint32 target_uid = 14;
FriendBrief target_friend_brief = 12;
uint32 target_uid = 3;
FriendBrief target_friend_brief = 7;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4055
// Obf: DFDLEHDMCMD
// CmdId: 9257
// Obf: DHLNDCPMCPG
message AskAddFriendReq {
uint32 target_uid = 1;
uint32 target_uid = 8;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4048
// Obf: HLILMLBMHLG
// CmdId: 1146
// Obf: DGNBHNPCBNC
message AskAddFriendRsp {
int32 retcode = 3;
uint32 target_uid = 4;
uint32 param = 11;
uint32 target_uid = 3;
int32 retcode = 15;
uint32 param = 7;
}

View File

@ -15,23 +15,20 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AsterProgressDetailInfo.proto";
import "AsterMidDetailInfo.proto";
import "AsterLittleDetailInfo.proto";
import "AsterLargeDetailInfo.proto";
import "AsterMidDetailInfo.proto";
// Obf: NAIBJIHKMIK
import "AsterProgressDetailInfo.proto";
// Obf: JCGOLKKIELM
message AsterActivityDetailInfo {
uint32 CBLMAGNNCGK = 6;
AsterProgressDetailInfo aster_progress = 11;
bool is_content_closed = 5;
bool is_content_closed = 3;
uint32 BLIJLCKCIJP = 7;
AsterMidDetailInfo aster_mid = 11;
uint32 content_close_time = 14;
AsterLittleDetailInfo aster_little = 13;
AsterLargeDetailInfo aster_large = 9;
uint32 ADOPPAOJEAN = 2;
AsterProgressDetailInfo aster_progress = 5;
bool is_special_reward_taken = 4;
AsterLittleDetailInfo aster_little = 3;
AsterLargeDetailInfo aster_large = 7;
AsterMidDetailInfo aster_mid = 8;
uint32 content_close_time = 9;
uint32 CGOCPLCJMBA = 12;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: PKLHDBCCFOJ
// Obf: IEHLDBPHMGH
message AsterLargeDetailInfo {
bool is_open = 11;
uint32 begin_time = 9;
uint32 begin_time = 1;
bool is_open = 2;
}

View File

@ -15,16 +15,13 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AsterLittleStageState.proto";
// Obf: LGDFNBJMBAB
// Obf: DEILJKMFKIN
message AsterLittleDetailInfo {
uint32 stage_id = 9;
uint32 stage_begin_time = 10;
bool is_open = 9;
uint32 begin_time = 8;
AsterLittleStageState stage_state = 7;
uint32 stage_begin_time = 14;
uint32 begin_time = 4;
bool is_open = 5;
uint32 stage_id = 11;
}

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: KBCJBKKNMMJ
// Obf: BIMHEEHBMPM
enum AsterLittleStageState {
ASTER_LITTLE_STAGE_NONE = 0;
ASTER_LITTLE_STAGE_UNSTARTED = 1;

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
// Obf: MJEKKMFIINK
// Obf: ODKHFPBJNFJ
message AsterMidCampInfo {
uint32 camp_id = 3;
Vector pos = 14;
uint32 camp_id = 5;
Vector pos = 2;
}

View File

@ -15,15 +15,12 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AsterMidCampInfo.proto";
// Obf: LCEADPMNHGH
// Obf: DONDGHDLMDI
message AsterMidDetailInfo {
bool is_open = 9;
uint32 collect_count = 4;
uint32 begin_time = 12;
repeated AsterMidCampInfo camp_list = 8;
uint32 collect_count = 12;
uint32 begin_time = 1;
bool is_open = 3;
repeated AsterMidCampInfo camp_list = 13;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: MMEFLEOFLND
// Obf: LKACKFGKBOC
message AsterProgressDetailInfo {
uint32 count = 12;
uint32 count = 10;
uint32 last_auto_add_time = 1;
}

View File

@ -15,16 +15,13 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: PBAFNBPPAND
// Obf: LEKHHDAJFPK
message AttackHitEffectResult {
float hitHaltTime = 6;
float hitHaltTimeScale = 2;
float retreatStrength = 14;
float airStrength = 13;
uint32 IDJFCEPGOOF = 5;
uint32 ODEDPMCMFNN = 8;
uint32 PPEJOCMAFFH = 11;
float HLMGLLLLEIJ = 7;
uint32 POCHAAAEPMH = 2;
float NMMAGALAPME = 13;
float DPMHMPLKOEK = 1;
float LOHBEFJPFHA = 5;
}

View File

@ -15,44 +15,41 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AttackHitEffectResult.proto";
import "HitCollision.proto";
import "Vector.proto";
import "AbilityIdentifier.proto";
// Obf: BEFCMFBPFGN
import "Vector.proto";
import "HitCollision.proto";
// Obf: ICJAFHIJEBJ
message AttackResult {
uint32 GNHFHCDDDBA = 1198;
uint32 BHAPFDKHNPD = 82;
uint32 hashed_anim_event_id = 1624;
uint32 KDBNEJKOKDB = 6;
float HKDJFJDCKBI = 2018;
uint32 LADOHMHIICA = 1640;
int32 hit_retreat_angle_compat = 10;
AttackHitEffectResult hit_eff_result = 15;
uint32 HAGEIJIIBAE = 1178;
float GGPOMBNHHCA = 804;
bool is_crit = 7;
uint32 element_type = 8;
uint32 attack_timestamp_ms = 1597;
uint32 amplify_reaction_type = 1235;
bool IFHLFNMODNC = 78;
uint32 BIIDCDNCFPH = 1;
uint32 AFPDNEPONHN = 158;
uint32 attacker_id = 13;
uint32 defense_id = 4;
string anim_event_id = 5;
float damage = 11;
HitCollision hit_collision = 2;
bool PFEKJJINPCE = 1765;
uint32 addhurt_reaction_type = 1772;
Vector resolved_dir = 3;
uint32 OJPOIAJBPCN = 316;
float element_durability_attenuation = 979;
AbilityIdentifier ability_identifier = 12;
bool GMKBKKOFIPN = 309;
float damage_shield = 1660;
uint32 BLJNCIEFOED = 5;
uint32 element_type = 10;
float FMPIEJOMIFJ = 1723;
float NLAAOODDKGK = 778;
bool BAAHKFCEBMA = 7;
float KFCPIKCMIOI = 567;
float DPHDFDJJNOA = 27;
bool BILAJCEBMGF = 378;
uint32 MIKMJNBAAIJ = 8;
AttackHitEffectResult hit_eff_result = 6;
uint32 BKKNPCPEDCF = 457;
uint32 DKDBHEJFOGD = 1602;
uint32 defense_id = 9;
uint32 attacker_id = 14;
float damage = 2;
uint32 EMOHABNNHBJ = 314;
bool KAKHNCAHEOP = 609;
string anim_event_id = 15;
int32 hit_retreat_angle_compat = 13;
uint32 KGKNJIIOPMP = 1649;
uint32 EFKGDDIGOHJ = 82;
uint32 JDPELIFFANG = 394;
uint32 ODBKCAJFBMO = 1652;
AbilityIdentifier ability_identifier = 3;
Vector resolved_dir = 4;
HitCollision hit_collision = 11;
uint32 NFDLHHGPLKL = 866;
uint32 OEEFAHMCLOM = 216;
uint32 IEJNKCBILGI = 1603;
bool FIHKEJMFKHO = 1672;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AvatarInfo.proto";
// CmdId: 1758
// Obf: FPOFHEKPNPK
// CmdId: 7458
// Obf: MLOIBCFBPKN
message AvatarAddNotify {
bool is_in_team = 9;
AvatarInfo avatar = 3;
bool is_in_team = 12;
AvatarInfo avatar = 14;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "SceneEntityInfo.proto";
// CmdId: 1743
// Obf: APKBPLBGEOP
// CmdId: 22376
// Obf: MMGGANDHHFL
message AvatarChangeCostumeNotify {
SceneEntityInfo entity_info = 9;
SceneEntityInfo entity_info = 15;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1683
// Obf: CHHPFFOGJEK
// CmdId: 8840
// Obf: IMDCBJNFILE
message AvatarChangeCostumeReq {
uint64 avatar_guid = 5;
uint32 costume_id = 10;
uint64 avatar_guid = 13;
uint32 costume_id = 5;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1625
// Obf: LECIDBKINPN
// CmdId: 9148
// Obf: KGBMPCNCLNC
message AvatarChangeCostumeRsp {
uint64 avatar_guid = 9;
int32 retcode = 12;
uint32 costume_id = 4;
uint64 avatar_guid = 4;
int32 retcode = 1;
uint32 costume_id = 9;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1634
// Obf: ICBGFMJPIKM
// CmdId: 3696
// Obf: EPCCINELCEK
message AvatarChangeElementTypeReq {
uint32 area_id = 3;
uint32 scene_id = 6;
uint32 area_id = 11;
uint32 scene_id = 1;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1757
// Obf: GJCJIIEOIJP
// CmdId: 26227
// Obf: CLNCAJHKIFD
message AvatarChangeElementTypeRsp {
int32 retcode = 1;
int32 retcode = 6;
}

View File

@ -15,23 +15,20 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AvatarRenameInfo.proto";
import "AvatarTeam.proto";
import "AvatarInfo.proto";
// CmdId: 1768
// Obf: IACLEPKJMNB
import "AvatarTeam.proto";
import "AvatarRenameInfo.proto";
// CmdId: 29811
// Obf: OGCGDDPPLMI
message AvatarDataNotify {
repeated uint32 owned_costume_list = 10;
repeated uint32 backup_avatar_team_order_list = 6;
repeated AvatarRenameInfo avatar_rename_list = 7;
repeated AvatarInfo avatar_list = 3;
uint32 cur_avatar_team_id = 2;
repeated uint32 owned_costume_list = 5;
repeated uint32 owned_flycloak_list = 14;
repeated uint64 temp_avatar_guid_list = 1;
uint64 choose_avatar_guid = 15;
map<uint32, AvatarTeam> avatar_team_map = 13;
uint64 choose_avatar_guid = 8;
repeated uint32 owned_flycloak_list = 1;
repeated AvatarInfo avatar_list = 14;
uint32 cur_avatar_team_id = 9;
repeated uint64 temp_avatar_guid_list = 12;
repeated AvatarRenameInfo avatar_rename_list = 11;
repeated uint32 backup_avatar_team_order_list = 7;
}

View File

@ -16,8 +16,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1701
// Obf: OICLNIIPCBB
// CmdId: 8219
// Obf: IOKBLLAGPJD
message AvatarDelNotify {
repeated uint64 avatar_guid_list = 5;
repeated uint64 avatar_guid_list = 7;
}

View File

@ -15,15 +15,12 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
// CmdId: 1619
// Obf: PINLKDHNFPM
// CmdId: 4506
// Obf: HPOMJHEAICH
message AvatarDieAnimationEndReq {
Vector reborn_pos = 15;
uint32 skill_id = 4;
uint64 die_guid = 1;
uint32 skill_id = 9;
uint64 die_guid = 8;
Vector reborn_pos = 14;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1621
// Obf: DBPKLLBDNMP
// CmdId: 24745
// Obf: LPNGCMDGKEM
message AvatarDieAnimationEndRsp {
uint32 skill_id = 10;
int32 retcode = 9;
uint64 die_guid = 14;
int32 retcode = 4;
uint32 skill_id = 13;
uint64 die_guid = 5;
}

View File

@ -15,20 +15,17 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "ServerBuff.proto";
import "AbilitySyncStateInfo.proto";
// Obf: BIMCKGCPDOF
import "ServerBuff.proto";
// Obf: AJDGFFHCOCL
message AvatarEnterSceneInfo {
repeated ServerBuff server_buff_list = 7;
AbilitySyncStateInfo avatar_ability_info = 1;
uint64 weapon_guid = 12;
repeated uint32 buff_id_list = 2;
AbilitySyncStateInfo avatar_ability_info = 8;
uint64 weapon_guid = 1;
uint32 avatar_entity_id = 5;
repeated uint32 buff_id_list = 4;
uint32 weapon_entity_id = 3;
AbilitySyncStateInfo weapon_ability_info = 10;
uint64 avatar_guid = 15;
uint64 avatar_guid = 9;
repeated ServerBuff server_buff_list = 10;
AbilitySyncStateInfo weapon_ability_info = 15;
}

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: MPLMIMHAFOJ
// Obf: CFINPAOKBJN
message AvatarEquipAffixInfo {
uint32 equip_affix_id = 1;
uint32 left_cd_time = 2;

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AvatarEquipAffixInfo.proto";
// CmdId: 1612
// Obf: LCJLCHOKPMM
// CmdId: 21354
// Obf: CNGHGKIPNBB
message AvatarEquipAffixStartNotify {
AvatarEquipAffixInfo equip_affix_info = 1;
uint64 avatar_guid = 15;
AvatarEquipAffixInfo equip_affix_info = 5;
uint64 avatar_guid = 12;
}

View File

@ -15,19 +15,16 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "SceneReliquaryInfo.proto";
import "SceneWeaponInfo.proto";
// CmdId: 638
// Obf: FFELKMJCIEF
import "SceneReliquaryInfo.proto";
// CmdId: 20682
// Obf: GOMNKIGKPAH
message AvatarEquipChangeNotify {
uint32 equip_type = 7;
uint64 avatar_guid = 14;
uint32 item_id = 12;
SceneReliquaryInfo reliquary = 2;
uint64 equip_guid = 1;
SceneWeaponInfo weapon = 11;
SceneWeaponInfo weapon = 7;
uint32 item_id = 8;
SceneReliquaryInfo reliquary = 5;
uint64 equip_guid = 4;
uint32 equip_type = 6;
uint64 avatar_guid = 1;
}

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: NNEHENIKCMK
// Obf: HGHGOIMIAMF
message AvatarExcelInfo {
uint64 prefab_path_hash = 1;
uint64 prefab_path_remote_hash = 2;

View File

@ -15,11 +15,8 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1665
// Obf: PNEIGBDCOON
// CmdId: 24160
// Obf: IKHOKBJEAGP
message AvatarExpeditionAllDataReq {
}

View File

@ -15,16 +15,13 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AvatarExpeditionInfo.proto";
// CmdId: 1722
// Obf: FIOCIHFCAPH
// CmdId: 3990
// Obf: POPOPLMKPCK
message AvatarExpeditionAllDataRsp {
map<uint64, AvatarExpeditionInfo> expedition_info_map = 14;
uint32 expedition_count_limit = 10;
int32 retcode = 13;
repeated uint32 open_expedition_list = 5;
uint32 expedition_count_limit = 11;
repeated uint32 open_expedition_list = 6;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 2;
int32 retcode = 3;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1796
// Obf: IGPFBMDCNDC
// CmdId: 22881
// Obf: DFDMJICKHEL
message AvatarExpeditionCallBackReq {
repeated uint64 avatar_guid = 11;
repeated uint64 avatar_guid = 12;
}

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AvatarExpeditionInfo.proto";
// CmdId: 1708
// Obf: CJLJANJBPEI
// CmdId: 22955
// Obf: FBHCEMGILMK
message AvatarExpeditionCallBackRsp {
map<uint64, AvatarExpeditionInfo> expedition_info_map = 12;
int32 retcode = 8;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 14;
int32 retcode = 6;
}

View File

@ -15,13 +15,10 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AvatarExpeditionInfo.proto";
// CmdId: 1660
// Obf: PIBEOOOINOF
// CmdId: 26803
// Obf: FCCLNDJAANA
message AvatarExpeditionDataNotify {
map<uint64, AvatarExpeditionInfo> expedition_info_map = 6;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 4;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1648
// Obf: LBDKANCAKAL
// CmdId: 4847
// Obf: PPKAGNHEIBA
message AvatarExpeditionGetRewardReq {
uint64 avatar_guid = 12;
uint64 avatar_guid = 11;
}

View File

@ -15,17 +15,14 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AvatarExpeditionInfo.proto";
import "ItemParam.proto";
// CmdId: 1763
// Obf: OGJINPEMNDO
import "AvatarExpeditionInfo.proto";
// CmdId: 25237
// Obf: KMJKPNMNOOM
message AvatarExpeditionGetRewardRsp {
int32 retcode = 7;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 8;
repeated ItemParam item_list = 10;
repeated ItemParam extra_item_list = 9;
repeated ItemParam extra_item_list = 13;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 9;
int32 retcode = 12;
repeated ItemParam item_list = 5;
}

View File

@ -15,12 +15,9 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AvatarExpeditionState.proto";
// Obf: DPCLGNACIJE
// Obf: MBBNGLKDKFD
message AvatarExpeditionInfo {
AvatarExpeditionState state = 1;
uint32 exp_id = 2;

View File

@ -15,14 +15,11 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1691
// Obf: LONEJHBMOFM
// CmdId: 751
// Obf: POPPHGOPGHG
message AvatarExpeditionStartReq {
uint32 hour_time = 11;
uint64 avatar_guid = 13;
uint32 hour_time = 12;
uint32 exp_id = 6;
uint64 avatar_guid = 3;
}

Some files were not shown because too many files have changed in this diff Show More