// Package achievements provides a complete achievement system for EQ2Emulator servers. // // The package includes: // - Achievement definitions with requirements and rewards // - Master achievement list for server-wide management // - Player-specific achievement tracking and progress // - Database operations for persistence // // Basic usage: // // // Create master list and load from database // masterList := achievements.NewMasterList() // db, _ := database.Open("world.db") // achievements.LoadAllAchievements(db, masterList) // // // Create player manager // playerMgr := achievements.NewPlayerManager() // achievements.LoadPlayerAchievements(db, playerID, playerMgr.Achievements) // achievements.LoadPlayerAchievementUpdates(db, playerID, playerMgr.Updates) // // // Update player progress // playerMgr.Updates.UpdateProgress(achievementID, newProgress) // // // Check completion // if playerMgr.Updates.IsCompleted(achievementID) { // // Handle completed achievement // } // // // Save progress // update := playerMgr.Updates.GetUpdate(achievementID) // achievements.SavePlayerAchievementUpdate(db, playerID, update) package achievements