From 1914f3ccdbfc7c5e5755ebcca4a3870036eab17c Mon Sep 17 00:00:00 2001 From: James Tanner Date: Mon, 15 Jan 2024 14:29:52 -0800 Subject: [PATCH] Apply Sated at start of Bloodlust, not at the end --- sim/core/buffs.go | 6 +- sim/hunter/TestMM.results | 4 +- sim/hunter/TestSV.results | 56 +++++++++---------- sim/shaman/bloodlust.go | 25 +++------ .../enhancement/TestEnhancement.results | 44 +++++++-------- 5 files changed, 60 insertions(+), 75 deletions(-) diff --git a/sim/core/buffs.go b/sim/core/buffs.go index 66d59134fd..80cc4bef33 100644 --- a/sim/core/buffs.go +++ b/sim/core/buffs.go @@ -618,14 +618,10 @@ func BloodlustAura(character *Character, actionTag int32) *Aura { } } - if character.HasActiveAura(SatedAuraLabel) { - aura.Deactivate(sim) // immediately remove it person already has sated. - return - } + sated.Activate(sim) }, OnExpire: func(aura *Aura, sim *Simulation) { character.MultiplyAttackSpeed(sim, 1.0/1.3) - sated.Activate(sim) }, }) multiplyCastSpeedEffect(aura, 1.3) diff --git a/sim/hunter/TestMM.results b/sim/hunter/TestMM.results index b6d01b6e07..7b26feddbf 100644 --- a/sim/hunter/TestMM.results +++ b/sim/hunter/TestMM.results @@ -883,8 +883,8 @@ dps_results: { dps_results: { key: "TestMM-Average-Default" value: { - dps: 7326.34916 - tps: 6407.8235 + dps: 7326.34911 + tps: 6407.82346 } } dps_results: { diff --git a/sim/hunter/TestSV.results b/sim/hunter/TestSV.results index b992906c09..d1612c4fa0 100644 --- a/sim/hunter/TestSV.results +++ b/sim/hunter/TestSV.results @@ -111,8 +111,8 @@ dps_results: { dps_results: { key: "TestSV-AllItems-Beast-tamer'sShoulders-30892" value: { - dps: 7443.16613 - tps: 6405.93074 + dps: 7443.15682 + tps: 6405.92143 } } dps_results: { @@ -125,15 +125,15 @@ dps_results: { dps_results: { key: "TestSV-AllItems-BlackBruise-50035" value: { - dps: 7230.33019 - tps: 6199.47865 + dps: 7230.3098 + tps: 6199.45826 } } dps_results: { key: "TestSV-AllItems-BlackBruise-50692" value: { - dps: 7219.82063 - tps: 6189.30907 + dps: 7219.80024 + tps: 6189.28868 } } dps_results: { @@ -399,8 +399,8 @@ dps_results: { dps_results: { key: "TestSV-AllItems-Gladiator'sPursuit" value: { - dps: 7426.45191 - tps: 6435.2872 + dps: 7426.46195 + tps: 6435.29724 } } dps_results: { @@ -764,8 +764,8 @@ dps_results: { dps_results: { key: "TestSV-AllItems-TheFistsofFury" value: { - dps: 7288.48909 - tps: 6256.72859 + dps: 7288.47905 + tps: 6256.71854 } } dps_results: { @@ -785,8 +785,8 @@ dps_results: { dps_results: { key: "TestSV-AllItems-ThunderingSkyflareDiamond" value: { - dps: 7463.85835 - tps: 6413.40655 + dps: 7463.84904 + tps: 6413.39724 } } dps_results: { @@ -876,15 +876,15 @@ dps_results: { dps_results: { key: "TestSV-AllItems-Zod'sRepeatingLongbow-50638" value: { - dps: 8036.87789 - tps: 6995.38282 + dps: 8036.85899 + tps: 6995.36392 } } dps_results: { key: "TestSV-Average-Default" value: { - dps: 7613.10031 - tps: 6565.75152 + dps: 7613.10025 + tps: 6565.75145 } } dps_results: { @@ -897,8 +897,8 @@ dps_results: { dps_results: { key: "TestSV-Settings-Dwarf-p1_sv-Basic-aoe-FullBuffs-LongSingleTarget" value: { - dps: 3520.28498 - tps: 2532.13458 + dps: 3520.28427 + tps: 2532.13387 } } dps_results: { @@ -981,8 +981,8 @@ dps_results: { dps_results: { key: "TestSV-Settings-Dwarf-p1_sv-Basic-sv_advanced-FullBuffs-LongSingleTarget" value: { - dps: 7741.21864 - tps: 6753.20808 + dps: 7741.22067 + tps: 6753.2101 } } dps_results: { @@ -1023,8 +1023,8 @@ dps_results: { dps_results: { key: "TestSV-Settings-Orc-p1_sv-Basic-aoe-FullBuffs-LongSingleTarget" value: { - dps: 3570.49709 - tps: 2528.70106 + dps: 3570.51617 + tps: 2528.72015 } } dps_results: { @@ -1100,15 +1100,15 @@ dps_results: { dps_results: { key: "TestSV-Settings-Orc-p1_sv-Basic-sv_advanced-FullBuffs-LongMultiTarget" value: { - dps: 20278.06925 - tps: 20384.31888 + dps: 20278.25535 + tps: 20384.50498 } } dps_results: { key: "TestSV-Settings-Orc-p1_sv-Basic-sv_advanced-FullBuffs-LongSingleTarget" value: { - dps: 7793.73043 - tps: 6750.69395 + dps: 7793.73246 + tps: 6750.69598 } } dps_results: { @@ -1142,7 +1142,7 @@ dps_results: { dps_results: { key: "TestSV-SwitchInFrontOfTarget-Default" value: { - dps: 7546.32952 - tps: 6577.29598 + dps: 7546.32188 + tps: 6577.28834 } } diff --git a/sim/shaman/bloodlust.go b/sim/shaman/bloodlust.go index 73dcebdf2d..8becff8b6e 100644 --- a/sim/shaman/bloodlust.go +++ b/sim/shaman/bloodlust.go @@ -39,33 +39,22 @@ func (shaman *Shaman) registerBloodlustCD() { }, }, ExtraCastCondition: func(sim *core.Simulation, target *core.Unit) bool { - // Need to check if any raid member has lust, not just self, because of - // major CD ordering issues with the shared bloodlust. - - // If all players in all parties already have sated, don't cast. - allSated := true - for _, party := range shaman.Env.Raid.Parties { - for _, partyMember := range party.Players { - // If anyone currently has bloodlust, don't cast this. - if partyMember.GetCharacter().HasActiveAuraWithTag(core.BloodlustAuraTag) { - return false - } - if !partyMember.GetCharacter().HasActiveAura(core.SatedAuraLabel) { - allSated = false - } + // Only cast if there is a player missing Sated. + for _, playerUnit := range shaman.Env.Raid.AllPlayerUnits { + if !playerUnit.HasActiveAura(core.SatedAuraLabel) { + return true } } - return true && !allSated + return false }, ApplyEffects: func(sim *core.Simulation, _ *core.Unit, _ *core.Spell) { for _, blAura := range blAuras { target := blAura.Unit - // Only activate bloodlust on units without bloodlust and without sated. - if !target.HasActiveAura(core.SatedAuraLabel) && !target.HasActiveAuraWithTag(core.BloodlustAuraTag) { + // Only activate bloodlust on units without sated. + if !target.HasActiveAura(core.SatedAuraLabel) { blAura.Activate(sim) } - } }, }) diff --git a/sim/shaman/enhancement/TestEnhancement.results b/sim/shaman/enhancement/TestEnhancement.results index e1003be241..e875633462 100644 --- a/sim/shaman/enhancement/TestEnhancement.results +++ b/sim/shaman/enhancement/TestEnhancement.results @@ -67,7 +67,7 @@ dps_results: { dps_results: { key: "TestEnhancement-AllItems-Bandit'sInsignia-40371" value: { - dps: 7483.83142 + dps: 7483.82906 tps: 4502.49884 } } @@ -160,7 +160,7 @@ dps_results: { dps_results: { key: "TestEnhancement-AllItems-ChaoticSkyflareDiamond" value: { - dps: 7517.5956 + dps: 7517.60296 tps: 4541.24132 } } @@ -189,7 +189,7 @@ dps_results: { dps_results: { key: "TestEnhancement-AllItems-DarkmoonCard:Berserker!-42989" value: { - dps: 7440.73677 + dps: 7440.73412 tps: 4482.07352 } } @@ -238,7 +238,7 @@ dps_results: { dps_results: { key: "TestEnhancement-AllItems-Deathbringer'sWill-50363" value: { - dps: 7665.11029 + dps: 7665.10475 tps: 4624.98575 } } @@ -252,7 +252,7 @@ dps_results: { dps_results: { key: "TestEnhancement-AllItems-DestructiveSkyflareDiamond" value: { - dps: 7367.83375 + dps: 7367.84111 tps: 4442.52403 } } @@ -301,14 +301,14 @@ dps_results: { dps_results: { key: "TestEnhancement-AllItems-EnigmaticSkyflareDiamond" value: { - dps: 7364.28305 + dps: 7364.29041 tps: 4440.3837 } } dps_results: { key: "TestEnhancement-AllItems-EnigmaticStarflareDiamond" value: { - dps: 7361.70024 + dps: 7361.70761 tps: 4438.28352 } } @@ -343,7 +343,7 @@ dps_results: { dps_results: { key: "TestEnhancement-AllItems-EyeoftheBroodmother-45308" value: { - dps: 7535.20879 + dps: 7535.20614 tps: 4536.34072 } } @@ -483,14 +483,14 @@ dps_results: { dps_results: { key: "TestEnhancement-AllItems-ImpassiveSkyflareDiamond" value: { - dps: 7364.28305 + dps: 7364.29041 tps: 4440.3837 } } dps_results: { key: "TestEnhancement-AllItems-ImpassiveStarflareDiamond" value: { - dps: 7361.70024 + dps: 7361.70761 tps: 4438.28352 } } @@ -771,7 +771,7 @@ dps_results: { dps_results: { key: "TestEnhancement-AllItems-Stonebreaker'sTotem-33507" value: { - dps: 7510.17313 + dps: 7510.17386 tps: 4531.32076 } } @@ -967,7 +967,7 @@ dps_results: { dps_results: { key: "TestEnhancement-AllItems-WorldbreakerGarb" value: { - dps: 6954.483 + dps: 6954.47711 tps: 4146.43269 } } @@ -981,7 +981,7 @@ dps_results: { dps_results: { key: "TestEnhancement-Average-Default" value: { - dps: 7551.26338 + dps: 7551.26349 tps: 4560.96266 } } @@ -1079,7 +1079,7 @@ dps_results: { dps_results: { key: "TestEnhancement-Settings-Orc-p1-FT-phase_3-FullBuffs-LongSingleTarget" value: { - dps: 7616.89185 + dps: 7616.8942 tps: 4549.13163 } } @@ -1156,14 +1156,14 @@ dps_results: { dps_results: { key: "TestEnhancement-Settings-Orc-p1-WF-default_wf-FullBuffs-LongMultiTarget" value: { - dps: 21690.21929 + dps: 21690.25599 tps: 13696.7373 } } dps_results: { key: "TestEnhancement-Settings-Orc-p1-WF-default_wf-FullBuffs-LongSingleTarget" value: { - dps: 6407.59639 + dps: 6407.5905 tps: 3963.37725 } } @@ -1198,14 +1198,14 @@ dps_results: { dps_results: { key: "TestEnhancement-Settings-Orc-p1-WF-phase_3-FullBuffs-LongMultiTarget" value: { - dps: 22332.92499 + dps: 22332.98881 tps: 14053.10037 } } dps_results: { key: "TestEnhancement-Settings-Orc-p1-WF-phase_3-FullBuffs-LongSingleTarget" value: { - dps: 6333.04736 + dps: 6333.05217 tps: 3909.91624 } } @@ -1366,14 +1366,14 @@ dps_results: { dps_results: { key: "TestEnhancement-Settings-Troll-p1-WF-default_ft-FullBuffs-LongMultiTarget" value: { - dps: 22214.34484 + dps: 22214.3077 tps: 14071.30753 } } dps_results: { key: "TestEnhancement-Settings-Troll-p1-WF-default_ft-FullBuffs-LongSingleTarget" value: { - dps: 6317.56193 + dps: 6317.56077 tps: 3916.88417 } } @@ -1415,7 +1415,7 @@ dps_results: { dps_results: { key: "TestEnhancement-Settings-Troll-p1-WF-default_wf-FullBuffs-LongSingleTarget" value: { - dps: 6374.41933 + dps: 6374.42228 tps: 3951.79147 } } @@ -1457,7 +1457,7 @@ dps_results: { dps_results: { key: "TestEnhancement-Settings-Troll-p1-WF-phase_3-FullBuffs-LongSingleTarget" value: { - dps: 6316.60001 + dps: 6316.59092 tps: 3912.07724 } }