package groups // Entity is the interface for entities that can be part of groups // This interface is implemented by Player, NPC, and Bot types type Entity interface { // Basic entity information GetID() int32 GetName() string GetLevel() int8 GetClass() int8 GetRace() int8 // Health and power GetHP() int32 GetTotalHP() int32 GetPower() int32 GetTotalPower() int32 // Entity type checks IsPlayer() bool IsNPC() bool IsBot() bool IsDead() bool // Zone information GetZone() Zone // Distance calculation GetDistance(other Entity) float32 } // Zone interface for zone information type Zone interface { GetZoneID() int32 GetInstanceID() int32 GetZoneName() string } // Spawn interface for distance calculations type Spawn interface { // Minimal spawn interface for distance calculations }