Documentation ¶
Overview ¶
importing dependencies
Index ¶
- Constants
- Variables
- func RegisterWarlock()
- type CastReadyness
- type InfernalPet
- type PetAbilityType
- type ProcTracker
- type SpellRotation
- type Warlock
- func (warlock *Warlock) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (warlock *Warlock) ApplyTalents()
- func (warlock *Warlock) DSCooldownSync(actionID core.ActionID, isPotion bool)
- func (warlock *Warlock) DSProcCheck(sim *core.Simulation, castTime time.Duration) bool
- func (warlock *Warlock) GetCharacter() *core.Character
- func (warlock *Warlock) GetWarlock() *Warlock
- func (warlock *Warlock) GrandFirestoneBonus() float64
- func (warlock *Warlock) GrandSpellstoneBonus() float64
- func (warlock *Warlock) HasMajorGlyph(glyph proto.WarlockMajorGlyph) bool
- func (warlock *Warlock) HasMinorGlyph(glyph proto.WarlockMinorGlyph) bool
- func (warlock *Warlock) Initialize()
- func (warlock *Warlock) LifeTapOrDarkPact(sim *core.Simulation)
- func (warlock *Warlock) NewInfernal() *InfernalPet
- func (warlock *Warlock) NewWarlockPet() *WarlockPet
- func (warlock *Warlock) OnGCDReady(sim *core.Simulation)
- func (warlock *Warlock) Reset(sim *core.Simulation)
- func (warlock *Warlock) ShadowEmbraceDebuffAura(target *core.Unit) *core.Aura
- func (warlock *Warlock) ShouldCastCurseOfElements(sim *core.Simulation, target *core.Unit, curse proto.Warlock_Rotation_Curse) bool
- type WarlockAgent
- type WarlockPet
- func (wp *WarlockPet) GetPet() *core.Pet
- func (wp *WarlockPet) Initialize()
- func (wp *WarlockPet) NewPetAbility(abilityType PetAbilityType, isPrimary bool) *core.Spell
- func (wp *WarlockPet) OnGCDReady(sim *core.Simulation)
- func (wp *WarlockPet) Reset(sim *core.Simulation)
- func (wp *WarlockPet) TryCast(sim *core.Simulation, target *core.Unit, spell *core.Spell) bool
Constants ¶
View Source
const PetExpertiseScale = 1.53
Variables ¶
View Source
var ItemSetCorruptorRaiment = core.NewItemSet(core.ItemSet{ Name: "Corruptor Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetMaleficRaiment = core.NewItemSet(core.ItemSet{ Name: "Malefic Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
T6
View Source
var ItemSetOblivionRaiment = core.NewItemSet(core.ItemSet{ Name: "Oblivion Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetVoidheartRaiment = core.NewItemSet(core.ItemSet{ Name: "Voidheart Raiment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { warlock := agent.(WarlockAgent).GetWarlock() shadowBonus := warlock.RegisterAura(core.Aura{ Label: "Shadowflame", Duration: time.Second * 15, ActionID: core.ActionID{SpellID: 37377}, }) fireBonus := warlock.RegisterAura(core.Aura{ Label: "Shadowflame Hellfire", Duration: time.Second * 15, ActionID: core.ActionID{SpellID: 39437}, }) warlock.RegisterAura(core.Aura{ Label: "Voidheart Raiment 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("cycl4p") > 0.05 { return } if spell.SpellSchool.Matches(core.SpellSchoolShadow) { shadowBonus.Activate(sim) } if spell.SpellSchool.Matches(core.SpellSchoolFire) { fireBonus.Activate(sim) } }, }) }, 4: func(agent core.Agent) { }, }, })
View Source
var TalentTreeSizes = [3]int{28, 27, 26}
Functions ¶
func RegisterWarlock ¶
func RegisterWarlock()
Types ¶
type CastReadyness ¶
type CastReadyness func(*core.Simulation) time.Duration
type InfernalPet ¶
func (*InfernalPet) GetPet ¶
func (infernal *InfernalPet) GetPet() *core.Pet
func (*InfernalPet) Initialize ¶
func (infernal *InfernalPet) Initialize()
func (*InfernalPet) OnGCDReady ¶
func (infernal *InfernalPet) OnGCDReady(sim *core.Simulation)
func (*InfernalPet) Reset ¶
func (infernal *InfernalPet) Reset(sim *core.Simulation)
type PetAbilityType ¶
type PetAbilityType byte
const ( Unknown PetAbilityType = iota Cleave Intercept LashOfPain ShadowBite Firebolt )
type ProcTracker ¶
type ProcTracker struct {
// contains filtered or unexported fields
}
type SpellRotation ¶
type SpellRotation struct { Spell *core.Spell CastIn CastReadyness Priority int }
type Warlock ¶
type Warlock struct { core.Character Talents *proto.WarlockTalents Options *proto.Warlock_Options Rotation *proto.Warlock_Rotation Pet *WarlockPet ShadowBolt *core.Spell Incinerate *core.Spell Immolate *core.Spell UnstableAffliction *core.Spell Corruption *core.Spell Haunt *core.Spell LifeTap *core.Spell DarkPact *core.Spell ChaosBolt *core.Spell SoulFire *core.Spell Conflagrate *core.Spell DrainSoul *core.Spell Shadowburn *core.Spell CurseOfElements *core.Spell CurseOfElementsAuras core.AuraArray CurseOfWeakness *core.Spell CurseOfWeaknessAuras core.AuraArray CurseOfTongues *core.Spell CurseOfTonguesAuras core.AuraArray CurseOfAgony *core.Spell CurseOfDoom *core.Spell Seed *core.Spell SeedDamageTracker []float64 NightfallProcAura *core.Aura EradicationAura *core.Aura DemonicEmpowerment *core.Spell DemonicEmpowermentAura *core.Aura DemonicPactAura *core.Aura DemonicSoulAura *core.Aura Metamorphosis *core.Spell MetamorphosisAura *core.Aura ImmolationAura *core.Spell HauntDebuffAuras core.AuraArray MoltenCoreAura *core.Aura DecimationAura *core.Aura PyroclasmAura *core.Aura BackdraftAura *core.Aura EmpoweredImpAura *core.Aura GlyphOfLifeTapAura *core.Aura SpiritsoftheDamnedAura *core.Aura Infernal *InfernalPet Inferno *core.Spell // Rotation related memory CorruptionRolloverPower float64 DrainSoulRolloverPower float64 // The sum total of demonic pact spell power * seconds. DPSPAggregate float64 PreviousTime time.Duration SpellsRotation []SpellRotation CritDebuffCategory *core.ExclusiveCategory // contains filtered or unexported fields }
func (*Warlock) AddRaidBuffs ¶
func (*Warlock) ApplyTalents ¶
func (warlock *Warlock) ApplyTalents()
func (*Warlock) DSCooldownSync ¶
func (*Warlock) DSProcCheck ¶
func (*Warlock) GetCharacter ¶
func (*Warlock) GetWarlock ¶
func (*Warlock) GrandFirestoneBonus ¶
func (*Warlock) GrandSpellstoneBonus ¶
func (*Warlock) HasMajorGlyph ¶
func (warlock *Warlock) HasMajorGlyph(glyph proto.WarlockMajorGlyph) bool
func (*Warlock) HasMinorGlyph ¶
func (warlock *Warlock) HasMinorGlyph(glyph proto.WarlockMinorGlyph) bool
func (*Warlock) Initialize ¶
func (warlock *Warlock) Initialize()
func (*Warlock) LifeTapOrDarkPact ¶
func (warlock *Warlock) LifeTapOrDarkPact(sim *core.Simulation)
Regen Spells: Casts the regen spell that will give you the most mana, includes a error whenever we cast pact on full mana.
func (*Warlock) NewInfernal ¶
func (warlock *Warlock) NewInfernal() *InfernalPet
func (*Warlock) NewWarlockPet ¶
func (warlock *Warlock) NewWarlockPet() *WarlockPet
func (*Warlock) OnGCDReady ¶
func (warlock *Warlock) OnGCDReady(sim *core.Simulation)
This function is an intermediary, it is used when sim has a GCD ready, not much to see here.
func (*Warlock) Reset ¶
func (warlock *Warlock) Reset(sim *core.Simulation)
func (*Warlock) ShadowEmbraceDebuffAura ¶
func (*Warlock) ShouldCastCurseOfElements ¶
func (warlock *Warlock) ShouldCastCurseOfElements(sim *core.Simulation, target *core.Unit, curse proto.Warlock_Rotation_Curse) bool
type WarlockAgent ¶
type WarlockAgent interface {
GetWarlock() *Warlock
}
Agent is a generic way to access underlying warlock on any of the agents.
type WarlockPet ¶
type WarlockPet struct { core.Pet DemonicEmpowermentAura *core.Aura // contains filtered or unexported fields }
func (*WarlockPet) GetPet ¶
func (wp *WarlockPet) GetPet() *core.Pet
func (*WarlockPet) Initialize ¶
func (wp *WarlockPet) Initialize()
func (*WarlockPet) NewPetAbility ¶
func (wp *WarlockPet) NewPetAbility(abilityType PetAbilityType, isPrimary bool) *core.Spell
func (*WarlockPet) OnGCDReady ¶
func (wp *WarlockPet) OnGCDReady(sim *core.Simulation)
func (*WarlockPet) Reset ¶
func (wp *WarlockPet) Reset(sim *core.Simulation)
func (*WarlockPet) TryCast ¶
func (wp *WarlockPet) TryCast(sim *core.Simulation, target *core.Unit, spell *core.Spell) bool
TODO: this seems pointless Returns whether the ability was successfully cast.
Source Files ¶
- DSprocsHelper.go
- chaos_bolt.go
- conflagrate.go
- corruption.go
- curses.go
- darkpact.go
- demonic_empowerment.go
- drain_soul.go
- haunt.go
- immolate.go
- incinerate.go
- inferno.go
- items.go
- lifetap.go
- metamorphosis.go
- pet.go
- pet_abilities.go
- rotations.go
- seed.go
- shadowbolt.go
- shadowburn.go
- soul_fire.go
- talents.go
- unstable_affliction.go
- warlock.go
Click to show internal directories.
Click to hide internal directories.