// Package ground_spawn provides harvestable resource node management for EQ2. // // Ground spawns are harvestable nodes in the game world that provide resources // to players through skills like Mining, Gathering, Fishing, etc. This package // implements the complete harvest system including skill checks, item rewards, // rarity determination, and respawn management. // // Basic Usage: // // gs := ground_spawn.New(db) // gs.GroundSpawnID = 1001 // gs.Name = "Iron Ore Node" // gs.CollectionSkill = "Mining" // gs.NumberHarvests = 5 // gs.X, gs.Y, gs.Z = 100.0, 50.0, 200.0 // gs.ZoneID = 1 // gs.Save() // // loaded, _ := ground_spawn.Load(db, 1001) // result, _ := loaded.ProcessHarvest(player, skill, totalSkill) // // Master List: // // masterList := ground_spawn.NewMasterList() // masterList.LoadFromDatabase(db) // masterList.AddGroundSpawn(gs) // // zoneSpawns := masterList.GetByZone(1) // availableSpawns := masterList.GetAvailableSpawns() // // The harvest algorithm preserves the complete C++ EQ2EMU logic including: // - Skill-based table selection // - Adventure level requirements for bonus tables // - Collection vs normal harvesting modes // - Rarity determination (normal, rare, imbue, 10+rare) // - Grid-based item filtering // - Proper random number generation matching C++ behavior package ground_spawn