// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v7.34.0
// source: messages.proto

package pb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type EntityType int32

const (
	EntityType_ENTITY_TYPE_PLAYER EntityType = 0
	EntityType_ENTITY_TYPE_MOB    EntityType = 1
	EntityType_ENTITY_TYPE_NPC    EntityType = 2
)

// Enum value maps for EntityType.
var (
	EntityType_name = map[int32]string{
		0: "ENTITY_TYPE_PLAYER",
		1: "ENTITY_TYPE_MOB",
		2: "ENTITY_TYPE_NPC",
	}
	EntityType_value = map[string]int32{
		"ENTITY_TYPE_PLAYER": 0,
		"ENTITY_TYPE_MOB":    1,
		"ENTITY_TYPE_NPC":    2,
	}
)

func (x EntityType) Enum() *EntityType {
	p := new(EntityType)
	*p = x
	return p
}

func (x EntityType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (EntityType) Descriptor() protoreflect.EnumDescriptor {
	return file_messages_proto_enumTypes[0].Descriptor()
}

func (EntityType) Type() protoreflect.EnumType {
	return &file_messages_proto_enumTypes[0]
}

func (x EntityType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use EntityType.Descriptor instead.
func (EntityType) EnumDescriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{0}
}

type CombatEventType int32

const (
	CombatEventType_COMBAT_EVENT_DAMAGE  CombatEventType = 0
	CombatEventType_COMBAT_EVENT_HEAL    CombatEventType = 1
	CombatEventType_COMBAT_EVENT_BUFF    CombatEventType = 2
	CombatEventType_COMBAT_EVENT_DEBUFF  CombatEventType = 3
	CombatEventType_COMBAT_EVENT_DEATH   CombatEventType = 4
	CombatEventType_COMBAT_EVENT_RESPAWN CombatEventType = 5
)

// Enum value maps for CombatEventType.
var (
	CombatEventType_name = map[int32]string{
		0: "COMBAT_EVENT_DAMAGE",
		1: "COMBAT_EVENT_HEAL",
		2: "COMBAT_EVENT_BUFF",
		3: "COMBAT_EVENT_DEBUFF",
		4: "COMBAT_EVENT_DEATH",
		5: "COMBAT_EVENT_RESPAWN",
	}
	CombatEventType_value = map[string]int32{
		"COMBAT_EVENT_DAMAGE":  0,
		"COMBAT_EVENT_HEAL":    1,
		"COMBAT_EVENT_BUFF":    2,
		"COMBAT_EVENT_DEBUFF":  3,
		"COMBAT_EVENT_DEATH":   4,
		"COMBAT_EVENT_RESPAWN": 5,
	}
)

func (x CombatEventType) Enum() *CombatEventType {
	p := new(CombatEventType)
	*p = x
	return p
}

func (x CombatEventType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (CombatEventType) Descriptor() protoreflect.EnumDescriptor {
	return file_messages_proto_enumTypes[1].Descriptor()
}

func (CombatEventType) Type() protoreflect.EnumType {
	return &file_messages_proto_enumTypes[1]
}

func (x CombatEventType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use CombatEventType.Descriptor instead.
func (CombatEventType) EnumDescriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{1}
}

type LoginRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	Password      string                 `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LoginRequest) Reset() {
	*x = LoginRequest{}
	mi := &file_messages_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LoginRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoginRequest) ProtoMessage() {}

func (x *LoginRequest) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LoginRequest.ProtoReflect.Descriptor instead.
func (*LoginRequest) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{0}
}

func (x *LoginRequest) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *LoginRequest) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

type LoginResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Success       bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	SessionToken  string                 `protobuf:"bytes,2,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
	ErrorMessage  string                 `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	PlayerId      uint64                 `protobuf:"varint,4,opt,name=player_id,json=playerId,proto3" json:"player_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LoginResponse) Reset() {
	*x = LoginResponse{}
	mi := &file_messages_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LoginResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoginResponse) ProtoMessage() {}

func (x *LoginResponse) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LoginResponse.ProtoReflect.Descriptor instead.
func (*LoginResponse) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{1}
}

func (x *LoginResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *LoginResponse) GetSessionToken() string {
	if x != nil {
		return x.SessionToken
	}
	return ""
}

func (x *LoginResponse) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *LoginResponse) GetPlayerId() uint64 {
	if x != nil {
		return x.PlayerId
	}
	return 0
}

type EnterWorldRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SessionToken  string                 `protobuf:"bytes,1,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EnterWorldRequest) Reset() {
	*x = EnterWorldRequest{}
	mi := &file_messages_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnterWorldRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnterWorldRequest) ProtoMessage() {}

func (x *EnterWorldRequest) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnterWorldRequest.ProtoReflect.Descriptor instead.
func (*EnterWorldRequest) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{2}
}

func (x *EnterWorldRequest) GetSessionToken() string {
	if x != nil {
		return x.SessionToken
	}
	return ""
}

type EnterWorldResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Success        bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	ErrorMessage   string                 `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	Self           *EntityState           `protobuf:"bytes,3,opt,name=self,proto3" json:"self,omitempty"`
	NearbyEntities []*EntityState         `protobuf:"bytes,4,rep,name=nearby_entities,json=nearbyEntities,proto3" json:"nearby_entities,omitempty"`
	ZoneId         uint32                 `protobuf:"varint,5,opt,name=zone_id,json=zoneId,proto3" json:"zone_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *EnterWorldResponse) Reset() {
	*x = EnterWorldResponse{}
	mi := &file_messages_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EnterWorldResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnterWorldResponse) ProtoMessage() {}

func (x *EnterWorldResponse) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EnterWorldResponse.ProtoReflect.Descriptor instead.
func (*EnterWorldResponse) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{3}
}

func (x *EnterWorldResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *EnterWorldResponse) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *EnterWorldResponse) GetSelf() *EntityState {
	if x != nil {
		return x.Self
	}
	return nil
}

func (x *EnterWorldResponse) GetNearbyEntities() []*EntityState {
	if x != nil {
		return x.NearbyEntities
	}
	return nil
}

func (x *EnterWorldResponse) GetZoneId() uint32 {
	if x != nil {
		return x.ZoneId
	}
	return 0
}

type Vector3 struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	X             float32                `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"`
	Y             float32                `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"`
	Z             float32                `protobuf:"fixed32,3,opt,name=z,proto3" json:"z,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Vector3) Reset() {
	*x = Vector3{}
	mi := &file_messages_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Vector3) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Vector3) ProtoMessage() {}

func (x *Vector3) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Vector3.ProtoReflect.Descriptor instead.
func (*Vector3) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{4}
}

func (x *Vector3) GetX() float32 {
	if x != nil {
		return x.X
	}
	return 0
}

func (x *Vector3) GetY() float32 {
	if x != nil {
		return x.Y
	}
	return 0
}

func (x *Vector3) GetZ() float32 {
	if x != nil {
		return x.Z
	}
	return 0
}

type EntityState struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	EntityId      uint64                 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Position      *Vector3               `protobuf:"bytes,3,opt,name=position,proto3" json:"position,omitempty"`
	Rotation      float32                `protobuf:"fixed32,4,opt,name=rotation,proto3" json:"rotation,omitempty"`
	Hp            int32                  `protobuf:"varint,5,opt,name=hp,proto3" json:"hp,omitempty"`
	MaxHp         int32                  `protobuf:"varint,6,opt,name=max_hp,json=maxHp,proto3" json:"max_hp,omitempty"`
	Level         int32                  `protobuf:"varint,7,opt,name=level,proto3" json:"level,omitempty"`
	EntityType    EntityType             `protobuf:"varint,8,opt,name=entity_type,json=entityType,proto3,enum=proto.EntityType" json:"entity_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *EntityState) Reset() {
	*x = EntityState{}
	mi := &file_messages_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EntityState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EntityState) ProtoMessage() {}

func (x *EntityState) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EntityState.ProtoReflect.Descriptor instead.
func (*EntityState) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{5}
}

func (x *EntityState) GetEntityId() uint64 {
	if x != nil {
		return x.EntityId
	}
	return 0
}

func (x *EntityState) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *EntityState) GetPosition() *Vector3 {
	if x != nil {
		return x.Position
	}
	return nil
}

func (x *EntityState) GetRotation() float32 {
	if x != nil {
		return x.Rotation
	}
	return 0
}

func (x *EntityState) GetHp() int32 {
	if x != nil {
		return x.Hp
	}
	return 0
}

func (x *EntityState) GetMaxHp() int32 {
	if x != nil {
		return x.MaxHp
	}
	return 0
}

func (x *EntityState) GetLevel() int32 {
	if x != nil {
		return x.Level
	}
	return 0
}

func (x *EntityState) GetEntityType() EntityType {
	if x != nil {
		return x.EntityType
	}
	return EntityType_ENTITY_TYPE_PLAYER
}

type MoveRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Position      *Vector3               `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
	Rotation      float32                `protobuf:"fixed32,2,opt,name=rotation,proto3" json:"rotation,omitempty"`
	Velocity      *Vector3               `protobuf:"bytes,3,opt,name=velocity,proto3" json:"velocity,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MoveRequest) Reset() {
	*x = MoveRequest{}
	mi := &file_messages_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MoveRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MoveRequest) ProtoMessage() {}

