MHServerEmu/proto/CommonMessages.proto
2023-12-12 12:58:19 +03:00

712 lines
18 KiB
Protocol Buffer

syntax = "proto2";
package Gazillion;
enum InventoryLoadStateEnum {
eILS_Unloaded = 0;
eILS_Archived = 1;
eILS_Loaded = 2;
}
enum GameDialogResultEnum {
eGDR_TimeoutOnServer = -2;
eGDR_TimeoutOnClient = -1;
eGDR_Closed = 0;
eGDR_Option1 = 1;
eGDR_Option2 = 2;
eGDR_Option3 = 3;
eGDR_Checkbox = 4;
}
enum TeleportContextEnum {
TeleportContext_Invalid = 0;
TeleportContext_Bodyslide = 1;
TeleportContext_Bot = 2;
TeleportContext_Debug = 3;
TeleportContext_MetaGame = 4;
TeleportContext_Mission = 5;
TeleportContext_Party = 6;
TeleportContext_Portal = 7;
TeleportContext_Power = 8;
TeleportContext_Resurrect = 9;
TeleportContext_Transition = 10;
TeleportContext_Waypoint = 11;
TeleportContext_StoryWarp = 12;
}
enum ModifyCircleOperation {
eMCO_Add = 1;
eMCO_Remove = 2;
}
enum GlobalTuningVar {
eGTV_VendorBuyPrice = 0;
eGTV_VendorSellPrice = 1;
eGTV_VendorXPGain = 2;
eGTV_PVPEnabled = 3;
eGTV_XPGain = 4;
eGTV_LootDropRate = 5;
eGTV_LootSpecialDropRate = 6;
eGTV_LootRarity = 7;
eGTV_PartyXPBonusPct = 8;
eGTV_PlayerTradeEnabled = 9;
eGTV_CosmicPrestigeXPPct = 10;
eGTV_LootVaporizationEnabled = 11;
eGTV_XPBuffDisplay = 12;
eGTV_SIFBuffDisplay = 13;
eGTV_RIFBuffDisplay = 14;
eGTV_OmegaXPPct = 15;
eGTV_RespectLevelForGlobalXP = 16;
eGTV_RespectLevelForGlobalRIF = 17;
eGTV_RespectLevelForGlobalSIF = 18;
eGTV_RespectLevelForOmegaXP = 19;
eGTV_RespectLevelForAvatarXP = 20;
eGTV_RespectLevelForRegionXP = 21;
eGTV_ServerBonusUnlockLevelOverride = 22;
eGTV_BoostTimersRunning = 23;
eGTV_InfinityXPPct = 24;
eGTV_RespectLevelForInfinityXP = 25;
eGTV_SuperVerboseMetricsEnabled = 26;
eGTV_HighVolumeMetricsEnabled = 27;
eGTV_MediumVolumeMetricsEnabled = 28;
eGTV_LowVolumeMetricsEnabled = 29;
eGTV_NumGlobalTuningVars = 30;
}
enum AreaTuningVar {
eATV_AreaMobSpawnHeat = 0;
eATV_AreaMobSpawnHeatReturn = 1;
eATV_NumAreaTuningVars = 2;
}
enum WorldEntityTuningVar {
eWETV_MobPowerDamage = 0;
eWETV_MobHealth = 1;
eWETV_MobXP = 2;
eWETV_MobDropRate = 3;
eWETV_MobSpecialDropRate = 4;
eWETV_Enabled = 5;
eWETV_MobDropRarity = 6;
eWETV_VendorEnabled = 7;
eWETV_Unused1 = 8;
eWETV_EternitySplinterPrice = 9;
eWETV_LootGroupNum = 10;
eWETV_LootNoDropPercent = 11;
eWETV_Visible = 12;
eWETV_NumWorldEntityTuningVars = 13;
}
enum AvatarEntityTuningVar {
eAETV_BonusXPPct = 0;
eAETV_XPBuffDisplay = 1;
eAETV_EternitySplinterPrice = 2;
eAETV_Enabled = 3;
eAETV_NumAvatarEntityTuningVars = 4;
}
enum PopObjTuningVar {
ePOTV_PopulationObjectWeight = 0;
ePOTV_NumPopulationObjectTuningVars = 1;
}
enum PowerTuningVar {
ePTV_PowerCost = 0;
ePTV_PowerDamagePVE = 1;
ePTV_PowerDamagePVP = 2;
ePTV_PowerEnabled = 3;
ePTV_NumPowerTuningVars = 4;
}
enum RegionTuningVar {
eRTV_PlayerLimit = 0;
eRTV_Enabled = 1;
eRT_BonusXPPct = 2;
eRT_XPBuffDisplay = 3;
eRT_BonusItemFindMultiplier = 4;
eRTV_NumRegionTuningVars = 5;
}
enum LootTableTuningVar {
eLTTV_Enabled = 0;
eLTTV_Weight = 1;
eLTTV_Rolls = 2;
eLTTV_NoDropPercent = 3;
eLTTV_GroupNum = 4;
eLTTV_NumLootTableTuningVars = 5;
}
enum MissionTuningVar {
eMTV_Enabled = 0;
eMTV_EventInstance = 1;
eMTV_NumMissionTuningVars = 2;
}
enum ConditionTuningVar {
eCTV_Enabled = 0;
eCTV_NumConditionTuningVars = 1;
}
enum PublicEventTuningVar {
ePETV_Enabled = 0;
ePETV_EventInstance = 1;
ePETV_NumPublicEventTuningVars = 2;
}
enum MetricsFrequencyTuningVar {
eMFTV_SampleRate = 0;
eMFTV_NumMetricsFrequencyTuningVars = 1;
}
enum RegionRequestQueueUpdateVar {
eRRQ_Invalid = 1;
eRRQ_SelectQueueMethod = 2;
eRRQ_RemovedFromGroup = 3;
eRRQ_RemovedGracePeriod = 4;
eRRQ_RemovedGracePeriodExpired = 5;
eRRQ_RaidNotAllowed = 6;
eRRQ_PartyTooLarge = 7;
eRRQ_GroupInvitePending = 8;
eRRQ_GroupInviteAccepted = 9;
eRRQ_GroupInviteDeclined = 10;
eRRQ_GroupInviteExpired = 11;
eRRQ_WaitingInQueue = 12;
eRRQ_WaitingInWaitlist = 13;
eRRQ_WaitingInWaitlistLocked = 14;
eRRQ_MatchInvitePending = 15;
eRRQ_MatchInviteAccepted = 16;
eRRQ_MatchInviteDeclined = 17;
eRRQ_MatchInviteExpired = 18;
eRRQ_InMatch = 19;
}
enum RegionRequestQueueCommandVar {
eRRQC_AddToQueueSolo = 1;
eRRQC_AddToQueueParty = 2;
eRRQC_AddToQueueBypass = 3;
eRRQC_GroupInviteAccept = 4;
eRRQC_GroupInviteDecline = 5;
eRRQC_RemoveFromQueue = 6;
eRRQC_MatchInviteAccept = 7;
eRRQC_MatchInviteDecline = 8;
eRRQC_DebugForceStart = 9;
eRRQC_DebugInfo = 10;
eRRQC_RequestToJoinGroup = 11;
}
enum RegionPlayerAccessVar {
eRPA_Invalid = 0;
eRPA_Open = 1;
eRPA_InviteOnly = 2;
eRPA_BodyslideOnly = 3;
eRPA_Locked = 4;
eRPA_Closed = 5;
}
enum RegionTransferFailure {
eRTF_NoError = 0;
eRTF_GenericError = 1;
eRTF_CreationProhibitedByGame = 2;
eRTF_Full = 3;
eRTF_PartiesNotAllowed = 4;
eRTF_RaidsNotAllowed = 5;
eRTF_TargetPlayerUnavailable = 6;
eRTF_BodyslideRegionUnavailable = 7;
eRTF_DestinationInaccessible = 8;
eRTF_MatchNoTeleportToPlayer = 9;
eRTF_MatchNoTeleportToParty = 10;
eRTF_PlayerBlacklistedFromRegion = 11;
eRTF_EndlessProgressedTooFar = 12;
}
enum AvailableStoreActions {
StoreAction_ViewHomeTab = 1;
StoreAction_ViewHeroesTab = 2;
StoreAction_ViewCostumesTab = 3;
StoreAction_ViewItemsTab = 4;
StoreAction_ViewCardsTab = 5;
StoreAction_ViewSpecialsTab = 6;
StoreAction_ViewCostumesForHero = 7;
StoreAction_UserPressedBuy = 8;
StoreAction_UserPressedAddGs = 9;
StoreAction_StoreOpened = 10;
StoreAction_NumberOfStoreActions = 11;
}
enum MetricWaveResults {
MetricWaveResults_Success = 1;
MetricWaveResults_FailQuit = 2;
MetricWaveResults_FailPlayerWipe = 3;
MetricWaveResults_FailStudentDeath = 4;
MetricWaveResults_FailDeathTimeout = 5;
MetricWaveResults_NumberOfMetricWaveResults = 6;
}
enum LegendaryMissionShareResultType {
LegendaryMissionShare_Sent = 1;
LegendaryMissionShare_Accepted = 2;
LegendaryMissionShare_Declined = 3;
LegendaryMissionShare_RequestAlreadyPending = 4;
LegendaryMissionShare_FailPlayerNotFound = 5;
LegendaryMissionShare_FailNotEligible = 6;
LegendaryMissionShare_FailAlreadyHave = 7;
LegendaryMissionShare_FailCannotShareWithSelf = 8;
LegendaryMissionShare_FailCannotReShare = 9;
LegendaryMissionShare_UnknownFailure = 10;
}
enum GroupType {
GroupType_Invalid = 0;
GroupType_Party = 1;
GroupType_Raid = 2;
}
enum CurrencyType {
Currency_EternitySplinter = 1;
Currency_CubeShard = 2;
Currency_OdinMarks = 3;
Currency_Credits = 4;
Currency_ResearchDrives = 5;
Currency_Worldstones = 6;
Currency_EyeOfDemonfire = 7;
Currency_HeartOfDemonfire = 8;
Currency_CrownOfValor = 9;
Currency_OmegaFiles = 10;
Currency_GenoshaRaid = 11;
Currency_DangerRoomMerits = 12;
CurrencySpend_NumberOfCurrencySpendTypes = 13;
}
enum StoreCurrencyType {
StoreCurrency_G = 0;
StoreCurrency_ES = 1;
}
enum GroupLeaveReason {
GROUP_LEAVE_REASON_LEFT = 1;
GROUP_LEAVE_REASON_BOOTED = 2;
GROUP_LEAVE_REASON_DISBANDED = 3;
GROUP_LEAVE_REASON_DISCONNECTED = 4;
}
enum LeaderboardState {
eLBS_Created = 0;
eLBS_Active = 1;
eLBS_Expired = 2;
eLBS_Reward = 3;
eLBS_RewardsPending = 4;
eLBS_Rewarded = 5;
}
enum GroupingStateOfPlayer {
eGSOP_Solo = 1;
eGSOP_PendingInvite = 2;
eGSOP_InGroup = 3;
}
enum GroupingOperationType {
eGOP_InvitePlayer = 1;
eGOP_AcceptInvite = 2;
eGOP_DeclineInvite = 3;
eGOP_JoinPartyWithPSNSessionId = 4;
eGOP_LeaveParty = 5;
eGOP_DisbandParty = 6;
eGOP_ServerNotification = 7;
eGOP_KickPlayer = 8;
eGOP_ChangeLeader = 9;
eGOP_ConvertToRaid = 10;
eGOP_ConvertToRaidAccept = 11;
eGOP_ConvertToRaidDecline = 12;
eGOP_ConvertToParty = 13;
eGOP_ChangeDifficulty = 14;
}
enum GroupingOperationResult {
eGOPR_Success = 1;
eGOPR_NoChange = 2;
eGOPR_SystemError = 3;
eGOPR_TargetPlayerNotFound = 4;
eGOPR_TargetedSelf = 5;
eGOPR_AlreadyHasInvite = 6;
eGOPR_NoPendingInvite = 7;
eGOPR_PartyFull = 8;
eGOPR_NotLeader = 9;
eGOPR_NotInParty = 10;
eGOPR_NotInSameParty = 11;
eGOPR_PendingPartyDisbanded = 12;
eGOPR_AlreadyInParty = 14;
eGOPR_HasNoCheckpoint = 15;
}
enum PartyMemberEvent {
ePME_Remove = 1;
ePME_Add = 2;
ePME_Update = 3;
}
enum CoopOp {
CoopOp_StartForSlot = 0;
CoopOp_EndForSlot = 1;
}
enum CoopOpResult {
CoopOpResult_Success = 0;
CoopOpResult_GenericError = 1;
CoopOpResult_PartyFull = 2;
CoopOpResult_RegionFull = 3;
CoopOpResult_QueueGroupFull = 4;
CoopOpResult_SpawnFailed = 5;
CoopOpResult_SlotActive = 6;
CoopOpResult_AvatarInUse = 7;
CoopOpResult_AvatarLocked = 8;
}
enum PSNNotifyType {
PSNNotify_PSNSessionStart = 0;
PSNNotify_PSNSessionEnd = 1;
}
message NetStructPoint3 {
optional float X = 1 [default = 0];
optional float Y = 2 [default = 0];
optional float Z = 3 [default = 0];
}
message NetStructIPoint3 {
optional uint32 X = 1 [default = 0];
optional uint32 Y = 2 [default = 0];
optional uint32 Z = 3 [default = 0];
}
message NetStructPoint2 {
optional float X = 1 [default = 0];
optional float Y = 2 [default = 0];
}
message NetStructIPoint2 {
optional uint32 X = 1 [default = 0];
optional uint32 Y = 2 [default = 0];
}
message NetStructProperty {
required uint64 id = 1;
required uint64 value = 2;
}
message NetStructPropertyList {
repeated NetStructProperty properties = 1;
}
message NetStructFormatStringArg {
optional uint64 localeStringId = 1;
optional string stringValue = 2;
optional string playerName = 3;
optional int64 intValue = 4;
optional float floatValue = 5;
}
message NetStructFormatString {
required uint64 formatStringId = 1;
repeated NetStructFormatStringArg args = 2;
}
message NetStructDialogButton {
required GameDialogResultEnum type = 1;
required NetStructFormatString formatString = 2;
required uint32 style = 3;
optional bool enabled = 4 [default = true];
}
message NetStructDialog {
required NetStructFormatString messageString = 1;
repeated NetStructDialogButton buttonStrings = 2;
optional NetStructFormatString checkboxString = 3;
optional uint64 targetId = 4 [default = 0];
optional uint64 interactorId = 5 [default = 0];
required uint32 options = 6;
}
message NetStructRegionLocation {
required uint64 regionId = 1;
required NetStructPoint3 position = 2;
}
message NetStructRegionTarget {
required uint64 regionProtoId = 1;
required uint64 areaProtoId = 2;
required uint64 cellProtoId = 3;
required uint64 entityProtoId = 4;
}
message NetStructTransferParams {
required uint64 TransferId = 1;
required uint64 DestRegionId = 2;
required uint64 DestRegionProtoId = 3;
optional NetStructRegionTarget DestTarget = 4;
optional NetStructRegionLocation DestLocation = 5;
optional uint64 DestEntityDbId = 6 [default = 0];
optional int32 DestTeamIndex = 7 [default = -1];
optional bool HasInvite = 8 [default = false];
optional NetStructRegionOrigin Origin = 9;
}
message NetStructRegionOrigin {
optional NetStructRegionLocation location = 1;
optional NetStructRegionTarget target = 2;
optional uint64 transitionDbId = 3;
}
message NetStructPortalInstance {
required uint64 entityDbId = 1;
required NetStructRegionLocation location = 2;
optional uint64 ownerPlayerDbId = 3;
optional bool boundToOwner = 4;
}
message ChangeRegionRequestHeader {
required uint64 requestingGameId = 1;
required uint64 requestingPlayerGuid = 2;
required NetStructRegionOrigin origin = 3;
required TeleportContextEnum type = 4;
}
message NetStructCreateRegionParams {
required uint32 level = 1;
optional NetStructRegionOrigin origin = 2;
optional bool cheat = 3;
optional uint64 difficultyTierProtoId = 4;
optional uint32 endlessLevel = 5 [default = 0];
optional uint64 gameStateId = 6;
optional uint64 matchNumber = 7 [default = 0];
optional uint32 seed = 8;
optional uint64 parentRegionId = 9;
optional uint64 requiredItemProtoId = 10;
optional uint64 requiredItemEntityId = 11;
optional NetStructPortalInstance accessPortal = 12;
repeated uint64 affixes = 13;
optional uint32 playerDeaths = 14 [default = 0];
optional uint64 dangerRoomScenarioItemDbGuid = 15 [default = 0];
optional uint64 itemRarity = 16 [default = 0];
optional bytes propertyBuffer = 17;
optional uint64 dangerRoomScenarioR = 18;
}
message NetStructModChangeObject {
required uint64 mod = 1;
required uint32 change = 2;
}
message NetStructAffixSpec {
required uint64 affixProtoRef = 1;
required uint64 scopeProtoRef = 2;
required int32 seed = 3;
}
message NetStructItemSpec {
required uint64 itemProtoRef = 1;
required uint32 itemLevel = 2;
required uint64 rarityProtoRef = 3;
required uint32 seed = 4;
optional uint32 creditsAmount = 5;
repeated NetStructAffixSpec affixSpecs = 6;
optional uint64 equippableBy = 7;
}
message CommunityMemberAvatarSlot {
optional uint64 avatarRefId = 1;
optional uint64 costumeRefId = 2;
optional uint32 level = 3;
optional uint32 prestigeLevel = 4;
optional string onlineId = 5;
}
message CommunityMemberBroadcast {
required uint64 memberPlayerDbId = 1;
optional uint64 currentRegionRefId = 2 [default = 123];
optional uint64 currentDifficultyRefId = 3;
repeated CommunityMemberAvatarSlot slots = 4;
optional string currentPlayerName = 5;
repeated uint64 memberPlayerDbIdIgnoreList = 6;
optional int32 isOnline = 7 [default = -1];
optional int64 lastLogoutTimeAsFileTimeUtc = 8;
optional uint64 currentCostumeRefId = 9 [default = 123];
optional uint64 consoleAccountId = 10;
optional uint64 secondaryConsoleAccountId = 11;
optional string secondaryPlayerName = 12;
}
message CommunityNotify {
required uint64 targetPlayerDbId = 1;
required string sourcePlayerName = 2;
required uint64 circleId = 3;
required ModifyCircleOperation operation = 4;
}
message NetStructLiveTuningSettingEnumValue {
required int32 tuningVarEnum = 1;
required float tuningVarValue = 2;
}
message NetStructLiveTuningSettingProtoEnumValue {
required uint64 tuningVarProtoId = 1;
required int32 tuningVarEnum = 2;
required float tuningVarValue = 3;
}
message ChangeRegionFailed {
required RegionTransferFailure reason = 1;
optional uint64 regionProtoId = 2;
optional uint64 requiredItemProtoId = 3;
}
message NetStructChatChannelFilterState {
required uint64 channelProtoId = 1;
required bool isSubscribed = 2;
}
message NetStructChatTabState {
required uint64 channelProtoId = 1;
}
message NetStructGameplayOptions {
repeated uint64 optionSettings = 1;
repeated NetStructChatChannelFilterState chatChannelFiltersMap = 2;
repeated NetStructChatTabState chatTabChannelsArray = 3;
repeated uint64 armorRarityVaporizeThresholdProtoId = 4;
}
message ShareLegendaryMissionRequest {
required uint64 missionDataRef = 1;
}
message ShareLegendaryMissionResult {
required uint64 missionDataRef = 1;
required LegendaryMissionShareResultType result = 2;
}
message BillingP2PGiftResult {
required uint64 transactionId = 1;
required bool didSucceed = 2;
optional int64 currentBalance = 3;
required uint64 skuId = 4;
optional int32 errorCode = 5;
required int32 numUnits = 6 [default = 1];
required string giftMessage = 7;
required uint64 senderId = 8;
optional string sellableObjectId = 9;
}
message LeaderboardPlayerScoreQuery {
required uint64 leaderboardId = 1;
optional uint64 instanceId = 2 [default = 0];
required uint64 playerId = 3;
optional uint64 avatarId = 4 [default = 0];
}
message LeaderboardGuildScoreQuery {
required uint64 leaderboardId = 1;
optional uint64 instanceId = 2 [default = 0];
required uint64 guildId = 3;
}
message LeaderboardMetaScoreQuery {
required uint64 leaderboardId = 1;
optional uint64 instanceId = 2 [default = 0];
required uint64 playerId = 3;
}
message LeaderboardDataQuery {
required uint64 leaderboardId = 1;
optional uint64 instanceId = 2 [default = 0];
}
message LeaderboardMetadata {
required uint64 leaderboardId = 1;
required uint64 instanceId = 2;
required LeaderboardState state = 3;
required int64 activationTimestampUtc = 4;
required int64 expirationTimestampUtc = 5;
required bool visible = 6;
}
message LeaderboardEntry {
required string name = 1;
optional uint64 nameId = 2;
required uint64 gameId = 3;
required uint64 score = 4;
optional uint64 avatarId = 5;
}
message LeaderboardTableData {
required LeaderboardMetadata info = 1;
repeated LeaderboardEntry entries = 2;
}
message LeaderboardScoreData {
required uint64 leaderboardId = 1;
optional uint64 instanceId = 2 [default = 0];
optional uint64 playerId = 3;
optional uint64 guildId = 4;
optional uint64 subLeaderboardId = 5;
required uint64 score = 6;
required uint32 percentileBucket = 7;
optional uint64 avatarId = 8 [default = 0];
}
message LeaderboardReport {
required uint64 leaderboardId = 1;
optional uint64 instanceId = 2 [default = 0];
optional LeaderboardScoreData scoreData = 3;
optional LeaderboardTableData tableData = 4;
optional uint64 nextUpdateTimeIntervalMS = 5;
}
message LeaderboardInstanceData {
required uint64 instanceId = 1;
required LeaderboardState state = 2;
required int64 activationTimestamp = 3;
required int64 expirationTimestamp = 4;
required bool visible = 5;
}
message WorldViewEntry {
required uint64 regionId = 1;
required uint64 regionProtoRefId = 2;
}
message PartyOperationPayload {
required uint64 requestingPlayerDbId = 1;
required string requestingPlayerName = 2;
optional uint64 requestingPlayerPsnAccountId = 3;
optional uint64 targetPlayerDbId = 4;
optional string targetPlayerName = 5;
required GroupingOperationType operation = 6;
optional string psnSessionId = 7;
optional uint64 difficultyTierProtoId = 8;
}
message PartyMemberInfo {
required uint64 playerDbId = 1;
required string playerName = 2;
repeated uint64 boosts = 3;
optional uint64 consoleAccountId = 4;
optional uint64 secondaryConsoleAccountId = 5;
optional string secondaryPlayerName = 6;
}
message PartyInfo {
required uint64 groupId = 1;
required GroupType type = 2;
required uint64 leaderDbId = 3;
required uint64 difficultyTierProtoId = 4;
optional string groupPSNSessionId = 5;
repeated PartyMemberInfo members = 6;
optional string voiceChatFrontendIPAddr = 7;
optional string voiceChatFrontendPort = 8;
}
message PSNNotification {
required uint64 requestingPlayerDbId = 1;
required PSNNotifyType type = 2;
optional string psnSessionId = 3;
}