fix(all): complete activity calendars, shop purchases and reward dispatch
Restore event and mini hubs, current shop and hunt calendars, and regular seasons; preserve all published windows. Implement story/quiz routes, native shop purchases, avatar sets, currencies, rank-change items and permanent buffs with rollback and reward coverage tests. Refresh client buff stats and update Cash Shop to 0.1.1.
This commit is contained in:
@@ -732,6 +732,21 @@ func serve(args []string) (serveErr error) {
|
||||
return fmt.Errorf("load event inventory design: %w", err)
|
||||
}
|
||||
eventEconomy.AttachOwnedItemDesign(ownedEventItems)
|
||||
avatarRewards, err := gamedata.LoadAvatarRewardDesign(gameData, *gameDataVersion)
|
||||
if err != nil {
|
||||
return fmt.Errorf("load avatar rewards: %w", err)
|
||||
}
|
||||
eventEconomy.AttachAvatarRewards(avatarRewards)
|
||||
buffDesign, err := gamedata.LoadBuffRewardDesign(gameData, *gameDataVersion)
|
||||
if err != nil {
|
||||
return fmt.Errorf("load permanent buff rewards: %w", err)
|
||||
}
|
||||
buffRewards, err := events.OpenBuffRewards(gameplayStore, buffDesign)
|
||||
if err != nil {
|
||||
return fmt.Errorf("load permanent buff ownership: %w", err)
|
||||
}
|
||||
eventEconomy.AttachBuffRewards(buffRewards)
|
||||
pictorialService.AttachPermanentBuffs(buffRewards.SnapshotBuffs)
|
||||
eventAPCaps, eventAPReset, err := gamedata.LoadEventAPDesign(gameData, *gameDataVersion)
|
||||
if err != nil {
|
||||
return fmt.Errorf("load event AP reset: %w", err)
|
||||
@@ -786,6 +801,9 @@ func serve(args []string) (serveErr error) {
|
||||
if err := cashService.AttachShopSeed(serverConfig); err != nil {
|
||||
return fmt.Errorf("attach cash product availability: %w", err)
|
||||
}
|
||||
if err := cashService.AttachEventShopSchedules(cashDesign, calendars.Events); err != nil {
|
||||
return fmt.Errorf("attach event shop availability: %w", err)
|
||||
}
|
||||
cashBonusDesign, err := gamedata.LoadCashBonusCatalog(gameData, *gameDataVersion)
|
||||
if err != nil {
|
||||
return fmt.Errorf("load cash bonus design: %w", err)
|
||||
@@ -910,6 +928,13 @@ func serve(args []string) (serveErr error) {
|
||||
if err != nil {
|
||||
return fmt.Errorf("load event action state: %w", err)
|
||||
}
|
||||
miniContent, err := gamedata.LoadMiniContentDesign(gameData, *gameDataVersion)
|
||||
if err != nil {
|
||||
return fmt.Errorf("load mini event content: %w", err)
|
||||
}
|
||||
if err = eventActionsService.AttachMiniContent(eventPlayService, miniContent); err != nil {
|
||||
return fmt.Errorf("attach mini event content: %w", err)
|
||||
}
|
||||
eventActionsService.AttachFriendshipLevel(func(id uint64) uint64 {
|
||||
for _, entry := range collection.FriendshipEntries() {
|
||||
if entry.State != nil && entry.State.CostumeID == id {
|
||||
|
||||
Reference in New Issue
Block a user