Skip to content

Commit

Permalink
Merge branch 'master' into RogueAbsorbSet
Browse files Browse the repository at this point in the history
  • Loading branch information
sanguinerarogue authored Dec 22, 2024
2 parents af1fff1 + 2aeca3d commit cbdf26e
Show file tree
Hide file tree
Showing 15 changed files with 880 additions and 879 deletions.
Binary file modified assets/database/db.bin
Binary file not shown.
528 changes: 264 additions & 264 deletions assets/database/db.json

Large diffs are not rendered by default.

Binary file modified assets/database/leftover_db.bin
Binary file not shown.
530 changes: 265 additions & 265 deletions assets/database/leftover_db.json

Large diffs are not rendered by default.

477 changes: 238 additions & 239 deletions assets/db_inputs/wowhead_rune_tooltips.csv

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions proto/ui.proto
Original file line number Diff line number Diff line change
Expand Up @@ -182,14 +182,13 @@ message UIEnchant {
}

message UIRune {
reserved 4;
reserved "class";
reserved 4, 6;
reserved "class", "requires_level";

int32 id = 1;
string name = 2;
string icon = 3;
ItemType type = 5;
int32 requires_level = 6;
repeated Class class_allowlist = 7;
}

Expand Down
3 changes: 2 additions & 1 deletion sim/common/sod/item_effects/phase_6.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package item_effects

