42 lines
821 B
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
|
|
} |