enhancement

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: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LightningBolt = iota
	StormstrikeApplyDebuff
	WeaveLavaBurst
	WeaveLightningBolt
	Stormstrike
	FlameShock
	EarthShock
	FrostShock
	LightningShield
	FireNova
	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": 44879,
          "gems": [
            41398,
            40014
          ]
        },
        {
          "id": 44661,
          "gems": [
            40014
          ]
        },
        {
          "id": 40524,
          "enchant": 44871,
          "gems": [
            40014
          ]
        },
        {
          "id": 40403,
          "enchant": 55002
        },
        {
          "id": 40523,
		  "enchant": 44489,
          "gems": [
            40003,
            40014
          ]
        },
        {
          "id": 40282,
          "enchant": 44484,
          "gems": [
            42702,
            0
          ]
        },
        {
          "id": 40520,
          "enchant": 54999,
          "gems": [
            42154,
            0
          ]
        },
        {
          "id": 40275,
          "gems": [
            42156
          ]
        },
        {
          "id": 40522,
          "enchant": 38374,
          "gems": [
            39999,
            42156
          ]
        },
        {
          "id": 40367,
          "enchant": 55016,
          "gems": [
            40058
          ]
        },
        {
          "id": 40474
        },
        {
          "id": 40074
        },
        {
          "id": 40684
        },
        {
          "id": 37390
        },
        {
          "id": 39763,
          "enchant": 44492
        },
        {
          "id": 39468,
          "enchant": 44492
        },
        {
          "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