import (
"math"
"time"

"github.com/wowsims/sod/sim/common/sod"
Expand Down Expand Up @@ -479,7 +480,7 @@ func TimewornSpellAura(agent core.Agent) {
return
}

castSpeedMultiplier := 1 / (1 - 0.02*float64(character.PseudoStats.TimewornBonus))
castSpeedMultiplier := math.Pow((1 + 0.02), float64(character.PseudoStats.TimewornBonus))

core.MakePermanent(character.GetOrRegisterAura(core.Aura{
ActionID: core.ActionID{SpellID: 1213398},
Expand Down
98 changes: 49 additions & 49 deletions sim/shaman/elemental/TestElemental.results
Original file line number Diff line number Diff line change
Expand Up @@ -543,18 +543,18 @@ stat_weights_results: {
weights: 0
weights: 0
weights: 0
weights: 4.74169
weights: 4.9084
weights: 0
weights: 2.21583
weights: 2.21576
weights: 0
weights: 0.71586
weights: 0.72117
weights: 0
weights: 0
weights: 1.49996
weights: 1.49459
weights: 0
weights: 0
weights: 0
weights: 35.52025
weights: 37.41265
weights: 0
weights: 0
weights: 0
Expand Down Expand Up @@ -1205,57 +1205,57 @@ dps_results: {
dps_results: {
key: "TestElemental-Phase6-Lvl60-AllItems-BloodGuard'sInscribedMail"
value: {
dps: 1579.44694
tps: 1651.86218
dps: 1577.4335
tps: 1649.42897
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-AllItems-BloodGuard'sMail"
value: {
dps: 1578.90785
tps: 1651.10981
dps: 1577.17714
tps: 1648.92576
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-AllItems-BloodGuard'sPulsingMail"
value: {
dps: 1715.09279
tps: 1782.51854
dps: 1710.36989
tps: 1777.62734
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-AllItems-EmeraldChainmail"
value: {
dps: 1666.52587
tps: 1737.14597
dps: 1664.69438
tps: 1734.96269
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-AllItems-EmeraldLadenChain"
value: {
dps: 1577.532
tps: 1649.26436
dps: 1575.80129
tps: 1647.194
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-AllItems-EmeraldScalemail"
value: {
dps: 1577.71989
tps: 1649.45225
dps: 1575.98918
tps: 1647.38189
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-AllItems-OstracizedBerserker'sBattlemail"
value: {
dps: 3472.44779
tps: 3503.31222
dps: 3460.85296
tps: 3492.48588
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-AllItems-ShunnedDevotee'sChainmail"
value: {
dps: 3630.32822
tps: 3662.16136
dps: 3618.68371
tps: 3650.9204
}
}
dps_results: {
Expand All @@ -1268,98 +1268,98 @@ dps_results: {
dps_results: {
key: "TestElemental-Phase6-Lvl60-Average-Default"
value: {
dps: 5422.92788
tps: 3227.26102
dps: 5431.35921
tps: 3236.97601
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Orc-phase_6-Adaptive-phase_6-FullBuffs-P5-Consumes-LongMultiTarget"
value: {
dps: 10980.76571
tps: 6828.88056
dps: 10979.58894
tps: 6833.87617
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Orc-phase_6-Adaptive-phase_6-FullBuffs-P5-Consumes-LongSingleTarget"
value: {
dps: 5328.53284
tps: 3182.36023
dps: 5316.73152
tps: 3192.31602
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Orc-phase_6-Adaptive-phase_6-FullBuffs-P5-Consumes-ShortSingleTarget"
value: {
dps: 5566.87558
tps: 3385.99456
dps: 5544.51648
tps: 3349.15157
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Orc-phase_6-Adaptive-phase_6-NoBuffs-P5-Consumes-LongMultiTarget"
value: {
dps: 4241.04662
tps: 2933.42923
dps: 4225.38773
tps: 2925.91519
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Orc-phase_6-Adaptive-phase_6-NoBuffs-P5-Consumes-LongSingleTarget"
value: {
dps: 2339.73149
tps: 1423.36217
dps: 2337.67827
tps: 1429.83801
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Orc-phase_6-Adaptive-phase_6-NoBuffs-P5-Consumes-ShortSingleTarget"
value: {
dps: 2515.21964
tps: 1559.5038
dps: 2516.94929
tps: 1552.83479
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Troll-phase_6-Adaptive-phase_6-FullBuffs-P5-Consumes-LongMultiTarget"
value: {
dps: 10995.26957
tps: 6850.82954
dps: 10963.459
tps: 6824.29632
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Troll-phase_6-Adaptive-phase_6-FullBuffs-P5-Consumes-LongSingleTarget"
value: {
dps: 5336.07375
tps: 3180.63788
dps: 5318.22194
tps: 3178.56676
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Troll-phase_6-Adaptive-phase_6-FullBuffs-P5-Consumes-ShortSingleTarget"
value: {
dps: 5603.54225
tps: 3385.68601
dps: 5546.06429
tps: 3341.32871
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Troll-phase_6-Adaptive-phase_6-NoBuffs-P5-Consumes-LongMultiTarget"
value: {
dps: 4141.43806
tps: 2893.5209
dps: 4132.19617
tps: 2890.51526
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Troll-phase_6-Adaptive-phase_6-NoBuffs-P5-Consumes-LongSingleTarget"
value: {
dps: 2336.50693
tps: 1421.52303
dps: 2325.96813
tps: 1417.76162
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-Settings-Troll-phase_6-Adaptive-phase_6-NoBuffs-P5-Consumes-ShortSingleTarget"
value: {
dps: 2474.07185
tps: 1528.2939
dps: 2465.51744
tps: 1523.11364
}
}
dps_results: {
key: "TestElemental-Phase6-Lvl60-SwitchInFrontOfTarget-Default"
value: {
dps: 5346.4812
tps: 3176.98561
dps: 5364.16658
tps: 3209.43918
}
}
4 changes: 1 addition & 3 deletions sim/warlock/item_sets_pve.go
Original file line number Diff line number Diff line change
Expand Up @@ -495,8 +495,6 @@ var ItemSetDoomcallersCorruption = core.NewItemSet(core.ItemSet{
2: func(agent core.Agent) {
warlock := agent.(WarlockAgent).GetWarlock()

hasChaosBoltRune := warlock.HasRune(proto.WarlockRune_RuneHandsChaosBolt)

aura := warlock.RegisterAura(core.Aura{
Label: "S03 - Item - TAQ - Warlock - Damage 2P Bonus",
OnInit: func(aura *core.Aura, sim *core.Simulation) {
Expand All @@ -511,7 +509,7 @@ var ItemSetDoomcallersCorruption = core.NewItemSet(core.ItemSet{
},
})

if !hasChaosBoltRune {
if !warlock.HasRune(proto.WarlockRune_RuneHandsChaosBolt) || warlock.Talents.ImprovedShadowBolt == 0 {
return
}

Expand Down
1 change: 0 additions & 1 deletion tools/database/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,6 @@ func (db *WowDatabase) AddRune(id int32, tooltip WowheadItemResponse) {
Icon: tooltip.GetIcon(),
ClassAllowlist: []proto.Class{tooltip.GetRequiredClass()},
Type: tooltip.GetRequiredItemSlot(),
RequiresLevel: int32(tooltip.GetRequiresLevel()),
}
}

Expand Down
4 changes: 1 addition & 3 deletions tools/database/gen_db/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -161,9 +161,7 @@ func main() {
}

for id, rune := range runeTooltips {
if !slices.Contains(database.UnimplementedRuneOverrides, id) {
db.AddRune(id, rune)
}
db.AddRune(id, rune)
}

db.MergeItems(database.ItemOverrides)
Expand Down
20 changes: 12 additions & 8 deletions tools/database/rune_overrides.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,26 +46,30 @@ var RuneOverrides = []*proto.UIRune{
// As of 2024-06-13 Cobra Slayer is being missed by the scraper because the rune engraving ability is missing "Engrave Rune" in the name
{Id: 458393, Name: "Engrave Gloves - Cobra Slayer", Icon: "spell_nature_guardianward", Type: proto.ItemType_ItemTypeHands, ClassAllowlist: []proto.Class{proto.Class_ClassHunter}},

// Warlock
// As of 2024-09-13 Wowhead hasn't picked up the Decimation <=> Mark of Chaos rune swap
{Id: 440870, Name: "Engrave Boots - Decimation", Type: proto.ItemType_ItemTypeFeet},
{Id: 440892, Name: "Engrave Cloak - Mark of Chaos", Type: proto.ItemType_ItemTypeBack},
}
// Special should pseudo-runes

// Remove runes as you implement them.
var UnimplementedRuneOverrides = []int32{
// Druid

// Hunter

// Mage
// {Id: 1220158, Name: "Soul of Winter's Grasp", Icon: "spell_holy_divinespirit", Type: proto.ItemType_ItemTypeShoulder, ClassAllowlist: []proto.Class{proto.Class_ClassMage}},

// Paladin
440666, // Cloak - Vindicator

// Priest
// {Id: 1220134, Name: "Soul of the Zealot", Icon: "spell_holy_divinespirit", Type: proto.ItemType_ItemTypeShoulder, ClassAllowlist: []proto.Class{proto.Class_ClassPriest}},

// Rogue

// Shaman
// {Id: 1220232, Name: "Soul of the Windwalker", Icon: "spell_holy_divinespirit", Type: proto.ItemType_ItemTypeShoulder, ClassAllowlist: []proto.Class{proto.Class_ClassShaman}},
// {Id: 1220234, Name: "Soul of the Shield Master", Icon: "spell_holy_divinespirit", Type: proto.ItemType_ItemTypeShoulder, ClassAllowlist: []proto.Class{proto.Class_ClassShaman}},
// {Id: 1220236, Name: "Soul of the Totemic Protector", Icon: "spell_holy_divinespirit", Type: proto.ItemType_ItemTypeShoulder, ClassAllowlist: []proto.Class{proto.Class_ClassShaman}},
// {Id: 1220238, Name: "Soul of the Shock-Absorber", Icon: "spell_holy_divinespirit", Type: proto.ItemType_ItemTypeShoulder, ClassAllowlist: []proto.Class{proto.Class_ClassShaman}},
// {Id: 1220240, Name: "Soul of the Spiritual Bulwark", Icon: "spell_holy_divinespirit", Type: proto.ItemType_ItemTypeShoulder, ClassAllowlist: []proto.Class{proto.Class_ClassShaman}},
// {Id: 1220242, Name: "Soul of the Maelstrombringer", Icon: "spell_holy_divinespirit", Type: proto.ItemType_ItemTypeShoulder, ClassAllowlist: []proto.Class{proto.Class_ClassShaman}},
// {Id: 1220244, Name: "Soul of the Lavawalker", Icon: "spell_holy_divinespirit", Type: proto.ItemType_ItemTypeShoulder, ClassAllowlist: []proto.Class{proto.Class_ClassShaman}},

// Warlock

Expand Down
Loading

0 comments on commit cbdf26e

Please sign in to comment.