Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feral Tank set bonus #1180

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions sim/druid/druid.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,8 @@ type Druid struct {
SolarEclipseProcAura *core.Aura
LunarEclipseProcAura *core.Aura
WildStrikesBuffAura *core.Aura
Tank2PieceAqAura *core.Aura
Tank2PieceAqProcAura *core.Aura

BleedCategories core.ExclusiveCategoryArray
SavageRoarDurationTable [6]time.Duration
Expand Down
50 changes: 48 additions & 2 deletions sim/druid/item_sets_pve.go
Original file line number Diff line number Diff line change
Expand Up @@ -677,11 +677,57 @@ var ItemSetGenesisFury = core.NewItemSet(core.ItemSet{
Bonuses: map[int32]core.ApplyEffect{
// Each time you Dodge while in Dire Bear Form, you gain 10% increased damage on your next Mangle or Swipe, stacking up to 5 times.
2: func(agent core.Agent) {
// TODO Bear
druid := agent.(DruidAgent).GetDruid()

druid.Tank2PieceAqProcAura = druid.RegisterAura(core.Aura{
Label: "Feral 2P Bonus Proc",
ActionID: core.ActionID{SpellID: 1213188},
Duration: time.Second * 10,
MaxStacks: 5,
OnStacksChange: func(aura *core.Aura, sim *core.Simulation, oldStacks, newStacks int32) {
if newStacks == 0 {
druid.MangleBear.DamageMultiplierAdditive -= float64(oldStacks) * .1
druid.SwipeBear.DamageMultiplierAdditive -= float64(oldStacks) * .1
} else {
druid.MangleBear.DamageMultiplierAdditive += .1
druid.SwipeBear.DamageMultiplierAdditive += .1
}
emsimpson92 marked this conversation as resolved.
Show resolved Hide resolved
},
})

druid.Tank2PieceAqAura = druid.RegisterAura(core.Aura{
Label: "S03 - Item - TAQ - Druid - Feral 2P Bonus",
emsimpson92 marked this conversation as resolved.
Show resolved Hide resolved
ActionID: core.ActionID{SpellID: 1213188},
ActionIDForProc: core.ActionID{SpellID: 1213190},
emsimpson92 marked this conversation as resolved.
Show resolved Hide resolved
Duration: core.NeverExpires,
OnReset: func(aura *core.Aura, sim *core.Simulation) {
aura.Activate(sim)
},
OnSpellHitTaken: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
if druid.HasRageBar() && spell.ProcMask.Matches(core.ProcMaskMelee|core.ProcMaskRanged) && result.Outcome.Matches(core.OutcomeDodge) {
emsimpson92 marked this conversation as resolved.
Show resolved Hide resolved
druid.Tank2PieceAqProcAura.Activate(sim)
druid.Tank2PieceAqProcAura.AddStack(sim)
}
},
OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
if spell.SpellID == druid.MangleBear.SpellID || spell.SpellID == druid.SwipeBear.SpellID {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another knit here, but can you add SpellCodes on both spells and use that instead of the SpellID here? That's our general practice since Spell IDs don't work for anything that has multiple spell ranks available at any given time

druid.Tank2PieceAqProcAura.SetStacks(sim, 0)
}
},
})
},
// Reduces the cooldown on Mangle (Bear) by 1.5 sec.
4: func(agent core.Agent) {
// TODO Bear
druid := agent.(DruidAgent).GetDruid()
if !druid.HasRune(proto.DruidRune_RuneHandsMangle) {
return
}
druid.RegisterAura(core.Aura{
Label: "S03 - Item - TAQ - Druid - Feral 4P Bonus",
OnInit: func(aura *core.Aura, sim *core.Simulation) {
druid.MangleBear.CD.Duration -= (time.Second + 500*time.Millisecond)
emsimpson92 marked this conversation as resolved.
Show resolved Hide resolved
},
})
},
},
})
Expand Down
Loading