// 如果使用此注释，则使用proto3; 否则使用proto2
syntax = "proto3";

// 生成包名（服务器用）
option java_package = "com.game.clans.proto";
// 生成类名（服务器用）
option java_outer_classname = "ClansProto";
// 引用apublicBean.proto
import "apublicBean.proto";
// 引用questMessage.proto
import "questMessage.proto";
// 引用bossMessage.proto
import "bossMessage.proto";


// -------------------------------------Bean-------------------------------------

// 部落成员职位 job（1=普通成员 2=长老 3副手领 4首领）

// 部落信息Bean
message ClansInfo{
	int64 clansId = 1;// 部落唯一id
	string clansName = 2;// 部落名字
	int32 memberNum = 3;// 成员数量
	int32 rank = 4;// 部落排名
	int32 lv = 5;// 部落等级
	bool isCheckJoin = 6;// 是否需要审批 true=需要
	int32 checkLv = 7;// 加入需要等级
	int32 checkForce = 8;// 加入需要战力
	string outNotice = 9;// 部落宣言
	string masterName = 10;// 部落首领名字
}

// 部落成员简易信息Bean
message MemberSimpleInfo{
	int64 playerId = 1;// 角色唯一id
	string playerName = 2;// 角色名
	int32 job = 3;// 职位
	int32 gx = 4;// 部落贡献
	int32 time = 5;// 0=在线，否则离线时间戳（秒）
}

// 部落成员详细信息Bean
message MemberInfo{
	int64 playerId = 1;// 角色唯一id
	string playerName = 2;// 角色名
	int32 force = 3;// 战力
	int32 time = 4;// 0=在线，否则离线时间戳（秒）
	int32 gender = 5;// 性别
	int32 lv = 6;// 等级
	int32 fashionBody = 7;// 身体时装
	int32 fashionBorder = 8;// 头像框
	int32 vipId = 9;// vipId
	int32 job = 10;// 职位
}

// 部落申请加入信息Bean
message ClansApplyInfo{
	fixed64 playerId = 1;// 角色唯一id
	string playerName = 2;// 角色名
	int32 gender = 3;// 性别
	int32 lv = 4;// 等级
	int32 fashionBody = 5;// 身体时装
	int32 fashionBorder = 6;// 头像框
	int32 vipId = 7;// vipId
	int32 force = 8;// 战力
	fixed32 time = 9;// 0=在线，否则离线时间戳（秒）
}

// 捐赠Bean
message ClansDonateInfo{
	int32 donateId = 1;// 捐赠id
	int32 num = 2;// 今日捐赠次数
}

// 捐赠日志Bean
message ClansDonateLogInfo{
	string playerName = 1;// 捐赠者名字
	int32 donateId = 2;// 捐赠配置id
	int32 time = 3;// 捐赠时间
}

// 建筑Bean
message ClansBuildInfo{
	int32 buildId = 1;// 建筑配置id
	int32 buildLv = 2;// 建筑等级
}

// -------------------------------------请求消息-------------------------------------

// 请求创建部落 msgId=116101		-----成功返回消息  msgId=116201
message ReqClansCreate{
	string clansName = 1;// 部落名字
}

// 请求部落界面进入信息 msgId=116102		-----成功返回消息  有部落返回=msgId=116201，没有部落返回=msgId=116202
message ReqClansEnterInfo{
	bool isNoCheck = 1;// 是否无需审批 true=无需审批，默认false
}

// 请求部落搜索 msgId=116103		-----成功返回消息  msgId=116203
message ReqClansSearch{
	int64 clansId = 1;// 部落唯一id
}

// 请求部落申请加入 msgId=116104		-----成功返回消息 如果申请需要审核部落，返回消息msgId=102202,code=10003，如果申请的是不需要审核的部落，返回消息msgId=116201
message ReqClansApplyJoin{
	int64 clansId = 1;// 部落唯一id
}

// 请求部落大厅成员信息 msgId=116105		-----成功返回消息  msgId=116204
message ReqClansMemberInfo{
	int64 toPlayerId = 1;// 成员唯一id
}

// 请求部落大厅成员列表信息 msgId=116106		-----成功返回消息  msgId=116205
message ReqClansMemberListInfo{
	
}

// 请求部落申请列表 msgId=116107		-----成功返回消息  msgId=116206
message ReqClansApplyList{
	
}