func (x *MoveRequest) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MoveRequest.ProtoReflect.Descriptor instead.
func (*MoveRequest) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{6}
}

func (x *MoveRequest) GetPosition() *Vector3 {
	if x != nil {
		return x.Position
	}
	return nil
}

func (x *MoveRequest) GetRotation() float32 {
	if x != nil {
		return x.Rotation
	}
	return 0
}

func (x *MoveRequest) GetVelocity() *Vector3 {
	if x != nil {
		return x.Velocity
	}
	return nil
}

type StateUpdate struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Entities      []*EntityState         `protobuf:"bytes,1,rep,name=entities,proto3" json:"entities,omitempty"`
	ServerTick    int64                  `protobuf:"varint,2,opt,name=server_tick,json=serverTick,proto3" json:"server_tick,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StateUpdate) Reset() {
	*x = StateUpdate{}
	mi := &file_messages_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StateUpdate) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StateUpdate) ProtoMessage() {}

func (x *StateUpdate) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StateUpdate.ProtoReflect.Descriptor instead.
func (*StateUpdate) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{7}
}

func (x *StateUpdate) GetEntities() []*EntityState {
	if x != nil {
		return x.Entities
	}
	return nil
}

func (x *StateUpdate) GetServerTick() int64 {
	if x != nil {
		return x.ServerTick
	}
	return 0
}

type SpawnEntity struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Entity        *EntityState           `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SpawnEntity) Reset() {
	*x = SpawnEntity{}
	mi := &file_messages_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SpawnEntity) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpawnEntity) ProtoMessage() {}

func (x *SpawnEntity) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SpawnEntity.ProtoReflect.Descriptor instead.
func (*SpawnEntity) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{8}
}

func (x *SpawnEntity) GetEntity() *EntityState {
	if x != nil {
		return x.Entity
	}
	return nil
}

type DespawnEntity struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	EntityId      uint64                 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DespawnEntity) Reset() {
	*x = DespawnEntity{}
	mi := &file_messages_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DespawnEntity) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DespawnEntity) ProtoMessage() {}

func (x *DespawnEntity) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DespawnEntity.ProtoReflect.Descriptor instead.
func (*DespawnEntity) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{9}
}

func (x *DespawnEntity) GetEntityId() uint64 {
	if x != nil {
		return x.EntityId
	}
	return 0
}

type Ping struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ClientTime    int64                  `protobuf:"varint,1,opt,name=client_time,json=clientTime,proto3" json:"client_time,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Ping) Reset() {
	*x = Ping{}
	mi := &file_messages_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Ping) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Ping) ProtoMessage() {}

func (x *Ping) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Ping.ProtoReflect.Descriptor instead.
func (*Ping) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{10}
}

func (x *Ping) GetClientTime() int64 {
	if x != nil {
		return x.ClientTime
	}
	return 0
}

type Pong struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ClientTime    int64                  `protobuf:"varint,1,opt,name=client_time,json=clientTime,proto3" json:"client_time,omitempty"`
	ServerTime    int64                  `protobuf:"varint,2,opt,name=server_time,json=serverTime,proto3" json:"server_time,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Pong) Reset() {
	*x = Pong{}
	mi := &file_messages_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Pong) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Pong) ProtoMessage() {}

func (x *Pong) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Pong.ProtoReflect.Descriptor instead.
func (*Pong) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{11}
}

func (x *Pong) GetClientTime() int64 {
	if x != nil {
		return x.ClientTime
	}
	return 0
}

func (x *Pong) GetServerTime() int64 {
	if x != nil {
		return x.ServerTime
	}
	return 0
}

