Documentation
¶
Index ¶
- Constants
- Variables
- type Priest
- func (priest *Priest) AddPartyBuffs(_ *proto.PartyBuffs)
- func (priest *Priest) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (priest *Priest) AddShadowWeavingStack(sim *core.Simulation, target *core.Unit)
- func (priest *Priest) ApplyTalents()
- func (priest *Priest) GetCharacter() *core.Character
- func (priest *Priest) Initialize()
- func (priest *Priest) RegisterHealingSpells()
- type PriestAgent
Constants ¶
View Source
const ( SpellCode_PriestNone int32 = iota SpellCode_PriestDevouringPlague SpellCode_PriestFlashHeal SpellCode_PriestGreaterHeal SpellCode_PriestHeal SpellCode_PriestHolyFire SpellCode_PriestMindBlast SpellCode_PriestMindFlay SpellCode_PriestShadowWordPain SpellCode_PriestSmite SpellCode_PriestStarshards SpellCode_PriestVampiricTouch )
View Source
const DevouringPlagueRanks = 6
View Source
const HolyFireRanks = 8
View Source
const MindBlastRanks = 9
View Source
const MindFlayRanks = 6
View Source
const MindFlayTicks = 3
View Source
const ShadowWordPainRanks = 8
View Source
const SmiteRanks = 8
View Source
const (
SpellFlagPriest = core.SpellFlagAgentReserved1
)
View Source
const StarshardsRanks = 7
View Source
const StarshardsTicks = 6
Variables ¶
View Source
var DevouringPlagueBaseDamage = [DevouringPlagueRanks + 1]float64{0, 152, 272, 400, 544, 712, 904}
View Source
var DevouringPlagueLevel = [DevouringPlagueRanks + 1]int{0, 20, 28, 36, 44, 52, 60}
View Source
var DevouringPlagueManaCost = [DevouringPlagueRanks + 1]float64{0, 215, 350, 495, 645, 810, 985}
View Source
var DevouringPlagueSpellId = [DevouringPlagueRanks + 1]int32{0, 2944, 19276, 19277, 19278, 19279, 19280}
View Source
var HolyFireBaseDamage = [HolyFireRanks + 1][]float64{{0}, {84, 104}, {97, 122}, {144, 178}, {173, 218}, {219, 273}, {259, 328}, {323, 406}, {355, 449}}
View Source
var HolyFireDotDamage = [HolyFireRanks + 1]float64{0, 30, 40, 55, 65, 85, 100, 125, 145}
View Source
var HolyFireLevel = [HolyFireRanks + 1]int{0, 20, 24, 30, 36, 42, 48, 54, 60}
View Source
var HolyFireManaCost = [HolyFireRanks + 1]float64{0, 85, 95, 125, 145, 170, 200, 230, 255}
View Source
var HolyFireSpellCoef = [HolyFireRanks + 1]float64{0, 0.123, 0.271, 0.554, 0.714, 0.714, 0.714, 0.714, 0.714}
View Source
var HolyFireSpellId = [HolyFireRanks + 1]int32{0, 14914, 15262, 15263, 15264, 15265, 15266, 15267, 15261}
View Source
var ItemSetChampionsInvestiture = core.NewItemSet(core.ItemSet{ Name: "Champion's Investiture", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 20) }, }, })
View Source
var ItemSetChampionsRaiment = core.NewItemSet(core.ItemSet{ Name: "Champion's Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 15) }, }, })
View Source
var ItemSetConfessorsRaiment = core.NewItemSet(core.ItemSet{ Name: "Confessor's Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.HealingPower, 22) }, 3: func(agent core.Agent) { }, 5: func(agent core.Agent) { }, }, })
View Source
var ItemSetFieldMarshalsRaiment = core.NewItemSet(core.ItemSet{ Name: "Field Marshal's Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 20) }, 3: func(agent core.Agent) { }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, }, })
View Source
var ItemSetGarmentsOfTheOracle = core.NewItemSet(core.ItemSet{ Name: "Garments of the Oracle", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { }, 5: func(agent core.Agent) { }, }, })
View Source
var ItemSetLieutenantCommandersInvestiture = core.NewItemSet(core.ItemSet{ Name: "Lieutenant Commander's Investiture", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 20) }, }, })
View Source
var ItemSetLieutenantCommandersRaiment = core.NewItemSet(core.ItemSet{ Name: "Lieutenant Commander's Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 15) }, }, })
View Source
var ItemSetVestmentsOfFaith = core.NewItemSet(core.ItemSet{ Name: "Vestments of Faith", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { }, 8: func(agent core.Agent) { c := agent.GetCharacter() procAura := c.NewTemporaryStatsAura("Epiphany", core.ActionID{SpellID: 28802}, stats.Stats{stats.MP5: 24}, time.Second*30) core.MakeProcTriggerAura(&c.Unit, core.ProcTrigger{ Name: "Item - Epiphany Proc (Spell Cast)", Callback: core.CallbackOnCastComplete, ProcMask: core.ProcMaskSpellDamage, SpellFlags: core.SpellFlagHelpful, ProcChance: 0.05, Handler: func(sim *core.Simulation, spell *core.Spell, _ *core.SpellResult) { procAura.Activate(sim) }, }) }, }, })
View Source
var ItemSetVestmentsOfProphecy = core.NewItemSet(core.ItemSet{ Name: "Vestments of Prophecy", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { }, 5: func(agent core.Agent) { priest := agent.(PriestAgent).GetPriest() priest.PseudoStats.SchoolBonusCritChance[stats.SchoolIndexHoly] += 2 * core.SpellCritRatingPerCritChance }, 8: func(agent core.Agent) { }, }, })
View Source
var ItemSetVestmentsOfTranscendence = core.NewItemSet(core.ItemSet{ Name: "Vestments of Transcendence", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.PseudoStats.SpiritRegenRateCasting += .15 }, 5: func(agent core.Agent) { }, 8: func(agent core.Agent) { }, }, })
View Source
var ItemSetWarlordsRaiment = core.NewItemSet(core.ItemSet{ Name: "Warlord's Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 20) }, 3: func(agent core.Agent) { }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, }, })
View Source
var MindBlastBaseDamage = [MindBlastRanks + 1][]float64{{0}, {42, 46}, {76, 83}, {115, 124}, {174, 184}, {225, 239}, {279, 297}, {354, 375}, {437, 461}, {508, 537}}
View Source
var MindBlastLevel = [MindBlastRanks + 1]int{0, 10, 16, 22, 28, 34, 40, 46, 52, 58}
View Source
var MindBlastManaCost = [MindBlastRanks + 1]float64{0, 50, 80, 110, 150, 185, 225, 265, 310, 350}
View Source
var MindBlastSpellCoef = [MindBlastRanks + 1]float64{0, .268, .364, .429, .429, .429, .429, .429, .429, .429}
View Source
var MindBlastSpellId = [MindBlastRanks + 1]int32{0, 8092, 8102, 8103, 8104, 8105, 8106, 10945, 10946, 10947}
View Source
var MindFlayBaseDamage = [MindFlayRanks + 1]float64{0, 75, 126, 186, 261, 330, 426}
View Source
var MindFlayLevel = [MindFlayRanks + 1]int{0, 20, 28, 36, 44, 52, 60}
View Source
var MindFlayManaCost = [MindFlayRanks + 1]float64{0, 45, 70, 100, 135, 165, 205}
View Source
var MindFlaySpellId = [MindFlayRanks + 1]int32{0, 15407, 17311, 17312, 17313, 17314, 18807}
View Source
var MindFlayTickSpellId = [MindFlayRanks + 1]int32{0, 16568, 7378, 17316, 17317, 17318, 18808}
View Source
var ShadowWordPainBaseDamage = [ShadowWordPainRanks + 1]float64{0, 30, 66, 132, 234, 366, 510, 672, 852}
View Source
var ShadowWordPainLevel = [ShadowWordPainRanks + 1]int{0, 4, 10, 18, 26, 34, 42, 50, 58}
View Source
var ShadowWordPainManaCost = [ShadowWordPainRanks + 1]float64{0, 25, 50, 95, 155, 230, 305, 385, 470}
View Source
var ShadowWordPainSpellCoef = [ShadowWordPainRanks + 1]float64{0, 0.067, 0.104, 0.154, 0.167, 0.167, 0.167, 0.167, 0.167} // per tick
View Source
var ShadowWordPainSpellId = [ShadowWordPainRanks + 1]int32{0, 589, 594, 970, 992, 2767, 10892, 10893, 10894}
View Source
var SmiteBaseDamage = [SmiteRanks + 1][]float64{{0}, {15, 20}, {28, 34}, {58, 67}, {94, 109}, {158, 178}, {216, 244}, {296, 333}, {384, 429}}
View Source
var SmiteCastTime = [SmiteRanks + 1]int{0, 1500, 2000, 2500, 2500, 2500, 2500, 2500, 2500}
View Source
var SmiteLevel = [SmiteRanks + 1]int{0, 1, 6, 14, 22, 30, 38, 46, 54}
View Source
var SmiteManaCost = [SmiteRanks + 1]float64{0, 20, 30, 60, 95, 140, 185, 230, 280}
View Source
var SmiteSpellCoef = [SmiteRanks + 1]float64{0, 0.123, 0.271, 0.554, 0.714, 0.714, 0.714, 0.714, 0.714}
View Source
var SmiteSpellId = [SmiteRanks + 1]int32{0, 585, 591, 598, 984, 1004, 6060, 10933, 10934}
View Source
var StarshardsBaseDamage = [StarshardsRanks + 1]float64{0, 84, 162, 288, 414, 570, 756, 936}
View Source
var StarshardsLevel = [StarshardsRanks + 1]int{0, 10, 18, 26, 34, 42, 50, 58}
View Source
var StarshardsManaCost = [StarshardsRanks + 1]float64{0, 50, 85, 140, 190, 245, 300, 350}
View Source
var StarshardsSpellId = [StarshardsRanks + 1]int32{0, 10797, 19296, 19299, 19302, 19303, 19304, 19305}
View Source
var StarshardsTickSpellId = [StarshardsRanks + 1]int32{0, 19350, 19351, 19352, 19353, 19354, 19355, 19356}
View Source
var TalentTreeSizes = [3]int{15, 16, 16}
Functions ¶
This section is empty.
Types ¶
type Priest ¶
type Priest struct {
core.Character
Talents *proto.PriestTalents
Latency float64
CircleOfHealing *core.Spell
DevouringPlague []*core.Spell
EmpoweredRenew *core.Spell
FlashHeal []*core.Spell
GreaterHeal []*core.Spell
HolyFire []*core.Spell
InnerFocus *core.Spell
MindBlast []*core.Spell
MindFlay [][]*core.Spell // 1 entry for each tick for each rank
PowerWordShield []*core.Spell
PrayerOfHealing []*core.Spell
PrayerOfMending *core.Spell
Renew []*core.Spell
Shadowform *core.Spell
ShadowWeavingProc *core.Spell
ShadowWordPain []*core.Spell
Smite []*core.Spell
Starshards [][]*core.Spell
VampiricEmbrace *core.Spell
InnerFocusAura *core.Aura
ShadowformAura *core.Aura
SpiritTapAura *core.Aura
ShadowWeavingAuras core.AuraArray
VampiricEmbraceAuras core.AuraArray
WeakenedSouls core.AuraArray
ProcPrayerOfMending core.ApplySpellResults
}
func (*Priest) AddPartyBuffs ¶
func (priest *Priest) AddPartyBuffs(_ *proto.PartyBuffs)
func (*Priest) AddRaidBuffs ¶
func (*Priest) AddShadowWeavingStack ¶
func (priest *Priest) AddShadowWeavingStack(sim *core.Simulation, target *core.Unit)
func (*Priest) ApplyTalents ¶
func (priest *Priest) ApplyTalents()
func (*Priest) GetCharacter ¶
func (*Priest) Initialize ¶
func (priest *Priest) Initialize()
func (*Priest) RegisterHealingSpells ¶
func (priest *Priest) RegisterHealingSpells()
type PriestAgent ¶
type PriestAgent interface {
GetPriest() *Priest
}
Agent is a generic way to access underlying priest on any of the agents.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.