Skip to content

Commit

Permalink
split out rogue draught of the sands
Browse files Browse the repository at this point in the history
  • Loading branch information
kayla-glick committed Dec 27, 2024
1 parent 4b20b13 commit f385427
Show file tree
Hide file tree
Showing 8 changed files with 302 additions and 284 deletions.
214 changes: 107 additions & 107 deletions sim/rogue/dps_rogue/TestAssassination.results

Large diffs are not rendered by default.

214 changes: 107 additions & 107 deletions sim/rogue/dps_rogue/TestCombat.results

Large diffs are not rendered by default.

49 changes: 22 additions & 27 deletions sim/rogue/talents.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,35 +59,30 @@ func (rogue *Rogue) applyRuthlessness() {

// Murder talent
func (rogue *Rogue) applyMurder() {
// post finalize, since attack tables need to be setup
rogue.Env.RegisterPostFinalizeEffect(func() {
// TODO: Implement new Draught of the Sands and make this conditional with the real talent
for _, t := range rogue.Env.Encounter.Targets {
multiplier := 1.02
for _, at := range rogue.AttackTables[t.UnitIndex] {
at.DamageDealtMultiplier *= multiplier
at.CritMultiplier *= multiplier
if rogue.Talents.Murder > 0 {
rogue.Env.RegisterPostFinalizeEffect(func() {
for _, t := range rogue.Env.Encounter.Targets {
switch t.MobType {
case proto.MobType_MobTypeHumanoid, proto.MobType_MobTypeGiant, proto.MobType_MobTypeBeast, proto.MobType_MobTypeDragonkin:
multiplier := []float64{1, 1.01, 1.02}[rogue.Talents.Murder]
for _, at := range rogue.AttackTables[t.UnitIndex] {
at.DamageDealtMultiplier *= multiplier
at.CritMultiplier *= multiplier
}
}
}
}
})

if rogue.Talents.Murder == 0 {
return
})
} else if rogue.Consumes.MiscConsumes != nil && rogue.Consumes.MiscConsumes.DraughtOfTheSands {
rogue.Env.RegisterPostFinalizeEffect(func() {
multiplier := 1.03
for _, t := range rogue.Env.Encounter.Targets {
for _, at := range rogue.AttackTables[t.UnitIndex] {
at.DamageDealtMultiplier *= multiplier
at.CritMultiplier *= multiplier
}
}
})
}

// post finalize, since attack tables need to be setup
// rogue.Env.RegisterPostFinalizeEffect(func() {
// for _, t := range rogue.Env.Encounter.Targets {
// switch t.MobType {
// case proto.MobType_MobTypeHumanoid, proto.MobType_MobTypeGiant, proto.MobType_MobTypeBeast, proto.MobType_MobTypeDragonkin:
// multiplier := []float64{1, 1.01, 1.02}[rogue.Talents.Murder]
// for _, at := range rogue.AttackTables[t.UnitIndex] {
// at.DamageDealtMultiplier *= multiplier
// at.CritMultiplier *= multiplier
// }
// }
// }
// })
}

func (rogue *Rogue) applyRelentlessStrikes() {
Expand Down
74 changes: 37 additions & 37 deletions sim/rogue/tank_rogue/TestTank.results
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ character_stats_results: {
stat_weights_results: {
key: "TestTank-Phase5-Lvl60-StatWeights-Default"
value: {
weights: 0.64118
weights: 0.89349
weights: 0.62325
weights: 0.86826
weights: 0
weights: 0
weights: 0
Expand All @@ -67,9 +67,9 @@ stat_weights_results: {
weights: 0
weights: 0
weights: 0
weights: 0.50686
weights: 15.46401
weights: 1.83774
weights: 0.49269
weights: 14.90378
weights: 1.68185
weights: 0
weights: 0
weights: 0
Expand Down Expand Up @@ -99,112 +99,112 @@ stat_weights_results: {
dps_results: {
key: "TestTank-Phase5-Lvl60-AllItems-BloodCorruptedLeathers"
value: {
dps: 1651.12147
tps: 1270.07005
dps: 1603.4916
tps: 1233.15925
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-AllItems-DarkmantleArmor"
value: {
dps: 664.03078
tps: 578.18683
dps: 643.69377
tps: 560.41906
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Average-Default"
value: {
dps: 1696.26296
tps: 4045.71919
dps: 1647.50212
tps: 3926.80039
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Human-p5_saber-Basic-P5_Saber-FullBuffs-P4-Consumes-LongMultiTarget"
value: {
dps: 1492.54238
tps: 5902.1433
dps: 1448.58666
tps: 5721.12437
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Human-p5_saber-Basic-P5_Saber-FullBuffs-P4-Consumes-LongSingleTarget"
value: {
dps: 1009.72066
tps: 2743.74774
dps: 982.42323
tps: 2665.54198
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Human-p5_saber-Basic-P5_Saber-FullBuffs-P4-Consumes-ShortSingleTarget"
value: {
dps: 1080.2177
tps: 2860.98054
dps: 1050.48247
tps: 2779.01488
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Human-p5_saber-Basic-P5_Saber-NoBuffs-P4-Consumes-LongMultiTarget"
value: {
dps: 592.14718
tps: 2288.89858
dps: 577.25226
tps: 2229.43125
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Human-p5_saber-Basic-P5_Saber-NoBuffs-P4-Consumes-LongSingleTarget"
value: {
dps: 405.05897
tps: 1116.47175
dps: 395.43766
tps: 1088.86222
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Human-p5_saber-Basic-P5_Saber-NoBuffs-P4-Consumes-ShortSingleTarget"
value: {
dps: 440.35483
tps: 1148.71574
dps: 429.64865
tps: 1120.25349
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Orc-p5_saber-Basic-P5_Saber-FullBuffs-P4-Consumes-LongMultiTarget"
value: {
dps: 1512.58723
tps: 5970.92756
dps: 1468.18567
tps: 5787.68145
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Orc-p5_saber-Basic-P5_Saber-FullBuffs-P4-Consumes-LongSingleTarget"
value: {
dps: 1021.32817
tps: 2787.00659
dps: 993.77921
tps: 2707.23342
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Orc-p5_saber-Basic-P5_Saber-FullBuffs-P4-Consumes-ShortSingleTarget"
value: {
dps: 1160.54454
tps: 3019.11974
dps: 1128.49402
tps: 2932.91894
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Orc-p5_saber-Basic-P5_Saber-NoBuffs-P4-Consumes-LongMultiTarget"
value: {
dps: 602.82234
tps: 2309.55899
dps: 587.62125
tps: 2249.80067
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Orc-p5_saber-Basic-P5_Saber-NoBuffs-P4-Consumes-LongSingleTarget"
value: {
dps: 411.57309
tps: 1125.15297
dps: 401.78938
tps: 1097.47464
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-Settings-Orc-p5_saber-Basic-P5_Saber-NoBuffs-P4-Consumes-ShortSingleTarget"
value: {
dps: 463.56589
tps: 1214.39332
dps: 452.23693
tps: 1183.81242
}
}
dps_results: {
key: "TestTank-Phase5-Lvl60-SwitchInFrontOfTarget-Default"
value: {
dps: 1719.6777
tps: 4096.94071
dps: 1670.04395
tps: 3975.9748
}
}
5 changes: 3 additions & 2 deletions ui/core/components/inputs/consumables.ts
Original file line number Diff line number Diff line change
Expand Up @@ -679,10 +679,11 @@ export const ZANZA_BUFF_CONSUMES_CONFIG: ConsumableStatOption<ZanzaBuff>[] = [
export const makeZanzaBuffConsumesInput = makeConsumeInputFactory({ consumesFieldName: 'zanzaBuff' });

export const DraughtOfTheSands = makeBooleanMiscConsumeInput({
actionId: (player: Player<Spec>) => player.getMatchingItemActionId([{ id: 235497, minLevel: 55 }]),
actionId: (player: Player<Spec>) => player.getMatchingItemActionId([{ id: player.getClass() === Class.ClassHunter ? 235497 : 235825, minLevel: 55 }]),
fieldName: 'draughtOfTheSands',
showWhen: player => player.getClass() === Class.ClassHunter,
showWhen: player => player.getClass() === Class.ClassHunter || player.getClass() === Class.ClassRogue,
})

export const Catnip = makeBooleanMiscConsumeInput({
actionId: (player: Player<Spec>) => player.getMatchingItemActionId([{ id: 213407, minLevel: 20 }]),
fieldName: 'catnip',
Expand Down
3 changes: 3 additions & 0 deletions ui/hunter/presets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,9 @@ export const DefaultConsumes = Consumes.create({
healthElixir: HealthElixir.ElixirOfFortitude,
mainHandImbue: WeaponImbue.WildStrikes,
manaRegenElixir: ManaRegenElixir.MagebloodPotion,
miscConsumes: {
draughtOfTheSands: true,
},
offHandImbue: WeaponImbue.ElementalSharpeningStone,
petAttackPowerConsumable: 1,
petAgilityConsumable: 1,
Expand Down
25 changes: 22 additions & 3 deletions ui/rogue/presets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ export const P4Consumes = Consumes.create({
defaultConjured: Conjured.ConjuredRogueThistleTea,
dragonBreathChili: true,
enchantedSigil: EnchantedSigil.WrathOfTheStormSigil,
flask: Flask.FlaskOfAncientKnowledge,
flask: Flask.FlaskOfSupremePower,
food: Food.FoodGrilledSquid,
mainHandImbue: WeaponImbue.WildStrikes,
miscConsumes: {
Expand All @@ -471,14 +471,32 @@ export const P4Consumes = Consumes.create({
});

export const P5Consumes = Consumes.create({
agilityElixir: AgilityElixir.ElixirOfTheMongoose,
attackPowerBuff: AttackPowerBuff.JujuMight,
defaultConjured: Conjured.ConjuredRogueThistleTea,
dragonBreathChili: true,
enchantedSigil: EnchantedSigil.FlowingWatersSigil,
flask: Flask.FlaskOfSupremePower,
food: Food.FoodGrilledSquid,
mainHandImbue: WeaponImbue.WildStrikes,
offHandImbue: WeaponImbue.ElementalSharpeningStone,
spellPowerBuff: SpellPowerBuff.GreaterArcaneElixir,
strengthBuff: StrengthBuff.JujuPower,
zanzaBuff: ZanzaBuff.GroundScorpokAssay,
});

export const P6Consumes = Consumes.create({
agilityElixir: AgilityElixir.ElixirOfTheHoneyBadger,
attackPowerBuff: AttackPowerBuff.JujuMight,
defaultConjured: Conjured.ConjuredRogueThistleTea,
dragonBreathChili: true,
enchantedSigil: EnchantedSigil.WrathOfTheStormSigil,
flask: Flask.FlaskOfAncientKnowledge,
food: Food.FoodGrilledSquid,
flask: Flask.FlaskOfMadness,
food: Food.FoodSmokedDesertDumpling,
mainHandImbue: WeaponImbue.WildStrikes,
miscConsumes: {
draughtOfTheSands: true,
},
offHandImbue: WeaponImbue.ElementalSharpeningStone,
spellPowerBuff: SpellPowerBuff.ElixirOfTheMageLord,
strengthBuff: StrengthBuff.JujuPower,
Expand All @@ -491,6 +509,7 @@ export const DefaultConsumes = {
[Phase.Phase3]: P3Consumes,
[Phase.Phase4]: P4Consumes,
[Phase.Phase5]: P5Consumes,
[Phase.Phase6]: P6Consumes,
};

export const DefaultRaidBuffs = RaidBuffs.create({
Expand Down
2 changes: 1 addition & 1 deletion ui/rogue/sim.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecRogue, {
),

// Default consumes settings.
consumes: Presets.DefaultConsumes[Phase.Phase5],
consumes: Presets.DefaultConsumes[Phase.Phase6],
// Default talents.
talents: Presets.DefaultTalents.data,
// Default spec-specific settings.
Expand Down

0 comments on commit f385427

Please sign in to comment.