type ZoneTransferNotify struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	NewZoneId      uint32                 `protobuf:"varint,1,opt,name=new_zone_id,json=newZoneId,proto3" json:"new_zone_id,omitempty"`
	Self           *EntityState           `protobuf:"bytes,2,opt,name=self,proto3" json:"self,omitempty"`
	NearbyEntities []*EntityState         `protobuf:"bytes,3,rep,name=nearby_entities,json=nearbyEntities,proto3" json:"nearby_entities,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ZoneTransferNotify) Reset() {
	*x = ZoneTransferNotify{}
	mi := &file_messages_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ZoneTransferNotify) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZoneTransferNotify) ProtoMessage() {}

func (x *ZoneTransferNotify) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ZoneTransferNotify.ProtoReflect.Descriptor instead.
func (*ZoneTransferNotify) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{12}
}

func (x *ZoneTransferNotify) GetNewZoneId() uint32 {
	if x != nil {
		return x.NewZoneId
	}
	return 0
}

func (x *ZoneTransferNotify) GetSelf() *EntityState {
	if x != nil {
		return x.Self
	}
	return nil
}

func (x *ZoneTransferNotify) GetNearbyEntities() []*EntityState {
	if x != nil {
		return x.NearbyEntities
	}
	return nil
}

type UseSkillRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SkillId       uint32                 `protobuf:"varint,1,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
	TargetId      uint64                 `protobuf:"varint,2,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
	TargetPos     *Vector3               `protobuf:"bytes,3,opt,name=target_pos,json=targetPos,proto3" json:"target_pos,omitempty"` // for ground-targeted AoE
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UseSkillRequest) Reset() {
	*x = UseSkillRequest{}
	mi := &file_messages_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UseSkillRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UseSkillRequest) ProtoMessage() {}

func (x *UseSkillRequest) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UseSkillRequest.ProtoReflect.Descriptor instead.
func (*UseSkillRequest) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{13}
}

func (x *UseSkillRequest) GetSkillId() uint32 {
	if x != nil {
		return x.SkillId
	}
	return 0
}

func (x *UseSkillRequest) GetTargetId() uint64 {
	if x != nil {
		return x.TargetId
	}
	return 0
}

func (x *UseSkillRequest) GetTargetPos() *Vector3 {
	if x != nil {
		return x.TargetPos
	}
	return nil
}

type UseSkillResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Success       bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	ErrorMessage  string                 `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UseSkillResponse) Reset() {
	*x = UseSkillResponse{}
	mi := &file_messages_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UseSkillResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UseSkillResponse) ProtoMessage() {}

func (x *UseSkillResponse) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UseSkillResponse.ProtoReflect.Descriptor instead.
func (*UseSkillResponse) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{14}
}

func (x *UseSkillResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *UseSkillResponse) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

type CombatEvent struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CasterId      uint64                 `protobuf:"varint,1,opt,name=caster_id,json=casterId,proto3" json:"caster_id,omitempty"`
	TargetId      uint64                 `protobuf:"varint,2,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
	SkillId       uint32                 `protobuf:"varint,3,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
	Damage        int32                  `protobuf:"varint,4,opt,name=damage,proto3" json:"damage,omitempty"`
	Heal          int32                  `protobuf:"varint,5,opt,name=heal,proto3" json:"heal,omitempty"`
	IsCritical    bool                   `protobuf:"varint,6,opt,name=is_critical,json=isCritical,proto3" json:"is_critical,omitempty"`
	TargetDied    bool                   `protobuf:"varint,7,opt,name=target_died,json=targetDied,proto3" json:"target_died,omitempty"`
	TargetHp      int32                  `protobuf:"varint,8,opt,name=target_hp,json=targetHp,proto3" json:"target_hp,omitempty"`
	TargetMaxHp   int32                  `protobuf:"varint,9,opt,name=target_max_hp,json=targetMaxHp,proto3" json:"target_max_hp,omitempty"`
	EventType     CombatEventType        `protobuf:"varint,10,opt,name=event_type,json=eventType,proto3,enum=proto.CombatEventType" json:"event_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CombatEvent) Reset() {
	*x = CombatEvent{}
	mi := &file_messages_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CombatEvent) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CombatEvent) ProtoMessage() {}

func (x *CombatEvent) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CombatEvent.ProtoReflect.Descriptor instead.
func (*CombatEvent) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{15}
}

func (x *CombatEvent) GetCasterId() uint64 {
	if x != nil {
		return x.CasterId
	}
	return 0
}

func (x *CombatEvent) GetTargetId() uint64 {
	if x != nil {
		return x.TargetId
	}
	return 0
}

func (x *CombatEvent) GetSkillId() uint32 {
	if x != nil {
		return x.SkillId
	}
	return 0
}

func (x *CombatEvent) GetDamage() int32 {
	if x != nil {
		return x.Damage
	}
	return 0
}

func (x *CombatEvent) GetHeal() int32 {
	if x != nil {
		return x.Heal
	}
	return 0
}

func (x *CombatEvent) GetIsCritical() bool {
	if x != nil {
		return x.IsCritical
	}
	return false
}

func (x *CombatEvent) GetTargetDied() bool {
	if x != nil {
		return x.TargetDied
	}
	return false
}

func (x *CombatEvent) GetTargetHp() int32 {
	if x != nil {
		return x.TargetHp
	}
	return 0
}

func (x *CombatEvent) GetTargetMaxHp() int32 {
	if x != nil {
		return x.TargetMaxHp
	}
	return 0
}

func (x *CombatEvent) GetEventType() CombatEventType {
	if x != nil {
		return x.EventType
	}
	return CombatEventType_COMBAT_EVENT_DAMAGE
}

type BuffApplied struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TargetId      uint64                 `protobuf:"varint,1,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
	BuffId        uint32                 `protobuf:"varint,2,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
	BuffName      string                 `protobuf:"bytes,3,opt,name=buff_name,json=buffName,proto3" json:"buff_name,omitempty"`
	Duration      float32                `protobuf:"fixed32,4,opt,name=duration,proto3" json:"duration,omitempty"`
	IsDebuff      bool                   `protobuf:"varint,5,opt,name=is_debuff,json=isDebuff,proto3" json:"is_debuff,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BuffApplied) Reset() {
	*x = BuffApplied{}
	mi := &file_messages_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BuffApplied) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BuffApplied) ProtoMessage() {}

