data

package
v0.0.0-...-a43b89a Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2023 License: GPL-3.0, MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DamageTypePhysical  = DamageType("Physical")
	DamageTypeLightning = DamageType("Lightning")
	DamageTypeCold      = DamageType("Cold")
	DamageTypeFire      = DamageType("Fire")
	DamageTypeElemental = DamageType("Elemental")
	DamageTypeChaos     = DamageType("Chaos")
)
View Source
const (
	AilmentIgnite  = Ailment("Ignite")
	AilmentChill   = Ailment("Chill")
	AilmentFreeze  = Ailment("Freeze")
	AilmentShock   = Ailment("Shock")
	AilmentScorch  = Ailment("Scorch")
	AilmentBrittle = Ailment("Brittle")
	AilmentSap     = Ailment("Sap")
)
View Source
const (
	ServerTickTime            = 0.033
	ServerTickRate            = 1 / 0.033
	TemporalChainsEffectCap   = float64(75)
	DamageReductionCap        = 90
	ResistFloor               = -200
	MaxResistCap              = 90
	EvadeChanceCap            = 95
	DodgeChanceCap            = 75
	SuppressionChanceCap      = 100
	SuppressionEffect         = 50
	AvoidChanceCap            = 75
	EnergyShieldRechargeBase  = 0.33
	EnergyShieldRechargeDelay = 2
	WardRechargeDelay         = 5
	Transfiguration           = 0.3
	EnemyMaxResist            = 75
	LeechRateBase             = 0.02
	BleedPercentBase          = 70
	BleedDurationBase         = 5
	PoisonPercentBase         = 0.30
	PoisonDurationBase        = 2
	IgnitePercentBase         = 0.9
	IgniteDurationBase        = 4
	IgniteMinDuration         = 0.3
	ImpaleStoredDamageBase    = 0.1
	BuffExpirationSlowCap     = 0.25
	TrapTriggerRadiusBase     = 10
	MineDetonationRadiusBase  = 60
	MineAuraRadiusBase        = 35
	MaxEnemyLevel             = 85
	LowPoolThreshold          = 0.5
	AccuracyPerDexBase        = float64(2)
	BrandAttachmentRangeBase  = 30
	ProjectileDistanceCap     = 150
)
View Source
const (
	SkillTypeAttack                         = SkillType("Attack")
	SkillTypeSpell                          = SkillType("Spell")
	SkillTypeProjectile                     = SkillType("Projectile")    // Specifically skills which fire projectiles
	SkillTypeDualWieldOnly                  = SkillType("DualWieldOnly") // Attack requires dual wielding only used on Dual Strike
	SkillTypeBuff                           = SkillType("Buff")
	SkillTypeRemoved6                       = SkillType("Removed6")     // Now removed was CanDualWield: Attack can be used while dual wielding
	SkillTypeMainHandOnly                   = SkillType("MainHandOnly") // Attack only uses the main hand; removed in 3.5 but still needed for 2.6
	SkillTypeRemoved8                       = SkillType("Removed8")     // Now removed was only used on Cleave
	SkillTypeMinion                         = SkillType("Minion")
	SkillTypeDamage                         = SkillType("Damage") // Skill hits (not used on attacks because all of them hit)
	SkillTypeArea                           = SkillType("Area")
	SkillTypeDuration                       = SkillType("Duration")
	SkillTypeRequiresShield                 = SkillType("RequiresShield")
	SkillTypeProjectileSpeed                = SkillType("ProjectileSpeed")
	SkillTypeHasReservation                 = SkillType("HasReservation")
	SkillTypeReservationBecomesCost         = SkillType("ReservationBecomesCost")
	SkillTypeTrappable                      = SkillType("Trappable")       // Skill can be turned into a trap
	SkillTypeTotemable                      = SkillType("Totemable")       // Skill can be turned into a totem
	SkillTypeMineable                       = SkillType("Mineable")        // Skill can be turned into a mine
	SkillTypeElementalStatus                = SkillType("ElementalStatus") // Causes elemental status effects but doesn't hit (used on Herald of Ash to allow Elemental Proliferation to apply)
	SkillTypeMinionsCanExplode              = SkillType("MinionsCanExplode")
	SkillTypeRemoved22                      = SkillType("Removed22") // Now removed was AttackCanTotem
	SkillTypeChains                         = SkillType("Chains")
	SkillTypeMelee                          = SkillType("Melee")
	SkillTypeMeleeSingleTarget              = SkillType("MeleeSingleTarget")
	SkillTypeMulticastable                  = SkillType("Multicastable") // Spell can repeat via Spell Echo
	SkillTypeTotemCastsAlone                = SkillType("TotemCastsAlone")
	SkillTypeMultistrikeable                = SkillType("Multistrikeable") // Attack can repeat via Multistrike
	SkillTypeCausesBurning                  = SkillType("CausesBurning")   // Deals burning damage
	SkillTypeSummonsTotem                   = SkillType("SummonsTotem")
	SkillTypeTotemCastsWhenNotDetached      = SkillType("TotemCastsWhenNotDetached")
	SkillTypeFire                           = SkillType("Fire")
	SkillTypeCold                           = SkillType("Cold")
	SkillTypeLightning                      = SkillType("Lightning")
	SkillTypeTriggerable                    = SkillType("Triggerable")
	SkillTypeTrapped                        = SkillType("Trapped")
	SkillTypeMovement                       = SkillType("Movement")
	SkillTypeRemoved39                      = SkillType("Removed39") // Now removed was Cast
	SkillTypeDamageOverTime                 = SkillType("DamageOverTime")
	SkillTypeRemoteMined                    = SkillType("RemoteMined")
	SkillTypeTriggered                      = SkillType("Triggered")
	SkillTypeVaal                           = SkillType("Vaal")
	SkillTypeAura                           = SkillType("Aura")
	SkillTypeRemoved45                      = SkillType("Removed45")               // Now removed was LightningSpell
	SkillTypeCanTargetUnusableCorpse        = SkillType("CanTargetUnusableCorpse") // Doesn't appear to be used at all
	SkillTypeRemoved47                      = SkillType("Removed47")               // Now removed was TriggeredAttack
	SkillTypeRangedAttack                   = SkillType("RangedAttack")
	SkillTypeRemoved49                      = SkillType("Removed49") // Now removed was MinionSpell
	SkillTypeChaos                          = SkillType("Chaos")
	SkillTypeFixedSpeedProjectile           = SkillType("FixedSpeedProjectile") // Not used by any skill
	SkillTypeRemoved52                      = SkillType("Removed52")
	SkillTypeThresholdJewelArea             = SkillType("ThresholdJewelArea") // Allows Burning Arrow and Vigilant Strike to be supported by Inc AoE and Conc Effect
	SkillTypeThresholdJewelProjectile       = SkillType("ThresholdJewelProjectile")
	SkillTypeThresholdJewelDuration         = SkillType("ThresholdJewelDuration") // Allows Burning Arrow to be supported by Inc/Less Duration and Rapid Decay
	SkillTypeThresholdJewelRangedAttack     = SkillType("ThresholdJewelRangedAttack")
	SkillTypeRemoved57                      = SkillType("Removed57")
	SkillTypeChannel                        = SkillType("Channel")
	SkillTypeDegenOnlySpellDamage           = SkillType("DegenOnlySpellDamage") // Allows Contagion Blight and Scorching Ray to be supported by Controlled Destruction
	SkillTypeRemoved60                      = SkillType("Removed60")            // Now removed was ColdSpell
	SkillTypeInbuiltTrigger                 = SkillType("InbuiltTrigger")       // Skill granted by item that is automatically triggered prevents trigger gems and trap/mine/totem from applying
	SkillTypeGolem                          = SkillType("Golem")
	SkillTypeHerald                         = SkillType("Herald")
	SkillTypeAuraAffectsEnemies             = SkillType("AuraAffectsEnemies") // Used by Death Aura added by Blasphemy
	SkillTypeNoRuthless                     = SkillType("NoRuthless")
	SkillTypeThresholdJewelSpellDamage      = SkillType("ThresholdJewelSpellDamage")
	SkillTypeCascadable                     = SkillType("Cascadable")                     // Spell can cascade via Spell Cascade
	SkillTypeProjectilesFromUser            = SkillType("ProjectilesFromUser")            // Skill can be supported by Volley
	SkillTypeMirageArcherCanUse             = SkillType("MirageArcherCanUse")             // Skill can be supported by Mirage Archer
	SkillTypeProjectileSpiral               = SkillType("ProjectileSpiral")               // Excludes Volley from Vaal Fireball and Vaal Spark
	SkillTypeSingleMainProjectile           = SkillType("SingleMainProjectile")           // Excludes Volley from Spectral Shield Throw
	SkillTypeMinionsPersistWhenSkillRemoved = SkillType("MinionsPersistWhenSkillRemoved") // Excludes Summon Phantasm on Kill from Manifest Dancing Dervish
	SkillTypeProjectileNumber               = SkillType("ProjectileNumber")               // Allows LMP/GMP on Rain of Arrows and Toxic Rain
	SkillTypeWarcry                         = SkillType("Warcry")                         // Warcry
	SkillTypeInstant                        = SkillType("Instant")                        // Instant cast skill
	SkillTypeBrand                          = SkillType("Brand")
	SkillTypeDestroysCorpse                 = SkillType("DestroysCorpse") // Consumes corpses on use
	SkillTypeNonHitChill                    = SkillType("NonHitChill")
	SkillTypeChillingArea                   = SkillType("ChillingArea")
	SkillTypeAppliesCurse                   = SkillType("AppliesCurse")
	SkillTypeCanRapidFire                   = SkillType("CanRapidFire")
	SkillTypeAuraDuration                   = SkillType("AuraDuration")
	SkillTypeAreaSpell                      = SkillType("AreaSpell")
	SkillTypeOR                             = SkillType("OR")
	SkillTypeAND                            = SkillType("AND")
	SkillTypeNOT                            = SkillType("NOT")
	SkillTypePhysical                       = SkillType("Physical")
	SkillTypeAppliesMaim                    = SkillType("AppliesMaim")
	SkillTypeCreatesMinion                  = SkillType("CreatesMinion")
	SkillTypeGuard                          = SkillType("Guard")
	SkillTypeTravel                         = SkillType("Travel")
	SkillTypeBlink                          = SkillType("Blink")
	SkillTypeCanHaveBlessing                = SkillType("CanHaveBlessing")
	SkillTypeProjectilesNotFromUser         = SkillType("ProjectilesNotFromUser")
	SkillTypeAttackInPlaceIsDefault         = SkillType("AttackInPlaceIsDefault")
	SkillTypeNova                           = SkillType("Nova")
	SkillTypeInstantNoRepeatWhenHeld        = SkillType("InstantNoRepeatWhenHeld")
	SkillTypeInstantShiftAttackForLeftMouse = SkillType("InstantShiftAttackForLeftMouse")
	SkillTypeAuraNotOnCaster                = SkillType("AuraNotOnCaster")
	SkillTypeBanner                         = SkillType("Banner")
	SkillTypeRain                           = SkillType("Rain")
	SkillTypeCooldown                       = SkillType("Cooldown")
	SkillTypeThresholdJewelChaining         = SkillType("ThresholdJewelChaining")
	SkillTypeSlam                           = SkillType("Slam")
	SkillTypeStance                         = SkillType("Stance")
	SkillTypeNonRepeatable                  = SkillType("NonRepeatable") // Blood and Sand + Flesh and Stone
	SkillTypeOtherThingUsesSkill            = SkillType("OtherThingUsesSkill")
	SkillTypeSteel                          = SkillType("Steel")
	SkillTypeHex                            = SkillType("Hex")
	SkillTypeMark                           = SkillType("Mark")
	SkillTypeAegis                          = SkillType("Aegis")
	SkillTypeOrb                            = SkillType("Orb")
	SkillTypeKillNoDamageModifiers          = SkillType("KillNoDamageModifiers")
	SkillTypeRandomElement                  = SkillType("RandomElement") // means elements cannot repeat
	SkillTypeLateConsumeCooldown            = SkillType("LateConsumeCooldown")
	SkillTypeArcane                         = SkillType("Arcane") // means it is reliant on amount of mana spent
	SkillTypeFixedCastTime                  = SkillType("FixedCastTime")
	SkillTypeRequiresOffHandNotWeapon       = SkillType("RequiresOffHandNotWeapon")
	SkillTypeLink                           = SkillType("Link")
	SkillTypeBlessing                       = SkillType("Blessing")
	SkillTypeZeroReservation                = SkillType("ZeroReservation")
)
View Source
const (
	TreeVersion3_10 = TreeVersion("3_10")
	TreeVersion3_11 = TreeVersion("3_11")
	TreeVersion3_12 = TreeVersion("3_12")
	TreeVersion3_13 = TreeVersion("3_13")
	TreeVersion3_14 = TreeVersion("3_14")
	TreeVersion3_15 = TreeVersion("3_15")
	TreeVersion3_16 = TreeVersion("3_16")
	TreeVersion3_17 = TreeVersion("3_17")
	TreeVersion3_18 = TreeVersion("3_18")
)
View Source
const DefaultTreeVersion = TreeVersion3_10
View Source
const (
	GameVersion3_0 = GameVersion("3_0")
)
View Source
const LatestTreeVersion = TreeVersion3_18
View Source
const LiveTargetVersion = GameVersion3_0

