deathknight

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

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.

View Source
const PetExpertiseScale = 3.25

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 FrostStrikeActionID = core.ActionID{SpellID: 55268}
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 PlagueStrikeActionID = core.ActionID{SpellID: 49921}
View Source
var ScourgeStrikeActionID = core.ActionID{SpellID: 55271}

Functions

func CreateGladiatorsSigil

func CreateGladiatorsSigil(id int32, name string, ap float64, seconds time.Duration)

func PointsInTalents

func PointsInTalents(talents *proto.DeathknightTalents) (int, int, int)

Types

type BloodwormPet

type BloodwormPet struct {
	core.Pet
	// contains filtered or unexported fields
}

func (*BloodwormPet) GetPet

func (bloodworm *BloodwormPet) GetPet() *core.Pet

func (*BloodwormPet) Initialize

func (bloodworm *BloodwormPet) Initialize()

func (*BloodwormPet) OnGCDReady

func (bloodworm *BloodwormPet) OnGCDReady(sim *core.Simulation)

func (*BloodwormPet) Reset

func (bloodworm *BloodwormPet) Reset(sim *core.Simulation)

type DeathKnightAgent

type DeathKnightAgent interface {
	GetDeathKnight() *Deathknight
}

type Deathknight

type Deathknight struct {
	core.Character
	Talents *proto.DeathknightTalents

	Inputs DeathknightInputs

	RotationHelper

	Ghoul     *GhoulPet
	RaiseDead *RuneSpell

	Gargoyle       *GargoylePet
	SummonGargoyle *RuneSpell

	RuneWeapon        *RuneWeaponPet
	DancingRuneWeapon *RuneSpell

	ArmyOfTheDead *RuneSpell
	ArmyGhoul     []*GhoulPet

	Bloodworm []*BloodwormPet

	Presence Presence

	IcyTouch   *RuneSpell
	BloodBoil  *RuneSpell
	Pestilence *RuneSpell

	PlagueStrike      *RuneSpell
	PlagueStrikeMhHit *RuneSpell
	PlagueStrikeOhHit *RuneSpell

	DeathStrike      *RuneSpell
	DeathStrikeMhHit *RuneSpell
	DeathStrikeOhHit *RuneSpell
	DeathStrikeHeals []float64

	Obliterate      *RuneSpell
	ObliterateMhHit *RuneSpell
	ObliterateOhHit *RuneSpell

	BloodStrike      *RuneSpell
	BloodStrikeMhHit *RuneSpell
	BloodStrikeOhHit *RuneSpell

	FrostStrike      *RuneSpell
	FrostStrikeMhHit *RuneSpell
	FrostStrikeOhHit *RuneSpell

	HeartStrike       *RuneSpell
	HeartStrikeOffHit *RuneSpell

	RuneStrike     *RuneSpell
	RuneStrikeAura *core.Aura

	GhoulFrenzy *RuneSpell
	// Dummy aura for timeline metrics
	GhoulFrenzyAura *core.Aura

	LastScourgeStrikeDamage float64
	ScourgeStrike           *RuneSpell

	DeathCoil *RuneSpell

	DeathAndDecay    *RuneSpell
	DeathAndDecayDot *core.Dot

	HowlingBlast *RuneSpell

	OtherRelevantStrAgiActive bool
	HornOfWinter              *RuneSpell
	HornOfWinterAura          *core.Aura

	// "CDs"
	RuneTap     *RuneSpell
	MarkOfBlood *RuneSpell

	BloodTap     *RuneSpell
	BloodTapAura *core.Aura

	AntiMagicShell     *RuneSpell
	AntiMagicShellAura *core.Aura

	EmpowerRuneWeapon *RuneSpell

	UnbreakableArmor     *RuneSpell
	UnbreakableArmorAura *core.Aura

	VampiricBlood     *RuneSpell
	VampiricBloodAura *core.Aura

	BoneShield     *RuneSpell
	BoneShieldAura *core.Aura

	IceboundFortitude     *RuneSpell
	IceboundFortitudeAura *core.Aura

	DeathPact *RuneSpell

	// Diseases
	FrostFeverSpell     *RuneSpell
	BloodPlagueSpell    *RuneSpell
	FrostFeverDisease   []*core.Dot
	BloodPlagueDisease  []*core.Dot
	FrostFeverExtended  []int
	BloodPlagueExtended []int

	UnholyBlightSpell      *core.Spell
	UnholyBlightDot        []*core.Dot
	UnholyBlightTickDamage []float64

	// Talent Auras
	KillingMachineAura  *core.Aura
	IcyTalonsAura       *core.Aura
	DesolationAura      *core.Aura
	NecrosisAura        *core.Aura
	BloodCakedBladeAura *core.Aura
	ButcheryAura        *core.Aura
	ButcheryPA          *core.PendingAction
	RimeAura            *core.Aura
	BladeBarrierAura    *core.Aura
	SuddenDoomAura      *core.Aura
	ScentOfBloodAura    *core.Aura
	WillOfTheNecropolis *core.Aura

	// Talent Spells
	LastDiseaseDamage float64
	LastTickTime      time.Duration
	WanderingPlague   *core.Spell

	Deathchill     *RuneSpell
	DeathchillAura *core.Aura

	// Presences
	BloodPresence      *RuneSpell
	BloodPresenceAura  *core.Aura
	FrostPresence      *RuneSpell
	FrostPresenceAura  *core.Aura
	UnholyPresence     *RuneSpell
	UnholyPresenceAura *core.Aura

	// Debuffs
	FrostFeverDebuffAura []*core.Aura
	CryptFeverAura       []*core.Aura
	EbonPlagueAura       []*core.Aura

	RoRTSBonus func(*core.Unit) float64 // is either RoR or TS bonus function based on talents
	// contains filtered or unexported fields
}

