Skip to content

Commit

Permalink
Merge pull request #1127 from ncberman/hunter_improvedSSFix
Browse files Browse the repository at this point in the history
(Minor Fix) Improved SS applies to SP and AP scaling, Ranged Weapon Spec no longer applies to serpent sting
  • Loading branch information
kayla-glick authored Oct 19, 2024
2 parents 6baf60d + 84184f8 commit 09d59a5
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 53 deletions.
96 changes: 48 additions & 48 deletions sim/hunter/TestMM.results
Original file line number Diff line number Diff line change
Expand Up @@ -246,85 +246,85 @@ dps_results: {
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Dwarf-p2_ranged_mm-Basic-p2_ranged_mm-FullBuffs-P2-Consumes-LongMultiTarget"
value: {
dps: 638.66105
tps: 622.10882
dps: 637.75179
tps: 621.19422
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Dwarf-p2_ranged_mm-Basic-p2_ranged_mm-FullBuffs-P2-Consumes-LongSingleTarget"
value: {
dps: 576.21639
tps: 430.89123
dps: 575.30175
tps: 429.97118
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Dwarf-p2_ranged_mm-Basic-p2_ranged_mm-FullBuffs-P2-Consumes-ShortSingleTarget"
value: {
dps: 579.87679
tps: 436.04622
dps: 579.0025
tps: 435.14489
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Dwarf-p2_ranged_mm-Basic-p2_ranged_mm-NoBuffs-P2-Consumes-LongMultiTarget"
value: {
dps: 366.58105
tps: 477.87417
dps: 365.89961
tps: 477.18743
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Dwarf-p2_ranged_mm-Basic-p2_ranged_mm-NoBuffs-P2-Consumes-LongSingleTarget"
value: {
dps: 317.24433
tps: 248.89185
dps: 316.56399
tps: 248.20619
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Dwarf-p2_ranged_mm-Basic-p2_ranged_mm-NoBuffs-P2-Consumes-ShortSingleTarget"
value: {
dps: 336.20403
tps: 265.20193
dps: 335.55189
tps: 264.52325
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Orc-p2_ranged_mm-Basic-p2_ranged_mm-FullBuffs-P2-Consumes-LongMultiTarget"
value: {
dps: 642.81631
tps: 624.27177
dps: 641.90575
tps: 623.35582
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Orc-p2_ranged_mm-Basic-p2_ranged_mm-FullBuffs-P2-Consumes-LongSingleTarget"
value: {
dps: 582.68646
tps: 432.15312
dps: 581.77154
tps: 431.23276
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Orc-p2_ranged_mm-Basic-p2_ranged_mm-FullBuffs-P2-Consumes-ShortSingleTarget"
value: {
dps: 588.26051
tps: 438.79652
dps: 587.38545
tps: 437.89426
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Orc-p2_ranged_mm-Basic-p2_ranged_mm-NoBuffs-P2-Consumes-LongMultiTarget"
value: {
dps: 370.6203
tps: 472.41646
dps: 369.94009
tps: 471.73094
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Orc-p2_ranged_mm-Basic-p2_ranged_mm-NoBuffs-P2-Consumes-LongSingleTarget"
value: {
dps: 320.20462
tps: 248.02822
dps: 319.52737
tps: 247.34565
}
}
dps_results: {
key: "TestMM-Phase2-Lvl40-Settings-Orc-p2_ranged_mm-Basic-p2_ranged_mm-NoBuffs-P2-Consumes-ShortSingleTarget"
value: {
dps: 338.39261
tps: 262.68297
dps: 337.74228
tps: 262.00607
}
}
dps_results: {
Expand Down Expand Up @@ -449,96 +449,96 @@ dps_results: {
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Dwarf-p4_ranged-Weave-p4_ranged-FullBuffs-P4-Consumes-LongMultiTarget"
value: {
dps: 5083.5808
tps: 5741.58715
dps: 5082.55772
tps: 5740.56407
hps: 18.18481
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Dwarf-p4_ranged-Weave-p4_ranged-FullBuffs-P4-Consumes-LongSingleTarget"
value: {
dps: 3099.03996
tps: 3131.94456
dps: 3098.02637
tps: 3130.93097
hps: 18.15921
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Dwarf-p4_ranged-Weave-p4_ranged-FullBuffs-P4-Consumes-ShortSingleTarget"
value: {
dps: 3103.53705
tps: 3136.06823
dps: 3102.54437
tps: 3135.07555
hps: 17.51273
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Dwarf-p4_ranged-Weave-p4_ranged-NoBuffs-P4-Consumes-LongMultiTarget"
value: {
dps: 2676.40079
tps: 3277.37802
dps: 2675.64004
tps: 3276.61727
hps: 9.54886
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Dwarf-p4_ranged-Weave-p4_ranged-NoBuffs-P4-Consumes-LongSingleTarget"
value: {
dps: 1479.10574
tps: 1509.1546
dps: 1478.34941
tps: 1508.39827
hps: 9.57206
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Dwarf-p4_ranged-Weave-p4_ranged-NoBuffs-P4-Consumes-ShortSingleTarget"
value: {
dps: 1551.80136
tps: 1575.52923
dps: 1551.04163
tps: 1574.76951
hps: 9.6408
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Orc-p4_ranged-Weave-p4_ranged-FullBuffs-P4-Consumes-LongMultiTarget"
value: {
dps: 5558.90949
tps: 6158.13117
dps: 5557.97718
tps: 6157.19886
hps: 18.21869
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Orc-p4_ranged-Weave-p4_ranged-FullBuffs-P4-Consumes-LongSingleTarget"
value: {
dps: 3142.62747
tps: 3172.61357
dps: 3141.61996
tps: 3171.60607
hps: 18.3618
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Orc-p4_ranged-Weave-p4_ranged-FullBuffs-P4-Consumes-ShortSingleTarget"
value: {
dps: 3131.78677
tps: 3162.75731
dps: 3130.89456
tps: 3161.86509
hps: 17.22877
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Orc-p4_ranged-Weave-p4_ranged-NoBuffs-P4-Consumes-LongMultiTarget"
value: {
dps: 2655.86144
tps: 3236.57642
dps: 2655.1607
tps: 3235.87568
hps: 9.52118
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Orc-p4_ranged-Weave-p4_ranged-NoBuffs-P4-Consumes-LongSingleTarget"
value: {
dps: 1446.73681
tps: 1475.77256
dps: 1446.0081
tps: 1475.04385
hps: 9.45155
}
}
dps_results: {
key: "TestMM-Phase4-Lvl60-Settings-Orc-p4_ranged-Weave-p4_ranged-NoBuffs-P4-Consumes-ShortSingleTarget"
value: {
dps: 1474.43009
tps: 1497.38397
dps: 1473.71461
tps: 1496.66849
hps: 9.46227
}
}
Expand Down
1 change: 1 addition & 0 deletions sim/hunter/hunter.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ const (
SpellCode_HunterWyvernStrike

// Stings
SpellCode_HunterSerpentSting

// Traps
SpellCode_HunterExplosiveTrap
Expand Down
8 changes: 4 additions & 4 deletions sim/hunter/serpent_sting.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ import (
func (hunter *Hunter) getSerpentStingConfig(rank int) core.SpellConfig {
spellId := [10]int32{0, 1978, 13549, 13550, 13551, 13552, 13553, 13554, 13555, 25295}[rank]
baseDamage := [10]float64{0, 20, 40, 80, 140, 210, 290, 385, 490, 555}[rank] / 5
baseDamage *= 1 + 0.02*float64(hunter.Talents.ImprovedSerpentSting)
spellCoeff := [10]float64{0, .4, .625, .925, 1, 1, 1, 1, 1, 1}[rank] / 5
manaCost := [10]float64{0, 15, 30, 50, 80, 115, 150, 190, 230, 250}[rank]
level := [10]int{0, 4, 10, 18, 26, 34, 42, 50, 58, 60}[rank]

return core.SpellConfig{
SpellCode: SpellCode_HunterSerpentSting,
ActionID: core.ActionID{SpellID: spellId},
SpellSchool: core.SpellSchoolNature,
DefenseType: core.DefenseTypeRanged,
Expand All @@ -40,7 +40,7 @@ func (hunter *Hunter) getSerpentStingConfig(rank int) core.SpellConfig {
return hunter.DistanceFromTarget >= core.MinRangedAttackDistance
},

DamageMultiplier: 1,
DamageMultiplier: 1 + 0.02*float64(hunter.Talents.ImprovedSerpentSting),
ThreatMultiplier: 1,

Dot: core.DotConfig{
Expand Down Expand Up @@ -78,7 +78,6 @@ func (hunter *Hunter) getSerpentStingConfig(rank int) core.SpellConfig {

func (hunter *Hunter) chimeraShotSerpentStingSpell(rank int) *core.Spell {
baseDamage := [10]float64{0, 20, 40, 80, 140, 210, 290, 385, 490, 555}[rank]
baseDamage *= 1 + 0.02*float64(hunter.Talents.ImprovedSerpentSting)
spellCoeff := [10]float64{0, .4, .625, .925, 1, 1, 1, 1, 1, 1}[rank]
return hunter.RegisterSpell(core.SpellConfig{
ActionID: core.ActionID{SpellID: 409493},
Expand All @@ -93,12 +92,13 @@ func (hunter *Hunter) chimeraShotSerpentStingSpell(rank int) *core.Spell {
CritDamageBonus: hunter.mortalShots(),

DamageMultiplier: 0.48,
DamageMultiplierAdditive: 1 + 0.02*float64(hunter.Talents.ImprovedSerpentSting),
ThreatMultiplier: 1,
BonusCoefficient: spellCoeff,

ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) {
// As of phase 5 the only time serpent sting scales with AP is using the Dragonstalker's Pursuit 6P - this AP scaling doesn't benefit from target AP modifiers
damage := baseDamage + (hunter.SerpentStingAPCoeff*spell.RangedAttackPower(target, true))
damage := baseDamage + (hunter.SerpentStingAPCoeff * spell.RangedAttackPower(target, true))
spell.CalcAndDealDamage(sim, target, damage, spell.OutcomeRangedHitAndCrit)
},
})
Expand Down
2 changes: 1 addition & 1 deletion sim/hunter/talents.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ func (hunter *Hunter) ApplyTalents() {
if hunter.Talents.RangedWeaponSpecialization > 0 {
mult := 1 + 0.01*float64(hunter.Talents.RangedWeaponSpecialization)
hunter.OnSpellRegistered(func(spell *core.Spell) {
if spell.ProcMask.Matches(core.ProcMaskRanged) {
if spell.ProcMask.Matches(core.ProcMaskRanged) && spell.SpellCode != SpellCode_HunterSerpentSting {
spell.DamageMultiplier *= mult
}
})
Expand Down

0 comments on commit 09d59a5

Please sign in to comment.