Variables

View Source
var ClassIDs = map[ClassName]int{
	Duelist:  4,
	Marauder: 1,
	Ranger:   2,
	Scion:    0,
	Shadow:   6,
	Templar:  5,
	Witch:    3,
}
View Source
var MonsterAccuracyTable = []float64{} /* 101 elements not displayed */
View Source
var MonsterAllyLifeTable = []float64{} /* 101 elements not displayed */
View Source
var MonsterArmourTable = []float64{} /* 101 elements not displayed */
View Source
var MonsterDamageTable = []float64{} /* 101 elements not displayed */
View Source
var MonsterEvasionTable = []float64{} /* 101 elements not displayed */
View Source
var MonsterLifeTable = []float64{} /* 101 elements not displayed */
View Source
var NonDamagingAilments = map[Ailment]NonDamagingAilmentData{
	AilmentChill: {
		AssociatedType: DamageTypeCold,
		Alt:            false,
		Default:        utils.Ptr[float64](10),
		Min:            5,
		Max:            30,
		Precision:      0,
		Duration:       utils.Ptr[float64](2),
	},
	AilmentFreeze: {
		AssociatedType: DamageTypeCold,
		Alt:            false,
		Default:        nil,
		Min:            0.3,
		Max:            3,
		Precision:      2,
		Duration:       nil,
	},
	AilmentShock: {
		AssociatedType: DamageTypeLightning,
		Alt:            false,
		Default:        utils.Ptr[float64](15),
		Min:            5,
		Max:            50,
		Precision:      0,
		Duration:       utils.Ptr[float64](2),
	},
	AilmentScorch: {
		AssociatedType: DamageTypeFire,
		Alt:            true,
		Default:        utils.Ptr[float64](10),
		Min:            0,
		Max:            30,
		Precision:      0,
		Duration:       utils.Ptr[float64](4),
	},
	AilmentBrittle: {
		AssociatedType: DamageTypeCold,
		Alt:            true,
		Default:        utils.Ptr[float64](5),
		Min:            0,
		Max:            15,
		Precision:      2,
		Duration:       utils.Ptr[float64](4),
	},
	AilmentSap: {
		AssociatedType: DamageTypeLightning,
		Alt:            true,
		Default:        utils.Ptr[float64](6),
		Min:            0,
		Max:            20,
		Precision:      0,
		Duration:       utils.Ptr[float64](4),
	},
}
View Source
var TreeVersions = make(map[TreeVersion]*TreeVersionData)
View Source
var UnarmedWeaponData = map[int]map[string]interface{}{
	0: {"type": "None", "AttackRate": 1.2, "CritChance": float64(0), "PhysicalMin": float64(2), "PhysicalMax": float64(6)},
	1: {"type": "None", "AttackRate": 1.2, "CritChance": float64(0), "PhysicalMin": float64(2), "PhysicalMax": float64(8)},
	2: {"type": "None", "AttackRate": 1.2, "CritChance": float64(0), "PhysicalMin": float64(2), "PhysicalMax": float64(5)},
	3: {"type": "None", "AttackRate": 1.2, "CritChance": float64(0), "PhysicalMin": float64(2), "PhysicalMax": float64(5)},
	4: {"type": "None", "AttackRate": 1.2, "CritChance": float64(0), "PhysicalMin": float64(2), "PhysicalMax": float64(6)},
	5: {"type": "None", "AttackRate": 1.2, "CritChance": float64(0), "PhysicalMin": float64(2), "PhysicalMax": float64(6)},
	6: {"type": "None", "AttackRate": 1.2, "CritChance": float64(0), "PhysicalMin": float64(2), "PhysicalMax": float64(5)},
}
View Source
var WeaponTypes = map[ItemClassName]*WeaponTypeInfo{
	None:                  {OneHand: true, Melee: true, Flag: "Unarmed", ModFlag: mod.MFlagUnarmed},
	Bow:                   {OneHand: false, Melee: false, Flag: "Bow", ModFlag: mod.MFlagBow},
	Claw:                  {OneHand: true, Melee: true, Flag: "Claw", ModFlag: mod.MFlagClaw},
	Dagger:                {OneHand: true, Melee: true, Flag: "Dagger", ModFlag: mod.MFlagDagger},
	Staff:                 {OneHand: false, Melee: true, Flag: "Staff", ModFlag: mod.MFlagStaff},
	Wand:                  {OneHand: true, Melee: false, Flag: "Wand", ModFlag: mod.MFlagWand},
	OneHandAxe:            {OneHand: true, Melee: true, Flag: "Axe", ModFlag: mod.MFlagAxe},
	OneHandMace:           {OneHand: true, Melee: true, Flag: "Mace", ModFlag: mod.MFlagMace},
	OneHandSword:          {OneHand: true, Melee: true, Flag: "Sword", ModFlag: mod.MFlagSword},
	Sceptre:               {OneHand: true, Melee: true, Flag: "Mace", Label: "One Handed Mace", ModFlag: mod.MFlagMace},
	ThrustingOneHandSword: {OneHand: true, Melee: true, Flag: "Sword", Label: "One Handed Sword", ModFlag: mod.MFlagSword},
	FishingRod:            {OneHand: false, Melee: true, Flag: "Fishing", ModFlag: mod.MFlagFishing},
	TwoHandAxe:            {OneHand: false, Melee: true, Flag: "Axe", ModFlag: mod.MFlagAxe},
	TwoHandMace:           {OneHand: false, Melee: true, Flag: "Mace", ModFlag: mod.MFlagMace},
	TwoHandSword:          {OneHand: false, Melee: true, Flag: "Sword", ModFlag: mod.MFlagSword},
}

