package entity // EventCategory classifies the type of random event. type EventCategory string const ( EventCategoryCombat EventCategory = "combat" EventCategoryEnvironmental EventCategory = "environmental" EventCategoryFaction EventCategory = "faction" EventCategoryMarket EventCategory = "market" ) // EventSeverity indicates the impact level. type EventSeverity string const ( EventSeverityMinor EventSeverity = "minor" EventSeverityMajor EventSeverity = "major" EventSeverityCritical EventSeverity = "critical" ) // MatchEvent represents something that happened during a match. type MatchEvent struct { ID string `json:"id"` TemplateID string `json:"templateId"` Name string `json:"name"` Description string `json:"description"` Tick int `json:"tick"` Category EventCategory `json:"category"` Severity EventSeverity `json:"severity"` Effects []EventEffect `json:"effects"` Duration int `json:"duration"` } // EventEffect describes a single modification caused by an event. type EventEffect struct { Target string `json:"target"` Stat string `json:"stat"` Operation string `json:"operation"` Value float64 `json:"value"` }