balance

package
v0.0.21 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

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 (
	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

This section is empty.

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

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

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

type BalanceDruid

type BalanceDruid struct {
	*druid.Druid

	Options *proto.BalanceDruid_Options

	EclipseEnergyMap EclipseEnergyMap

	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
	// contains filtered or unexported fields
}

func NewBalanceDruid

func NewBalanceDruid(character *core.Character, options *proto.Player) *BalanceDruid

func (*BalanceDruid) ActivateEclipse added in v0.0.4

func (moonkin *BalanceDruid) ActivateEclipse(eclipse Eclipse, sim *core.Simulation)

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) DeactivateEclipse added in v0.0.4

func (moonkin *BalanceDruid) DeactivateEclipse(eclipse Eclipse, sim *core.Simulation)

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) 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()

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 Eclipse added in v0.0.4

type Eclipse byte
const (
	NoEclipse    Eclipse = 0
	SolarEclipse Eclipse = 1
	LunarEclipse Eclipse = 2
)

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

type EclipseEnergyValues struct {
	InEclipse float64
	NoEclipse float64
}

Jump to

Keyboard shortcuts

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