Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ItemSetBlackDragonMail = core.NewItemSet(core.ItemSet{ Name: "Black Dragon Mail", ID: 489, Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.MeleeHit, 1) }, 3: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.MeleeCrit, 2*core.CritRatingPerCritChance) }, 4: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.FireResistance, 10) }, }, })
https://www.wowhead.com/classic/item-set=489/black-dragon-mail
View Source
var ItemSetBlueDragonMail = core.NewItemSet(core.ItemSet{ Name: "Blue Dragon Mail", ID: 491, Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { character := agent.GetCharacter() character.AddResistances(4) }, 3: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.SpellPower, 28) }, }, })
https://www.wowhead.com/classic/item-set=491/blue-dragon-mail
View Source
var ItemSetDevilsaurArmor = core.NewItemSet(core.ItemSet{ Name: "Devilsaur Armor", ID: 143, Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.MeleeHit, 2*core.MeleeHitRatingPerHitChance) }, }, })
https://www.wowhead.com/classic/item-set=143/devilsaur-armor
View Source
var ItemSetGreenDragonMail = core.NewItemSet(core.ItemSet{ Name: "Green Dragon Mail", ID: 490, Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.MP5, 3) }, 3: func(agent core.Agent) { character := agent.GetCharacter() character.PseudoStats.SpiritRegenRateCasting += .15 }, }, })
View Source
var ItemSetImperialPlate = core.NewItemSet(core.ItemSet{ Name: "Imperial Plate", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.Armor, 100) }, 3: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.AttackPower, 28) character.AddStat(stats.RangedAttackPower, 28) }, 4: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.Stamina, 18) }, }, })
View Source
var ItemSetIronfeatherArmor = core.NewItemSet(core.ItemSet{ Name: "Ironfeather Armor", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.SpellPower, 20) }, }, })
View Source
var ItemSetStormshroudArmor = core.NewItemSet(core.ItemSet{ Name: "Stormshroud Armor", Bonuses: map[int32]core.ApplyEffect{ 2: func(a core.Agent) { char := a.GetCharacter() proc := char.RegisterSpell(core.SpellConfig{ ActionID: core.ActionID{SpellID: 18980}, SpellSchool: core.SpellSchoolNature, DefenseType: core.DefenseTypeMagic, ProcMask: core.ProcMaskEmpty, DamageMultiplier: 1, ThreatMultiplier: 1, ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) { spell.CalcAndDealDamage(sim, target, sim.Roll(15, 25), spell.OutcomeMagicHitAndCrit) }, }) char.RegisterAura(core.Aura{ Label: "Stormshround Armor 2pc", ActionID: core.ActionID{SpellID: 18979}, Duration: core.NeverExpires, OnReset: func(aura *core.Aura, sim *core.Simulation) { aura.Activate(sim) }, OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { if !result.Landed() || !spell.ProcMask.Matches(core.ProcMaskMelee) { return } if sim.RandomFloat("Stormshroud Armor 2pc") < 0.05 { proc.Cast(sim, result.Target) } }, }) }, 3: func(a core.Agent) { char := a.GetCharacter() if !char.HasEnergyBar() { return } metrics := char.NewEnergyMetrics(core.ActionID{SpellID: 23863}) proc := char.RegisterSpell(core.SpellConfig{ ActionID: core.ActionID{SpellID: 23864}, SpellSchool: core.SpellSchoolNature, ApplyEffects: func(sim *core.Simulation, u *core.Unit, spell *core.Spell) { char.AddEnergy(sim, 30, metrics) }, }) char.RegisterAura(core.Aura{ Label: "Stormshround Armor 3pc", ActionID: core.ActionID{SpellID: 18979}, Duration: core.NeverExpires, OnReset: func(aura *core.Aura, sim *core.Simulation) { aura.Activate(sim) }, OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { if !result.Landed() || !spell.ProcMask.Matches(core.ProcMaskMelee) { return } if sim.RandomFloat("Stormshroud Armor 3pc") < 0.02 { proc.Cast(sim, result.Target) } }, }) }, 4: func(a core.Agent) { a.GetCharacter().AddStat(stats.AttackPower, 14) a.GetCharacter().AddStat(stats.RangedAttackPower, 14) }, }, })
View Source
var ItemSetTheDarksoul = core.NewItemSet(core.ItemSet{ Name: "The Darksoul", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { character := agent.GetCharacter() character.AddStat(stats.Defense, 20) }, }, })
View Source
var ItemSetVolcanicArmor = core.NewItemSet(core.ItemSet{ Name: "Volcanic Armor", ID: 141, Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { character := agent.GetCharacter() procSpell := character.RegisterSpell(core.SpellConfig{ ActionID: core.ActionID{SpellID: 9057}, SpellSchool: core.SpellSchoolFire, DefenseType: core.DefenseTypeMagic, ProcMask: core.ProcMaskEmpty, DamageMultiplier: 1, ThreatMultiplier: 1, ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) { spell.CalcAndDealDamage(sim, target, sim.Roll(15, 25), spell.OutcomeMagicHitAndCrit) }, }) core.MakeProcTriggerAura(&character.Unit, core.ProcTrigger{ Name: "Firebolt Trigger (Volcanic Armor)", Callback: core.CallbackOnSpellHitDealt, Outcome: core.OutcomeLanded, ProcMask: core.ProcMaskMelee, ProcChance: .05, Handler: func(sim *core.Simulation, _ *core.Spell, result *core.SpellResult) { procSpell.Cast(sim, result.Target) }, }) }, }, })
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.