Documentation ¶
Index ¶
- Constants
- Variables
- func CreateGladiatorsSigil(id int32, name string, ap float64, seconds time.Duration)
- func CreateVirulenceProcAura(character *core.Character) *core.Aura
- 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) ChangePresence(sim *core.Simulation, newPresence Presence)
- func (dk *Deathknight) DiseasesAreActive(target *core.Unit) bool
- 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) ModifyDamageModifier(value float64)
- func (dk *Deathknight) NewArmyGhoulPet(_ int) *GhoulPet
- func (dk *Deathknight) NewBloodwormPet(_ int) *BloodwormPet
- func (dk *Deathknight) NewGargoyle() *GargoylePet
- func (dk *Deathknight) NewGhoulPet(permanent bool) *GhoulPet
- func (dk *Deathknight) NewRuneWeapon() *RuneWeaponPet
- func (dk *Deathknight) PresenceMatches(other Presence) bool
- func (dk *Deathknight) Reset(sim *core.Simulation)
- func (dk *Deathknight) ResetBonusCoeffs()
- func (dk *Deathknight) SetupGhoul(ghoulPet *GhoulPet)
- func (dk *Deathknight) ToughnessArmorMultiplier() float64
- type DeathknightCoeffs
- type DeathknightInputs
- type GargoylePet
- type GhoulPet
- type Presence
- type RuneWeaponPet
- type ScourgelordBonusSpell
Constants ¶
View Source
const ( PetSpellHitScale = 17.0 / 8.0 * core.SpellHitRatingPerHitChance / core.MeleeHitRatingPerHitChance // 1.7 PetExpertiseScale = 3.25 * core.ExpertisePerQuarterPercentReduction / core.MeleeHitRatingPerHitChance // 0.8125 PetSpellHasteScale = 1.3 )
View Source
const ( ScourgelordBonusSpellOB = iota + 1 ScourgelordBonusSpellSS ScourgelordBonusSpellHS )
View Source
const ( BloodyStrikesBS = iota + 1 BloodyStrikesHS BloodyStrikesBB )
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 ¶
Types ¶
type BloodwormPet ¶
func (*BloodwormPet) ExecuteCustomRotation ¶ added in v0.1.63
func (bloodworm *BloodwormPet) ExecuteCustomRotation(_ *core.Simulation)
func (*BloodwormPet) GetPet ¶
func (bloodworm *BloodwormPet) GetPet() *core.Pet
func (*BloodwormPet) Initialize ¶
func (bloodworm *BloodwormPet) Initialize()
func (*BloodwormPet) Reset ¶
func (bloodworm *BloodwormPet) Reset(_ *core.Simulation)
type BloodyStrikesBonusSpell ¶ added in v0.1.29
type BloodyStrikesBonusSpell int8
type DeathKnightAgent ¶
type DeathKnightAgent interface {
GetDeathKnight() *Deathknight
}
type Deathknight ¶
type Deathknight struct { core.Character Talents *proto.DeathknightTalents Inputs DeathknightInputs 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 HornOfWinter *core.Spell // "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) *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) ChangePresence ¶
func (dk *Deathknight) ChangePresence(sim *core.Simulation, newPresence Presence)
func (*Deathknight) DiseasesAreActive ¶
func (dk *Deathknight) DiseasesAreActive(target *core.Unit) bool
func (*Deathknight) DrwDiseasesAreActive ¶ added in v0.1.17
func (dk *Deathknight) DrwDiseasesAreActive(target *core.Unit) bool
func (*Deathknight) DrwWeaponDamage ¶ added in v0.1.29
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 ¶ added in v0.1.14
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) ModifyDamageModifier ¶ added in v0.1.1
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() *GargoylePet
func (*Deathknight) NewGhoulPet ¶
func (dk *Deathknight) NewGhoulPet(permanent bool) *GhoulPet
func (*Deathknight) NewRuneWeapon ¶
func (dk *Deathknight) NewRuneWeapon() *RuneWeaponPet
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) SetupGhoul ¶
func (dk *Deathknight) SetupGhoul(ghoulPet *GhoulPet)
func (*Deathknight) ToughnessArmorMultiplier ¶ added in v0.1.35
func (dk *Deathknight) ToughnessArmorMultiplier() float64
type DeathknightCoeffs ¶
type DeathknightCoeffs struct {
// contains filtered or unexported fields
}
type DeathknightInputs ¶
type GargoylePet ¶
type GargoylePet struct { core.Pet GargoyleStrike *core.Spell // contains filtered or unexported fields }
func (*GargoylePet) ExecuteCustomRotation ¶ added in v0.1.63
func (garg *GargoylePet) ExecuteCustomRotation(_ *core.Simulation)
func (*GargoylePet) GetPet ¶
func (garg *GargoylePet) GetPet() *core.Pet
func (*GargoylePet) Initialize ¶
func (garg *GargoylePet) Initialize()
func (*GargoylePet) Reset ¶
func (garg *GargoylePet) Reset(_ *core.Simulation)
type GhoulPet ¶
type GhoulPet struct { core.Pet GhoulFrenzyAura *core.Aura Claw *core.Spell // contains filtered or unexported fields }
func (*GhoulPet) ExecuteCustomRotation ¶ added in v0.1.63
func (ghoulPet *GhoulPet) ExecuteCustomRotation(sim *core.Simulation)
func (*GhoulPet) Initialize ¶
func (ghoulPet *GhoulPet) Initialize()
func (*GhoulPet) Reset ¶
func (ghoulPet *GhoulPet) Reset(_ *core.Simulation)
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) ExecuteCustomRotation ¶ added in v0.1.63
func (runeWeapon *RuneWeaponPet) ExecuteCustomRotation(_ *core.Simulation)
func (*RuneWeaponPet) GetPet ¶
func (runeWeapon *RuneWeaponPet) GetPet() *core.Pet
func (*RuneWeaponPet) Initialize ¶
func (runeWeapon *RuneWeaponPet) Initialize()
func (*RuneWeaponPet) Reset ¶
func (runeWeapon *RuneWeaponPet) Reset(_ *core.Simulation)
type ScourgelordBonusSpell ¶ added in v0.1.23
type ScourgelordBonusSpell int8
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_frenzy.go
- ghoul_pet.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
- 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.