Functions

func BFS

func BFS[K comparable, T any](g graph.Graph[K, T], adjacencyMap map[K]map[K]graph.Edge[K], start K, visit func(K) bool) ([]K, error)

BFS is an adapted version of graph.BFS that also returns the traversal path

func DamageStatsForType

func DamageStatsForType(t int) []string

func FromJSONGz

func FromJSONGz[T any](data []byte) T

func RawToSkillTypes

func RawToSkillTypes(types []*raw.ActiveSkillType) map[SkillType]bool

Types

type Ailment

type Ailment string

func (Ailment) Values

func (Ailment) Values() []Ailment

type Ascendancy

type Ascendancy struct {
	ID                AscendancyName   `json:"id"`
	Name              AscendancyName   `json:"name"`
	FlavourText       *string          `json:"flavourText,omitempty"`
	FlavourTextColour *string          `json:"flavourTextColour,omitempty"`
	FlavourTextRect   *FlavourTextRect `json:"flavourTextRect,omitempty"`
}

type AscendancyName

type AscendancyName string
const (
	Ascendant    AscendancyName = "Ascendant"
	Assassin     AscendancyName = "Assassin"
	Berserker    AscendancyName = "Berserker"
	Champion     AscendancyName = "Champion"
	Chieftain    AscendancyName = "Chieftain"
	Deadeye      AscendancyName = "Deadeye"
	Elementalist AscendancyName = "Elementalist"
	Gladiator    AscendancyName = "Gladiator"
	Guardian     AscendancyName = "Guardian"
	Hierophant   AscendancyName = "Hierophant"
	Inquisitor   AscendancyName = "Inquisitor"
	Juggernaut   AscendancyName = "Juggernaut"
	Necromancer  AscendancyName = "Necromancer"
	Occultist    AscendancyName = "Occultist"
	Pathfinder   AscendancyName = "Pathfinder"
	Raider       AscendancyName = "Raider"
	Saboteur     AscendancyName = "Saboteur"
	Slayer       AscendancyName = "Slayer"
	Trickster    AscendancyName = "Trickster"
)

