enhancement

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2022 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LightningBolt = iota
	StormstrikeApplyDebuff
	WeaveLavaBurst
	WeaveLightningBolt
	MagmaTotem
	Stormstrike
	FlameShock
	EarthShock
	FrostShock
	FireNova
	LightningShield
	DropAllTotems
	LavaLash
	NumberSpells // Used to get the max number of spells in the prio list, keep at bottoom
)

Default Priority Order

Variables

View Source
var BasicIndividualBuffs = &proto.IndividualBuffs{}
View Source
var BasicPartyBuffs = &proto.PartyBuffs{}
View Source
var BasicRaidBuffs = &proto.RaidBuffs{}
View Source
var FullConsumes = &proto.Consumes{
	DefaultConjured: proto.Conjured_ConjuredFlameCap,
}
View Source
var Phase1Gear = items.EquipmentSpecFromJsonString(`{"items": [
	{
		"id": 40543,
		"enchant": 3817,
		"gems": [
			41398,
			40014
		]
	},
	{
		"id": 44661,
		"gems": [
			40014
		]
	},
	{
		"id": 40524,
		"enchant": 3808,
		"gems": [
			40014
		]
	},
	{
		"id": 40403,
		"enchant": 3605
	},
	{
		"id": 40523,
		"enchant": 3832,
		"gems": [
			40003,
			40014
		]
	},
	{
		"id": 40282,
		"enchant": 3845,
		"gems": [
			42702,
			0
		]
	},
	{
		"id": 40520,
		"enchant": 3604,
		"gems": [
			42154,
			0
		]
	},
	{
		"id": 40275,
		"gems": [
			42156
		]
	},
	{
		"id": 40522,
		"enchant": 3823,
		"gems": [
			39999,
			42156
		]
	},
	{
		"id": 40367,
		"enchant": 3606,
		"gems": [
			40058
		]
	},
	{
		"id": 40474
	},
	{
		"id": 40074
	},
	{
		"id": 40684
	},
	{
		"id": 37390
	},
	{
		"id": 39763,
		"enchant": 3789
	},
	{
		"id": 39468,
		"enchant": 3789
	},
	{
		"id": 40322
	}
]}`)
View Source
var PlayerOptionsBasic = &proto.Player_EnhancementShaman{
	EnhancementShaman: &proto.EnhancementShaman{
		Talents:  StandardTalents,
		Options:  enhShamOptions,
		Rotation: enhShamRotation,
	},
}
View Source
var PlayerOptionsFireElemental = &proto.Player_EnhancementShaman{
	EnhancementShaman: &proto.EnhancementShaman{
		Talents:  StandardTalents,
		Options:  enhShamOptions,
		Rotation: enhShamRotationFireElemental,
	},
}
View Source
var StandardTalents = &proto.ShamanTalents{
	Concussion:           5,
	CallOfFlame:          3,
	ElementalDevastation: 3,
	ElementalFocus:       true,
	ElementalFury:        5,
	ImprovedFireNova:     2,

	EnhancingTotems:         3,
	AncestralKnowledge:      4,
	ThunderingStrikes:       5,
	ElementalWeapons:        3,
	ShamanisticFocus:        true,
	Flurry:                  5,
	ImprovedWindfuryTotem:   2,
	SpiritWeapons:           true,
	MentalDexterity:         3,
	UnleashedRage:           3,
	WeaponMastery:           3,
	DualWieldSpecialization: 3,
	DualWield:               true,
	Stormstrike:             true,
	StaticShock:             3,
	LavaLash:                true,
	MentalQuickness:         3,
	ShamanisticRage:         true,
	MaelstromWeapon:         5,
	FeralSpirit:             true,
}

Functions

func RegisterEnhancementShaman

func RegisterEnhancementShaman()

Types

type AgentAction

type AgentAction interface {
	GetActionID() core.ActionID

	GetManaCost() float64

	Cast(sim *core.Simulation) bool
}
CUSTOM ROTATION (advanced) (also WIP).

TODO: figure out how to do this (probably too complicated to copy hunters)

type Cast

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

type Condition

type Condition func(sim *core.Simulation, target *core.Unit) bool

type EnhancementShaman

type EnhancementShaman struct {
	*shaman.Shaman
	// contains filtered or unexported fields
}

func NewEnhancementShaman

func NewEnhancementShaman(character core.Character, options *proto.Player) *EnhancementShaman

func (*EnhancementShaman) CastLavaBurstWeave

func (enh *EnhancementShaman) CastLavaBurstWeave(sim *core.Simulation, reactionTime time.Duration) bool

func (*EnhancementShaman) CastLightningBoltWeave

func (enh *EnhancementShaman) CastLightningBoltWeave(sim *core.Simulation, reactionTime time.Duration) bool

func (*EnhancementShaman) GetShaman

func (enh *EnhancementShaman) GetShaman() *shaman.Shaman

func (*EnhancementShaman) Initialize

func (enh *EnhancementShaman) Initialize()

func (*EnhancementShaman) OnAutoAttack

func (enh *EnhancementShaman) OnAutoAttack(sim *core.Simulation, spell *core.Spell)

func (*EnhancementShaman) OnGCDReady

func (enh *EnhancementShaman) OnGCDReady(sim *core.Simulation)

func (*EnhancementShaman) Reset

func (enh *EnhancementShaman) Reset(sim *core.Simulation)

type PriorityRotation

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

func (*PriorityRotation) DoAction

func (rotation *PriorityRotation) DoAction(enh *EnhancementShaman, sim *core.Simulation)

func (*PriorityRotation) Reset

func (rotation *PriorityRotation) Reset(enh *EnhancementShaman, sim *core.Simulation)

type ReadyAt

type ReadyAt func() time.Duration

type Rotation

type Rotation interface {
	DoAction(*EnhancementShaman, *core.Simulation)
	Reset(*EnhancementShaman, *core.Simulation)
}

type Spell

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

Holds all the spell info we need to make decisions

Jump to

Keyboard shortcuts

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