eqlog

package
v0.2.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 7, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseAggroClearLine

func ParseAggroClearLine(line string) (time.Time, bool)

func ParseCastLine

func ParseCastLine(line string) (combat.Cast, bool)

func ParseDeathLine

func ParseDeathLine(line string) (combat.Death, bool)

func ParseLine

func ParseLine(line string) (combat.Event, bool)

func ParseTime

func ParseTime(line string) (time.Time, bool)

func ParseTimestamp added in v0.2.2

func ParseTimestamp(line string) (time.Time, bool)

ParseTimestamp returns the timestamp envelope without classifying the log message. It is intended for code that only needs logfile chronology.

Types

type ExperienceGain

type ExperienceGain struct {
	Time    time.Time
	Percent float64
}

func ParseExperienceLine

func ParseExperienceLine(line string) (ExperienceGain, bool)

type InventoryExport added in v0.1.3

type InventoryExport struct {
	Time     time.Time
	Filename string
}

type ItemRemoval

type ItemRemoval struct {
	Time     time.Time
	Item     string
	Quantity int
}

func ParseItemRemovalLine

func ParseItemRemovalLine(line string) (ItemRemoval, bool)

type KillReward added in v0.2.2

type KillReward struct {
	Time time.Time
	Kind string
}

type LevelUp

type LevelUp struct {
	Time  time.Time
	Level int
}

func ParseLevelUpLine

func ParseLevelUpLine(line string) (LevelUp, bool)

type Loot

type Loot struct {
	Time     time.Time
	Item     string
	Corpse   string
	Quantity int
	Outcome  LootOutcome
	Created  string
}

func ParseLootLine

func ParseLootLine(line string) (Loot, bool)

type LootOutcome

type LootOutcome uint8
const (
	LootRetained LootOutcome = iota + 1
	LootStored
	LootSold
	LootConverted
)

type Record

type Record struct {
	Time        time.Time
	Kind        RecordKind
	Cast        combat.Cast
	Damage      combat.Event
	Experience  ExperienceGain
	LevelUp     LevelUp
	Death       combat.Death
	ZoneChange  ZoneChange
	Loot        Loot
	Removal     ItemRemoval
	TradeOffer  TradeOffer
	TradeDone   TradeComplete
	TradeCancel TradeCancel
	Who         WhoResult
	Export      InventoryExport
	KillReward  KillReward
}

Record is one timestamped EverQuest log entry. Unknown records retain their timestamp so session timing can observe log activity without reparsing lines.

func ParseRecord

func ParseRecord(line string) (Record, bool)

func ParseRecordAfter

func ParseRecordAfter(line string, cutoff time.Time) (Record, bool)

ParseRecordAfter parses the timestamp envelope and only classifies messages at or after cutoff. This keeps short history replays from running every old log line through all combat and loot expressions.

type RecordKind

type RecordKind uint8
const (
	RecordUnknown RecordKind = iota
	RecordCast
	RecordDamage
	RecordExperience
	RecordLevelUp
	RecordAggroClear
	RecordDeath
	RecordZoneChange
	RecordLoot
	RecordItemRemoval
	RecordTradeOffer
	RecordTradeComplete
	RecordTradeCancel
	RecordWho
	RecordInventoryExport
	RecordKillReward
)

type TradeCancel

type TradeCancel struct {
	Time time.Time
	NPC  string
}

type TradeComplete

type TradeComplete struct {
	Time time.Time
	NPC  string
}

type TradeOffer

type TradeOffer struct {
	Time     time.Time
	Item     string
	Quantity int
	NPC      string
}

type WhoResult added in v0.1.3

type WhoResult struct {
	Time      time.Time
	Level     int
	Classes   []string
	Name      string
	Race      string
	Guild     string
	Anonymous bool
}

func ParseWhoLine added in v0.1.3

func ParseWhoLine(line string) (WhoResult, bool)

type ZoneChange

type ZoneChange struct {
	Time time.Time
	Name string
}

func ParseZoneChangeLine

func ParseZoneChangeLine(line string) (ZoneChange, bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL