elemental

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NoTotems = &proto.ShamanTotems{}
View Source
var P1Gear = core.EquipmentSpecFromJsonString(`{"items": [
	{
		"id": 40516,
		"enchant": 3820,
		"gems": [
			41285,
			40027
		]
	},
	{
		"id": 44661,
		"gems": [
			39998
		]
	},
	{
		"id": 40286,
		"enchant": 3810
	},
	{
		"id": 44005,
		"enchant": 3722,
		"gems": [
			40027
		]
	},
	{
		"id": 40514,
		"enchant": 3832,
		"gems": [
			42144,
			42144
		]
	},
	{
		"id": 40324,
		"enchant": 2332,
		"gems": [
			42144,
			0
		]
	},
	{
		"id": 40302,
		"enchant": 3246,
		"gems": [
			0
		]
	},
	{
		"id": 40301,
		"gems": [
			40014
		]
	},
	{
		"id": 40560,
		"enchant": 3721
	},
	{
		"id": 40519,
		"enchant": 3826
	},
	{
		"id": 37694
	},
	{
		"id": 40399
	},
	{
		"id": 40432
	},
	{
		"id": 40255
	},
	{
		"id": 40395,
		"enchant": 3834
	},
	{
		"id": 40401,
		"enchant": 1128
	},
	{
		"id": 40267
	}
]}`)
View Source
var PlayerOptionsAdaptive = &proto.Player_ElementalShaman{
	ElementalShaman: &proto.ElementalShaman{
		Talents: StandardTalents,
		Options: eleShamOptions,
		Rotation: &proto.ElementalShaman_Rotation{
			Totems: BasicTotems,
			Type:   proto.ElementalShaman_Rotation_Adaptive,
		},
	},
}
View Source
var PlayerOptionsAdaptiveFireElemental = &proto.Player_ElementalShaman{
	ElementalShaman: &proto.ElementalShaman{
		Talents: StandardTalents,
		Options: eleShamOptions,
		Rotation: &proto.ElementalShaman_Rotation{
			Totems: FireElementalBasicTotems,
			Type:   proto.ElementalShaman_Rotation_Adaptive,
		},
	},
}
View Source
var StandardTalents = &proto.ShamanTalents{
	Convection:         5,
	Concussion:         5,
	ElementalFocus:     true,
	CallOfThunder:      true,
	ElementalFury:      5,
	UnrelentingStorm:   3,
	ElementalPrecision: 3,
	LightningMastery:   5,
	ElementalMastery:   true,
	LightningOverload:  5,
	TotemOfWrath:       true,
}

Functions

func RegisterElementalShaman

func RegisterElementalShaman()

Types

type AdaptiveRotation

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

################################################################

ADAPTIVE

################################################################

func NewAdaptiveRotation

func NewAdaptiveRotation(talents *proto.ShamanTalents, options *proto.ElementalShaman_Rotation) *AdaptiveRotation

func (*AdaptiveRotation) DoAction

func (rotation *AdaptiveRotation) DoAction(eleShaman *ElementalShaman, sim *core.Simulation)

func (*AdaptiveRotation) Reset

func (rotation *AdaptiveRotation) Reset(eleShaman *ElementalShaman, sim *core.Simulation)

type AgentAction

type AgentAction interface {
	GetActionID() core.ActionID

	// TODO: Maybe change this to 'ResourceCost'
	// Amount of mana required to perform the action.
	GetManaCost() float64

	// Do the action. Returns whether the action was successful. An unsuccessful
	// action indicates that the prerequisites, like resource cost, were not met.
	Cast(sim *core.Simulation) bool
}

A single action that an Agent can take.

type ElementalShaman

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

func NewElementalShaman

func NewElementalShaman(character core.Character, options *proto.Player) *ElementalShaman

func (*ElementalShaman) GetShaman

func (eleShaman *ElementalShaman) GetShaman() *shaman.Shaman

func (*ElementalShaman) OnGCDReady

func (eleShaman *ElementalShaman) OnGCDReady(sim *core.Simulation)

func (*ElementalShaman) Reset

func (eleShaman *ElementalShaman) Reset(sim *core.Simulation)

type ManualRotation

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

################################################################

MANUAL

################################################################

func NewManualRotation

func NewManualRotation(talents *proto.ShamanTalents, options *proto.ElementalShaman_Rotation) *ManualRotation

func (*ManualRotation) DoAction

func (rotation *ManualRotation) DoAction(eleShaman *ElementalShaman, sim *core.Simulation)

func (*ManualRotation) Reset

func (rotation *ManualRotation) Reset(eleShaman *ElementalShaman, sim *core.Simulation)

type Rotation

type Rotation interface {

	// Returns the action this rotation would like to take next.
	DoAction(*ElementalShaman, *core.Simulation)

	// Returns this rotation to its initial state. Called before each Sim iteration.
	Reset(*ElementalShaman, *core.Simulation)
}

Picks which attacks / abilities the Shaman does.

Jump to

Keyboard shortcuts

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