move proto to submodule

This commit is contained in:
wetabq
2022-04-25 16:17:42 +08:00
parent 7f5e053290
commit 1bdec08806
439 changed files with 5371 additions and 2625 deletions

View File

@@ -1,677 +0,0 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: SceneEntityDrownReq.proto
public final class SceneEntityDrownReqOuterClass {
private SceneEntityDrownReqOuterClass() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistryLite registry) {
}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistry registry) {
registerAllExtensions(
(com.google.protobuf.ExtensionRegistryLite) registry);
}
public interface SceneEntityDrownReqOrBuilder extends
// @@protoc_insertion_point(interface_extends:SceneEntityDrownReq)
com.google.protobuf.MessageOrBuilder {
/**
* <code>uint32 entity_id = 1;</code>
* @return The entityId.
*/
int getEntityId();
}
/**
* Protobuf type {@code SceneEntityDrownReq}
*/
public static final class SceneEntityDrownReq extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:SceneEntityDrownReq)
SceneEntityDrownReqOrBuilder {
private static final long serialVersionUID = 0L;
// Use SceneEntityDrownReq.newBuilder() to construct.
private SceneEntityDrownReq(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
super(builder);
}
private SceneEntityDrownReq() {
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new SceneEntityDrownReq();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private SceneEntityDrownReq(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
this();
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 8: {
entityId_ = input.readUInt32();
break;
}
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
done = true;
}
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return SceneEntityDrownReqOuterClass.internal_static_SceneEntityDrownReq_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return SceneEntityDrownReqOuterClass.internal_static_SceneEntityDrownReq_fieldAccessorTable
.ensureFieldAccessorsInitialized(
SceneEntityDrownReqOuterClass.SceneEntityDrownReq.class, SceneEntityDrownReqOuterClass.SceneEntityDrownReq.Builder.class);
}
/**
* Protobuf enum {@code SceneEntityDrownReq.CmdId}
*/
public enum CmdId
implements com.google.protobuf.ProtocolMessageEnum {
/**
* <code>ENET_CHANNEL_ID = 0;</code>
*/
ENET_CHANNEL_ID(0, 0),
/**
* <code>ENET_IS_RELIABLE = 1;</code>
*/
ENET_IS_RELIABLE(2, 1),
/**
* <code>CMD_ID = 222;</code>
*/
CMD_ID(4, 222),
UNRECOGNIZED(-1, -1),
;
/**
* <code>NONE = 0;</code>
*/
public static final CmdId NONE = ENET_CHANNEL_ID;
/**
* <code>IS_ALLOW_CLIENT = 1;</code>
*/
public static final CmdId IS_ALLOW_CLIENT = ENET_IS_RELIABLE;
/**
* <code>ENET_CHANNEL_ID = 0;</code>
*/
public static final int ENET_CHANNEL_ID_VALUE = 0;
/**
* <code>NONE = 0;</code>
*/
public static final int NONE_VALUE = 0;
/**
* <code>ENET_IS_RELIABLE = 1;</code>
*/
public static final int ENET_IS_RELIABLE_VALUE = 1;
/**
* <code>IS_ALLOW_CLIENT = 1;</code>
*/
public static final int IS_ALLOW_CLIENT_VALUE = 1;
/**
* <code>CMD_ID = 222;</code>
*/
public static final int CMD_ID_VALUE = 222;
public final int getNumber() {
if (index == -1) {
throw new java.lang.IllegalArgumentException(
"Can't get the number of an unknown enum value.");
}
return value;
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static CmdId valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static CmdId forNumber(int value) {
switch (value) {
case 0: return ENET_CHANNEL_ID;
case 1: return ENET_IS_RELIABLE;
case 222: return CMD_ID;
default: return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap<CmdId>
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<
CmdId> internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap<CmdId>() {
public CmdId findValueByNumber(int number) {
return CmdId.forNumber(number);
}
};
public final com.google.protobuf.Descriptors.EnumValueDescriptor
getValueDescriptor() {
if (index == -1) {
throw new java.lang.IllegalStateException(
"Can't get the descriptor of an unrecognized enum value.");
}
return getDescriptor().getValues().get(index);
}
public final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptorForType() {
return getDescriptor();
}
public static final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptor() {
return SceneEntityDrownReqOuterClass.SceneEntityDrownReq.getDescriptor().getEnumTypes().get(0);
}
private static final CmdId[] VALUES = getStaticValuesArray();
private static CmdId[] getStaticValuesArray() {
return new CmdId[] {
ENET_CHANNEL_ID, NONE, ENET_IS_RELIABLE, IS_ALLOW_CLIENT, CMD_ID,
};
}
public static CmdId valueOf(
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) {
throw new java.lang.IllegalArgumentException(
"EnumValueDescriptor is not for this type.");
}
if (desc.getIndex() == -1) {
return UNRECOGNIZED;
}
return VALUES[desc.getIndex()];
}
private final int index;
private final int value;
private CmdId(int index, int value) {
this.index = index;
this.value = value;
}
// @@protoc_insertion_point(enum_scope:SceneEntityDrownReq.CmdId)
}
public static final int ENTITY_ID_FIELD_NUMBER = 1;
private int entityId_;
/**
* <code>uint32 entity_id = 1;</code>
* @return The entityId.
*/
@java.lang.Override
public int getEntityId() {
return entityId_;
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
if (entityId_ != 0) {
output.writeUInt32(1, entityId_);
}
unknownFields.writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (entityId_ != 0) {
size += com.google.protobuf.CodedOutputStream
.computeUInt32Size(1, entityId_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof SceneEntityDrownReqOuterClass.SceneEntityDrownReq)) {
return super.equals(obj);
}
SceneEntityDrownReqOuterClass.SceneEntityDrownReq other = (SceneEntityDrownReqOuterClass.SceneEntityDrownReq) obj;
if (getEntityId()
!= other.getEntityId()) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + ENTITY_ID_FIELD_NUMBER;
hash = (53 * hash) + getEntityId();
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input, extensionRegistry);
}
@java.lang.Override
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(SceneEntityDrownReqOuterClass.SceneEntityDrownReq prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code SceneEntityDrownReq}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
// @@protoc_insertion_point(builder_implements:SceneEntityDrownReq)
SceneEntityDrownReqOuterClass.SceneEntityDrownReqOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return SceneEntityDrownReqOuterClass.internal_static_SceneEntityDrownReq_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return SceneEntityDrownReqOuterClass.internal_static_SceneEntityDrownReq_fieldAccessorTable
.ensureFieldAccessorsInitialized(
SceneEntityDrownReqOuterClass.SceneEntityDrownReq.class, SceneEntityDrownReqOuterClass.SceneEntityDrownReq.Builder.class);
}
// Construct using SceneEntityDrownReqOuterClass.SceneEntityDrownReq.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3
.alwaysUseFieldBuilders) {
}
}
@java.lang.Override
public Builder clear() {
super.clear();
entityId_ = 0;
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return SceneEntityDrownReqOuterClass.internal_static_SceneEntityDrownReq_descriptor;
}
@java.lang.Override
public SceneEntityDrownReqOuterClass.SceneEntityDrownReq getDefaultInstanceForType() {
return SceneEntityDrownReqOuterClass.SceneEntityDrownReq.getDefaultInstance();
}
@java.lang.Override
public SceneEntityDrownReqOuterClass.SceneEntityDrownReq build() {
SceneEntityDrownReqOuterClass.SceneEntityDrownReq result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public SceneEntityDrownReqOuterClass.SceneEntityDrownReq buildPartial() {
SceneEntityDrownReqOuterClass.SceneEntityDrownReq result = new SceneEntityDrownReqOuterClass.SceneEntityDrownReq(this);
result.entityId_ = entityId_;
onBuilt();
return result;
}
@java.lang.Override
public Builder clone() {
return super.clone();
}
@java.lang.Override
public Builder setField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.setField(field, value);
}
@java.lang.Override
public Builder clearField(
com.google.protobuf.Descriptors.FieldDescriptor field) {
return super.clearField(field);
}
@java.lang.Override
public Builder clearOneof(
com.google.protobuf.Descriptors.OneofDescriptor oneof) {
return super.clearOneof(oneof);
}
@java.lang.Override
public Builder setRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
int index, java.lang.Object value) {
return super.setRepeatedField(field, index, value);
}
@java.lang.Override
public Builder addRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) {
return super.addRepeatedField(field, value);
}
@java.lang.Override
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof SceneEntityDrownReqOuterClass.SceneEntityDrownReq) {
return mergeFrom((SceneEntityDrownReqOuterClass.SceneEntityDrownReq)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(SceneEntityDrownReqOuterClass.SceneEntityDrownReq other) {
if (other == SceneEntityDrownReqOuterClass.SceneEntityDrownReq.getDefaultInstance()) return this;
if (other.getEntityId() != 0) {
setEntityId(other.getEntityId());
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
}
@java.lang.Override
public final boolean isInitialized() {
return true;
}
@java.lang.Override
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
SceneEntityDrownReqOuterClass.SceneEntityDrownReq parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (SceneEntityDrownReqOuterClass.SceneEntityDrownReq) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int entityId_ ;
/**
* <code>uint32 entity_id = 1;</code>
* @return The entityId.
*/
@java.lang.Override
public int getEntityId() {
return entityId_;
}
/**
* <code>uint32 entity_id = 1;</code>
* @param value The entityId to set.
* @return This builder for chaining.
*/
public Builder setEntityId(int value) {
entityId_ = value;
onChanged();
return this;
}
/**
* <code>uint32 entity_id = 1;</code>
* @return This builder for chaining.
*/
public Builder clearEntityId() {
entityId_ = 0;
onChanged();
return this;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
}
@java.lang.Override
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:SceneEntityDrownReq)
}
// @@protoc_insertion_point(class_scope:SceneEntityDrownReq)
private static final SceneEntityDrownReqOuterClass.SceneEntityDrownReq DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new SceneEntityDrownReqOuterClass.SceneEntityDrownReq();
}
public static SceneEntityDrownReqOuterClass.SceneEntityDrownReq getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser<SceneEntityDrownReq>
PARSER = new com.google.protobuf.AbstractParser<SceneEntityDrownReq>() {
@java.lang.Override
public SceneEntityDrownReq parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new SceneEntityDrownReq(input, extensionRegistry);
}
};
public static com.google.protobuf.Parser<SceneEntityDrownReq> parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser<SceneEntityDrownReq> getParserForType() {
return PARSER;
}
@java.lang.Override
public SceneEntityDrownReqOuterClass.SceneEntityDrownReq getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
private static final com.google.protobuf.Descriptors.Descriptor
internal_static_SceneEntityDrownReq_descriptor;
private static final
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internal_static_SceneEntityDrownReq_fieldAccessorTable;
public static com.google.protobuf.Descriptors.FileDescriptor
getDescriptor() {
return descriptor;
}
private static com.google.protobuf.Descriptors.FileDescriptor
descriptor;
static {
java.lang.String[] descriptorData = {
"\n\031SceneEntityDrownReq.proto\"\214\001\n\023SceneEnt" +
"ityDrownReq\022\021\n\tentity_id\030\001 \001(\r\"b\n\005CmdId\022" +
"\023\n\017ENET_CHANNEL_ID\020\000\022\010\n\004NONE\020\000\022\024\n\020ENET_I" +
"S_RELIABLE\020\001\022\023\n\017IS_ALLOW_CLIENT\020\001\022\013\n\006CMD" +
"_ID\020\336\001\032\002\020\001b\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
});
internal_static_SceneEntityDrownReq_descriptor =
getDescriptor().getMessageTypes().get(0);
internal_static_SceneEntityDrownReq_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_SceneEntityDrownReq_descriptor,
new java.lang.String[] { "EntityId", });
}
// @@protoc_insertion_point(outer_class_scope)
}

10
proto/AbilityAppliedAbility.proto Normal file → Executable file
View File

