Documentation
¶
Index ¶
- Constants
- Variables
- type DefaultTreantImpl
- func (treant *DefaultTreantImpl) Enable(sim *core.Simulation)
- func (treant *DefaultTreantImpl) ExecuteCustomRotation(_ *core.Simulation)
- func (treant *DefaultTreantImpl) GetPet() *core.Pet
- func (treant *DefaultTreantImpl) Initialize()
- func (treant *DefaultTreantImpl) OnEncounterStart(_ *core.Simulation)
- func (treant *DefaultTreantImpl) Reset(sim *core.Simulation)
- type Druid
- func (druid *Druid) ApplyBloodletting(target *core.Unit)
- func (druid *Druid) ApplyGlyphs()
- func (druid *Druid) ApplyLeaderOfThePack()
- func (druid *Druid) ApplyNurturingInstinct()
- func (druid *Druid) ApplyPrimalFury()
- func (druid *Druid) ApplyTalents()
- func (druid *Druid) CanApplyFaerieFireDebuff(target *core.Unit) bool
- func (druid *Druid) ClearForm(sim *core.Simulation)
- func (druid *Druid) CurrentFerociousBiteCost() float64
- func (druid *Druid) CurrentMangleCatCost() float64
- func (druid *Druid) CurrentRakeCost() float64
- func (druid *Druid) CurrentRipCost() float64
- func (druid *Druid) CurrentSwipeCatCost() float64
- func (druid *Druid) GetBearWeapon() core.Weapon
- func (druid *Druid) GetCatWeapon() core.Weapon
- func (druid *Druid) GetCharacter() *core.Character
- func (druid *Druid) HasMajorGlyph(glyph proto.DruidMajorGlyph) bool
- func (druid *Druid) HasMinorGlyph(glyph proto.DruidMinorGlyph) bool
- func (druid *Druid) InForm(form DruidForm) bool
- func (druid *Druid) Initialize()
- func (druid *Druid) IsMangle(spell *core.Spell) bool
- func (druid *Druid) IsSwipeSpell(spell *core.Spell) bool
- func (druid *Druid) NewDefaultTreant(config TreantConfig) *DefaultTreantImpl
- func (druid *Druid) OnEncounterStart(sim *core.Simulation)
- func (druid *Druid) RegisterBaselineSpells()
- func (druid *Druid) RegisterBearFormAura()
- func (druid *Druid) RegisterCatFormAura()
- func (druid *Druid) RegisterFeralCatSpells()
- func (druid *Druid) RegisterFeralTankSpells()
- func (druid *Druid) RegisterSpell(formMask DruidForm, config core.SpellConfig) *DruidSpell
- func (druid *Druid) Reset(_ *core.Simulation)
- func (druid *Druid) ShouldFaerieFire(sim *core.Simulation, target *core.Unit) bool
- func (druid *Druid) TryApplyFaerieFireEffect(sim *core.Simulation, target *core.Unit)
- func (druid *Druid) UpdateBleedPower(bleedSpell *DruidSpell, sim *core.Simulation, target *core.Unit, ...)
- type DruidAgent
- type DruidForm
- type DruidSpell
- type SelfBuffs
- type TreantAgent
- type TreantAgents
- type TreantConfig
Constants ¶
View Source
const ( DruidSpellFlagNone int64 = 0 DruidSpellBarkskin int64 = 1 << iota DruidSpellFearieFire DruidSpellHurricane DruidSpellAstralStorm DruidSpellAstralCommunion DruidSpellInnervate DruidSpellMangleBear DruidSpellMangleCat DruidSpellMaul DruidSpellMoonfire DruidSpellMoonfireDoT DruidSpellRavage DruidSpellShred DruidSpellStarfall DruidSpellStarfire DruidSpellStarsurge DruidSpellSunfire DruidSpellSunfireDoT DruidSpellWildMushroom DruidSpellWildMushroomDetonate DruidSpellWrath DruidSpellHealingTouch DruidSpellRegrowth DruidSpellLifebloom DruidSpellRejuvenation DruidSpellNourish DruidSpellTranquility DruidSpellMarkOfTheWild DruidSpellSwiftmend DruidSpellWildGrowth DruidSpellCenarionWard DruidSpellLast DruidSpellsAll = DruidSpellLast<<1 - 1 DruidSpellDoT = DruidSpellMoonfireDoT | DruidSpellSunfireDoT DruidSpellHoT = DruidSpellRejuvenation | DruidSpellLifebloom | DruidSpellRegrowth | DruidSpellWildGrowth DruidSpellInstant = DruidSpellBarkskin | DruidSpellMoonfire | DruidSpellStarfall | DruidSpellSunfire | DruidSpellFearieFire | DruidSpellBarkskin DruidSpellMangle = DruidSpellMangleBear | DruidSpellMangleCat DruidArcaneSpells = DruidSpellMoonfire | DruidSpellMoonfireDoT | DruidSpellStarfire | DruidSpellStarsurge | DruidSpellStarfall DruidNatureSpells = DruidSpellWrath | DruidSpellStarsurge | DruidSpellSunfire | DruidSpellSunfireDoT | DruidSpellHurricane DruidHealingNonInstantSpells = DruidSpellHealingTouch | DruidSpellRegrowth | DruidSpellNourish DruidHealingSpells = DruidHealingNonInstantSpells | DruidSpellRejuvenation | DruidSpellLifebloom | DruidSpellSwiftmend DruidDamagingSpells = DruidArcaneSpells | DruidNatureSpells )
View Source
const ( HealingTouchBonusCoeff = 1.86 HealingTouchCoeff = 18.388 HealingTouchVariance = 0.166 )
View Source
const ( HurricaneBonusCoeff = 0.31 HurricaneCoeff = 0.31 )
View Source
const ( MoonfireBonusCoeff = 0.24 MoonfireDotCoeff = 0.24 MoonfireImpactCoeff = 0.571 MoonfireImpactVariance = 0.2 )
View Source
const ( RejuvenationBonusCoeff = 0.39199998975 RejuvenationCoeff = 3.86800003052 )
View Source
const ( WrathBonusCoeff = 1.338 WrathCoeff = 2.676 WrathVariance = 0.25 )
View Source
const AnimalSpiritRegenSuppression = 0.911337
Converts from 0.009327 to 0.0085
View Source
const BaseBearArmorMulti = 2.2
Thick Hide contribution handled separately in talents code for cleanliness and UI stats display.
View Source
const RendAndTearBonusCritPercent = 35.0
View Source
const RendAndTearDamageMultiplier = 1.2
View Source
const RipBaseNumTicks int32 = 8
View Source
const RipMaxNumTicks int32 = RipBaseNumTicks + 3
Variables ¶
View Source
var ItemSetRegaliaOfTheEternalBloosom = core.NewItemSet(core.ItemSet{ Name: "Regalia of the Eternal Blossom", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(_ core.Agent, setBonusAura *core.Aura) { setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DamageDone_Pct, ClassMask: DruidSpellStarfall, FloatValue: 0.2, }) }, 4: func(_ core.Agent, setBonusAura *core.Aura) { setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DotNumberOfTicks_Flat, ClassMask: DruidSpellMoonfireDoT | DruidSpellSunfireDoT, IntValue: 1, }) }, }, })
T14 Balance
View Source
var ItemSetRegaliaOfTheHauntedForest = core.NewItemSet(core.ItemSet{ Name: "Regalia of the Haunted Forest", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(_ core.Agent, setBonusAura *core.Aura) { setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_BonusCrit_Percent, ClassMask: DruidSpellStarsurge, FloatValue: 10, }) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { }, }, })
T15 Balance
View Source
var ItemSetRegaliaOfTheShatteredVale = core.NewItemSet(core.ItemSet{ ID: 1197, DisabledInChallengeMode: true, Name: "Regalia of the Shattered Vale", Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { }, 4: func(agent core.Agent, setBonusAura *core.Aura) { }, }, })
T16 Balance
Functions ¶
This section is empty.
Types ¶
type DefaultTreantImpl ¶
Embed this in spec-specific treant structs.
func (*DefaultTreantImpl) Enable ¶
func (treant *DefaultTreantImpl) Enable(sim *core.Simulation)
func (*DefaultTreantImpl) ExecuteCustomRotation ¶
func (treant *DefaultTreantImpl) ExecuteCustomRotation(_ *core.Simulation)
func (*DefaultTreantImpl) GetPet ¶
func (treant *DefaultTreantImpl) GetPet() *core.Pet
func (*DefaultTreantImpl) Initialize ¶
func (treant *DefaultTreantImpl) Initialize()
Overwrite these for spec variants that register spells.
func (*DefaultTreantImpl) OnEncounterStart ¶ added in v0.0.13
func (treant *DefaultTreantImpl) OnEncounterStart(_ *core.Simulation)
func (*DefaultTreantImpl) Reset ¶
func (treant *DefaultTreantImpl) Reset(sim *core.Simulation)
type Druid ¶
type Druid struct {
core.Character
SelfBuffs
Talents *proto.DruidTalents
ClassSpellScaling float64
StartingForm DruidForm
Treants TreantAgents
RebirthUsed bool
RebirthTiming float64
BleedsActive int
AssumeBleedActive bool
CannotShredTarget bool
MHAutoSpell *core.Spell
Barkskin *DruidSpell
Berserk *DruidSpell
CatCharge *DruidSpell
FaerieFire *DruidSpell
FerociousBite *DruidSpell
ForceOfNature *DruidSpell
FrenziedRegeneration *DruidSpell
HealingTouch *DruidSpell
Hurricane *DruidSpell
HurricaneTickSpell *DruidSpell
Lacerate *DruidSpell
MangleBear *DruidSpell
MangleCat *DruidSpell
Maul *DruidSpell
MightOfUrsoc *DruidSpell
Moonfire *DruidSpell
NaturesSwiftness *DruidSpell
Prowl *DruidSpell
Rake *DruidSpell
Ravage *DruidSpell
Rebirth *DruidSpell
Rejuvenation *DruidSpell
Rip *DruidSpell
SavageRoar *DruidSpell
Shred *DruidSpell
SurvivalInstincts *DruidSpell
SwipeBear *DruidSpell
SwipeCat *DruidSpell
TigersFury *DruidSpell
ThrashBear *DruidSpell
ThrashCat *DruidSpell
Typhoon *DruidSpell
Wrath *DruidSpell
WildMushrooms *DruidSpell
WildMushroomsDetonate *DruidSpell
CatForm *DruidSpell
BearForm *DruidSpell
BarkskinAura *core.Aura
BearFormAura *core.Aura
BerserkBearAura *core.Aura
BerserkCatAura *core.Aura
CatFormAura *core.Aura
ClearcastingAura *core.Aura
WeakenedBlowsAuras core.AuraArray
FaerieFireAuras core.AuraArray
FrenziedRegenerationAura *core.Aura
LunarEclipseProcAura *core.Aura
MightOfUrsocAura *core.Aura
ProwlAura *core.Aura
SurvivalInstinctsAura *core.Aura
SavageRoarDurationTable [6]time.Duration
ProcOoc func(sim *core.Simulation)
// Guardian leather specialization is form-specific
GuardianLeatherSpecTracker *core.Aura
GuardianLeatherSpecDep *stats.StatDependency
// contains filtered or unexported fields
}
func (*Druid) ApplyBloodletting ¶
func (*Druid) ApplyGlyphs ¶ added in v0.0.4
func (druid *Druid) ApplyGlyphs()
func (*Druid) ApplyLeaderOfThePack ¶
func (druid *Druid) ApplyLeaderOfThePack()
func (*Druid) ApplyNurturingInstinct ¶
func (druid *Druid) ApplyNurturingInstinct()
func (*Druid) ApplyPrimalFury ¶
func (druid *Druid) ApplyPrimalFury()
func (*Druid) ApplyTalents ¶
func (druid *Druid) ApplyTalents()
func (*Druid) CanApplyFaerieFireDebuff ¶
func (*Druid) ClearForm ¶
func (druid *Druid) ClearForm(sim *core.Simulation)
func (*Druid) CurrentFerociousBiteCost ¶
func (*Druid) CurrentMangleCatCost ¶
func (*Druid) CurrentRakeCost ¶
func (*Druid) CurrentRipCost ¶
func (*Druid) CurrentSwipeCatCost ¶
func (*Druid) GetBearWeapon ¶
func (*Druid) GetCatWeapon ¶
func (*Druid) GetCharacter ¶
func (*Druid) HasMajorGlyph ¶
func (druid *Druid) HasMajorGlyph(glyph proto.DruidMajorGlyph) bool
func (*Druid) HasMinorGlyph ¶
func (druid *Druid) HasMinorGlyph(glyph proto.DruidMinorGlyph) bool
func (*Druid) Initialize ¶
func (druid *Druid) Initialize()
func (*Druid) NewDefaultTreant ¶
func (druid *Druid) NewDefaultTreant(config TreantConfig) *DefaultTreantImpl
func (*Druid) OnEncounterStart ¶ added in v0.0.13
func (druid *Druid) OnEncounterStart(sim *core.Simulation)
func (*Druid) RegisterBaselineSpells ¶ added in v0.0.4
func (druid *Druid) RegisterBaselineSpells()
func (*Druid) RegisterBearFormAura ¶
func (druid *Druid) RegisterBearFormAura()
func (*Druid) RegisterCatFormAura ¶
func (druid *Druid) RegisterCatFormAura()
func (*Druid) RegisterFeralCatSpells ¶
func (druid *Druid) RegisterFeralCatSpells()
func (*Druid) RegisterFeralTankSpells ¶
func (druid *Druid) RegisterFeralTankSpells()
func (*Druid) RegisterSpell ¶
func (druid *Druid) RegisterSpell(formMask DruidForm, config core.SpellConfig) *DruidSpell
func (*Druid) Reset ¶
func (druid *Druid) Reset(_ *core.Simulation)
func (*Druid) ShouldFaerieFire ¶
func (*Druid) TryApplyFaerieFireEffect ¶
func (druid *Druid) TryApplyFaerieFireEffect(sim *core.Simulation, target *core.Unit)
func (*Druid) UpdateBleedPower ¶
func (druid *Druid) UpdateBleedPower(bleedSpell *DruidSpell, sim *core.Simulation, target *core.Unit, updateCurrent bool, updateNew bool)
type DruidAgent ¶
type DruidAgent interface {
GetDruid() *Druid
}
Agent is a generic way to access underlying druid on any of the agents (for example balance druid.)
type DruidSpell ¶
type DruidSpell struct {
*core.Spell
FormMask DruidForm
// Optional fields used in snapshotting calculations
CurrentSnapshotPower float64
NewSnapshotPower float64
ShortName string
}
func (*DruidSpell) CanCast ¶
func (ds *DruidSpell) CanCast(sim *core.Simulation, target *core.Unit) bool
func (*DruidSpell) IsReady ¶
func (ds *DruidSpell) IsReady(sim *core.Simulation) bool
type SelfBuffs ¶
type SelfBuffs struct {
InnervateTarget *proto.UnitReference
}
type TreantAgent ¶
type TreantAgent interface {
core.PetAgent
Enable(sim *core.Simulation)
}
Extension of PetAgent interface, for treants.
type TreantAgents ¶
type TreantAgents [3]TreantAgent
type TreantConfig ¶
type TreantConfig struct {
NonHitExpStatInheritance core.PetStatInheritance
EnableAutos bool
WeaponDamageCoefficient float64
}
Source Files
¶
- barkskin.go
- berserk.go
- druid.go
- faerie_fire.go
- ferocious_bite.go
- forms.go
- frenzied_regeneration.go
- glyphs.go
- healing_touch.go
- hurricane.go
- items.go
- lacerate.go
- mangle.go
- maul.go
- might_of_ursoc.go
- moonfire.go
- natures_swiftness.go
- prowl.go
- rake.go
- ravage.go
- rejuvenation.go
- rip.go
- shared_feral_passives.go
- survival_instincts.go
- swipe.go
- talents.go
- thrash.go
- tranquility.go
- treants.go
- wrath.go
Click to show internal directories.
Click to hide internal directories.