func NewDeathknight

func NewDeathknight(character core.Character, talents *proto.DeathknightTalents, inputs DeathknightInputs) *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) GetCharacter

func (dk *Deathknight) GetCharacter() *core.Character

func (*Deathknight) GetDeathKnight

func (dk *Deathknight) GetDeathKnight() *Deathknight

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) KM

func (dk *Deathknight) KM() bool

func (*Deathknight) ModifyDamageModifier added in v0.1.1

func (dk *Deathknight) ModifyDamageModifier(value float64)

func (*Deathknight) NewArmyGhoulPet

func (dk *Deathknight) NewArmyGhoulPet(index int) *GhoulPet

func (*Deathknight) NewBloodwormPet

func (dk *Deathknight) NewBloodwormPet(index 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) NextMHSwingAt

func (dk *Deathknight) NextMHSwingAt(sim *core.Simulation) time.Duration

func (*Deathknight) NextSwingAt

func (dk *Deathknight) NextSwingAt(sim *core.Simulation) time.Duration

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) PrecastArmyOfTheDead

func (dk *Deathknight) PrecastArmyOfTheDead(sim *core.Simulation)

func (*Deathknight) PresenceMatches

func (dk *Deathknight) PresenceMatches(other Presence) bool

func (*Deathknight) RegisterSpell

func (dk *Deathknight) RegisterSpell(rs *RuneSpell, spellConfig core.SpellConfig, canCast func(sim *core.Simulation) bool, onCast func(sim *core.Simulation)) *RuneSpell

RegisterSpell will connect the underlying spell to the given RuneSpell.

If no RuneSpell is provided, it will be constructed here.

func (*Deathknight) Reset

func (dk *Deathknight) Reset(sim *core.Simulation)

func (*Deathknight) ResetBonusCoeffs

func (dk *Deathknight) ResetBonusCoeffs()

func (*Deathknight) Rime

func (dk *Deathknight) Rime() bool

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_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_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) 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

	UnholyFrenzyTarget *proto.RaidTarget

	StartingRunicPower  float64
	PrecastGhoulFrenzy  bool
	PrecastHornOfWinter bool
	PetUptime           float64

	// Rotation Vars
	RefreshHornOfWinter bool
	ArmyOfTheDeadType   proto.Deathknight_Rotation_ArmyOfTheDead
	StartingPresence    proto.Deathknight_Rotation_Presence
	UseAMS              bool
	AvgAMSSuccessRate   float64
	AvgAMSHit           float64
	FuStrike            Rotation_FuStrike
}

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(sim *core.Simulation)

