eq2go/internal/groups/entities.go

34 lines
589 B
Go

package groups
// Entity represents a game entity that can be part of a group
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 types
IsPlayer() bool
IsBot() bool
IsNPC() bool
IsDead() bool
// World positioning
GetZone() Zone
GetDistance(other Entity) float32
}
// Zone represents a game zone
type Zone interface {
GetZoneID() int32
GetInstanceID() int32
GetZoneName() string
}