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.