Documentation
¶
Index ¶
- Variables
- type Priest
- func (priest *Priest) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
- func (priest *Priest) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (priest *Priest) ApplyMisery(sim *core.Simulation, target *core.Unit)
- func (priest *Priest) ApplyShadowOnHitEffects()
- func (priest *Priest) ApplyShadowWeaving(sim *core.Simulation, target *core.Unit)
- func (priest *Priest) ApplyTalents()
- func (priest *Priest) ApplyVampiricTouchManaReturn(sim *core.Simulation, damage float64)
- func (priest *Priest) GetCharacter() *core.Character
- func (priest *Priest) Initialize()
- func (priest *Priest) MindFlayActionID(numTicks int) core.ActionID
- func (priest *Priest) Reset(_ *core.Simulation)
- type PriestAgent
- type SelfBuffs
Constants ¶
This section is empty.
Variables ¶
View Source
var ItemSetAbsolution = core.NewItemSet(core.ItemSet{ Name: "Absolution Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetAvatar = core.NewItemSet(core.ItemSet{ Name: "Avatar Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { priest := agent.(PriestAgent).GetPriest() manaMetrics := priest.NewManaMetrics(core.ActionID{SpellID: 37600}) priest.RegisterAura(core.Aura{ Label: "Avatar Regalia 2pc", Duration: core.NeverExpires, OnReset: func(aura *core.Aura, sim *core.Simulation) { aura.Activate(sim) }, OnCastComplete: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell) { if sim.RandomFloat("avatar 2p") > 0.06 { return } priest.AddMana(sim, 150, manaMetrics, false) }, }) }, 4: func(agent core.Agent) { priest := agent.(PriestAgent).GetPriest() procAura := priest.NewTemporaryStatsAura("Avatar Regalia 4pc Proc", core.ActionID{SpellID: 37604}, stats.Stats{stats.SpellPower: 100}, time.Second*15) procAura.OnSpellHitDealt = func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, spellEffect *core.SpellEffect) { aura.Deactivate(sim) } priest.RegisterAura(core.Aura{ Label: "Avatar Regalia 4pc", Duration: core.NeverExpires, OnReset: func(aura *core.Aura, sim *core.Simulation) { aura.Activate(sim) }, OnPeriodicDamageDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, spellEffect *core.SpellEffect) { if spell != priest.ShadowWordPain { return } if sim.RandomFloat("avatar 4p") > 0.4 { return } procAura.Activate(sim) }, }) }, }, })
View Source
var ItemSetIncarnate = core.NewItemSet(core.ItemSet{ Name: "Incarnate Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
Functions ¶
This section is empty.
Types ¶
type Priest ¶
type Priest struct {
core.Character
SelfBuffs
Talents proto.PriestTalents
SurgeOfLight bool
Latency float64
// cached cast stuff
// TODO: aoe multi-target situations will need multiple spells ticking for each target.
DevouringPlague *core.Spell
HolyFire *core.Spell
InnerFocus *core.Spell
MindBlast *core.Spell
MindFlay []*core.Spell
ShadowWordDeath *core.Spell
ShadowWordPain *core.Spell
Shadowfiend *core.Spell
Smite *core.Spell
Starshards *core.Spell
VampiricTouch *core.Spell
DevouringPlagueDot *core.Dot
HolyFireDot *core.Dot
MindFlayDot []*core.Dot
ShadowWordPainDot *core.Dot
ShadowfiendDot *core.Dot
StarshardsDot *core.Dot
VampiricTouchDot *core.Dot
InnerFocusAura *core.Aura
MiseryAura *core.Aura
ShadowWeavingAura *core.Aura
SurgeOfLightProcAura *core.Aura
}
func (*Priest) AddPartyBuffs ¶
func (priest *Priest) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
func (*Priest) AddRaidBuffs ¶
func (*Priest) ApplyMisery ¶
func (priest *Priest) ApplyMisery(sim *core.Simulation, target *core.Unit)
func (*Priest) ApplyShadowOnHitEffects ¶
func (priest *Priest) ApplyShadowOnHitEffects()
func (*Priest) ApplyShadowWeaving ¶
func (priest *Priest) ApplyShadowWeaving(sim *core.Simulation, target *core.Unit)
func (*Priest) ApplyTalents ¶
func (priest *Priest) ApplyTalents()
func (*Priest) ApplyVampiricTouchManaReturn ¶
func (priest *Priest) ApplyVampiricTouchManaReturn(sim *core.Simulation, damage float64)
func (*Priest) GetCharacter ¶
func (*Priest) Initialize ¶
func (priest *Priest) Initialize()
func (*Priest) MindFlayActionID ¶
func (*Priest) Reset ¶
func (priest *Priest) Reset(_ *core.Simulation)
type PriestAgent ¶
type PriestAgent interface {
GetPriest() *Priest
}
Agent is a generic way to access underlying priest on any of the agents.
type SelfBuffs ¶
type SelfBuffs struct {
UseShadowfiend bool
PowerInfusionTarget proto.RaidTarget
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.