func (*GargoylePet) Reset

func (garg *GargoylePet) Reset(sim *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) GetPet

func (ghoulPet *GhoulPet) GetPet() *core.Pet

func (*GhoulPet) Initialize

func (ghoulPet *GhoulPet) Initialize()

func (*GhoulPet) IsPetGhoul

func (ghoulPet *GhoulPet) IsPetGhoul() bool

func (*GhoulPet) NewPetAbility

func (ghoulPet *GhoulPet) NewPetAbility(abilityType PetAbilityType) PetAbility

func (*GhoulPet) OnGCDReady

func (ghoulPet *GhoulPet) OnGCDReady(sim *core.Simulation)

func (*GhoulPet) OwnerAttackSpeedChanged

func (ghoulPet *GhoulPet) OwnerAttackSpeedChanged(sim *core.Simulation)

func (*GhoulPet) Reset

func (ghoulPet *GhoulPet) Reset(sim *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 PetAbilityType

type PetAbilityType int
const (
	Unknown PetAbilityType = iota
	Claw
)

type Presence

type Presence uint8
const (
	BloodPresence Presence = 1 << iota
	FrostPresence
	UnholyPresence
	UnsetPresence
)

type RotationAction

type RotationAction func(sim *core.Simulation, target *core.Unit, s *Sequence) time.Duration

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 RotationHelper struct {
	RotationSequence *Sequence

	LastOutcome core.HitOutcome
	LastCast    *RuneSpell
	NextCast    *RuneSpell
}

type Rotation_FuStrike

type Rotation_FuStrike int32
const (
	FuStrike_DeathStrike   Rotation_FuStrike = 0
	FuStrike_ScourgeStrike Rotation_FuStrike = 1
	FuStrike_Obliterate    Rotation_FuStrike = 2
)

type RuneSpell

type RuneSpell struct {
	*core.Spell
	Refundable         bool
	DeathConvertChance float64
	ConvertType        RuneType

	CanCast RuneSpellCanCast
	// contains filtered or unexported fields
}

func (*RuneSpell) Cast

func (rs *RuneSpell) Cast(sim *core.Simulation, target *core.Unit) bool

func (*RuneSpell) DoCost

func (rs *RuneSpell) DoCost(sim *core.Simulation)

func (*RuneSpell) OnResult added in v0.1.1

func (rs *RuneSpell) OnResult(sim *core.Simulation, result *core.SpellResult)

type RuneSpellCanCast

type RuneSpellCanCast func(sim *core.Simulation) bool

type RuneSpellOnCast

type RuneSpellOnCast func(sim *core.Simulation)

type RuneType

type RuneType int8
const (
	RuneTypeNone RuneType = 1 << iota
	RuneTypeBlood
	RuneTypeFrost
	RuneTypeUnholy
)

type RuneWeaponPet

type RuneWeaponPet struct {
	core.Pet

	IcyTouch     *core.Spell
	PlagueStrike *core.Spell

	DeathStrike *core.Spell
	DeathCoil   *core.Spell

	HeartStrike       *core.Spell
	HeartStrikeOffHit *core.Spell

	// Diseases
	FrostFeverSpell    *core.Spell
	BloodPlagueSpell   *core.Spell
	FrostFeverDisease  []*core.Dot
	BloodPlagueDisease []*core.Dot
	// 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(sim *core.Simulation)

func (*RuneWeaponPet) Reset

func (runeWeapon *RuneWeaponPet) Reset(sim *core.Simulation)

type Sequence

type Sequence struct {
	// contains filtered or unexported fields
}

func (*Sequence) Advance

func (s *Sequence) Advance()

func (*Sequence) Clear

func (s *Sequence) Clear() *Sequence

func (*Sequence) ConditionalAdvance

func (s *Sequence) ConditionalAdvance(condition bool)

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) IsOngoing

func (s *Sequence) IsOngoing() bool

func (*Sequence) NewAction

func (s *Sequence) NewAction(action RotationAction) *Sequence

func (*Sequence) RemainingActions

func (s *Sequence) RemainingActions() int

func (*Sequence) Reset

func (s *Sequence) Reset()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL