sync 2.8-GC

This commit is contained in:
Yuuki 2023-08-23 01:34:44 +08:00
parent 09e59ae251
commit 8cf17f7edc
754 changed files with 16513 additions and 4548 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,27 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityActionGenerateElemBall {
Vector pos = 1;
Vector rot = 2;
uint32 room_id = 3;
uint32 room_id = 2;
Vector pos = 7;
Vector rot = 13;
}

View File

@ -1,10 +1,26 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AbilityScalarValueEntry.proto";
import "AbilityString.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityAppliedAbility {
AbilityString ability_name = 1;
AbilityString ability_override = 2;

View File

@ -1,11 +1,27 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AbilityAttachedModifier.proto";
import "AbilityString.proto";
import "ModifierDurability.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityAppliedModifier {
int32 modifier_local_id = 1;
uint32 parent_ability_entity_id = 2;

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";

View File

@ -1,13 +1,29 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AbilityControlBlock.proto";
// CmdId: 1155
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1131
// EnetChannelId: 0
// EnetIsReliable: true
message AbilityChangeNotify {
uint32 entity_id = 3;
AbilityControlBlock ability_control_block = 10;
uint32 entity_id = 1;
AbilityControlBlock ability_control_block = 15;
}

View File

@ -1,9 +1,25 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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 "AbilityEmbryo.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityControlBlock {
repeated AbilityEmbryo ability_embryo_list = 1;
}

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AbilityIdentifier {
uint32 instanced_ability_id = 1;
uint32 ability_caster_id = 2;
int32 local_id = 3;
uint32 instanced_modifier_id = 4;
uint32 modifier_owner_id = 5;
uint32 modifier_owner_id = 2;
uint32 instanced_modifier_id = 9;
uint32 instanced_ability_id = 10;
bool is_serverbuff_modifier = 6;
uint32 ability_caster_id = 15;
int32 local_id = 3;
}

View File

