Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ItemSetBanishedMartyrsFullPlate = core.NewItemSet(core.ItemSet{ Name: "Banished Martyr's Full Plate", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeHit, 1) c.AddStat(stats.SpellHit, 1) }, 3: func(agent core.Agent) { c := agent.GetCharacter() procAura := c.NewTemporaryStatsAura("Stalwart Block Proc", core.ActionID{SpellID: 449975}, stats.Stats{stats.BlockValue: 50}, time.Second*6) handler := func(sim *core.Simulation, spell *core.Spell, _ *core.SpellResult) { procAura.Activate(sim) } core.MakeProcTriggerAura(&c.Unit, core.ProcTrigger{ ActionID: core.ActionID{SpellID: 449974}, Name: "Stalwart Block", Callback: core.CallbackOnSpellHitTaken, ProcMask: core.ProcMaskMelee, Outcome: core.OutcomeBlock, ProcChance: 1, Handler: handler, }) }, }, })
View Source
var ItemSetBlackfathomAvengerMail = core.NewItemSet(core.ItemSet{ Name: "Blackfathom Avenger's Mail", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.AttackPower, 12) }, 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeHit, 1) c.AddStat(stats.SpellHit, 1) }, }, })
View Source
var ItemSetBlackfathomElementalistHide = core.NewItemSet(core.ItemSet{ Name: "Blackfathom Elementalist's Hide", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 12) }, 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeHit, 1) c.AddStat(stats.SpellHit, 1) }, }, })
View Source
var ItemSetBlackfathomInvokerVestaments = core.NewItemSet(core.ItemSet{ Name: "Twilight Invoker's Vestments", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 9) }, 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeHit, 1) c.AddStat(stats.SpellHit, 1) }, }, })
View Source
var ItemSetBlackfathomSlayerLeather = core.NewItemSet(core.ItemSet{ Name: "Blackfathom Slayer's Leather", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.AttackPower, 12) }, 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeHit, 1) c.AddStat(stats.SpellHit, 1) }, }, })
View Source
var ItemSetBloodGuardsDreadweave = core.NewItemSet(core.ItemSet{ Name: "Blood Guard's Dreadweave", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 15) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 18) }, }, })
View Source
var ItemSetBloodGuardsLeather = core.NewItemSet(core.ItemSet{ Name: "Blood Guard's Leather", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 15) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.AttackPower, 30) c.AddStat(stats.RangedAttackPower, 30) }, }, })
View Source
var ItemSetBloodGuardsPlate = core.NewItemSet(core.ItemSet{ Name: "Blood Guard's Plate", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 15) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.AttackPower, 30) c.AddStat(stats.RangedAttackPower, 30) }, }, })
View Source
var ItemSetBloodGuardsSatin = core.NewItemSet(core.ItemSet{ Name: "Blood Guard's Satin", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 15) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.HealingPower, 33) }, }, })
View Source
var ItemSetElectromanticDevastator = core.NewItemSet(core.ItemSet{ Name: "Electromantic Devastator's Mail", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.AttackPower, 24) c.AddStat(stats.RangedAttackPower, 24) }, 3: func(agent core.Agent) { c := agent.GetCharacter() if !c.HasManaBar() { return } metrics := c.NewManaMetrics(core.ActionID{SpellID: 435982}) proc := c.RegisterSpell(core.SpellConfig{ ActionID: core.ActionID{SpellID: 435981}, SpellSchool: core.SpellSchoolHoly, ApplyEffects: func(sim *core.Simulation, u *core.Unit, spell *core.Spell) { c.AddMana(sim, 100, metrics) }, }) procChance := 0.05 c.RegisterAura(core.Aura{ Label: "Electromantic Devastator's Mail 3pc", ActionID: core.ActionID{SpellID: 435982}, 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 spell.ProcMask.Matches(core.ProcMaskEmpty | core.ProcMaskProc | core.ProcMaskWeaponProc) { return } if spell.ProcMask.Matches(core.ProcMaskWhiteHit | core.ProcMaskRanged) { if sim.RandomFloat("Electromantic Devastator's Mail 3pc") > procChance { return } } else { if !result.Landed() { return } if sim.RandomFloat("Electromantic Devastator's Mail 3pc") > procChance { return } } proc.Cast(sim, result.Target) }, }) }, }, })
View Source
var ItemSetElectromanticStormbringer = core.NewItemSet(core.ItemSet{ Name: "Electromantic Stormbringer's Chain", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 12) }, 3: func(agent core.Agent) {}, }, })
View Source
var ItemSetEmeraldDreamPlate = core.NewItemSet(core.ItemSet{ Name: "Emerald Dream Plate", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 10) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.AttackPower, 20) c.AddStat(stats.RangedAttackPower, 20) }, }, })
View Source
var ItemSetEmeraldEnchantedVestments = core.NewItemSet(core.ItemSet{ Name: "Emerald Enchanted Vestments", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 10) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 12) }, }, })
View Source
var ItemSetEmeraldLeathers = core.NewItemSet(core.ItemSet{ Name: "Emerald Leathers", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 10) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.AttackPower, 20) c.AddStat(stats.RangedAttackPower, 20) }, }, })
View Source
var ItemSetEmeraldWovenGarb = core.NewItemSet(core.ItemSet{ Name: "Emerald Woven Garb", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 10) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.HealingPower, 22) }, }, })
View Source
var ItemSetHazardSuit = core.NewItemSet(core.ItemSet{ Name: "H.A.Z.A.R.D. Suit", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Defense, 7) c.AddStat(stats.AttackPower, 16) c.AddStat(stats.RangedAttackPower, 16) }, 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeHit, 1) c.AddStat(stats.SpellHit, 1) }, }, })
View Source
var ItemSetHyperconductiveMendersMeditation = core.NewItemSet(core.ItemSet{ Name: "Hyperconductive Mender's Meditation", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Spirit, 14) }, 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MP5, 7) }, }, })
View Source
var ItemSetHyperconductiveWizardsAttire = core.NewItemSet(core.ItemSet{ Name: "Hyperconductive Wizard's Attire", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeHit, 1) c.AddStat(stats.SpellHit, 1) c.AddStat(stats.BonusArmor, 100) }, 3: func(agent core.Agent) { character := agent.GetCharacter() procAura := character.NewTemporaryStatsAura("Energized Hyperconductor Proc", core.ActionID{SpellID: 435978}, stats.Stats{stats.SpellPower: 40}, time.Second*10) handler := func(sim *core.Simulation, _ *core.Spell, _ *core.SpellResult) { procAura.Activate(sim) } core.MakeProcTriggerAura(&character.Unit, core.ProcTrigger{ ActionID: core.ActionID{ItemID: 435977}, Name: "Energized Hyperconductor", Callback: core.CallbackOnCastComplete, ProcMask: core.ProcMaskSpellDamage, ProcChance: 0.10, Handler: handler, }) }, }, })
View Source
var ItemSetInsulatedLeather = core.NewItemSet(core.ItemSet{ Name: "Insulated Leathers", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeCrit, 1) c.AddStat(stats.SpellCrit, 1) }, 3: func(agent core.Agent) { c := agent.GetCharacter() c.PseudoStats.DaggersSkill += 3 c.AddStat(stats.FeralAttackPower, 20) }, }, })
View Source
var ItemSetInsulatedSorcerorLeather = core.NewItemSet(core.ItemSet{ Name: "Insulated Sorceror's Leathers", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 16) }, 3: func(agent core.Agent) {}, }, })
View Source
var ItemSetIrradiatedGarments = core.NewItemSet(core.ItemSet{ Name: "Irradiated Garments", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeCrit, 1) c.AddStat(stats.SpellCrit, 1) c.AddStat(stats.Stamina, -5) }, 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 11) }, }, })
View Source
var ItemSetKnightLieutenantsDreadweave = core.NewItemSet(core.ItemSet{ Name: "Knight-Lieutenant's Dreadweave", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 15) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.SpellPower, 18) }, }, })
View Source
var ItemSetKnightLieutenantsLeather = core.NewItemSet(core.ItemSet{ Name: "Knight-Lieutenant's Leather", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 15) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.AttackPower, 30) c.AddStat(stats.RangedAttackPower, 30) }, }, })
View Source
var ItemSetKnightLieutenantsPlate = core.NewItemSet(core.ItemSet{ Name: "Knight-Lieutenant's Plate", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 15) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.AttackPower, 30) c.AddStat(stats.RangedAttackPower, 30) }, }, })
View Source
var ItemSetKnightLieutenantsSatin = core.NewItemSet(core.ItemSet{ Name: "Knight Lieutenant's Satin", Bonuses: map[int32]core.ApplyEffect{ 3: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.Stamina, 15) }, 6: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.HealingPower, 33) }, }, })
View Source
var ItemSetMalevolentProphetsVestments = core.NewItemSet(core.ItemSet{ Name: "Malevolent Prophet's Vestments", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeCrit, 1) c.AddStat(stats.SpellCrit, 1) }, 3: func(agent core.Agent) { c := agent.GetCharacter() procAuras := c.NewEnemyAuraArray(func(target *core.Unit, _ int32) *core.Aura { return target.GetOrRegisterAura(core.Aura{ Label: "Malelovance Proc", ActionID: core.ActionID{SpellID: 449920}, Duration: time.Second * 30, MaxStacks: 1, OnGain: func(aura *core.Aura, sim *core.Simulation) { aura.SetStacks(sim, aura.MaxStacks) for si := stats.SchoolIndexArcane; si < stats.SchoolLen; si++ { aura.Unit.PseudoStats.SchoolBonusDamageTaken[si] += 50 } }, OnExpire: func(aura *core.Aura, sim *core.Simulation) { for si := stats.SchoolIndexArcane; si < stats.SchoolLen; si++ { aura.Unit.PseudoStats.SchoolBonusDamageTaken[si] -= 50 } }, OnSpellHitTaken: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { if aura.RemainingDuration(sim) == aura.Duration { return } if result.Landed() && spell.ProcMask.Matches(core.ProcMaskDirect) { aura.RemoveStack(sim) } }, }) }) handler := func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) { procAuras.Get(result.Target).Activate(sim) } core.MakeProcTriggerAura(&c.Unit, core.ProcTrigger{ ActionID: core.ActionID{SpellID: 449919}, Name: "Malelovance", Callback: core.CallbackOnSpellHitDealt, ProcMask: core.ProcMaskSpellDamage, Outcome: core.OutcomeLanded, ProcChance: 0.2, Handler: handler, }) }, }, })
View Source
var ItemSetSerpentsAscension = core.NewItemSet(core.ItemSet{ Name: "Serpent's Ascension", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { character := agent.GetCharacter() procAura := character.NewTemporaryStatsAura("Serpent's Ascension Proc", core.ActionID{SpellID: 446231}, stats.Stats{stats.AttackPower: 150}, time.Second*12) handler := func(sim *core.Simulation, _ *core.Spell, _ *core.SpellResult) { procAura.Activate(sim) } core.MakeProcTriggerAura(&character.Unit, core.ProcTrigger{ ActionID: core.ActionID{SpellID: 446233}, Name: "Serpent's Ascension", Callback: core.CallbackOnSpellHitDealt, ProcMask: core.ProcMaskMeleeOrRanged, ProcChance: 0.03, ICD: time.Second * 120, Handler: handler, }) }, }, })
View Source
var ItemSetShunnedDevoteesChainmail = core.NewItemSet(core.ItemSet{ Name: "Shunned Devotee's Chainmail", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeCrit, 1) c.AddStat(stats.SpellCrit, 1) }, 3: func(agent core.Agent) { c := agent.GetCharacter() c.OnSpellRegistered(func(spell *core.Spell) { if spell.SpellSchool.Matches(core.SpellSchoolHoly) { spell.BonusCritRating += 3 } }) procAura := c.NewTemporaryStatsAura("The Furious Storm Proc", core.ActionID{SpellID: 449934}, stats.Stats{stats.NaturePower: 60, stats.HealingPower: 60}, time.Second*10) handler := func(sim *core.Simulation, spell *core.Spell, _ *core.SpellResult) { procAura.Activate(sim) } core.MakeProcTriggerAura(&c.Unit, core.ProcTrigger{ ActionID: core.ActionID{SpellID: 449935}, Name: "The Furious Storm", Callback: core.CallbackOnCastComplete, ProcMask: core.ProcMaskSpellDamage | core.ProcMaskSpellHealing, ProcChance: 0.10, Handler: handler, }) }, }, })
View Source
var ItemSetWailingBerserkersPlateArmor = core.NewItemSet(core.ItemSet{ Name: "Wailing Berserker's Plate Armor", Bonuses: map[int32]core.ApplyEffect{ 2: func(agent core.Agent) { c := agent.GetCharacter() c.AddStat(stats.MeleeHit, 1) c.AddStat(stats.SpellHit, 1) }, 3: func(agent core.Agent) { c := agent.GetCharacter() handler := func(sim *core.Simulation, spell *core.Spell, _ *core.SpellResult) { c.AutoAttacks.ExtraMHAttack(sim, 1, core.ActionID{SpellID: 449970}) } core.MakeProcTriggerAura(&c.Unit, core.ProcTrigger{ ActionID: core.ActionID{SpellID: 449970}, Name: "Extra Attack", Callback: core.CallbackOnSpellHitDealt, ProcMask: core.ProcMaskMelee, ProcChance: 0.03, ICD: 200 * time.Millisecond, Handler: handler, }) }, }, })
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.