Documentation ¶
Index ¶
- Constants
- Variables
- func RegisterEnhancementShaman()
- type AgentAction
- type Cast
- type Condition
- type EnhancementShaman
- func (enh *EnhancementShaman) CastLavaBurstWeave(sim *core.Simulation, reactionTime time.Duration) bool
- func (enh *EnhancementShaman) CastLightningBoltWeave(sim *core.Simulation, reactionTime time.Duration) bool
- func (enh *EnhancementShaman) GetShaman() *shaman.Shaman
- func (enh *EnhancementShaman) Initialize()
- func (enh *EnhancementShaman) OnAutoAttack(sim *core.Simulation, spell *core.Spell)
- func (enh *EnhancementShaman) OnGCDReady(sim *core.Simulation)
- func (enh *EnhancementShaman) Reset(sim *core.Simulation)
- type PriorityRotation
- type ReadyAt
- type Rotation
- type Spell
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 DefaultGlyphs = &proto.Glyphs{ Major1: int32(proto.ShamanMajorGlyph_GlyphOfStormstrike), Major2: int32(proto.ShamanMajorGlyph_GlyphOfFlametongueWeapon), Major3: int32(proto.ShamanMajorGlyph_GlyphOfFeralSpirit), }
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 EnhancementShaman ¶
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 NewPriorityRotation ¶
func NewPriorityRotation(enh *EnhancementShaman, options *proto.EnhancementShaman_Rotation) *PriorityRotation
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 Rotation ¶
type Rotation interface { DoAction(*EnhancementShaman, *core.Simulation) Reset(*EnhancementShaman, *core.Simulation) }
Click to show internal directories.
Click to hide internal directories.