From ffdd1eefb8702848264989a89eb95682c32b68b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Hillerstr=C3=B6m?= Date: Thu, 7 Nov 2024 19:51:47 +0100 Subject: [PATCH] [Blood] Add Blood Strike to DRW copy just because we can --- sim/death_knight/blood_strike.go | 22 +++++++++++++++++++--- sim/death_knight/dancing_rune_weapon.go | 1 + 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/sim/death_knight/blood_strike.go b/sim/death_knight/blood_strike.go index 423549f699..8e4a5d2b82 100644 --- a/sim/death_knight/blood_strike.go +++ b/sim/death_knight/blood_strike.go @@ -5,11 +5,11 @@ import ( "github.com/wowsims/cata/sim/core/proto" ) -var bloodStrikeActionID = core.ActionID{SpellID: 45902} +var BloodStrikeActionID = core.ActionID{SpellID: 45902} func (dk *DeathKnight) registerBloodStrikeSpell() { ohSpell := dk.GetOrRegisterSpell(core.SpellConfig{ - ActionID: bloodStrikeActionID.WithTag(2), + ActionID: BloodStrikeActionID.WithTag(2), SpellSchool: core.SpellSchoolPhysical, ProcMask: core.ProcMaskMeleeOHSpecial, Flags: core.SpellFlagMeleeMetrics, @@ -33,7 +33,7 @@ func (dk *DeathKnight) registerBloodStrikeSpell() { hasReaping := dk.Inputs.Spec == proto.Spec_SpecUnholyDeathKnight dk.GetOrRegisterSpell(core.SpellConfig{ - ActionID: bloodStrikeActionID.WithTag(1), + ActionID: BloodStrikeActionID.WithTag(1), SpellSchool: core.SpellSchoolPhysical, ProcMask: core.ProcMaskMeleeMHSpecial, Flags: core.SpellFlagMeleeMetrics | core.SpellFlagAPL, @@ -74,3 +74,19 @@ func (dk *DeathKnight) registerBloodStrikeSpell() { }, }) } + +func (dk *DeathKnight) registerDrwBloodStrikeSpell() *core.Spell { + return dk.RuneWeapon.RegisterSpell(core.SpellConfig{ + ActionID: BloodStrikeActionID.WithTag(1), + SpellSchool: core.SpellSchoolPhysical, + ProcMask: core.ProcMaskMeleeMHSpecial, + Flags: core.SpellFlagMeleeMetrics, + + ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) { + baseDamage := dk.ClassSpellScaling*0.75599998236 + + spell.Unit.MHNormalizedWeaponDamage(sim, spell.MeleeAttackPower()) + + spell.CalcAndDealDamage(sim, target, baseDamage, spell.OutcomeMeleeWeaponSpecialHitAndCrit) + }, + }) +} diff --git a/sim/death_knight/dancing_rune_weapon.go b/sim/death_knight/dancing_rune_weapon.go index 76a4af859e..05df59c922 100644 --- a/sim/death_knight/dancing_rune_weapon.go +++ b/sim/death_knight/dancing_rune_weapon.go @@ -136,6 +136,7 @@ func (runeWeapon *RuneWeaponPet) Initialize() { runeWeapon.AddCopySpell(DeathStrikeActionID.WithTag(1), runeWeapon.dkOwner.registerDrwDeathStrikeSpell()) runeWeapon.AddCopySpell(RuneStrikeActionID.WithTag(1), runeWeapon.dkOwner.registerDrwRuneStrikeSpell()) runeWeapon.AddCopySpell(FesteringStrikeActionID.WithTag(1), runeWeapon.dkOwner.registerDrwFesteringStrikeSpell()) + runeWeapon.AddCopySpell(BloodStrikeActionID.WithTag(1), runeWeapon.dkOwner.registerDrwBloodStrikeSpell()) } func (runeWeapon *RuneWeaponPet) AddCopySpell(actionId core.ActionID, spell *core.Spell) {