type CharacterAttributes

type CharacterAttributes struct {
	Strength     int64 `json:"Strength"`
	Dexterity    int64 `json:"Dexterity"`
	Intelligence int64 `json:"Intelligence"`
}

type Class

type Class struct {
	Name         ClassName    `json:"name"`
	BaseStr      int64        `json:"base_str"`
	BaseDex      int64        `json:"base_dex"`
	BaseInt      int64        `json:"base_int"`
	Ascendancies []Ascendancy `json:"ascendancies"`
}

type ClassName

type ClassName string
const (
	Duelist  ClassName = "Duelist"
	Marauder ClassName = "Marauder"
	Ranger   ClassName = "Ranger"
	Scion    ClassName = "Scion"
	Shadow   ClassName = "Shadow"
	Templar  ClassName = "Templar"
	Witch    ClassName = "Witch"
)

type Classes

type Classes struct {
	StrDexIntClass int64 `json:"StrDexIntClass"`
	StrClass       int64 `json:"StrClass"`
	DexClass       int64 `json:"DexClass"`
	IntClass       int64 `json:"IntClass"`
	StrDexClass    int64 `json:"StrDexClass"`
	StrIntClass    int64 `json:"StrIntClass"`
	DexIntClass    int64 `json:"DexIntClass"`
}

