Skip to content

Commit

Permalink
Merge branch 'master' into P6Enchants
Browse files Browse the repository at this point in the history
  • Loading branch information
kayla-glick authored Nov 18, 2024
2 parents 72b74e7 + 3b198d6 commit 949d85d
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 1 deletion.
6 changes: 5 additions & 1 deletion sim/common/vanilla/item_effects.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ const (
NeretzekBloodDrinker = 233647
Speedstone = 233990
ManslayerOfTheQiraji = 234067
EyeOfMoam = 234080 // 21473
DarkmoonCardHeroism = 234176 // 19287
DarkmoonCardBlueDragon = 234177 // 19288
DarkmoonCardMaelstrom = 234178 // 19289
Expand Down Expand Up @@ -2372,7 +2373,6 @@ func init() {

// https://www.wowhead.com/classic/item=234462/earthstrike
// Use: Increases your melee and ranged attack power by 328. Effect lasts for 20 sec. (2 Min Cooldown)

core.NewSimpleStatOffensiveTrinketEffect(Earthstrike, stats.Stats{stats.AttackPower: 328, stats.RangedAttackPower: 328}, time.Second*20, time.Second*120)

// https://www.wowhead.com/classic/item=228293/essence-of-the-pure-flame
Expand Down Expand Up @@ -2406,6 +2406,10 @@ func init() {
})
})

// https://www.wowhead.com/classic/item=234080/eye-of-moam
// Use: Increases damage done by magical spells and effects by up to 150, and decreases the magical resistances of your spell targets by 100 for 30 sec. (3 Min Cooldown)
core.NewSimpleStatOffensiveTrinketEffect(EyeOfMoam, stats.Stats{stats.SpellDamage: 150, stats.SpellPenetration: 100}, time.Second*30, time.Minute*3)

// https://www.wowhead.com/classic/item=227990/hand-of-injustice
// Equip: 2% chance on ranged hit to gain 1 extra attack. (Proc chance: 2%, 2s cooldown)
core.NewItemEffect(HandOfInjustice, func(agent core.Agent) {
Expand Down
1 change: 1 addition & 0 deletions sim/druid/items.go
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,7 @@ func init() {
[][]*DruidSpell{
druid.Wrath,
druid.Moonfire,
{druid.Sunfire, druid.Starsurge, druid.StarfallSplash, druid.StarfallTick},
},
),
func(spell *DruidSpell) bool { return spell != nil },
Expand Down
13 changes: 13 additions & 0 deletions sim/druid/starfall.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,14 @@ func (druid *Druid) registerStarfallCD() {
BonusCoefficient: spellCoefSplash,

ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) {
// Apply the base spell's multipliers to pick up on effects that only affect spells with DoTs
spell.DamageMultiplierAdditive += druid.Starfall.PeriodicDamageMultiplierAdditive - 1

for _, aoeTarget := range sim.Encounter.TargetUnits {
spell.CalcAndDealDamage(sim, aoeTarget, baseDamageSplash, spell.OutcomeMagicHitAndCrit)
}

spell.DamageMultiplierAdditive -= druid.Starfall.PeriodicDamageMultiplierAdditive - 1
},
})

Expand All @@ -57,7 +62,12 @@ func (druid *Druid) registerStarfallCD() {

ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) {
baseDamage := sim.Roll(baseDamageLow, baseDamageHigh)

// Apply the base spell's multipliers to pick up on effects that only affect spells with DoTs
spell.DamageMultiplierAdditive += druid.Starfall.PeriodicDamageMultiplierAdditive - 1
spell.CalcAndDealDamage(sim, target, baseDamage, spell.OutcomeMagicHitAndCrit)
spell.DamageMultiplierAdditive -= druid.Starfall.PeriodicDamageMultiplierAdditive - 1

druid.StarfallSplash.Cast(sim, target)
},
})
Expand Down Expand Up @@ -94,6 +104,9 @@ func (druid *Druid) registerStarfallCD() {
},
},

DamageMultiplier: 1,
ThreatMultiplier: 1,

ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) {
spell.Dot(target).Apply(sim)
},
Expand Down
7 changes: 7 additions & 0 deletions sim/priest/mind_sear.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ func (priest *Priest) newMindSearSpellConfig(tickIdx int32) core.SpellConfig {
},
},

DamageMultiplier: 1,
ThreatMultiplier: 1,

ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) {
result := spell.CalcOutcome(sim, target, spell.OutcomeMagicHit)
priest.MindSearTicks[tickIdx].SpellMetrics[target.UnitIndex].Casts += 1
Expand Down Expand Up @@ -99,7 +102,11 @@ func (priest *Priest) newMindSearTickSpell(numTicks int32) *core.Spell {

ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) {
damage := sim.Roll(baseDamageLow, baseDamageHigh)

// Apply the base spell's multipliers to pick up on effects that only affect spells with DoTs
spell.DamageMultiplierAdditive += priest.MindSear[numTicks].PeriodicDamageMultiplierAdditive - 1
result := spell.CalcAndDealDamage(sim, target, damage, spell.OutcomeMagicHitAndCrit)
spell.DamageMultiplierAdditive -= priest.MindSear[numTicks].PeriodicDamageMultiplierAdditive - 1

if result.Landed() {
priest.AddShadowWeavingStack(sim, target)
Expand Down

0 comments on commit 949d85d

Please sign in to comment.