database

package
v0.0.11 Latest Latest
Warning

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

Go to latest
Published: May 25, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AtlasLootDifficulties = map[string]proto.DungeonDifficulty{
	"NORMAL_DIFF": proto.DungeonDifficulty_DifficultyNormal,
}
View Source
var AtlasLootPVPFactions = map[int]map[string]int32{
	3277: {

		"ALLIANCE": 890,

		"HORDE": 889,
	},
	3358: {

		"ALLIANCE": 509,

		"HORDE": 510,
	},
	2597: {

		"ALLIANCE": 730,

		"HORDE": 729,
	},
}
View Source
var DenyListNameRegexes = []*regexp.Regexp{
	regexp.MustCompile(`30 Epic`),
	regexp.MustCompile(`63 Blue`),
	regexp.MustCompile(`63 Green`),
	regexp.MustCompile(`66 Epic`),
	regexp.MustCompile(`90 Epic`),
	regexp.MustCompile(`90 Green`),
	regexp.MustCompile(`Boots 1`),
	regexp.MustCompile(`Boots 2`),
	regexp.MustCompile(`Boots 3`),
	regexp.MustCompile(`Bracer 1`),
	regexp.MustCompile(`Bracer 2`),
	regexp.MustCompile(`Bracer 3`),
	regexp.MustCompile(`DB\d`),
	regexp.MustCompile(`DEPRECATED`),
	regexp.MustCompile(`Deprecated: Keanna`),
	regexp.MustCompile(`Indalamar`),
	regexp.MustCompile(`Monster -`),
	regexp.MustCompile(`NEW`),
	regexp.MustCompile(`PH`),
	regexp.MustCompile(`QR XXXX`),
	regexp.MustCompile(`TEST`),
	regexp.MustCompile(`Test`),
	regexp.MustCompile(`zOLD`),
}

If any of these match the item name, don't include it.

View Source
var EnchantOverrides = []*proto.UIEnchant{}/* 131 elements not displayed */
View Source
var ExtraItemIcons = []int32{

	12662,

	13180,
	11566,
	8956,
	10646,
	18641,
	15993,
	16040,

	13928,
	20452,
	13931,
	18254,
	21023,
	13813,
	13810,

	13510,
	13511,
	13512,
	13513,

	20079,

	8412,
	8423,
	8424,
	8411,

	13452,
	9187,

	20007,
	20004,
	9088,

	3389,
	8951,
	13445,

	2458,
	3825,

	12451,
	9206,

	12460,
	12820,

	5206,

	13454,
	9264,
	21546,
	17708,

	11564,

	18284,
	18269,
	20709,
	21114,
	21151,

	13444,

	7676,

	20748,
	20749,
	12404,
	18262,
}

Item icons to include in the DB, so they don't need to be separately loaded in the UI.

View Source
var ItemAllowList = map[int32]struct{}{
	11815: {},
	12590: {},
	15808: {},
	18843: {},
	18844: {},
	18847: {},
	18848: {},
	19019: {},
	19808: {},
	20837: {},
	20966: {},
	21625: {},
	21685: {},
	24114: {},
	28572: {},
	28830: {},
	29383: {},
	29387: {},
	29994: {},
	29996: {},
	30032: {},
	30627: {},
	30720: {},
	31193: {},
	32387: {},
	32658: {},
	33135: {},
	33140: {},
	33143: {},
	33144: {},
	33504: {},
	33506: {},
	33507: {},
	33508: {},
	33510: {},
	33829: {},
	33831: {},
	34472: {},
	34473: {},
	37032: {},
	37574: {},
	38072: {},
	38287: {},
	38289: {},
	39208: {},
	41752: {},
	6360:  {},
	8345:  {},
	9449:  {},

	211848: {},
	211845: {},
	215111: {},
	215114: {},
}

Keep these sorted by item ID.

View Source
var ItemDenyList = map[int32]struct{}{
	9653:   {},
	12104:  {},
	12805:  {},
	17782:  {},
	17783:  {},
	17802:  {},
	20522:  {},
	33350:  {},
	34576:  {},
	34577:  {},
	34578:  {},
	34579:  {},
	34580:  {},
	206382: {},
	206387: {},
	206954: {},
	208689: {},
	208849: {},
	208851: {},
	210195: {},
	210534: {},
	215116: {},
	211472: {},
	213513: {},
	213594: {},
	220915: {},
}

