package msg

import (
	"leafstalk/covenant/model"
)

// 查询首通记录
type QueryFirstPassHistory struct {
	PlayerId   int64           `json:"userId"`
	Type       int64           `json:"type"`    // 1:主线 2:合作 3:主线+合作
	LastReward map[int64]int64 `json:"achieve"` //服务端用
}

type ResponseQueryFirstPassHistory struct {
	ErrCode int                                `json:"errCode"`
	Msg     string                             `json:"msg,omitempty"`
	Data    map[int]*QueryFirstPassHistoryData `json:"data"`
}

type QueryFirstPassHistoryData struct {
	History    []*model.FirstPassChapter `json:"history"`
	LastReward int64                     `json:"achieve"`
}

// 领取首通奖励
type ClaimFirstPassReward struct {
	PlayerId int64 `json:"userId"`
	Type     int64 `json:"type"` // 1:主线 2:合作
}

type ResponseClaimFirstPassReward struct {
	ErrCode int                       `json:"errCode"`
	Msg     string                    `json:"msg,omitempty"`
	Data    *ClaimFirstPassRewardData `json:"data"`
}

type ClaimFirstPassRewardData struct {
	Type      int64           `json:"type"`
	Achieve   int64           `json:"achieve"` // 成就ID
	Materials map[int64]int64 `json:"materials"`
}

// 查询战斗
type QueryBattleRecord struct {
	PlayerId int64 `json:"userId"`
	BattleId int64 `json:"battleId"` //对战记录ID
}

type ResponseQueryBattleRecord struct {
	ErrCode int                 `json:"errCode"`
	Msg     string              `json:"msg,omitempty"`
	Data    *model.BattleRecord `json:"data"`
}

// 查看玩家信息
type ViewPlayer struct {
	PlayerId int64 `json:"userId"`
	OtherId  int64 `json:"otherId,string"`
}

type ResponseViewPlayer struct {
	ErrCode int                  `json:"errCode"`
	Msg     string               `json:"msg,omitempty"`
	Data    *model.PlayerProfile `json:"data"`
}
