dps

package
v0.1.8 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2022 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var FrostP1Gear = core.EquipmentSpecFromJsonString(`{ "items": [
	{
		"id": 44006,
		"enchant": 3817,
		"gems": [
			41398,
			42702
		]
	},
	{
		"id": 44664,
		"gems": [
			39996
		]
	},
	{
		"id": 40557,
		"enchant": 3808,
		"gems": [
			39996
		]
	},
	{
		"id": 40403,
		"enchant": 3831
	},
	{
		"id": 40550,
		"enchant": 3832,
		"gems": [
			42142,
			39996
		]
	},
	{
		"id": 40330,
		"enchant": 3845,
		"gems": [
			39996,
			0
		]
	},
	{
		"id": 40552,
		"enchant": 3604,
		"gems": [
			39996,
			0
		]
	},
	{
		"id": 40278,
		"gems": [
			39996,
			42142
		]
	},
	{
		"id": 40556,
		"enchant": 3823,
		"gems": [
			42142,
			39996
		]
	},
	{
		"id": 40591,
		"enchant": 3606
	},
	{
		"id": 39401
	},
	{
		"id": 40075
	},
	{
		"id": 40256
	},
	{
		"id": 42987
	},
	{
		"id": 40189,
		"enchant": 3370
	},
	{
		"id": 40189,
		"enchant": 3368
	},
	{
		"id": 40207
	}
]}`)
View Source
var FrostTalents = &proto.DeathknightTalents{
	Butchery:       2,
	Subversion:     3,
	BladedArmor:    5,
	DarkConviction: 5,

	ImprovedIcyTouch:   3,
	RunicPowerMastery:  2,
	BlackIce:           5,
	NervesOfColdSteel:  3,
	IcyTalons:          5,
	Annihilation:       3,
	KillingMachine:     5,
	ChillOfTheGrave:    2,
	EndlessWinter:      2,
	GlacierRot:         3,
	ImprovedIcyTalons:  true,
	MercilessCombat:    2,
	Rime:               3,
	ThreatOfThassarian: 3,
	BloodOfTheNorth:    3,
	UnbreakableArmor:   true,
	FrostStrike:        true,
	GuileOfGorefiend:   3,
	TundraStalker:      5,
	HowlingBlast:       true,
}
View Source
var PlayerOptionsFrost = &proto.Player_Deathknight{
	Deathknight: &proto.Deathknight{
		Talents:  FrostTalents,
		Options:  deathKnightOptions,
		Rotation: frostRotation,
	},
}
View Source
var PlayerOptionsUnholy = &proto.Player_Deathknight{
	Deathknight: &proto.Deathknight{
		Talents:  UnholyTalents,
		Options:  deathKnightOptions,
		Rotation: unholyRotation,
	},
}
View Source
var UnholyDwP1Gear = core.EquipmentSpecFromJsonString(`{"items": [
	{
		"id": 44006,
		"enchant": 3817,
		"gems": [
			41398,
			42702
		]
	},
	{
		"id": 39421
	},
	{
		"id": 40557,
		"enchant": 3808,
		"gems": [
			39996
		]
	},
	{
		"id": 40403,
		"enchant": 3831
	},
	{
		"id": 40550,
		"enchant": 3832,
		"gems": [
			42142,
			39996
		]
	},
	{
		"id": 40330,
		"enchant": 3845,
		"gems": [
			39996,
			0
		]
	},
	{
		"id": 40347,
		"enchant": 3604,
		"gems": [
			39996,
			0
		]
	},
	{
		"id": 40278,
		"gems": [
			42142,
			42142
		]
	},
	{
		"id": 40294,
		"enchant": 3823
	},
	{
		"id": 39706,
		"enchant": 3606,
		"gems": [
			39996
		]
	},
	{
		"id": 39401
	},
	{
		"id": 40075
	},
	{
		"id": 37390
	},
	{
		"id": 42987
	},
	{
		"id": 40402,
		"enchant": 3368
	},
	{
		"id": 40491,
		"enchant": 3368
	},
	{
		"id": 42620
	}
]}`)
View Source
var UnholyTalents = &proto.DeathknightTalents{
	ImprovedIcyTouch:  3,
	RunicPowerMastery: 2,
	BlackIce:          3,
	NervesOfColdSteel: 3,
	IcyTalons:         5,
	EndlessWinter:     2,

	ViciousStrikes:    2,
	Virulence:         3,
	Morbidity:         3,
	RavenousDead:      3,
	Outbreak:          0,
	Necrosis:          5,
	BloodCakedBlade:   3,
	NightOfTheDead:    2,
	Impurity:          5,
	Dirge:             2,
	MasterOfGhouls:    true,
	Desolation:        5,
	GhoulFrenzy:       true,
	CryptFever:        3,
	BoneShield:        true,
	WanderingPlague:   3,
	EbonPlaguebringer: 3,
	ScourgeStrike:     true,
	RageOfRivendare:   5,
	SummonGargoyle:    true,
}