type Constants

type Constants struct {
	Classes              Classes             `json:"classes"`
	CharacterAttributes  CharacterAttributes `json:"characterAttributes"`
	PSSCentreInnerRadius int64               `json:"PSSCentreInnerRadius"`
	SkillsPerOrbit       []int64             `json:"skillsPerOrbit"`
	OrbitRadii           []int64             `json:"orbitRadii"`
}

type Coord

type Coord struct {
	X int64 `json:"x"`
	Y int64 `json:"y"`
	W int64 `json:"w"`
	H int64 `json:"h"`
}

type DamageType

type DamageType string

func (DamageType) IsElemental

func (t DamageType) IsElemental() bool

func (DamageType) Values

func (DamageType) Values() []DamageType

type ExpansionJewel

type ExpansionJewel struct {
	Size   int64   `json:"size"`
	Index  int64   `json:"index"`
	Proxy  string  `json:"proxy"`
	Parent *string `json:"parent,omitempty"`
}

type ExtraImage

type ExtraImage struct {
	X     float64 `json:"x"`
	Y     float64 `json:"y"`
	Image string  `json:"image"`
}

type FlavourTextRect

type FlavourTextRect struct {
	X      int64 `json:"x"`
	Y      int64 `json:"y"`
	Width  int64 `json:"width"`
	Height int64 `json:"height"`
}