Keep these sorted by item ID.

View Source
var ItemOverrides = []*proto.UIItem{

	{Id: 211848, Name: "Blackfathom Mana Oil", Icon: "inv_potion_99", Stats: stats.Stats{stats.MP5: 12, stats.SpellHit: 2}.ToFloatArray()},
	{Id: 211845, Name: "Blackfathom Sharpening Stone", Icon: "inv_misc_rune_04", Stats: stats.Stats{stats.MeleeHit: 2}.ToFloatArray()},

	{Id: 10019, Sources: []*proto.UIItemSource{{
		Source: &proto.UIItemSource_Crafted{
			Crafted: &proto.CraftedSource{
				Profession: proto.Profession_Tailoring, SpellId: 3759,
			},
		},
	}}},

	{Id: 217245, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Tailoring, SpellId: 439085}}}}},

	{Id: 217246, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Tailoring, SpellId: 439086}}}}},

	{Id: 217252, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Tailoring, SpellId: 439094}}}}},

	{Id: 217257, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Tailoring, SpellId: 439102}}}}},

	{Id: 217259, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Leatherworking, SpellId: 439105}}}}},

	{Id: 217261, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Leatherworking, SpellId: 439108}}}}},

	{Id: 217268, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Leatherworking, SpellId: 439116}}}}},

	{Id: 217270, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Leatherworking, SpellId: 439118}}}}},

	{Id: 217277, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Blacksmithing, SpellId: 439124}}}}},

	{Id: 217279, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Blacksmithing, SpellId: 439126}}}}},

	{Id: 217285, Sources: []*proto.UIItemSource{{Source: &proto.UIItemSource_Crafted{Crafted: &proto.CraftedSource{Profession: proto.Profession_Blacksmithing, SpellId: 439132}}}}},

	{Id: 221457, RangedWeaponType: proto.RangedWeaponType_RangedWeaponTypeLibram},

	{Id: 221464, RangedWeaponType: proto.RangedWeaponType_RangedWeaponTypeTotem},

	{Id: 213343, Sources: []*proto.UIItemSource{
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 80324, Name: "The Mad King"}}},
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 80325, Name: "The Mad King"}}},
	}},
	{Id: 213344, Sources: []*proto.UIItemSource{
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 80324, Name: "The Mad King"}}},
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 80325, Name: "The Mad King"}}},
	}},
	{Id: 213345, Sources: []*proto.UIItemSource{
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 80324, Name: "The Mad King"}}},
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 80325, Name: "The Mad King"}}},
	}},
	{Id: 213346, Sources: []*proto.UIItemSource{
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 80324, Name: "The Mad King"}}},
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 80325, Name: "The Mad King"}}},
	}},

	{Id: 220626, Sources: []*proto.UIItemSource{
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 82081, Name: "A Broken Ritual"}}},
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 82083, Name: "A Broken Ritual"}}},
	}},
	{Id: 220627, Sources: []*proto.UIItemSource{
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 82081, Name: "A Broken Ritual"}}},
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 82083, Name: "A Broken Ritual"}}},
	}},
	{Id: 220628, Sources: []*proto.UIItemSource{
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 82081, Name: "A Broken Ritual"}}},
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 82083, Name: "A Broken Ritual"}}},
	}},
	{Id: 220629, Sources: []*proto.UIItemSource{
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 82081, Name: "A Broken Ritual"}}},
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 82083, Name: "A Broken Ritual"}}},
	}},
	{Id: 220630, Sources: []*proto.UIItemSource{
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 82081, Name: "A Broken Ritual"}}},
		{Source: &proto.UIItemSource_Quest{Quest: &proto.QuestSource{Id: 82083, Name: "A Broken Ritual"}}},
	}},
}
View Source
var OtherItemIdsToFetch = []string{}
View Source
var RuneOverrides []*proto.UIRune

Overrides for runes as needed Regen db with "go run ./tools/database/gen_db -outDir=assets -gen=db" And ensure db files are copied from assets/db into dist/sod/database