func (x *BuffApplied) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BuffApplied.ProtoReflect.Descriptor instead.
func (*BuffApplied) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{16}
}

func (x *BuffApplied) GetTargetId() uint64 {
	if x != nil {
		return x.TargetId
	}
	return 0
}

func (x *BuffApplied) GetBuffId() uint32 {
	if x != nil {
		return x.BuffId
	}
	return 0
}

func (x *BuffApplied) GetBuffName() string {
	if x != nil {
		return x.BuffName
	}
	return ""
}

func (x *BuffApplied) GetDuration() float32 {
	if x != nil {
		return x.Duration
	}
	return 0
}

func (x *BuffApplied) GetIsDebuff() bool {
	if x != nil {
		return x.IsDebuff
	}
	return false
}

type BuffRemoved struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	TargetId      uint64                 `protobuf:"varint,1,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
	BuffId        uint32                 `protobuf:"varint,2,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BuffRemoved) Reset() {
	*x = BuffRemoved{}
	mi := &file_messages_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BuffRemoved) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BuffRemoved) ProtoMessage() {}

func (x *BuffRemoved) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BuffRemoved.ProtoReflect.Descriptor instead.
func (*BuffRemoved) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{17}
}

func (x *BuffRemoved) GetTargetId() uint64 {
	if x != nil {
		return x.TargetId
	}
	return 0
}

func (x *BuffRemoved) GetBuffId() uint32 {
	if x != nil {
		return x.BuffId
	}
	return 0
}

type RespawnRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RespawnRequest) Reset() {
	*x = RespawnRequest{}
	mi := &file_messages_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RespawnRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RespawnRequest) ProtoMessage() {}

func (x *RespawnRequest) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RespawnRequest.ProtoReflect.Descriptor instead.
func (*RespawnRequest) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{18}
}

type RespawnResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Self          *EntityState           `protobuf:"bytes,1,opt,name=self,proto3" json:"self,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RespawnResponse) Reset() {
	*x = RespawnResponse{}
	mi := &file_messages_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RespawnResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RespawnResponse) ProtoMessage() {}

func (x *RespawnResponse) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RespawnResponse.ProtoReflect.Descriptor instead.
func (*RespawnResponse) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{19}
}

func (x *RespawnResponse) GetSelf() *EntityState {
	if x != nil {
		return x.Self
	}
	return nil
}

type AOIToggleRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Enabled       bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AOIToggleRequest) Reset() {
	*x = AOIToggleRequest{}
	mi := &file_messages_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AOIToggleRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AOIToggleRequest) ProtoMessage() {}

func (x *AOIToggleRequest) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AOIToggleRequest.ProtoReflect.Descriptor instead.
func (*AOIToggleRequest) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{20}
}

func (x *AOIToggleRequest) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

type AOIToggleResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Enabled       bool                   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Message       string                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AOIToggleResponse) Reset() {
	*x = AOIToggleResponse{}
	mi := &file_messages_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AOIToggleResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AOIToggleResponse) ProtoMessage() {}

func (x *AOIToggleResponse) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AOIToggleResponse.ProtoReflect.Descriptor instead.
func (*AOIToggleResponse) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{21}
}

func (x *AOIToggleResponse) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *AOIToggleResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type ServerMetrics struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	OnlinePlayers  int32                  `protobuf:"varint,1,opt,name=online_players,json=onlinePlayers,proto3" json:"online_players,omitempty"`
	TotalEntities  int32                  `protobuf:"varint,2,opt,name=total_entities,json=totalEntities,proto3" json:"total_entities,omitempty"`
	TickDurationUs int64                  `protobuf:"varint,3,opt,name=tick_duration_us,json=tickDurationUs,proto3" json:"tick_duration_us,omitempty"`
	AoiEnabled     bool                   `protobuf:"varint,4,opt,name=aoi_enabled,json=aoiEnabled,proto3" json:"aoi_enabled,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ServerMetrics) Reset() {
	*x = ServerMetrics{}
	mi := &file_messages_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ServerMetrics) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ServerMetrics) ProtoMessage() {}

func (x *ServerMetrics) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ServerMetrics.ProtoReflect.Descriptor instead.
func (*ServerMetrics) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{22}
}