type GameVersion

type GameVersion string

type Group

type Group struct {
	X       float64  `json:"x"`
	Y       float64  `json:"y"`
	Orbits  []int64  `json:"orbits"`
	Nodes   []string `json:"nodes"`
	IsProxy *bool    `json:"isProxy,omitempty"`
}

type ItemClassName

type ItemClassName string
const (
	None                  ItemClassName = "None"
	Bow                   ItemClassName = "Bow"
	Claw                  ItemClassName = "Claw"
	Dagger                ItemClassName = "Dagger"
	FishingRod            ItemClassName = "FishingRod"
	OneHandAxe            ItemClassName = "One Hand Axe"
	OneHandMace           ItemClassName = "One Hand Mace"
	OneHandSword          ItemClassName = "One Hand Sword"
	RuneDagger            ItemClassName = "Rune Dagger"
	Sceptre               ItemClassName = "Sceptre"
	Shield                ItemClassName = "Shield"
	Staff                 ItemClassName = "Staff"
	ThrustingOneHandSword ItemClassName = "Thrusting One Hand Sword"
	TwoHandAxe            ItemClassName = "Two Hand Axe"
	TwoHandMace           ItemClassName = "Two Hand Mace"
	TwoHandSword          ItemClassName = "Two Hand Sword"
	Unarmed               ItemClassName = "Unarmed"
	Wand                  ItemClassName = "Wand"
	Warstaff              ItemClassName = "Warstaff"
)

