package nono

import "blazing/logic/service/player"

// NonoOutboundInfo 用于表示Nono相关的出站信息
type NonoOutboundInfo struct {
	// UserID: 米米号，对应uint32类型，无符号
	UserID uint32

	// Num: 未知，对应uint32类型，无符号
	Num uint32

	// Flying: 飞行状态 0为不飞行 大于0为飞行模式，对应uint32类型，无符号
	Flying uint32

	// Nick: 16字节，固定长度16字节字符串
	Nick string `struc:"[16]byte"`

	// SuperNono: 是不是超能nono，对应uint32类型，无符号
	SuperNono uint32

	// Color: nono颜色 00 rgb，对应uint32类型，无符号
	Color uint32

	// Power: 未知, 返回的实际数值要*1000，对应uint32类型，无符号
	Power uint32

	// Mate: 未知, 返回的实际数值要*1000，对应uint32类型，无符号
	Mate uint32

	// IQ: 未知，对应uint32类型，无符号
	IQ uint32

	// AI: 未知，对应uint16类型，无符号短整数
	AI uint16

	// Birth: 未知, 返回的实际数值要除以1000，对应uint32类型，无符号
	Birth uint32

	// ChargeTime: 充电时间，对应uint32类型，无符号
	ChargeTime uint32

	// Func: 20字节，固定长度20字节数组
	Func [20]byte

	// SuperEnergy: 超能nono能力，对应uint32类型，无符号
	SuperEnergy uint32

	// SuperLevel: 超能nono等级，对应uint32类型，无符号
	SuperLevel uint32

	// SuperStage: 超能nono阶段，对应uint32类型，无符号
	SuperStage uint32
}

type NonoInboundInfo struct {
	// 消息头部，命令ID对应MessageCommandIDRegistry.Nono_Info
	Head player.TomeeHeader `cmd:"9003" struc:"[0]pad"`

	// 米米号
	UserID uint32
}
