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"` }