Documentation
¶
Index ¶
- Constants
- Variables
- type AncientGuardianPet
- func (ancientGuardian *AncientGuardianPet) ExecuteCustomRotation(sim *core.Simulation)
- func (ancientGuardian *AncientGuardianPet) GetPet() *core.Pet
- func (guardian *AncientGuardianPet) Initialize()
- func (ancientGuardian *AncientGuardianPet) OnEncounterStart(_ *core.Simulation)
- func (ancientGuardian *AncientGuardianPet) Reset(_ *core.Simulation)
- type AuraDeactivationCheck
- type HolyPowerBar
- type Paladin
- func (paladin *Paladin) AddDefensiveCooldownAura(aura *core.Aura)
- func (paladin *Paladin) AddPartyBuffs(_ *proto.PartyBuffs)
- func (paladin *Paladin) AddRaidBuffs(_ *proto.RaidBuffs)
- func (paladin *Paladin) AnyActiveDefensiveCooldown() bool
- func (paladin *Paladin) ApplyTalents()
- func (paladin *Paladin) BuilderCooldown() *core.Timer
- func (paladin *Paladin) CanTriggerHolyAvengerHpGain(actionID core.ActionID)
- func (paladin *Paladin) GetCharacter() *core.Character
- func (paladin *Paladin) GetPaladin() *Paladin
- func (paladin *Paladin) HasMajorGlyph(glyph proto.PaladinMajorGlyph) bool
- func (paladin *Paladin) HasMinorGlyph(glyph proto.PaladinMinorGlyph) bool
- func (paladin *Paladin) Initialize()
- func (paladin *Paladin) NewAncientGuardian() *AncientGuardianPet
- func (paladin *Paladin) OnEncounterStart(sim *core.Simulation)
- func (paladin *Paladin) Reset(sim *core.Simulation)
- func (paladin *Paladin) SpendableHolyPower() float64
- type PaladinAgent
Constants ¶
View Source
const ( // Shared abilities SpellMaskAvengingWrath int64 = 1 << iota SpellMaskCensure SpellMaskCrusaderStrike SpellMaskDevotionAura SpellMaskDivineProtection SpellMaskDivineShield SpellMaskFlashOfLight SpellMaskGuardianOfAncientKings SpellMaskHammerOfWrath SpellMaskHammerOfTheRighteousMelee SpellMaskHammerOfTheRighteousAoe SpellMaskHandOfProtection SpellMaskJudgment SpellMaskLayOnHands SpellMaskSealOfInsight SpellMaskSealOfRighteousness SpellMaskSealOfTruth SpellMaskShieldOfTheRighteous SpellMaskTemplarsVerdict SpellMaskWordOfGlory // Retribution abilities SpellMaskDivineStorm SpellMaskExorcism SpellMaskInquisition SpellMaskSealOfJustice // Protection abilities SpellMaskArdentDefender SpellMaskAvengersShield SpellMaskConsecration SpellMaskHolyWrath // Holy abilities SpellMaskBeaconOfLight SpellMaskDaybreak SpellMaskDenounce SpellMaskDivineFavor SpellMaskDivineLight SpellMaskDivinePlea SpellMaskHolyLight SpellMaskHolyRadiance SpellMaskHolyShockDamage SpellMaskHolyShockHeal SpellMaskLightOfDawn // Glyphs SpellMaskHarshWords )
View Source
const SpellMaskBuilderBase = SpellMaskCrusaderStrike | SpellMaskHammerOfTheRighteous
View Source
const SpellMaskBuilderHoly = SpellMaskBuilderBase | SpellMaskHolyShock | SpellMaskHolyRadiance
View Source
const SpellMaskBuilderProt = SpellMaskBuilderBase | SpellMaskJudgment | SpellMaskAvengersShield
View Source
const SpellMaskBuilderRet = SpellMaskBuilderBase | SpellMaskJudgment | SpellMaskExorcism | SpellMaskHammerOfWrath
View Source
const SpellMaskCanTriggerAncientPower = SpellMaskCanTriggerSealOfTruth
View Source
const SpellMaskCanTriggerHandOfLight = SpellMaskCrusaderStrike | SpellMaskDivineStorm | SpellMaskTemplarsVerdict | SpellMaskHammerOfTheRighteous | SpellMaskHammerOfWrath
View Source
const SpellMaskCanTriggerSealOfInsight = SpellMaskCanTriggerSealOfJustice
View Source
const SpellMaskCanTriggerSealOfJustice = SpellMaskCrusaderStrike | SpellMaskHammerOfTheRighteousMelee | SpellMaskShieldOfTheRighteous | SpellMaskTemplarsVerdict
View Source
const SpellMaskCanTriggerSealOfRighteousness = SpellMaskCrusaderStrike | SpellMaskTemplarsVerdict | SpellMaskDivineStorm | SpellMaskHammerOfTheRighteousMelee | SpellMaskShieldOfTheRighteous
View Source
const SpellMaskCanTriggerSealOfTruth = SpellMaskCrusaderStrike | SpellMaskTemplarsVerdict | SpellMaskJudgment | SpellMaskHammerOfTheRighteousMelee | SpellMaskShieldOfTheRighteous
View Source
const SpellMaskCausesForbearance = SpellMaskDivineShield | SpellMaskHandOfProtection | SpellMaskLayOnHands
View Source
const SpellMaskDamageModifiedBySwordOfLight = SpellMaskSealOfTruth | SpellMaskSealOfJustice | SpellMaskSealOfRighteousness | SpellMaskDivineStorm | SpellMaskHammerOfWrath | SpellMaskJudgment
View Source
const SpellMaskHammerOfTheRighteous = SpellMaskHammerOfTheRighteousMelee | SpellMaskHammerOfTheRighteousAoe
View Source
const SpellMaskHolyShock = SpellMaskHolyShockDamage | SpellMaskHolyShockHeal
View Source
const SpellMaskModifiedBySealOfInsight = SpellMaskDivineLight | SpellMaskFlashOfLight | SpellMaskHolyLight | SpellMaskHolyRadiance | SpellMaskLayOnHands | SpellMaskLightOfDawn | SpellMaskWordOfGlory
View Source
const SpellMaskSanctityOfBattleBase = SpellMaskCrusaderStrike | SpellMaskJudgment | SpellMaskHammerOfWrath | SpellMaskHarshWords | SpellMaskWordOfGlory
View Source
const SpellMaskSanctityOfBattleBaseGcd = SpellMaskCrusaderStrike | SpellMaskHammerOfWrath | SpellMaskJudgment | SpellMaskHarshWords | SpellMaskWordOfGlory
View Source
const SpellMaskSanctityOfBattleHoly = SpellMaskSanctityOfBattleBase | SpellMaskHolyShock
View Source
const SpellMaskSanctityOfBattleHolyGcd = SpellMaskSanctityOfBattleBaseGcd
View Source
const SpellMaskSanctityOfBattleProt = SpellMaskSanctityOfBattleBase | SpellMaskAvengersShield | SpellMaskConsecration | SpellMaskHolyWrath | SpellMaskShieldOfTheRighteous
View Source
const SpellMaskSanctityOfBattleProtGcd = SpellMaskSanctityOfBattleBaseGcd
View Source
const SpellMaskSanctityOfBattleRet = SpellMaskSanctityOfBattleBase | SpellMaskExorcism
View Source
const SpellMaskSanctityOfBattleRetGcd = SpellMaskSanctityOfBattleBaseGcd | SpellMaskDivineStorm | SpellMaskTemplarsVerdict
View Source
const SpellMaskSeals = SpellMaskSealOfJustice | SpellMaskSealOfInsight | SpellMaskSealOfRighteousness | SpellMaskSealOfTruth
View Source
const SpellMaskSpender = SpellMaskTemplarsVerdict | SpellMaskDivineStorm | SpellMaskHarshWords | SpellMaskInquisition | SpellMaskShieldOfTheRighteous | SpellMaskWordOfGlory
Variables ¶
View Source
var ItemSetBattlegearOfTheLightningEmperor = core.NewItemSet(core.ItemSet{ Name: "Battlegear of the Lightning Emperor", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecRetributionPaladin { return } exorcismAuras := paladin.NewEnemyAuraArray(func(unit *core.Unit) *core.Aura { return unit.RegisterAura(core.Aura{ Label: "Exorcism" + unit.Label, ActionID: core.ActionID{SpellID: 138162}, Duration: time.Second * 6, }).AttachMultiplicativePseudoStatBuff( &unit.PseudoStats.SchoolDamageTakenMultiplier[stats.SchoolIndexHoly], 1.06, ) }) setBonusAura.AttachProcTrigger(core.ProcTrigger{ Callback: core.CallbackOnSpellHitDealt, ClassSpellMask: SpellMaskExorcism, Outcome: core.OutcomeLanded, Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { exorcismAuras.Get(result.Target).Activate(sim) }, }).ExposeToAPL(138159) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecRetributionPaladin { return } templarsVerdictAura := paladin.RegisterAura(core.Aura{ Label: "Templar's Verdict" + paladin.Label, ActionID: core.ActionID{SpellID: 138169}, Duration: core.NeverExpires, }) paladin.T15Ret4pc = templarsVerdictAura paladin.T15Ret4pcTemplarsVerdict = paladin.registerHolyDamageTemplarsVerdict() setBonusAura.AttachProcTrigger(core.ProcTrigger{ Callback: core.CallbackOnSpellHitDealt, ClassSpellMask: SpellMaskCrusaderStrike, Outcome: core.OutcomeLanded, ProcChance: 0.4, Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { templarsVerdictAura.Activate(sim) }, }).ExposeToAPL(138164) }, }, })
Tier 15 Ret
View Source
var ItemSetBattlegearOfWingedTriumph = core.NewItemSet(core.ItemSet{ Name: "Battlegear of Winged Triumph", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecRetributionPaladin { return } warriorOfTheLightAura := paladin.RegisterAura(core.Aura{ Label: "Warrior of the Light" + paladin.Label, ActionID: core.ActionID{SpellID: 144587}, Duration: time.Second * 6, }).AttachMultiplicativePseudoStatBuff(&paladin.PseudoStats.DamageDealtMultiplier, 1.05) setBonusAura.ApplyOnInit(func(aura *core.Aura, sim *core.Simulation) { paladin.TheArtOfWarAura.ApplyOnGain(func(aura *core.Aura, sim *core.Simulation) { warriorOfTheLightAura.Activate(sim) }) }).ExposeToAPL(144586) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecRetributionPaladin { return } paladin.DivineCrusaderAura = paladin.divinePurposeFactory("Divine Crusader", 144595, time.Second*12, func(aura *core.Aura, spell *core.Spell) bool { return spell.Matches(SpellMaskDivineStorm) }).AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DamageDone_Pct, ClassMask: SpellMaskDivineStorm, FloatValue: 0.5, }) setBonusAura.ExposeToAPL(144593) }, }, })
Tier 16 Ret
View Source
var ItemSetPlateOfTheLightningEmperor = core.NewItemSet(core.ItemSet{ Name: "Plate of the Lightning Emperor", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() shieldOfGloryAura := paladin.RegisterAura(core.Aura{ Label: "Shield of Glory" + paladin.Label, ActionID: core.ActionID{SpellID: 138242}, Duration: time.Second * 5, }).AttachAdditivePseudoStatBuff(&paladin.PseudoStats.BaseBlockChance, 0.4) setBonusAura.AttachProcTrigger(core.ProcTrigger{ Callback: core.CallbackOnCastComplete, ClassSpellMask: SpellMaskWordOfGlory, Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { shieldOfGloryAura.Duration = core.DurationFromSeconds(float64(paladin.DynamicHolyPowerSpent * 5.0)) shieldOfGloryAura.Activate(sim) }, }).ExposeToAPL(138238) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() hpGainMetrics := core.ActionID{SpellID: 138248} setBonusAura.AttachProcTrigger(core.ProcTrigger{ Callback: core.CallbackOnSpellHitTaken, Outcome: core.OutcomeLanded, RequireDamageDealt: true, Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { if paladin.DivineProtectionAura.IsActive() { hpGain := float64(math.Floor(result.PostOutcomeDamage / paladin.MaxHealth() * 5)) if hpGain > 0 { paladin.HolyPower.Gain(sim, hpGain, hpGainMetrics) } } }, }).ExposeToAPL(138244) }, }, })
Tier 15 Prot
View Source
var ItemSetPlateOfWingedTriumph = core.NewItemSet(core.ItemSet{ Name: "Plate of Winged Triumph", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() totalDamageTaken := 0.0 blessingOfTheGuardians := paladin.RegisterSpell(core.SpellConfig{ ActionID: core.ActionID{SpellID: 144581}, SpellSchool: core.SpellSchoolHoly, ProcMask: core.ProcMaskSpellHealing, Flags: core.SpellFlagPassiveSpell | core.SpellFlagHelpful, Hot: core.DotConfig{ Aura: core.Aura{ Label: "Blessing of the Guardians" + paladin.Label, }, TickLength: time.Second, NumberOfTicks: 10, AffectedByCastSpeed: false, OnSnapshot: func(sim *core.Simulation, target *core.Unit, dot *core.Dot, isRollover bool) { dot.Snapshot(target, totalDamageTaken/10.0) }, OnTick: func(sim *core.Simulation, target *core.Unit, dot *core.Dot) { dot.CalcAndDealPeriodicSnapshotHealing(sim, target, dot.OutcomeSnapshotCrit) }, }, DamageMultiplier: 0.75 * core.TernaryFloat64(paladin.Talents.UnbreakableSpirit, 0.5, 1.0), CritMultiplier: paladin.DefaultCritMultiplier(), ThreatMultiplier: 1, ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) { spell.Hot(target).Apply(sim) }, }) paladin.OnSpellRegistered(func(spell *core.Spell) { if !spell.Matches(SpellMaskDivineProtection) { return } paladin.DivineProtectionAura.ApplyOnGain(func(aura *core.Aura, sim *core.Simulation) { totalDamageTaken = 0.0 }).ApplyOnExpire(func(aura *core.Aura, sim *core.Simulation) { if totalDamageTaken > 0 { blessingOfTheGuardians.Cast(sim, &paladin.Unit) } }).AttachProcTrigger(core.ProcTrigger{ Callback: core.CallbackOnSpellHitTaken, Outcome: core.OutcomeLanded, RequireDamageDealt: true, Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { totalDamageTaken += result.PostOutcomeDamage }, }) }) setBonusAura.ExposeToAPL(144580) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecProtectionPaladin { return } paladin.BastionOfPowerAura = paladin.RegisterAura(core.Aura{ Label: "Bastion of Power" + paladin.Label, ActionID: core.ActionID{SpellID: 144569}, Duration: time.Second * 20, }).AttachProcTrigger(core.ProcTrigger{ Name: "Bastion of Power Consume Trigger" + paladin.Label, Callback: core.CallbackOnCastComplete, ClassSpellMask: SpellMaskWordOfGlory, Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { paladin.BastionOfPowerAura.Deactivate(sim) }, }) setBonusAura.AttachProcTrigger(core.ProcTrigger{ Callback: core.CallbackOnCastComplete, ClassSpellMask: SpellMaskShieldOfTheRighteous, Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { if paladin.BastionOfGloryAura.GetStacks() >= 3 { paladin.BastionOfPowerAura.Activate(sim) } }, }).ExposeToAPL(144566) }, }, })
Tier 16 Prot
View Source
var ItemSetVestmentsOfTheLightningEmperor = core.NewItemSet(core.ItemSet{ Name: "Vestments of the Lightning Emperor", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecHolyPaladin { return } setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DamageDone_Pct, ClassMask: SpellMaskDaybreak, FloatValue: 0.5, }).ExposeToAPL(138291) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecHolyPaladin { return } setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DamageDone_Pct, ClassMask: SpellMaskBeaconOfLight, FloatValue: 0.2, }).ExposeToAPL(138292) }, }, })
Tier 15 Holy
View Source
var ItemSetVestmentsOfWingedTriumph = core.NewItemSet(core.ItemSet{ Name: "Vestments of Winged Triumph", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecHolyPaladin { return } setBonusAura.ApplyOnInit(func(aura *core.Aura, sim *core.Simulation) { paladin.InfusionOfLightAura.AttachDependentAura(paladin.RegisterAura(core.Aura{ Label: "Unyielding Faith" + paladin.Label, ActionID: core.ActionID{SpellID: 144624}, Duration: time.Second * 15, }).AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DamageDone_Pct, ClassMask: SpellMaskDivineLight | SpellMaskHolyLight | SpellMaskHolyRadiance, FloatValue: 0.25, })) }).ExposeToAPL(144625) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecHolyPaladin { return } setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_Cooldown_Flat, ClassMask: SpellMaskDivineFavor, TimeValue: time.Second * -60, }) setBonusAura.ApplyOnInit(func(aura *core.Aura, sim *core.Simulation) { paladin.DivineFavorAura.AttachDependentAura(paladin.RegisterAura(core.Aura{ Label: "Favor of the Kings" + paladin.Label, ActionID: core.ActionID{SpellID: 144622}, Duration: time.Second * 20, }).AttachStatBuff(stats.MasteryRating, 4500)) }).ExposeToAPL(144613) }, }, })
Tier 16 Holy
View Source
var ItemSetWhiteTigerBattlegear = core.NewItemSet(core.ItemSet{ Name: "White Tiger Battlegear", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { if agent.GetCharacter().Spec != proto.Spec_SpecRetributionPaladin { return } setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DamageDone_Pct, ClassMask: SpellMaskTemplarsVerdict, FloatValue: 0.15, }).ExposeToAPL(123108) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DamageDone_Pct, ClassMask: SpellMaskJudgment | SpellMaskSeals, FloatValue: 0.10, }).ExposeToAPL(70762) }, }, })
Tier 14 Ret
View Source
var ItemSetWhiteTigerPlate = core.NewItemSet(core.ItemSet{ Name: "White Tiger Plate", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecProtectionPaladin { return } setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_Cooldown_Flat, ClassMask: SpellMaskArdentDefender, TimeValue: time.Second * -60, }).ExposeToAPL(123104) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_DamageDone_Pct, ClassMask: SpellMaskWordOfGlory, FloatValue: 0.1, }).AttachAdditivePseudoStatBuff(&paladin.ShieldOfTheRighteousMultiplicativeMultiplier, 0.1) setBonusAura.ExposeToAPL(123107) }, }, })
Tier 14 Prot
View Source
var ItemSetWhiteTigerVestments = core.NewItemSet(core.ItemSet{ Name: "White Tiger Vestments", DisabledInChallengeMode: true, Bonuses: map[int32]core.ApplySetBonus{ 2: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecHolyPaladin { return } setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_PowerCost_Pct, ClassMask: SpellMaskHolyRadiance, FloatValue: -0.1, }).ExposeToAPL(123102) }, 4: func(agent core.Agent, setBonusAura *core.Aura) { paladin := agent.(PaladinAgent).GetPaladin() if paladin.Spec != proto.Spec_SpecHolyPaladin { return } setBonusAura.AttachSpellMod(core.SpellModConfig{ Kind: core.SpellMod_Cooldown_Flat, ClassMask: SpellMaskHolyShock, TimeValue: time.Second * -1, }).ExposeToAPL(123103) }, }, })
Tier 14 Holy
Functions ¶
This section is empty.
Types ¶
type AncientGuardianPet ¶
func (*AncientGuardianPet) ExecuteCustomRotation ¶
func (ancientGuardian *AncientGuardianPet) ExecuteCustomRotation(sim *core.Simulation)
func (*AncientGuardianPet) GetPet ¶
func (ancientGuardian *AncientGuardianPet) GetPet() *core.Pet
func (*AncientGuardianPet) Initialize ¶
func (guardian *AncientGuardianPet) Initialize()
func (*AncientGuardianPet) OnEncounterStart ¶ added in v0.0.13
func (ancientGuardian *AncientGuardianPet) OnEncounterStart(_ *core.Simulation)
func (*AncientGuardianPet) Reset ¶
func (ancientGuardian *AncientGuardianPet) Reset(_ *core.Simulation)
type AuraDeactivationCheck ¶
type HolyPowerBar ¶
type HolyPowerBar struct {
*core.DefaultSecondaryResourceBarImpl
// contains filtered or unexported fields
}
func (HolyPowerBar) CanSpend ¶
func (h HolyPowerBar) CanSpend(amount float64) bool
func (HolyPowerBar) Spend ¶
func (h HolyPowerBar) Spend(sim *core.Simulation, amount float64, action core.ActionID)
Spend implements core.SecondaryResourceBar.
func (HolyPowerBar) SpendUpTo ¶
func (h HolyPowerBar) SpendUpTo(sim *core.Simulation, limit float64, action core.ActionID) float64
SpendUpTo implements core.SecondaryResourceBar.
func (HolyPowerBar) Value ¶
func (h HolyPowerBar) Value() float64
Value implements core.SecondaryResourceBar.
type Paladin ¶
type Paladin struct {
core.Character
Seal proto.PaladinSeal
HolyPower HolyPowerBar
Talents *proto.PaladinTalents
CurrentSeal *core.Aura
// Pets
AncientGuardian *AncientGuardianPet
AvengersShield *core.Spell
Exorcism *core.Spell
HammerOfWrath *core.Spell
Judgment *core.Spell
AncientPowerAura *core.Aura
AvengingWrathAura *core.Aura
BastionOfGloryAura *core.Aura
BastionOfPowerAura *core.Aura
DivineCrusaderAura *core.Aura
DivineFavorAura *core.Aura
DivineProtectionAura *core.Aura
DivinePurposeAura *core.Aura
GoakAura *core.Aura
InfusionOfLightAura *core.Aura
SealOfInsightAura *core.Aura
SealOfJusticeAura *core.Aura
SealOfRighteousnessAura *core.Aura
SealOfTruthAura *core.Aura
SelflessHealerAura *core.Aura
TheArtOfWarAura *core.Aura
// Item sets
T11Ret4pc *core.Aura
T15Ret4pc *core.Aura
T15Ret4pcTemplarsVerdict *core.Spell
HolyAvengerActionIDFilter []core.ActionID
JudgmentsOfTheWiseActionID core.ActionID
DefensiveCooldownAuras []*core.Aura
DynamicHolyPowerSpent float64
BastionOfGloryMultiplier float64
ShieldOfTheRighteousAdditiveMultiplier float64
ShieldOfTheRighteousMultiplicativeMultiplier float64
// contains filtered or unexported fields
}
func NewPaladin ¶
func (*Paladin) AddDefensiveCooldownAura ¶
func (*Paladin) AddPartyBuffs ¶
func (paladin *Paladin) AddPartyBuffs(_ *proto.PartyBuffs)
func (*Paladin) AddRaidBuffs ¶
func (*Paladin) AnyActiveDefensiveCooldown ¶
func (*Paladin) ApplyTalents ¶
func (paladin *Paladin) ApplyTalents()
func (*Paladin) BuilderCooldown ¶
Shared cooldown for CS and HotR
func (*Paladin) CanTriggerHolyAvengerHpGain ¶
func (*Paladin) GetCharacter ¶
func (*Paladin) GetPaladin ¶
func (*Paladin) HasMajorGlyph ¶
func (paladin *Paladin) HasMajorGlyph(glyph proto.PaladinMajorGlyph) bool
func (*Paladin) HasMinorGlyph ¶
func (paladin *Paladin) HasMinorGlyph(glyph proto.PaladinMinorGlyph) bool
func (*Paladin) Initialize ¶
func (paladin *Paladin) Initialize()
func (*Paladin) NewAncientGuardian ¶
func (paladin *Paladin) NewAncientGuardian() *AncientGuardianPet
func (*Paladin) OnEncounterStart ¶ added in v0.0.13
func (paladin *Paladin) OnEncounterStart(sim *core.Simulation)
func (*Paladin) Reset ¶
func (paladin *Paladin) Reset(sim *core.Simulation)
func (*Paladin) SpendableHolyPower ¶
type PaladinAgent ¶
type PaladinAgent interface {
GetPaladin() *Paladin
}
Implemented by each Paladin spec.
Source Files
¶
- ancient_guardian_pet.go
- avenging_wrath.go
- crusader_strike.go
- devotion_aura.go
- divine_protection.go
- flash_of_light.go
- forbearance.go
- glyphs.go
- guardian_of_ancient_kings.go
- hammer_of_the_righteous.go
- hammer_of_wrath.go
- holy_power_bar.go
- items.go
- judgment.go
- lay_on_hands.go
- paladin.go
- sanctity_of_battle.go
- seal_of_insight.go
- seal_of_righteousness.go
- seal_of_truth.go
- spell_masks.go
- talents.go
- word_of_glory.go
Click to show internal directories.
Click to hide internal directories.