38 lines
1.3 KiB
Go
38 lines
1.3 KiB
Go
// 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 |