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 = 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 ¶
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.