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";
import "AbilityScalarValueEntry.proto";
import "AbilityString.proto";
import "AbilityScalarValueEntry.proto";
message AbilityAppliedAbility {
AbilityString abilityName = 1;
AbilityString abilityOverride = 2;
repeated AbilityScalarValueEntry overrideMap = 3;
uint32 instancedAbilityId = 4;
AbilityString ability_name = 1;
AbilityString ability_override = 2;
repeated AbilityScalarValueEntry override_map = 3;
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";
import "AbilityAttachedModifier.proto";
import "AbilityString.proto";
import "AbilityAttachedModifier.proto";
import "ModifierDurability.proto";
message AbilityAppliedModifier {
int32 modifierLocalId = 1;
uint32 parentAbilityEntityId = 2;
AbilityString parentAbilityName = 3;
AbilityString parentAbilityOverride = 4;
uint32 instancedAbilityId = 5;
uint32 instancedModifierId = 6;
float existDuration = 7;
AbilityAttachedModifier attachedInstancedModifier = 8;
uint32 applyEntityId = 9;
bool isAttachedParentAbility = 10;
ModifierDurability modifierDurability = 11;
uint32 sbuffUid = 12;
bool isServerbuffModifier = 13;
int32 modifier_local_id = 1;
uint32 parent_ability_entity_id = 2;
AbilityString parent_ability_name = 3;
AbilityString parent_ability_override = 4;
uint32 instanced_ability_id = 5;
uint32 instanced_modifier_id = 6;
float exist_duration = 7;
AbilityAttachedModifier attached_instanced_modifier = 8;
uint32 apply_entity_id = 9;
bool is_attached_parent_ability = 10;
ModifierDurability modifier_durability = 11;
uint32 sbuff_uid = 12;
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";
message AbilityAttachedModifier {
bool isInvalid = 1;
uint32 ownerEntityId = 2;
uint32 instancedModifierId = 3;
bool isServerbuffModifier = 4;
int32 attachNameHash = 5;
bool is_invalid = 1;
uint32 owner_entity_id = 2;
uint32 instanced_modifier_id = 3;
bool is_serverbuff_modifier = 4;
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";
message AbilityChangeNotify {
uint32 entityId = 1;
AbilityControlBlock abilityControlBlock = 2;
enum CmdId {
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";
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";
message AbilityEmbryo {
uint32 abilityId = 1;
fixed32 abilityNameHash = 2;
fixed32 abilityOverrideNameHash = 3;
uint32 ability_id = 1;
fixed32 ability_name_hash = 2;
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";
message AbilityIdentifier {
uint32 instancedAbilityId = 1;
uint32 abilityCasterId = 2;
int32 localId = 3;
uint32 instancedModifierId = 4;
uint32 modifierOwnerId = 5;
bool isServerbuffModifier = 6;
uint32 instanced_ability_id = 1;
uint32 ability_caster_id = 2;
int32 local_id = 3;
uint32 instanced_modifier_id = 4;
uint32 modifier_owner_id = 5;
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";
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;
}

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

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

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

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

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

@@ -5,12 +5,12 @@ option java_package = "emu.grasscutter.net.proto";
import "MassivePropSyncInfo.proto";
message AbilityMixinRecoverInfo {
oneof source {
uint32 instancedAbilityId = 1;
uint32 instancedModifierId = 2;
oneof Source {
uint32 instanced_ability_id = 1;
uint32 instanced_modifier_id = 2;
}
uint32 localId = 3;
repeated uint32 dataList = 4;
bool isServerbuffModifier = 5;
repeated MassivePropSyncInfo massivePropList = 6;
uint32 local_id = 3;
repeated uint32 data_list = 4;
bool is_serverbuff_modifier = 5;
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";
enum AbilityScalarType {
Unknow = 0;
Float = 1;
Int = 2;
Bool = 3;
Trigger = 4;
String = 5;
Uint = 6;
UNKNOW = 0;
FLOAT = 1;
INT = 2;
BOOL = 3;
TRIGGER = 4;
STRING = 5;
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";
import "AbilityScalarType.proto";
import "AbilityString.proto";
import "AbilityScalarType.proto";
message AbilityScalarValueEntry {
AbilityString key = 1;
AbilityScalarType valueType = 2;
oneof value {
float floatValue = 3;
string stringValue = 4;
int32 intValue = 5;
uint32 uintValue = 6;
oneof Value {
float float_value = 3;
string string_value = 4;
int32 int_value = 5;
uint32 uint_value = 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";
message AbilityString {
oneof type {
oneof Type {
string str = 1;
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";
import "AbilityScalarValueEntry.proto";
import "AbilityAppliedAbility.proto";
import "AbilityAppliedModifier.proto";
import "AbilityMixinRecoverInfo.proto";
import "AbilityScalarValueEntry.proto";
message AbilitySyncStateInfo {
bool isInited = 1;
repeated AbilityScalarValueEntry dynamicValueMap = 2;
repeated AbilityAppliedAbility appliedAbilities = 3;
repeated AbilityAppliedModifier appliedModifiers = 4;
repeated AbilityMixinRecoverInfo mixinRecoverInfos = 5;
bool is_inited = 1;
repeated AbilityScalarValueEntry dynamic_value_map = 2;
repeated AbilityAppliedAbility applied_abilities = 3;
repeated AbilityAppliedModifier applied_modifiers = 4;
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";
enum ActionReasonType {
ActionReasonNone = 0;
ActionReasonQuestItem = 1;
ActionReasonQuestReward = 2;
ActionReasonTrifle = 3;
ActionReasonShop = 4;
ActionReasonPlayerUpgradeReward = 5;
ActionReasonAddAvatar = 6;
ActionReasonGadgetEnvAnimal = 7;
ActionReasonMonsterEnvAnimal = 8;
ActionReasonCompound = 9;
ActionReasonCook = 10;
ActionReasonGather = 11;
ActionReasonMailAttachment = 12;
ActionReasonCityLevelupReturn = 15;
ActionReasonCityLevelupReward = 17;
ActionReasonAreaExploreReward = 18;
ActionReasonUnlockPointReward = 19;
ActionReasonDungeonFirstPass = 20;
ActionReasonDungeonPass = 21;
ActionReasonChangeElemType = 23;
ActionReasonFetterOpen = 25;
ActionReasonDailyTaskScore = 26;
ActionReasonDailyTaskHost = 27;
ActionReasonRandTaskHost = 28;
ActionReasonExpedition = 29;
ActionReasonGacha = 30;
ActionReasonCombine = 31;
ActionReasonRandTaskGuest = 32;
ActionReasonDailyTaskGuest = 33;
ActionReasonForgeOutput = 34;
ActionReasonForgeReturn = 35;
ActionReasonInitAvatar = 36;
ActionReasonMonsterDie = 37;
ActionReasonGm = 38;
ActionReasonOpenChest = 39;
ActionReasonGadgetDie = 40;
ActionReasonMonsterChangeHp = 41;
ActionReasonSubfieldDrop = 42;
ActionReasonPushTipsReward = 43;
ActionReasonActivityMonsterDrop = 44;
ActionReasonActivityGather = 45;
ActionReasonActivitySubfieldDrop = 46;
ActionReasonTowerScheduleReward = 47;
ActionReasonTowerFloorStarReward = 48;
ActionReasonTowerFirstPassReward = 49;
ActionReasonTowerDailyReward = 50;
ActionReasonHitClientTrivialEntity = 51;
ActionReasonOpenWorldBossChest = 52;
ActionReasonMaterialDeleteReturn = 53;
ActionReasonSignInReward = 54;
ActionReasonOpenBlossomChest = 55;
ActionReasonRecharge = 56;
ActionReasonBonusActivityReward = 57;
ActionReasonTowerCommemorativeReward = 58;
ActionReasonTowerSkipFloorReward = 59;
ActionReasonRechargeBonus = 60;
ActionReasonRechargeCard = 61;
ActionReasonRechargeCardDaily = 62;
ActionReasonRechargeCardReplace = 63;
ActionReasonRechargeCardReplaceFree = 64;
ActionReasonRechargePlayReplace = 65;
ActionReasonMpPlayTakeReward = 66;
ActionReasonActivityWatcher = 67;
ActionReasonSalesmanDeliverItem = 68;
ActionReasonSalesmanReward = 69;
ActionReasonRebate = 70;
ActionReasonMcoinExchangeHcoin = 71;
ActionReasonDailyTaskExchangeLegendaryKey = 72;
ActionReasonUnlockPersonLine = 73;
ActionReasonFetterLevelReward = 74;
ActionReasonBuyResin = 75;
ActionReasonRechargePackage = 76;
ActionReasonDeliveryDailyReward = 77;
ActionReasonCityReputationLevel = 78;
ActionReasonCityReputationQuest = 79;
ActionReasonCityReputationRequest = 80;
ActionReasonCityReputationExplore = 81;
ActionReasonOffergingLevel = 82;
ActionReasonRoutineHost = 83;
ActionReasonRoutineGuest = 84;
ActionReasonTreasureMapSpotToken = 89;
ActionReasonTreasureMapBonusLevelReward = 90;
ActionReasonTreasureMapMpReward = 91;
ActionReasonConvert = 92;
ActionReasonOverflowTransform = 93;
ActionReasonActivityAvatarSelectionReward = 96;
ActionReasonActivityWatcherBatch = 97;
ActionReasonHitTreeDrop = 98;
ActionReasonGetHomeLevelupReward = 99;
ActionReasonHomeDefaultFurniture = 100;
ActionReasonActivityCond = 101;
ActionReasonBattlePassNotify = 102;
ActionReasonPlayerUseItem = 1001;
ActionReasonDropItem = 1002;
ActionReasonWeaponUpgrade = 1011;
ActionReasonWeaponPromote = 1012;
ActionReasonWeaponAwaken = 1013;
ActionReasonRelicUpgrade = 1014;
ActionReasonAbility = 1015;
ActionReasonDungeonStatueDrop = 1016;
ActionReasonOfflineMsg = 1017;
ActionReasonAvatarUpgrade = 1018;
ActionReasonAvatarPromote = 1019;
ActionReasonQuestAction = 1021;
ActionReasonCityLevelup = 1022;
ActionReasonUpgradeSkill = 1024;
ActionReasonUnlockTalent = 1025;
ActionReasonUpgradeProudSkill = 1026;
ActionReasonPlayerLevelLimitUp = 1027;
ActionReasonDungeonDaily = 1028;
ActionReasonItemGiving = 1030;
ActionReasonForgeCost = 1031;
ActionReasonInvestigationReward = 1032;
ActionReasonInvestigationTargetReward = 1033;
ActionReasonGadgetInteract = 1034;
ActionReasonSeaLampCiMaterial = 1036;
ActionReasonSeaLampContributionReward = 1037;
ActionReasonSeaLampPhaseReward = 1038;
ActionReasonSeaLampFlyLamp = 1039;
ActionReasonAutoRecover = 1040;
ActionReasonActivityExpireItem = 1041;
ActionReasonSubCoinNegative = 1042;
ActionReasonBargainDeduct = 1043;
ActionReasonBattlePassPaidReward = 1044;
ActionReasonBattlePassLevelReward = 1045;
ActionReasonTrialAvatarActivityFirstPassReward = 1046;
ActionReasonBuyBattlePassLevel = 1047;
ActionReasonGrantBirthdayBenefit = 1048;
ActionReasonAchievementReward = 1049;
ActionReasonAchievementGoalReward = 1050;
ActionReasonFirstShareToSocialNetwork = 1051;
ActionReasonDestroyMaterial = 1052;
ActionReasonCodexLevelupReward = 1053;
ActionReasonHuntingOfferReward = 1054;
ActionReasonUseWidgetAnchorPoint = 1055;
ActionReasonUseWidgetBonfire = 1056;
ActionReasonUngradeWeaponReturnMaterial = 1057;
ActionReasonUseWidgetOneoffGatherPointDetector = 1058;
ActionReasonUseWidgetClientCollector = 1059;
ActionReasonUseWidgetClientDetector = 1060;
ActionReasonTakeGeneralReward = 1061;
ActionReasonAsterTakeSpecialReward = 1062;
ActionReasonRemoveCodexBook = 1063;
ActionReasonOfferingItem = 1064;
ActionReasonUseWidgetGadgetBuilder = 1065;
ActionReasonEffigyFirstPassReward = 1066;
ActionReasonEffigyReward = 1067;
ActionReasonReunionFirstGiftReward = 1068;
ActionReasonReunionSignInReward = 1069;
ActionReasonReunionWatcherReward = 1070;
ActionReasonSalesmanMpReward = 1071;
ActionReasionAvatarPromoteReward = 1072;
ActionReasonBlessingRedeemReward = 1073;
ActionMiracleRingReward = 1074;
ActionReasonExpeditionReward = 1075;
ActionReasonTreasureMapRemoveDetector = 1076;
ActionReasonMechanicusDungeonTicket = 1077;
ActionReasonMechanicusLevelupGear = 1078;
ActionReasonMechanicusBattleSettle = 1079;
ActionReasonRegionSearchReward = 1080;
ActionReasonUnlockCoopChapter = 1081;
ActionReasonTakeCoopReward = 1082;
ActionReasonFleurFairDungeonReward = 1083;
ActionReasonActivityScore = 1084;
ActionReasonChannellerSlabOneoffDungeonReward = 1085;
ActionReasonFurnitureMakeStart = 1086;
ActionReasonFurnitureMakeTake = 1087;
ActionReasonFurnitureMakeCancel = 1088;
ActionReasonFurnitureMakeFastFinish = 1089;
ActionReasonChannellerSlabLoopDungeonFirstPassReward = 1090;
ActionReasonChannellerSlabLoopDungeonScoreReward = 1091;
ActionReasonHomeLimitedShopBuy = 1092;
ActionReasonHomeCoinCollect = 1093;
ACTION_REASON_NONE = 0;
ACTION_REASON_QUEST_ITEM = 1;
ACTION_REASON_QUEST_REWARD = 2;
ACTION_REASON_TRIFLE = 3;
ACTION_REASON_SHOP = 4;
ACTION_REASON_PLAYER_UPGRADE_REWARD = 5;
ACTION_REASON_ADD_AVATAR = 6;
ACTION_REASON_GADGET_ENV_ANIMAL = 7;
ACTION_REASON_MONSTER_ENV_ANIMAL = 8;
ACTION_REASON_COMPOUND = 9;
ACTION_REASON_COOK = 10;
ACTION_REASON_GATHER = 11;
ACTION_REASON_MAIL_ATTACHMENT = 12;
ACTION_REASON_CITY_LEVELUP_RETURN = 15;
ACTION_REASON_CITY_LEVELUP_REWARD = 17;
ACTION_REASON_AREA_EXPLORE_REWARD = 18;
ACTION_REASON_UNLOCK_POINT_REWARD = 19;
ACTION_REASON_DUNGEON_FIRST_PASS = 20;
ACTION_REASON_DUNGEON_PASS = 21;
ACTION_REASON_CHANGE_ELEM_TYPE = 23;
ACTION_REASON_FETTER_OPEN = 25;
ACTION_REASON_DAILY_TASK_SCORE = 26;
ACTION_REASON_DAILY_TASK_HOST = 27;
ACTION_REASON_RAND_TASK_HOST = 28;
ACTION_REASON_EXPEDITION = 29;
ACTION_REASON_GACHA = 30;
ACTION_REASON_COMBINE = 31;
ACTION_REASON_RAND_TASK_GUEST = 32;
ACTION_REASON_DAILY_TASK_GUEST = 33;
ACTION_REASON_FORGE_OUTPUT = 34;
ACTION_REASON_FORGE_RETURN = 35;
ACTION_REASON_INIT_AVATAR = 36;
ACTION_REASON_MONSTER_DIE = 37;
ACTION_REASON_GM = 38;
ACTION_REASON_OPEN_CHEST = 39;
ACTION_REASON_GADGET_DIE = 40;
ACTION_REASON_MONSTER_CHANGE_HP = 41;
ACTION_REASON_SUBFIELD_DROP = 42;
ACTION_REASON_PUSH_TIPS_REWARD = 43;
ACTION_REASON_ACTIVITY_MONSTER_DROP = 44;
ACTION_REASON_ACTIVITY_GATHER = 45;
ACTION_REASON_ACTIVITY_SUBFIELD_DROP = 46;
ACTION_REASON_TOWER_SCHEDULE_REWARD = 47;
ACTION_REASON_TOWER_FLOOR_STAR_REWARD = 48;
ACTION_REASON_TOWER_FIRST_PASS_REWARD = 49;
ACTION_REASON_TOWER_DAILY_REWARD = 50;
ACTION_REASON_HIT_CLIENT_TRIVIAL_ENTITY = 51;
ACTION_REASON_OPEN_WORLD_BOSS_CHEST = 52;
ACTION_REASON_MATERIAL_DELETE_RETURN = 53;
ACTION_REASON_SIGN_IN_REWARD = 54;
ACTION_REASON_OPEN_BLOSSOM_CHEST = 55;
ACTION_REASON_RECHARGE = 56;
ACTION_REASON_BONUS_ACTIVITY_REWARD = 57;
ACTION_REASON_TOWER_COMMEMORATIVE_REWARD = 58;
ACTION_REASON_TOWER_SKIP_FLOOR_REWARD = 59;
ACTION_REASON_RECHARGE_BONUS = 60;
ACTION_REASON_RECHARGE_CARD = 61;
ACTION_REASON_RECHARGE_CARD_DAILY = 62;
ACTION_REASON_RECHARGE_CARD_REPLACE = 63;
ACTION_REASON_RECHARGE_CARD_REPLACE_FREE = 64;
ACTION_REASON_RECHARGE_PLAY_REPLACE = 65;
ACTION_REASON_MP_PLAY_TAKE_REWARD = 66;
ACTION_REASON_ACTIVITY_WATCHER = 67;
ACTION_REASON_SALESMAN_DELIVER_ITEM = 68;
ACTION_REASON_SALESMAN_REWARD = 69;
ACTION_REASON_REBATE = 70;
ACTION_REASON_MCOIN_EXCHANGE_HCOIN = 71;
ACTION_REASON_DAILY_TASK_EXCHANGE_LEGENDARY_KEY = 72;
ACTION_REASON_UNLOCK_PERSON_LINE = 73;
ACTION_REASON_FETTER_LEVEL_REWARD = 74;
ACTION_REASON_BUY_RESIN = 75;
ACTION_REASON_RECHARGE_PACKAGE = 76;
ACTION_REASON_DELIVERY_DAILY_REWARD = 77;
ACTION_REASON_CITY_REPUTATION_LEVEL = 78;
ACTION_REASON_CITY_REPUTATION_QUEST = 79;
ACTION_REASON_CITY_REPUTATION_REQUEST = 80;
ACTION_REASON_CITY_REPUTATION_EXPLORE = 81;
ACTION_REASON_OFFERGING_LEVEL = 82;
ACTION_REASON_ROUTINE_HOST = 83;
ACTION_REASON_ROUTINE_GUEST = 84;
ACTION_REASON_TREASURE_MAP_SPOT_TOKEN = 89;
ACTION_REASON_TREASURE_MAP_BONUS_LEVEL_REWARD = 90;
ACTION_REASON_TREASURE_MAP_MP_REWARD = 91;
ACTION_REASON_CONVERT = 92;
ACTION_REASON_OVERFLOW_TRANSFORM = 93;
ACTION_REASON_ACTIVITY_AVATAR_SELECTION_REWARD = 96;
ACTION_REASON_ACTIVITY_WATCHER_BATCH = 97;
ACTION_REASON_HIT_TREE_DROP = 98;
ACTION_REASON_GET_HOME_LEVELUP_REWARD = 99;
ACTION_REASON_HOME_DEFAULT_FURNITURE = 100;
ACTION_REASON_ACTIVITY_COND = 101;
ACTION_REASON_BATTLE_PASS_NOTIFY = 102;
ACTION_REASON_RELIQUARY_DECOMPOSE = 103;
ACTION_REASON_RECHARGE_GOOGLE_GIFT_GARD = 104;
ACTION_REASON_RECHARGE_CONCERT_PRODUCT = 105;
ACTION_REASON_RECHARGE_CONCERT_PRODUCT_REPLACE = 106;
ACTION_REASON_SEND_CONCERT_PRODUCT_BY_MUIP = 107;
ACTION_REASON_RECHARGE_APPLE_GIFT_GARD = 108;
ACTION_REASON_PLAYER_USE_ITEM = 1001;
ACTION_REASON_DROP_ITEM = 1002;
ACTION_REASON_WEAPON_UPGRADE = 1011;
ACTION_REASON_WEAPON_PROMOTE = 1012;
ACTION_REASON_WEAPON_AWAKEN = 1013;
ACTION_REASON_RELIC_UPGRADE = 1014;
ACTION_REASON_ABILITY = 1015;
ACTION_REASON_DUNGEON_STATUE_DROP = 1016;
ACTION_REASON_OFFLINE_MSG = 1017;
ACTION_REASON_AVATAR_UPGRADE = 1018;
ACTION_REASON_AVATAR_PROMOTE = 1019;
ACTION_REASON_QUEST_ACTION = 1021;
ACTION_REASON_CITY_LEVELUP = 1022;
ACTION_REASON_UPGRADE_SKILL = 1024;
ACTION_REASON_UNLOCK_TALENT = 1025;
ACTION_REASON_UPGRADE_PROUD_SKILL = 1026;
ACTION_REASON_PLAYER_LEVEL_LIMIT_UP = 1027;
ACTION_REASON_DUNGEON_DAILY = 1028;
ACTION_REASON_ITEM_GIVING = 1030;
ACTION_REASON_FORGE_COST = 1031;
ACTION_REASON_INVESTIGATION_REWARD = 1032;
ACTION_REASON_INVESTIGATION_TARGET_REWARD = 1033;
ACTION_REASON_GADGET_INTERACT = 1034;
ACTION_REASON_SEA_LAMP_CI_MATERIAL = 1036;
ACTION_REASON_SEA_LAMP_CONTRIBUTION_REWARD = 1037;
ACTION_REASON_SEA_LAMP_PHASE_REWARD = 1038;
ACTION_REASON_SEA_LAMP_FLY_LAMP = 1039;
ACTION_REASON_AUTO_RECOVER = 1040;
ACTION_REASON_ACTIVITY_EXPIRE_ITEM = 1041;
ACTION_REASON_SUB_COIN_NEGATIVE = 1042;
ACTION_REASON_BARGAIN_DEDUCT = 1043;
ACTION_REASON_BATTLE_PASS_PAID_REWARD = 1044;
ACTION_REASON_BATTLE_PASS_LEVEL_REWARD = 1045;
ACTION_REASON_TRIAL_AVATAR_ACTIVITY_FIRST_PASS_REWARD = 1046;
ACTION_REASON_BUY_BATTLE_PASS_LEVEL = 1047;
ACTION_REASON_GRANT_BIRTHDAY_BENEFIT = 1048;
ACTION_REASON_ACHIEVEMENT_REWARD = 1049;
ACTION_REASON_ACHIEVEMENT_GOAL_REWARD = 1050;
ACTION_REASON_FIRST_SHARE_TO_SOCIAL_NETWORK = 1051;
ACTION_REASON_DESTROY_MATERIAL = 1052;
ACTION_REASON_CODEX_LEVELUP_REWARD = 1053;
ACTION_REASON_HUNTING_OFFER_REWARD = 1054;
ACTION_REASON_USE_WIDGET_ANCHOR_POINT = 1055;
ACTION_REASON_USE_WIDGET_BONFIRE = 1056;
ACTION_REASON_UNGRADE_WEAPON_RETURN_MATERIAL = 1057;
ACTION_REASON_USE_WIDGET_ONEOFF_GATHER_POINT_DETECTOR = 1058;
ACTION_REASON_USE_WIDGET_CLIENT_COLLECTOR = 1059;
ACTION_REASON_USE_WIDGET_CLIENT_DETECTOR = 1060;
ACTION_REASON_TAKE_GENERAL_REWARD = 1061;
ACTION_REASON_ASTER_TAKE_SPECIAL_REWARD = 1062;
ACTION_REASON_REMOVE_CODEX_BOOK = 1063;
ACTION_REASON_OFFERING_ITEM = 1064;
ACTION_REASON_USE_WIDGET_GADGET_BUILDER = 1065;
ACTION_REASON_EFFIGY_FIRST_PASS_REWARD = 1066;
ACTION_REASON_EFFIGY_REWARD = 1067;
ACTION_REASON_REUNION_FIRST_GIFT_REWARD = 1068;
ACTION_REASON_REUNION_SIGN_IN_REWARD = 1069;
ACTION_REASON_REUNION_WATCHER_REWARD = 1070;
ACTION_REASON_SALESMAN_MP_REWARD = 1071;
ACTION_REASION_AVATAR_PROMOTE_REWARD = 1072;
ACTION_REASON_BLESSING_REDEEM_REWARD = 1073;
ACTION_MIRACLE_RING_REWARD = 1074;
ACTION_REASON_EXPEDITION_REWARD = 1075;
ACTION_REASON_TREASURE_MAP_REMOVE_DETECTOR = 1076;
ACTION_REASON_MECHANICUS_DUNGEON_TICKET = 1077;
ACTION_REASON_MECHANICUS_LEVELUP_GEAR = 1078;
ACTION_REASON_MECHANICUS_BATTLE_SETTLE = 1079;
ACTION_REASON_REGION_SEARCH_REWARD = 1080;
ACTION_REASON_UNLOCK_COOP_CHAPTER = 1081;
ACTION_REASON_TAKE_COOP_REWARD = 1082;
ACTION_REASON_FLEUR_FAIR_DUNGEON_REWARD = 1083;
ACTION_REASON_ACTIVITY_SCORE = 1084;
ACTION_REASON_CHANNELLER_SLAB_ONEOFF_DUNGEON_REWARD = 1085;
ACTION_REASON_FURNITURE_MAKE_START = 1086;
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";
message ActivityInfo {
uint32 activityId = 1;
uint32 scheduleId = 2;
uint32 beginTime = 3;
uint32 endTime = 4;
uint32 activityType = 5;
bool isPlayOpenAnim = 6;
bool isFinished = 7;
bool isStarting = 8;
repeated ActivityWatcherInfo watcherInfoList = 9;
repeated uint32 meetCondList = 10;
repeated uint32 expireCondList = 15;
uint32 selectedAvatarRewardId = 17;
map<uint32, uint32> activityCoinMap = 18;
uint32 scoreLimit = 19;
uint32 curScore = 20;
repeated uint32 takenRewardList = 24;
oneof detail {
ActivityNullDetailInfo samLampInfo = 11;
ActivityNullDetailInfo crucibleInfo = 12;
ActivityNullDetailInfo salesmanInfo = 13;
ActivityNullDetailInfo trialAvatarInfo = 14;
ActivityNullDetailInfo deliveryInfo = 16;
ActivityNullDetailInfo asterInfo = 21;
ActivityNullDetailInfo flightInfo = 25;
ActivityNullDetailInfo dragonSpineInfo = 31;
ActivityNullDetailInfo effigyInfo = 32;
ActivityNullDetailInfo treasureMapInfo = 35;
ActivityNullDetailInfo blessingInfo = 41;
ActivityNullDetailInfo seaLampInfo = 42;
ActivityNullDetailInfo expeditionInfo = 43;
ActivityNullDetailInfo arenaChallengeInfo = 44;
ActivityNullDetailInfo fleurFairInfo = 51;
ActivityNullDetailInfo waterSpiritInfo = 52;
ActivityNullDetailInfo challnelerSlabInfo = 61;
ActivityNullDetailInfo mistTrialActivityInfo = 62;
ActivityNullDetailInfo hideAndSeekInfo = 63;
ActivityNullDetailInfo findHilichurlInfo = 64;
oneof Detail {
ActivityNullDetailInfo sam_lamp_info = 11;
ActivityNullDetailInfo crucible_info = 12;
ActivityNullDetailInfo salesman_info = 13;
ActivityNullDetailInfo trial_avatar_info = 14;
ActivityNullDetailInfo delivery_info = 16;
ActivityNullDetailInfo aster_info = 21;
ActivityNullDetailInfo flight_info = 25;
ActivityNullDetailInfo dragon_spine_info = 31;
ActivityNullDetailInfo effigy_info = 32;
ActivityNullDetailInfo treasure_map_info = 35;
ActivityNullDetailInfo blessing_info = 41;
ActivityNullDetailInfo sea_lamp_info = 42;
ActivityNullDetailInfo expedition_info = 43;
ActivityNullDetailInfo arena_challenge_info = 44;
ActivityNullDetailInfo fleur_fair_info = 51;
ActivityNullDetailInfo water_spirit_info = 52;
ActivityNullDetailInfo challneler_slab_info = 61;
ActivityNullDetailInfo mist_trial_activity_info = 62;
ActivityNullDetailInfo hide_and_seek_info = 63;
ActivityNullDetailInfo find_hilichurl_info = 64;
ActivityNullDetailInfo summer_time_info = 65;
ActivityNullDetailInfo buoyant_combat_info = 66;
ActivityNullDetailInfo echo_shell_info = 67;
ActivityNullDetailInfo bounce_conjuring_info = 68;
ActivityNullDetailInfo blitz_rush_info = 69;
ActivityNullDetailInfo chess_info = 70;
ActivityNullDetailInfo sumo_info = 71;
ActivityNullDetailInfo moonfin_trial_info = 72;
ActivityNullDetailInfo luna_rite_info = 73;
ActivityNullDetailInfo plant_flower_info = 74;
ActivityNullDetailInfo music_game_info = 75;
ActivityNullDetailInfo roguelike_dungoen_info = 76;
ActivityNullDetailInfo dig_info = 77;
}
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";
message ActivityWatcherInfo {
uint32 watcherId = 1;
uint32 curProgress = 2;
uint32 totalProgress = 3;
bool isTakenReward = 4;
uint32 watcher_id = 1;
uint32 cur_progress = 2;
uint32 total_progress = 3;
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";
message AiSkillCdInfo {
map<uint32, uint32> skillCdMap = 1;
map<uint32, uint32> skillGroupCdMap = 2;
map<uint32, uint32> skill_cd_map = 1;
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";
message AiSyncInfo {
uint32 entityId = 1;
bool hasPathToTarget = 2;
uint32 entity_id = 1;
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";
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";
message AnimatorParameterValueInfo {
uint32 paraType = 1;
int32 intVal = 2;
float floatVal = 3;
bool boolVal = 4;
oneof ParaVal {
int32 int_val = 2;
float float_val = 3;
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";
message AnimatorParameterValueInfoPair {
int32 name = 1;
AnimatorParameterValueInfo animatorPara = 2;
int32 name_id = 1;
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";
message AskAddFriendNotify {
uint32 targetUid = 1;
FriendBrief targetFriendBrief = 2;
enum CmdId {
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";
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";
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;
uint32 targetUid = 2;
uint32 target_uid = 2;
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";
message AttackHitEffectResult {
uint32 hitEffLevel = 1;
float retreatStrength = 2;
float airStrength = 3;
float hitHaltTime = 4;
float hitHaltTimeScale = 5;
uint32 originalHitEffLevel = 6;
uint32 hit_eff_level = 1;
float retreat_strength = 2;
float air_strength = 3;
float hit_halt_time = 4;
float hit_halt_time_scale = 5;
uint32 original_hit_eff_level = 6;
}

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

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

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

@@ -5,6 +5,14 @@ option java_package = "emu.grasscutter.net.proto";
import "AvatarInfo.proto";
message AvatarAddNotify {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1795;
}
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";
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";
message AvatarChangeCostumeReq {
uint64 avatarGuid = 1;
uint32 costumeId = 2;
enum CmdId {
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";
message AvatarChangeCostumeRsp {
uint32 retcode = 1;
uint64 avatarGuid = 2;
uint32 costumeId = 3;
enum CmdId {
option allow_alias = true;
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";
message AvatarDataNotify {
repeated AvatarInfo avatarList = 1;
map<uint32, AvatarTeam> avatarTeamMap = 2;
uint32 curAvatarTeamId = 3;
fixed64 chooseAvatarGuid = 4;
repeated uint64 tempAvatarGuidList = 5;
repeated uint32 ownedFlycloakList = 6;
repeated uint32 ownedCostumeList = 7;
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1694;
}
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";
message AvatarDieAnimationEndReq {
uint64 dieGuid = 1;
uint32 skillId = 2;
Vector rebornPos = 3;
enum CmdId {
option allow_alias = true;
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";
message AvatarDieAnimationEndRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1697;
}
int32 retcode = 1;
uint64 dieGuid = 2;
uint32 skillId = 3;
uint64 die_guid = 2;
uint32 skill_id = 3;
}

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

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

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

@@ -2,7 +2,8 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AvatarEquipAffixInfo {
uint32 equipAffixId = 1;
uint32 leftCdTime = 2;
uint32 equip_affix_id = 1;
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";
import "SceneReliquaryInfo.proto";
import "SceneWeaponInfo.proto";
import "SceneReliquaryInfo.proto";
message AvatarEquipChangeNotify {
uint64 avatarGuid = 1;
uint32 equipType = 2;
uint32 itemId = 3;
uint64 equipGuid = 4;
enum CmdId {
option allow_alias = true;
ENET_CHANNEL_ID = 0;
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;
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";
enum AvatarExpeditionState {
AvatarExpeditionNone = 0;
AvatarExpeditionDoing = 1;
AvatarExpeditionFinishWaitReward = 2;
AvatarExpeditionCallbackWaitReward = 3;
AVATAR_EXPEDITION_NONE = 0;
AVATAR_EXPEDITION_DOING = 1;
AVATAR_EXPEDITION_FINISH_WAIT_REWARD = 2;
AVATAR_EXPEDITION_CALLBACK_WAIT_REWARD = 3;
AVATAR_EXPEDITION_LOCKED = 4;
}

View File

@@ -1,9 +1,17 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AvatarFetterInfo.proto";
message AvatarFetterDataNotify {
map<uint64, AvatarFetterInfo> fetterInfoMap = 1;
}
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AvatarFetterInfo.proto";
message AvatarFetterDataNotify {
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";
message AvatarFetterInfo {
uint32 expNumber = 1;
uint32 expLevel = 2;
repeated uint32 openIdList = 3;
repeated uint32 finishIdList = 4;
repeated uint32 rewardedFetterLevelList = 5;
repeated FetterData fetterList = 6;
uint32 exp_number = 1;
uint32 exp_level = 2;
repeated uint32 open_id_list = 3;
repeated uint32 finish_id_list = 4;
repeated uint32 rewarded_fetter_level_list = 5;
repeated FetterData fetter_list = 6;
}

View File

@@ -1,8 +1,17 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AvatarFetterLevelRewardReq {
uint64 avatarGuid = 1;
uint32 fetterLevel = 2;
}
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AvatarFetterLevelRewardReq {
enum CmdId {
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";
option java_package = "emu.grasscutter.net.proto";
message AvatarFetterLevelRewardRsp {
int32 retcode = 1;
uint64 avatarGuid = 2;
uint32 fetterLevel = 3;
uint32 rewardId = 4;
}
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AvatarFetterLevelRewardRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
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";
message AvatarFightPropNotify {
uint64 avatarGuid = 1;
map<uint32, float> fightPropMap = 2;
enum CmdId {
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";
message AvatarFightPropUpdateNotify {
uint64 avatarGuid = 1;
map<uint32, float> fightPropMap = 2;
enum CmdId {
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";
message AvatarFlycloakChangeNotify {
uint64 avatarGuid = 1;
uint32 flycloakId = 2;
enum CmdId {
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";
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";
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";
import "AvatarEquipAffixInfo.proto";
import "AvatarExpeditionState.proto";
import "AvatarFetterInfo.proto";
import "AvatarSkillInfo.proto";
import "PropValue.proto";
import "TrialAvatarInfo.proto";
import "AvatarFetterInfo.proto";
import "AvatarExpeditionState.proto";
import "AvatarExcelInfo.proto";
import "PropValue.proto";
import "AvatarSkillInfo.proto";
import "AvatarEquipAffixInfo.proto";
message AvatarInfo {
uint32 avatarId = 1;
uint32 avatar_id = 1;
uint64 guid = 2;
map<uint32, PropValue> propMap = 3;
uint32 lifeState = 4;
repeated uint64 equipGuidList = 5;
repeated uint32 talentIdList = 6;
map<uint32, float> fightPropMap = 7;
TrialAvatarInfo trialAvatarInfoField = 9;
map<uint32, AvatarSkillInfo> skillMap = 10;
uint32 skillDepotId = 11;
AvatarFetterInfo fetterInfo = 12;
uint32 coreProudSkillLevel = 13;
repeated uint32 inherentProudSkillList = 14;
map<uint32, uint32> skillLevelMap = 15;
AvatarExpeditionState expeditionState = 16;
map<uint32, uint32> proudSkillExtraLevel = 17;
bool isFocusFieldNumber = 18;
uint32 avatarType = 19;
repeated uint32 teamResonanceList = 20;
uint32 wearingFlycloakId = 21;
repeated AvatarEquipAffixInfo equipAffixList = 22;
uint32 bornTime = 23;
repeated uint32 pendingPromoteRewardListFieldNumber = 24;
uint32 costumeId = 25;
map<uint32, PropValue> prop_map = 3;
uint32 life_state = 4;
repeated uint64 equip_guid_list = 5;
repeated uint32 talent_id_list = 6;
map<uint32, float> fight_prop_map = 7;
TrialAvatarInfo trial_avatar_info = 9;
map<uint32, AvatarSkillInfo> skill_map = 10;
uint32 skill_depot_id = 11;
AvatarFetterInfo fetter_info = 12;
uint32 core_proud_skill_level = 13;
repeated uint32 inherent_proud_skill_list = 14;
map<uint32, uint32> skill_level_map = 15;
AvatarExpeditionState expedition_state = 16;
map<uint32, uint32> proud_skill_extra_level_map = 17;
bool is_focus = 18;
uint32 avatar_type = 19;
repeated uint32 team_resonance_list = 20;
uint32 wearing_flycloak_id = 21;
repeated AvatarEquipAffixInfo equip_affix_list = 22;
uint32 born_time = 23;
repeated uint32 pending_promote_reward_list = 24;
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";
import "PlayerDieType.proto";
import "ServerBuff.proto";
message AvatarLifeStateChangeNotify {
uint64 avatarGuid = 1;
uint32 lifeState = 2;
uint32 sourceEntityId = 3;
string attackTag = 4;
PlayerDieType dieType = 5;
uint32 moveReliableSeq = 6;
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
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";
option java_package = "emu.grasscutter.net.proto";
message AvatarPromoteGetRewardReq {
uint64 avatarGuid = 1;
uint32 promoteLevel = 2;
}
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AvatarPromoteGetRewardReq {
enum CmdId {
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";
option java_package = "emu.grasscutter.net.proto";
message AvatarPromoteGetRewardRsp {
int32 retcode = 1;
uint64 avatarGuid = 2;
uint32 promoteLevel = 3;
uint32 rewardId = 4;
}
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AvatarPromoteGetRewardRsp {
enum CmdId {
option allow_alias = true;
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";
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;
}

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

@@ -2,7 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message AvatarPromoteRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1728;
}
int32 retcode = 1;
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";
message AvatarPropNotify {
uint64 avatarGuid = 1;
map<uint32, int64> propMap = 2;
enum CmdId {
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";
message AvatarSkillChangeNotify {
uint64 avatarGuid = 1;
uint32 entityId = 2;
uint32 skillDepotId = 3;
uint32 avatarSkillId = 4;
uint32 oldLevel = 5;
uint32 curLevel = 6;
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
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";
message AvatarSkillInfo {
uint32 passCdTime = 1;
repeated uint32 fullCdTimeList = 2;
uint32 maxChargeCount = 3;
uint32 pass_cd_time = 1;
repeated uint32 full_cd_time_list = 2;
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";
message AvatarSkillUpgradeReq {
uint64 avatarGuid = 1;
uint32 avatarSkillId = 2;
uint32 oldLevel = 3;
enum CmdId {
option allow_alias = true;
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";
message AvatarSkillUpgradeRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1024;
}
int32 retcode = 1;
uint64 avatarGuid = 2;
uint32 avatarSkillId = 3;
uint32 oldLevel = 4;
uint32 curLevel = 5;
uint64 avatar_guid = 2;
uint32 avatar_skill_id = 3;
uint32 old_level = 4;
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";
message AvatarTeam {
repeated uint64 avatarGuidList = 1;
string teamName = 2;
repeated uint64 avatar_guid_list = 1;
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";
message AvatarTeamResonanceInfo {
uint32 entityId = 1;
uint64 avatarGuid = 2;
repeated uint32 addTeamResonanceIdList = 3;
repeated uint32 delTeamResonanceIdList = 4;
uint32 entity_id = 1;
uint64 avatar_guid = 2;
repeated uint32 add_team_resonance_id_list = 3;
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";
message AvatarTeamUpdateNotify {
map<uint32, AvatarTeam> avatarTeamMap = 1;
repeated uint64 tempAvatarGuidList = 2;
enum CmdId {
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";
message AvatarUnlockTalentNotify {
uint64 avatarGuid = 1;
uint32 entityId = 2;
uint32 talentId = 3;
uint32 skillDepotId = 4;
enum CmdId {
option allow_alias = true;
NONE = 0;
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";
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;
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";
message AvatarUpgradeRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1720;
}
int32 retcode = 1;
uint64 avatarGuid = 2;
uint32 oldLevel = 3;
uint32 curLevel = 4;
map<uint32, float> oldFightPropMap = 5;
map<uint32, float> curFightPropMap = 6;
uint64 avatar_guid = 2;
uint32 old_level = 3;
uint32 cur_level = 4;
map<uint32, float> old_fight_prop_map = 5;
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";
message AvatarWearFlycloakReq {
uint64 avatarGuid = 1;
uint32 flycloakId = 2;
enum CmdId {
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";
message AvatarWearFlycloakRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1709;
}
int32 retcode = 1;
uint64 avatarGuid = 2;
uint32 flycloakId = 3;
uint64 avatar_guid = 2;
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";
message Birthday {
uint32 month = 1;
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";
message BlockInfo {
uint32 blockId = 1;
uint32 dataVersion = 2;
bytes binData = 3;
bool isDirty = 4;
uint32 block_id = 1;
uint32 data_version = 2;
bytes bin_data = 3;
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";
message CalcWeaponUpgradeReturnItemsReq {
uint64 targetWeaponGuid = 1;
repeated uint64 foodWeaponGuidList = 2;
repeated ItemParam itemParamList = 3;
enum CmdId {
option allow_alias = true;
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";
message CalcWeaponUpgradeReturnItemsRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 660;
}
int32 retcode = 1;
uint64 targetWeaponGuid = 2;
repeated ItemParam itemParamList = 3;
uint64 target_weapon_guid = 2;
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";
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;
uint32 skillId = 2;
bool isMove = 3;
Vector movePos = 4;
uint32 skill_id = 2;
bool is_move = 3;
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";
message ChangeAvatarRsp {
uint32 retcode = 1;
uint64 currGuid = 2;
uint32 skillId = 3;
enum CmdId {
option allow_alias = true;
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";
message ChangeGameTimeReq {
uint32 gameTime = 1;
bool isForceSet = 2;
enum CmdId {
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";
message ChangeGameTimeRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 179;
}
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";
message ChangeMpTeamAvatarReq {
repeated uint64 avatarGuidList = 1;
uint64 curAvatarGuid = 2;
enum CmdId {
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";
message ChangeMpTeamAvatarRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1640;
}
int32 retcode = 1;
repeated uint64 avatarGuidList = 2;
uint64 curAvatarGuid = 3;
repeated uint64 avatar_guid_list = 2;
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";
message ChangeTeamNameReq {
int32 teamId = 1;
string teamName = 2;
enum CmdId {
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";
message ChangeTeamNameRsp {
int32 teamId = 1;
string teamName = 2;
enum CmdId {
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;
}

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

@@ -2,17 +2,26 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "SystemHint.proto";
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 uid = 2;
uint32 sequence = 3;
uint32 toUid = 4;
bool isRead = 5;
oneof content {
string text = 100;
uint32 icon = 101;
SystemHint systemHint = 102;
}
uint32 to_uid = 4;
bool is_read = 5;
}

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

@@ -2,6 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
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";
message ChooseCurAvatarTeamRsp {
enum CmdId {
option allow_alias = true;
NONE = 0;
ENET_CHANNEL_ID = 0;
ENET_IS_RELIABLE = 1;
CMD_ID = 1798;
}
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";
message CityInfo {
uint32 cityId = 1;
uint32 city_id = 1;
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";
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;
}

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

@@ -2,6 +2,16 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
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";
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;
}

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