func (x *ServerMetrics) GetOnlinePlayers() int32 {
	if x != nil {
		return x.OnlinePlayers
	}
	return 0
}

func (x *ServerMetrics) GetTotalEntities() int32 {
	if x != nil {
		return x.TotalEntities
	}
	return 0
}

func (x *ServerMetrics) GetTickDurationUs() int64 {
	if x != nil {
		return x.TickDurationUs
	}
	return 0
}

func (x *ServerMetrics) GetAoiEnabled() bool {
	if x != nil {
		return x.AoiEnabled
	}
	return false
}

type MetricsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MetricsRequest) Reset() {
	*x = MetricsRequest{}
	mi := &file_messages_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MetricsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetricsRequest) ProtoMessage() {}

func (x *MetricsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_messages_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetricsRequest.ProtoReflect.Descriptor instead.
func (*MetricsRequest) Descriptor() ([]byte, []int) {
	return file_messages_proto_rawDescGZIP(), []int{23}
}

var File_messages_proto protoreflect.FileDescriptor

const file_messages_proto_rawDesc = "" +
	"\n" +
	"\x0emessages.proto\x12\x05proto\"F\n" +
	"\fLoginRequest\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\x1a\n" +
	"\bpassword\x18\x02 \x01(\tR\bpassword\"\x90\x01\n" +
	"\rLoginResponse\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess\x12#\n" +
	"\rsession_token\x18\x02 \x01(\tR\fsessionToken\x12#\n" +
	"\rerror_message\x18\x03 \x01(\tR\ferrorMessage\x12\x1b\n" +
	"\tplayer_id\x18\x04 \x01(\x04R\bplayerId\"8\n" +
	"\x11EnterWorldRequest\x12#\n" +
	"\rsession_token\x18\x01 \x01(\tR\fsessionToken\"\xd1\x01\n" +
	"\x12EnterWorldResponse\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess\x12#\n" +
	"\rerror_message\x18\x02 \x01(\tR\ferrorMessage\x12&\n" +
	"\x04self\x18\x03 \x01(\v2\x12.proto.EntityStateR\x04self\x12;\n" +
	"\x0fnearby_entities\x18\x04 \x03(\v2\x12.proto.EntityStateR\x0enearbyEntities\x12\x17\n" +
	"\azone_id\x18\x05 \x01(\rR\x06zoneId\"3\n" +
	"\aVector3\x12\f\n" +
	"\x01x\x18\x01 \x01(\x02R\x01x\x12\f\n" +
	"\x01y\x18\x02 \x01(\x02R\x01y\x12\f\n" +
	"\x01z\x18\x03 \x01(\x02R\x01z\"\xf7\x01\n" +
	"\vEntityState\x12\x1b\n" +
	"\tentity_id\x18\x01 \x01(\x04R\bentityId\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12*\n" +
	"\bposition\x18\x03 \x01(\v2\x0e.proto.Vector3R\bposition\x12\x1a\n" +
	"\brotation\x18\x04 \x01(\x02R\brotation\x12\x0e\n" +
	"\x02hp\x18\x05 \x01(\x05R\x02hp\x12\x15\n" +
	"\x06max_hp\x18\x06 \x01(\x05R\x05maxHp\x12\x14\n" +
	"\x05level\x18\a \x01(\x05R\x05level\x122\n" +
	"\ventity_type\x18\b \x01(\x0e2\x11.proto.EntityTypeR\n" +
	"entityType\"\x81\x01\n" +
	"\vMoveRequest\x12*\n" +
	"\bposition\x18\x01 \x01(\v2\x0e.proto.Vector3R\bposition\x12\x1a\n" +
	"\brotation\x18\x02 \x01(\x02R\brotation\x12*\n" +
	"\bvelocity\x18\x03 \x01(\v2\x0e.proto.Vector3R\bvelocity\"^\n" +
	"\vStateUpdate\x12.\n" +
	"\bentities\x18\x01 \x03(\v2\x12.proto.EntityStateR\bentities\x12\x1f\n" +
	"\vserver_tick\x18\x02 \x01(\x03R\n" +
	"serverTick\"9\n" +
	"\vSpawnEntity\x12*\n" +
	"\x06entity\x18\x01 \x01(\v2\x12.proto.EntityStateR\x06entity\",\n" +
	"\rDespawnEntity\x12\x1b\n" +
	"\tentity_id\x18\x01 \x01(\x04R\bentityId\"'\n" +
	"\x04Ping\x12\x1f\n" +
	"\vclient_time\x18\x01 \x01(\x03R\n" +
	"clientTime\"H\n" +
	"\x04Pong\x12\x1f\n" +
	"\vclient_time\x18\x01 \x01(\x03R\n" +
	"clientTime\x12\x1f\n" +
	"\vserver_time\x18\x02 \x01(\x03R\n" +
	"serverTime\"\x99\x01\n" +
	"\x12ZoneTransferNotify\x12\x1e\n" +
	"\vnew_zone_id\x18\x01 \x01(\rR\tnewZoneId\x12&\n" +
	"\x04self\x18\x02 \x01(\v2\x12.proto.EntityStateR\x04self\x12;\n" +
	"\x0fnearby_entities\x18\x03 \x03(\v2\x12.proto.EntityStateR\x0enearbyEntities\"x\n" +
	"\x0fUseSkillRequest\x12\x19\n" +
	"\bskill_id\x18\x01 \x01(\rR\askillId\x12\x1b\n" +
	"\ttarget_id\x18\x02 \x01(\x04R\btargetId\x12-\n" +
	"\n" +
	"target_pos\x18\x03 \x01(\v2\x0e.proto.Vector3R\ttargetPos\"Q\n" +
	"\x10UseSkillResponse\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess\x12#\n" +
	"\rerror_message\x18\x02 \x01(\tR\ferrorMessage\"\xc8\x02\n" +
	"\vCombatEvent\x12\x1b\n" +
	"\tcaster_id\x18\x01 \x01(\x04R\bcasterId\x12\x1b\n" +
	"\ttarget_id\x18\x02 \x01(\x04R\btargetId\x12\x19\n" +
	"\bskill_id\x18\x03 \x01(\rR\askillId\x12\x16\n" +
	"\x06damage\x18\x04 \x01(\x05R\x06damage\x12\x12\n" +
	"\x04heal\x18\x05 \x01(\x05R\x04heal\x12\x1f\n" +
	"\vis_critical\x18\x06 \x01(\bR\n" +
	"isCritical\x12\x1f\n" +
	"\vtarget_died\x18\a \x01(\bR\n" +
	"targetDied\x12\x1b\n" +
	"\ttarget_hp\x18\b \x01(\x05R\btargetHp\x12\"\n" +
	"\rtarget_max_hp\x18\t \x01(\x05R\vtargetMaxHp\x125\n" +
	"\n" +
	"event_type\x18\n" +
	" \x01(\x0e2\x16.proto.CombatEventTypeR\teventType\"\x99\x01\n" +
	"\vBuffApplied\x12\x1b\n" +
	"\ttarget_id\x18\x01 \x01(\x04R\btargetId\x12\x17\n" +
	"\abuff_id\x18\x02 \x01(\rR\x06buffId\x12\x1b\n" +
	"\tbuff_name\x18\x03 \x01(\tR\bbuffName\x12\x1a\n" +
	"\bduration\x18\x04 \x01(\x02R\bduration\x12\x1b\n" +
	"\tis_debuff\x18\x05 \x01(\bR\bisDebuff\"C\n" +
	"\vBuffRemoved\x12\x1b\n" +
	"\ttarget_id\x18\x01 \x01(\x04R\btargetId\x12\x17\n" +
	"\abuff_id\x18\x02 \x01(\rR\x06buffId\"\x10\n" +
	"\x0eRespawnRequest\"9\n" +
	"\x0fRespawnResponse\x12&\n" +
	"\x04self\x18\x01 \x01(\v2\x12.proto.EntityStateR\x04self\",\n" +
	"\x10AOIToggleRequest\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\"G\n" +
	"\x11AOIToggleResponse\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\"\xa8\x01\n" +
	"\rServerMetrics\x12%\n" +
	"\x0eonline_players\x18\x01 \x01(\x05R\ronlinePlayers\x12%\n" +
	"\x0etotal_entities\x18\x02 \x01(\x05R\rtotalEntities\x12(\n" +
	"\x10tick_duration_us\x18\x03 \x01(\x03R\x0etickDurationUs\x12\x1f\n" +
	"\vaoi_enabled\x18\x04 \x01(\bR\n" +
	"aoiEnabled\"\x10\n" +
	"\x0eMetricsRequest*N\n" +
	"\n" +
	"EntityType\x12\x16\n" +
	"\x12ENTITY_TYPE_PLAYER\x10\x00\x12\x13\n" +
	"\x0fENTITY_TYPE_MOB\x10\x01\x12\x13\n" +
	"\x0fENTITY_TYPE_NPC\x10\x02*\xa3\x01\n" +
	"\x0fCombatEventType\x12\x17\n" +
	"\x13COMBAT_EVENT_DAMAGE\x10\x00\x12\x15\n" +
	"\x11COMBAT_EVENT_HEAL\x10\x01\x12\x15\n" +
	"\x11COMBAT_EVENT_BUFF\x10\x02\x12\x17\n" +
	"\x13COMBAT_EVENT_DEBUFF\x10\x03\x12\x16\n" +
	"\x12COMBAT_EVENT_DEATH\x10\x04\x12\x18\n" +
	"\x14COMBAT_EVENT_RESPAWN\x10\x05B\x1fZ\x1da301_game_server/proto/gen/pbb\x06proto3"

var (
	file_messages_proto_rawDescOnce sync.Once
	file_messages_proto_rawDescData []byte
)

func file_messages_proto_rawDescGZIP() []byte {
	file_messages_proto_rawDescOnce.Do(func() {
		file_messages_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_messages_proto_rawDesc), len(file_messages_proto_rawDesc)))
	})
	return file_messages_proto_rawDescData
}