@@ -2,12 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AbilityScalarValueEntry.proto";
import "AbilityString.proto"; import "AbilityString.proto";
import "AbilityScalarValueEntry.proto";
message AbilityAppliedAbility { message AbilityAppliedAbility {
AbilityString abilityName = 1; AbilityString ability_name = 1;
AbilityString abilityOverride = 2; AbilityString ability_override = 2;
repeated AbilityScalarValueEntry overrideMap = 3; repeated AbilityScalarValueEntry override_map = 3;
uint32 instancedAbilityId = 4; uint32 instanced_ability_id = 4;
} }

28
proto/AbilityAppliedModifier.proto Normal file → Executable file
View File

@@ -2,22 +2,22 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AbilityAttachedModifier.proto";
import "AbilityString.proto"; import "AbilityString.proto";
import "AbilityAttachedModifier.proto";
import "ModifierDurability.proto"; import "ModifierDurability.proto";
message AbilityAppliedModifier { message AbilityAppliedModifier {
int32 modifierLocalId = 1; int32 modifier_local_id = 1;
uint32 parentAbilityEntityId = 2; uint32 parent_ability_entity_id = 2;
AbilityString parentAbilityName = 3; AbilityString parent_ability_name = 3;
AbilityString parentAbilityOverride = 4; AbilityString parent_ability_override = 4;
uint32 instancedAbilityId = 5; uint32 instanced_ability_id = 5;
uint32 instancedModifierId = 6; uint32 instanced_modifier_id = 6;
float existDuration = 7; float exist_duration = 7;
AbilityAttachedModifier attachedInstancedModifier = 8; AbilityAttachedModifier attached_instanced_modifier = 8;
uint32 applyEntityId = 9; uint32 apply_entity_id = 9;
bool isAttachedParentAbility = 10; bool is_attached_parent_ability = 10;
ModifierDurability modifierDurability = 11; ModifierDurability modifier_durability = 11;
uint32 sbuffUid = 12; uint32 sbuff_uid = 12;
bool isServerbuffModifier = 13; bool is_serverbuff_modifier = 13;
} }

11
proto/AbilityAttachedModifier.proto Normal file → Executable file
View File

@@ -2,10 +2,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AbilityAttachedModifier { message AbilityAttachedModifier {
bool isInvalid = 1; bool is_invalid = 1;
uint32 ownerEntityId = 2; uint32 owner_entity_id = 2;
uint32 instancedModifierId = 3; uint32 instanced_modifier_id = 3;
bool isServerbuffModifier = 4; bool is_serverbuff_modifier = 4;
int32 attachNameHash = 5; int32 attach_name_hash = 5;
} }

12
proto/AbilityChangeNotify.proto Normal file → Executable file
View File

@@ -5,6 +5,14 @@ option java_package = "emu.grasscutter.net.proto";
import "AbilityControlBlock.proto"; import "AbilityControlBlock.proto";
message AbilityChangeNotify { message AbilityChangeNotify {
uint32 entityId = 1; enum CmdId {
AbilityControlBlock abilityControlBlock = 2; option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1112;
}
uint32 entity_id = 1;
AbilityControlBlock ability_control_block = 2;
} }

2
proto/AbilityControlBlock.proto Normal file → Executable file
View File

@@ -5,5 +5,5 @@ option java_package = "emu.grasscutter.net.proto";
import "AbilityEmbryo.proto"; import "AbilityEmbryo.proto";
message AbilityControlBlock { message AbilityControlBlock {
repeated AbilityEmbryo abilityEmbryoList = 1; repeated AbilityEmbryo ability_embryo_list = 1;
} }

7
proto/AbilityEmbryo.proto Normal file → Executable file
View File

@@ -2,8 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AbilityEmbryo { message AbilityEmbryo {
uint32 abilityId = 1; uint32 ability_id = 1;
fixed32 abilityNameHash = 2; fixed32 ability_name_hash = 2;
fixed32 abilityOverrideNameHash = 3; fixed32 ability_override_name_hash = 3;
} }

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AbilityGadgetInfo {
uint32 camp_id = 1;
uint32 camp_target_type = 2;
uint32 target_entity_id = 3;
}

13
proto/AbilityIdentifier.proto Normal file → Executable file
View File

@@ -2,11 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AbilityIdentifier { message AbilityIdentifier {
uint32 instancedAbilityId = 1; uint32 instanced_ability_id = 1;
uint32 abilityCasterId = 2; uint32 ability_caster_id = 2;
int32 localId = 3; int32 local_id = 3;
uint32 instancedModifierId = 4; uint32 instanced_modifier_id = 4;
uint32 modifierOwnerId = 5; uint32 modifier_owner_id = 5;
bool isServerbuffModifier = 6; bool is_serverbuff_modifier = 6;
} }

9
proto/AbilityInvocationsNotify.proto Normal file → Executable file
View File

@@ -5,5 +5,14 @@ option java_package = "emu.grasscutter.net.proto";
import "AbilityInvokeEntry.proto"; import "AbilityInvokeEntry.proto";
message AbilityInvocationsNotify { message AbilityInvocationsNotify {
enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1118;
}
repeated AbilityInvokeEntry invokes = 1; repeated AbilityInvokeEntry invokes = 1;
} }

90
proto/AbilityInvokeArgument.proto Normal file → Executable file
View File

@@ -3,46 +3,52 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
enum AbilityInvokeArgument { enum AbilityInvokeArgument {
AbilityNone = 0; ABILITY_NONE = 0;
AbilityMetaModifierChange = 1; ABILITY_META_MODIFIER_CHANGE = 1;
AbilityMetaCommandModifierChangeRequest = 2; ABILITY_META_COMMAND_MODIFIER_CHANGE_REQUEST = 2;
AbilityMetaSpecialFloatArgument = 3; ABILITY_META_SPECIAL_FLOAT_ARGUMENT = 3;
AbilityMetaOverrideParam = 4; ABILITY_META_OVERRIDE_PARAM = 4;
AbilityMetaClearOverrideParam = 5; ABILITY_META_CLEAR_OVERRIDE_PARAM = 5;
AbilityMetaReinitOverridemap = 6; ABILITY_META_REINIT_OVERRIDEMAP = 6;
AbilityMetaGlobalFloatValue = 7; ABILITY_META_GLOBAL_FLOAT_VALUE = 7;
AbilityMetaClearGlobalFloatValue = 8; ABILITY_META_CLEAR_GLOBAL_FLOAT_VALUE = 8;
AbilityMetaAbilityElementStrength = 9; ABILITY_META_ABILITY_ELEMENT_STRENGTH = 9;
AbilityMetaAddOrGetAbilityAndTrigger = 10; ABILITY_META_ADD_OR_GET_ABILITY_AND_TRIGGER = 10;
AbilityMetaSetKilledSetate = 11; ABILITY_META_SET_KILLED_SETATE = 11;
AbilityMetaSetAbilityTrigger = 12; ABILITY_META_SET_ABILITY_TRIGGER = 12;
AbilityMetaAddNewAbility = 13; ABILITY_META_ADD_NEW_ABILITY = 13;
AbilityMetaRemoveAbility = 14; ABILITY_META_REMOVE_ABILITY = 14;
AbilityMetaSetModifierApplyEntity = 15; ABILITY_META_SET_MODIFIER_APPLY_ENTITY = 15;
AbilityMetaModifierDurabilityChange = 16; ABILITY_META_MODIFIER_DURABILITY_CHANGE = 16;
AbilityMetaElementReactionVisual = 17; ABILITY_META_ELEMENT_REACTION_VISUAL = 17;
AbilityMetaSetPoseParameter = 18; ABILITY_META_SET_POSE_PARAMETER = 18;
AbilityMetaUpdateBaseReactionDamage = 19; ABILITY_META_UPDATE_BASE_REACTION_DAMAGE = 19;
AbilityActionTriggerAbility = 50; ABILITY_META_TRIGGER_ELEMENT_REACTION = 20;
AbilityActionSetCrashDamage = 51; ABILITY_META_LOSE_HP = 21;
AbilityActionEffect = 52; ABILITY_ACTION_TRIGGER_ABILITY = 50;
AbilityActionSummon = 53; ABILITY_ACTION_SET_CRASH_DAMAGE = 51;
AbilityActionBlink = 54; ABILITY_ACTION_EFFECT = 52;
AbilityActionCreateGadget = 55; ABILITY_ACTION_SUMMON = 53;
AbilityActionApplyLevelModifier = 56; ABILITY_ACTION_BLINK = 54;
AbilityActionGenerateElemBall = 57; ABILITY_ACTION_CREATE_GADGET = 55;
AbilityActionSetRandomOverrideMapValue = 58; ABILITY_ACTION_APPLY_LEVEL_MODIFIER = 56;
AbilityActionServerMonsterLog = 59; ABILITY_ACTION_GENERATE_ELEM_BALL = 57;
AbilityMixinAvatarSteerByCamera = 100; ABILITY_ACTION_SET_RANDOM_OVERRIDE_MAP_VALUE = 58;
AbilityMixinMonsterDefend = 101; ABILITY_ACTION_SERVER_MONSTER_LOG = 59;
AbilityMixinWindZone = 102; ABILITY_ACTION_CREATE_TILE = 60;
AbilityMixinCostStamina = 103; ABILITY_ACTION_DESTROY_TILE = 61;
AbilityMixinEliteShield = 104; ABILITY_ACTION_FIRE_AFTER_IMAGE = 62;
AbilityMixinElementShield = 105; ABILITY_MIXIN_AVATAR_STEER_BY_CAMERA = 100;
AbilityMixinGlobalShield = 106; ABILITY_MIXIN_MONSTER_DEFEND = 101;
AbilityMixinShieldBar = 107; ABILITY_MIXIN_WIND_ZONE = 102;
AbilityMixinWindSeedSpawner = 108; ABILITY_MIXIN_COST_STAMINA = 103;
AbilityMixinDoActionByElementReaction = 109; ABILITY_MIXIN_ELITE_SHIELD = 104;
AbilityMixinFieldEntityCountChange = 110; ABILITY_MIXIN_ELEMENT_SHIELD = 105;
AbilityMixinScenePropSync = 111; ABILITY_MIXIN_GLOBAL_SHIELD = 106;
ABILITY_MIXIN_SHIELD_BAR = 107;
ABILITY_MIXIN_WIND_SEED_SPAWNER = 108;
ABILITY_MIXIN_DO_ACTION_BY_ELEMENT_REACTION = 109;
ABILITY_MIXIN_FIELD_ENTITY_COUNT_CHANGE = 110;
ABILITY_MIXIN_SCENE_PROP_SYNC = 111;
ABILITY_MIXIN_WIDGET_MP_SUPPORT = 112;
} }

15
proto/AbilityInvokeEntry.proto Normal file → Executable file
View File

@@ -2,16 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AbilityInvokeArgument.proto";
import "AbilityInvokeEntryHead.proto"; import "AbilityInvokeEntryHead.proto";
import "AbilityInvokeArgument.proto";
import "ForwardType.proto"; import "ForwardType.proto";
message AbilityInvokeEntry { message AbilityInvokeEntry {
AbilityInvokeEntryHead head = 1; AbilityInvokeEntryHead head = 1;
AbilityInvokeArgument argumentType = 2; AbilityInvokeArgument argument_type = 2;
bytes abilityData = 3; bytes ability_data = 3;
uint32 entityId = 4; uint32 entity_id = 4;
ForwardType forwardType = 5; ForwardType forward_type = 5;
uint32 forwardPeer = 6; uint32 forward_peer = 6;
uint32 eventId = 7; uint32 event_id = 7;
double total_tick_time = 8;
} }

15
proto/AbilityInvokeEntryHead.proto Normal file → Executable file
View File

