Skip to content

Commit

Permalink
[Warrior] Add Pummel
Browse files Browse the repository at this point in the history
  • Loading branch information
hillerstorm committed Dec 25, 2024
1 parent 3d8f601 commit d229f99
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
48 changes: 48 additions & 0 deletions sim/warrior/pummel.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package warrior

import (
"time"

"github.com/wowsims/classic/sim/core"
)

func (warrior *Warrior) registerPummelSpell() {
damage := 50.0

warrior.Hamstring = warrior.RegisterSpell(BerserkerStance, core.SpellConfig{
ActionID: core.ActionID{SpellID: 6554},
SpellSchool: core.SpellSchoolPhysical,
DefenseType: core.DefenseTypeMelee,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagAPL | core.SpellFlagBinary | SpellFlagOffensive,

RageCost: core.RageCostOptions{
Cost: 10,
Refund: 0.8,
},
Cast: core.CastConfig{
DefaultCast: core.Cast{
GCD: core.GCDDefault,
},
IgnoreHaste: true,
CD: core.Cooldown{
Timer: warrior.NewTimer(),
Duration: time.Second * 10,
},
},

CritDamageBonus: warrior.impale(),

DamageMultiplier: 1,
ThreatMultiplier: 1,
BonusCoefficient: 1,

ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) {
result := spell.CalcAndDealDamage(sim, target, damage, spell.OutcomeMeleeWeaponSpecialHitAndCrit)

if !result.Landed() {
spell.IssueRefund(sim)
}
},
})
}
1 change: 1 addition & 0 deletions sim/warrior/warrior.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@ func (warrior *Warrior) Initialize() {
warrior.registerWhirlwindSpell()
warrior.registerRendSpell()
warrior.registerHamstringSpell()
warrior.registerPummelSpell()

// The sim often re-enables heroic strike in an unrealistic amount of time.
// This can cause an unrealistic immediate double-hit around wild strikes procs
Expand Down

0 comments on commit d229f99

Please sign in to comment.