process

package
v0.0.0-...-b4fe549 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var RaidLookup = make(map[string][2]string)
View Source
var Raids = map[string][][]string{
	"Valtan": {
		{"Dark Mountain Predator", "Destroyer Lucas", "Leader Lugaru"},
		{"Demon Beast Commander Valtan", "Ravaged Tyrant of Beasts"},
	},
	"Vykas": {
		{"Incubus Morphe", "Nightmarish Morphe"},
		{"Covetous Devourer Vykas"},
		{"Covetous Legion Commander Vykas"},
	},
	"Kakul Saydon": {
		{"Saydon"},
		{"Kakul"},
		{"Kakul-Saydon", "Encore-Desiring Kakul-Saydon"},
	},
	"Brelshaza": {
		{"Gehenna Helkasirs"},
		{"Prokel", "Prokel's Spiritual Echo", "Ashtarot"},
		{"Primordial Nightmare"},
		{"Phantom Legion Commander Brelshaza"},
		{"Brelshaza, Monarch of Nightmares", "Imagined Primordial Nightmare", "Pseudospace Primordial Nightmare"},
		{"Phantom Legion Commander Brelshaza"},
	},
	"Kayangel": {
		{"Tienis"},
		{"Prunya"},
		{"Lauriel"},
	},
	"Akkan": {
		{"Griefbringer Maurug", "Evolved Maurug"},
		{"Lord of Degradation Akkan"},
		{"Plague Legion Commander Akkan", "Lord of Kartheon Akkan"},
	},
	"Ivory": {
		{"Kaltaya, the Blooming Chaos"},
		{"Rakathus, the Lurking Arrogance"},
		{"Firehorn, Trampler of Earth"},
		{"Lazaram, the Trailblazer", "Subordinated Vertus", "Subordinated Calventus", "Subordinated Legoros", "Brand of Subordination"},
	},
}
View Source
var SynergyOrder = map[string]int{
	"204_101204":              0,
	"204_210230":              1,
	"204_Serenade of Courage": 2,
	"204_Heavenly Tune":       3,

	"105_101105": 4,
	"105_210230": 5,
	"105_368000": 6,

	"602_314004": 6,
	"602_210230": 7,
	"602_310501": 8,
}

Functions

func BuffGroupName

func BuffGroupName(info meter.Buff) string

func IsEqualized

func IsEqualized(difficulty string) bool

func PartySynergyFilter

func PartySynergyFilter(info meter.Buff) (string, bool)

func SelfBuffFilter

func SelfBuffFilter(info meter.Buff) (string, bool)

func Skill

func Skill(enc *meter.Encounter, player meter.Entity, skill meter.Skill) structs.SkillDamage

func ValidPlayerName

func ValidPlayerName(name string) bool

Types

type BuffData

type BuffData struct {
	ID            int32           `json:"id"`
	Name          string          `json:"name"`
	Desc          string          `json:"desc"`
	Icon          string          `json:"icon"`
	IconShowType  string          `json:"iconshowtype"`
	Duration      int32           `json:"duration"`
	BuffType      string          `json:"type"`
	BuffCategory  string          `json:"buffcategory"`
	Target        string          `json:"target"`
	UniqueGroup   int32           `json:"uniquegroup"`
	OverlapFlag   int32           `json:"overlapflag"`
	PassiveOption []PassiveOption `json:"passiveoption"`
	SourceSkill   *int32          `json:"sourceskill"`
	SetName       *string         `json:"setname"`
}

type BuffFilter

type BuffFilter func(info meter.Buff) (string, bool)

func PlayerSelfBuffFilter

func PlayerSelfBuffFilter(player meter.Entity) BuffFilter

type BuffGroup

type BuffGroup struct {
	Name  string
	Buffs map[string]struct{}
}

type BuffGroups

type BuffGroups map[string]BuffGroup

func (BuffGroups) Collect

func (bgs BuffGroups) Collect(group, buff string)

func (BuffGroups) Serialize

func (bgs BuffGroups) Serialize(order func(a, b structs.BuffGroupInfo) int) []structs.BuffGroupInfo

type Buffs

type Buffs map[string]*structs.BuffGroup

func (Buffs) Collect

func (b Buffs) Collect(group, buff string, damage int64)

func (Buffs) CollectAll

func (b Buffs) CollectAll(catalog meter.BuffInfo, damages meter.BuffDamage, filter BuffFilter)

type Encounter

type Encounter struct {
	Raw *meter.Encounter

	Header structs.EncounterHeader
	Data   structs.EncounterData
}

func (*Encounter) BuffInfo

func (enc *Encounter) BuffInfo(buff string) (structs.BuffInfo, error)

func (*Encounter) CatalogBuff

func (enc *Encounter) CatalogBuff(data structs.EncounterData, buff string)

func (*Encounter) ProcessPlayer

func (enc *Encounter) ProcessPlayer() Player

func (*Encounter) UniqueHash

func (enc *Encounter) UniqueHash(players []string) string

type PassiveOption

type PassiveOption struct {
	Type     string `json:"type"`
	KeyStat  string `json:"keystat"`
	KeyIndex int32  `json:"keyindex"`
	Value    int32  `json:"value"`
}

type Player

type Player struct {
}

type Processor

type Processor struct {
	// contains filtered or unexported fields
}

func NewLogProcessor

func NewLogProcessor(db *database.DB, s3 *s3.Client) *Processor

func (*Processor) Initialize

func (p *Processor) Initialize() error

func (*Processor) Lint

func (p *Processor) Lint(enc *meter.Encounter) error

func (*Processor) PopulateDifficulty

func (p *Processor) PopulateDifficulty(raw *meter.Encounter)

func (*Processor) Preprocess

func (p *Processor) Preprocess(raw *meter.Encounter)

func (*Processor) Process

func (p *Processor) Process(raw *meter.Encounter) (*Encounter, error)

func (*Processor) Save

func (p *Processor) Save(ctx context.Context, user pgtype.UUID, str string, raw *meter.Encounter) (int32, error)

type SkillData

type SkillData struct {
	ID                int32  `json:"id"`
	Name              string `json:"name"`
	Desc              string `json:"desc"`
	ClassID           int32  `json:"classid"`
	Icon              string `json:"icon"`
	SummonSourceSkill int32  `json:"summonsourceskill"`
	SourceSkill       int32  `json:"sourceskill"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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