package fish_protocols;

import "fish_def.proto"; 
import "msg_type_def.proto";

message msg_fish_init
{
	optional int32 id = 1;
	optional int32 fish_id = 2;
	optional float life_time = 3;
	repeated float route_param = 4;
}

message msg_generator_init
{
	optional int32 generator_id = 1;
	optional int32 life_time = 2;
	optional int32 start_id = 3;
	optional int32 route_id = 4 [default = 0];
	optional int32 pos_x = 5 [default = 0];
	optional int32 pos_y = 6 [default = 0];	
}

// 自身的BUFF状态
message SelfBuff
{
	// 1 锁定  2 导弹
	optional int32 buffId = 1;

	// 剩余时间
	optional int32 remainTime = 2;
}

message FunBuff
{
	optional int32 buffId = 1;

	// 效果类型  1-免费使用锁定    2-免费使用冰冻  3-免费使用锁定和冰冻   4-折扣
	optional int32 effType = 2;
}

//房间信息
message msg_scene_info{
	optional int32 sceneid = 1;
	optional int32 roomid = 2;
	repeated msg_seat_info seat_info = 3;
	repeated msg_fish_init fish_infos = 4;
	repeated msg_generator_init generator_infos = 5;
	optional int32 boss_time = 6;		//BOSS逃离时间
	repeated SelfBuff selfBuffList = 7;
	repeated FunBuff selfFunBuffList = 8;	//功能buff列表. 可否免费使用锁定,冰冻, 能否折扣
	optional int64 high_grade_jackpot = 9;	//高级场奖池
	optional int32 frozeRemainTime = 10;	//冰冻剩余时间
}

message msg_buff_info
{
	optional int32 buffid = 1;
	optional int32 outtime = 2 [default = -1];
}

message msg_seat_info
{
	optional int32 seat_index = 1;
	optional int32 player_id = 2;
	optional string nickname = 3;
	optional int64 player_gold = 4;
	optional int32 turret_rate = 5;
	optional int32 turret_id = 6;
	optional int32 turret_lv = 7;
	optional int32 wing_id = 8;
	optional int32 wing_lv = 9;
	repeated msg_buff_info bufflist = 10;
	optional int32 headid = 11;					// 头像
	optional int32 frameid = 12;					// 头像
	optional int32 point = 13;					// 积分
	optional int32 vip = 14;
	optional int32 player_lv = 15;
	optional int32 player_diamond = 16;
	optional int32 player_ticket = 17;
	optional int32 dimensity = 18;				// 当前拥有魔石个数
	optional int32 room_rate = 19;				// 玩家房间倍率
	optional int32 bullet_power = 20;			// 玩家子弹威力
	// optional int32 isRobot = 18;				// 是否机器人
}

// 大奖赛信息
//message GrandPrixInfo
//{
	// 剩余子弹数量
	//optional int32 remainBullet = 1;

	// 剩余使用激光次数
	//optional int32 remainUseMissileCount = 2;

	// 当前排名
	//optional int32 curRank = 3;

	// 当前分数
	//optional int32 curScore = 4;
//}

message msg_item{
	optional int32 item_id = 1;		//物品id
	optional int32 item_count  = 2;	//数量
	optional int32 end_time = 3 [default = -1];	//到期时间
}


message msg_fish_info
{
	optional int32 id = 1;
	optional int32 fish_id = 2;
	optional int32 route_id = 3;
}

//message BaoJinQuestInfo
//{
	// 任务id
	//optional int32 questId = 1;

	// 当前进度
	//optional int32 progress = 2;

	//optional bool isFinish = 3;

	// 当前任务的剩余子弹数量
	//optional int32 remainBullet = 4;
//}

// 爆金场信息
//message BaoJinInfo
//{
	//optional BaoJinQuestInfo quest = 1;

	// 本场当前得分
	//optional int32 curScore = 2;

	// 剩余金币
	//optional int32 remainGold = 3;

	// 是否领取了钻石奖励
	//optional bool isRecvGemReward = 4;
//}

message redEnvlopeInfo
{
	optional int32 roomid = 1;			//房间ID
	optional int32 curGeer = 2;			//档位
	optional int32 redEnvelopeAcc = 3;	//累分
}