37 lines
1.5 KiB
Go

package collections
import (
"time"
)
// CollectionInfo provides basic collection information for client display
type CollectionInfo struct {
ID int32 `json:"id"`
Name string `json:"name"`
Category string `json:"category"`
Level int8 `json:"level"`
Completed bool `json:"completed"`
ReadyToTurnIn bool `json:"ready_to_turn_in"`
ItemsFound int `json:"items_found"`
ItemsTotal int `json:"items_total"`
RewardCoin int64 `json:"reward_coin"`
RewardXP int64 `json:"reward_xp"`
RewardItems []CollectionRewardItem `json:"reward_items"`
SelectableRewards []CollectionRewardItem `json:"selectable_rewards"`
RequiredItems []CollectionItem `json:"required_items"`
}
// CollectionProgress represents player progress on a collection
type CollectionProgress struct {
CollectionID int32 `json:"collection_id"`
Name string `json:"name"`
Category string `json:"category"`
Level int8 `json:"level"`
Completed bool `json:"completed"`
ReadyToTurnIn bool `json:"ready_to_turn_in"`
Progress float64 `json:"progress_percentage"`
ItemsFound []CollectionItem `json:"items_found"`
ItemsNeeded []CollectionItem `json:"items_needed"`
LastUpdated time.Time `json:"last_updated"`
}