View Source
var SharedSpellsIcons = []int32{}/* 132 elements not displayed */

Raid buffs / debuffs

View Source
var SpellIconoverrides = []*proto.IconData{
	{Id: 415068, Name: "Exorcism (Rank 1)"},
	{Id: 415069, Name: "Exorcism (Rank 2)"},
	{Id: 415070, Name: "Exorcism (Rank 3)"},
	{Id: 415071, Name: "Exorcism (Rank 4)"},
	{Id: 415072, Name: "Exorcism (Rank 5)"},
	{Id: 415073, Name: "Exorcism (Rank 6)"},
}
View Source
var UnimplementedRuneOverrides = []int32{

	429133,
	428909,
}

Remove runes as you implement them.

Functions

func GetBestRegexIntValue

func GetBestRegexIntValue(srcStr string, patterns []*regexp.Regexp, matchIdx int) int

func GetRegexIntValue

func GetRegexIntValue(srcStr string, pattern *regexp.Regexp, matchIdx int) int

func GetRegexStringValue

func GetRegexStringValue(srcStr string, pattern *regexp.Regexp, matchIdx int) string

func ParseItemFactionRestrictionsFromWagoDB

func ParseItemFactionRestrictionsFromWagoDB(dbContents string) map[int32]proto.UIItem_FactionRestriction

Types

type BlizzardAuthResponse

type BlizzardAuthResponse struct {
	AccessToken string `json:"access_token"`
}

type BlizzardItemResponse

type BlizzardItemResponse struct {
	ID   int    `json:"id"`
	Name string `json:"name"`

	Quality struct {
		Type string `json:"type"`
	} `json:"quality"`

	ItemClass struct {
		Id int `json:"id"`
	} `json:"item_class"`

	ItemSubclass struct {
		Id int `json:"id"`
	} `json:"item_subclass"`

	InventoryType struct {
		Type string `json:"type"`
	} `json:"inventory_type"`

	PreviewItem struct {
		Armor struct {
			Value int `json:"value"`
		} `json:"armor"`

		Stats []struct {
			Type struct {
				Type string `json:"type"`
			} `json:"type"`
			Value int `json:"value"`
		} `json:"stats"`
	} `json:"preview_item"`
}

There are more fields, these are just the ones we care about

func (BlizzardItemResponse) GetStatValue

func (item BlizzardItemResponse) GetStatValue(statType string) int

type ClassMask added in v0.0.4

type ClassMask uint16
const (
	ClassMaskWarrior     ClassMask = 1 << iota
	ClassMaskPaladin               // 2
	ClassMaskHunter                // 4
	ClassMaskRogue                 // 8
	ClassMaskPriest                // 16
	ClassMaskDeathKnight           // 32
	ClassMaskShaman                // 64
	ClassMaskMage                  // 128
	ClassMaskWarlock               // 256
	ClassMaskUnknown               // 512 seemingly unused?
	ClassMaskDruid                 // 1024
)

type EnchantDBKey

type EnchantDBKey struct {
	EffectID int32
	ItemID   int32
	SpellID  int32
}

func EnchantToDBKey

func EnchantToDBKey(enchant *proto.UIEnchant) EnchantDBKey

type FactionConfig added in v0.0.6

type FactionConfig struct {
	Id   int32  `json:"id"`
	Name string `json:"name"`
}

type ItemResponse

type ItemResponse interface {
	GetName() string
	GetQuality() int
	GetIcon() string
	TooltipWithoutSetBonus() string
	GetTooltipRegexString(pattern *regexp.Regexp, matchIdx int) string
	GetTooltipRegexValue(pattern *regexp.Regexp, matchIdx int) int
	GetIntValue(pattern *regexp.Regexp) int
	GetStats() Stats
	GetWeaponSkills() []float64
	IsEquippable() bool
	GetItemLevel() int
	GetRequiresLevel() int
	GetRequiredClass() proto.Class
	GetRequiredItemSlot() proto.ItemSlot
	GetSpellRank() int
	GetPhase() int
	GetUnique() bool
	GetItemType() proto.ItemType
	GetArmorType() proto.ArmorType
	GetWeaponType() proto.WeaponType
	GetHandType() proto.HandType
	GetRangedWeaponType() proto.RangedWeaponType
	GetWeaponDamage() (float64, float64)
	GetWeaponSpeed() float64
	GetItemSetName() string
	IsHeroic() bool
	GetRequiredProfession() proto.Profession
}

