37 lines
1.5 KiB
Go
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"`
|
|
}
|