@ -1,13 +1,29 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AbilityInvokeEntry.proto";
// CmdId: 1131
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1198
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AbilityInvocationsNotify {
repeated AbilityInvokeEntry invokes = 8;
repeated AbilityInvokeEntry invokes = 2;
}

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
@ -14,7 +30,7 @@ enum AbilityInvokeArgument {
ABILITY_INVOKE_ARGUMENT_META_CLEAR_GLOBAL_FLOAT_VALUE = 8;
ABILITY_INVOKE_ARGUMENT_META_ABILITY_ELEMENT_STRENGTH = 9;
ABILITY_INVOKE_ARGUMENT_META_ADD_OR_GET_ABILITY_AND_TRIGGER = 10;
ABILITY_INVOKE_ARGUMENT_META_SET_KILLED_SETATE = 11;
ABILITY_INVOKE_ARGUMENT_META_SET_KILLED_STATE = 11;
ABILITY_INVOKE_ARGUMENT_META_SET_ABILITY_TRIGGER = 12;
ABILITY_INVOKE_ARGUMENT_META_ADD_NEW_ABILITY = 13;
ABILITY_INVOKE_ARGUMENT_META_REMOVE_ABILITY = 14;
@ -25,7 +41,7 @@ enum AbilityInvokeArgument {
ABILITY_INVOKE_ARGUMENT_META_UPDATE_BASE_REACTION_DAMAGE = 19;
ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ELEMENT_REACTION = 20;
ABILITY_INVOKE_ARGUMENT_META_LOSE_HP = 21;
ABILITY_INVOKE_ARGUMENT_JDDDLJELBLJ = 22;
ABILITY_INVOKE_ARGUMENT_Unk2700_JDDDLJELBLJ = 22;
ABILITY_INVOKE_ARGUMENT_ACTION_TRIGGER_ABILITY = 50;
ABILITY_INVOKE_ARGUMENT_ACTION_SET_CRASH_DAMAGE = 51;
ABILITY_INVOKE_ARGUMENT_ACTION_EFFECT = 52;
@ -39,7 +55,7 @@ enum AbilityInvokeArgument {
ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_TILE = 60;
ABILITY_INVOKE_ARGUMENT_ACTION_DESTROY_TILE = 61;
ABILITY_INVOKE_ARGUMENT_ACTION_FIRE_AFTER_IMAGE = 62;
ABILITY_INVOKE_ARGUMENT_FNANDDPDLOL = 63;
ABILITY_INVOKE_ARGUMENT_Unk2700_FNANDDPDLOL = 63;
ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_STEER_BY_CAMERA = 100;
ABILITY_INVOKE_ARGUMENT_MIXIN_MONSTER_DEFEND = 101;
ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_ZONE = 102;
@ -53,8 +69,8 @@ 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_NJHBFADEOON = 113;
ABILITY_INVOKE_ARGUMENT_EGCIFFFLLBG = 114;
ABILITY_INVOKE_ARGUMENT_OFDGFACOLDI = 115;
ABILITY_INVOKE_ARGUMENT_KDPKJGJNGFB = 116;
ABILITY_INVOKE_ARGUMENT_Unk2700_NJHBFADEOON = 113;
ABILITY_INVOKE_ARGUMENT_Unk2700_EGCIFFFLLBG = 114;
ABILITY_INVOKE_ARGUMENT_Unk2700_OFDGFACOLDI = 115;
ABILITY_INVOKE_ARGUMENT_Unk2700_KDPKJGJNGFB = 116;
}

View File

@ -1,18 +1,34 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AbilityInvokeArgument.proto";
import "AbilityInvokeEntryHead.proto";
import "ForwardType.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityInvokeEntry {
AbilityInvokeEntryHead head = 1;
AbilityInvokeArgument argument_type = 2;
bytes ability_data = 3;
uint32 entity_id = 4;
ForwardType forward_type = 5;
uint32 forward_peer = 6;
uint32 event_id = 7;
double total_tick_time = 8;
AbilityInvokeArgument argument_type = 1;
AbilityInvokeEntryHead head = 2;
uint32 forward_peer = 4;
uint32 event_id = 12;
ForwardType forward_type = 3;
bytes ability_data = 15;
double total_tick_time = 14;
uint32 entity_id = 9;
}

View File

@ -1,13 +1,29 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AbilityInvokeEntryHead {
int32 modifier_config_local_id = 7;
bool is_serverbuff_modifier = 2;
uint32 instanced_ability_id = 1;
uint32 instanced_modifier_id = 2;
int32 local_id = 3;
int32 modifier_config_local_id = 4;
uint32 target_id = 5;
bool is_serverbuff_modifier = 6;
uint32 server_buff_uid = 7;
uint32 instanced_modifier_id = 12;
int32 local_id = 10;
uint32 server_buff_uid = 14;
uint32 target_id = 3;
}

View File

@ -1,21 +1,38 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
import "AbilityAttachedModifier.proto";
import "AbilityString.proto";
import "ModifierAction.proto";
import "ModifierProperty.proto";
option java_package = "emu.grasscutter.net.proto";
import "ModifierAction.proto";
import "AbilityString.proto";
import "AbilityAttachedModifier.proto";
import "ModifierProperty.proto";
message AbilityMetaModifierChange {
ModifierAction action = 1;
AbilityString parent_ability_name = 2;
AbilityString parent_ability_override = 3;
AbilityAttachedModifier attached_instanced_modifier = 4;
repeated ModifierProperty properties = 5;
int32 modifier_local_id = 6;
bool is_mute_remote = 7;
uint32 apply_entity_id = 8;
bool is_attached_parent_ability = 9;
uint32 server_buff_uid = 10;
AbilityAttachedModifier attached_instanced_modifier = 7;
uint32 server_buff_uid = 4;
bool is_attached_parent_ability = 10;
ModifierAction action = 13;
int32 modifier_local_id = 2;
AbilityString parent_ability_name = 1;
bool is_mute_remote = 6;
uint32 apply_entity_id = 5;
repeated ModifierProperty properties = 3;
AbilityString parent_ability_override = 11;
bool Unk2700_PMJMNCFJPDC = 9;
}

View File

@ -1,9 +1,25 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AbilityScalarValueEntry.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityMetaReInitOverrideMap {
repeated AbilityScalarValueEntry override_map = 1;
repeated AbilityScalarValueEntry override_map = 7;
}

View File

@ -1,7 +1,23 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AbilityMixinCostStamina {
bool is_swim = 1;
bool is_swim = 3;
}

View File

@ -1,9 +1,25 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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 "MassivePropSyncInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityMixinRecoverInfo {
uint32 local_id = 3;
repeated uint32 data_list = 4;

View File

@ -1,8 +1,23 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AbilityMixinWidgetMpSupport {
uint32 target_entity_id = 1;
uint32 target_entity_id = 9;
}

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";

View File

@ -1,10 +1,26 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AbilityScalarType.proto";
import "AbilityString.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilityScalarValueEntry {
AbilityString key = 1;
AbilityScalarType value_type = 2;

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";

View File

@ -1,12 +1,28 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AbilityAppliedAbility.proto";
import "AbilityAppliedModifier.proto";
import "AbilityMixinRecoverInfo.proto";
import "AbilityScalarValueEntry.proto";
option java_package = "emu.grasscutter.net.proto";
message AbilitySyncStateInfo {
bool is_inited = 1;
repeated AbilityScalarValueEntry dynamic_value_map = 2;

View File

@ -1,10 +1,25 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "ActivityWatcherInfo.proto";
/*import "ArenaChallengeActivityDetailInfo.proto";
import "AsterActivityDetailInfo.proto";
import "BartenderActivityDetailInfo.proto";
import "BlessingActivityDetailInfo.proto";
import "BlitzRushActivityDetailInfo.proto";
import "BounceConjuringActivityDetailInfo.proto";
@ -12,6 +27,7 @@ import "BuoyantCombatDetailInfo.proto";
import "ChannelerSlabActivityDetailInfo.proto";
import "ChessActivityDetailInfo.proto";
import "CrucibleActivityDetailInfo.proto";
import "CrystalLinkActivityDetailInfo.proto";
import "DeliveryActivityDetailInfo.proto";
import "DigActivityDetailInfo.proto";
import "DragonSpineActivityDetailInfo.proto";
@ -21,93 +37,115 @@ import "ExpeditionActivityDetailInfo.proto";
import "FindHilichurlDetailInfo.proto";
import "FleurFairActivityDetailInfo.proto";
import "FlightActivityDetailInfo.proto";
import "GachaActivityDetailInfo.proto";
import "GearActivityDetailInfo.proto";
import "HachiActivityDetailInfo.proto";
import "HideAndSeekActivityDetailInfo.proto";
import "IrodoriActivityDetailInfo.proto";
import "IslandPartyActivityDetailInfo.proto";
import "LanternRiteActivityDetailInfo.proto";
import "LuminanceStoneChallengeActivityDetailInfo.proto";
import "LunaRiteDetailInfo.proto";
import "MichiaeMatsuriActivityDetailInfo.proto";
import "MistTrialActivityDetailInfo.proto";
import "MoonfinTrialActivityDetailInfo.proto";
import "MusicGameActivityDetailInfo.proto";
import "PhotoActivityDetailInfo.proto";
import "PlantFlowerActivityDetailInfo.proto";
import "PotionActivityDetailInfo.proto";
import "RogueDiaryActivityDetailInfo.proto";
import "RoguelikeDungeonActivityDetailInfo.proto";
import "SalesmanActivityDetailInfo.proto";
import "SeaLampActivityDetailInfo.proto";
import "SeaLampActivityInfo.proto";
import "SpiceActivityDetailInfo.proto";
import "SummerTimeDetailInfo.proto";
import "SummerTimeV2DetailInfo.proto";
import "SumoActivityDetailInfo.proto";
import "TanukiTravelActivityDetailInfo.proto";
import "TreasureMapActivityDetailInfo.proto";
import "TrialAvatarActivityDetailInfo.proto";
import "WaterSpiritActivityDetailInfo.proto";*/
import "UgcActivityDetailInfo.proto";
import "WaterSpiritActivityDetailInfo.proto";
import "WinterCampActivityDetailInfo.proto";*/
import "MusicGameActivityDetailInfo.proto";
import "Unk2800_PHPHMILPOLC.proto";
option java_package = "emu.grasscutter.net.proto";
message ActivityInfo {
uint32 activity_id = 1;
uint32 schedule_id = 2;
uint32 begin_time = 3;
uint32 end_time = 4;
uint32 activity_type = 5;
bool is_play_open_anim = 6;
bool is_finished = 7;
bool is_starting = 8;
repeated ActivityWatcherInfo watcher_info_list = 9;
bool is_play_open_anim = 13;
uint32 schedule_id = 15;
uint32 cur_score = 1906;
bool is_starting = 9;
repeated uint32 taken_reward_list = 329;
uint32 selected_avatar_reward_id = 1290;
uint32 first_day_start_time = 592;
uint32 score_limit = 1958;
bool is_finished = 6;
bool is_hidden = 919;
uint32 begin_time = 8;
uint32 end_time = 5;
map<uint32, uint32> activity_coin_map = 682;
uint32 activity_type = 4;
repeated Unk2800_PHPHMILPOLC Unk2800_KOMIPKKKOBE = 864;
repeated uint32 meet_cond_list = 10;
repeated uint32 expire_cond_list = 15;
uint32 selected_avatar_reward_id = 17;
map<uint32, uint32> activity_coin_map = 18;
uint32 score_limit = 19;
uint32 cur_score = 20;
repeated uint32 taken_reward_list = 24;
bool is_hidden = 26;
uint32 first_day_start_time = 27;
//bool MIFCLBCMKJI = 28;
//bool BPGCBIEDEDM = 29;
//map<uint32, uint32> AGKPABKOHDA = 30;
repeated uint32 expire_cond_list = 3;
repeated ActivityWatcherInfo watcher_info_list = 2;
uint32 activity_id = 12;
//bool Unk2700_NONJFHAIFLA = 102;
//bool Unk2700_EDKLLHBEEGE = 1449;
//map<uint32, uint32> Unk2700_IFPBCNLCKLG = 1399;
oneof detail {
// SeaLampActivityDetailInfo sam_lamp_info = 11;
// CrucibleActivityDetailInfo crucible_info = 12;
// SalesmanActivityDetailInfo salesman_info = 13;
// TrialAvatarActivityDetailInfo trial_avatar_info = 14;
// DeliveryActivityDetailInfo delivery_info = 16;
// AsterActivityDetailInfo aster_info = 21;
// FlightActivityDetailInfo flight_info = 25;
// DragonSpineActivityDetailInfo dragon_spine_info = 31;
// EffigyActivityDetailInfo effigy_info = 32;
// TreasureMapActivityDetailInfo treasure_map_info = 35;
// BlessingActivityDetailInfo blessing_info = 41;
// SeaLampActivityInfo sea_lamp_info = 42;
// ExpeditionActivityDetailInfo expedition_info = 43;
// ArenaChallengeActivityDetailInfo arena_challenge_info = 44;
// FleurFairActivityDetailInfo fleur_fair_info = 51;
// WaterSpiritActivityDetailInfo water_spirit_info = 52;
// ChannelerSlabActivityDetailInfo challneler_slab_info = 61;
// MistTrialActivityDetailInfo mist_trial_activity_info = 62;
// HideAndSeekActivityDetailInfo hide_and_seek_info = 63;
// FindHilichurlDetailInfo find_hilichurl_info = 64;
// SummerTimeDetailInfo summer_time_info = 65;
// BuoyantCombatDetailInfo buoyant_combat_info = 66;
// EchoShellDetailInfo echo_shell_info = 67;
// BounceConjuringActivityDetailInfo bounce_conjuring_info = 68;
// BlitzRushActivityDetailInfo blitz_rush_info = 69;
// ChessActivityDetailInfo chess_info = 70;
// SumoActivityDetailInfo sumo_info = 71;
// MoonfinTrialActivityDetailInfo moonfin_trial_info = 72;
// LunaRiteDetailInfo luna_rite_info = 73;
// PlantFlowerActivityDetailInfo plant_flower_info = 74;
MusicGameActivityDetailInfo music_game_info = 75;
// RoguelikeDungeonActivityDetailInfo roguelike_dungoen_info = 76;
// DigActivityDetailInfo dig_info = 77;
// DOCNGBMKEID hachi_info = 78;
// DLHPBNNDGFI winter_camp_info = 79;
// IFACCKLEJCC potion_info = 80;
// PFMCPMIMGLM tanuki_travel_activity_info = 81;
// JEIAODKGIBD lantern_rite_activity_info = 82;
// EPDOGGKOCAP michiae_matsuri_info = 83;
// NHMFHLIGAKL bartender_info = 84;
// EAGKNMCLJDI ugc_info = 85;
// ADPBMLFDHJD crystal_link_info = 86;
// JACDNLEIDOO irodori_info = 87;
// EHDKFDJEEGP photo_info = 88;
// BEPFLAKHNHL spice_info = 89;
// MMNEJBFMAEA gacha_info = 90;
// JLMHDDHOGGD luminance_stone_challenge_info = 91;
// IGBMCJOPGIL rogue_diary_info = 92;
// SeaLampActivityDetailInfo sam_lamp_info = 7;
// CrucibleActivityDetailInfo crucible_info = 14;
// SalesmanActivityDetailInfo salesman_info = 11;
// TrialAvatarActivityDetailInfo trial_avatar_info = 1;
// DeliveryActivityDetailInfo delivery_info = 1092;
// AsterActivityDetailInfo aster_info = 557;
// FlightActivityDetailInfo flight_info = 1365;
// DragonSpineActivityDetailInfo dragon_spine_info = 1727;
// EffigyActivityDetailInfo effigy_info = 391;
// TreasureMapActivityDetailInfo treasure_map_info = 1114;
// BlessingActivityDetailInfo blessing_info = 1869;
// SeaLampActivityInfo sea_lamp_info = 494;
// ExpeditionActivityDetailInfo expedition_info = 202;
// ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
// FleurFairActivityDetailInfo fleur_fair_info = 857;
// WaterSpiritActivityDetailInfo water_spirit_info = 1675;
// ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
// MistTrialActivityDetailInfo mist_trial_activity_info = 156;
// HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
// FindHilichurlDetailInfo find_hilichurl_info = 1411;
// SummerTimeDetailInfo summer_time_info = 1372;
// BuoyantCombatDetailInfo buoyant_combat_info = 1842;
// EchoShellDetailInfo echo_shell_info = 1113;
// BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
// BlitzRushActivityDetailInfo blitz_rush_info = 794;
// ChessActivityDetailInfo chess_info = 927;
// SumoActivityDetailInfo sumo_info = 1261;
// MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
// LunaRiteDetailInfo luna_rite_info = 814;
// PlantFlowerActivityDetailInfo plant_flower_info = 54;
MusicGameActivityDetailInfo music_game_info = 460;
// RoguelikeDungeonActivityDetailInfo roguelike_dungeon_info = 219;
// DigActivityDetailInfo dig_info = 403;
// HachiActivityDetailInfo hachi_info = 491;
// WinterCampActivityDetailInfo winter_camp_info = 1083;
// PotionActivityDetailInfo potion_info = 1273;
// TanukiTravelActivityDetailInfo tanuki_travel_activity_info = 1796;
// LanternRiteActivityDetailInfo lantern_rite_activity_info = 1876;
// MichiaeMatsuriActivityDetailInfo michiae_matsuri_info = 194;
// BartenderActivityDetailInfo bartender_info = 1725;
// UgcActivityDetailInfo ugc_info = 703;
// CrystalLinkActivityDetailInfo crystal_link_info = 1226;
// IrodoriActivityDetailInfo irodori_info = 750;
// PhotoActivityDetailInfo photo_info = 328;
// SpiceActivityDetailInfo spice_info = 1891;
// GachaActivityDetailInfo gacha_info = 825;
// LuminanceStoneChallengeActivityDetailInfo luminance_stone_challenge_info = 1308;
// RogueDiaryActivityDetailInfo rogue_diary_info = 812;
// SummerTimeV2DetailInfo summer_time_v_2_info = 622;
// IslandPartyActivityDetailInfo island_party_info = 1885;
// GearActivityDetailInfo gear_info = 722;
}
}

View File

@ -9,5 +9,5 @@ import "ActivityInfo.proto";
// EnetIsReliable: true
// IsAllowClient: true
message ActivityInfoNotify {
ActivityInfo activity_info = 11;
ActivityInfo activity_info = 9;
}

View File

@ -3,9 +3,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ActivityScheduleInfo {
uint32 activity_id = 1;
uint32 activity_id = 14;
bool is_open = 2;
uint32 schedule_id = 3;
uint32 begin_time = 4;
uint32 end_time = 5;
uint32 schedule_id = 13;
uint32 begin_time = 10;
uint32 end_time = 1;
}

View File

@ -9,6 +9,6 @@ import "ActivityScheduleInfo.proto";
// EnetIsReliable: true
// IsAllowClient: true
message ActivityScheduleInfoNotify {
repeated ActivityScheduleInfo activity_schedule_list = 8;
uint32 remain_fly_sea_lamp_num = 12;
repeated ActivityScheduleInfo activity_schedule_list = 12;
uint32 remain_fly_sea_lamp_num = 6;
}

View File

@ -7,6 +7,6 @@ option java_package = "emu.grasscutter.net.proto";
// EnetIsReliable: true
// IsAllowClient: true
message ActivityTakeWatcherRewardReq {
uint32 activity_id = 11;
uint32 watcher_id = 7;
uint32 activity_id = 4;
uint32 watcher_id = 14;
}

View File

@ -6,7 +6,7 @@ option java_package = "emu.grasscutter.net.proto";
// EnetChannelId: 0
// EnetIsReliable: true
message ActivityTakeWatcherRewardRsp {
int32 retcode = 10;
uint32 activity_id = 8;
int32 retcode = 9;
uint32 activity_id = 14;
uint32 watcher_id = 7;
}

View File

@ -9,6 +9,6 @@ import "ActivityWatcherInfo.proto";
// EnetIsReliable: true
// IsAllowClient: true
message ActivityUpdateWatcherNotify {
uint32 activity_id = 10;
ActivityWatcherInfo watcher_info = 7;
uint32 activity_id = 1;
ActivityWatcherInfo watcher_info = 2;
}

View File

@ -1,10 +1,26 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message ActivityWatcherInfo {
uint32 watcher_id = 1;
bool is_taken_reward = 5;
uint32 cur_progress = 2;
uint32 total_progress = 3;
bool is_taken_reward = 4;
uint32 total_progress = 4;
uint32 watcher_id = 8;
}

View File

@ -2,12 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 417
// CmdId: 421
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AddQuestContentProgressReq {
uint32 content_type = 9;
uint32 param = 13;
uint32 add_progress = 11;
uint32 content_type = 6;
uint32 param = 12;
uint32 add_progress = 15;
}

View File

@ -2,10 +2,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 485
// CmdId: 403
// EnetChannelId: 0
// EnetIsReliable: true
message AddQuestContentProgressRsp {
int32 retcode = 10;
uint32 content_type = 7;
int32 retcode = 13;
uint32 content_type = 4;
}

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AdjustTrackingInfo {
string idfa = 1;
string gps_adid = 2;
string fire_adid = 3;
string event_token = 9;
string adid = 4;
string event_token = 5;
string app_token = 6;
string idfa = 2;
string app_token = 14;
string gps_adid = 3;
string fire_adid = 13;
}

View File

@ -1,8 +1,24 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AiSkillCdInfo {
map<uint32, uint32> skill_cd_map = 1;
map<uint32, uint32> skill_group_cd_map = 2;
map<uint32, uint32> skill_cd_map = 11;
map<uint32, uint32> skill_group_cd_map = 6;
}

View File

@ -1,9 +1,25 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AiSyncInfo {
uint32 entity_id = 1;
bool has_path_to_target = 2;
bool is_self_killing = 3;
uint32 entity_id = 9;
bool is_self_killing = 8;
bool has_path_to_target = 4;
}

View File

@ -1,7 +1,23 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AiThreatInfo {
map<uint32, uint32> ai_threat_map = 1;
map<uint32, uint32> ai_threat_map = 11;
}

View File

@ -1,26 +1,42 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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 "AnchorPointData.proto";
// import "CCEOEOHLAPK.proto";
import "ClientCollectorData.proto";
import "LunchBoxData.proto";
import "OneoffGatherPointDetectorData.proto";
import "OneofGatherPointDetectorData.proto";
import "Unk2700_CCEOEOHLAPK.proto";
import "WidgetCoolDownData.proto";
import "WidgetSlotData.proto";
// CmdId: 4273
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4271
// EnetChannelId: 0
// EnetIsReliable: true
message AllWidgetDataNotify {
repeated AnchorPointData anchor_point_list = 13;
Unk2700_CCEOEOHLAPK Unk2700_COIELIGEACL = 12;
repeated AnchorPointData anchor_point_list = 3;
repeated ClientCollectorData client_collector_data_list = 4;
repeated WidgetCoolDownData normal_cool_down_data_list = 9;
uint32 next_anchor_point_usable_time = 10;
LunchBoxData lunch_box_data = 11;
repeated OneoffGatherPointDetectorData oneoff_gather_point_detector_data_list = 5;
repeated ClientCollectorData client_collector_data_list = 6;
repeated WidgetCoolDownData cool_down_group_data_list = 2;
repeated WidgetCoolDownData normal_cool_down_data_list = 4;
repeated WidgetSlotData slot_list = 3;
// CCEOEOHLAPK KNPDHPEGCHI = 12;
repeated OneofGatherPointDetectorData oneof_gather_point_detector_data_list = 15;
LunchBoxData lunch_box_data = 1;
repeated WidgetCoolDownData cool_down_group_data_list = 13;
repeated WidgetSlotData slot_list = 6;
}

View File

@ -1,13 +1,29 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message AnchorPointData {
uint32 anchor_point_id = 1;
Vector pos = 2;
Vector rot = 3;
uint32 end_time = 4;
uint32 scene_id = 5;
uint32 anchor_point_id = 9;
uint32 end_time = 8;
Vector pos = 15;
Vector rot = 2;
}

View File

@ -1,13 +1,29 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AnchorPointData.proto";
// CmdId: 4268
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4276
// EnetChannelId: 0
// EnetIsReliable: true
message AnchorPointDataNotify {
repeated AnchorPointData anchor_point_list = 14;
uint32 next_usable_time = 6;
repeated AnchorPointData anchor_point_list = 10;
uint32 next_usable_time = 14;
}

View File

@ -1,14 +1,30 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 4254
// CmdId: 4257
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AnchorPointOpReq {
uint32 anchor_point_op_type = 6;
uint32 anchor_point_id = 1;
uint32 anchor_point_id = 9;
uint32 anchor_point_op_type = 12;
enum AnchorPointOpType {
ANCHOR_POINT_OP_TYPE_NONE = 0;

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 4278
// CmdId: 4252
// EnetChannelId: 0
// EnetIsReliable: true
message AnchorPointOpRsp {
int32 retcode = 13;
uint32 anchor_point_op_type = 3;
uint32 anchor_point_id = 2;
int32 retcode = 5;
uint32 anchor_point_id = 12;
uint32 anchor_point_op_type = 4;
}

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";

View File

@ -1,9 +1,25 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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 "AnimatorParameterValueInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message AnimatorParameterValueInfoPair {
int32 name_id = 1;
AnimatorParameterValueInfo animator_para = 2;

View File

@ -3,13 +3,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AnnounceData {
uint32 config_id = 1;
uint32 begin_time = 2;
uint32 end_time = 3;
string center_system_text = 4;
string count_down_text = 5;
string dungeon_confirm_text = 6;
uint32 center_system_frequency = 7;
uint32 count_down_frequency = 8;
bool is_center_system_last_5_every_minutes = 9;
uint32 config_id = 7;
uint32 begin_time = 4;
uint32 end_time = 10;
string center_system_text = 8;
string count_down_text = 9;
string dungeon_confirm_text = 2;
uint32 center_system_frequency = 11;
uint32 count_down_frequency = 1;
bool is_center_system_last_5_every_minutes = 14;
}

View File

@ -1,13 +1,29 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "FriendBrief.proto";
// CmdId: 4038
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4065
// EnetChannelId: 0
// EnetIsReliable: true
message AskAddFriendNotify {
uint32 target_uid = 13;
FriendBrief target_friend_brief = 10;
FriendBrief target_friend_brief = 15;
uint32 target_uid = 9;
}

View File

@ -1,11 +1,27 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 4032
// CmdId: 4007
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AskAddFriendReq {
uint32 target_uid = 8;
uint32 target_uid = 7;
}

View File

@ -1,13 +1,29 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 4017
// CmdId: 4021
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AskAddFriendRsp {
int32 retcode = 11;
uint32 target_uid = 14;
uint32 param = 13;
uint32 param = 8;
int32 retcode = 7;
uint32 target_uid = 4;
}

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AttackHitEffectResult {
uint32 hit_eff_level = 1;
float retreat_strength = 2;
float air_strength = 3;
float hit_halt_time = 4;
float hit_halt_time_scale = 5;
uint32 original_hit_eff_level = 6;
float hit_halt_time_scale = 8;
uint32 original_hit_eff_level = 12;
float air_strength = 15;
uint32 hit_eff_level = 2;
float hit_halt_time = 13;
float retreat_strength = 7;
}

View File

@ -1,41 +1,57 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AbilityIdentifier.proto";
import "AttackHitEffectResult.proto";
import "HitCollision.proto";
import "Vector.proto";
option java_package = "emu.grasscutter.net.proto";
message AttackResult {
uint32 attacker_id = 1;
uint32 defense_id = 2;
string anim_event_id = 3;
AbilityIdentifier ability_identifier = 4;
bool is_resist_text = 1858;
uint32 Unk2700_GBANCFEPPIM = 1011;
uint32 amplify_reaction_type = 2005;
uint32 endure_break = 7;
uint32 element_type = 5;
float element_durability_attenuation = 425;
uint32 defense_id = 15;
uint32 attack_timestamp_ms = 1188;
uint32 bullet_fly_time_ms = 91;
bool is_crit = 13;
float element_amplify_rate = 900;
uint32 attack_count = 1564;
uint32 critical_rand = 1664;
uint32 hit_pos_type = 2;
string anim_event_id = 4;
AttackHitEffectResult hit_eff_result = 8;
float damage_shield = 1202;
float endure_delta = 430;
Vector resolved_dir = 1;
float damage = 6;
bool is_crit = 7;
HitCollision hit_collision = 8;
uint32 hit_pos_type = 9;
uint32 endure_break = 10;
Vector resolved_dir = 11;
int32 hit_retreat_angle_compat = 12;
AttackHitEffectResult hit_eff_result = 13;
uint32 element_type = 14;
bool use_gadget_damage_action = 19;
uint32 gadget_damage_action_idx = 20;
bool is_resist_text = 22;
uint32 critical_rand = 23;
float element_amplify_rate = 24;
float damage_shield = 26;
bool mute_element_hurt = 27;
uint32 amplify_reaction_type = 30;
uint32 addhurt_reaction_type = 31;
uint32 bullet_fly_time_ms = 32;
uint32 attack_count = 33;
uint32 hashed_anim_event_id = 34;
uint32 attack_timestamp_ms = 36;
float endure_delta = 37;
uint32 target_type = 38;
float element_durability_attenuation = 39;
uint32 EGPFEACDCLP = 40;
uint32 addhurt_reaction_type = 1887;
uint32 hashed_anim_event_id = 278;
bool use_gadget_damage_action = 1418;
int32 hit_retreat_angle_compat = 9;
AbilityIdentifier ability_identifier = 14;
uint32 attacker_id = 11;
bool mute_element_hurt = 1530;
uint32 target_type = 1366;
HitCollision hit_collision = 10;
uint32 gadget_damage_action_idx = 1110;
}

View File

@ -1,13 +1,29 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarInfo.proto";
// CmdId: 1757
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1769
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarAddNotify {
AvatarInfo avatar = 11;
bool is_in_team = 15;
AvatarInfo avatar = 13;
bool is_in_team = 12;
}

View File

@ -1,12 +1,28 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "SceneEntityInfo.proto";
// CmdId: 1780
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1644
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarChangeCostumeNotify {
SceneEntityInfo entity_info = 1;
SceneEntityInfo entity_info = 7;
}

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1734
// CmdId: 1778
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarChangeCostumeReq {
uint64 avatar_guid = 7;
uint32 costume_id = 8;
uint32 costume_id = 4;
uint64 avatar_guid = 2;
}

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1723
// CmdId: 1645
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarChangeCostumeRsp {
int32 retcode = 15;
uint64 avatar_guid = 3;
uint32 costume_id = 1;
uint64 avatar_guid = 12;
int32 retcode = 7;
uint32 costume_id = 13;
}

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1706
// CmdId: 1785
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarChangeElementTypeReq {
uint32 scene_id = 15;
uint32 area_id = 4;
uint32 scene_id = 7;
uint32 area_id = 3;
}

View File

@ -1,10 +1,26 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1708
// CmdId: 1651
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarChangeElementTypeRsp {
int32 retcode = 15;
int32 retcode = 13;
}

View File

@ -1,19 +1,35 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarInfo.proto";
import "AvatarTeam.proto";
// CmdId: 1695
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1633
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarDataNotify {
repeated AvatarInfo avatar_list = 15;
map<uint32, AvatarTeam> avatar_team_map = 6;
repeated uint32 owned_flycloak_list = 1;
uint32 cur_avatar_team_id = 2;
fixed64 choose_avatar_guid = 11;
repeated uint64 temp_avatar_guid_list = 14;
repeated uint32 owned_flycloak_list = 8;
repeated uint32 owned_costume_list = 7;
repeated AvatarInfo avatar_list = 6;
repeated uint32 owned_costume_list = 11;
repeated uint64 temp_avatar_guid_list = 12;
map<uint32, AvatarTeam> avatar_team_map = 7;
uint64 choose_avatar_guid = 8;
}

View File

@ -1,15 +1,31 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "Vector.proto";
// CmdId: 1616
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1610
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarDieAnimationEndReq {
uint64 die_guid = 14;
uint32 skill_id = 4;
Vector reborn_pos = 13;
Vector reborn_pos = 3;
uint64 die_guid = 7;
uint32 skill_id = 8;
}

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1765
// CmdId: 1694
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarDieAnimationEndRsp {
int32 retcode = 12;
uint64 die_guid = 11;
uint32 skill_id = 13;
int32 retcode = 14;
uint64 die_guid = 15;
}

View File

@ -1,17 +1,33 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AbilitySyncStateInfo.proto";
import "ServerBuff.proto";
option java_package = "emu.grasscutter.net.proto";
message AvatarEnterSceneInfo {
uint64 avatar_guid = 1;
uint32 avatar_entity_id = 2;
AbilitySyncStateInfo avatar_ability_info = 3;
repeated uint32 buff_id_list = 4;
uint64 weapon_guid = 5;
uint32 weapon_entity_id = 6;
AbilitySyncStateInfo weapon_ability_info = 7;
repeated ServerBuff server_buff_list = 8;
repeated ServerBuff server_buff_list = 14;
uint32 avatar_entity_id = 7;
AbilitySyncStateInfo weapon_ability_info = 12;
uint32 weapon_entity_id = 10;
AbilitySyncStateInfo avatar_ability_info = 2;
uint64 avatar_guid = 13;
uint64 weapon_guid = 9;
repeated uint32 buff_id_list = 5;
}

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";

View File

@ -1,19 +1,35 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "SceneReliquaryInfo.proto";
import "SceneWeaponInfo.proto";
// CmdId: 690
option java_package = "emu.grasscutter.net.proto";
// CmdId: 647
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarEquipChangeNotify {
uint64 avatar_guid = 1;
uint32 equip_type = 2;
uint32 item_id = 8;
uint64 equip_guid = 4;
SceneWeaponInfo weapon = 13;
SceneReliquaryInfo reliquary = 11;
uint64 avatar_guid = 10;
uint64 equip_guid = 13;
SceneReliquaryInfo reliquary = 1;
SceneWeaponInfo weapon = 15;
uint32 item_id = 14;
uint32 equip_type = 8;
}

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";

View File

@ -1,15 +1,31 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarExpeditionInfo.proto";
// CmdId: 1636
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1648
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarExpeditionAllDataRsp {
int32 retcode = 11;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 1;
repeated uint32 open_expedition_list = 6;
uint32 expedition_count_limit = 7;
repeated uint32 open_expedition_list = 3;
int32 retcode = 15;
uint32 expedition_count_limit = 12;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 4;
}

View File

@ -1,11 +1,27 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1655
// CmdId: 1752
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarExpeditionCallBackReq {
repeated uint64 avatar_guid = 12;
repeated uint64 avatar_guid = 13;
}

View File

@ -1,13 +1,29 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarExpeditionInfo.proto";
// CmdId: 1642
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1726
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarExpeditionCallBackRsp {
int32 retcode = 1;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 14;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 9;
int32 retcode = 5;
}

View File

@ -1,12 +1,28 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarExpeditionInfo.proto";
// CmdId: 1698
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1771
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarExpeditionDataNotify {
map<uint64, AvatarExpeditionInfo> expedition_info_map = 1;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 6;
}

View File

@ -1,11 +1,27 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1603
// CmdId: 1623
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarExpeditionGetRewardReq {
uint64 avatar_guid = 5;
uint64 avatar_guid = 14;
}

View File

@ -1,16 +1,32 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarExpeditionInfo.proto";
import "ItemParam.proto";
// CmdId: 1646
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1784
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarExpeditionGetRewardRsp {
int32 retcode = 15;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 5;
repeated ItemParam item_list = 6;
repeated ItemParam BNFDDKNNJJH = 2;
repeated ItemParam Unk2700_HBKHOBPGCLH = 9;
repeated ItemParam item_list = 8;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 12;
int32 retcode = 2;
}

View File

@ -1,9 +1,25 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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 "AvatarExpeditionState.proto";
option java_package = "emu.grasscutter.net.proto";
message AvatarExpeditionInfo {
AvatarExpeditionState state = 1;
uint32 exp_id = 2;

View File

@ -1,13 +1,29 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1675
// CmdId: 1715
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarExpeditionStartReq {
uint64 avatar_guid = 8;
uint32 exp_id = 2;
uint32 hour_time = 7;
uint32 exp_id = 9;
uint64 avatar_guid = 10;
uint32 hour_time = 2;
}

View File

@ -1,13 +1,29 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarExpeditionInfo.proto";
// CmdId: 1688
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1719
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarExpeditionStartRsp {
int32 retcode = 4;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 1;
map<uint64, AvatarExpeditionInfo> expedition_info_map = 2;
int32 retcode = 5;
}

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";

View File

@ -1,12 +1,28 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarFetterInfo.proto";
// CmdId: 1777
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1782
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarFetterDataNotify {
map<uint64, AvatarFetterInfo> fetter_info_map = 1;
map<uint64, AvatarFetterInfo> fetter_info_map = 15;
}

View File

@ -1,9 +1,25 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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 "FetterData.proto";
option java_package = "emu.grasscutter.net.proto";
message AvatarFetterInfo {
uint32 exp_number = 1;
uint32 exp_level = 2;

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1704
// CmdId: 1653
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarFetterLevelRewardReq {
uint64 avatar_guid = 15;
uint32 fetter_level = 2;
uint64 avatar_guid = 1;
uint32 fetter_level = 6;
}

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
@ -6,8 +22,8 @@ option java_package = "emu.grasscutter.net.proto";
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarFetterLevelRewardRsp {
int32 retcode = 14;
uint64 avatar_guid = 12;
uint32 fetter_level = 10;
uint32 reward_id = 11;
uint64 avatar_guid = 4;
uint32 reward_id = 1;
int32 retcode = 13;
uint32 fetter_level = 14;
}

View File

@ -1,11 +1,27 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1232
// CmdId: 1207
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarFightPropNotify {
uint64 avatar_guid = 3;
map<uint32, float> fight_prop_map = 6;
map<uint32, float> fight_prop_map = 8;
uint64 avatar_guid = 4;
}

View File

@ -1,11 +1,27 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1217
// CmdId: 1221
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarFightPropUpdateNotify {
uint64 avatar_guid = 1;
map<uint32, float> fight_prop_map = 6;
map<uint32, float> fight_prop_map = 15;
uint64 avatar_guid = 13;
}

View File

@ -1,11 +1,27 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1681
// CmdId: 1643
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarFlycloakChangeNotify {
uint64 avatar_guid = 12;
uint32 flycloak_id = 14;
uint32 flycloak_id = 8;
uint64 avatar_guid = 2;
}

View File

@ -1,8 +1,24 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1670
// CmdId: 1677
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarGainCostumeNotify {

View File

@ -1,10 +1,26 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1615
// CmdId: 1656
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarGainFlycloakNotify {
uint32 flycloak_id = 2;
uint32 flycloak_id = 3;
}

View File

@ -1,6 +1,20 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarEquipAffixInfo.proto";
import "AvatarExcelInfo.proto";
@ -10,6 +24,8 @@ import "AvatarSkillInfo.proto";
import "PropValue.proto";
import "TrialAvatarInfo.proto";
option java_package = "emu.grasscutter.net.proto";
message AvatarInfo {
uint32 avatar_id = 1;
uint64 guid = 2;

View File

@ -1,19 +1,35 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "PlayerDieType.proto";
import "ServerBuff.proto";
// CmdId: 1235
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1290
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarLifeStateChangeNotify {
uint64 avatar_guid = 8;
uint32 life_state = 15;
uint32 source_entity_id = 1;
uint32 life_state = 13;
string attack_tag = 10;
PlayerDieType die_type = 11;
uint32 move_reliable_seq = 7;
repeated ServerBuff server_buff_list = 6;
PlayerDieType die_type = 2;
repeated ServerBuff server_buff_list = 12;
uint32 move_reliable_seq = 5;
uint32 source_entity_id = 3;
uint64 avatar_guid = 11;
}

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1676
// CmdId: 1696
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarPromoteGetRewardReq {
uint64 avatar_guid = 12;
uint32 promote_level = 8;
uint64 avatar_guid = 7;
uint32 promote_level = 12;
}

View File

@ -1,13 +1,29 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1613
// CmdId: 1683
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarPromoteGetRewardRsp {
int32 retcode = 11;
uint64 avatar_guid = 2;
uint32 promote_level = 14;
uint32 reward_id = 1;
int32 retcode = 10;
uint32 reward_id = 15;
uint64 avatar_guid = 11;
uint32 promote_level = 12;
}

View File

@ -1,11 +1,27 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1711
// CmdId: 1664
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarPromoteReq {
uint64 guid = 9;
uint64 guid = 5;
}

View File

@ -1,11 +1,27 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1668
// CmdId: 1639
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarPromoteRsp {
int32 retcode = 15;
uint64 guid = 7;
uint64 guid = 11;
int32 retcode = 8;
}

View File

@ -1,11 +1,27 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1255
// CmdId: 1231
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarPropNotify {
uint64 avatar_guid = 4;
map<uint32, int64> prop_map = 1;
map<uint32, int64> prop_map = 14;
uint64 avatar_guid = 15;
}

View File

@ -1,15 +1,31 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1030
// CmdId: 1097
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarSkillChangeNotify {
uint64 avatar_guid = 4;
uint32 entity_id = 15;
uint32 skill_depot_id = 5;
uint32 avatar_skill_id = 2;
uint32 old_level = 10;
uint32 cur_level = 7;
uint32 cur_level = 11;
uint64 avatar_guid = 2;
uint32 entity_id = 7;
uint32 skill_depot_id = 13;
uint32 old_level = 1;
uint32 avatar_skill_id = 6;
}

View File

@ -1,17 +1,33 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1037
// CmdId: 1035
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarSkillDepotChangeNotify {
uint64 avatar_guid = 2;
uint32 entity_id = 8;
uint32 skill_depot_id = 9;
repeated uint32 talent_id_list = 1;
repeated uint32 proud_skill_list = 5;
uint32 core_proud_skill_level = 4;
map<uint32, uint32> skill_level_map = 10;
map<uint32, uint32> proud_skill_extra_level_map = 11;
uint32 skill_depot_id = 15;
map<uint32, uint32> proud_skill_extra_level_map = 14;
repeated uint32 talent_id_list = 9;
repeated uint32 proud_skill_list = 4;
uint32 core_proud_skill_level = 2;
uint32 entity_id = 7;
uint64 avatar_guid = 12;
map<uint32, uint32> skill_level_map = 3;
}

View File

@ -1,3 +1,19 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";

View File

@ -1,13 +1,29 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarSkillInfo.proto";
// CmdId: 1035
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1090
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarSkillInfoNotify {
map<uint32, AvatarSkillInfo> skill_map = 11;
uint64 guid = 4;
map<uint32, AvatarSkillInfo> skill_map = 2;
}

View File

@ -1,12 +1,28 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1085
// CmdId: 1003
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarSkillMaxChargeCountNotify {
uint64 avatar_guid = 15;
uint32 skill_id = 2;
uint32 max_charge_count = 1;
uint32 skill_id = 6;
uint32 max_charge_count = 11;
uint64 avatar_guid = 7;
}

View File

@ -1,13 +1,29 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1027
// CmdId: 1075
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message AvatarSkillUpgradeReq {
uint64 avatar_guid = 1;
uint32 avatar_skill_id = 5;
uint32 old_level = 10;
uint64 avatar_guid = 7;
uint32 old_level = 3;
uint32 avatar_skill_id = 4;
}

View File

@ -1,14 +1,30 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1007
// CmdId: 1048
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarSkillUpgradeRsp {
int32 retcode = 3;
uint64 avatar_guid = 10;
uint32 avatar_skill_id = 2;
uint32 old_level = 5;
uint32 cur_level = 7;
uint64 avatar_guid = 11;
uint32 cur_level = 14;
uint32 avatar_skill_id = 9;
uint32 old_level = 3;
int32 retcode = 4;
}

View File

@ -1,8 +1,24 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AvatarTeam {
repeated uint64 avatar_guid_list = 1;
string team_name = 2;
repeated uint64 avatar_guid_list = 7;
string team_name = 14;
}

View File

@ -1,10 +1,26 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
message AvatarTeamResonanceInfo {
uint32 entity_id = 1;
uint64 avatar_guid = 2;
repeated uint32 add_team_resonance_id_list = 3;
repeated uint32 del_team_resonance_id_list = 4;
repeated uint32 add_team_resonance_id_list = 5;
uint32 entity_id = 11;
uint64 avatar_guid = 3;
repeated uint32 del_team_resonance_id_list = 14;
}

View File

@ -1,13 +1,29 @@
syntax = "proto3";
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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/>.
option java_package = "emu.grasscutter.net.proto";
syntax = "proto3";
import "AvatarTeam.proto";
// CmdId: 1713
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1706
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarTeamUpdateNotify {
map<uint32, AvatarTeam> avatar_team_map = 6;
repeated uint64 temp_avatar_guid_list = 9;
map<uint32, AvatarTeam> avatar_team_map = 2;
repeated uint64 temp_avatar_guid_list = 13;
}

View File

@ -1,13 +1,29 @@
// Grasscutter - A server software reimplementation for a certain anime game.
// Copyright (C) 2022 Grasscutter 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";
// CmdId: 1041
// CmdId: 1012
// EnetChannelId: 0
// EnetIsReliable: true
message AvatarUnlockTalentNotify {
uint64 avatar_guid = 1;
uint32 entity_id = 15;
uint32 talent_id = 13;
uint32 skill_depot_id = 14;
uint32 entity_id = 14;
uint64 avatar_guid = 13;
uint32 talent_id = 10;
uint32 skill_depot_id = 1;
}

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