| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744 |
- // message结构的属性名请使用 驼峰小写字母开始
- syntax = "proto3";
- option go_package = "/pb";
- package pb;
- import "base_type.proto";
- // 玩家拥有的地图对象列表
- message OwnerMapObjects {
- repeated OwnerMapObject list = 1;
- }
- // 玩家拥有的地图对象
- message OwnerMapObject {
- // 对象唯一id
- int64 objectID = 1;
- // 对象所在坐标点
- Point point = 2;
- // 对象类型,见 map.go -> ObjectType 地块对象类型
- int32 objectType = 3;
- // 对象配置ID
- int32 configID = 4;
- // 建筑对象信息
- OwnerMapObjectBuild build = 5;
- // 资源对象信息
- OwnerMapObjectRes res = 6;
- }
- // 玩家拥有的地图对象-资源
- message OwnerMapObjectRes {
- // 放弃截止时间(ms)
- int64 discardTime = 1;
- // 免战结束时间(毫秒)
- int64 invincibleEndTime = 2;
- }
- // 玩家拥有的地图对象-建筑
- message OwnerMapObjectBuild {
- // 是否正在建造中
- bool isBuilding = 1;
- // 建造完成时间(毫秒)
- int64 buildEndTime = 2;
- // 是否正在升级中
- bool isUpgrading = 3;
- // 升级完成时间(毫秒)
- int64 upgradeEndTime = 4;
- // 建筑等级
- int32 level = 5;
- // 放弃截止时间(ms)
- int64 discardTime = 6;
- // 免战结束时间(毫秒)
- int64 invincibleEndTime = 7;
- // 如果当前建筑是营帐 则为营帐下标1-5 其他默认为0
- int32 index = 8;
- }
- // 地图对象列表
- message MapObjects {
- // 对象列表
- repeated MapObject objectList = 1;
- // 军团列表
- repeated MapLegion legionList = 2;
- }
- // 地图玩家对象列表
- message MapPlayers {
- repeated MapPlayer list = 1;
- }
- // 地图联盟对象列表
- message MapLeagues {
- repeated MapLeague list = 1;
- }
- // 地图中的玩家对象信息
- message MapPlayer {
- // 玩家ID
- int64 playerID = 1;
- // 玩家名
- string playerName = 2;
- // 主将头像?
- }
- // 地图中的联盟对象信息
- message MapLeague {
- // 联盟ID
- int64 leagueID = 1;
- // 联盟名
- string leagueName = 2;
- // 联盟简称
- string leagueAbbName = 3;
- // 旗帜背景ID L-联盟-旗帜表旗帜ID
- int32 flagBg = 4;
- // 旗帜图标ID L-联盟-旗帜表旗帜ID
- int32 flagIcon = 5;
- }
- // 地图对象
- message MapObject {
- // 对象唯一id
- int64 objectID = 1;
- // 所有者的玩家ID
- int64 playerID = 2;
- // 所有者的联盟ID
- int64 leagueID = 3;
- // 对象所在坐标点
- Point point = 4;
- // 对象类型,用来读取下面对应的配置ID和结构
- // 见 map.go -> ObjectType 地块对象类型
- int32 objectType = 5;
- // 对象配置ID
- int32 configID = 6;
- // 寻路信息(运用于行军/军团等可移动对象)
- MapPath path = 7;
- // 免战结束时间(毫秒)
- int64 invincibleEndTime = 8;
- // 系统城对象信息
- MapCastle castle = 11;
- // 建筑对象信息
- MapBuild build = 12;
- // 怪物对象信息
- MapMonster monster = 13;
- // 资源对象信息
- MapRes res = 14;
- // 行军对象信息
- MapMarch march = 15;
- }
- // 地图对象寻路结构
- message MapPath {
- // 行军的起点与终点
- Point2 fromTo = 1;
- // 路径列表(后续只发路径关键点)
- repeated Point points = 2;
- // 路点下标(当前在第几个点)
- int32 pointIndex = 3;
- // 路径最后一次更新时间(毫秒)
- int64 lastTime = 4;
- // 行军速度
- int64 speed = 5;
- // 行军类型
- // 见 map.go -> MarchType 行军类型
- int32 marchType = 6;
- // 行军状态
- // 见 map.go -> MarchState 行军状态
- int32 marchState = 7;
- // 状态开始时间(毫秒)
- int64 stateStartTime = 8;
- // 状态结束时间(毫秒)
- int64 stateEndTime = 9;
- }
- // 城池对象
- message MapCastle {
- // 驻城部队数量
- int32 garrisonArimes = 1;
- // 当前耐久度
- int32 durability = 2;
- // 耐久恢复时间(毫秒)
- int64 recoverTime = 3;
- // 调动数量
- int32 redeployNum = 4;
- // 封印结束时间(毫秒)
- int64 sealEndTime = 5;
- // 首次占领的联盟ID
- int64 firstLeagueID = 10;
- // 首次占领的联盟名称
- string firstLeagueName = 11;
- // 首次占领的联盟简称
- string firstLeagueAbbName = 12;
- // 首次占领的联盟图标
- int32 firstLeagueIcon = 13;
- // 关联的建筑对象ID列表
- repeated int64 buildObjectIDList = 20 [deprecated = true];
- // 宣战结束时间(毫秒)
- int64 startWarEndTime = 21;
- // 攻城结束时间(毫秒)
- int64 siegeEndTime = 22;
- // 子对象ID列表
- repeated int64 childObjectIDs = 23;
- // 父对象ID
- int64 parentObjectID = 24;
- }
- // 建筑对象
- message MapBuild {
- // 是否正在建造中
- bool isBuilding = 1;
- // 建造完成时间(毫秒)
- int64 buildEndTime = 2;
- // 是否正在升级中
- bool isUpgrading = 3;
- // 升级完成时间(毫秒)
- int64 upgradeEndTime = 4;
- // 建筑等级
- int32 level = 5;
- // 如果当前建筑是营帐 则为营帐下标1-5 其他默认为0
- int32 index = 6;
- // 调动数量
- int32 redeployNum = 7;
- // 建筑外观ID D-地图-主城外观表主城外观ID
- int32 showID = 8;
- // 驻城部队数量
- int32 garrisonArimes = 10;
- // 当前耐久度
- int32 durability = 11;
- // 耐久恢复时间(毫秒)
- int64 recoverTime = 12;
- // 最大耐久度
- int32 maxDurability = 13;
- // 放弃截止时间(ms)
- int64 discardTime = 20;
- // 关联的城池对象castleObjectIDID
- int64 castleObjectID = 21 [deprecated = true];
- // 宣战结束时间(毫秒)
- int64 startWarEndTime = 22 [deprecated = true];
- // 攻城结束时间(毫秒)
- int64 siegeEndTime = 23 [deprecated = true];
- // 整顿结束时间(毫秒)
- int64 reorganizeEndTime = 30;
- // 加固准备结束时间(毫秒)
- int64 reinforcePrepareEndTime = 31;
- // 加固结束时间(毫秒)
- int64 reinforceEndTime = 32;
- }
- // 怪物对象
- message MapMonster {
- // 存活截止时间(毫秒)
- int64 aliveTime = 1;
- // 是否被讨伐中
- bool isCrusade = 2;
- }
- // 资源对象
- message MapRes {
- // 采集中的行军对象ID
- int64 gatherObjectID = 1;
- // 存活终止时间(毫秒)
- int64 aliveTime = 2;
- // 剩余资源量
- int64 remain = 3;
- // 放弃截止时间(ms)
- int64 discardTime = 11;
- }
- // 军团(包含多个行军对象)
- message MapLegion {
- // 对象唯一id
- int64 objectID = 1;
- // 所属的联盟ID
- int64 leagueID = 2;
- // 军团的名称
- string legionName = 3;
- // 对象所在坐标点
- Point point = 4;
- // 寻路信息(运用于行军/军团等可移动对象)
- MapPath path = 5;
- // 军团的行军对象列表
- repeated MapObject marchList = 6;
- // 军团领队的对象ID
- int64 leadObjectID = 7;
- }
- // 行军对象
- message MapMarch {
- // 行军展示ID(配置文件中)
- int32 marchViewID = 1 [deprecated = true];
- // 兵种ID1
- int32 armID1 = 2 [deprecated = true];
- // 兵种ID2
- int32 armID2 = 3 [deprecated = true];
- // 兵种ID3
- int32 armID3 = 4 [deprecated = true];
- // 负重比例(0-100)对应资源运输表的ID
- int32 loadRatio = 5;
- // 调动目标建筑对象ID
- int64 redeployObjectID = 6;
- // 征兵结束时间(毫秒)
- int64 conscriptEndTime = 7;
- // 行军展示信息
- MarchView marchView = 8;
- }
- // 行军请求
- message MapMarchRequest {
- // 选择的队伍ID
- int32 teamID = 1;
- // 行军类型,意图
- // 见 map.go -> MarchType 行军类型
- int32 marchType = 2;
- // 行军的目标坐标点
- Point point = 3;
- // 行军的目标对象ID
- int64 targetObjectID = 4;
- // 是否自动回城
- bool isAutoRetreat = 10;
- // 是否自动征兵
- bool isAutoConscript = 11;
- }
- // 建造请求
- message MapBuildRequest {
- // 地图建筑的配置ID
- int32 configID = 1;
- // 建造的中心坐标点
- Point point = 2;
- }
- // 建筑升级请求
- message MapBuildUpgradeRequest {
- // 地图建筑的对象ID
- int64 objectID = 1;
- // 地图建筑的配置ID
- int32 configID = 2;
- // 当前等级
- int32 level = 3;
- }
- // 地图对象更新列表
- message MapObjectsUpdate {
- repeated MapObjectUpdate list = 1;
- }
- // 地图对象更新
- message MapObjectUpdate {
- // 是否删除
- bool isDelete = 1;
- // 对象ID
- int64 objectID = 2;
- // 配置ID
- int32 configID = 3;
- // 对象类型
- int32 objectType = 4;
- // 坐标
- Point point = 5;
- // 时间(毫秒)
- int64 time = 6;
- }
- // 行军对象的状态
- message MapMarchState {
- // 行军对象ID
- int64 objectID = 1;
- // 行军对象当前坐标点
- Point point = 2;
- // 行军对象当前状态
- // 见 map.go -> MarchState 行军状态
- int32 state = 3;
- // 状态开始时间 (毫秒)
- int64 stateStartTime = 4;
- // 状态结束时间 (毫秒)
- int64 stateEndTime = 5;
- // 行军速度
- int64 speed = 6;
- // 调动目标建筑对象ID
- int64 redeployObjectID = 7;
- }
- // 玩家登录地图后,带下去一些进入地图之前需要知道必要的信息
- message MapLoginResponse {
- // 玩家出生州ID(0表示未选州)
- int32 bornStateID = 1;
- // 玩家声望
- int32 prestige = 2;
- }
- // 玩家进入地图成功后下发的信息
- message MapEnterResponse {
- // 地基建造截止时间 (毫秒)
- int64 cityBaseEndTime = 1;
- // 迁城冷却截止时间 (毫秒)
- int64 relocateEndTime = 2;
- // 再起截止时间(毫秒)
- int64 comebackEndTime = 4;
- // 选州截止时间(毫秒)
- int64 rechooseComebackEndTime = 5;
- // 加固准备结束时间(毫秒)
- int64 reinforcePrepareEndTime = 6;
- // 加固生效结束时间(毫秒)
- int64 reinforceEffectEndTime = 7;
- // 加固冷却结束时间(毫秒)
- int64 reinforceCooldownEndTime = 8;
- // 资源守军恢复倒计时(秒) key: objectID value: 恢复时间
- I64Map resDefends = 10;
- }
- // 地图攻城信息
- message MapSiege {
- // 系统城对象ID
- int64 castleObjectID = 1;
- // 系统城配置ID
- int32 castleConfigID = 2;
- // 攻城大营对象ID
- int64 siegeCampObjectID = 3;
- // 当前攻城阶段
- // 见 siege_stage.go 文件 SiegeStage 枚举
- int32 siegeStage = 11;
- // 当前阶段结束时间(毫秒)
- int64 stageEndTime = 12;
- }
- // 发起集结请求
- message MapAssembleRequest {
- // 要集结的队伍ID
- int32 teamID = 1;
- // 集结的目标对象ID
- int64 objectID = 2;
- // 集结的目标对象类型
- int32 objectType = 3;
- // 集结的目标坐标
- Point point = 4;
- // 集结时间(分钟)
- int32 assembleTime = 5;
- // 是否自动回城
- bool isAutoRetreat = 6;
- }
- // 加入集结请求
- message MapAssembleJoinRequest {
- // 要加入的队伍ID
- int32 teamID = 1;
- // 要加入的集结ID
- int64 assembleID = 2;
- // 是否自动回城
- bool isAutoRetreat = 3;
- }
- message MapAssembleList {
- repeated MapAssemble list = 1;
- }
- // 地图集结信息
- message MapAssemble {
- // 集结信息唯一ID
- int64 assembleID = 1;
- // 发起人玩家ID
- int64 leadPlayerID = 2;
- // 出发坐标点
- Point startPoint = 3;
- // 集结结束时间(毫秒)
- int64 assembleEndTime = 4;
- // 集结对象列表
- repeated MapAssembleMarch marchList = 5;
- // 是否已出发(讨伐中)
- bool isDepart = 6;
- // 集结目标对象ID
- int64 targetObjectID = 11;
- // 集结目标配置ID
- int32 targetConfigID = 12;
- // 集结目标对象类型
- int32 targetConfigType = 13;
- // 集结目标的坐标
- Point targetPoint = 14;
- }
- // 地图中的集结对象信息
- message MapAssembleMarch {
- // 集结的玩家ID
- int64 playerID = 1;
- // 集结的玩家名
- string playerName = 2;
- // 集结的行军对象ID
- int64 marchObjectID = 10;
- // 集结行军对象到达时间
- int64 marchArriveTime = 11;
- // 行军对象的主将英雄配置ID
- int32 heroConfigID = 12;
- // 行军对象的主将英雄等级
- int32 heroLevel = 13;
- // 行军对象的主将英雄星级
- int32 heroStar = 14;
- // 行军对象的兵力
- int32 troopsNum = 15;
- }
- // 地图标记列表
- message MapMarkList {
- repeated MapMark list = 1;
- }
- // 玩家地图标记
- message MapMark {
- // 标记ID
- int32 markID = 1;
- // 标记标题 如果为玩家标记 当前为空时 则使用地块名称
- string title = 2;
- // 标记描述
- string desc = 3;
- // 标记坐标
- Point point = 4;
- // 标记指令 0未选择 1撤退 2集合 3防守 4进攻 5扎营 6建造
- int32 command = 5;
- // 标记时间戳 单位秒
- int64 markTime = 6;
- }
- // 玩家地图标记
- message MapMarkRequest {
- // 标记标题 如果为玩家标记 当前为空时 则使用地块名称
- string title = 1;
- // 标记描述
- string desc = 2;
- // 标记坐标
- Point point = 3;
- // 标记指令 0未选择 1撤退 2集合 3防守 4进攻 5扎营 6建造
- int32 command = 4;
- }
- // 玩家地图标记
- message MapMarkEditRequest {
- // 地图标记ID
- int32 markID = 1;
- // 标记标题 如果为玩家标记 当前为空时 则使用地块名称
- string title = 2;
- // 标记描述
- string desc = 3;
- // 标记指令 0未选择 1撤退 2集合 3防守 4进攻 5扎营 6建造
- int32 command = 4;
- }
- // 地图战斗推送
- message MapBattlePush {
- // 进攻方的行军对象ID
- int64 attackMarchObjectID = 1;
- // 进攻方主将英雄配置ID
- int32 attackHeroConfigID = 2;
- // 进攻方行军展示信息
- MarchView attackMarchView = 3;
- // 防守方的行军对象ID(PVE为0)
- int64 defendMarchObjectID = 11;
- // 防守方主将英雄配置ID
- int32 defendHeroConfigID = 12;
- // 防守方行军展示信息
- MarchView defendMarchView = 13;
- // 防守方的怪物组ID(PVP为0)
- int32 defendMonsterGroupID = 14;
- // 战斗类型,区分PVE和PVP
- // 见 tile_battle_type.go -> TileBattleType 战斗类型
- int32 battleType = 21;
- // 是否胜利(以进攻方为视角)
- bool isWin = 22;
- // 发生战斗的坐标
- Point point = 23;
- }
- // [请求] 攻城集结
- message SiegeAssembleRequest {
- // 队伍ID
- int32 teamID = 1;
- // 攻城大营对象ID
- int64 siegeBaseObjectID = 2;
- // 是否作为攻城主力部队
- bool isMainForce = 3;
- }
- // 地图战争信息
- message War {
- // 宣战的系统城对象ID
- int64 castleObjectID = 1;
- // 宣战的系统城配置ID
- int32 castleConfigID = 2;
- // 宣战的系统城坐标
- Point castlePoint = 3;
- // 宣战的攻城地基对象ID
- int64 siegeBaseObjectID = 4;
- // 宣战的攻城地基配置ID
- int32 siegeBaseConfigID = 5;
- // 宣战的攻城地基坐标
- Point siegeBasePoint = 6;
- // 战争阶段, 见 siege_stage.go 文件 SiegeStage 枚举
- int32 stage = 10;
- // 当前阶段结束时间(毫秒)
- int64 stageEndTime = 11;
- // 攻城主力部队数量
- int32 mainForceNum = 20;
- // 攻城拆迁部队数量
- int32 siegeSquadNum = 21;
- }
- // 地图战争列表
- message WarList {
- repeated War list = 1;
- }
- // 攻城首占排名
- message SiegeRank {
- // 建筑对象ID
- int64 buildObjectID = 1;
- // 杀敌排行 key: 杀敌数 value: 玩家名
- repeated I32Str killRank = 2;
- // 耐久排行 key: 耐久数 value: 玩家名
- repeated I32Str durabilityRank = 3;
- }
- // 攻城结果推送
- message SiegeResult {
- // 联盟ID
- int64 leagueID = 1;
- // 联盟名
- string leagueName = 2;
- // 建筑ID
- int64 buildObjectID = 10;
- // 建筑配置ID
- int32 buildConfigID = 11;
- // 杀敌数据
- repeated SiegeData killData = 20;
- // 攻城数据
- repeated SiegeData siegeData = 21;
- // 最后一击玩家信息
- SiegePlayer lastKill = 22;
- }
- // 攻城结果
- message SiegeData {
- // 玩家信息
- SiegePlayer player = 1;
- // 值
- int32 value = 2;
- }
- message SiegePlayer {
- // 玩家ID
- int64 playerID = 1;
- // 玩家名
- string playerName = 2;
- // 玩家头像
- int32 iconID = 3;
- // 玩家头像框ID
- int32 frameID = 4;
- }
- // 行军展示信息
- message MarchView {
- // 行军展示ID(配置文件中)
- int32 marchViewID = 1;
- // 兵种ID1
- int32 armID1 = 2;
- // 兵种ID2
- int32 armID2 = 3;
- // 兵种ID3
- int32 armID3 = 4;
- }
- // 寻路请求
- message MapFindPathRequest {
- // 选择的队伍ID
- int32 teamID = 1;
- // 目标坐标点
- Point point = 2;
- }
- // 再起信息
- message ComebackResponse {
- // 新的坐标点
- Point point = 1;
- // 冷却结束时间(毫秒)
- int64 comebackEndTime = 2;
- }
- // 重新出生推送
- message RebornPush {
- // 新的坐标点
- Point point = 1;
- // 是否出生失败(客户端要重试)
- bool isFailed = 2;
- }
- // 地图ui层-行军对象列表
- message MapUIMarchs {
- // 对象列表
- repeated MapUIMarch list = 1;
- }
- // 地图ui层-行军
- message MapUIMarch {
- // 对象唯一id
- int64 objectID = 1;
- // 对象配置ID
- int32 configID = 2;
- // 行军状态
- // 见 map.go -> MarchState 行军状态
- int32 marchState = 3;
- // 行军展示信息
- MarchView marchView = 4;
- // 寻路信息(运用于行军/军团等可移动对象)
- MapPath path = 5;
- // 对象所在坐标点
- Point point = 6;
- // 所有者的玩家ID
- int64 playerID = 7;
- // 所有者的联盟ID
- int64 leagueID = 8;
- }
- // 地图ui层-系统城对象列表
- message MapUICastles {
- // 对象列表
- repeated MapUICastle list = 1;
- }
- // 地图ui层-系统城对象列表
- message MapUICastle {
- // 对象唯一id
- int64 objectID = 1;
- // 对象所在坐标点
- Point point = 2;
- // 对象配置ID
- int32 configID = 3;
- // 占领的联盟ID
- int64 leagueID = 4;
- // 占领的联盟名称
- string leagueName = 5;
- // 占领的联盟简称
- string leagueAbbName = 6;
- // 旗帜背景ID L-联盟-旗帜表旗帜ID
- int32 flagBg = 7;
- // 旗帜图标ID L-联盟-旗帜表旗帜ID
- int32 flagIcon = 8;
- }
- // 获取指定对象的坐标
- message MapObjectPositionRequest {
- // 对象唯一id
- int64 objectID = 1;
- // 对象类型,见 map.go -> ObjectType 地块对象类型
- int32 objectType = 2;
- }
- // 侦察列表(侦察中+空闲)
- message MapScoutList {
- repeated MapScout list = 1;
- }
- // 侦察信息
- message MapScout {
- // 侦察队列ID
- int32 queueID = 1;
- // 侦察坐标 如果为空,则为空闲
- Point point = 2;
- // 侦察结束时间戳(行军+侦察时间) 单位毫秒 0表示空闲
- int64 endTime = 3;
- }
|