Documentation ¶
Index ¶
- Constants
- Variables
- func CreateGladiatorsSigil(id int32, name string, ap float64, seconds time.Duration)
- func CreateVirulenceProcAura(character *core.Character) *core.Aura
- func PointsInTalents(talents *proto.DeathknightTalents) (int, int, int)
- type BloodwormPet
- type BloodyStrikesBonusSpell
- type DeathKnightAgent
- type Deathknight
- func (dk *Deathknight) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
- func (dk *Deathknight) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (dk *Deathknight) AllDiseasesAreActive(target *core.Unit) bool
- func (dk *Deathknight) ApplyBloodTalents()
- func (dk *Deathknight) ApplyFrostTalents()
- func (dk *Deathknight) ApplyTalents()
- func (dk *Deathknight) ApplyUnholyTalents()
- func (dk *Deathknight) AverageDSHeal() float64
- func (dk *Deathknight) ChangePresence(sim *core.Simulation, newPresence Presence)
- func (dk *Deathknight) DiseasesAreActive(target *core.Unit) bool
- func (dk *Deathknight) DoRotation(sim *core.Simulation)
- func (dk *Deathknight) DrwDiseasesAreActive(target *core.Unit) bool
- func (dk *Deathknight) DrwWeaponDamage(sim *core.Simulation, spell *core.Spell) float64
- func (dk *Deathknight) GetCharacter() *core.Character
- func (dk *Deathknight) GetDeathKnight() *Deathknight
- func (dk *Deathknight) GetRuneTapHealing() float64
- func (dk *Deathknight) HasMajorGlyph(glyph proto.DeathknightMajorGlyph) bool
- func (dk *Deathknight) HasMinorGlyph(glyph proto.DeathknightMinorGlyph) bool
- func (dk *Deathknight) Initialize()
- func (dk *Deathknight) IsFuStrike(spell *core.Spell) bool
- func (dk *Deathknight) IsMainTank() bool
- func (dk *Deathknight) ModifyDamageModifier(value float64)
- func (dk *Deathknight) NewArmyGhoulPet(_ int) *GhoulPet
- func (dk *Deathknight) NewBloodwormPet(_ int) *BloodwormPet
- func (dk *Deathknight) NewGargoyle(nerfedGargoyle bool) *GargoylePet
- func (dk *Deathknight) NewGhoulPet(permanent bool) *GhoulPet
- func (dk *Deathknight) NewRuneWeapon() *RuneWeaponPet
- func (dk *Deathknight) OnAutoAttack(sim *core.Simulation, spell *core.Spell)
- func (dk *Deathknight) OnGCDReady(sim *core.Simulation)
- func (dk *Deathknight) PresenceMatches(other Presence) bool
- func (dk *Deathknight) Reset(sim *core.Simulation)
- func (dk *Deathknight) ResetBonusCoeffs()
- func (dk *Deathknight) RotationActionCallback_AOTD(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_BB(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_BP(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_BS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_BT(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_DC(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_DND(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_DRW(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_DS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_ERW(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_FP(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_FS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_GF(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_Garg(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_HB(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_HS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_HW(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_IT(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_Obli(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_PS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_Pesti(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_RD(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_Reset(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_SS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_UF(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) RotationActionCallback_UP(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
- func (dk *Deathknight) SetupGhoul(ghoulPet *GhoulPet)
- func (dk *Deathknight) ShouldHornOfWinter(sim *core.Simulation) bool
- func (dk *Deathknight) ToughnessArmorMultiplier() float64
- func (dk *Deathknight) Wait(sim *core.Simulation)
- type DeathknightCoeffs
- type DeathknightInputs
- type GargoylePet
- type GhoulPet
- func (fb *GhoulPet) AddFocus(sim *core.Simulation, amount float64, actionID core.ActionID)
- func (fb *GhoulPet) CurrentFocus() float64
- func (fb *GhoulPet) Disable(sim *core.Simulation)
- func (fb *GhoulPet) Enable(sim *core.Simulation)
- func (ghoulPet *GhoulPet) EnableFocusBar(onFocusGain OnFocusGain)
- func (ghoulPet *GhoulPet) GetPet() *core.Pet
- func (ghoulPet *GhoulPet) Initialize()
- func (ghoulPet *GhoulPet) NewPetAbility(abilityType PetAbilityType) PetAbility
- func (ghoulPet *GhoulPet) OnGCDReady(sim *core.Simulation)
- func (ghoulPet *GhoulPet) Reset(_ *core.Simulation)
- func (fb *GhoulPet) SpendFocus(sim *core.Simulation, amount float64, actionID core.ActionID)
- type OnFocusGain
- type PetAbility
- type PetAbilityType
- type Presence
- type RotationAction
- type RotationHelper
- type Rotation_FuStrike
- type RuneWeaponPet
- type ScourgelordBonusSpell
- type Sequence
- func (s *Sequence) Advance()
- func (s *Sequence) Clear() *Sequence
- func (s *Sequence) ConditionalAdvance(condition bool)
- func (s *Sequence) DoAction(sim *core.Simulation, target *core.Unit, dk *Deathknight) time.Duration
- func (s *Sequence) GetNextAction() RotationAction
- func (s *Sequence) IsOngoing() bool
- func (s *Sequence) NewAction(action RotationAction) *Sequence
- func (s *Sequence) RemainingActions() int
- func (s *Sequence) Reset()
Constants ¶
View Source
const ( PetSpellHitScale = 17.0 / 8.0 * core.SpellHitRatingPerHitChance / core.MeleeHitRatingPerHitChance // 1.7 PetExpertiseScale = 3.25 * core.ExpertisePerQuarterPercentReduction / core.MeleeHitRatingPerHitChance // 0.8125 PetHasteScale = core.HasteRatingPerHastePercent / (core.HasteRatingPerHastePercent / 1.3) // 1.3 )
View Source
const ( ScourgelordBonusSpellOB = iota + 1 ScourgelordBonusSpellSS ScourgelordBonusSpellHS )
View Source
const ( BloodyStrikesBS = iota + 1 BloodyStrikesHS BloodyStrikesBB )
View Source
const BaseFocusPerTick = 10.0
View Source
const ClawSpellID = 47468
These IDs are needed for certain talents.
View Source
const MaxFocus = 100.0
Time between focus ticks.
Variables ¶
View Source
var BloodBoilActionID = core.ActionID{SpellID: 49941}
View Source
var BloodStrikeActionID = core.ActionID{SpellID: 49930}
View Source
var DeathCoilActionID = core.ActionID{SpellID: 49895}
View Source
var DeathStrikeActionID = core.ActionID{SpellID: 49924}
TODO: Cleanup death strike the same way we did for plague strike
View Source
var FrostStrikeMHActionID = frostStrikeActionID.WithTag(1)
View Source
var FrostStrikeOHActionID = frostStrikeActionID.WithTag(2)
View Source
var HeartStrikeActionID = core.ActionID{SpellID: 55262}
View Source
var HowlingBlastActionID = core.ActionID{SpellID: 51411}
View Source
var IcyTouchActionID = core.ActionID{SpellID: 59131}
View Source
var ItemSetDarkrunedBattlegear = core.NewItemSet(core.ItemSet{ Name: "Darkruned Battlegear", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetDarkrunedPlate = core.NewItemSet(core.ItemSet{ Name: "Darkruned Plate", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetScourgeborneBattlegear = core.NewItemSet(core.ItemSet{ Name: "Scourgeborne Battlegear", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetScourgebornePlate = core.NewItemSet(core.ItemSet{ Name: "Scourgeborne Plate", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetScourgelordsBattlegear = core.NewItemSet(core.ItemSet{ Name: "Scourgelord's Battlegear", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { dk := agent.(DeathKnightAgent).GetDeathKnight() dk.registerScourgelordsBattlegearProc() }, }, })
View Source
var ItemSetScourgelordsPlate = core.NewItemSet(core.ItemSet{ Name: "Scourgelord's Plate", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { dk := agent.(DeathKnightAgent).GetDeathKnight() dk.registerScourgelordsPlateProc() }, }, })
View Source
var ItemSetThassariansBattlegear = core.NewItemSet(core.ItemSet{ Name: "Thassarian's Battlegear", AlternativeName: "Koltira's Battlegear", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { dk := agent.(DeathKnightAgent).GetDeathKnight() dk.registerThassariansBattlegearProc() }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetThassariansPlate = core.NewItemSet(core.ItemSet{ Name: "Thassarian's Plate", AlternativeName: "Koltira's Plate", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ObliterateActionID = core.ActionID{SpellID: 51425}
TODO: Cleanup obliterate the same way we did for plague strike
View Source
var PestilenceActionID = core.ActionID{SpellID: 50842}
View Source
var PlagueStrikeActionID = core.ActionID{SpellID: 49921}
View Source
var RuneStrikeActionID = core.ActionID{SpellID: 56815}
View Source
var ScourgeStrikeActionID = core.ActionID{SpellID: 55271}
View Source
var TalentTreeSizes = [3]int{28, 29, 31}
Functions ¶
func CreateGladiatorsSigil ¶
func PointsInTalents ¶
func PointsInTalents(talents *proto.DeathknightTalents) (int, int, int)
Types ¶
type BloodwormPet ¶
func (*BloodwormPet) GetPet ¶
func (bloodworm *BloodwormPet) GetPet() *core.Pet
func (*BloodwormPet) Initialize ¶
func (bloodworm *BloodwormPet) Initialize()
func (*BloodwormPet) OnGCDReady ¶
func (bloodworm *BloodwormPet) OnGCDReady(_ *core.Simulation)
func (*BloodwormPet) Reset ¶
func (bloodworm *BloodwormPet) Reset(_ *core.Simulation)
type BloodyStrikesBonusSpell ¶
type BloodyStrikesBonusSpell int8
type DeathKnightAgent ¶
type DeathKnightAgent interface {
GetDeathKnight() *Deathknight
}
type Deathknight ¶
type Deathknight struct { core.Character Talents *proto.DeathknightTalents Inputs DeathknightInputs RotationHelper Ghoul *GhoulPet RaiseDead *core.Spell Gargoyle *GargoylePet SummonGargoyle *core.Spell SummonGargoyleAura *core.Aura GargoyleSummonDelay time.Duration OnGargoyleStartFirstCast func() RuneWeapon *RuneWeaponPet DancingRuneWeapon *core.Spell ArmyOfTheDead *core.Spell ArmyGhoul []*GhoulPet Bloodworm []*BloodwormPet Presence Presence IcyTouch *core.Spell BloodBoil *core.Spell Pestilence *core.Spell PlagueStrike *core.Spell PlagueStrikeMhHit *core.Spell PlagueStrikeOhHit *core.Spell DeathStrike *core.Spell DeathStrikeMhHit *core.Spell DeathStrikeOhHit *core.Spell DeathStrikeHeals []float64 Obliterate *core.Spell ObliterateMhHit *core.Spell ObliterateOhHit *core.Spell BloodStrike *core.Spell BloodStrikeMhHit *core.Spell BloodStrikeOhHit *core.Spell FrostStrike *core.Spell FrostStrikeMhHit *core.Spell FrostStrikeOhHit *core.Spell HeartStrike *core.Spell HeartStrikeOffHit *core.Spell RuneStrikeQueued bool RuneStrikeQueue *core.Spell RuneStrike *core.Spell RuneStrikeOh *core.Spell RuneStrikeAura *core.Aura GhoulFrenzy *core.Spell // Dummy aura for timeline metrics GhoulFrenzyAura *core.Aura LastScourgeStrikeDamage float64 ScourgeStrike *core.Spell DeathCoil *core.Spell DeathAndDecay *core.Spell HowlingBlast *core.Spell HasDraeneiHitAura bool OtherRelevantStrAgiActive bool HornOfWinter *core.Spell HornOfWinterAura *core.Aura // "CDs" RuneTap *core.Spell MarkOfBlood *core.Spell BloodTap *core.Spell BloodTapAura *core.Aura AntiMagicShell *core.Spell AntiMagicShellAura *core.Aura EmpowerRuneWeapon *core.Spell UnbreakableArmor *core.Spell UnbreakableArmorAura *core.Aura VampiricBlood *core.Spell VampiricBloodAura *core.Aura BoneShield *core.Spell BoneShieldAura *core.Aura UnholyFrenzy *core.Spell UnholyFrenzyAura *core.Aura IceboundFortitude *core.Spell IceboundFortitudeAura *core.Aura DeathPact *core.Spell // Used only to proc stuff as its free GCD MindFreezeSpell *core.Spell // Diseases FrostFeverSpell *core.Spell BloodPlagueSpell *core.Spell FrostFeverExtended []int BloodPlagueExtended []int UnholyBlightSpell *core.Spell // Talent Auras KillingMachineAura *core.Aura IcyTalonsAura *core.Aura DesolationAura *core.Aura BloodCakedBladeAura *core.Aura ButcheryAura *core.Aura ButcheryPA *core.PendingAction FreezingFogAura *core.Aura BladeBarrierAura *core.Aura ScentOfBloodAura *core.Aura WillOfTheNecropolis *core.Aura // Talent Spells LastDiseaseDamage float64 LastTickTime time.Duration WanderingPlague *core.Spell NecrosisCoeff float64 Necrosis *core.Spell Deathchill *core.Spell DeathchillAura *core.Aura // Presences BloodPresence *core.Spell BloodPresenceAura *core.Aura FrostPresence *core.Spell FrostPresenceAura *core.Aura UnholyPresence *core.Spell UnholyPresenceAura *core.Aura // Debuffs FrostFeverDebuffAura core.AuraArray EbonPlagueOrCryptFeverAura core.AuraArray RoRTSBonus func(*core.Unit) float64 // is either RoR or TS bonus function based on talents MakeTSRoRAssumptions bool // contains filtered or unexported fields }
func NewDeathknight ¶
func NewDeathknight(character core.Character, inputs DeathknightInputs, talents string, preNerfedGargoyle bool) *Deathknight
func (*Deathknight) AddPartyBuffs ¶
func (dk *Deathknight) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
func (*Deathknight) AddRaidBuffs ¶
func (dk *Deathknight) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
func (*Deathknight) AllDiseasesAreActive ¶
func (dk *Deathknight) AllDiseasesAreActive(target *core.Unit) bool
func (*Deathknight) ApplyBloodTalents ¶
func (dk *Deathknight) ApplyBloodTalents()
func (*Deathknight) ApplyFrostTalents ¶
func (dk *Deathknight) ApplyFrostTalents()
func (*Deathknight) ApplyTalents ¶
func (dk *Deathknight) ApplyTalents()
func (*Deathknight) ApplyUnholyTalents ¶
func (dk *Deathknight) ApplyUnholyTalents()
func (*Deathknight) AverageDSHeal ¶
func (dk *Deathknight) AverageDSHeal() float64
func (*Deathknight) ChangePresence ¶
func (dk *Deathknight) ChangePresence(sim *core.Simulation, newPresence Presence)
func (*Deathknight) DiseasesAreActive ¶
func (dk *Deathknight) DiseasesAreActive(target *core.Unit) bool
func (*Deathknight) DoRotation ¶
func (dk *Deathknight) DoRotation(sim *core.Simulation)
func (*Deathknight) DrwDiseasesAreActive ¶
func (dk *Deathknight) DrwDiseasesAreActive(target *core.Unit) bool
func (*Deathknight) DrwWeaponDamage ¶
func (dk *Deathknight) DrwWeaponDamage(sim *core.Simulation, spell *core.Spell) float64
func (*Deathknight) GetCharacter ¶
func (dk *Deathknight) GetCharacter() *core.Character
func (*Deathknight) GetDeathKnight ¶
func (dk *Deathknight) GetDeathKnight() *Deathknight
func (*Deathknight) GetRuneTapHealing ¶
func (dk *Deathknight) GetRuneTapHealing() float64
func (*Deathknight) HasMajorGlyph ¶
func (dk *Deathknight) HasMajorGlyph(glyph proto.DeathknightMajorGlyph) bool
func (*Deathknight) HasMinorGlyph ¶
func (dk *Deathknight) HasMinorGlyph(glyph proto.DeathknightMinorGlyph) bool
func (*Deathknight) Initialize ¶
func (dk *Deathknight) Initialize()
func (*Deathknight) IsFuStrike ¶
func (dk *Deathknight) IsFuStrike(spell *core.Spell) bool
func (*Deathknight) IsMainTank ¶
func (dk *Deathknight) IsMainTank() bool
func (*Deathknight) ModifyDamageModifier ¶
func (dk *Deathknight) ModifyDamageModifier(value float64)
func (*Deathknight) NewArmyGhoulPet ¶
func (dk *Deathknight) NewArmyGhoulPet(_ int) *GhoulPet
func (*Deathknight) NewBloodwormPet ¶
func (dk *Deathknight) NewBloodwormPet(_ int) *BloodwormPet
func (*Deathknight) NewGargoyle ¶
func (dk *Deathknight) NewGargoyle(nerfedGargoyle bool) *GargoylePet
func (*Deathknight) NewGhoulPet ¶
func (dk *Deathknight) NewGhoulPet(permanent bool) *GhoulPet
func (*Deathknight) NewRuneWeapon ¶
func (dk *Deathknight) NewRuneWeapon() *RuneWeaponPet
func (*Deathknight) OnAutoAttack ¶
func (dk *Deathknight) OnAutoAttack(sim *core.Simulation, spell *core.Spell)
func (*Deathknight) OnGCDReady ¶
func (dk *Deathknight) OnGCDReady(sim *core.Simulation)
func (*Deathknight) PresenceMatches ¶
func (dk *Deathknight) PresenceMatches(other Presence) bool
func (*Deathknight) Reset ¶
func (dk *Deathknight) Reset(sim *core.Simulation)
func (*Deathknight) ResetBonusCoeffs ¶
func (dk *Deathknight) ResetBonusCoeffs()
func (*Deathknight) RotationActionCallback_AOTD ¶
func (dk *Deathknight) RotationActionCallback_AOTD(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_BB ¶
func (dk *Deathknight) RotationActionCallback_BB(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_BP ¶
func (dk *Deathknight) RotationActionCallback_BP(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_BS ¶
func (dk *Deathknight) RotationActionCallback_BS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_BT ¶
func (dk *Deathknight) RotationActionCallback_BT(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_DC ¶
func (dk *Deathknight) RotationActionCallback_DC(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_DND ¶
func (dk *Deathknight) RotationActionCallback_DND(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_DRW ¶
func (dk *Deathknight) RotationActionCallback_DRW(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_DS ¶
func (dk *Deathknight) RotationActionCallback_DS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_ERW ¶
func (dk *Deathknight) RotationActionCallback_ERW(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_FP ¶
func (dk *Deathknight) RotationActionCallback_FP(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_FS ¶
func (dk *Deathknight) RotationActionCallback_FS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_GF ¶
func (dk *Deathknight) RotationActionCallback_GF(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_Garg ¶
func (dk *Deathknight) RotationActionCallback_Garg(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_HB ¶
func (dk *Deathknight) RotationActionCallback_HB(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_HS ¶
func (dk *Deathknight) RotationActionCallback_HS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_HW ¶
func (dk *Deathknight) RotationActionCallback_HW(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_IT ¶
func (dk *Deathknight) RotationActionCallback_IT(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_Obli ¶
func (dk *Deathknight) RotationActionCallback_Obli(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_PS ¶
func (dk *Deathknight) RotationActionCallback_PS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_Pesti ¶
func (dk *Deathknight) RotationActionCallback_Pesti(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_RD ¶
func (dk *Deathknight) RotationActionCallback_RD(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_Reset ¶
func (dk *Deathknight) RotationActionCallback_Reset(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_SS ¶
func (dk *Deathknight) RotationActionCallback_SS(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_UF ¶
func (dk *Deathknight) RotationActionCallback_UF(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) RotationActionCallback_UP ¶
func (dk *Deathknight) RotationActionCallback_UP(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration
func (*Deathknight) SetupGhoul ¶
func (dk *Deathknight) SetupGhoul(ghoulPet *GhoulPet)
func (*Deathknight) ShouldHornOfWinter ¶
func (dk *Deathknight) ShouldHornOfWinter(sim *core.Simulation) bool
func (*Deathknight) ToughnessArmorMultiplier ¶
func (dk *Deathknight) ToughnessArmorMultiplier() float64
func (*Deathknight) Wait ¶
func (dk *Deathknight) Wait(sim *core.Simulation)
type DeathknightCoeffs ¶
type DeathknightCoeffs struct {
// contains filtered or unexported fields
}
type DeathknightInputs ¶
type DeathknightInputs struct { // Option Vars IsDps bool NewDrw bool UnholyFrenzyTarget *proto.UnitReference StartingRunicPower float64 PrecastGhoulFrenzy bool PrecastHornOfWinter bool PetUptime float64 DrwPestiApply bool BloodOpener proto.Deathknight_Rotation_BloodOpener // Rotation Vars RefreshHornOfWinter bool ArmyOfTheDeadType proto.Deathknight_Rotation_ArmyOfTheDead StartingPresence proto.Deathknight_Rotation_Presence UseAMS bool AvgAMSSuccessRate float64 AvgAMSHit float64 FuStrike Rotation_FuStrike DiseaseDowntime float64 VirulenceRefresh float64 }
type GargoylePet ¶
type GargoylePet struct { core.Pet GargoyleStrike *core.Spell // contains filtered or unexported fields }
func (*GargoylePet) GetPet ¶
func (garg *GargoylePet) GetPet() *core.Pet
func (*GargoylePet) Initialize ¶
func (garg *GargoylePet) Initialize()
func (*GargoylePet) OnGCDReady ¶
func (garg *GargoylePet) OnGCDReady(_ *core.Simulation)
func (*GargoylePet) Reset ¶
func (garg *GargoylePet) Reset(_ *core.Simulation)
type GhoulPet ¶
type GhoulPet struct { core.Pet GhoulFrenzyAura *core.Aura ClawAbility PetAbility // contains filtered or unexported fields }
func (*GhoulPet) AddFocus ¶
func (fb *GhoulPet) AddFocus(sim *core.Simulation, amount float64, actionID core.ActionID)
func (*GhoulPet) CurrentFocus ¶
func (fb *GhoulPet) CurrentFocus() float64
func (*GhoulPet) Disable ¶
func (fb *GhoulPet) Disable(sim *core.Simulation)
func (*GhoulPet) Enable ¶
func (fb *GhoulPet) Enable(sim *core.Simulation)
func (*GhoulPet) EnableFocusBar ¶
func (ghoulPet *GhoulPet) EnableFocusBar(onFocusGain OnFocusGain)
func (*GhoulPet) Initialize ¶
func (ghoulPet *GhoulPet) Initialize()
func (*GhoulPet) NewPetAbility ¶
func (ghoulPet *GhoulPet) NewPetAbility(abilityType PetAbilityType) PetAbility
func (*GhoulPet) OnGCDReady ¶
func (ghoulPet *GhoulPet) OnGCDReady(sim *core.Simulation)
func (*GhoulPet) Reset ¶
func (ghoulPet *GhoulPet) Reset(_ *core.Simulation)
func (*GhoulPet) SpendFocus ¶
func (fb *GhoulPet) SpendFocus(sim *core.Simulation, amount float64, actionID core.ActionID)
type OnFocusGain ¶
type OnFocusGain func(sim *core.Simulation)
OnFocusGain is called any time focus is increased.
type PetAbility ¶
type PetAbility struct { Type PetAbilityType // Focus cost Cost float64 *core.Spell }
func (*PetAbility) TryCast ¶
func (ability *PetAbility) TryCast(sim *core.Simulation, target *core.Unit, ghoul *GhoulPet) bool
Returns whether the ability was successfully cast.
type RotationAction ¶
return bool is if its on GCD return duration is an optional wait time
func TernaryRotationAction ¶
func TernaryRotationAction(condition bool, t RotationAction, f RotationAction) RotationAction
type RotationHelper ¶
type Rotation_FuStrike ¶
type Rotation_FuStrike int32
const ( FuStrike_DeathStrike Rotation_FuStrike = 0 FuStrike_ScourgeStrike Rotation_FuStrike = 1 FuStrike_Obliterate Rotation_FuStrike = 2 )
type RuneWeaponPet ¶
type RuneWeaponPet struct { core.Pet IcyTouch *core.Spell PlagueStrike *core.Spell DeathStrike *core.Spell DeathCoil *core.Spell BloodStrike *core.Spell HeartStrike *core.Spell HeartStrikeOffHit *core.Spell RuneStrike *core.Spell Pestilence *core.Spell BloodBoil *core.Spell // Diseases FrostFeverSpell *core.Spell BloodPlagueSpell *core.Spell // contains filtered or unexported fields }
func (*RuneWeaponPet) GetPet ¶
func (runeWeapon *RuneWeaponPet) GetPet() *core.Pet
func (*RuneWeaponPet) Initialize ¶
func (runeWeapon *RuneWeaponPet) Initialize()
func (*RuneWeaponPet) OnGCDReady ¶
func (runeWeapon *RuneWeaponPet) OnGCDReady(_ *core.Simulation)
func (*RuneWeaponPet) Reset ¶
func (runeWeapon *RuneWeaponPet) Reset(_ *core.Simulation)
type ScourgelordBonusSpell ¶
type ScourgelordBonusSpell int8
type Sequence ¶
type Sequence struct {
// contains filtered or unexported fields
}
func (*Sequence) ConditionalAdvance ¶
func (*Sequence) DoAction ¶
func (s *Sequence) DoAction(sim *core.Simulation, target *core.Unit, dk *Deathknight) time.Duration
func (*Sequence) GetNextAction ¶
func (s *Sequence) GetNextAction() RotationAction
func (*Sequence) NewAction ¶
func (s *Sequence) NewAction(action RotationAction) *Sequence
func (*Sequence) RemainingActions ¶
Source Files ¶
- anti_magic_shell.go
- army_of_the_dead.go
- blood_boil.go
- blood_strike.go
- blood_tap.go
- bloodworm_pet.go
- bone_shield.go
- dancing_rune_weapon.go
- death_and_decay.go
- death_coil.go
- death_pact.go
- death_strike.go
- deathknight.go
- diseases.go
- empower_rune_weapon.go
- frost_strike.go
- ghoul_focus.go
- ghoul_frenzy.go
- ghoul_pet.go
- ghoul_pet_abilities.go
- heart_strike.go
- horn_of_winter.go
- howling_blast.go
- icebound_fortitude.go
- icy_touch.go
- items.go
- mark_of_blood.go
- obliterate.go
- pestilence.go
- plague_strike.go
- presences.go
- raise_dead.go
- rotation.go
- rotation_helper.go
- rune_strike.go
- rune_tap.go
- scourge_strike.go
- summon_gargoyle.go
- talents_blood.go
- talents_frost.go
- talents_unholy.go
- unbreakable_armor.go
- unholy_frenzy.go
- vampiric_blood.go
Click to show internal directories.
Click to hide internal directories.