Documentation ¶
Index ¶
- Constants
- Variables
- type APLValueWarlockCurrentPetMana
- type APLValueWarlockCurrentPetManaPercent
- type APLValueWarlockShouldRecastDrainSoul
- type APLValueWarlockShouldRefreshCorruption
- type Warlock
- func (warlock *Warlock) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (warlock *Warlock) ApplyRunes()
- func (warlock *Warlock) ApplyTalents()
- func (warlock *Warlock) EverlastingAfflictionRefresh(sim *core.Simulation, target *core.Unit)
- func (warlock *Warlock) GetCharacter() *core.Character
- func (warlock *Warlock) GetWarlock() *Warlock
- func (warlock *Warlock) HasRune(rune proto.WarlockRune) bool
- func (warlock *Warlock) Initialize()
- func (warlock *Warlock) InvocationRefresh(sim *core.Simulation, dot *core.Dot)
- func (warlock *Warlock) NewAPLValue(rot *core.APLRotation, config *proto.APLValue) core.APLValue
- func (warlock *Warlock) NewWarlockPet() *WarlockPet
- func (warlock *Warlock) OnGCDReady(_ *core.Simulation)
- func (warlock *Warlock) Reset(sim *core.Simulation)
- type WarlockAgent
- type WarlockPet
Constants ¶
View Source
const ( SpellCode_WarlockNone int32 = iota SpellCode_WarlockShadowCleave SpellCode_Corruption SpellCode_DrainLife )
View Source
const SpellFlagHaunt = core.SpellFlagAgentReserved1
View Source
const SpellFlagLoF = core.SpellFlagAgentReserved2 // Spell is affected by Lake of Fire debuff
Variables ¶
View Source
var ItemSetNightmareProphetsGarb = core.NewItemSet(core.ItemSet{ Name: "Nightmare Prophet's Garb", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeHit, 1) c.AddStat(stats.SpellHit, 1) }, 3: func(agent core.Agent) { warlock := agent.(WarlockAgent).GetWarlock() warlock.shadowSparkAura = warlock.GetOrRegisterAura(core.Aura{ Label: "Shadow Spark Proc", ActionID: core.ActionID{SpellID: 450013}, Duration: time.Second * 12, MaxStacks: 2, }) core.MakePermanent(warlock.GetOrRegisterAura(core.Aura{ Label: "Shadow Spark", OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { if spell.SpellCode == SpellCode_WarlockShadowCleave && result.Landed() { warlock.shadowSparkAura.Activate(sim) warlock.shadowSparkAura.AddStack(sim) } }, })) }, }, })
View Source
var TalentTreeSizes = [3]int{17, 17, 16}
Functions ¶
This section is empty.
Types ¶
type APLValueWarlockCurrentPetMana ¶ added in v0.0.6
type APLValueWarlockCurrentPetMana struct { core.DefaultAPLValueImpl // contains filtered or unexported fields }
func (*APLValueWarlockCurrentPetMana) GetFloat ¶ added in v0.0.6
func (value *APLValueWarlockCurrentPetMana) GetFloat(sim *core.Simulation) float64
func (*APLValueWarlockCurrentPetMana) String ¶ added in v0.0.6
func (value *APLValueWarlockCurrentPetMana) String() string
func (*APLValueWarlockCurrentPetMana) Type ¶ added in v0.0.6
func (value *APLValueWarlockCurrentPetMana) Type() proto.APLValueType
type APLValueWarlockCurrentPetManaPercent ¶ added in v0.0.6
type APLValueWarlockCurrentPetManaPercent struct { core.DefaultAPLValueImpl // contains filtered or unexported fields }
func (*APLValueWarlockCurrentPetManaPercent) GetFloat ¶ added in v0.0.6
func (value *APLValueWarlockCurrentPetManaPercent) GetFloat(sim *core.Simulation) float64
func (*APLValueWarlockCurrentPetManaPercent) String ¶ added in v0.0.6
func (value *APLValueWarlockCurrentPetManaPercent) String() string
func (*APLValueWarlockCurrentPetManaPercent) Type ¶ added in v0.0.6
func (value *APLValueWarlockCurrentPetManaPercent) Type() proto.APLValueType
type APLValueWarlockShouldRecastDrainSoul ¶
type APLValueWarlockShouldRecastDrainSoul struct { core.DefaultAPLValueImpl // contains filtered or unexported fields }
func (*APLValueWarlockShouldRecastDrainSoul) GetBool ¶
func (value *APLValueWarlockShouldRecastDrainSoul) GetBool(sim *core.Simulation) bool
func (*APLValueWarlockShouldRecastDrainSoul) String ¶
func (value *APLValueWarlockShouldRecastDrainSoul) String() string
func (*APLValueWarlockShouldRecastDrainSoul) Type ¶
func (value *APLValueWarlockShouldRecastDrainSoul) Type() proto.APLValueType
type APLValueWarlockShouldRefreshCorruption ¶
type APLValueWarlockShouldRefreshCorruption struct { core.DefaultAPLValueImpl // contains filtered or unexported fields }
func (*APLValueWarlockShouldRefreshCorruption) GetBool ¶
func (value *APLValueWarlockShouldRefreshCorruption) GetBool(sim *core.Simulation) bool
func (*APLValueWarlockShouldRefreshCorruption) String ¶
func (value *APLValueWarlockShouldRefreshCorruption) String() string
func (*APLValueWarlockShouldRefreshCorruption) Type ¶
func (value *APLValueWarlockShouldRefreshCorruption) Type() proto.APLValueType
type Warlock ¶
type Warlock struct { core.Character Talents *proto.WarlockTalents Options *proto.WarlockOptions Pet *WarlockPet ChaosBolt *core.Spell Conflagrate *core.Spell Corruption []*core.Spell DarkPact *core.Spell DrainSoul *core.Spell Haunt *core.Spell Immolate []*core.Spell Incinerate *core.Spell LifeTap *core.Spell SearingPain *core.Spell ShadowBolt *core.Spell ShadowCleave []*core.Spell Shadowburn *core.Spell SoulFire *core.Spell DemonicGrace *core.Spell DrainLife *core.Spell RainOfFire *core.Spell SiphonLife *core.Spell DeathCoil *core.Spell UnstableAffliction *core.Spell CurseOfElements *core.Spell CurseOfElementsAuras core.AuraArray CurseOfShadow *core.Spell CurseOfShadowAuras core.AuraArray CurseOfRecklessness *core.Spell CurseOfRecklessnessAuras core.AuraArray CurseOfWeakness *core.Spell CurseOfWeaknessAuras core.AuraArray CurseOfTongues *core.Spell CurseOfTonguesAuras core.AuraArray CurseOfAgony *core.Spell CurseOfDoom *core.Spell AmplifyCurse *core.Spell Shadowflame *core.Spell ShadowflameDot *core.Spell DemonicKnowledgeAura *core.Aura HauntDebuffAuras core.AuraArray ImmolationAura *core.Spell IncinerateAura *core.Aura Metamorphosis *core.Spell MetamorphosisAura *core.Aura NightfallProcAura *core.Aura PyroclasmAura *core.Aura DemonicGraceAura *core.Aura AmplifyCurseAura *core.Aura ImprovedShadowBoltAuras core.AuraArray LakeOfFireAuras core.AuraArray // The sum total of demonic pact spell power * seconds. DPSPAggregate float64 PreviousTime time.Duration // contains filtered or unexported fields }
func NewWarlock ¶
func (*Warlock) AddRaidBuffs ¶
func (*Warlock) ApplyRunes ¶
func (warlock *Warlock) ApplyRunes()
func (*Warlock) ApplyTalents ¶
func (warlock *Warlock) ApplyTalents()
func (*Warlock) EverlastingAfflictionRefresh ¶
func (warlock *Warlock) EverlastingAfflictionRefresh(sim *core.Simulation, target *core.Unit)
func (*Warlock) GetCharacter ¶
func (*Warlock) GetWarlock ¶
func (*Warlock) Initialize ¶
func (warlock *Warlock) Initialize()
func (*Warlock) InvocationRefresh ¶
func (warlock *Warlock) InvocationRefresh(sim *core.Simulation, dot *core.Dot)
func (*Warlock) NewAPLValue ¶
func (*Warlock) NewWarlockPet ¶
func (warlock *Warlock) NewWarlockPet() *WarlockPet
TODO: Classic warlock pet stats
func (*Warlock) OnGCDReady ¶
func (warlock *Warlock) OnGCDReady(_ *core.Simulation)
func (*Warlock) Reset ¶
func (warlock *Warlock) Reset(sim *core.Simulation)
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) ExecuteCustomRotation ¶
func (wp *WarlockPet) ExecuteCustomRotation(sim *core.Simulation)
func (*WarlockPet) GetPet ¶
func (wp *WarlockPet) GetPet() *core.Pet
func (*WarlockPet) Initialize ¶
func (wp *WarlockPet) Initialize()
TODO: Classic warlock pet abilities
func (*WarlockPet) Reset ¶
func (wp *WarlockPet) Reset(_ *core.Simulation)
Source Files ¶
- apl_values.go
- chaos_bolt.go
- conflagrate.go
- corruption.go
- curses.go
- dark_pact.go
- death_coil.go
- demonic_grace.go
- drain_life.go
- haunt.go
- immolate.go
- immolation_aura.go
- incinerate.go
- item_sets.go
- items.go
- lifetap.go
- metamorphosis.go
- pet.go
- pet_abilities.go
- rain_of_fire.go
- runes.go
- searing_pain.go
- shadow_cleave.go
- shadowbolt.go
- shadowburn.go
- shadowflame.go
- siphon_life.go
- soul_fire.go
- talents.go
- unstable_affliction.go
- warlock.go
Click to show internal directories.
Click to hide internal directories.