Documentation
¶
Index ¶
- Constants
- Variables
- type FrozenOrb
- type Mage
- func (mage *Mage) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
- func (mage *Mage) AddRaidBuffs(raidBuffs *proto.RaidBuffs)
- func (mage *Mage) ApplyRunes()
- func (mage *Mage) ApplyTalents()
- func (mage *Mage) GetCharacter() *core.Character
- func (mage *Mage) GetMage() *Mage
- func (mage *Mage) HasRune(rune proto.MageRune) bool
- func (mage *Mage) Initialize()
- func (mage *Mage) NewFrozenOrbPets() []*FrozenOrb
- func (mage *Mage) Reset(sim *core.Simulation)
- type MageAgent
Constants ¶
View Source
const ( FireRuby = 20036 StaffOfOrder = 229909 StaffOfInferno = 229971 StaffOfRime = 229972 MindQuickeningGem = 230243 HazzarahsCharmOfChilledMagic = 231282 JewelOfKajaro = 231324 AtieshMage = 236400 )
View Source
const ( LivingBombBaseNumTicks = 4 LivingBombBaseTickLength = time.Second * 3 )
View Source
const ( ClassSpellMask_MageNone uint64 = 0 ClassSpellMask_MageArcaneBarrage uint64 = 1 << iota ClassSpellMask_MageArcaneBlast ClassSpellMask_MageArcaneExplosion ClassSpellMask_MageArcaneMissiles ClassSpellMask_MageArcaneMissilesTick ClassSpellMask_MageArcanePower ClassSpellMask_MageArcaneSurge ClassSpellMask_MageConeOfCold ClassSpellMask_MageCounterSpell ClassSpellMask_MageBalefireBolt ClassSpellMask_MageBlastWave ClassSpellMask_MageBlizzard ClassSpellMask_MageDeepFreeze ClassSpellMask_MageFireball ClassSpellMask_MageFireBlast ClassSpellMask_MagePyroblast ClassSpellMask_MageFrostbite ClassSpellMask_MageFrostbolt ClassSpellMask_MageFrostfireBolt ClassSpellMask_MageFrozenOrb ClassSpellMask_MageFrozenOrbTick ClassSpellMask_MageIceLance ClassSpellMask_MageIgnite ClassSpellMask_MageFlamestrike ClassSpellMask_MageLivingBomb ClassSpellMask_MageLivingBombExplosion ClassSpellMask_MageLivingFlame ClassSpellMask_MageMassRegeneration ClassSpellMask_MageScorch ClassSpellMask_MageSpellfrostBolt ClassSpellMask_MageEvocation ClassSpellMask_MageAll = 1<<iota - 1 // All spells that have additive scaling with Arcane Blast ClassSpellMask_MageArcaneBlastAuraFlat = ClassSpellMask_MageArcaneExplosion | ClassSpellMask_MageArcaneMissilesTick | ClassSpellMask_MageArcaneSurge | ClassSpellMask_MageSpellfrostBolt | ClassSpellMask_MageBalefireBolt // All spells that have multiplicative scaling with Arcane Blast ClassSpellMask_MageArcaneBlastAuraPct = ClassSpellMask_MageLivingFlame ClassSpellMask_MageInstantCast = ClassSpellMask_MageArcaneBarrage | ClassSpellMask_MageArcaneExplosion | ClassSpellMask_MageArcaneMissiles | ClassSpellMask_MageArcaneSurge | ClassSpellMask_MageBlastWave | ClassSpellMask_MageBlizzard | ClassSpellMask_MageDeepFreeze | ClassSpellMask_MageEvocation | ClassSpellMask_MageFireBlast | ClassSpellMask_MageFrozenOrb | ClassSpellMask_MageFrozenOrbTick | ClassSpellMask_MageIceLance | ClassSpellMask_MageIceLance | ClassSpellMask_MageLivingBomb | ClassSpellMask_MageLivingFlame ClassSpellMask_MageChanneled = ClassSpellMask_MageArcaneMissiles | ClassSpellMask_MageEvocation | ClassSpellMask_MageMassRegeneration // TODO: Frost Nova ClassSpellMask_MageHarmfulGCDSpells = ClassSpellMask_MageFireball | ClassSpellMask_MageFrostbolt | ClassSpellMask_MageFireBlast | ClassSpellMask_MagePyroblast | ClassSpellMask_MageScorch | ClassSpellMask_MageArcaneMissiles | ClassSpellMask_MageArcaneExplosion | ClassSpellMask_MageBlizzard | ClassSpellMask_MageFlamestrike | ClassSpellMask_MageBlastWave | ClassSpellMask_MageConeOfCold | ClassSpellMask_MageFrostfireBolt | ClassSpellMask_MageSpellfrostBolt | ClassSpellMask_MageArcaneBlast | ClassSpellMask_MageBalefireBolt | ClassSpellMask_MageArcaneBarrage | ClassSpellMask_MageLivingBomb | ClassSpellMask_MageDeepFreeze | ClassSpellMask_MageIceLance | ClassSpellMask_MageLivingFlame | ClassSpellMask_MageArcaneSurge | ClassSpellMask_MageFrozenOrb )
View Source
const ArcaneExplosionRanks = 6
View Source
const ArcaneMissilesRanks = 8
View Source
const BlastWaveRanks = 5
View Source
const BlizzardRanks = 6
View Source
const ConeOfColdRanks = 5
View Source
const FireBlastRanks = 7
View Source
const FireballRanks = 12
View Source
const FlamestrikeRanks = 6
View Source
const FrostboltRanks = 11
View Source
const IceBarrierRanks = 4
View Source
const IgniteTicks = 2
If two spells proc Ignite at almost exactly the same time, the latter overwrites the former.
View Source
const ManaGemRanks = 4
Technically 4 different items
View Source
const PyroblastRanks = 8
View Source
const ScorchRanks = 7
View Source
const (
SpellFlagChillSpell = core.SpellFlagAgentReserved1
)
Variables ¶
View Source
var ArcaneExplosionBaseDamage = [ArcaneExplosionRanks + 1][]float64{{0}, {34, 38}, {58, 65}, {101, 110}, {140, 153}, {190, 207}, {249, 270}}
View Source
var ArcaneExplosionLevel = [ArcaneExplosionRanks + 1]int{0, 14, 22, 30, 38, 46, 54}
View Source
var ArcaneExplosionManaCost = [ArcaneExplosionRanks + 1]float64{0, 75, 120, 185, 250, 315, 390}
View Source
var ArcaneExplosionSpellCoeff = [ArcaneExplosionRanks + 1]float64{0, .111, .143, .143, .143, .143, .143}
View Source
var ArcaneExplosionSpellId = [ArcaneExplosionRanks + 1]int32{0, 1449, 8437, 8438, 8439, 10201, 10202}
View Source
var ArcaneMissilesBaseTickDamage = [ArcaneMissilesRanks + 1]float64{0, 26, 38, 57, 86, 115, 153, 196, 230}
View Source
var ArcaneMissilesCastTime = [ArcaneMissilesRanks + 1]int32{0, 3, 4, 5, 5, 5, 5, 5, 5}
View Source
var ArcaneMissilesLevel = [ArcaneMissilesRanks + 1]int{0, 8, 16, 24, 32, 40, 48, 56, 56}
View Source
var ArcaneMissilesManaCost = [ArcaneMissilesRanks + 1]float64{0, 85, 140, 235, 320, 410, 500, 595, 655}
View Source
var ArcaneMissilesSpellCoeff = [ArcaneMissilesRanks + 1]float64{0, .132, .204, .24, .24, .24, .24, .24, .24}
View Source
var ArcaneMissilesSpellId = [ArcaneMissilesRanks + 1]int32{0, 5143, 5144, 5145, 8416, 8417, 10211, 10212, 25345}
View Source
var BlastWaveBaseDamage = [BlastWaveRanks + 1][]float64{{0}, {160, 192}, {205, 246}, {285, 338}, {374, 443}, {462, 544}}
View Source
var BlastWaveLevel = [BlastWaveRanks + 1]int{0, 30, 36, 44, 52, 60}
View Source
var BlastWaveManaCost = [BlastWaveRanks + 1]float64{0, 215, 270, 355, 450, 545}
View Source
var BlastWaveSpellId = [BlastWaveRanks + 1]int32{0, 11113, 13018, 13019, 13020, 13021}
View Source
var BlizzardBaseDamage = [BlizzardRanks + 1]float64{0, 200, 352, 520, 720, 936, 1192}
View Source
var BlizzardLevel = [BlizzardRanks + 1]int{0, 20, 28, 36, 44, 52, 60}
View Source
var BlizzardManaCost = [BlizzardRanks + 1]float64{0, 320, 520, 720, 935, 1160, 1400}
View Source
var BlizzardSpellId = [BlizzardRanks + 1]int32{0, 10, 6141, 8427, 10185, 10186, 10187}
View Source
var ConeOfColdBaseDamage = [ConeOfColdRanks + 1][2]float64{{0, 0}, {98, 108}, {146, 160}, {203, 223}, {264, 290}, {335, 365}}
View Source
var ConeOfColdLevel = [ConeOfColdRanks + 1]int{0, 26, 34, 42, 50, 58}
View Source
var ConeOfColdManaCost = [ConeOfColdRanks + 1]float64{0, 210, 290, 380, 465, 555}
View Source
var ConeOfColdSpellId = [ConeOfColdRanks + 1]int32{0, 120, 8492, 10159, 10160, 10161}
View Source
var FireBlastBaseDamage = [FireBlastRanks + 1][]float64{{0}, {27, 35}, {62, 76}, {107, 132}, {177, 211}, {246, 295}, {342, 405}, {446, 524}}
View Source
var FireBlastLevel = [FireBlastRanks + 1]int{0, 6, 14, 22, 30, 38, 46, 54}
View Source
var FireBlastManaCost = [FireBlastRanks + 1]float64{0, 40, 75, 115, 165, 220, 280, 340}
View Source
var FireBlastSpellCoeff = [FireBlastRanks + 1]float64{0, .204, .332, .429, .429, .429, .429, .429}
View Source
var FireBlastSpellId = [FireBlastRanks + 1]int32{0, 2136, 2137, 2138, 8412, 8413, 10197, 10199}
View Source
var FireballBaseDamage = [FireballRanks + 1][]float64{{0}, {16, 25}, {34, 49}, {57, 77}, {89, 122}, {140, 189}, {207, 274}, {264, 345}, {328, 425}, {398, 512}, {488, 623}, {561, 715}, {596, 760}}
View Source
var FireballCastTime = [FireballRanks + 1]int32{0, 1500, 2000, 2500, 3000, 3500, 3500, 3500, 3500, 3500, 3500, 3500, 3500}
View Source
var FireballDotDamage = [FireballRanks + 1]float64{0, 2, 3, 6, 12, 20, 28, 32, 40, 52, 60, 72, 76}
View Source
var FireballLevel = [FireballRanks + 1]int{0, 1, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 60}
View Source
var FireballManaCost = [FireballRanks + 1]float64{0, 30, 45, 65, 95, 140, 185, 220, 260, 305, 350, 395, 410}
View Source
var FireballSpellCoeff = [FireballRanks + 1]float64{0, .123, .271, .5, .793, 1, 1, 1, 1, 1, 1, 1, 1}
View Source
var FireballSpellId = [FireballRanks + 1]int32{0, 133, 143, 145, 3140, 8400, 8401, 8402, 10148, 10149, 10150, 10151, 25306}
View Source
var FlamestrikeBaseDamage = [FlamestrikeRanks + 1][]float64{{0}, {55, 71}, {96, 123}, {159, 197}, {220, 272}, {294, 362}, {381, 466}}
View Source
var FlamestrikeDotCoeff = [FlamestrikeRanks + 1]float64{0, .017, .02, .02, .02, .02, .02}
View Source
var FlamestrikeDotDamage = [FlamestrikeRanks + 1]float64{0, 48, 88, 140, 196, 264, 340}
View Source
var FlamestrikeLevel = [FlamestrikeRanks + 1]int{0, 16, 24, 32, 40, 48, 56}
View Source
var FlamestrikeManaCost = [FlamestrikeRanks + 1]float64{0, 195, 330, 490, 650, 815, 990}
View Source
var FlamestrikeSpellCoeff = [FlamestrikeRanks + 1]float64{0, .134, .157, .157, .157, .157, .157}
View Source
var FlamestrikeSpellId = [FlamestrikeRanks + 1]int32{0, 2120, 2121, 8422, 8423, 10215, 10216}
View Source
var FrostboltBaseDamage = [FrostboltRanks + 1][]float64{{0, 0}, {20, 22}, {33, 38}, {54, 61}, {78, 87}, {132, 144}, {180, 197}, {231, 251}, {301, 326}, {353, 383}, {440, 475}, {515, 555}}
View Source
var FrostboltCastTime = [FrostboltRanks + 1]int32{0, 1500, 1800, 2200, 2600, 3000, 3000, 3000, 3000, 3000, 3000, 3000}
View Source
var FrostboltLevel = [FrostboltRanks + 1]int{0, 4, 8, 14, 20, 26, 32, 38, 44, 50, 56, 60}
View Source
var FrostboltManaCost = [FrostboltRanks + 1]float64{0, 25, 35, 50, 65, 100, 130, 160, 195, 225, 260, 290}
View Source
var FrostboltSpellCoeff = [FrostboltRanks + 1]float64{0, .163, .269, .463, .706, .814, .814, .814, .814, .814, .814, .814}
View Source
var FrostboltSpellId = [FrostboltRanks + 1]int32{0, 116, 205, 837, 7322, 8406, 8407, 8408, 10179, 10180, 10181, 25304}
View Source
var IceBarrierLevel = [IceBarrierRanks + 1]int{0, 40, 46, 52, 58}
View Source
var IceBarrierManaCost = [IceBarrierRanks + 1]float64{0, 305, 360, 420, 480}
View Source
var IceBarrierSpellId = [IceBarrierRanks + 1]int32{0, 11426, 13031, 13032, 13033}
View Source
var ItemSetArcanistInsight = core.NewItemSet(core.ItemSet{ Name: "Arcanist Insight", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyT1Damage4PBonus() }, 6: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyT1Damage6PBonus() }, }, })
View Source
var ItemSetArcanistMoment = core.NewItemSet(core.ItemSet{ Name: "Arcanist Moment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { }, }, })
View Source
var ItemSetChampionsRegalia = core.NewItemSet(core.ItemSet{ Name: "Champion's Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 20) }, }, })
View Source
var ItemSetEnigmaInsight = core.NewItemSet(core.ItemSet{ Name: "Enigma Insight", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyTAQFire2PBonus() }, 4: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyTAQFire4PBonus() }, }, })
View Source
var ItemSetEnigmaMoment = core.NewItemSet(core.ItemSet{ Name: "Enigma Moment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyTAQArcane2PBonus() }, 4: func(agent core.Agent) { }, }, })
View Source
var ItemSetFieldMarshalsRegalia = core.NewItemSet(core.ItemSet{ Name: "Field Marshal's Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 20) }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, }, })
View Source
var ItemSetFireleafRegalia = core.NewItemSet(core.ItemSet{ Name: "Fireleaf Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyScarletEnclaveDamage2PBonus() }, 4: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyScarletEnclaveDamage4PBonus() }, 6: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyScarletEnclaveDamage6PBonus() }, }, })
View Source
var ItemSetFireleafVestments = core.NewItemSet(core.ItemSet{ Name: "Fireleaf Vestments", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyScarletEnclaveHealer2PBonus() }, 4: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyScarletEnclaveHealer4PBonus() }, 6: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyScarletEnclaveHealer6PBonus() }, }, })
View Source
var ItemSetFrostfireRegalia = core.NewItemSet(core.ItemSet{ Name: "Frostfire Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyNaxxramasDamage2PBonus() }, 4: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyNaxxramasDamage4PBonus() }, 6: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyNaxxramasDamage6PBonus() }, }, })
View Source
var ItemSetFrostfireVestments = core.NewItemSet(core.ItemSet{ Name: "Frostfire Vestments", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { }, }, })
View Source
var ItemSetIllusionistsAttire = core.NewItemSet(core.ItemSet{ Name: "Illusionist's Attire", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.AddStat(stats.FrostPower, 14) }, 3: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyZGFrost3PBonus() }, 5: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyZGFrost5PBonus() }, }, })
View Source
var ItemSetLieutenantCommandersRegalia = core.NewItemSet(core.ItemSet{ Name: "Lieutenant Commander's Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 20) }, }, })
View Source
var ItemSetNetherwindInsight = core.NewItemSet(core.ItemSet{ Name: "Netherwind Insight", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyT2Damage2PBonus() }, 4: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyT2Damage4PBonus() }, 6: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyT2Damage6PBonus() }, }, })
View Source
var ItemSetNetherwindMoment = core.NewItemSet(core.ItemSet{ Name: "Netherwind Moment", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyT2Healer2PBonus() }, 4: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyT2Healer4PBonus() }, 6: func(agent core.Agent) { }, }, })
View Source
var ItemSetSorcerersRegalia = core.NewItemSet(core.ItemSet{ Name: "Sorcerer's Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, 4: func(agent core.Agent) { c := agent.GetCharacter() actionID := core.ActionID{SpellID: 450527} manaMetrics := c.NewManaMetrics(actionID) core.MakeProcTriggerAura(&c.Unit, core.ProcTrigger{ Name: "S03 - Mana Proc on Cast - Magister's Regalia", Callback: core.CallbackOnCastComplete, Outcome: core.OutcomeLanded, ProcMask: core.ProcMaskSpellDamage | core.ProcMaskSpellHealing, ProcChance: 0.06, Handler: func(sim *core.Simulation, spell *core.Spell, _ *core.SpellResult) { if c.HasManaBar() { c.AddMana(sim, 300, manaMetrics) } }, }) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddResistances(8) }, 8: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Armor, 200) }, }, })
View Source
var ItemSetTrappingsOfVaultedSecrets = core.NewItemSet(core.ItemSet{ Name: "Trappings of Vaulted Secrets", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { mage := agent.(MageAgent).GetMage() mage.applyRAQFire3PBonus() }, }, })
View Source
var ItemSetWarlordsRegalia = core.NewItemSet(core.ItemSet{ Name: "Warlord's Regalia", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 20) }, 4: func(agent core.Agent) { }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 23) }, }, })
View Source
var ManaGemItemId = [ManaGemRanks + 1]int32{0, 5514, 5513, 8007, 8008}
View Source
var ManaGemLevel = [ManaGemRanks + 1]int{0, 23, 38, 48, 58}
View Source
var ManaGemManaRestored = [ManaGemRanks + 1][]float64{{0, 0}, {375, 425}, {550, 650}, {775, 925}, {1000, 1200}}
View Source
var PyroblastBaseDamage = [PyroblastRanks + 1][]float64{{0}, {148, 195}, {184, 241}, {270, 343}, {341, 431}, {427, 536}, {510, 639}, {625, 776}, {716, 890}}
View Source
var PyroblastDotDamage = [PyroblastRanks + 1]float64{0, 56, 72, 96, 124, 156, 188, 228, 268}
View Source
var PyroblastLevel = [PyroblastRanks + 1]int{0, 20, 24, 30, 36, 42, 48, 54, 60}
View Source
var PyroblastManaCost = [PyroblastRanks + 1]float64{0, 125, 150, 195, 240, 285, 335, 385, 440}
View Source
var PyroblastSpellId = [PyroblastRanks + 1]int32{0, 11366, 12505, 12522, 12523, 12524, 12525, 12526, 18809}
View Source
var ScorchBaseDamage = [ScorchRanks + 1][]float64{{0}, {55, 68}, {81, 98}, {105, 126}, {133, 159}, {168, 199}, {207, 247}, {237, 280}}
View Source
var ScorchLevel = [ScorchRanks + 1]int{0, 22, 28, 34, 40, 46, 52, 58}
View Source
var ScorchManaCost = [ScorchRanks + 1]float64{0, 50, 65, 80, 100, 115, 135, 150}
View Source
var ScorchSpellId = [ScorchRanks + 1]int32{0, 2948, 8444, 8445, 8446, 10205, 10206, 10207}
View Source
var TalentTreeSizes = [3]int{16, 16, 17}
Functions ¶
This section is empty.
Types ¶
type FrozenOrb ¶ added in v0.0.14
func (*FrozenOrb) ExecuteCustomRotation ¶ added in v0.0.14
func (orb *FrozenOrb) ExecuteCustomRotation(sim *core.Simulation)
func (*FrozenOrb) Initialize ¶ added in v0.0.14
func (orb *FrozenOrb) Initialize()
func (*FrozenOrb) Reset ¶ added in v0.0.14
func (orb *FrozenOrb) Reset(_ *core.Simulation)
type Mage ¶
type Mage struct {
core.Character
Talents *proto.MageTalents
Options *proto.Mage_Options
ArcaneBarrage *core.Spell
ArcaneBlast *core.Spell
ArcaneExplosion []*core.Spell
ArcaneMissiles []*core.Spell
ArcaneMissilesTickSpell []*core.Spell
ArcanePower *core.Spell
ArcaneSurge *core.Spell
BalefireBolt *core.Spell
BlastWave []*core.Spell
Blizzard []*core.Spell
ConeOfCold []*core.Spell
DeepFreeze *core.Spell
Evocation *core.Spell
Fireball []*core.Spell
FireBlast []*core.Spell
Flamestrike []*core.Spell
Frostbolt []*core.Spell
FrostfireBolt *core.Spell
FrozenOrb *core.Spell
FrozenOrbTick *core.Spell
IceBarrier []*core.Spell
IceLance *core.Spell
Ignite *core.Spell
LivingBomb *core.Spell
LivingFlame *core.Spell
ManaGem []*core.Spell
MassRegeneration *core.Spell
PresenceOfMind *core.Spell
Pyroblast []*core.Spell
Scorch []*core.Spell
SpellfrostBolt *core.Spell
IcyVeins *core.Spell
ArcaneBlastAura *core.Aura
ArcaneTunnelingAura *core.Aura
BalefireAura *core.Aura
ClearcastingAura *core.Aura
CombustionAura *core.Aura
FingersOfFrostAura *core.Aura
GlaciateAuras core.AuraArray
HotStreakAura *core.Aura
IceArmorAura *core.Aura
IceBarrierAuras []*core.Aura
IcyVeinsAura *core.Aura
ImprovedScorchAuras core.AuraArray
MageArmorAura *core.Aura
MissileBarrageAura *core.Aura
MoltenArmorAura *core.Aura
FrozenAuras core.AuraArray
WintersChillAuras core.AuraArray
ArcaneBlastDamageMultiplier float64
ArcaneBlastMissileBarrageChance float64
ArcaneTunnelingProcChance float64
FingersOfFrostProcChance float64
FireballMissileActive bool // Whether Fireball has been cast but has not hit to avoid chain-casting
// contains filtered or unexported fields
}
func (*Mage) AddPartyBuffs ¶
func (mage *Mage) AddPartyBuffs(partyBuffs *proto.PartyBuffs)
func (*Mage) AddRaidBuffs ¶
func (*Mage) ApplyRunes ¶
func (mage *Mage) ApplyRunes()
func (*Mage) ApplyTalents ¶
func (mage *Mage) ApplyTalents()
func (*Mage) GetCharacter ¶
func (*Mage) Initialize ¶
func (mage *Mage) Initialize()
func (*Mage) NewFrozenOrbPets ¶ added in v0.0.25
func (*Mage) Reset ¶
func (mage *Mage) Reset(sim *core.Simulation)
Source Files
¶
- arcane_barrage.go
- arcane_blast.go
- arcane_explosion.go
- arcane_missiles.go
- arcane_surge.go
- armors.go
- balefire_bolt.go
- blast_wave.go
- blizzard.go
- cone_of_cold.go
- counterspell.go
- deep_freeze.go
- evocation.go
- fire_blast.go
- fireball.go
- flamestrike.go
- frostbolt.go
- frostfire_bolt.go
- frozen_orb.go
- ice_barrier.go
- ice_lance.go
- icy_veins.go
- ignite.go
- item_sets_pve_phase_4.go
- item_sets_pve_phase_5.go
- item_sets_pve_phase_6.go
- item_sets_pve_phase_7.go
- item_sets_pve_phase_8.go
- item_sets_pvp.go
- items.go
- living_bomb.go
- living_flame.go
- mage.go
- mana_gem.go
- mass_regeneration.go
- pyroblast.go
- runes.go
- scorch.go
- spellfrost_bolt.go
- talents.go
Click to show internal directories.
Click to hide internal directories.