Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterBalanceDruid()
- type APLValueCurrentEclipsePhase
- type APLValueCurrentLunarEnergy
- type APLValueCurrentSolarEnergy
- type BalanceDruid
- func (eb *BalanceDruid) AddEclipseCallback(callback EclipseCallback)
- func (eb *BalanceDruid) AddEclipseEnergy(amount float64, kind EclipseEnergy, sim *core.Simulation, ...)
- func (moonkin *BalanceDruid) ApplyBalanceTalents()
- func (moonkin *BalanceDruid) ApplyTalents()
- func (eb *BalanceDruid) CanGainEnergy(kind EclipseEnergy) bool
- func (eb *BalanceDruid) CurrentLunarEnergy() int32
- func (eb *BalanceDruid) CurrentSolarEnergy() int32
- func (moonkin *BalanceDruid) EnableEclipseBar()
- func (moonkin *BalanceDruid) GetDruid() *druid.Druid
- func (moonkin *BalanceDruid) GetSpellEclipseEnergy(spellMask int64, inEclipse bool) float64
- func (moonkin *BalanceDruid) HasEclipseBar() bool
- func (moonkin *BalanceDruid) Initialize()
- func (moonkin *BalanceDruid) IsInEclipse() bool
- func (druid *BalanceDruid) NewAPLValue(rot *core.APLRotation, config *proto.APLValue) core.APLValue
- func (unit *BalanceDruid) NewLunarEnergyMetrics(actionID core.ActionID) *core.ResourceMetrics
- func (unit *BalanceDruid) NewSolarEnergyMetrics(actionID core.ActionID) *core.ResourceMetrics
- func (moonkin *BalanceDruid) RegisterBalancePassives()
- func (moonkin *BalanceDruid) RegisterBalanceSpells()
- func (moonkin *BalanceDruid) RegisterEclipseAuras()
- func (moonkin *BalanceDruid) RegisterEclipseEnergyGainAura()
- func (moonkin *BalanceDruid) RegisterEclipseSpellMods()
- func (moonkin *BalanceDruid) Reset(sim *core.Simulation)
- func (moonkin *BalanceDruid) RestoreEclipseBar()
- func (eb *BalanceDruid) SetEclipse(eclipse Eclipse, sim *core.Simulation, spell *core.Spell)
- func (moonkin *BalanceDruid) SetSpellEclipseEnergy(spellMask int64, inEclipseEnergy float64, noEclipseEnergy float64)
- func (eb *BalanceDruid) StoreGainMaskAndSuspend()
- func (moonkin *BalanceDruid) SuspendEclipseBar(sim *core.Simulation)
- type BalanceTreant
- type Eclipse
- type EclipseCallback
- type EclipseEnergy
- type EclipseEnergyMap
- type EclipseEnergyValues
Constants ¶
View Source
const ( EnergyGainPerTick = 25.0 EnergyGainPerTickDuringSotF = 100.0 )
View Source
const ( AstralStormBonusCoeff = 0.236 AstralStormCoeff = 0.199 )
View Source
const ( WrathBaseEnergyGain float64 = 15 StarsurgeBaseEnergyGain float64 = 20 StarfireBaseEnergyGain float64 = 20 )
View Source
const ( T15BoltBonusCoeff = 0.10000000149 T15BoltCoeff = 0.5 T15BoltVariance = 0.25 )
View Source
const ( StarfallBonusCoeff = 0.364 StarfallCoeff = 0.58 StarfallVariance = 0.15 )
View Source
const ( StarfireBonusCoeff = 2.166 StarfireCoeff = 4.456 StarfireVariance = 0.25 )
View Source
const ( StarsurgeBonusCoeff = 2.388 StarsurgeCoeff = 4.54 StarsurgeVariance = 0.319 )
View Source
const ( SunfireBonusCoeff = 0.24 SunfireDotCoeff = 0.24 SunfireImpactCoeff = 0.571 SunfireImpactVariance = 0.2 )
View Source
const ( TreantWrathBonusCoeff = 0.375 TreantWrathCoeff = 1.875 TreantWrathVariance = 0.12 )
View Source
const ( WildMushroomsBonusCoeff = 0.349 WildMushroomsCoeff = 0.295 WildMushroomsVariance = 0.19 )
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: druid.DruidSpellStarfallTick, FloatValue: 0.2, }) }, 4: func(_ core.Agent, setBonusAura *core.Aura) { setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DotNumberOfTicks_Flat, ClassMask: druid.DruidSpellMoonfireDoT | druid.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: druid.DruidSpellStarsurge, FloatValue: 10, }) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { druid := agent.(*BalanceDruid) aura := druid.NewTemporaryStatsAura( "Druid T15 Balance 4P Bonus", core.ActionID{SpellID: 138350}, stats.Stats{stats.CritRating: 1000, stats.MasteryRating: 1000}, time.Second*15, ) druid.Env.RegisterPreFinalizeEffect(func() { druid.NaturesGrace.ApplyOnGain(func(_ *core.Aura, sim *core.Simulation) { if setBonusAura.IsActive() { aura.Activate(sim) } }) }) setBonusAura.ExposeToAPL(138350) }, }, })
T15 Balance
View Source
var ItemSetRegaliaOfTheShatteredVale = core.NewItemSet(core.ItemSet{ Name: "Regalia of the Shattered Vale", ID: 1197, DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { moonkin := agent.(*BalanceDruid) solarBolt := moonkin.registerT15BoltSpell(144772, core.SpellSchoolNature, SolarEclipse) lunarBolt := moonkin.registerT15BoltSpell(144770, core.SpellSchoolArcane, LunarEclipse) bothDuringCA := druid.DruidSpellMoonfire | druid.DruidSpellSunfire | druid.DruidSpellStarsurge procTriggerSpellMask := druid.DruidSpellMoonfire | druid.DruidSpellSunfire | druid.DruidSpellStarfall | druid.DruidSpellStarfire | druid.DruidSpellWrath | druid.DruidSpellStarsurge setBonusAura.AttachProcTrigger(core.ProcTrigger{ Callback: core.CallbackOnCastComplete, ClassSpellMask: procTriggerSpellMask, TriggerImmediately: true, Handler: func(sim *core.Simulation, spell *core.Spell, _ *core.SpellResult) { alignmentActive := moonkin.CelestialAlignment.RelatedSelfBuff.IsActive() if spell.SpellSchool.Matches(core.SpellSchoolNature) || (alignmentActive && spell.Matches(bothDuringCA)) { solarBolt.Cast(sim, spell.Unit.CurrentTarget) } if spell.SpellSchool.Matches(core.SpellSchoolArcane) || (alignmentActive && spell.Matches(bothDuringCA)) { lunarBolt.Cast(sim, spell.Unit.CurrentTarget) } }, }) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { moonkin := agent.(*BalanceDruid) moonkin.ShootingStarsProcChance += 0.08 }, }, })
T16 Balance
Functions ¶
func RegisterBalanceDruid ¶
func RegisterBalanceDruid()
Types ¶
type APLValueCurrentEclipsePhase ¶ added in v0.0.4
type APLValueCurrentEclipsePhase struct {
core.DefaultAPLValueImpl
// contains filtered or unexported fields
}
func (*APLValueCurrentEclipsePhase) GetBool ¶ added in v0.0.4
func (value *APLValueCurrentEclipsePhase) GetBool(sim *core.Simulation) bool
func (*APLValueCurrentEclipsePhase) String ¶ added in v0.0.4
func (value *APLValueCurrentEclipsePhase) String() string
func (*APLValueCurrentEclipsePhase) Type ¶ added in v0.0.4
func (value *APLValueCurrentEclipsePhase) Type() proto.APLValueType
type APLValueCurrentLunarEnergy ¶ added in v0.0.4
type APLValueCurrentLunarEnergy struct {
core.DefaultAPLValueImpl
// contains filtered or unexported fields
}
func (*APLValueCurrentLunarEnergy) GetInt ¶ added in v0.0.4
func (value *APLValueCurrentLunarEnergy) GetInt(sim *core.Simulation) int32
func (*APLValueCurrentLunarEnergy) String ¶ added in v0.0.4
func (value *APLValueCurrentLunarEnergy) String() string
func (*APLValueCurrentLunarEnergy) Type ¶ added in v0.0.4
func (value *APLValueCurrentLunarEnergy) Type() proto.APLValueType
type APLValueCurrentSolarEnergy ¶ added in v0.0.4
type APLValueCurrentSolarEnergy struct {
core.DefaultAPLValueImpl
// contains filtered or unexported fields
}
func (*APLValueCurrentSolarEnergy) GetInt ¶ added in v0.0.4
func (value *APLValueCurrentSolarEnergy) GetInt(sim *core.Simulation) int32
func (*APLValueCurrentSolarEnergy) String ¶ added in v0.0.4
func (value *APLValueCurrentSolarEnergy) String() string
func (*APLValueCurrentSolarEnergy) Type ¶ added in v0.0.4
func (value *APLValueCurrentSolarEnergy) Type() proto.APLValueType
type BalanceDruid ¶
type BalanceDruid struct {
*druid.Druid
Options *proto.BalanceDruid_Options
EclipseEnergyMap EclipseEnergyMap
LunarEclipseSpellMod *core.SpellMod
SolarEclipseSpellMod *core.SpellMod
CelestialAlignmentSpellMod *core.SpellMod
IncarnationSpellMod *core.SpellMod
ManaMetric *core.ResourceMetrics
AstralCommunion *druid.DruidSpell
AstralStorm *druid.DruidSpell
AstralStormTickSpell *druid.DruidSpell
CelestialAlignment *druid.DruidSpell
ChosenOfElune *druid.DruidSpell
Starfall *druid.DruidSpell
Starfire *druid.DruidSpell
Sunfire *druid.DruidSpell
Starsurge *druid.DruidSpell
AstralInsight *core.Aura // Soul of the Forest
DreamOfCenarius *core.Aura
NaturesGrace *core.Aura
OwlkinFrenzy *core.Aura
ShootingStarsProcChance float64
// contains filtered or unexported fields
}
func NewBalanceDruid ¶
func NewBalanceDruid(character *core.Character, options *proto.Player) *BalanceDruid
func (*BalanceDruid) AddEclipseCallback ¶ added in v0.0.4
func (eb *BalanceDruid) AddEclipseCallback(callback EclipseCallback)
func (*BalanceDruid) AddEclipseEnergy ¶ added in v0.0.4
func (eb *BalanceDruid) AddEclipseEnergy(amount float64, kind EclipseEnergy, sim *core.Simulation, metrics *core.ResourceMetrics, spell *core.Spell)
func (*BalanceDruid) ApplyBalanceTalents ¶ added in v0.0.4
func (moonkin *BalanceDruid) ApplyBalanceTalents()
func (*BalanceDruid) ApplyTalents ¶
func (moonkin *BalanceDruid) ApplyTalents()
func (*BalanceDruid) CanGainEnergy ¶ added in v0.0.4
func (eb *BalanceDruid) CanGainEnergy(kind EclipseEnergy) bool
func (*BalanceDruid) CurrentLunarEnergy ¶ added in v0.0.4
func (eb *BalanceDruid) CurrentLunarEnergy() int32
func (*BalanceDruid) CurrentSolarEnergy ¶ added in v0.0.4
func (eb *BalanceDruid) CurrentSolarEnergy() int32
func (*BalanceDruid) EnableEclipseBar ¶ added in v0.0.4
func (moonkin *BalanceDruid) EnableEclipseBar()
func (*BalanceDruid) GetDruid ¶
func (moonkin *BalanceDruid) GetDruid() *druid.Druid
func (*BalanceDruid) GetSpellEclipseEnergy ¶ added in v0.0.4
func (moonkin *BalanceDruid) GetSpellEclipseEnergy(spellMask int64, inEclipse bool) float64
func (*BalanceDruid) HasEclipseBar ¶ added in v0.0.4
func (moonkin *BalanceDruid) HasEclipseBar() bool
func (*BalanceDruid) Initialize ¶
func (moonkin *BalanceDruid) Initialize()
func (*BalanceDruid) IsInEclipse ¶ added in v0.0.4
func (moonkin *BalanceDruid) IsInEclipse() bool
func (*BalanceDruid) NewAPLValue ¶ added in v0.0.4
func (druid *BalanceDruid) NewAPLValue(rot *core.APLRotation, config *proto.APLValue) core.APLValue
func (*BalanceDruid) NewLunarEnergyMetrics ¶ added in v0.0.4
func (unit *BalanceDruid) NewLunarEnergyMetrics(actionID core.ActionID) *core.ResourceMetrics
func (*BalanceDruid) NewSolarEnergyMetrics ¶ added in v0.0.4
func (unit *BalanceDruid) NewSolarEnergyMetrics(actionID core.ActionID) *core.ResourceMetrics
func (*BalanceDruid) RegisterBalancePassives ¶ added in v0.0.4
func (moonkin *BalanceDruid) RegisterBalancePassives()
func (*BalanceDruid) RegisterBalanceSpells ¶ added in v0.0.4
func (moonkin *BalanceDruid) RegisterBalanceSpells()
func (*BalanceDruid) RegisterEclipseAuras ¶ added in v0.0.4
func (moonkin *BalanceDruid) RegisterEclipseAuras()
func (*BalanceDruid) RegisterEclipseEnergyGainAura ¶ added in v0.0.4
func (moonkin *BalanceDruid) RegisterEclipseEnergyGainAura()
func (*BalanceDruid) RegisterEclipseSpellMods ¶ added in v0.0.139
func (moonkin *BalanceDruid) RegisterEclipseSpellMods()
func (*BalanceDruid) Reset ¶
func (moonkin *BalanceDruid) Reset(sim *core.Simulation)
func (*BalanceDruid) RestoreEclipseBar ¶ added in v0.0.4
func (moonkin *BalanceDruid) RestoreEclipseBar()
func (*BalanceDruid) SetEclipse ¶ added in v0.0.4
func (eb *BalanceDruid) SetEclipse(eclipse Eclipse, sim *core.Simulation, spell *core.Spell)
func (*BalanceDruid) SetSpellEclipseEnergy ¶ added in v0.0.4
func (moonkin *BalanceDruid) SetSpellEclipseEnergy(spellMask int64, inEclipseEnergy float64, noEclipseEnergy float64)
func (*BalanceDruid) StoreGainMaskAndSuspend ¶ added in v0.0.4
func (eb *BalanceDruid) StoreGainMaskAndSuspend()
func (*BalanceDruid) SuspendEclipseBar ¶ added in v0.0.4
func (moonkin *BalanceDruid) SuspendEclipseBar(sim *core.Simulation)
type BalanceTreant ¶ added in v0.0.4
type BalanceTreant struct {
*druid.DefaultTreantImpl
Wrath *core.Spell
}
func (*BalanceTreant) ExecuteCustomRotation ¶ added in v0.0.4
func (treant *BalanceTreant) ExecuteCustomRotation(sim *core.Simulation)
func (*BalanceTreant) Initialize ¶ added in v0.0.4
func (treant *BalanceTreant) Initialize()
type EclipseCallback ¶ added in v0.0.4
type EclipseCallback func(eclipse Eclipse, gained bool, sim *core.Simulation)
type EclipseEnergy ¶ added in v0.0.4
type EclipseEnergy byte
const ( NoEnergy EclipseEnergy = 0 SolarEnergy EclipseEnergy = 1 LunarEnergy EclipseEnergy = 2 SolarAndLunarEnergy = SolarEnergy | LunarEnergy )
type EclipseEnergyMap ¶ added in v0.0.4
type EclipseEnergyMap = map[int64]EclipseEnergyValues
type EclipseEnergyValues ¶ added in v0.0.4
Click to show internal directories.
Click to hide internal directories.