Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var BasicTotems = &proto.ShamanTotems{ Earth: proto.EarthTotem_TremorTotem, Air: proto.AirTotem_WrathOfAirTotem, Water: proto.WaterTotem_ManaSpringTotem, Fire: proto.FireTotem_TotemOfWrath, }
View Source
var FireElementalBasicTotems = &proto.ShamanTotems{ Earth: proto.EarthTotem_TremorTotem, Air: proto.AirTotem_WrathOfAirTotem, Water: proto.WaterTotem_ManaSpringTotem, Fire: proto.FireTotem_TotemOfWrath, UseFireElemental: true, }
View Source
var FullConsumes = &proto.Consumes{ Flask: proto.Flask_FlaskOfBlindingLight, Food: proto.Food_FoodBlackenedBasilisk, DefaultPotion: proto.Potions_SuperManaPotion, PrepopPotion: proto.Potions_DestructionPotion, DefaultConjured: proto.Conjured_ConjuredDarkRune, }
View Source
var NoTotems = &proto.ShamanTotems{}
View Source
var P1Gear = items.EquipmentSpecFromJsonString(`{
"items": [
{
"id": 40516,
"enchant": 44877,
"gems": [
41285,
40025
]
},
{
"id": 44661,
"gems": [
40027
]
},
{
"id": 40518,
"enchant": 44874,
"gems": [
39998
]
},
{
"id": 44005,
"enchant": 44472,
"gems": [
40025
]
},
{
"id": 40514,
"enchant": 44623,
"gems": [
39998,
40025
]
},
{
"id": 40324,
"enchant": 44498,
"gems": [
40025,
0
]
},
{
"id": 40302,
"enchant": 54999,
"gems": [
0
]
},
{
"id": 40327,
"gems": [
39998
]
},
{
"id": 40517,
"enchant": 41602,
"gems": [
40049,
40027
]
},
{
"id": 40237,
"enchant": 60623,
"gems": [
40025
]
},
{
"id": 40399
},
{
"id": 48957
},
{
"id": 40255
},
{
"id": 39229
},
{
"id": 40395,
"enchant": 44487
},
{
"id": 40401,
"enchant": 60653
},
{
"id": 40708
}
]
}`)
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) *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 ¶
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.
Click to show internal directories.
Click to hide internal directories.