type Stats

type Stats [46]float64

type TooltipManager

type TooltipManager struct {
	FilePath   string
	UrlPattern string
}

Generic class for fetching tooltip info from the web.

func (*TooltipManager) Fetch

func (tm *TooltipManager) Fetch(minId, maxId int32, otherIds []string)

func (*TooltipManager) FetchFromWeb

func (tm *TooltipManager) FetchFromWeb(idsToFetch []string) map[string]string

func (*TooltipManager) Read

func (tm *TooltipManager) Read() map[int32]string

type WeaponSkills

type WeaponSkills [15]float64

type WowDatabase

type WowDatabase struct {
	Items          map[int32]*proto.UIItem
	RandomSuffixes map[int32]*proto.ItemRandomSuffix
	Enchants       map[EnchantDBKey]*proto.UIEnchant
	Runes          map[int32]*proto.UIRune

	Zones    map[int32]*proto.UIZone
	Npcs     map[int32]*proto.UINPC
	Factions map[int32]*proto.UIFaction

	ItemIcons  map[int32]*proto.IconData
	SpellIcons map[int32]*proto.IconData

	Encounters []*proto.PresetEncounter
}

func NewWowDatabase

func NewWowDatabase() *WowDatabase

func ReadAtlasLootData

func ReadAtlasLootData(inputsDir string) *WowDatabase

func ReadDatabaseFromJson

func ReadDatabaseFromJson(jsonStr string) *WowDatabase

func (*WowDatabase) AddItemIcon

func (db *WowDatabase) AddItemIcon(id int32, tooltips map[int32]WowheadItemResponse)

func (*WowDatabase) AddRune

func (db *WowDatabase) AddRune(id int32, tooltip WowheadItemResponse)

func (*WowDatabase) AddSpellIcon

func (db *WowDatabase) AddSpellIcon(id int32, tooltips map[int32]WowheadItemResponse)

func (*WowDatabase) Clone

func (db *WowDatabase) Clone() *WowDatabase

func (*WowDatabase) MergeEnchant

func (db *WowDatabase) MergeEnchant(src *proto.UIEnchant)

func (*WowDatabase) MergeEnchants

func (db *WowDatabase) MergeEnchants(arr []*proto.UIEnchant)

func (*WowDatabase) MergeFaction added in v0.0.6

func (db *WowDatabase) MergeFaction(src *proto.UIFaction)

func (*WowDatabase) MergeFactions added in v0.0.6

func (db *WowDatabase) MergeFactions(arr []*proto.UIFaction)

func (*WowDatabase) MergeItem

func (db *WowDatabase) MergeItem(src *proto.UIItem)

func (*WowDatabase) MergeItems

func (db *WowDatabase) MergeItems(arr []*proto.UIItem)

func (*WowDatabase) MergeNpc

func (db *WowDatabase) MergeNpc(src *proto.UINPC)

func (*WowDatabase) MergeNpcs

func (db *WowDatabase) MergeNpcs(arr []*proto.UINPC)

func (*WowDatabase) MergeRune

func (db *WowDatabase) MergeRune(src *proto.UIRune)

func (*WowDatabase) MergeRunes

func (db *WowDatabase) MergeRunes(arr []*proto.UIRune)

func (*WowDatabase) MergeSpellIcon added in v0.0.7

func (db *WowDatabase) MergeSpellIcon(src *proto.IconData)

func (*WowDatabase) MergeSpellIcons added in v0.0.7

func (db *WowDatabase) MergeSpellIcons(arr []*proto.IconData)

func (*WowDatabase) MergeZone

func (db *WowDatabase) MergeZone(src *proto.UIZone)

func (*WowDatabase) MergeZones

func (db *WowDatabase) MergeZones(arr []*proto.UIZone)

func (*WowDatabase) ToUIProto

func (db *WowDatabase) ToUIProto() *proto.UIDatabase

func (*WowDatabase) WriteBinary