// 请求部落审核申请 msgId=116108		-----成功返回消息  msgId=116207
message ReqClansCheckApply{
	int32 type = 1;// 领导处理方式 1=同意 2=拒绝 3=一键拒绝
	int64 playerId = 2;//申请者的id（当type=3的时候，这个角色id=0）
}

// 请求部落审核条件信息 msgId=116109		-----成功返回消息  msgId=116208
message ReqClansCheckInfo{
	
}

// 请求部落审核条件设置 msgId=116110		-----成功返回消息  msgId=102202
message ReqClansCheckSetting{
	bool isCheckJoin = 1;// 是否需要审批 true=需要
	int32 checkLv = 2;// 加入需要等级
	int32 checkForce = 3;// 加入需要战力
}

// 请求部落调整职位 msgId=116111		-----成功返回消息  msgId=116209
message ReqClansChangeJob{
	int64 playerId = 1;//被调整的角色id
	int32 job = 2;//成员新的职位 （0表示踢出联盟）
}

// 请求部落转让会长 msgId=116112		-----成功返回消息  msgId=116210
message ReqClansChangeMaster{
	int64 toPlayerId = 1;// 新的首领角色id
}

// 请求部落退出 msgId=116113		-----成功返回消息  msgId=102202
message ReqClansQuit{
	
}

// 请求部落解散 msgId=116114		-----成功返回消息  msgId=102202
message ReqClansDelete{
	
}

// 请求部落招募 msgId=116115		-----成功返回消息  msgId=102202
message ReqClansRecruit{
	
}

// 请求部落公告面板信息 msgId=116116		-----成功返回消息  msgId=116211
message ReqClansNoticeInfo{
	
}

// 请求部落更多捐献日志信息 msgId=116117		-----成功返回消息  msgId=116212
message ReqClansNoticeMore{
	
}

// 请求部落公告修改 msgId=116118		-----成功返回消息  msgId=116213
message ReqClansNoticeChange{
	int32 type = 1;// 1=修改部落名字 2=修改公告 3=修改宣言
	string content = 2;// 修改内容
}

// 请求部落捐赠 msgId=116119		-----成功返回消息  msgId=116214
message ReqClansDonate{
	int32 donateId = 1;//捐赠
}

// 请求部落领取捐赠奖励 msgId=116120		-----成功返回消息  msgId=116215
message ReqClansGetDonateReward{
	int32 rewardId = 1;// 奖励配置id
}

// 请求部落建筑信息 msgId=116121		-----成功返回消息  msgId=116216
message ReqClansBuildInfo{
	
}

// 请求部落建筑升级 msgId=116122		-----成功返回消息  msgId=116217
message ReqClansBuildUp{
	int32 buildId = 1;// 建筑配置id
}

// 请求日常任务信息 msgId=116123		-----成功返回消息  msgId=116218
message ReqClansQuestInfo{
	
}

// 请求领取日常任务奖励 msgId=116124		-----成功返回消息  msgId=116220
message ReqClansQuestAward{
	int32 questId = 1;// 日常任务配置id
}

// 请求领取日常任务活跃度奖励 msgId=116125		-----成功返回消息  msgId=116221
message ReqClansQuestActiveAward{
	int32 activeId = 1;// 活跃度奖励配置id
}

// 请求部落列表刷新 msgId=116126		-----成功返回消息  msgId=116222
message ReqClansListRefresh{
	bool isNoCheck = 1;// 是否无需审批 true=无需审批，默认false
}

// 请求巨兽列表信息 msgId=116127		-----返回消息  msgId=116223
message ReqClansBossListInfo{
	
}

// 请求巨兽信息 msgId=116128		-----返回消息  msgId=116224
message ReqClansBossInfo{
	int32 bossId = 1;// bossId
}

// 请求巨兽挑战 msgId=116129		-----返回消息  msgId=108201
message ReqClansBossChallenge{
	int32 bossId = 1;// bossId
}

// 请求巨兽排行榜 msgId=116130		-----返回消息  msgId=116225
message ReqClansBossRank{
	int32 bossId = 1;// bossId
}

// 请求部落排行榜 msgId=116131		-----返回消息  msgId=116226
message ReqClansRank{

}

// 请求部落副本信息 msgId=116132		-----返回消息  msgId=116227
message ReqClansSceneInfo{
	
}

// 请求部落副本战斗 msgId=116133		-----返回消息  msgId=116228,108201
message ReqClansSceneFight{
	
}

// 请求部落副本积分奖励 msgId=116134		-----返回消息  msgId=116229
message ReqClansSceneScoreAward{
	int32 index = 1;// 想要领取的奖励下标。从0开始
}

// 请求部落副本扫荡 msgId=116135		-----返回消息  msgId=116230
message ReqClansSceneSweep{
	
}

// -------------------------------------返回消息-------------------------------------


// 返回部落界面进入信息（有部落的玩家返回此消息） msgId=116201
message ResClansEnterInfo{
	int64 clansId = 1;//部落id
	int32 memberNum = 2;//部落当前人数
	bool isCreate = 3;// 是否是创建部落 true=创建
	int32 job = 4;// 我的职位
	int32 gx = 5;// 部落贡献
	int32 lv = 6;// 部落等级
}

// 返回部落界面进入信息（没有部落的玩家返回此消息） msgId=116202
message ResClansList{
	int32 joinTime = 1;// 加入部落倒计时，0表示可以立即加入部落
	repeated ClansInfo clansInfoList = 2;// 部落列表
}

// 返回部落部落搜索 msgId=116203
message ResClansSearch{
	ClansInfo clansInfo = 1;// 部落信息
}

// 返回部落大厅成员信息 msgId=116204
message ResClansMemberInfo{
	MemberInfo memberInfo = 1;// 成员详细信息
}

// 返回部落大厅成员列表信息 msgId=116205
message ResClansMemberListInfo{
	repeated MemberSimpleInfo memberList = 1;// 成员列表
}

// 返回部落申请列表 msgId=116206
message ResClansApplyList{
	repeated ClansApplyInfo applyList = 1;// 申请列表
}

// 返回部落审核申请 msgId=116207
message ResClansCheckApply{
	int32 type = 1;// 领导处理方式 1=同意 2=拒绝 3=一键拒绝
	int64 playerId = 2;//申请者的id（当type=3的时候，这个角色id=0）
}

// 返回部落审核条件信息 msgId=116208
message ResClansCheckInfo{
	bool isCheckJoin = 1;// 是否需要审批 true=需要
	int32 checkLv = 2;// 加入需要等级
	int32 checkForce = 3;// 加入需要战力
}

// 返回部落调整职位 msgId=116209
message ResClansChangeJob{
	int64 playerId = 1;//被调整的角色id
	int32 job = 2;//成员新的职位 （0表示踢出联盟）
}

// 返回部落转让会长 msgId=116210
message ResClansChangeMaster{
	int32 job = 1;// 我的职位
	int64 toPlayerId = 2;// 新首领角色id
	int32 toJob = 3;// 新首领职位
}

// 返回部落公告面板信息 msgId=116211
message ResClansNoticeInfo{
	int64 clansId = 1;// 部落唯一id
	string clansName = 2;// 部落名字
	int32 lv = 3;// 部落等级
	int32 exp = 4;// 部落经验
	string notice = 5;// 部落公告
	string outNotice = 6;// 部落宣言
	int32 todayValue = 7;// 今日捐赠总进度
	int32 todayMoney = 8;// 今日已获得部落财富
	repeated int32 todayIdList = 9;// 今日已领取的捐赠进度奖励配置id
	repeated ClansDonateInfo donateList = 10;// 捐赠信息(注意，该列表只包含该玩家已捐赠的信息，今日没有捐赠，此列表为空)
	repeated ClansDonateLogInfo logList = 11;// 捐赠日志
}

// 返回部落更多捐献日志信息 msgId=116212
message ResClansNoticeMore{
	repeated ClansDonateLogInfo logList = 1;// 捐赠日志
}

// 返回部落更多捐献日志信息 msgId=116213
message ResClansNoticeChange{
	int32 type = 1;// 1=修改部落名字 2=修改公告 3=修改宣言
	string content = 2;// 修改内容
}

// 返回部落捐献 msgId=116214
message ResClansDonate{
	int32 lv = 1;// 部落等级
	int32 todayValue = 2;// 今日捐赠总进度
	int32 todayMoney = 3;// 今日已获得部落财富
	int32 exp = 4;// 部落经验
	ClansDonateInfo doanteInfo = 5;// 捐赠信息
	ClansDonateLogInfo logInfo = 6;// 增加一条新的捐赠日志
}

// 返回部落领取捐赠奖励 msgId=116215
message ResClansGetDonateReward{
	int32 rewardId = 1;// 奖励配置id
	repeated Goods goodsList = 2;// 领取的奖励
}