Functions

func RegisterDpsDeathknight

func RegisterDpsDeathknight()

Types

type DpsDeathknight

type DpsDeathknight struct {
	*deathknight.Deathknight

	CustomRotation *common.CustomRotation

	Rotation *proto.Deathknight_Rotation
	// contains filtered or unexported fields
}

func NewDpsDeathknight

func NewDpsDeathknight(character core.Character, player *proto.Player) *DpsDeathknight

func (*DpsDeathknight) FrostPointsInBlood

func (dk *DpsDeathknight) FrostPointsInBlood() int32

func (*DpsDeathknight) FrostPointsInUnholy

func (dk *DpsDeathknight) FrostPointsInUnholy() int32

func (*DpsDeathknight) GetDeathknight

func (dk *DpsDeathknight) GetDeathknight() *deathknight.Deathknight

func (*DpsDeathknight) Initialize

func (dk *DpsDeathknight) Initialize()

func (*DpsDeathknight) RegularPrioPickSpell

func (dk *DpsDeathknight) RegularPrioPickSpell(sim *core.Simulation, target *core.Unit, untilTime time.Duration) *deathknight.RuneSpell

func (*DpsDeathknight) Reset

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

func (*DpsDeathknight) RotationActionBL_BP_ClipCheck

func (dk *DpsDeathknight) RotationActionBL_BP_ClipCheck(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionBL_DiseaseClipCheck

func (dk *DpsDeathknight) RotationActionBL_DiseaseClipCheck(dot *core.Dot, gracePeriod time.Duration, sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

Check if we have enough rune grace period to delay the disease cast so we get more ticks without losing on rune cd

func (*DpsDeathknight) RotationActionBL_FF_ClipCheck

func (dk *DpsDeathknight) RotationActionBL_FF_ClipCheck(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionBL_IT_Custom

func (dk *DpsDeathknight) RotationActionBL_IT_Custom(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

Custom IT callback for tracking recasts for pestilence disease sync

func (*DpsDeathknight) RotationActionBL_PS_Custom

func (dk *DpsDeathknight) RotationActionBL_PS_Custom(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

Custom PS callback for tracking recasts for pestilence disease sync

func (*DpsDeathknight) RotationActionCallback_BS_Frost

func (dk *DpsDeathknight) RotationActionCallback_BS_Frost(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_BloodRotation

func (dk *DpsDeathknight) RotationActionCallback_BloodRotation(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_EndOfFightCheck added in v0.1.7

func (dk *DpsDeathknight) RotationActionCallback_EndOfFightCheck(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_EndOfFightPrio added in v0.1.7

func (dk *DpsDeathknight) RotationActionCallback_EndOfFightPrio(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FU

func (dk *DpsDeathknight) RotationActionCallback_FU(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_ERW added in v0.1.7

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_ERW(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_FS_Dump added in v0.1.7

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_FS_Dump(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_Obli added in v0.1.7

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_Obli(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_Sequence1 added in v0.1.7

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_Sequence1(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_Sequence2 added in v0.1.7

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_Sequence2(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_UA added in v0.1.7

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_Desync_UA(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_FS_Dump

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_FS_Dump(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_FS_Dump_UntilBR

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_FS_Dump_UntilBR(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_FS_Dump_UntilUA

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_FS_Dump_UntilUA(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_FS_KM

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_FS_KM(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

TODO: Improve this

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_Obli

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_Obli(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_Obli_Check

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_Obli_Check(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_RecoverFromPestiMiss

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_RecoverFromPestiMiss(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_SequenceRotation

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_SequenceRotation(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_Sequence_Pesti

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_Sequence_Pesti(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubBlood_UA_Check

func (dk *DpsDeathknight) RotationActionCallback_FrostSubBlood_UA_Check(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubUnh_EndOfFight_Obli added in v0.1.5

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnh_EndOfFight_Obli(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

end of fight oblit does not check diseases, it just presses it regardless, but will retry if fails to land.

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_Dump_Until_Deaths added in v0.1.7

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_Dump_Until_Deaths(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_FS_Dump

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_FS_Dump(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_FS_KM

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_FS_KM(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

TODO: Improve this

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_Obli

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_Obli(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_RecoverFromPestiMiss

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_RecoverFromPestiMiss(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_Sequence1

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_Sequence1(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_Sequence2

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_Sequence2(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_Sequence_Pesti

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_Sequence_Pesti(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_UA_Check1

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_UA_Check1(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_UA_Check2

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_UA_Check2(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_FrostSubUnholy_UA_Check3

func (dk *DpsDeathknight) RotationActionCallback_FrostSubUnholy_UA_Check3(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_Frost_FS_HB added in v0.1.7

func (dk *DpsDeathknight) RotationActionCallback_Frost_FS_HB(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_LastSecondsCast

func (dk *DpsDeathknight) RotationActionCallback_LastSecondsCast(sim *core.Simulation, target *core.Unit) bool

func (*DpsDeathknight) RotationActionCallback_MindFreezeFiller added in v0.1.5

func (dk *DpsDeathknight) RotationActionCallback_MindFreezeFiller(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_Pesti_Custom

func (dk *DpsDeathknight) RotationActionCallback_Pesti_Custom(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_UA_Frost

func (dk *DpsDeathknight) RotationActionCallback_UA_Frost(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_UnholyDndRotation

func (dk *DpsDeathknight) RotationActionCallback_UnholyDndRotation(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionCallback_UnholySsRotation

func (dk *DpsDeathknight) RotationActionCallback_UnholySsRotation(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionUH_BP_ClipCheck

func (dk *DpsDeathknight) RotationActionUH_BP_ClipCheck(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionUH_DiseaseClipCheck

func (dk *DpsDeathknight) RotationActionUH_DiseaseClipCheck(dot *core.Dot, gracePeriod time.Duration, sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

Check if we have enough rune grace period to delay the disease cast so we get more ticks without losing on rune cd

func (*DpsDeathknight) RotationActionUH_FF_ClipCheck

func (dk *DpsDeathknight) RotationActionUH_FF_ClipCheck(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionUH_IT_Custom

func (dk *DpsDeathknight) RotationActionUH_IT_Custom(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

Custom IT callback for tracking recasts for pestilence disease sync

func (*DpsDeathknight) RotationActionUH_IT_SetSync

func (dk *DpsDeathknight) RotationActionUH_IT_SetSync(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

Custom IT callback for ghoul frenzy frost rune sync

func (*DpsDeathknight) RotationActionUH_PS_Custom

func (dk *DpsDeathknight) RotationActionUH_PS_Custom(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

Custom PS callback for tracking recasts for pestilence disease sync

func (*DpsDeathknight) RotationActionUH_ResetToDndMain

func (dk *DpsDeathknight) RotationActionUH_ResetToDndMain(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationActionUH_ResetToSsMain

func (dk *DpsDeathknight) RotationActionUH_ResetToSsMain(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationAction_BloodRune_Custom

func (dk *DpsDeathknight) RotationAction_BloodRune_Custom(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationAction_CancelBT added in v0.1.6

func (dk *DpsDeathknight) RotationAction_CancelBT(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationAction_DC_Custom

func (dk *DpsDeathknight) RotationAction_DC_Custom(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationAction_Dnd_Custom

func (dk *DpsDeathknight) RotationAction_Dnd_Custom(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationAction_Gargoyle_Custom

func (dk *DpsDeathknight) RotationAction_Gargoyle_Custom(castTime time.Duration, sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationAction_Gargoyle_Custom1

func (dk *DpsDeathknight) RotationAction_Gargoyle_Custom1(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationAction_Gargoyle_Custom2

func (dk *DpsDeathknight) RotationAction_Gargoyle_Custom2(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationAction_ResetToBloodMain

func (dk *DpsDeathknight) RotationAction_ResetToBloodMain(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationAction_UnholyDndRotationEnd

func (dk *DpsDeathknight) RotationAction_UnholyDndRotationEnd(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) RotationAction_UnholyDndRotationGhoulFrenzyCheck

func (dk *DpsDeathknight) RotationAction_UnholyDndRotationGhoulFrenzyCheck(sim *core.Simulation, target *core.Unit, s *deathknight.Sequence) time.Duration

func (*DpsDeathknight) SetupRotations

func (dk *DpsDeathknight) SetupRotations()

type FrostRotation

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

func (*FrostRotation) Initialize

func (fr *FrostRotation) Initialize(dk *DpsDeathknight)

func (*FrostRotation) Reset

func (fr *FrostRotation) Reset(sim *core.Simulation)

type FrostSubBloodUAState

type FrostSubBloodUAState uint8
const (
	FrostSubBloodUAState_Now FrostSubBloodUAState = iota
	FrostSubBloodUAState_Soon
	FrostSubBloodUAState_CD
)

type SharedRotation

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

func (*SharedRotation) Reset

func (sr *SharedRotation) Reset(sim *core.Simulation)

type UnholyRotation

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

func (*UnholyRotation) Reset

func (ur *UnholyRotation) Reset(sim *core.Simulation)

Jump to

Keyboard shortcuts

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