func (db *WowDatabase) WriteBinary(binFilePath string)

func (*WowDatabase) WriteBinaryAndJson

func (db *WowDatabase) WriteBinaryAndJson(binFilePath, jsonFilePath string)

func (*WowDatabase) WriteJson

func (db *WowDatabase) WriteJson(jsonFilePath string)

type WowheadDatabase

type WowheadDatabase struct {
	Items          map[string]WowheadItem
	RandomSuffixes map[string]WowheadRandomSuffix
}

func ParseWowheadDB

func ParseWowheadDB(dbContents string) WowheadDatabase

type WowheadItem

type WowheadItem struct {
	ID   int32  `json:"id"`
	Name string `json:"name"`
	Icon string `json:"icon"`

	Quality       int32  `json:"quality"`
	Ilvl          int32  `json:"itemLevel"`
	Phase         int32  `json:"contentPhase"`
	RequiresLevel int32  `json:"requiredLevel"`
	RaceMask      uint16 `json:"raceMask"`
	ClassMask     uint16 `json:"classMask"`

	Stats               WowheadItemStats `json:"stats"`
	RandomSuffixOptions []int32          `json:"randomEnchants"`

	SourceTypes   []int32             `json:"source"` // 1 = Crafted, 2 = Dropped by, 3 = sold by zone vendor? barely used, 4 = Quest, 5 = Sold by
	SourceDetails []WowheadItemSource `json:"sourcemore"`
}

func (WowheadItem) ToProto

func (wi WowheadItem) ToProto() *proto.UIItem

type WowheadItemResponse

type WowheadItemResponse struct {
	ID      int32
	Name    string `json:"name"`
	Quality int    `json:"quality"`
	Icon    string `json:"icon"`
	Tooltip string `json:"tooltip"`
}

func NewWowheadItemResponse

func NewWowheadItemResponse(id int32, tooltip string) WowheadItemResponse

func (WowheadItemResponse) GetArmorType

func (item WowheadItemResponse) GetArmorType() proto.ArmorType

func (WowheadItemResponse) GetArmorValues

func (item WowheadItemResponse) GetArmorValues() (int, int)

func (WowheadItemResponse) GetHandType

func (item WowheadItemResponse) GetHandType() proto.HandType

func (WowheadItemResponse) GetIcon

func (item WowheadItemResponse) GetIcon() string

func (WowheadItemResponse) GetIntValue

func (item WowheadItemResponse) GetIntValue(pattern *regexp.Regexp) int

func (WowheadItemResponse) GetItemLevel

func (item WowheadItemResponse) GetItemLevel() int

func (WowheadItemResponse) GetItemSetName

func (item WowheadItemResponse) GetItemSetName() string

func (WowheadItemResponse) GetItemType

func (item WowheadItemResponse) GetItemType() proto.ItemType

func (WowheadItemResponse) GetName

func (item WowheadItemResponse) GetName() string

func (WowheadItemResponse) GetPhase

func (item WowheadItemResponse) GetPhase() int

func (WowheadItemResponse) GetQuality

func (item WowheadItemResponse) GetQuality() int

func (WowheadItemResponse) GetRangedWeaponType

func (item WowheadItemResponse) GetRangedWeaponType() proto.RangedWeaponType

func (WowheadItemResponse) GetRequiredClass

func (item WowheadItemResponse) GetRequiredClass() proto.Class

func (WowheadItemResponse) GetRequiredItemSlot

func (item WowheadItemResponse) GetRequiredItemSlot() proto.ItemType

func (WowheadItemResponse) GetRequiredProfession

func (item WowheadItemResponse) GetRequiredProfession() proto.Profession

func (WowheadItemResponse) GetRequiresLevel

func (item WowheadItemResponse) GetRequiresLevel() int

func (WowheadItemResponse) GetSpellRank

func (item WowheadItemResponse) GetSpellRank() int

func (WowheadItemResponse) GetStats

func (item WowheadItemResponse) GetStats() Stats

func (WowheadItemResponse) GetTooltipRegexString

func (item WowheadItemResponse) GetTooltipRegexString(pattern *regexp.Regexp, matchIdx int) string

func (WowheadItemResponse) GetTooltipRegexValue