@@ -2,12 +2,13 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AbilityInvokeEntryHead { message AbilityInvokeEntryHead {
uint32 instancedAbilityId = 1; uint32 instanced_ability_id = 1;
uint32 instancedModifierId = 2; uint32 instanced_modifier_id = 2;
int32 localId = 3; int32 local_id = 3;
int32 modifierConfigLocalId = 4; int32 modifier_config_local_id = 4;
uint32 targetId = 5; uint32 target_id = 5;
bool isServerbuffModifier = 6; bool is_serverbuff_modifier = 6;
uint32 serverBuffUid = 7; uint32 server_buff_uid = 7;
} }

14
proto/AbilityMixinRecoverInfo.proto Normal file → Executable file
View File

@@ -5,12 +5,12 @@ option java_package = "emu.grasscutter.net.proto";
import "MassivePropSyncInfo.proto"; import "MassivePropSyncInfo.proto";
message AbilityMixinRecoverInfo { message AbilityMixinRecoverInfo {
oneof source { oneof Source {
uint32 instancedAbilityId = 1; uint32 instanced_ability_id = 1;
uint32 instancedModifierId = 2; uint32 instanced_modifier_id = 2;
} }
uint32 localId = 3; uint32 local_id = 3;
repeated uint32 dataList = 4; repeated uint32 data_list = 4;
bool isServerbuffModifier = 5; bool is_serverbuff_modifier = 5;
repeated MassivePropSyncInfo massivePropList = 6; repeated MassivePropSyncInfo massive_prop_list = 6;
} }

14
proto/AbilityScalarType.proto Normal file → Executable file
View File

@@ -3,11 +3,11 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
enum AbilityScalarType { enum AbilityScalarType {
Unknow = 0; UNKNOW = 0;
Float = 1; FLOAT = 1;
Int = 2; INT = 2;
Bool = 3; BOOL = 3;
Trigger = 4; TRIGGER = 4;
String = 5; STRING = 5;
Uint = 6; UINT = 6;
} }

16
proto/AbilityScalarValueEntry.proto Normal file → Executable file
View File

@@ -2,16 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AbilityScalarType.proto";
import "AbilityString.proto"; import "AbilityString.proto";
import "AbilityScalarType.proto";
message AbilityScalarValueEntry { message AbilityScalarValueEntry {
AbilityString key = 1; oneof Value {
AbilityScalarType valueType = 2; float float_value = 3;
oneof value { string string_value = 4;
float floatValue = 3; int32 int_value = 5;
string stringValue = 4; uint32 uint_value = 6;
int32 intValue = 5;
uint32 uintValue = 6;
} }
AbilityString key = 1;
AbilityScalarType value_type = 2;
} }

3
proto/AbilityString.proto Normal file → Executable file
View File

@@ -2,8 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AbilityString { message AbilityString {
oneof type { oneof Type {
string str = 1; string str = 1;
uint32 hash = 2; uint32 hash = 2;
} }

13
proto/AbilitySyncStateInfo.proto Normal file → Executable file
View File

@@ -2,15 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AbilityScalarValueEntry.proto";
import "AbilityAppliedAbility.proto"; import "AbilityAppliedAbility.proto";
import "AbilityAppliedModifier.proto"; import "AbilityAppliedModifier.proto";
import "AbilityMixinRecoverInfo.proto"; import "AbilityMixinRecoverInfo.proto";
import "AbilityScalarValueEntry.proto";
message AbilitySyncStateInfo { message AbilitySyncStateInfo {
bool isInited = 1; bool is_inited = 1;
repeated AbilityScalarValueEntry dynamicValueMap = 2; repeated AbilityScalarValueEntry dynamic_value_map = 2;
repeated AbilityAppliedAbility appliedAbilities = 3; repeated AbilityAppliedAbility applied_abilities = 3;
repeated AbilityAppliedModifier appliedModifiers = 4; repeated AbilityAppliedModifier applied_modifiers = 4;
repeated AbilityMixinRecoverInfo mixinRecoverInfos = 5; repeated AbilityMixinRecoverInfo mixin_recover_infos = 5;
repeated AbilityScalarValueEntry sgv_dynamic_value_map = 6;
} }

378
proto/ActionReasonType.proto Normal file → Executable file
View File

@@ -3,177 +3,209 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
enum ActionReasonType { enum ActionReasonType {
ActionReasonNone = 0; ACTION_REASON_NONE = 0;
ActionReasonQuestItem = 1; ACTION_REASON_QUEST_ITEM = 1;
ActionReasonQuestReward = 2; ACTION_REASON_QUEST_REWARD = 2;
ActionReasonTrifle = 3; ACTION_REASON_TRIFLE = 3;
ActionReasonShop = 4; ACTION_REASON_SHOP = 4;
ActionReasonPlayerUpgradeReward = 5; ACTION_REASON_PLAYER_UPGRADE_REWARD = 5;
ActionReasonAddAvatar = 6; ACTION_REASON_ADD_AVATAR = 6;
ActionReasonGadgetEnvAnimal = 7; ACTION_REASON_GADGET_ENV_ANIMAL = 7;
ActionReasonMonsterEnvAnimal = 8; ACTION_REASON_MONSTER_ENV_ANIMAL = 8;
ActionReasonCompound = 9; ACTION_REASON_COMPOUND = 9;
ActionReasonCook = 10; ACTION_REASON_COOK = 10;
ActionReasonGather = 11; ACTION_REASON_GATHER = 11;
ActionReasonMailAttachment = 12; ACTION_REASON_MAIL_ATTACHMENT = 12;
ActionReasonCityLevelupReturn = 15; ACTION_REASON_CITY_LEVELUP_RETURN = 15;
ActionReasonCityLevelupReward = 17; ACTION_REASON_CITY_LEVELUP_REWARD = 17;
ActionReasonAreaExploreReward = 18; ACTION_REASON_AREA_EXPLORE_REWARD = 18;
ActionReasonUnlockPointReward = 19; ACTION_REASON_UNLOCK_POINT_REWARD = 19;
ActionReasonDungeonFirstPass = 20; ACTION_REASON_DUNGEON_FIRST_PASS = 20;
ActionReasonDungeonPass = 21; ACTION_REASON_DUNGEON_PASS = 21;
ActionReasonChangeElemType = 23; ACTION_REASON_CHANGE_ELEM_TYPE = 23;
ActionReasonFetterOpen = 25; ACTION_REASON_FETTER_OPEN = 25;
ActionReasonDailyTaskScore = 26; ACTION_REASON_DAILY_TASK_SCORE = 26;
ActionReasonDailyTaskHost = 27; ACTION_REASON_DAILY_TASK_HOST = 27;
ActionReasonRandTaskHost = 28; ACTION_REASON_RAND_TASK_HOST = 28;
ActionReasonExpedition = 29; ACTION_REASON_EXPEDITION = 29;
ActionReasonGacha = 30; ACTION_REASON_GACHA = 30;
ActionReasonCombine = 31; ACTION_REASON_COMBINE = 31;
ActionReasonRandTaskGuest = 32; ACTION_REASON_RAND_TASK_GUEST = 32;
ActionReasonDailyTaskGuest = 33; ACTION_REASON_DAILY_TASK_GUEST = 33;
ActionReasonForgeOutput = 34; ACTION_REASON_FORGE_OUTPUT = 34;
ActionReasonForgeReturn = 35; ACTION_REASON_FORGE_RETURN = 35;
ActionReasonInitAvatar = 36; ACTION_REASON_INIT_AVATAR = 36;
ActionReasonMonsterDie = 37; ACTION_REASON_MONSTER_DIE = 37;
ActionReasonGm = 38; ACTION_REASON_GM = 38;
ActionReasonOpenChest = 39; ACTION_REASON_OPEN_CHEST = 39;
ActionReasonGadgetDie = 40; ACTION_REASON_GADGET_DIE = 40;
ActionReasonMonsterChangeHp = 41; ACTION_REASON_MONSTER_CHANGE_HP = 41;
ActionReasonSubfieldDrop = 42; ACTION_REASON_SUBFIELD_DROP = 42;
ActionReasonPushTipsReward = 43; ACTION_REASON_PUSH_TIPS_REWARD = 43;
ActionReasonActivityMonsterDrop = 44; ACTION_REASON_ACTIVITY_MONSTER_DROP = 44;
ActionReasonActivityGather = 45; ACTION_REASON_ACTIVITY_GATHER = 45;
ActionReasonActivitySubfieldDrop = 46; ACTION_REASON_ACTIVITY_SUBFIELD_DROP = 46;
ActionReasonTowerScheduleReward = 47; ACTION_REASON_TOWER_SCHEDULE_REWARD = 47;
ActionReasonTowerFloorStarReward = 48; ACTION_REASON_TOWER_FLOOR_STAR_REWARD = 48;
ActionReasonTowerFirstPassReward = 49; ACTION_REASON_TOWER_FIRST_PASS_REWARD = 49;
ActionReasonTowerDailyReward = 50; ACTION_REASON_TOWER_DAILY_REWARD = 50;
ActionReasonHitClientTrivialEntity = 51; ACTION_REASON_HIT_CLIENT_TRIVIAL_ENTITY = 51;
ActionReasonOpenWorldBossChest = 52; ACTION_REASON_OPEN_WORLD_BOSS_CHEST = 52;
ActionReasonMaterialDeleteReturn = 53; ACTION_REASON_MATERIAL_DELETE_RETURN = 53;
ActionReasonSignInReward = 54; ACTION_REASON_SIGN_IN_REWARD = 54;
ActionReasonOpenBlossomChest = 55; ACTION_REASON_OPEN_BLOSSOM_CHEST = 55;
ActionReasonRecharge = 56; ACTION_REASON_RECHARGE = 56;
ActionReasonBonusActivityReward = 57; ACTION_REASON_BONUS_ACTIVITY_REWARD = 57;
ActionReasonTowerCommemorativeReward = 58; ACTION_REASON_TOWER_COMMEMORATIVE_REWARD = 58;
ActionReasonTowerSkipFloorReward = 59; ACTION_REASON_TOWER_SKIP_FLOOR_REWARD = 59;
ActionReasonRechargeBonus = 60; ACTION_REASON_RECHARGE_BONUS = 60;
ActionReasonRechargeCard = 61; ACTION_REASON_RECHARGE_CARD = 61;
ActionReasonRechargeCardDaily = 62; ACTION_REASON_RECHARGE_CARD_DAILY = 62;
ActionReasonRechargeCardReplace = 63; ACTION_REASON_RECHARGE_CARD_REPLACE = 63;
ActionReasonRechargeCardReplaceFree = 64; ACTION_REASON_RECHARGE_CARD_REPLACE_FREE = 64;
ActionReasonRechargePlayReplace = 65; ACTION_REASON_RECHARGE_PLAY_REPLACE = 65;
ActionReasonMpPlayTakeReward = 66; ACTION_REASON_MP_PLAY_TAKE_REWARD = 66;
ActionReasonActivityWatcher = 67; ACTION_REASON_ACTIVITY_WATCHER = 67;
ActionReasonSalesmanDeliverItem = 68; ACTION_REASON_SALESMAN_DELIVER_ITEM = 68;
ActionReasonSalesmanReward = 69; ACTION_REASON_SALESMAN_REWARD = 69;
ActionReasonRebate = 70; ACTION_REASON_REBATE = 70;
ActionReasonMcoinExchangeHcoin = 71; ACTION_REASON_MCOIN_EXCHANGE_HCOIN = 71;
ActionReasonDailyTaskExchangeLegendaryKey = 72; ACTION_REASON_DAILY_TASK_EXCHANGE_LEGENDARY_KEY = 72;
ActionReasonUnlockPersonLine = 73; ACTION_REASON_UNLOCK_PERSON_LINE = 73;
ActionReasonFetterLevelReward = 74; ACTION_REASON_FETTER_LEVEL_REWARD = 74;
ActionReasonBuyResin = 75; ACTION_REASON_BUY_RESIN = 75;
ActionReasonRechargePackage = 76; ACTION_REASON_RECHARGE_PACKAGE = 76;
ActionReasonDeliveryDailyReward = 77; ACTION_REASON_DELIVERY_DAILY_REWARD = 77;
ActionReasonCityReputationLevel = 78; ACTION_REASON_CITY_REPUTATION_LEVEL = 78;
ActionReasonCityReputationQuest = 79; ACTION_REASON_CITY_REPUTATION_QUEST = 79;
ActionReasonCityReputationRequest = 80; ACTION_REASON_CITY_REPUTATION_REQUEST = 80;
ActionReasonCityReputationExplore = 81; ACTION_REASON_CITY_REPUTATION_EXPLORE = 81;
ActionReasonOffergingLevel = 82; ACTION_REASON_OFFERGING_LEVEL = 82;
ActionReasonRoutineHost = 83; ACTION_REASON_ROUTINE_HOST = 83;
ActionReasonRoutineGuest = 84; ACTION_REASON_ROUTINE_GUEST = 84;
ActionReasonTreasureMapSpotToken = 89; ACTION_REASON_TREASURE_MAP_SPOT_TOKEN = 89;
ActionReasonTreasureMapBonusLevelReward = 90; ACTION_REASON_TREASURE_MAP_BONUS_LEVEL_REWARD = 90;
ActionReasonTreasureMapMpReward = 91; ACTION_REASON_TREASURE_MAP_MP_REWARD = 91;
ActionReasonConvert = 92; ACTION_REASON_CONVERT = 92;
ActionReasonOverflowTransform = 93; ACTION_REASON_OVERFLOW_TRANSFORM = 93;
ActionReasonActivityAvatarSelectionReward = 96; ACTION_REASON_ACTIVITY_AVATAR_SELECTION_REWARD = 96;
ActionReasonActivityWatcherBatch = 97; ACTION_REASON_ACTIVITY_WATCHER_BATCH = 97;
ActionReasonHitTreeDrop = 98; ACTION_REASON_HIT_TREE_DROP = 98;
ActionReasonGetHomeLevelupReward = 99; ACTION_REASON_GET_HOME_LEVELUP_REWARD = 99;
ActionReasonHomeDefaultFurniture = 100; ACTION_REASON_HOME_DEFAULT_FURNITURE = 100;
ActionReasonActivityCond = 101; ACTION_REASON_ACTIVITY_COND = 101;
ActionReasonBattlePassNotify = 102; ACTION_REASON_BATTLE_PASS_NOTIFY = 102;
ActionReasonPlayerUseItem = 1001; ACTION_REASON_RELIQUARY_DECOMPOSE = 103;
ActionReasonDropItem = 1002; ACTION_REASON_RECHARGE_GOOGLE_GIFT_GARD = 104;
ActionReasonWeaponUpgrade = 1011; ACTION_REASON_RECHARGE_CONCERT_PRODUCT = 105;
ActionReasonWeaponPromote = 1012; ACTION_REASON_RECHARGE_CONCERT_PRODUCT_REPLACE = 106;
ActionReasonWeaponAwaken = 1013; ACTION_REASON_SEND_CONCERT_PRODUCT_BY_MUIP = 107;
ActionReasonRelicUpgrade = 1014; ACTION_REASON_RECHARGE_APPLE_GIFT_GARD = 108;
ActionReasonAbility = 1015; ACTION_REASON_PLAYER_USE_ITEM = 1001;
ActionReasonDungeonStatueDrop = 1016; ACTION_REASON_DROP_ITEM = 1002;
ActionReasonOfflineMsg = 1017; ACTION_REASON_WEAPON_UPGRADE = 1011;
ActionReasonAvatarUpgrade = 1018; ACTION_REASON_WEAPON_PROMOTE = 1012;
ActionReasonAvatarPromote = 1019; ACTION_REASON_WEAPON_AWAKEN = 1013;
ActionReasonQuestAction = 1021; ACTION_REASON_RELIC_UPGRADE = 1014;
ActionReasonCityLevelup = 1022; ACTION_REASON_ABILITY = 1015;
ActionReasonUpgradeSkill = 1024; ACTION_REASON_DUNGEON_STATUE_DROP = 1016;
ActionReasonUnlockTalent = 1025; ACTION_REASON_OFFLINE_MSG = 1017;
ActionReasonUpgradeProudSkill = 1026; ACTION_REASON_AVATAR_UPGRADE = 1018;
ActionReasonPlayerLevelLimitUp = 1027; ACTION_REASON_AVATAR_PROMOTE = 1019;
ActionReasonDungeonDaily = 1028; ACTION_REASON_QUEST_ACTION = 1021;
ActionReasonItemGiving = 1030; ACTION_REASON_CITY_LEVELUP = 1022;
ActionReasonForgeCost = 1031; ACTION_REASON_UPGRADE_SKILL = 1024;
ActionReasonInvestigationReward = 1032; ACTION_REASON_UNLOCK_TALENT = 1025;
ActionReasonInvestigationTargetReward = 1033; ACTION_REASON_UPGRADE_PROUD_SKILL = 1026;
ActionReasonGadgetInteract = 1034; ACTION_REASON_PLAYER_LEVEL_LIMIT_UP = 1027;
ActionReasonSeaLampCiMaterial = 1036; ACTION_REASON_DUNGEON_DAILY = 1028;
ActionReasonSeaLampContributionReward = 1037; ACTION_REASON_ITEM_GIVING = 1030;
ActionReasonSeaLampPhaseReward = 1038; ACTION_REASON_FORGE_COST = 1031;
ActionReasonSeaLampFlyLamp = 1039; ACTION_REASON_INVESTIGATION_REWARD = 1032;
ActionReasonAutoRecover = 1040; ACTION_REASON_INVESTIGATION_TARGET_REWARD = 1033;
ActionReasonActivityExpireItem = 1041; ACTION_REASON_GADGET_INTERACT = 1034;
ActionReasonSubCoinNegative = 1042; ACTION_REASON_SEA_LAMP_CI_MATERIAL = 1036;
ActionReasonBargainDeduct = 1043; ACTION_REASON_SEA_LAMP_CONTRIBUTION_REWARD = 1037;
ActionReasonBattlePassPaidReward = 1044; ACTION_REASON_SEA_LAMP_PHASE_REWARD = 1038;
ActionReasonBattlePassLevelReward = 1045; ACTION_REASON_SEA_LAMP_FLY_LAMP = 1039;
ActionReasonTrialAvatarActivityFirstPassReward = 1046; ACTION_REASON_AUTO_RECOVER = 1040;
ActionReasonBuyBattlePassLevel = 1047; ACTION_REASON_ACTIVITY_EXPIRE_ITEM = 1041;
ActionReasonGrantBirthdayBenefit = 1048; ACTION_REASON_SUB_COIN_NEGATIVE = 1042;
ActionReasonAchievementReward = 1049; ACTION_REASON_BARGAIN_DEDUCT = 1043;
ActionReasonAchievementGoalReward = 1050; ACTION_REASON_BATTLE_PASS_PAID_REWARD = 1044;
ActionReasonFirstShareToSocialNetwork = 1051; ACTION_REASON_BATTLE_PASS_LEVEL_REWARD = 1045;
ActionReasonDestroyMaterial = 1052; ACTION_REASON_TRIAL_AVATAR_ACTIVITY_FIRST_PASS_REWARD = 1046;
ActionReasonCodexLevelupReward = 1053; ACTION_REASON_BUY_BATTLE_PASS_LEVEL = 1047;
ActionReasonHuntingOfferReward = 1054; ACTION_REASON_GRANT_BIRTHDAY_BENEFIT = 1048;
ActionReasonUseWidgetAnchorPoint = 1055; ACTION_REASON_ACHIEVEMENT_REWARD = 1049;
ActionReasonUseWidgetBonfire = 1056; ACTION_REASON_ACHIEVEMENT_GOAL_REWARD = 1050;
ActionReasonUngradeWeaponReturnMaterial = 1057; ACTION_REASON_FIRST_SHARE_TO_SOCIAL_NETWORK = 1051;
ActionReasonUseWidgetOneoffGatherPointDetector = 1058; ACTION_REASON_DESTROY_MATERIAL = 1052;
ActionReasonUseWidgetClientCollector = 1059; ACTION_REASON_CODEX_LEVELUP_REWARD = 1053;
ActionReasonUseWidgetClientDetector = 1060; ACTION_REASON_HUNTING_OFFER_REWARD = 1054;
ActionReasonTakeGeneralReward = 1061; ACTION_REASON_USE_WIDGET_ANCHOR_POINT = 1055;
ActionReasonAsterTakeSpecialReward = 1062; ACTION_REASON_USE_WIDGET_BONFIRE = 1056;
ActionReasonRemoveCodexBook = 1063; ACTION_REASON_UNGRADE_WEAPON_RETURN_MATERIAL = 1057;
ActionReasonOfferingItem = 1064; ACTION_REASON_USE_WIDGET_ONEOFF_GATHER_POINT_DETECTOR = 1058;
ActionReasonUseWidgetGadgetBuilder = 1065; ACTION_REASON_USE_WIDGET_CLIENT_COLLECTOR = 1059;
ActionReasonEffigyFirstPassReward = 1066; ACTION_REASON_USE_WIDGET_CLIENT_DETECTOR = 1060;
ActionReasonEffigyReward = 1067; ACTION_REASON_TAKE_GENERAL_REWARD = 1061;
ActionReasonReunionFirstGiftReward = 1068; ACTION_REASON_ASTER_TAKE_SPECIAL_REWARD = 1062;
ActionReasonReunionSignInReward = 1069; ACTION_REASON_REMOVE_CODEX_BOOK = 1063;
ActionReasonReunionWatcherReward = 1070; ACTION_REASON_OFFERING_ITEM = 1064;
ActionReasonSalesmanMpReward = 1071; ACTION_REASON_USE_WIDGET_GADGET_BUILDER = 1065;
ActionReasionAvatarPromoteReward = 1072; ACTION_REASON_EFFIGY_FIRST_PASS_REWARD = 1066;
ActionReasonBlessingRedeemReward = 1073; ACTION_REASON_EFFIGY_REWARD = 1067;
ActionMiracleRingReward = 1074; ACTION_REASON_REUNION_FIRST_GIFT_REWARD = 1068;
ActionReasonExpeditionReward = 1075; ACTION_REASON_REUNION_SIGN_IN_REWARD = 1069;
ActionReasonTreasureMapRemoveDetector = 1076; ACTION_REASON_REUNION_WATCHER_REWARD = 1070;
ActionReasonMechanicusDungeonTicket = 1077; ACTION_REASON_SALESMAN_MP_REWARD = 1071;
ActionReasonMechanicusLevelupGear = 1078; ACTION_REASION_AVATAR_PROMOTE_REWARD = 1072;
ActionReasonMechanicusBattleSettle = 1079; ACTION_REASON_BLESSING_REDEEM_REWARD = 1073;
ActionReasonRegionSearchReward = 1080; ACTION_MIRACLE_RING_REWARD = 1074;
ActionReasonUnlockCoopChapter = 1081; ACTION_REASON_EXPEDITION_REWARD = 1075;
ActionReasonTakeCoopReward = 1082; ACTION_REASON_TREASURE_MAP_REMOVE_DETECTOR = 1076;
ActionReasonFleurFairDungeonReward = 1083; ACTION_REASON_MECHANICUS_DUNGEON_TICKET = 1077;
ActionReasonActivityScore = 1084; ACTION_REASON_MECHANICUS_LEVELUP_GEAR = 1078;
ActionReasonChannellerSlabOneoffDungeonReward = 1085; ACTION_REASON_MECHANICUS_BATTLE_SETTLE = 1079;
ActionReasonFurnitureMakeStart = 1086; ACTION_REASON_REGION_SEARCH_REWARD = 1080;
ActionReasonFurnitureMakeTake = 1087; ACTION_REASON_UNLOCK_COOP_CHAPTER = 1081;
ActionReasonFurnitureMakeCancel = 1088; ACTION_REASON_TAKE_COOP_REWARD = 1082;
ActionReasonFurnitureMakeFastFinish = 1089; ACTION_REASON_FLEUR_FAIR_DUNGEON_REWARD = 1083;
ActionReasonChannellerSlabLoopDungeonFirstPassReward = 1090; ACTION_REASON_ACTIVITY_SCORE = 1084;
ActionReasonChannellerSlabLoopDungeonScoreReward = 1091; ACTION_REASON_CHANNELLER_SLAB_ONEOFF_DUNGEON_REWARD = 1085;
ActionReasonHomeLimitedShopBuy = 1092; ACTION_REASON_FURNITURE_MAKE_START = 1086;
ActionReasonHomeCoinCollect = 1093; ACTION_REASON_FURNITURE_MAKE_TAKE = 1087;
ACTION_REASON_FURNITURE_MAKE_CANCEL = 1088;
ACTION_REASON_FURNITURE_MAKE_FAST_FINISH = 1089;
ACTION_REASON_CHANNELLER_SLAB_LOOP_DUNGEON_FIRST_PASS_REWARD = 1090;
ACTION_REASON_CHANNELLER_SLAB_LOOP_DUNGEON_SCORE_REWARD = 1091;
ACTION_REASON_HOME_LIMITED_SHOP_BUY = 1092;
ACTION_REASON_HOME_COIN_COLLECT = 1093;
ACTION_REASON_SUMMER_TIME_SENTRY_TOWER_REWARD = 1094;
ACTION_REASON_SUMMER_TIME_SPRINT_BOAT_REWARD = 1095;
ACTION_REASON_SUMMER_TIME_BOSS_REWARD = 1096;
ACTION_REASON_SUMMER_TIME_BOMB_REWARD = 1097;
ACTION_REASON_HOME_FETTER_COLLECT = 1098;
ACTION_REASON_ECHO_SHELL_REWARD = 1099;
ACTION_REASON_HOME_EVENT_REWARD = 1100;
ACTION_REASON_BLITZ_RUSH_DUNGEON_REWARD = 1101;
ACTION_REASON_FURNITURE_MAKE_RETURN = 1102;
ACTION_REASON_HOME_PLANT_BOX_GATHER = 1103;
ACTION_REASON_HOME_PLANT_SEED = 1104;
ACTION_REASON_HOME_PLANT_GATHER = 1105;
ACTION_REASON_CHESS_DUNGEON_REWARD = 1106;
ACTION_REASON_GROUP_LINK_BUNDLE_FINISH = 1107;
ACTION_REASON_LUNA_RITE_SACRIFICE = 1108;
ACTION_REASON_LUNA_RITE_TAKE_SACRIFICE_REWARD = 1109;
ACTION_REASON_FISH_BITE = 1110;
ACTION_REASON_FISH_SUCC = 1111;
ACTION_REASON_PLANT_FLOWER_REWARD = 1112;
ACTION_REASON_PLANT_FLOWER_DELIVER_ITEM = 1113;
ACTION_REASON_PLANT_FLOWER_GIVE_FLOWER = 1114;
ACTION_REASON_PLANT_FLOWER_RECV_FLOWER = 1115;
ACTION_REASON_ROGUE_CHALLENGE_SETTLE = 1116;
ACTION_REASON_ROGUE_TAKE_FIRST_PASS_REWARD = 1117;
ACTION_REASON_ROGUE_UPGRADE_SHIKIGAMI = 1118;
ACTION_REASON_ROGUE_REFRESH_CARD = 1119;
} }

89
proto/ActivityInfo.proto Normal file → Executable file
View File

@@ -6,42 +6,57 @@ import "ActivityNullDetailInfo.proto";
import "ActivityWatcherInfo.proto"; import "ActivityWatcherInfo.proto";
message ActivityInfo { message ActivityInfo {
uint32 activityId = 1; oneof Detail {
uint32 scheduleId = 2; ActivityNullDetailInfo sam_lamp_info = 11;
uint32 beginTime = 3; ActivityNullDetailInfo crucible_info = 12;
uint32 endTime = 4; ActivityNullDetailInfo salesman_info = 13;
uint32 activityType = 5; ActivityNullDetailInfo trial_avatar_info = 14;
bool isPlayOpenAnim = 6; ActivityNullDetailInfo delivery_info = 16;
bool isFinished = 7; ActivityNullDetailInfo aster_info = 21;
bool isStarting = 8; ActivityNullDetailInfo flight_info = 25;
repeated ActivityWatcherInfo watcherInfoList = 9; ActivityNullDetailInfo dragon_spine_info = 31;
repeated uint32 meetCondList = 10; ActivityNullDetailInfo effigy_info = 32;
repeated uint32 expireCondList = 15; ActivityNullDetailInfo treasure_map_info = 35;
uint32 selectedAvatarRewardId = 17; ActivityNullDetailInfo blessing_info = 41;
map<uint32, uint32> activityCoinMap = 18; ActivityNullDetailInfo sea_lamp_info = 42;
uint32 scoreLimit = 19; ActivityNullDetailInfo expedition_info = 43;
uint32 curScore = 20; ActivityNullDetailInfo arena_challenge_info = 44;
repeated uint32 takenRewardList = 24; ActivityNullDetailInfo fleur_fair_info = 51;
oneof detail { ActivityNullDetailInfo water_spirit_info = 52;
ActivityNullDetailInfo samLampInfo = 11; ActivityNullDetailInfo challneler_slab_info = 61;
ActivityNullDetailInfo crucibleInfo = 12; ActivityNullDetailInfo mist_trial_activity_info = 62;
ActivityNullDetailInfo salesmanInfo = 13; ActivityNullDetailInfo hide_and_seek_info = 63;
ActivityNullDetailInfo trialAvatarInfo = 14; ActivityNullDetailInfo find_hilichurl_info = 64;
ActivityNullDetailInfo deliveryInfo = 16; ActivityNullDetailInfo summer_time_info = 65;
ActivityNullDetailInfo asterInfo = 21; ActivityNullDetailInfo buoyant_combat_info = 66;
ActivityNullDetailInfo flightInfo = 25; ActivityNullDetailInfo echo_shell_info = 67;
ActivityNullDetailInfo dragonSpineInfo = 31; ActivityNullDetailInfo bounce_conjuring_info = 68;
ActivityNullDetailInfo effigyInfo = 32; ActivityNullDetailInfo blitz_rush_info = 69;
ActivityNullDetailInfo treasureMapInfo = 35; ActivityNullDetailInfo chess_info = 70;
ActivityNullDetailInfo blessingInfo = 41; ActivityNullDetailInfo sumo_info = 71;
ActivityNullDetailInfo seaLampInfo = 42; ActivityNullDetailInfo moonfin_trial_info = 72;
ActivityNullDetailInfo expeditionInfo = 43; ActivityNullDetailInfo luna_rite_info = 73;
ActivityNullDetailInfo arenaChallengeInfo = 44; ActivityNullDetailInfo plant_flower_info = 74;
ActivityNullDetailInfo fleurFairInfo = 51; ActivityNullDetailInfo music_game_info = 75;
ActivityNullDetailInfo waterSpiritInfo = 52; ActivityNullDetailInfo roguelike_dungoen_info = 76;
ActivityNullDetailInfo challnelerSlabInfo = 61; ActivityNullDetailInfo dig_info = 77;
ActivityNullDetailInfo mistTrialActivityInfo = 62;
ActivityNullDetailInfo hideAndSeekInfo = 63;
ActivityNullDetailInfo findHilichurlInfo = 64;
} }
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;
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;
} }

0
proto/ActivityNullDetailInfo.proto Normal file → Executable file
View File

9
proto/ActivityWatcherInfo.proto Normal file → Executable file
View File

@@ -2,9 +2,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ActivityWatcherInfo { message ActivityWatcherInfo {
uint32 watcherId = 1; uint32 watcher_id = 1;
uint32 curProgress = 2; uint32 cur_progress = 2;
uint32 totalProgress = 3; uint32 total_progress = 3;
bool isTakenReward = 4; bool is_taken_reward = 4;
} }

View File

@@ -0,0 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AdjustTrackingInfo {
string idfa = 1;
string gps_adid = 2;
string fire_adid = 3;
string adid = 4;
string event_token = 5;
string app_token = 6;
}

5
proto/AiSkillCdInfo.proto Normal file → Executable file
View File

@@ -2,7 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AiSkillCdInfo { message AiSkillCdInfo {
map<uint32, uint32> skillCdMap = 1; map<uint32, uint32> skill_cd_map = 1;
map<uint32, uint32> skillGroupCdMap = 2; map<uint32, uint32> skill_group_cd_map = 2;
} }

6
proto/AiSyncInfo.proto Normal file → Executable file
View File

@@ -2,7 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AiSyncInfo { message AiSyncInfo {
uint32 entityId = 1; uint32 entity_id = 1;
bool hasPathToTarget = 2; bool has_path_to_target = 2;
bool is_self_killing = 3;
} }

3
proto/AiThreatInfo.proto Normal file → Executable file
View File

@@ -2,6 +2,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AiThreatInfo { message AiThreatInfo {
map<uint32, uint32> aiThreatMap = 1; map<uint32, uint32> ai_threat_map = 1;
} }

11
proto/AnimatorParameterValueInfo.proto Normal file → Executable file
View File

@@ -2,9 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AnimatorParameterValueInfo { message AnimatorParameterValueInfo {
uint32 paraType = 1; oneof ParaVal {
int32 intVal = 2; int32 int_val = 2;
float floatVal = 3; float float_val = 3;
bool boolVal = 4; bool bool_val = 4;
}
uint32 para_type = 1;
} }

4
proto/AnimatorParameterValueInfoPair.proto Normal file → Executable file
View File

@@ -5,6 +5,6 @@ option java_package = "emu.grasscutter.net.proto";
import "AnimatorParameterValueInfo.proto"; import "AnimatorParameterValueInfo.proto";
message AnimatorParameterValueInfoPair { message AnimatorParameterValueInfoPair {
int32 name = 1; int32 name_id = 1;
AnimatorParameterValueInfo animatorPara = 2; AnimatorParameterValueInfo animator_para = 2;
} }

12
proto/AskAddFriendNotify.proto Normal file → Executable file
View File

@@ -5,6 +5,14 @@ option java_package = "emu.grasscutter.net.proto";
import "FriendBrief.proto"; import "FriendBrief.proto";
message AskAddFriendNotify { message AskAddFriendNotify {
uint32 targetUid = 1; enum CmdId {
FriendBrief targetFriendBrief = 2; option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 4006;
}
uint32 target_uid = 1;
FriendBrief target_friend_brief = 2;
} }

12
proto/AskAddFriendReq.proto Normal file → Executable file
View File

@@ -2,6 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AskAddFriendReq { message AskAddFriendReq {
uint32 targetUid = 1; enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 4100;
}
uint32 target_uid = 1;
} }

12
proto/AskAddFriendRsp.proto Normal file → Executable file
View File

@@ -2,8 +2,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AskAddFriendRsp { message AskAddFriendRsp {
enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 4001;
}
int32 retcode = 1; int32 retcode = 1;
uint32 targetUid = 2; uint32 target_uid = 2;
uint32 param = 3; uint32 param = 3;
} }

13
proto/AttackHitEffectResult.proto Normal file → Executable file
View File

@@ -2,11 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AttackHitEffectResult { message AttackHitEffectResult {
uint32 hitEffLevel = 1; uint32 hit_eff_level = 1;
float retreatStrength = 2; float retreat_strength = 2;
float airStrength = 3; float air_strength = 3;
float hitHaltTime = 4; float hit_halt_time = 4;
float hitHaltTimeScale = 5; float hit_halt_time_scale = 5;
uint32 originalHitEffLevel = 6; uint32 original_hit_eff_level = 6;
} }

58
proto/AttackResult.proto Normal file → Executable file
View File

@@ -3,38 +3,38 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AbilityIdentifier.proto"; import "AbilityIdentifier.proto";
import "AttackHitEffectResult.proto";
import "HitCollision.proto"; import "HitCollision.proto";
import "Vector.proto"; import "Vector.proto";
import "AttackHitEffectResult.proto";
message AttackResult { message AttackResult {
uint32 attackerId = 1; uint32 attacker_id = 1;
uint32 defenseId = 2; uint32 defense_id = 2;
string animEventId = 3; string anim_event_id = 3;
AbilityIdentifier abilityIdentifier = 4; AbilityIdentifier ability_identifier = 4;
float damage = 6; float damage = 6;
bool isCrit = 7; bool is_crit = 7;
HitCollision hitCollision = 8; HitCollision hit_collision = 8;
uint32 hitPosType = 9; uint32 hit_pos_type = 9;
uint32 endureBreak = 10; uint32 endure_break = 10;
Vector resolvedDir = 11; Vector resolved_dir = 11;
int32 hitRetreatAngleCompat = 12; int32 hit_retreat_angle_compat = 12;
AttackHitEffectResult hitEffResult = 13; AttackHitEffectResult hit_eff_result = 13;
uint32 elementType = 14; uint32 element_type = 14;
bool useGadgetDamageAction = 19; bool use_gadget_damage_action = 19;
uint32 gadgetDamageActionIdx = 20; uint32 gadget_damage_action_idx = 20;
bool isResistText = 22; bool is_resist_text = 22;
uint32 criticalRand = 23; uint32 critical_rand = 23;
float elementAmplifyRate = 24; float element_amplify_rate = 24;
float damageShield = 26; float damage_shield = 26;
bool muteElementHurt = 27; bool mute_element_hurt = 27;
uint32 amplifyReactionType = 30; uint32 amplify_reaction_type = 30;
uint32 addhurtReactionType = 31; uint32 addhurt_reaction_type = 31;
uint32 bulletFlyTimeMs = 32; uint32 bullet_fly_time_ms = 32;
uint32 attackCount = 33; uint32 attack_count = 33;
uint32 hashedAnimEventId = 34; uint32 hashed_anim_event_id = 34;
uint32 attackTimestampMs = 36; uint32 attack_timestamp_ms = 36;
float endureDelta = 37; float endure_delta = 37;
uint32 targetType = 38; uint32 target_type = 38;
float elementDurabilityAttenuation = 39; float element_durability_attenuation = 39;
} }

10
proto/AvatarAddNotify.proto Normal file → Executable file
View File

@@ -5,6 +5,14 @@ option java_package = "emu.grasscutter.net.proto";
import "AvatarInfo.proto"; import "AvatarInfo.proto";
message AvatarAddNotify { message AvatarAddNotify {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1795;
}
AvatarInfo avatar = 1; AvatarInfo avatar = 1;
bool isInTeam = 2; bool is_in_team = 2;
} }

10
proto/AvatarChangeCostumeNotify.proto Normal file → Executable file
View File

@@ -5,5 +5,13 @@ option java_package = "emu.grasscutter.net.proto";
import "SceneEntityInfo.proto"; import "SceneEntityInfo.proto";
message AvatarChangeCostumeNotify { message AvatarChangeCostumeNotify {
SceneEntityInfo entity = 1; enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1724;
}
SceneEntityInfo entity_info = 1;
} }

14
proto/AvatarChangeCostumeReq.proto Normal file → Executable file
View File

@@ -2,7 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarChangeCostumeReq { message AvatarChangeCostumeReq {
uint64 avatarGuid = 1; enum CmdId {
uint32 costumeId = 2; option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1606;
}
uint64 avatar_guid = 1;
uint32 costume_id = 2;
} }

15
proto/AvatarChangeCostumeRsp.proto Normal file → Executable file
View File

@@ -2,8 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarChangeCostumeRsp { message AvatarChangeCostumeRsp {
uint32 retcode = 1; enum CmdId {
uint64 avatarGuid = 2; option allow_alias = true;
uint32 costumeId = 3; NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1748;
}
int32 retcode = 1;
uint64 avatar_guid = 2;
uint32 costume_id = 3;
} }

22
proto/AvatarDataNotify.proto Normal file → Executable file
View File

@@ -6,11 +6,19 @@ import "AvatarInfo.proto";
import "AvatarTeam.proto"; import "AvatarTeam.proto";
message AvatarDataNotify { message AvatarDataNotify {
repeated AvatarInfo avatarList = 1; enum CmdId {
map<uint32, AvatarTeam> avatarTeamMap = 2; option allow_alias = true;
uint32 curAvatarTeamId = 3; NONE = 0;
fixed64 chooseAvatarGuid = 4; ENET_CHANNEL_ID = 0;
repeated uint64 tempAvatarGuidList = 5; ENET_IS_RELIABLE = 1;
repeated uint32 ownedFlycloakList = 6; CMD_ID = 1694;
repeated uint32 ownedCostumeList = 7; }
repeated AvatarInfo avatar_list = 1;
map<uint32, AvatarTeam> avatar_team_map = 2;
uint32 cur_avatar_team_id = 3;
uint64 choose_avatar_guid = 4;
repeated uint64 temp_avatar_guid_list = 5;
repeated uint32 owned_flycloak_list = 6;
repeated uint32 owned_costume_list = 7;
} }

15
proto/AvatarDieAnimationEndReq.proto Normal file → Executable file
View File

@@ -5,7 +5,16 @@ option java_package = "emu.grasscutter.net.proto";
import "Vector.proto"; import "Vector.proto";
message AvatarDieAnimationEndReq { message AvatarDieAnimationEndReq {
uint64 dieGuid = 1; enum CmdId {
uint32 skillId = 2; option allow_alias = true;
Vector rebornPos = 3; ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1737;
}
uint64 die_guid = 1;
uint32 skill_id = 2;
Vector reborn_pos = 3;
} }

13
proto/AvatarDieAnimationEndRsp.proto Normal file → Executable file
View File

@@ -2,8 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarDieAnimationEndRsp { message AvatarDieAnimationEndRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1697;
}
int32 retcode = 1; int32 retcode = 1;
uint64 dieGuid = 2; uint64 die_guid = 2;
uint32 skillId = 3; uint32 skill_id = 3;
} }

16
proto/AvatarEnterSceneInfo.proto Normal file → Executable file
View File

@@ -6,12 +6,12 @@ import "AbilitySyncStateInfo.proto";
import "ServerBuff.proto"; import "ServerBuff.proto";
message AvatarEnterSceneInfo { message AvatarEnterSceneInfo {
uint64 avatarGuid = 1; uint64 avatar_guid = 1;
uint32 avatarEntityId = 2; uint32 avatar_entity_id = 2;
AbilitySyncStateInfo avatarAbilityInfo = 3; AbilitySyncStateInfo avatar_ability_info = 3;
repeated uint32 buffIdList = 4; repeated uint32 buff_id_list = 4;
uint64 weaponGuid = 5; uint64 weapon_guid = 5;
uint32 weaponEntityId = 6; uint32 weapon_entity_id = 6;
AbilitySyncStateInfo weaponAbilityInfo = 7; AbilitySyncStateInfo weapon_ability_info = 7;
repeated ServerBuff serverBuffList = 8; repeated ServerBuff server_buff_list = 8;
} }

5
proto/AvatarEquipAffixInfo.proto Normal file → Executable file
View File

@@ -2,7 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarEquipAffixInfo { message AvatarEquipAffixInfo {
uint32 equipAffixId = 1; uint32 equip_affix_id = 1;
uint32 leftCdTime = 2; uint32 left_cd_time = 2;
} }

19
proto/AvatarEquipChangeNotify.proto Normal file → Executable file
View File

@@ -2,14 +2,23 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "SceneReliquaryInfo.proto";
import "SceneWeaponInfo.proto"; import "SceneWeaponInfo.proto";
import "SceneReliquaryInfo.proto";
message AvatarEquipChangeNotify { message AvatarEquipChangeNotify {
uint64 avatarGuid = 1; enum CmdId {
uint32 equipType = 2; option allow_alias = true;
uint32 itemId = 3; ENET_CHANNEL_ID = 0;
uint64 equipGuid = 4; NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 615;
}
uint64 avatar_guid = 1;
uint32 equip_type = 2;
uint32 item_id = 3;
uint64 equip_guid = 4;
SceneWeaponInfo weapon = 5; SceneWeaponInfo weapon = 5;
SceneReliquaryInfo reliquary = 6; SceneReliquaryInfo reliquary = 6;
} }

View File

@@ -0,0 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AvatarExcelInfo {
uint64 prefab_path_hash = 1;
uint64 prefab_path_remote_hash = 2;
uint64 controller_path_hash = 3;
uint64 controller_path_remote_hash = 4;
uint64 combat_config_hash = 5;
}

9
proto/AvatarExpeditionState.proto Normal file → Executable file
View File

@@ -3,8 +3,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
enum AvatarExpeditionState { enum AvatarExpeditionState {
AvatarExpeditionNone = 0; AVATAR_EXPEDITION_NONE = 0;
AvatarExpeditionDoing = 1; AVATAR_EXPEDITION_DOING = 1;
AvatarExpeditionFinishWaitReward = 2; AVATAR_EXPEDITION_FINISH_WAIT_REWARD = 2;
AvatarExpeditionCallbackWaitReward = 3; AVATAR_EXPEDITION_CALLBACK_WAIT_REWARD = 3;
AVATAR_EXPEDITION_LOCKED = 4;
} }

View File

@@ -1,9 +1,17 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AvatarFetterInfo.proto"; import "AvatarFetterInfo.proto";
message AvatarFetterDataNotify { message AvatarFetterDataNotify {
map<uint64, AvatarFetterInfo> fetterInfoMap = 1; enum CmdId {
} option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1685;
}
map<uint64, AvatarFetterInfo> fetter_info_map = 1;
}

12
proto/AvatarFetterInfo.proto Normal file → Executable file
View File

@@ -5,10 +5,10 @@ option java_package = "emu.grasscutter.net.proto";
import "FetterData.proto"; import "FetterData.proto";
message AvatarFetterInfo { message AvatarFetterInfo {
uint32 expNumber = 1; uint32 exp_number = 1;
uint32 expLevel = 2; uint32 exp_level = 2;
repeated uint32 openIdList = 3; repeated uint32 open_id_list = 3;
repeated uint32 finishIdList = 4; repeated uint32 finish_id_list = 4;
repeated uint32 rewardedFetterLevelList = 5; repeated uint32 rewarded_fetter_level_list = 5;
repeated FetterData fetterList = 6; repeated FetterData fetter_list = 6;
} }

View File

@@ -1,8 +1,17 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarFetterLevelRewardReq { message AvatarFetterLevelRewardReq {
uint64 avatarGuid = 1; enum CmdId {
uint32 fetterLevel = 2; option allow_alias = true;
} ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1624;
}
uint64 avatar_guid = 1;
uint32 fetter_level = 2;
}

View File

@@ -1,10 +1,18 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarFetterLevelRewardRsp { message AvatarFetterLevelRewardRsp {
int32 retcode = 1; enum CmdId {
uint64 avatarGuid = 2; option allow_alias = true;
uint32 fetterLevel = 3; NONE = 0;
uint32 rewardId = 4; ENET_CHANNEL_ID = 0;
} ENET_IS_RELIABLE = 1;
CMD_ID = 1704;
}
int32 retcode = 1;
uint64 avatar_guid = 2;
uint32 fetter_level = 3;
uint32 reward_id = 4;
}

13
proto/AvatarFightPropNotify.proto Normal file → Executable file
View File

@@ -2,7 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarFightPropNotify { message AvatarFightPropNotify {
uint64 avatarGuid = 1; enum CmdId {
map<uint32, float> fightPropMap = 2; option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1300;
}
uint64 avatar_guid = 1;
map<uint32, float> fight_prop_map = 2;
} }

13
proto/AvatarFightPropUpdateNotify.proto Normal file → Executable file
View File

@@ -2,7 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarFightPropUpdateNotify { message AvatarFightPropUpdateNotify {
uint64 avatarGuid = 1; enum CmdId {
map<uint32, float> fightPropMap = 2; option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1201;
}
uint64 avatar_guid = 1;
map<uint32, float> fight_prop_map = 2;
} }

13
proto/AvatarFlycloakChangeNotify.proto Normal file → Executable file
View File

@@ -2,7 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarFlycloakChangeNotify { message AvatarFlycloakChangeNotify {
uint64 avatarGuid = 1; enum CmdId {
uint32 flycloakId = 2; option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1759;
}
uint64 avatar_guid = 1;
uint32 flycloak_id = 2;
} }

11
proto/AvatarGainCostumeNotify.proto Normal file → Executable file
View File

@@ -2,6 +2,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarGainCostumeNotify { message AvatarGainCostumeNotify {
uint32 costumeId = 1; enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1734;
}
uint32 costume_id = 1;
} }

11
proto/AvatarGainFlycloakNotify.proto Normal file → Executable file
View File

@@ -2,6 +2,15 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarGainFlycloakNotify { message AvatarGainFlycloakNotify {
uint32 flycloakId = 1; enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1604;
}
uint32 flycloak_id = 1;
} }

59
proto/AvatarInfo.proto Normal file → Executable file
View File

@@ -2,36 +2,39 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "AvatarEquipAffixInfo.proto";
import "AvatarExpeditionState.proto";
import "AvatarFetterInfo.proto";
import "AvatarSkillInfo.proto";
import "PropValue.proto";
import "TrialAvatarInfo.proto"; import "TrialAvatarInfo.proto";
import "AvatarFetterInfo.proto";
import "AvatarExpeditionState.proto";
import "AvatarExcelInfo.proto";
import "PropValue.proto";
import "AvatarSkillInfo.proto";
import "AvatarEquipAffixInfo.proto";
message AvatarInfo { message AvatarInfo {
uint32 avatarId = 1; uint32 avatar_id = 1;
uint64 guid = 2; uint64 guid = 2;
map<uint32, PropValue> propMap = 3; map<uint32, PropValue> prop_map = 3;
uint32 lifeState = 4; uint32 life_state = 4;
repeated uint64 equipGuidList = 5; repeated uint64 equip_guid_list = 5;
repeated uint32 talentIdList = 6; repeated uint32 talent_id_list = 6;
map<uint32, float> fightPropMap = 7; map<uint32, float> fight_prop_map = 7;
TrialAvatarInfo trialAvatarInfoField = 9; TrialAvatarInfo trial_avatar_info = 9;
map<uint32, AvatarSkillInfo> skillMap = 10; map<uint32, AvatarSkillInfo> skill_map = 10;
uint32 skillDepotId = 11; uint32 skill_depot_id = 11;
AvatarFetterInfo fetterInfo = 12; AvatarFetterInfo fetter_info = 12;
uint32 coreProudSkillLevel = 13; uint32 core_proud_skill_level = 13;
repeated uint32 inherentProudSkillList = 14; repeated uint32 inherent_proud_skill_list = 14;
map<uint32, uint32> skillLevelMap = 15; map<uint32, uint32> skill_level_map = 15;
AvatarExpeditionState expeditionState = 16; AvatarExpeditionState expedition_state = 16;
map<uint32, uint32> proudSkillExtraLevel = 17; map<uint32, uint32> proud_skill_extra_level_map = 17;
bool isFocusFieldNumber = 18; bool is_focus = 18;
uint32 avatarType = 19; uint32 avatar_type = 19;
repeated uint32 teamResonanceList = 20; repeated uint32 team_resonance_list = 20;
uint32 wearingFlycloakId = 21; uint32 wearing_flycloak_id = 21;
repeated AvatarEquipAffixInfo equipAffixList = 22; repeated AvatarEquipAffixInfo equip_affix_list = 22;
uint32 bornTime = 23; uint32 born_time = 23;
repeated uint32 pendingPromoteRewardListFieldNumber = 24; repeated uint32 pending_promote_reward_list = 24;
uint32 costumeId = 25; uint32 costume_id = 25;
AvatarExcelInfo excel_info = 26;
uint32 anim_hash = 27;
} }

22
proto/AvatarLifeStateChangeNotify.proto Normal file → Executable file
View File

@@ -3,12 +3,22 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "PlayerDieType.proto"; import "PlayerDieType.proto";
import "ServerBuff.proto";
message AvatarLifeStateChangeNotify { message AvatarLifeStateChangeNotify {
uint64 avatarGuid = 1; enum CmdId {
uint32 lifeState = 2; option allow_alias = true;
uint32 sourceEntityId = 3; NONE = 0;
string attackTag = 4; ENET_CHANNEL_ID = 0;
PlayerDieType dieType = 5; ENET_IS_RELIABLE = 1;
uint32 moveReliableSeq = 6; CMD_ID = 1242;
}
uint64 avatar_guid = 1;
uint32 life_state = 2;
uint32 source_entity_id = 3;
string attack_tag = 4;
PlayerDieType die_type = 5;
uint32 move_reliable_seq = 6;
repeated ServerBuff server_buff_list = 7;
} }

25
proto/AvatarPromoteGetRewardReq.proto Normal file → Executable file
View File

@@ -1,8 +1,17 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarPromoteGetRewardReq { message AvatarPromoteGetRewardReq {
uint64 avatarGuid = 1; enum CmdId {
uint32 promoteLevel = 2; option allow_alias = true;
} ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1701;
}
uint64 avatar_guid = 1;
uint32 promote_level = 2;
}

29
proto/AvatarPromoteGetRewardRsp.proto Normal file → Executable file
View File

@@ -1,10 +1,19 @@
syntax = "proto3"; syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarPromoteGetRewardRsp {
int32 retcode = 1; message AvatarPromoteGetRewardRsp {
uint64 avatarGuid = 2; enum CmdId {
uint32 promoteLevel = 3; option allow_alias = true;
uint32 rewardId = 4; NONE = 0;
} ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1764;
}
int32 retcode = 1;
uint64 avatar_guid = 2;
uint32 promote_level = 3;
uint32 reward_id = 4;
}

10
proto/AvatarPromoteReq.proto Normal file → Executable file
View File

@@ -2,6 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarPromoteReq { message AvatarPromoteReq {
enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1692;
}
uint64 guid = 1; uint64 guid = 1;
} }

9
proto/AvatarPromoteRsp.proto Normal file → Executable file
View File

@@ -2,7 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarPromoteRsp { message AvatarPromoteRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1728;
}
int32 retcode = 1; int32 retcode = 1;
uint64 guid = 2; uint64 guid = 2;
} }

13
proto/AvatarPropNotify.proto Normal file → Executable file
View File

@@ -2,7 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarPropNotify { message AvatarPropNotify {
uint64 avatarGuid = 1; enum CmdId {
map<uint32, int64> propMap = 2; option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1212;
}
uint64 avatar_guid = 1;
map<uint32, int64> prop_map = 2;
} }

21
proto/AvatarSkillChangeNotify.proto Normal file → Executable file
View File

@@ -2,11 +2,20 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarSkillChangeNotify { message AvatarSkillChangeNotify {
uint64 avatarGuid = 1; enum CmdId {
uint32 entityId = 2; option allow_alias = true;
uint32 skillDepotId = 3; NONE = 0;
uint32 avatarSkillId = 4; ENET_CHANNEL_ID = 0;
uint32 oldLevel = 5; ENET_IS_RELIABLE = 1;
uint32 curLevel = 6; CMD_ID = 1091;
}
uint64 avatar_guid = 1;
uint32 entity_id = 2;
uint32 skill_depot_id = 3;
uint32 avatar_skill_id = 4;
uint32 old_level = 5;
uint32 cur_level = 6;
} }

7
proto/AvatarSkillInfo.proto Normal file → Executable file
View File

@@ -2,8 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarSkillInfo { message AvatarSkillInfo {
uint32 passCdTime = 1; uint32 pass_cd_time = 1;
repeated uint32 fullCdTimeList = 2; repeated uint32 full_cd_time_list = 2;
uint32 maxChargeCount = 3; uint32 max_charge_count = 3;
} }

16
proto/AvatarSkillUpgradeReq.proto Normal file → Executable file
View File

@@ -2,8 +2,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarSkillUpgradeReq { message AvatarSkillUpgradeReq {
uint64 avatarGuid = 1; enum CmdId {
uint32 avatarSkillId = 2; option allow_alias = true;
uint32 oldLevel = 3; ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1026;
}
uint64 avatar_guid = 1;
uint32 avatar_skill_id = 2;
uint32 old_level = 3;
} }

17
proto/AvatarSkillUpgradeRsp.proto Normal file → Executable file
View File

@@ -2,10 +2,19 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarSkillUpgradeRsp { message AvatarSkillUpgradeRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1024;
}
int32 retcode = 1; int32 retcode = 1;
uint64 avatarGuid = 2; uint64 avatar_guid = 2;
uint32 avatarSkillId = 3; uint32 avatar_skill_id = 3;
uint32 oldLevel = 4; uint32 old_level = 4;
uint32 curLevel = 5; uint32 cur_level = 5;
} }

5
proto/AvatarTeam.proto Normal file → Executable file
View File

@@ -2,7 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarTeam { message AvatarTeam {
repeated uint64 avatarGuidList = 1; repeated uint64 avatar_guid_list = 1;
string teamName = 2; string team_name = 2;
} }

9
proto/AvatarTeamResonanceInfo.proto Normal file → Executable file
View File

@@ -2,9 +2,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarTeamResonanceInfo { message AvatarTeamResonanceInfo {
uint32 entityId = 1; uint32 entity_id = 1;
uint64 avatarGuid = 2; uint64 avatar_guid = 2;
repeated uint32 addTeamResonanceIdList = 3; repeated uint32 add_team_resonance_id_list = 3;
repeated uint32 delTeamResonanceIdList = 4; repeated uint32 del_team_resonance_id_list = 4;
} }

12
proto/AvatarTeamUpdateNotify.proto Normal file → Executable file
View File

@@ -5,6 +5,14 @@ option java_package = "emu.grasscutter.net.proto";
import "AvatarTeam.proto"; import "AvatarTeam.proto";
message AvatarTeamUpdateNotify { message AvatarTeamUpdateNotify {
map<uint32, AvatarTeam> avatarTeamMap = 1; enum CmdId {
repeated uint64 tempAvatarGuidList = 2; option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1642;
}
map<uint32, AvatarTeam> avatar_team_map = 1;
repeated uint64 temp_avatar_guid_list = 2;
} }

17
proto/AvatarUnlockTalentNotify.proto Normal file → Executable file
View File

@@ -2,9 +2,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarUnlockTalentNotify { message AvatarUnlockTalentNotify {
uint64 avatarGuid = 1; enum CmdId {
uint32 entityId = 2; option allow_alias = true;
uint32 talentId = 3; NONE = 0;
uint32 skillDepotId = 4; ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1089;
}
uint64 avatar_guid = 1;
uint32 entity_id = 2;
uint32 talent_id = 3;
uint32 skill_depot_id = 4;
} }

14
proto/AvatarUpgradeReq.proto Normal file → Executable file
View File

@@ -2,8 +2,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarUpgradeReq { message AvatarUpgradeReq {
uint32 itemId = 1; enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1691;
}
uint32 item_id = 1;
uint32 count = 2; uint32 count = 2;
uint64 avatarGuid = 3; uint64 avatar_guid = 3;
} }