var file_messages_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_messages_proto_goTypes = []any{
	(EntityType)(0),            // 0: proto.EntityType
	(CombatEventType)(0),       // 1: proto.CombatEventType
	(*LoginRequest)(nil),       // 2: proto.LoginRequest
	(*LoginResponse)(nil),      // 3: proto.LoginResponse
	(*EnterWorldRequest)(nil),  // 4: proto.EnterWorldRequest
	(*EnterWorldResponse)(nil), // 5: proto.EnterWorldResponse
	(*Vector3)(nil),            // 6: proto.Vector3
	(*EntityState)(nil),        // 7: proto.EntityState
	(*MoveRequest)(nil),        // 8: proto.MoveRequest
	(*StateUpdate)(nil),        // 9: proto.StateUpdate
	(*SpawnEntity)(nil),        // 10: proto.SpawnEntity
	(*DespawnEntity)(nil),      // 11: proto.DespawnEntity
	(*Ping)(nil),               // 12: proto.Ping
	(*Pong)(nil),               // 13: proto.Pong
	(*ZoneTransferNotify)(nil), // 14: proto.ZoneTransferNotify
	(*UseSkillRequest)(nil),    // 15: proto.UseSkillRequest
	(*UseSkillResponse)(nil),   // 16: proto.UseSkillResponse
	(*CombatEvent)(nil),        // 17: proto.CombatEvent
	(*BuffApplied)(nil),        // 18: proto.BuffApplied
	(*BuffRemoved)(nil),        // 19: proto.BuffRemoved
	(*RespawnRequest)(nil),     // 20: proto.RespawnRequest
	(*RespawnResponse)(nil),    // 21: proto.RespawnResponse
	(*AOIToggleRequest)(nil),   // 22: proto.AOIToggleRequest
	(*AOIToggleResponse)(nil),  // 23: proto.AOIToggleResponse
	(*ServerMetrics)(nil),      // 24: proto.ServerMetrics
	(*MetricsRequest)(nil),     // 25: proto.MetricsRequest
}
var file_messages_proto_depIdxs = []int32{
	7,  // 0: proto.EnterWorldResponse.self:type_name -> proto.EntityState
	7,  // 1: proto.EnterWorldResponse.nearby_entities:type_name -> proto.EntityState
	6,  // 2: proto.EntityState.position:type_name -> proto.Vector3
	0,  // 3: proto.EntityState.entity_type:type_name -> proto.EntityType
	6,  // 4: proto.MoveRequest.position:type_name -> proto.Vector3
	6,  // 5: proto.MoveRequest.velocity:type_name -> proto.Vector3
	7,  // 6: proto.StateUpdate.entities:type_name -> proto.EntityState
	7,  // 7: proto.SpawnEntity.entity:type_name -> proto.EntityState
	7,  // 8: proto.ZoneTransferNotify.self:type_name -> proto.EntityState
	7,  // 9: proto.ZoneTransferNotify.nearby_entities:type_name -> proto.EntityState
	6,  // 10: proto.UseSkillRequest.target_pos:type_name -> proto.Vector3
	1,  // 11: proto.CombatEvent.event_type:type_name -> proto.CombatEventType
	7,  // 12: proto.RespawnResponse.self:type_name -> proto.EntityState
	13, // [13:13] is the sub-list for method output_type
	13, // [13:13] is the sub-list for method input_type
	13, // [13:13] is the sub-list for extension type_name
	13, // [13:13] is the sub-list for extension extendee
	0,  // [0:13] is the sub-list for field type_name
}

func init() { file_messages_proto_init() }
func file_messages_proto_init() {
	if File_messages_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_messages_proto_rawDesc), len(file_messages_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   24,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_messages_proto_goTypes,
		DependencyIndexes: file_messages_proto_depIdxs,
		EnumInfos:         file_messages_proto_enumTypes,
		MessageInfos:      file_messages_proto_msgTypes,
	}.Build()
	File_messages_proto = out.File
	file_messages_proto_goTypes = nil
	file_messages_proto_depIdxs = nil
}
