Documentation ¶
Index ¶
- Constants
- Variables
- func ConvertLocation(s string) string
- func GetLinkNameFromSanitizedName(name string) string
- func GetSanitizedName(name string) (string, error)
- func InitFactory(dataDirectory string) error
- type AllRatings
- type Aura
- type Build
- type Champion
- func (c *Champion) AddBuild(build *Build)
- func (c *Champion) AddMastery(mastery *ChampionMasteries)
- func (c *Champion) AddRating(source string, rating *Rating, weight int)
- func (c *Champion) AddSkill(name string, description string, passive bool) *Skill
- func (c *Champion) DefaultSEO()
- func (c Champion) Filename() string
- func (c *Champion) GetPageContent(input io.Reader, output io.Writer, extraData map[string]interface{}) error
- func (c *Champion) GetPageContent_Templates(tmpl *template.Template, output io.Writer, extraData map[string]interface{}) error
- func (c Champion) GetPageExcerpt() string
- func (c *Champion) GetPageExtraData(dataDirectory string) (map[string]interface{}, error)
- func (c Champion) GetPageSlug() string
- func (_ Champion) GetPageTemplate() string
- func (c Champion) GetPageTitle() string
- func (_ Champion) GetParentPageID() int
- func (c *Champion) GetSkillByName(name string) (*Skill, error)
- func (c *Champion) GetSkillBySlug(slug string) (*Skill, error)
- func (c Champion) LinkName() string
- func (c *Champion) ParseRawSkill(raw string) error
- func (c *Champion) Sanitize() error
- func (c *Champion) SetAura(description string)
- type ChampionFilter
- func FilterChampionFactionSlug(slug string) ChampionFilter
- func FilterChampionName(name string) ChampionFilter
- func FilterChampionNotSlug(slug string) ChampionFilter
- func FilterChampionSlug(slug string) ChampionFilter
- func FilterChampionStatusEffect(effectSlug string) ChampionFilter
- func FilterChampionStatusEffectOnSkill(skillNumber, effectSlug string) ChampionFilter
- func FilterChampionStatusEffectWithTargets(effectSlug string, targets ...string) ChampionFilter
- type ChampionFusionData
- type ChampionList
- type ChampionMasteries
- type Characteristics
- type Faction
- func (f *Faction) DefaultSEO()
- func (f Faction) Filename() string
- func (_ Faction) GetPageContent(input io.Reader, output io.Writer, extraData map[string]interface{}) error
- func (f *Faction) GetPageContent_Templates(tmpl *template.Template, output io.Writer, extraData map[string]interface{}) error
- func (f Faction) GetPageExcerpt() string
- func (f *Faction) GetPageExtraData(dataDirectory string) (map[string]interface{}, error)
- func (f Faction) GetPageSlug() string
- func (_ Faction) GetPageTemplate() string
- func (f Faction) GetPageTitle() string
- func (_ Faction) GetParentPageID() int
- func (f Faction) LinkName() string
- func (f *Faction) Sanitize() error
- type FactionFilter
- type FactionList
- type Factory
- type Fusion
- func (f Fusion) GetPageContent(r io.Reader, output io.Writer, extraData map[string]interface{}) error
- func (f *Fusion) GetPageContent_Templates(tmpl *template.Template, output io.Writer, extraData map[string]interface{}) error
- func (f Fusion) GetPageExcerpt() string
- func (f *Fusion) GetPageExtraData(dataDirectory string) (map[string]interface{}, error)
- func (f Fusion) GetPageSlug() string
- func (_ Fusion) GetPageTemplate() string
- func (f Fusion) GetPageTitle() string
- func (_ Fusion) GetParentPageID() int
- func (f Fusion) LinkName() string
- func (f *Fusion) Sanitize() error
- type FusionFilter
- type FusionIngredient
- type FusionList
- type FusionSchedule
- type FusionScheduleItem
- type Location
- type Mastery
- type MasteryFilter
- type MasteryList
- type Rating
- type RatingSource
- type Review
- type Skill
- type SkillData
- type StatPriority
- type StatsPriority
- type StatusEffect
- func (se StatusEffect) GetPageContent(input io.Reader, output io.Writer, extraData map[string]interface{}) error
- func (se *StatusEffect) GetPageContent_Templates(tmpl *template.Template, output io.Writer, extraData map[string]interface{}) error
- func (se StatusEffect) GetPageExcerpt() string
- func (se *StatusEffect) GetPageExtraData(dataDirectory string) (map[string]interface{}, error)
- func (se StatusEffect) GetPageSlug() string
- func (_ StatusEffect) GetPageTemplate() string
- func (se StatusEffect) GetPageTitle() string
- func (se StatusEffect) GetParentPageID() int
- func (se StatusEffect) LinkName() string
- func (se *StatusEffect) Sanitize() error
- type StatusEffectFilter
- type StatusEffectList
- type Synergy
- type SynergyContext
- type SynergyContextKey
- type Target
- type Video
Constants ¶
View Source
const ( TargetWho_AllAlly = "all ally" TargetWho_TargetAlly = "target ally" TargetWho_OtherAlly = "other allys" TargetWho_Target = "target" )
View Source
const (
StatusEffect_CounterAttack = "counterattack"
)
Variables ¶
View Source
var (
ErrNotInitialized = fmt.Errorf("factory not initialized")
)
View Source
var (
ErrSkillNotFound = fmt.Errorf("skill not found")
)
View Source
var ( SynergyData = map[SynergyContextKey]struct { Title string RawDescription string }{ SynergyContextKey_PoisonCounterattack: { Title: "Poison and Counterattack", RawDescription: "Mixing a champion having A1 applying a Poison debuff, and a champion able to place a counterattack buff on him, is a very good situational synergy that can be impressive during Clan Boss battles.", }, } )
Functions ¶
func ConvertLocation ¶
func GetSanitizedName ¶
func InitFactory ¶
Types ¶
type AllRatings ¶
type AllRatings []*RatingSource
func (AllRatings) Compute ¶
func (ar AllRatings) Compute() *Rating
type Aura ¶
type Build ¶
type Build struct { From string `json:"from"` Author string `json:"author"` Locations []string `json:"locations"` Sets []string `json:"sets"` Stats *StatsPriority `json:"stats"` }
func (*Build) IsSameThan ¶
func (*Build) Set ¶
func (b *Build) Set(piece string, stat *StatPriority)
type Champion ¶
type Champion struct { Name string `json:"name"` DateAdded string `json:"date_added"` Rarity string `json:"rarity"` Element string `json:"element"` Type string `json:"type"` Rating *Rating `json:"rating"` Reviews *Review `json:"reviews"` AllRatings AllRatings `json:"all_ratings"` Slug string `json:"slug"` Characteristics map[int64]Characteristics `json:"characteristics"` Auras []*Aura `json:"auras"` Skills []*Skill `json:"skills"` Faction Faction `json:"faction"` FactionSlug string `json:"faction_slug"` WebsiteLink string `json:"website_link"` ImageSlug string `json:"image_slug"` SEO *seo.SEO `json:"seo"` DefaultDescription string `json:"default_description"` RecommendedBuilds []*Build `json:"recommended_builds"` Lore string `json:"lore"` GIID string `json:"giid"` Synergies []*Synergy `json:"synergy"` Thumbnail string `json:"thumbnail"` Tags []string `json:"tags"` Masteries []*ChampionMasteries `json:"masteries"` FusionData []*ChampionFusionData `json:"fusion_data"` EffectSlugs []string `json:"effect_slugs"` Videos []*Video `json:"videos"` }
func (*Champion) AddMastery ¶
func (c *Champion) AddMastery(mastery *ChampionMasteries)
func (*Champion) DefaultSEO ¶
func (c *Champion) DefaultSEO()
func (*Champion) GetPageContent ¶
func (*Champion) GetPageContent_Templates ¶
func (Champion) GetPageExcerpt ¶
func (*Champion) GetPageExtraData ¶
func (Champion) GetPageSlug ¶
func (Champion) GetPageTemplate ¶
func (Champion) GetPageTitle ¶
func (Champion) GetParentPageID ¶
func (*Champion) ParseRawSkill ¶
type ChampionFilter ¶
func FilterChampionFactionSlug ¶
func FilterChampionFactionSlug(slug string) ChampionFilter
func FilterChampionName ¶
func FilterChampionName(name string) ChampionFilter
func FilterChampionNotSlug ¶
func FilterChampionNotSlug(slug string) ChampionFilter
func FilterChampionSlug ¶
func FilterChampionSlug(slug string) ChampionFilter
func FilterChampionStatusEffect ¶
func FilterChampionStatusEffect(effectSlug string) ChampionFilter
func FilterChampionStatusEffectOnSkill ¶
func FilterChampionStatusEffectOnSkill(skillNumber, effectSlug string) ChampionFilter
func FilterChampionStatusEffectWithTargets ¶
func FilterChampionStatusEffectWithTargets(effectSlug string, targets ...string) ChampionFilter
type ChampionFusionData ¶
type ChampionList ¶
type ChampionList []*Champion
func GetChampions ¶
func GetChampions(filters ...ChampionFilter) (ChampionList, error)
func (ChampionList) Sort ¶
func (cl ChampionList) Sort()
func (ChampionList) Union ¶
func (cl ChampionList) Union(oth ChampionList) ChampionList
type ChampionMasteries ¶
type ChampionMasteries struct { From string `json:"from"` Author string `json:"author"` Locations []string `json:"locations"` Offense []string `json:"offense"` Defense []string `json:"defense"` Support []string `json:"support"` }
func (*ChampionMasteries) Sanitize ¶
func (m *ChampionMasteries) Sanitize() error
type Characteristics ¶
type Characteristics struct { HP int64 `json:"hp"` Attack int64 `json:"attack"` Defense int64 `json:"defense"` Speed int64 `json:"speed"` CriticalRate float64 `json:"critical_rate"` CriticalDamage float64 `json:"critical_damage"` Resistance int64 `json:"resistance"` Accuracy int64 `json:"accuracy"` }
type Faction ¶
type Faction struct { Name string `json:"name"` Slug string `json:"slug"` DateAdded string `json:"date_added"` WebsiteLink string `json:"website_link"` ImageSlug string `json:"image_slug"` NumberOfChampions int64 `json:"number_of_champions"` DefaultDescription string `json:"default_description"` SEO *seo.SEO `json:"seo"` GIID string `json:"giid"` RawDescription string `json:"raw_description"` ChampionSlugs []string `json:"champion_slugs"` }
func (*Faction) DefaultSEO ¶
func (f *Faction) DefaultSEO()
func (Faction) GetPageContent ¶
func (*Faction) GetPageContent_Templates ¶
func (Faction) GetPageExcerpt ¶
func (*Faction) GetPageExtraData ¶
func (Faction) GetPageSlug ¶
func (Faction) GetPageTemplate ¶
func (Faction) GetPageTitle ¶
func (Faction) GetParentPageID ¶
type FactionFilter ¶
func FilterFactionSlug ¶
func FilterFactionSlug(slug string) FactionFilter
type FactionList ¶
type FactionList []*Faction
func GetFactions ¶
func GetFactions(filters ...FactionFilter) (FactionList, error)
func (FactionList) Sort ¶
func (fl FactionList) Sort()
type Fusion ¶
type Fusion struct { DateAdded string `json:"date_added"` TimeStart *time.Time `json:"time_start"` TimeEnd *time.Time `json:"time_end"` Active bool `json:"active"` Limit *int64 `json:"limit"` ChampionSlug string `json:"champion_slug"` Name string `json:"name"` Slug string `json:"slug"` Ingredients []*FusionIngredient `json:"ingredients"` ParentFusionSlug *string `json:"parent_fusion_slug"` Schedule *FusionSchedule `json:"schedule"` }
func (Fusion) GetPageContent ¶
func (*Fusion) GetPageContent_Templates ¶
func (Fusion) GetPageExcerpt ¶
func (*Fusion) GetPageExtraData ¶
func (Fusion) GetPageSlug ¶
func (Fusion) GetPageTemplate ¶
func (Fusion) GetPageTitle ¶
func (Fusion) GetParentPageID ¶
type FusionFilter ¶
func FilterFusionSlug ¶
func FilterFusionSlug(slug string) FusionFilter
type FusionIngredient ¶
type FusionList ¶
type FusionList []*Fusion
func GetFusions ¶
func GetFusions(filters ...FusionFilter) (FusionList, error)
func (FusionList) Sort ¶
func (fl FusionList) Sort()
type FusionSchedule ¶
type FusionSchedule struct { DateStart string `json:"-"` DateEnd string `json:"-"` Raw []*FusionScheduleItem `json:"raw"` Daily map[string][]int `json:"daily"` }
func (*FusionSchedule) Sanitize ¶
func (fs *FusionSchedule) Sanitize() error
type FusionScheduleItem ¶
type FusionScheduleItem struct { Index int `json:"index"` Type string `json:"type"` Name string `json:"name"` DateStart string `json:"date_start"` DateEnd string `json:"date_end"` ChampionSlugs []string `json:"champion_slugs"` }
func (*FusionScheduleItem) Sanitize ¶
func (fsi *FusionScheduleItem) Sanitize() error
type MasteryFilter ¶
func FilterMasteryLowercasedName ¶
func FilterMasteryLowercasedName(name string) MasteryFilter
type MasteryList ¶
type MasteryList []*Mastery
func GetMasteries ¶
func GetMasteries(filters ...MasteryFilter) (MasteryList, error)
func (MasteryList) Sort ¶
func (ml MasteryList) Sort()
type Rating ¶
type Rating struct { Overall string `json:"overall"` Campaign string `json:"campaign"` ArenaOff string `json:"arena_offense"` ArenaDef string `json:"arena_defense"` ClanBossWoGS string `json:"clan_boss_without_giant_slayer"` ClanBosswGS string `json:"clan_boss_with_giant_slayer"` IceGuardian string `json:"ice_guardian"` Dragon string `json:"dragon"` Spider string `json:"spider"` FireKnight string `json:"fire_knight"` Minotaur string `json:"minotaur"` ForceDungeon string `json:"force_dungeon"` MagicDungeon string `json:"magic_dungeon"` SpiritDungeon string `json:"spirit_dungeon"` VoidDungeon string `json:"void_dungeon"` FactionWars string `json:"faction_wars"` }
type RatingSource ¶
type RatingSource struct { Source string `json:"source"` Rating *Rating `json:"rating"` Weight int `json:"weight"` }
func (*RatingSource) Sanitize ¶
func (rs *RatingSource) Sanitize() error
type Review ¶
type Review struct { NumberOfReviews int64 `json:"amount"` Campaign float64 `json:"campaign"` ArenaOff float64 `json:"arena_offense"` ArenaDef float64 `json:"arena_defense"` ClanBoss float64 `json:"clan_boss"` IceGuardian float64 `json:"ice_guardian"` Dragon float64 `json:"dragon"` Spider float64 `json:"spider"` FireKnight float64 `json:"fire_knight"` Minotaur float64 `json:"minotaur"` ForceDungeon float64 `json:"force_dungeon"` MagicDungeon float64 `json:"magic_dungeon"` SpiritDungeon float64 `json:"spirit_dungeon"` VoidDungeon float64 `json:"void_dungeon"` }
type Skill ¶
type Skill struct { Passive bool `json:"passive"` Name string `json:"name"` RawDescription string `json:"raw_description"` Slug string `json:"slug"` Effects []*StatusEffect `json:"effects"` DamageBasedOn []string `json:"damaged_based_on"` GIID string `json:"giid"` Cooldown int64 `json:"cooldown"` Upgrades []*SkillData `json:"upgrades"` ImageSlug string `json:"image_slug"` SkillNumber string `json:"skill_number"` }
func (*Skill) SetSkillData ¶
type SkillData ¶
type SkillData struct { Level string `json:"level"` Hits int64 `json:"hits"` Target *Target `json:"target"` Effects []*StatusEffect `json:"effects"` BasedOn []string `json:"based_on"` Cooldown int64 `json:"cooldown"` RawDetail string `json:"raw_detail"` }
type StatPriority ¶
type StatPriority struct { MainStat string `json:"main_stat,omitempty"` MainStats []string `json:"main_stats"` AdditionalStats []string `json:"additional_stats"` }
func (*StatPriority) Sanitize ¶
func (sp *StatPriority) Sanitize() error
type StatsPriority ¶
type StatsPriority struct { Weapon *StatPriority `json:"weapon"` Helmet *StatPriority `json:"helmet"` Shield *StatPriority `json:"shield"` Gauntlets *StatPriority `json:"gauntlets"` Chestplate *StatPriority `json:"chestplate"` Boots *StatPriority `json:"boots"` Ring *StatPriority `json:"ring"` Amulet *StatPriority `json:"amulet"` Banner *StatPriority `json:"banner"` }
func (*StatsPriority) Sanitize ¶
func (ssp *StatsPriority) Sanitize() error
type StatusEffect ¶
type StatusEffect struct { DateAdded string `json:"date_added"` EffectType string `json:"effect_type"` Type string `json:"type"` Value float64 `json:"value"` Chance float64 `json:"chance"` Turns int64 `json:"turns"` Target *Target `json:"target"` ImageSlug string `json:"image_slug"` Slug string `json:"slug"` WebsiteLink string `json:"website_link"` Extra bool `json:"extra"` RawDescription string `json:"raw_description"` PlacesIf string `json:"places_if"` Amount int64 `json:"amount"` PossibleValues []string `json:"possible_values"` ChampionSlugs []string `json:"champion_slugs"` }
func (StatusEffect) GetPageContent ¶
func (*StatusEffect) GetPageContent_Templates ¶
func (StatusEffect) GetPageExcerpt ¶
func (se StatusEffect) GetPageExcerpt() string
func (*StatusEffect) GetPageExtraData ¶
func (se *StatusEffect) GetPageExtraData(dataDirectory string) (map[string]interface{}, error)
func (StatusEffect) GetPageSlug ¶
func (se StatusEffect) GetPageSlug() string
func (StatusEffect) GetPageTemplate ¶
func (_ StatusEffect) GetPageTemplate() string
func (StatusEffect) GetPageTitle ¶
func (se StatusEffect) GetPageTitle() string
func (StatusEffect) GetParentPageID ¶
func (se StatusEffect) GetParentPageID() int
func (StatusEffect) LinkName ¶
func (se StatusEffect) LinkName() string
func (*StatusEffect) Sanitize ¶
func (se *StatusEffect) Sanitize() error
type StatusEffectFilter ¶
type StatusEffectFilter func(*StatusEffect) bool
type StatusEffectList ¶
type StatusEffectList []*StatusEffect
func GetStatuseffects ¶
func GetStatuseffects(filters ...StatusEffectFilter) (StatusEffectList, error)
func (StatusEffectList) Sort ¶
func (sl StatusEffectList) Sort()
type Synergy ¶
type Synergy struct { Context SynergyContext `json:"context"` Champions []string `json:"champions"` }
type SynergyContext ¶
type SynergyContext struct {
Key SynergyContextKey `json:"key"`
}
type SynergyContextKey ¶
type SynergyContextKey string
const (
SynergyContextKey_PoisonCounterattack SynergyContextKey = "poison-counterattack"
)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.