19
proto/AvatarUpgradeRsp.proto Normal file → Executable file
View File

@@ -2,11 +2,20 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarUpgradeRsp { message AvatarUpgradeRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1720;
}
int32 retcode = 1; int32 retcode = 1;
uint64 avatarGuid = 2; uint64 avatar_guid = 2;
uint32 oldLevel = 3; uint32 old_level = 3;
uint32 curLevel = 4; uint32 cur_level = 4;
map<uint32, float> oldFightPropMap = 5; map<uint32, float> old_fight_prop_map = 5;
map<uint32, float> curFightPropMap = 6; map<uint32, float> cur_fight_prop_map = 6;
} }

14
proto/AvatarWearFlycloakReq.proto Normal file → Executable file
View File

@@ -2,7 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarWearFlycloakReq { message AvatarWearFlycloakReq {
uint64 avatarGuid = 1; enum CmdId {
uint32 flycloakId = 2; option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1635;
}
uint64 avatar_guid = 1;
uint32 flycloak_id = 2;
} }

13
proto/AvatarWearFlycloakRsp.proto Normal file → Executable file
View File

@@ -2,8 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message AvatarWearFlycloakRsp { message AvatarWearFlycloakRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1709;
}
int32 retcode = 1; int32 retcode = 1;
uint64 avatarGuid = 2; uint64 avatar_guid = 2;
uint32 flycloakId = 3; uint32 flycloak_id = 3;
} }

1
proto/Birthday.proto Normal file → Executable file
View File

@@ -2,6 +2,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message Birthday { message Birthday {
uint32 month = 1; uint32 month = 1;
uint32 day = 2; uint32 day = 2;

9
proto/BlockInfo.proto Normal file → Executable file
View File

@@ -2,9 +2,10 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message BlockInfo { message BlockInfo {
uint32 blockId = 1; uint32 block_id = 1;
uint32 dataVersion = 2; uint32 data_version = 2;
bytes binData = 3; bytes bin_data = 3;
bool isDirty = 4; bool is_dirty = 4;
} }

View File

@@ -0,0 +1,18 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
message BlossomBriefInfo {
uint32 refresh_id = 1;
uint32 circle_camp_id = 2;
uint32 city_id = 3;
uint32 resin = 4;
Vector pos = 5;
uint32 reward_id = 6;
uint32 monster_level = 7;
bool is_guide_opened = 8;
uint32 state = 9;
uint32 scene_id = 10;
}

View File

@@ -0,0 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BlossomChestInfo {
uint32 resin = 1;
repeated uint32 qualify_uid_list = 2;
repeated uint32 remain_uid_list = 3;
uint32 dead_time = 4;
uint32 blossom_refresh_type = 5;
uint32 refresh_id = 6;
}

13
proto/BossChestInfo.proto Normal file
View File

@@ -0,0 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "WeeklyBossResinDiscountInfo.proto";
message BossChestInfo {
uint32 monster_config_id = 1;
uint32 resin = 2;
repeated uint32 remain_uid_list = 3;
repeated uint32 qualify_uid_list = 4;
map<uint32, WeeklyBossResinDiscountInfo> uid_discount_map = 5;
}

13
proto/BuildingInfo.proto Normal file
View File

@@ -0,0 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message BuildingInfo {
uint32 building_id = 1;
uint32 point_config_id = 2;
uint32 cost = 3;
uint32 level = 4;
uint32 refund = 5;
uint32 owner_uid = 6;
}

15
proto/CalcWeaponUpgradeReturnItemsReq.proto Normal file → Executable file
View File

@@ -5,7 +5,16 @@ option java_package = "emu.grasscutter.net.proto";
import "ItemParam.proto"; import "ItemParam.proto";
message CalcWeaponUpgradeReturnItemsReq { message CalcWeaponUpgradeReturnItemsReq {
uint64 targetWeaponGuid = 1; enum CmdId {
repeated uint64 foodWeaponGuidList = 2; option allow_alias = true;
repeated ItemParam itemParamList = 3; ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 669;
}
uint64 target_weapon_guid = 1;
repeated uint64 food_weapon_guid_list = 2;
repeated ItemParam item_param_list = 3;
} }

12
proto/CalcWeaponUpgradeReturnItemsRsp.proto Normal file → Executable file
View File

@@ -5,7 +5,15 @@ option java_package = "emu.grasscutter.net.proto";
import "ItemParam.proto"; import "ItemParam.proto";
message CalcWeaponUpgradeReturnItemsRsp { message CalcWeaponUpgradeReturnItemsRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 660;
}
int32 retcode = 1; int32 retcode = 1;
uint64 targetWeaponGuid = 2; uint64 target_weapon_guid = 2;
repeated ItemParam itemParamList = 3; repeated ItemParam item_param_list = 3;
} }

15
proto/ChangeAvatarReq.proto Normal file → Executable file
View File

@@ -5,8 +5,17 @@ option java_package = "emu.grasscutter.net.proto";
import "Vector.proto"; import "Vector.proto";
message ChangeAvatarReq { message ChangeAvatarReq {
enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1669;
}
uint64 guid = 1; uint64 guid = 1;
uint32 skillId = 2; uint32 skill_id = 2;
bool isMove = 3; bool is_move = 3;
Vector movePos = 4; Vector move_pos = 4;
} }

15
proto/ChangeAvatarRsp.proto Normal file → Executable file
View File

@@ -2,8 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ChangeAvatarRsp { message ChangeAvatarRsp {
uint32 retcode = 1; enum CmdId {
uint64 currGuid = 2; option allow_alias = true;
uint32 skillId = 3; NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1634;
}
int32 retcode = 1;
uint64 cur_guid = 2;
uint32 skill_id = 3;
} }

View File

@@ -0,0 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
enum ChangeEnergyReason {
CHANGE_ENERGY_NONE = 0;
CHANGE_ENERGY_SKILL_START = 1;
}

15
proto/ChangeGameTimeReq.proto Normal file → Executable file
View File

@@ -2,7 +2,18 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ChangeGameTimeReq { message ChangeGameTimeReq {
uint32 gameTime = 1; enum CmdId {
bool isForceSet = 2; option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 161;
}
uint32 game_time = 1;
bool is_force_set = 2;
uint32 extra_days = 3;
} }

12
proto/ChangeGameTimeRsp.proto Normal file → Executable file
View File

@@ -2,7 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ChangeGameTimeRsp { message ChangeGameTimeRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 179;
}
int32 retcode = 1; int32 retcode = 1;
uint32 curGameTime = 2; uint32 cur_game_time = 2;
uint32 extra_days = 3;
} }

0
proto/ChangeHpReason.proto Normal file → Executable file
View File

View File

@@ -1,8 +0,0 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ChangeMailStarNotify {
repeated uint32 mailIdList = 1;
bool isStar = 2;
}

14
proto/ChangeMpTeamAvatarReq.proto Normal file → Executable file
View File

@@ -2,7 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ChangeMpTeamAvatarReq { message ChangeMpTeamAvatarReq {
repeated uint64 avatarGuidList = 1; enum CmdId {
uint64 curAvatarGuid = 2; option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1731;
}
repeated uint64 avatar_guid_list = 1;
uint64 cur_avatar_guid = 2;
} }

13
proto/ChangeMpTeamAvatarRsp.proto Normal file → Executable file
View File

@@ -2,8 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ChangeMpTeamAvatarRsp { message ChangeMpTeamAvatarRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1640;
}
int32 retcode = 1; int32 retcode = 1;
repeated uint64 avatarGuidList = 2; repeated uint64 avatar_guid_list = 2;
uint64 curAvatarGuid = 3; uint64 cur_avatar_guid = 3;
} }

14
proto/ChangeTeamNameReq.proto Normal file → Executable file
View File

@@ -2,7 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ChangeTeamNameReq { message ChangeTeamNameReq {
int32 teamId = 1; enum CmdId {
string teamName = 2; option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1693;
}
int32 team_id = 1;
string team_name = 2;
} }

13
proto/ChangeTeamNameRsp.proto Normal file → Executable file
View File

@@ -2,8 +2,17 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ChangeTeamNameRsp { message ChangeTeamNameRsp {
int32 teamId = 1; enum CmdId {
string teamName = 2; option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1788;
}
int32 team_id = 1;
string team_name = 2;
int32 retcode = 3; int32 retcode = 3;
} }

25
proto/ChatInfo.proto Normal file → Executable file
View File

@@ -2,17 +2,26 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
import "SystemHint.proto";
message ChatInfo { message ChatInfo {
enum SystemHintType {
CHAT_NONE = 0;
CHAT_ENTER_WORLD = 1;
CHAT_LEAVE_WORLD = 2;
}
message SystemHint {
uint32 type = 1;
}
oneof Content {
string text = 100;
uint32 icon = 101;
SystemHint system_hint = 102;
}
uint32 time = 1; uint32 time = 1;
uint32 uid = 2; uint32 uid = 2;
uint32 sequence = 3; uint32 sequence = 3;
uint32 toUid = 4; uint32 to_uid = 4;
bool isRead = 5; bool is_read = 5;
oneof content {
string text = 100;
uint32 icon = 101;
SystemHint systemHint = 102;
}
} }

12
proto/ChooseCurAvatarTeamReq.proto Normal file → Executable file
View File

@@ -2,6 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ChooseCurAvatarTeamReq { message ChooseCurAvatarTeamReq {
uint32 teamId = 1; enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1663;
}
uint32 team_id = 1;
} }

11
proto/ChooseCurAvatarTeamRsp.proto Normal file → Executable file
View File

@@ -2,7 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ChooseCurAvatarTeamRsp { message ChooseCurAvatarTeamRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1798;
}
int32 retcode = 1; int32 retcode = 1;
uint32 curTeamId = 2; uint32 cur_team_id = 2;
} }

5
proto/CityInfo.proto Normal file → Executable file
View File

@@ -2,8 +2,9 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message CityInfo { message CityInfo {
uint32 cityId = 1; uint32 city_id = 1;
uint32 level = 2; uint32 level = 2;
uint32 crystalNum = 3; uint32 crystal_num = 3;
} }

11
proto/ClientAbilityChangeNotify.proto Normal file → Executable file
View File

@@ -5,6 +5,15 @@ option java_package = "emu.grasscutter.net.proto";
import "AbilityInvokeEntry.proto"; import "AbilityInvokeEntry.proto";
message ClientAbilityChangeNotify { message ClientAbilityChangeNotify {
uint32 entityId = 1; enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1126;
}
uint32 entity_id = 1;
repeated AbilityInvokeEntry invokes = 2; repeated AbilityInvokeEntry invokes = 2;
} }

12
proto/ClientAbilityInitBeginNotify.proto Normal file → Executable file
View File

@@ -2,6 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto"; option java_package = "emu.grasscutter.net.proto";
message ClientAbilityInitBeginNotify { message ClientAbilityInitBeginNotify {
uint32 entityId = 1; enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1189;
}
uint32 entity_id = 1;
} }

11
proto/ClientAbilityInitFinishNotify.proto Normal file → Executable file
View File

@@ -5,6 +5,15 @@ option java_package = "emu.grasscutter.net.proto";
import "AbilityInvokeEntry.proto"; import "AbilityInvokeEntry.proto";
message ClientAbilityInitFinishNotify { message ClientAbilityInitFinishNotify {
uint32 entityId = 1; enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
NONE = 0;
ENET_IS_RELIABLE = 1;
IS_ALLOW_CLIENT = 1;
CMD_ID = 1184;
}
uint32 entity_id = 1;
repeated AbilityInvokeEntry invokes = 2; repeated AbilityInvokeEntry invokes = 2;
} }

View File

@@ -0,0 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message ClientGadgetInfo {
uint32 camp_id = 1;
uint32 camp_type = 2;
uint64 guid = 3;
uint32 owner_entity_id = 4;
uint32 target_entity_id = 5;
bool async_load = 6;
}

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