Documentation
¶
Index ¶
- type Ability
- type Actor
- type Analysis
- type Aura
- type CastInFight
- type Class
- type CommonConfig
- type ComplexRestriction
- type Consumable
- type Enchant
- type EnemyNPC
- type Fight
- type FightAnalysis
- type FightCast
- type Gear
- type GearGem
- type Gem
- type GemRequirements
- type LogFight
- type Logs
- type MasterData
- type Player
- type PlayerAnalysis
- type Report
- type Role
- type Specialization
- type Talents
- type TemporaryEnchant
- type TrueFightAnalysis
- type Zone
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Analysis ¶
type Analysis struct { Data map[int64]*PlayerAnalysis // contains filtered or unexported fields }
func (*Analysis) FilterPlayers ¶
func (a *Analysis) FilterPlayers(predicate func(*PlayerAnalysis) bool) []*PlayerAnalysis
func (*Analysis) GetPlayerAnalysis ¶
func (a *Analysis) GetPlayerAnalysis(gameID int64) *PlayerAnalysis
func (*Analysis) MarshalJSON ¶
func (*Analysis) SetPlayerAnalysis ¶
func (a *Analysis) SetPlayerAnalysis(playerID int64, pa *PlayerAnalysis)
type CastInFight ¶
type CastInFight struct { CommonConfig SpellID int64 `json:"spell_id"` Display bool `json:"display"` Name string `json:"name"` Type string `json:"type"` Rank int64 `json:"rank,omitempty"` ItemID int64 `json:"item_id,omitempty"` CooldownID string `json:"cooldown_id,omitempty"` SuggestedSpellID int64 `json:"suggested_spell_id,omitempty"` Cooldown uint64 `json:"cooldown,omitempty"` }
type Class ¶
type Class string
const ( Class_Paladin Class = "Paladin" Class_Rogue Class = "Rogue" Class_Warrior Class = "Warrior" Class_Shaman Class = "Shaman" Class_Druid Class = "Druid" Class_Priest Class = "Priest" Class_Warlock Class = "Warlock" Class_Mage Class = "Mage" Class_Hunter Class = "Hunter" Class_Unknown Class = "Unknown" )
type CommonConfig ¶
type CommonConfig struct { Invalid bool `json:"invalid,omitempty"` InvalidReason string `json:"invalid_reason,omitempty"` RestrictedRoles []string `json:"restricted_roles,omitempty" stringer:"PlayerRole"` RestrictedSpecializations []string `json:"restricted_specializations,omitempty" stringer:"PlayerSpec"` RestrictedSpecializationsNot []string `json:"restricted_specializations_not,omitempty" stringer:"PlayerSpec,not"` RestrictedFights []string `json:"restricted_fights,omitempty" stringer:"Fight"` RestrictedAny []string `json:"restricted_any,omitempty" stringer:"Player"` RestrictedClass []string `json:"restricted_class,omitempty" stringer:"PlayerClass"` RestrictedComplex *ComplexRestriction `json:"restricted_complex,omitempty"` Todo string `json:"__todo,omitempty"` TextRule string `json:"text_rule,omitempty"` }
func (CommonConfig) IsRestricted ¶
func (cc CommonConfig) IsRestricted(ctx context.Context, fa *FightAnalysis) bool
func (CommonConfig) String ¶ added in v1.5.0
func (cc CommonConfig) String() string
type ComplexRestriction ¶ added in v1.4.0
type ComplexRestriction struct { Operator string `json:"operator"` LHS CommonConfig `json:"lhs"` RHS CommonConfig `json:"rhs"` }
func (*ComplexRestriction) IsRestricted ¶ added in v1.4.0
func (cr *ComplexRestriction) IsRestricted(ctx context.Context, fa *FightAnalysis) bool
func (*ComplexRestriction) String ¶ added in v1.5.0
func (cr *ComplexRestriction) String() string
type Consumable ¶
type Consumable struct { CommonConfig ID int64 `json:"id"` Name string `json:"name"` Types []string `json:"types"` Description string `json:"description,omitempty"` }
func (*Consumable) Is ¶
func (c *Consumable) Is(consumableType string) bool
func (*Consumable) IsBattleElixir ¶
func (c *Consumable) IsBattleElixir() bool
func (Consumable) IsFood ¶
func (c Consumable) IsFood() bool
func (Consumable) IsGuardianElixir ¶
func (c Consumable) IsGuardianElixir() bool
type Enchant ¶
type Enchant struct { CommonConfig ID int64 `json:"id"` Name string `json:"name"` SpellID int64 `json:"spell_id,omitempty"` // TODO:implement }
func (*Enchant) IsRestricted ¶ added in v1.4.0
func (e *Enchant) IsRestricted(ctx context.Context, fa *FightAnalysis) bool
type Fight ¶
type Fight struct { EncounterID int64 `json:"encounterID"` StartTime int64 `json:"startTime"` EndTime int64 `json:"endTime"` Name string `json:"name"` EnemyNPCs []EnemyNPC `json:"enemyNPCs"` FriendlyPlayers []int64 `json:"friendlyPlayers"` FightPercentage float64 `json:"fightPercentage"` Kill bool `json:"kill"` InternalName string `json:"internalName"` Events []json.RawMessage `json:"events"` }
type FightAnalysis ¶
type FightAnalysis struct { Name string `json:"name"` Auras map[int64]*Aura `json:"auras"` Remarks []*remark.Remark `json:"remarks"` Talents *Talents `json:"talents"` Casts map[int64]int64 `json:"casts"` Gear []*Gear `json:"gear"` Analysis *TrueFightAnalysis `json:"analysis"` StartTime int64 `json:"start_time"` EndTime int64 `json:"end_time"` // contains filtered or unexported fields }
func (*FightAnalysis) AddCast ¶
func (fa *FightAnalysis) AddCast(ability, count int64)
func (*FightAnalysis) AddRemark ¶
func (fa *FightAnalysis) AddRemark(metadata remark.Metadata)
func (*FightAnalysis) CouldBenefitFromWindfury ¶
func (fa *FightAnalysis) CouldBenefitFromWindfury(analysis *Analysis) bool
func (*FightAnalysis) Duration ¶ added in v1.7.0
func (fa *FightAnalysis) Duration() int64
type Gear ¶
type Gear struct { ID int64 `json:"id"` Quality int64 `json:"quality"` Icon string `json:"icon"` ItemLevel int64 `json:"itemLevel"` PermanentEnchant *int64 `json:"permanentEnchant,omitempty"` TemporaryEnchant *int64 `json:"temporaryEnchant,omitempty"` Gems []*GearGem `json:"gems,omitempty"` WowheadAttr string `json:"wowhead_attr"` UUID string `json:"uuid"` WowheadData *wowhead.Item `json:"-"` }
func (*Gear) ComputeUUID ¶
func (g *Gear) ComputeUUID()
func (*Gear) ComputeWowheadAttr ¶
func (g *Gear) ComputeWowheadAttr()
func (Gear) CountMissingGems ¶
func (Gear) ShouldBeEnchanted ¶
func (Gear) ShouldHaveTemporaryEnchant ¶
type Gem ¶
type Gem struct { CommonConfig ID int64 `json:"id"` Name string `json:"name"` Quality int64 `json:"quality"` Color string `json:"color"` Requires *GemRequirements `json:"requires,omitempty"` }
func (*Gem) IsRestricted ¶
func (g *Gem) IsRestricted(ctx context.Context, fa *FightAnalysis) bool
type GemRequirements ¶
type MasterData ¶
type PlayerAnalysis ¶
type PlayerAnalysis struct { Actor Fights map[string]*FightAnalysis `json:"fights"` Remarks []*remark.Remark `json:"remarks"` // contains filtered or unexported fields }
func (*PlayerAnalysis) AggregateRemarks ¶
func (pa *PlayerAnalysis) AggregateRemarks()
func (*PlayerAnalysis) GetFight ¶
func (pa *PlayerAnalysis) GetFight(name string) *FightAnalysis
func (*PlayerAnalysis) SetFight ¶
func (pa *PlayerAnalysis) SetFight(fa *FightAnalysis)
type Specialization ¶
type Specialization string
const ( Specialization_RetributionPaladin Specialization = "RetributionPaladin" Specialization_HolyPaladin Specialization = "HolyPaladin" Specialization_ProtectionPaladin Specialization = "ProtectionPaladin" Specialization_CombatRogue Specialization = "CombatRogue" Specialization_AssassinationRogue Specialization = "AssassinationRogue" Specialization_SubtletyRogue Specialization = "SubtletyRogue" Specialization_ArmsWarrior Specialization = "ArmsWarrior" Specialization_FuryWarrior Specialization = "FuryWarrior" Specialization_ProtectionWarrior Specialization = "ProtectionWarrior" Specialization_EnhancementShaman Specialization = "EnhancementShaman" Specialization_ElementalShaman Specialization = "ElementalShaman" Specialization_RestorationShaman Specialization = "RestorationShaman" Specialization_BalanceDruid Specialization = "BalanceDruid" Specialization_CatDruid Specialization = "CatDruid" Specialization_BearDruid Specialization = "BearDruid" Specialization_FeralDruid Specialization = "FeralDruid" Specialization_RestorationDruid Specialization = "RestorationDruid" Specialization_DisciplinePriest Specialization = "DisciplinePriest" Specialization_HolyPriest Specialization = "HolyPriest" Specialization_ShadowPriest Specialization = "ShadowPriest" Specialization_AfflictionWarlock Specialization = "AfflictionWarlock" Specialization_DemonologyWarlock Specialization = "DemonologyWarlock" Specialization_DestructionWarlock Specialization = "DestructionWarlock" Specialization_ArcaneMage Specialization = "ArcaneMage" Specialization_FireMage Specialization = "FireMage" Specialization_FrostMage Specialization = "FrostMage" Specialization_SurvivalHunter Specialization = "SurvivalHunter" Specialization_MarksmanshipHunter Specialization = "MarksmanshipHunter" Specialization_BeastMasteryHunter Specialization = "BeastMasteryHunter" Specialization_Unknown Specialization = "Unknown" )
func (Specialization) IsRole ¶
func (s Specialization) IsRole(role Role) bool
type Talents ¶
type Talents struct { Points [3]int64 `json:"points"` Spec Specialization `json:"spec"` // contains filtered or unexported fields }
func NewTalents ¶
func NewTalents(fight *FightAnalysis, points [3]int64) *Talents
func (*Talents) BenefitsFromWindfuryTotem ¶
type TemporaryEnchant ¶
type TemporaryEnchant struct { CommonConfig ID int64 `json:"id"` Description string `json:"description"` SpellID int64 `json:"spellID,omitempty"` }
type TrueFightAnalysis ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.