Documentation ¶
Index ¶
- Variables
- type Priest
- func (priest *Priest) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
- func (priest *Priest) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (priest *Priest) AddShadowWeavingStack(sim *core.Simulation)
- func (priest *Priest) ApplyRapture(ppm float64)
- func (priest *Priest) ApplyTalents()
- func (priest *Priest) AverageMindFlayLatencyDelay(numTicks int, gcd time.Duration) time.Duration
- func (priest *Priest) GetCharacter() *core.Character
- func (priest *Priest) HasMajorGlyph(glyph proto.PriestMajorGlyph) bool
- func (priest *Priest) HasMinorGlyph(glyph proto.PriestMinorGlyph) bool
- func (priest *Priest) Initialize()
- func (priest *Priest) MindFlayTickDuration() time.Duration
- func (priest *Priest) NewShadowfiend() *Shadowfiend
- func (priest *Priest) RegisterHealingSpells()
- func (priest *Priest) RegisterHolyFireSpell(memeDream bool)
- func (priest *Priest) RegisterPenanceSpell()
- func (priest *Priest) RegisterSmiteSpell(memeDream bool)
- func (priest *Priest) Reset(_ *core.Simulation)
- type PriestAgent
- type SelfBuffs
- type Shadowfiend
- func (shadowfiend *Shadowfiend) GetPet() *core.Pet
- func (shadowfiend *Shadowfiend) Initialize()
- func (shadowfiend *Shadowfiend) OnAutoAttack(sim *core.Simulation, spell *core.Spell)
- func (shadowfiend *Shadowfiend) OnGCDReady(sim *core.Simulation)
- func (shadowfiend *Shadowfiend) Reset(sim *core.Simulation)
Constants ¶
This section is empty.
Variables ¶
View Source
var ItemSetAbsolutionRegalia = 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 ItemSetAvatarRegalia = 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) }, }) }, 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, result *core.SpellResult) { 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, result *core.SpellResult) { if spell != priest.ShadowWordPain { return } if sim.RandomFloat("avatar 4p") > 0.4 { return } procAura.Activate(sim) }, }) }, }, })
View Source
var ItemSetIncarnateRegalia = core.NewItemSet(core.ItemSet{ Name: "Incarnate Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetVestmentsOfAbsolution = core.NewItemSet(core.ItemSet{ Name: "Vestments of Absolution", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var TalentTreeSizes = [3]int{28, 27, 27}
Functions ¶
This section is empty.
Types ¶
type Priest ¶
type Priest struct { core.Character SelfBuffs Talents *proto.PriestTalents SurgeOfLight bool Latency float64 ShadowfiendAura *core.Aura ShadowfiendPet *Shadowfiend // cached cast stuff // TODO: aoe multi-target situations will need multiple spells ticking for each target. InnerFocusAura *core.Aura MiseryAura *core.Aura ShadowWeavingAura *core.Aura ShadowyInsightAura *core.Aura ImprovedSpiritTap *core.Aura DispersionAura *core.Aura SurgeOfLightProcAura *core.Aura BindingHeal *core.Spell CircleOfHealing *core.Spell DevouringPlague *core.Spell FlashHeal *core.Spell GreaterHeal *core.Spell HolyFire *core.Spell InnerFocus *core.Spell ShadowWordPain *core.Spell MindBlast *core.Spell MindFlay []*core.Spell //MindSear []*core.Spell Penance *core.Spell PenanceHeal *core.Spell PowerWordShield *core.Spell PrayerOfHealing *core.Spell PrayerOfMending *core.Spell Renew *core.Spell EmpoweredRenew *core.Spell ShadowWordDeath *core.Spell Shadowfiend *core.Spell Smite *core.Spell Starshards *core.Spell VampiricTouch *core.Spell Dispersion *core.Spell PWSShields []*core.Shield WeakenedSouls core.AuraArray ProcPrayerOfMending core.ApplySpellResults DpInitMultiplier float64 }
func (*Priest) AddPartyBuffs ¶
func (priest *Priest) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
func (*Priest) AddRaidBuffs ¶
func (*Priest) AddShadowWeavingStack ¶
func (priest *Priest) AddShadowWeavingStack(sim *core.Simulation)
func (*Priest) ApplyRapture ¶
This one is called from healing priest sim initialization because it needs an input.
func (*Priest) ApplyTalents ¶
func (priest *Priest) ApplyTalents()
func (*Priest) AverageMindFlayLatencyDelay ¶
func (*Priest) GetCharacter ¶
func (*Priest) HasMajorGlyph ¶
func (priest *Priest) HasMajorGlyph(glyph proto.PriestMajorGlyph) bool
func (*Priest) HasMinorGlyph ¶
func (priest *Priest) HasMinorGlyph(glyph proto.PriestMinorGlyph) bool
func (*Priest) Initialize ¶
func (priest *Priest) Initialize()
func (*Priest) MindFlayTickDuration ¶
func (*Priest) NewShadowfiend ¶
func (priest *Priest) NewShadowfiend() *Shadowfiend
func (*Priest) RegisterHealingSpells ¶
func (priest *Priest) RegisterHealingSpells()
func (*Priest) RegisterHolyFireSpell ¶
func (*Priest) RegisterPenanceSpell ¶
func (priest *Priest) RegisterPenanceSpell()
func (*Priest) RegisterSmiteSpell ¶
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 UseInnerFire bool PowerInfusionTarget *proto.RaidTarget }
type Shadowfiend ¶
type Shadowfiend struct { core.Pet Priest *Priest ManaMetric *core.ResourceMetrics Shadowcrawl *core.Spell ShadowcrawlAura *core.Aura }
func (*Shadowfiend) GetPet ¶
func (shadowfiend *Shadowfiend) GetPet() *core.Pet
func (*Shadowfiend) Initialize ¶
func (shadowfiend *Shadowfiend) Initialize()
func (*Shadowfiend) OnAutoAttack ¶
func (shadowfiend *Shadowfiend) OnAutoAttack(sim *core.Simulation, spell *core.Spell)
func (*Shadowfiend) OnGCDReady ¶
func (shadowfiend *Shadowfiend) OnGCDReady(sim *core.Simulation)
func (*Shadowfiend) Reset ¶
func (shadowfiend *Shadowfiend) Reset(sim *core.Simulation)
Source Files ¶
- binding_heal.go
- circle_of_healing.go
- devouring_plague.go
- dispersion.go
- flash_heal.go
- greater_heal.go
- holy_fire.go
- hymn_of_hope.go
- items.go
- mind_blast.go
- mind_flay.go
- mind_sear.go
- penance.go
- power_infusion.go
- power_word_shield.go
- prayer_of_healing.go
- prayer_of_mending.go
- priest.go
- renew.go
- shadow_word_death.go
- shadow_word_pain.go
- shadowfiend.go
- shadowfiend_pet.go
- smite.go
- starshards.go
- talents.go
- vampiric_touch.go
Click to show internal directories.
Click to hide internal directories.