func (item WowheadItemResponse) GetTooltipRegexValue(pattern *regexp.Regexp, matchIdx int) int

func (WowheadItemResponse) GetUnique

func (item WowheadItemResponse) GetUnique() bool

func (WowheadItemResponse) GetWeaponDamage

func (item WowheadItemResponse) GetWeaponDamage() (float64, float64)

Returns min/max of weapon damage

func (WowheadItemResponse) GetWeaponSkills

func (item WowheadItemResponse) GetWeaponSkills() WeaponSkills

func (WowheadItemResponse) GetWeaponSpeed

func (item WowheadItemResponse) GetWeaponSpeed() float64

func (WowheadItemResponse) GetWeaponType

func (item WowheadItemResponse) GetWeaponType() proto.WeaponType

func (WowheadItemResponse) IsEquippable

func (item WowheadItemResponse) IsEquippable() bool

func (WowheadItemResponse) IsHeroic

func (item WowheadItemResponse) IsHeroic() bool

func (WowheadItemResponse) IsPattern

func (item WowheadItemResponse) IsPattern() bool

func (WowheadItemResponse) IsRandomEnchant

func (item WowheadItemResponse) IsRandomEnchant() bool

func (WowheadItemResponse) IsScalableArmorSlot

func (item WowheadItemResponse) IsScalableArmorSlot() bool

func (WowheadItemResponse) ToItemProto

func (item WowheadItemResponse) ToItemProto() *proto.UIItem

func (WowheadItemResponse) TooltipWithoutSetBonus

func (item WowheadItemResponse) TooltipWithoutSetBonus() string

type WowheadItemSource

type WowheadItemSource struct {
	C        int32  `json:"c"`
	Name     string `json:"n"`    // Name of crafting spell
	Icon     string `json:"icon"` // Icon corresponding to the named entity
	EntityID int32  `json:"ti"`   // Crafting Spell ID / NPC ID / ?? / Quest ID
	ZoneID   int32  `json:"z"`    // Only for drop / sold by sources
}

type WowheadItemStats

type WowheadItemStats struct {
	Armor int32 `json:"armor"`
}

type WowheadRandomSuffix

type WowheadRandomSuffix struct {
	ID    int32                    `json:"id"`
	Name  string                   `json:"name"`
	Stats WowheadRandomSuffixStats `json:"stats"`
}

func (WowheadRandomSuffix) ToProto

type WowheadRandomSuffixStats

type WowheadRandomSuffixStats struct {
	Armor             int32 `json:"armor"`
	Strength          int32 `json:"str"`
	Agility           int32 `json:"agi"`
	Stamina           int32 `json:"sta"`
	Intellect         int32 `json:"int"`
	Spirit            int32 `json:"spi"`
	SpellPower        int32 `json:"spldmg"`
	ArcanePower       int32 `json:"arcsplpwr"`
	FirePower         int32 `json:"firsplpwr"`
	FrostPower        int32 `json:"frosplpwr"`
	HolyPower         int32 `json:"holsplpwr"`
	NaturePower       int32 `json:"natsplpwr"`
	ShadowPower       int32 `json:"shasplpwr"`
	MeleeCrit         int32 `json:"mlecritstrkpct"`
	MP5               int32 `json:"manargn"`
	AttackPower       int32 `json:"mleatkpwr"`
	RangedAttackPower int32 `json:"rgdatkpwr"`
	Defense           int32 `json:"def"`
	Block             int32 `json:"blockpct"`
	Dodge             int32 `json:"dodgepct"`
	ArcaneResistance  int32 `json:"arcres"`
	FireResistance    int32 `json:"firres"`
	FrostResistance   int32 `json:"frores"`
	NatureResistance  int32 `json:"natres"`
	ShadowResistance  int32 `json:"shares"`
	Healing           int32 `json:"splheal"`
}

type WowheadTooltipManager

type WowheadTooltipManager struct {
	TooltipManager
}

func NewWowheadItemTooltipManager

func NewWowheadItemTooltipManager(filePath string) *WowheadTooltipManager

func NewWowheadSpellTooltipManager

func NewWowheadSpellTooltipManager(filePath string) *WowheadTooltipManager

func (*WowheadTooltipManager) Read

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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