// 返回部落建筑信息 msgId=116216
message ResClansBuildInfo{
	int32 money = 1;// 部落财富值
	repeated ClansBuildInfo buildList = 2;// 建筑列表
}

// 返回部落建筑升级 msgId=116217
message ResClansBuildUp{
	int32 money = 1;// 部落财富值
	ClansBuildInfo buildInfo = 2;// 建筑
}

// 返回部落成员日常任务信息 msgId=116218
message ResClansQuestInfo{
	int32 active = 1;// 今日活跃度
	repeated QuestActiveInfo activeList = 2;// 活跃度奖励列表
	repeated QuestEveryDayInfo questList = 3;// 日常任务列表
}

// 返回部落成员任务是否有新消息 msgId=116219（进入游戏主动返回 或者 完成日常任务主动返回）
message ResClansQuestNewMsg{
	bool isNewMsg = 1;// 日常任务是否有新消息 true=有
}

// 返回部落成员领取日常任务奖励 msgId=116220
message ResClansQuestAward{
	int32 questId = 1;// 日常任务配置id
	int32 state = 2;// 任务状态 2=已领取
	int32 active = 3;// 奖励的活跃度（变化值，等于0表示没有）
	int32 exp = 4;// 奖励的经验（变化值，等于0表示没有）
	int32 gold = 5;// 奖励的金币（变化值，等于0表示没有）
	repeated QuestActiveInfo activeList = 6;// 活跃度奖励列表（包含全部）
}

// 返回部落成员领取日常任务活跃度奖励 msgId=116221
message ResClansQuestActiveAward{
	QuestActiveInfo activeInfo = 1;// 更新本次领取的活跃度奖励信息
	repeated Goods goodsList = 2;// 获得的奖励列表
}

// 返回部落列表刷新 msgId=116222
message ResClansListRefresh{
	repeated ClansInfo clansInfoList = 1;// 部落列表
}

// 返回巨兽列表信息 msgId=116223
message ResClansBossListInfo{
	int32 startTime = 1;// 距离开启时间倒计时（秒）
	int32 bossId = 2;// 我已经攻击过的bossId 0=还未攻击过
	repeated BossInfo bossList = 3;// boss列表
}

// 返回巨兽信息 msgId=116224
message ResClansBossInfo{
	int32 bossId = 1;// bossId
	int32 rank = 2;// 我的排名
	int32 damage = 3;// 我的伤害
	int32 num = 4;// 剩余挑战次数
	int32 endTime = 5;// 剩余挑战时间（秒）
	int32 hp = 6;// 当前血量 
	bool isFightEnd = 7;// 是否战斗结束返回 true=战斗返回
	int32 image = 8;// 宠物形象参数 
}

// 返回巨兽排行榜 msgId=116225
message ResClansBossRank{
	int32 rank = 1;// 自己的排名（返回-1表示未加入排行）
	int32 damage = 2;// 自己的总伤害（返回-1表示未加入排行）
	repeated BossRankInfo rankList = 3;// 巨兽伤害排行列表
}

// 返回部落排行榜 msgId=116226
message ResClansRank{
	int32 selfRank = 1;// 自己的排名
	ClansInfo selfClans = 2; //自己的部落
	repeated ClansInfo rankList = 3;// 排行榜列表
}

// 返回部落副本信息 msgId=116227
message ResClansSceneInfo{
	int32 sceneId = 1;// 当前副本id
	bool isGet = 2;// 今日是否已领取一键通关奖励 true=已领取
	int32 sweepId = 3;// 扫荡奖励副本id,如果为0，表示还没有关卡可扫荡
	int32 score = 4;// 当前活跃度
	repeated int32 scoreIdList = 5;// 今日已领取的活跃奖励index
}

// 返回部落副本战斗 msgId=116228
message ResClansSceneFight{
	bool isWin = 1;// 是否胜利 true=胜利,如果胜利才读取更新下面的数据，如果失败，下面的数据无意义
	int32 fightSceneId = 2;// 挑战的副本id，用来读取获取奖励配置
	int32 sceneId = 3;// 挑战胜利后新的副本id
	int32 score = 4;// 当前活跃度
}

// 返回部落副本积分奖励 msgId=116229
message ResClansSceneScoreAward{
	int32 index = 1;// 想要领取的奖励下标。从0开始
}

// 返回部落副本扫荡 msgId=116230
message ResClansSceneSweep{
	int32 sweepId = 1;// 扫荡副本id
}


