eq2go/internal/groups/entity_interface.go

42 lines
821 B
Go

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
}