type MasteryEffect

type MasteryEffect struct {
	Effect       int64    `json:"effect"`
	Stats        []string `json:"stats"`
	ReminderText []string `json:"reminderText,omitempty"`
}

type Node

type Node struct {
	Skill                  *int64          `json:"skill,omitempty"`
	Name                   *string         `json:"name,omitempty"`
	Icon                   *string         `json:"icon,omitempty"`
	IsNotable              *bool           `json:"isNotable,omitempty"`
	Recipe                 []OilType       `json:"recipe,omitempty"`
	Stats                  []string        `json:"stats,omitempty"`
	Group                  *int64          `json:"group,omitempty"`
	Orbit                  *int64          `json:"orbit,omitempty"`
	OrbitIndex             *int64          `json:"orbitIndex,omitempty"`
	Out                    []string        `json:"out,omitempty"`
	In                     []string        `json:"in,omitempty"`
	ReminderText           []string        `json:"reminderText,omitempty"`
	IsMastery              *bool           `json:"isMastery,omitempty"`
	InactiveIcon           *string         `json:"inactiveIcon,omitempty"`
	ActiveIcon             *string         `json:"activeIcon,omitempty"`
	ActiveEffectImage      *string         `json:"activeEffectImage,omitempty"`
	MasteryEffects         []MasteryEffect `json:"masteryEffects,omitempty"`
	GrantedStrength        *int64          `json:"grantedStrength,omitempty"`
	AscendancyName         *string         `json:"ascendancyName,omitempty"`
	GrantedDexterity       *int64          `json:"grantedDexterity,omitempty"`
	IsAscendancyStart      *bool           `json:"isAscendancyStart,omitempty"`
	IsMultipleChoice       *bool           `json:"isMultipleChoice,omitempty"`
	GrantedIntelligence    *int64          `json:"grantedIntelligence,omitempty"`
	IsJewelSocket          *bool           `json:"isJewelSocket,omitempty"`
	ExpansionJewel         *ExpansionJewel `json:"expansionJewel,omitempty"`
	GrantedPassivePoints   *int64          `json:"grantedPassivePoints,omitempty"`
	IsKeystone             *bool           `json:"isKeystone,omitempty"`
	FlavourText            []string        `json:"flavourText,omitempty"`
	IsProxy                *bool           `json:"isProxy,omitempty"`
	IsMultipleChoiceOption *bool           `json:"isMultipleChoiceOption,omitempty"`
	IsBlighted             *bool           `json:"isBlighted,omitempty"`
	ClassStartIndex        *int64          `json:"classStartIndex,omitempty"`
}

