Documentation
¶
Index ¶
- Constants
- Variables
- type Druid
- func (druid *Druid) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
- func (druid *Druid) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (druid *Druid) ApplyClearcasting(sim *core.Simulation, spell *core.Spell, cast *core.Cast)
- func (druid *Druid) ApplyTalents()
- func (druid *Druid) CanDemoralizingRoar(sim *core.Simulation) bool
- func (druid *Druid) CanLacerate(sim *core.Simulation) bool
- func (druid *Druid) CanMangleBear(sim *core.Simulation) bool
- func (druid *Druid) CanMangleCat() bool
- func (druid *Druid) CanRake(sim *core.Simulation) bool
- func (druid *Druid) CanShred() bool
- func (druid *Druid) CanSwipe() bool
- func (druid *Druid) ClearcastingActive() bool
- func (druid *Druid) DequeueMaul(sim *core.Simulation)
- func (druid *Druid) GetCharacter() *core.Character
- func (druid *Druid) GetForm() DruidForm
- func (druid *Druid) InForm(form DruidForm) bool
- func (druid *Druid) Initialize()
- func (druid *Druid) MeleeCritMultiplier() float64
- func (druid *Druid) PowerShiftBear(sim *core.Simulation)
- func (druid *Druid) PowerShiftCat(sim *core.Simulation) bool
- func (druid *Druid) QueueMaul(sim *core.Simulation)
- func (druid *Druid) RegisterBalanceSpells()
- func (druid *Druid) RegisterBearSpells(maulRageThreshold float64)
- func (druid *Druid) RegisterCatSpells()
- func (druid *Druid) Reset(sim *core.Simulation)
- func (druid *Druid) ShouldCastHurricane(sim *core.Simulation, rotation proto.BalanceDruid_Rotation) bool
- func (druid *Druid) ShouldCastInsectSwarm(sim *core.Simulation, target *core.Unit, rotation proto.BalanceDruid_Rotation) bool
- func (druid *Druid) ShouldCastMoonfire(sim *core.Simulation, target *core.Unit, rotation proto.BalanceDruid_Rotation) bool
- func (druid *Druid) ShouldDemoralizingRoar(sim *core.Simulation, filler bool, maintainOnly bool) bool
- func (druid *Druid) ShouldFaerieFire(sim *core.Simulation) bool
- func (druid *Druid) ShouldQueueMaul(sim *core.Simulation) bool
- func (druid *Druid) TryMaul(sim *core.Simulation, mhSwingSpell *core.Spell) *core.Spell
- func (druid *Druid) TryRebirth(sim *core.Simulation) bool
- type DruidAgent
- type DruidForm
- type SelfBuffs
Constants ¶
View Source
const ( Humanoid = 1 << iota Bear Cat Moonkin )
View Source
const AnimalSpiritRegenSuppression = 0.911337
Converts from 0.009327 to 0.0085
View Source
const IdolAvenger int32 = 31025
View Source
const IvoryMoongoddess int32 = 27518
Idol IDs
Variables ¶
View Source
var ItemSetMalorneHarness = core.NewItemSet(core.ItemSet{ Name: "Malorne Harness", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { druid := agent.(DruidAgent).GetDruid() procChance := 0.04 rageMetrics := druid.NewRageMetrics(core.ActionID{SpellID: 37306}) energyMetrics := druid.NewEnergyMetrics(core.ActionID{SpellID: 37311}) druid.RegisterAura(core.Aura{ Label: "Malorne 4pc", Duration: core.NeverExpires, OnReset: func(aura *core.Aura, sim *core.Simulation) { aura.Activate(sim) }, OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, spellEffect *core.SpellEffect) { if spellEffect.Landed() && spellEffect.ProcMask.Matches(core.ProcMaskMelee) { if sim.RandomFloat("Malorne 2pc") < procChance { if druid.InForm(Bear) { druid.AddRage(sim, 10, rageMetrics) } else if druid.InForm(Cat) { druid.AddEnergy(sim, 20, energyMetrics) } } } }, }) }, 4: func(agent core.Agent) { druid := agent.(DruidAgent).GetDruid() if druid.InForm(Bear) { druid.AddStat(stats.Armor, 1400) } else if druid.InForm(Cat) { druid.AddStat(stats.Strength, 30) } }, }, })
View Source
var ItemSetMalorneRegalia = core.NewItemSet(core.ItemSet{ Name: "Malorne Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { druid := agent.(DruidAgent).GetDruid() manaMetrics := druid.NewManaMetrics(core.ActionID{SpellID: 37295}) druid.RegisterAura(core.Aura{ Label: "Malorne Regalia 2pc", Duration: core.NeverExpires, OnReset: func(aura *core.Aura, sim *core.Simulation) { aura.Activate(sim) }, OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, spellEffect *core.SpellEffect) { if spellEffect.ProcMask.Matches(core.ProcMaskMeleeOrRanged) { return } if !spellEffect.Landed() { return } if sim.RandomFloat("malorne 2p") > 0.05 { return } spell.Unit.AddMana(sim, 120, manaMetrics, false) }, }) }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetNordrassilHarness = core.NewItemSet(core.ItemSet{ Name: "Nordrassil Harness", Bonuses: map[int32]core.ApplyEffect{ 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetNordrassilRegalia = core.NewItemSet(core.ItemSet{ Name: "Nordrassil Regalia", Bonuses: map[int32]core.ApplyEffect{ 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetThunderheartHarness = core.NewItemSet(core.ItemSet{ Name: "Thunderheart Harness", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetThunderheartRegalia = core.NewItemSet(core.ItemSet{ Name: "Thunderheart Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
Functions ¶
This section is empty.
Types ¶
type Druid ¶
type Druid struct {
core.Character
SelfBuffs
Talents proto.DruidTalents
StartingForm DruidForm
RebirthUsed bool
MaulRageThreshold float64
DemoralizingRoar *core.Spell
FaerieFire *core.Spell
FerociousBite *core.Spell
Hurricane *core.Spell
InsectSwarm *core.Spell
Lacerate *core.Spell
Mangle *core.Spell
Maul *core.Spell
Moonfire *core.Spell
Rebirth *core.Spell
Rake *core.Spell
Rip *core.Spell
Shred *core.Spell
Starfire6 *core.Spell
Starfire8 *core.Spell
Swipe *core.Spell
Wrath *core.Spell
CatForm *core.Spell
BearForm *core.Spell
InsectSwarmDot *core.Dot
LacerateDot *core.Dot
MoonfireDot *core.Dot
RakeDot *core.Dot
RipDot *core.Dot
ClearcastingAura *core.Aura
DemoralizingRoarAura *core.Aura
FaerieFireAura *core.Aura
MangleAura *core.Aura
MaulQueueAura *core.Aura
NaturesGraceProcAura *core.Aura
NaturesSwiftnessAura *core.Aura
CatFormAura *core.Aura
BearFormAura *core.Aura
// contains filtered or unexported fields
}
func (*Druid) AddPartyBuffs ¶
func (druid *Druid) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
func (*Druid) AddRaidBuffs ¶
func (*Druid) ApplyClearcasting ¶
func (*Druid) ApplyTalents ¶
func (druid *Druid) ApplyTalents()
func (*Druid) CanDemoralizingRoar ¶
func (druid *Druid) CanDemoralizingRoar(sim *core.Simulation) bool
func (*Druid) CanLacerate ¶
func (druid *Druid) CanLacerate(sim *core.Simulation) bool
func (*Druid) CanMangleBear ¶
func (druid *Druid) CanMangleBear(sim *core.Simulation) bool
func (*Druid) CanMangleCat ¶
func (*Druid) ClearcastingActive ¶
func (*Druid) DequeueMaul ¶
func (druid *Druid) DequeueMaul(sim *core.Simulation)
func (*Druid) GetCharacter ¶
func (*Druid) Initialize ¶
func (druid *Druid) Initialize()
func (*Druid) MeleeCritMultiplier ¶
func (*Druid) PowerShiftBear ¶
func (druid *Druid) PowerShiftBear(sim *core.Simulation)
func (*Druid) PowerShiftCat ¶
func (druid *Druid) PowerShiftCat(sim *core.Simulation) bool
func (*Druid) QueueMaul ¶
func (druid *Druid) QueueMaul(sim *core.Simulation)
func (*Druid) RegisterBalanceSpells ¶
func (druid *Druid) RegisterBalanceSpells()
func (*Druid) RegisterBearSpells ¶
func (*Druid) RegisterCatSpells ¶
func (druid *Druid) RegisterCatSpells()
func (*Druid) Reset ¶
func (druid *Druid) Reset(sim *core.Simulation)
func (*Druid) ShouldCastHurricane ¶
func (druid *Druid) ShouldCastHurricane(sim *core.Simulation, rotation proto.BalanceDruid_Rotation) bool
func (*Druid) ShouldCastInsectSwarm ¶
func (druid *Druid) ShouldCastInsectSwarm(sim *core.Simulation, target *core.Unit, rotation proto.BalanceDruid_Rotation) bool
func (*Druid) ShouldCastMoonfire ¶
func (druid *Druid) ShouldCastMoonfire(sim *core.Simulation, target *core.Unit, rotation proto.BalanceDruid_Rotation) bool
func (*Druid) ShouldDemoralizingRoar ¶
func (*Druid) ShouldFaerieFire ¶
func (druid *Druid) ShouldFaerieFire(sim *core.Simulation) bool
func (*Druid) ShouldQueueMaul ¶
func (druid *Druid) ShouldQueueMaul(sim *core.Simulation) bool
func (*Druid) TryRebirth ¶
func (druid *Druid) TryRebirth(sim *core.Simulation) 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 SelfBuffs ¶
type SelfBuffs struct {
Omen bool
InnervateTarget proto.RaidTarget
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.