Skip to content

Commit

Permalink
add druid cat spells mask, separate sunfire cat mask
Browse files Browse the repository at this point in the history
  • Loading branch information
kayla-glick committed Jan 28, 2025
1 parent bdc05ca commit bc153e6
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 11 deletions.
6 changes: 1 addition & 5 deletions sim/druid/berserk.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,13 @@ func (druid *Druid) applyBerserk() {
}

actionId := core.ActionID{SpellID: 417141}
affectedSpellClassMasks := ClassSpellMask_DruidRip | ClassSpellMask_DruidRake | ClassSpellMask_DruidTigersFury |
ClassSpellMask_DruidShred | ClassSpellMask_DruidFerociousBite | ClassSpellMask_DruidMangleCat |
ClassSpellMask_DruidSwipeCat | ClassSpellMask_DruidSavageRoar

druid.BerserkAura = druid.RegisterAura(core.Aura{
Label: "Berserk",
ActionID: actionId,
Duration: time.Second * 15,
}).AttachSpellMod(core.SpellModConfig{
Kind: core.SpellMod_PowerCost_Pct,
ClassMask: affectedSpellClassMasks,
ClassMask: ClassSpellMask_DruidCatFormSpells,
IntValue: -50,
})

Expand Down
5 changes: 4 additions & 1 deletion sim/druid/druid.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ const (
ClassSpellMask_DruidStarfallTick
ClassSpellMask_DruidStarfallSplash
ClassSpellMask_DruidSunfire
ClassSpellMask_DruidSunfireCat
ClassSpellMask_DruidHurricane
ClassSpellMask_DruidTigersFury
ClassSpellMask_DruidSavageRoar
Expand All @@ -49,7 +50,9 @@ const (
ClassSpellMask_DruidLast
ClassSpellMask_DruidAll = ClassSpellMask_DruidLast<<1 - 1

ClassSpellMask_DruidForms = ClassSpellMask_DruidCatForm | ClassSpellMask_DruidBearForm | ClassSpellMask_DruidMoonkinForm
ClassSpellMask_DruidForms = ClassSpellMask_DruidCatForm | ClassSpellMask_DruidBearForm | ClassSpellMask_DruidMoonkinForm
ClassSpellMask_DruidCatFormSpells = ClassSpellMask_DruidFerociousBite | ClassSpellMask_DruidMangleCat | ClassSpellMask_DruidRake | ClassSpellMask_DruidRip |
ClassSpellMask_DruidSavageRoar | ClassSpellMask_DruidShred | ClassSpellMask_DruidSunfireCat | ClassSpellMask_DruidSwipeCat | ClassSpellMask_DruidTigersFury
)

type Druid struct {
Expand Down
2 changes: 1 addition & 1 deletion sim/druid/item_sets_pve_phase_7.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func (druid *Druid) applyNaxxramasBalance2PBonus() {
Label: label,
}).AttachSpellMod(core.SpellModConfig{
Kind: core.SpellMod_BonusDamage_Flat,
ClassMask: ClassSpellMask_DruidMoonfire | ClassSpellMask_DruidSunfire,
ClassMask: ClassSpellMask_DruidMoonfire | ClassSpellMask_DruidSunfire | ClassSpellMask_DruidSunfireCat,
FloatValue: 0.20,
}))
}
Expand Down
2 changes: 1 addition & 1 deletion sim/druid/items.go
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ func init() {
core.NewItemEffect(IdolOfTheMoon, func(agent core.Agent) {
druid := agent.(DruidAgent).GetDruid()
druid.OnSpellRegistered(func(spell *core.Spell) {
if spell.Matches(ClassSpellMask_DruidMoonfire | ClassSpellMask_DruidSunfire | ClassSpellMask_DruidStarfallSplash | ClassSpellMask_DruidStarfallTick) {
if spell.Matches(ClassSpellMask_DruidMoonfire | ClassSpellMask_DruidSunfire | ClassSpellMask_DruidSunfireCat | ClassSpellMask_DruidStarfallSplash | ClassSpellMask_DruidStarfallTick) {
spell.BonusDamage += 33
}
})
Expand Down
4 changes: 3 additions & 1 deletion sim/druid/sunfire.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ func (druid *Druid) registerSunfireHumanoidSpell(baseDamageLow float64, baseDama
dotCoeff := .13

config := druid.getSunfireBaseSpellConfig(
ClassSpellMask_DruidSunfire,
actionID,
core.SpellFlagResetAttackSwing,
func(sim *core.Simulation, _ *core.Spell) float64 {
Expand All @@ -40,7 +41,6 @@ func (druid *Druid) registerSunfireHumanoidSpell(baseDamageLow float64, baseDama
func(_ *core.Simulation, _ *core.Unit, _ *core.Spell) {},
)

config.ClassSpellMask = ClassSpellMask_DruidSunfire
config.ManaCost = core.ManaCostOptions{
BaseCost: 0.21,
}
Expand All @@ -60,6 +60,7 @@ func (druid *Druid) registerSunfireCatSpell(baseDamageLow float64, baseDamageHig
dotAPCoeff := .104

config := druid.getSunfireBaseSpellConfig(
ClassSpellMask_DruidSunfireCat,
actionID,
core.SpellFlagNone,
func(sim *core.Simulation, spell *core.Spell) float64 {
Expand All @@ -83,6 +84,7 @@ func (druid *Druid) registerSunfireCatSpell(baseDamageLow float64, baseDamageHig
}

func (druid *Druid) getSunfireBaseSpellConfig(
classMask int64,
actionID core.ActionID,
additionalFlags core.SpellFlag,
getBaseDamage func(sim *core.Simulation, spell *core.Spell) float64,
Expand Down
4 changes: 2 additions & 2 deletions sim/druid/talents.go
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ func (druid *Druid) applyMoonfury() {
Label: "Moonfury",
}).AttachSpellMod(core.SpellModConfig{
Kind: core.SpellMod_DamageDone_Flat,
ClassMask: ClassSpellMask_DruidWrath | ClassSpellMask_DruidStarfire | ClassSpellMask_DruidMoonfire | ClassSpellMask_DruidStarsurge | ClassSpellMask_DruidSunfire,
ClassMask: ClassSpellMask_DruidWrath | ClassSpellMask_DruidStarfire | ClassSpellMask_DruidMoonfire | ClassSpellMask_DruidStarsurge | ClassSpellMask_DruidSunfire | ClassSpellMask_DruidSunfireCat,
IntValue: int64(2 * druid.Talents.Moonfury),
}))
}
Expand All @@ -310,7 +310,7 @@ func (druid *Druid) applyImprovedMoonfire() {
return
}

affectedSpells := ClassSpellMask_DruidMoonfire | ClassSpellMask_DruidSunfire | ClassSpellMask_DruidStarfallTick | ClassSpellMask_DruidStarfallSplash
affectedSpells := ClassSpellMask_DruidMoonfire | ClassSpellMask_DruidSunfire | ClassSpellMask_DruidSunfireCat | ClassSpellMask_DruidStarfallTick | ClassSpellMask_DruidStarfallSplash

core.MakePermanent(druid.RegisterAura(core.Aura{
Label: "Improved moonfire",
Expand Down

0 comments on commit bc153e6

Please sign in to comment.