type NonDamagingAilmentData

type NonDamagingAilmentData struct {
	AssociatedType DamageType
	Alt            bool
	Default        *float64
	Min            float64
	Max            float64
	Precision      float64
	Duration       *float64
}

type OilType

type OilType string

type Points

type Points struct {
	TotalPoints      int64 `json:"totalPoints"`
	AscendancyPoints int64 `json:"ascendancyPoints"`
}

type SkillType

type SkillType string

type Sprite

type Sprite struct {
	Filename string           `json:"filename"`
	W        int64            `json:"w"`
	H        int64            `json:"h"`
	Coords   map[string]Coord `json:"coords"`
}

type Sprites

type Sprites struct {
	Background            map[string]Sprite `json:"background"`
	NormalActive          map[string]Sprite `json:"normalActive"`
	NotableActive         map[string]Sprite `json:"notableActive"`
	KeystoneActive        map[string]Sprite `json:"keystoneActive"`
	NormalInactive        map[string]Sprite `json:"normalInactive"`
	NotableInactive       map[string]Sprite `json:"notableInactive"`
	KeystoneInactive      map[string]Sprite `json:"keystoneInactive"`
	Mastery               map[string]Sprite `json:"mastery"`
	MasteryConnected      map[string]Sprite `json:"masteryConnected"`
	MasteryActiveSelected map[string]Sprite `json:"masteryActiveSelected"`
	MasteryInactive       map[string]Sprite `json:"masteryInactive"`
	MasteryActiveEffect   map[string]Sprite `json:"masteryActiveEffect"`
	AscendancyBackground  map[string]Sprite `json:"ascendancyBackground"`
	Ascendancy            map[string]Sprite `json:"ascendancy"`
	StartNode             map[string]Sprite `json:"startNode"`
	GroupBackground       map[string]Sprite `json:"groupBackground"`
	Frame                 map[string]Sprite `json:"frame"`
	Jewel                 map[string]Sprite `json:"jewel"`
	Line                  map[string]Sprite `json:"line"`
	JewelRadius           map[string]Sprite `json:"jewelRadius"`
}

type Tree

type Tree struct {
	Tree            string                `json:"tree"`
	Classes         []Class               `json:"classes"`
	Groups          map[string]Group      `json:"groups"`
	Nodes           map[string]Node       `json:"nodes"`
	ExtraImages     map[string]ExtraImage `json:"extraImages"`
	JewelSlots      []int64               `json:"jewelSlots"`
	MinX            int64                 `json:"min_x"`
	MinY            int64                 `json:"min_y"`
	MaxX            int64                 `json:"max_x"`
	MaxY            int64                 `json:"max_y"`
	Constants       Constants             `json:"constants"`
	Sprites         Sprites               `json:"sprites"`
	ImageZoomLevels []float64             `json:"imageZoomLevels"`
	Points          Points                `json:"points"`
}

type TreeVersion

type TreeVersion string

type TreeVersionData

type TreeVersionData struct {
	Display string
	Num     float64
	URL     string
	// contains filtered or unexported fields
}

func (*TreeVersionData) CalculateTreePath

func (v *TreeVersionData) CalculateTreePath(activeNodes []int64, target int64) []int64

func (*TreeVersionData) RawTree

func (v *TreeVersionData) RawTree() []byte

func (*TreeVersionData) Tree

func (v *TreeVersionData) Tree() *Tree

type WeaponTypeInfo

type WeaponTypeInfo struct {
	OneHand bool
	Melee   bool
	Flag    string
	Label   string
	ModFlag mod.MFlag
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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