diff --git a/assets/database/db.bin b/assets/database/db.bin index 5e9c018a0a..b8cd1865a0 100644 Binary files a/assets/database/db.bin and b/assets/database/db.bin differ diff --git a/assets/database/db.json b/assets/database/db.json index cf2ac74d5e..3146ce569e 100644 --- a/assets/database/db.json +++ b/assets/database/db.json @@ -5,7 +5,9 @@ {"id":27909,"name":"Tidefury Kilt","icon":"inv_pants_mail_06","type":9,"armorType":3,"stats":[0,0,64,30,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,684,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":115,"phase":1,"quality":3,"setName":"Tidefury Raiment","setId":630,"expansion":2,"sources":[{"drop":{"difficulty":1,"npcId":18708,"zoneId":3789}},{"drop":{"difficulty":2,"npcId":18708,"zoneId":3789}}]}, {"id":28231,"name":"Tidefury Chestpiece","icon":"inv_chest_chain_03","type":5,"armorType":3,"stats":[0,0,46,31,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,782,0,0,0,0],"gemSockets":[3,4,4],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":115,"phase":1,"quality":3,"setName":"Tidefury Raiment","setId":630,"expansion":2,"sources":[{"drop":{"difficulty":1,"npcId":20912,"zoneId":3848}},{"drop":{"difficulty":2,"npcId":20912,"zoneId":3848}}]}, {"id":28349,"name":"Tidefury Helm","icon":"inv_helmet_19","type":1,"armorType":3,"stats":[0,0,53,27,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,635,0,0,0,0],"gemSockets":[4,1],"socketBonus":[0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":115,"phase":1,"quality":3,"setName":"Tidefury Raiment","setId":630,"expansion":2,"sources":[{"drop":{"difficulty":1,"npcId":17977,"zoneId":3847}},{"drop":{"difficulty":2,"npcId":17977,"zoneId":3847}}]}, +{"id":29309,"name":"Band of the Eternal Restorer","icon":"inv_jewelry_ring_55","type":11,"stats":[0,0,49,29,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":152,"phase":1,"quality":4,"unique":true,"sources":[{"quest":{}}]}, {"id":32466,"name":"Bland Blade","icon":"inv_sword_78","type":13,"weaponType":9,"handType":2,"stats":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"weaponDamageMin":1105,"weaponDamageMax":1105,"weaponSpeed":2.6,"ilvl":350,"phase":1,"quality":4}, +{"id":34677,"name":"Shattered Sun Pendant of Restoration","icon":"inv_jewelry_necklace_12","type":2,"stats":[0,0,19,32,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":115,"phase":1,"quality":4,"sources":[{"soldBy":{"npcId":25032,"npcName":"Eldara Dawnrunner","zoneId":4080}}]}, {"id":45703,"name":"Spark of Hope","icon":"spell_nature_invisibilitytotem","type":12,"stats":[0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":225,"phase":1,"quality":4,"unique":true,"expansion":3,"sources":[{"drop":{"difficulty":8,"npcId":26631,"zoneId":4196}}]}, {"id":46017,"name":"Val'anyr, Hammer of Ancient Kings","icon":"inv_mace_99","type":13,"weaponType":4,"handType":1,"stats":[0,0,105,0,0,0,50,49,0,0,0,0,0,0,777,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"weaponDamageMin":272,"weaponDamageMax":507,"weaponSpeed":1.8,"ilvl":258,"phase":1,"quality":5,"sources":[{"quest":{"id":13629,"name":"Val'anyr, Hammer of Ancient Kings"}}]}, {"id":49623,"name":"Shadowmourne","icon":"inv_axe_113","type":13,"weaponType":1,"handType":4,"stats":[196,0,268,0,0,0,114,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"gemSockets":[2,2,2],"socketBonus":[8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"weaponDamageMin":965,"weaponDamageMax":1608,"weaponSpeed":3.7,"ilvl":284,"phase":1,"quality":5,"unique":true,"classAllowlist":[9,4,10],"sources":[{"quest":{"id":24549,"name":"Shadowmourne..."}}]}, @@ -9504,6 +9506,7 @@ {"id":79150,"name":"Energetic Recovery","icon":"ability_rogue_sturdyrecuperate"}, {"id":79151,"name":"Energetic Recovery","icon":"ability_rogue_sturdyrecuperate"}, {"id":79152,"name":"Energetic Recovery","icon":"ability_rogue_sturdyrecuperate"}, +{"id":79206,"name":"Spiritwalker's Grace","icon":"spell_shaman_spiritwalkersgrace","hasBuff":true}, {"id":79268,"name":"Soul Harvest","icon":"ability_mage_potentspirit","hasBuff":true}, {"id":79459,"name":"Demon Soul: Imp","icon":"spell_warlock_demonsoul","hasBuff":true}, {"id":79460,"name":"Demon Soul: Felhunter","icon":"spell_warlock_demonsoul","hasBuff":true}, @@ -9720,6 +9723,7 @@ {"id":85803,"name":"Selfless Healer","icon":"spell_holy_rune"}, {"id":85804,"name":"Selfless Healer","icon":"spell_holy_rune"}, {"id":85948,"name":"Festering Strike","icon":"inv_sword_61"}, +{"id":86091,"name":"Nethermancy","icon":"inv_enchant_essencenetherlarge"}, {"id":86121,"name":"Soul Swap","icon":"ability_warlock_soulswap"}, {"id":86150,"name":"Guardian of Ancient Kings","icon":"spell_holy_heroism"}, {"id":86172,"name":"Divine Purpose","icon":"spell_holy_divinepurpose"}, @@ -9741,6 +9745,10 @@ {"id":86403,"name":"Felfire Inscription","icon":"inv_misc_mastersinscription"}, {"id":86500,"name":"Enduring Winter","icon":"spell_frost_arcticwinds"}, {"id":86508,"name":"Enduring Winter","icon":"spell_frost_arcticwinds"}, +{"id":86524,"name":"Plate Specialization","icon":"inv_chest_plate12"}, +{"id":86525,"name":"Plate Specialization","icon":"inv_chest_plate12"}, +{"id":86526,"name":"Plate Specialization","icon":"inv_chest_plate12"}, +{"id":86529,"name":"Mail Specialization","icon":"inv_chest_chain_11"}, {"id":86616,"name":"Book of Blood","icon":"inv_misc_book_05"}, {"id":86627,"name":"Incite","icon":"ability_warrior_incite","hasBuff":true}, {"id":86640,"name":"Lord Rottington's Pressed Wisp Book","icon":"inv_misc_book_11"}, @@ -9802,6 +9810,7 @@ {"id":87430,"name":"Heavenly Voice","icon":"ability_priest_heavanlyvoice"}, {"id":87431,"name":"Heavenly Voice","icon":"ability_priest_heavanlyvoice"}, {"id":87461,"name":"Rule of Law","icon":"inv_relics_libramofhope"}, +{"id":87504,"name":"Leather Specialization","icon":"spell_nature_enchantarmor"}, {"id":87532,"name":"Shadowy Apparition","icon":"spell_shadow_unholyfrenzy"}, {"id":87934,"name":"Serpent Spread","icon":"ability_hunter_serpentswiftness"}, {"id":87935,"name":"Serpent Spread","icon":"ability_hunter_serpentswiftness"}, @@ -9829,6 +9838,8 @@ {"id":89489,"name":"Strength of Soul","icon":"spell_holy_ashestoashes"}, {"id":89604,"name":"Aura of Foreboding","icon":"spell_shadow_sealofkings"}, {"id":89605,"name":"Aura of Foreboding","icon":"spell_shadow_sealofkings"}, +{"id":89744,"name":"Wizardry","icon":"inv_enchant_essencemagiclarge"}, +{"id":89745,"name":"Mysticism","icon":"spell_holy_spiritualguidence"}, {"id":89775,"name":"Hemorrhage","icon":"spell_shadow_lifedrain","hasBuff":true}, {"id":89901,"name":"Judgements of the Bold","icon":"ability_paladin_judgementofthewise"}, {"id":89937,"name":"Fel Spark","icon":"spell_fire_felfire","hasBuff":true}, @@ -9838,7 +9849,6 @@ {"id":90787,"name":"Improved Arcane Explosion","icon":"spell_nature_wispsplode"}, {"id":90788,"name":"Improved Arcane Explosion","icon":"spell_nature_wispsplode"}, {"id":90806,"name":"Executioner","icon":"inv_sword_48","hasBuff":true}, -{"id":91002,"name":"Crescendo of Suffering","icon":"spell_shadow_painandsuffering","hasBuff":true}, {"id":91023,"name":"Find Weakness","icon":"ability_rogue_findweakness"}, {"id":91107,"name":"Unholy Might","icon":"spell_shadow_unholystrength"}, {"id":91145,"name":"Runic Power Mastery","icon":"spell_arcane_arcane01"}, diff --git a/assets/database/leftover_db.bin b/assets/database/leftover_db.bin index 697c1e474d..4c1ab8e20d 100644 Binary files a/assets/database/leftover_db.bin and b/assets/database/leftover_db.bin differ diff --git a/assets/database/leftover_db.json b/assets/database/leftover_db.json index 6efbad7db4..7619cf1123 100644 --- a/assets/database/leftover_db.json +++ b/assets/database/leftover_db.json @@ -11904,7 +11904,6 @@ {"id":29306,"name":"Band of Eternity","icon":"inv_jewelry_ring_54","type":11,"stats":[0,0,45,27,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":136,"quality":4,"unique":true,"sources":[{"quest":{}}]}, {"id":29307,"name":"Band of Eternity","icon":"inv_jewelry_ring_54","type":11,"stats":[0,0,43,25,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":128,"quality":4,"unique":true,"sources":[{"quest":{}}]}, {"id":29308,"name":"Band of Eternity","icon":"inv_jewelry_ring_54","type":11,"stats":[0,0,49,29,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":144,"quality":4,"unique":true,"sources":[{"quest":{}}]}, -{"id":29309,"name":"Band of the Eternal Restorer","icon":"inv_jewelry_ring_55","type":11,"stats":[0,0,49,29,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":152,"quality":4,"unique":true,"sources":[{"quest":{}}]}, {"id":29312,"name":"Cover of Righteous Fury","icon":"inv_helmet_25","type":1,"armorType":4,"stats":[40,0,34,0,0,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,723,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":97,"quality":3,"sources":[{"quest":{"id":10253,"name":"Levixus the Soul Caller"}}]}, {"id":29313,"name":"Earthbreaker's Greaves","icon":"inv_boots_02","type":10,"armorType":3,"stats":[0,0,43,21,8,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,420,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":97,"quality":3,"sources":[{"quest":{"id":10253,"name":"Levixus the Soul Caller"}}]}, {"id":29314,"name":"Leggings of the Third Coin","icon":"inv_pants_leather_01","type":9,"armorType":2,"stats":[0,0,55,27,10,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,351,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":97,"quality":3,"sources":[{"quest":{"id":10253,"name":"Levixus the Soul Caller"}}]}, @@ -14586,7 +14585,6 @@ {"id":34674,"name":"Truestrike Crossbow","icon":"inv_weapon_crossbow_14","type":14,"rangedWeaponType":2,"stats":[0,10,20,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"weaponDamageMin":194,"weaponDamageMax":291,"weaponSpeed":2.6,"ilvl":115,"quality":3,"sources":[{"soldBy":{"npcId":25032,"npcName":"Eldara Dawnrunner","zoneId":4080}}]}, {"id":34675,"name":"Sunward Crest","icon":"inv_shield_48","type":13,"weaponType":7,"handType":3,"stats":[22,0,31,0,0,13,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,3775,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":115,"quality":4,"sources":[{"soldBy":{"npcId":25032,"npcName":"Eldara Dawnrunner","zoneId":4080}}]}, {"id":34676,"name":"Dawnforged Defender","icon":"inv_shield_05","type":13,"weaponType":7,"handType":3,"stats":[0,0,31,0,0,13,0,0,0,18,22,0,0,0,0,0,0,0,0,0,0,0,3775,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":115,"quality":4,"sources":[{"soldBy":{"npcId":25032,"npcName":"Eldara Dawnrunner","zoneId":4080}}]}, -{"id":34677,"name":"Shattered Sun Pendant of Restoration","icon":"inv_jewelry_necklace_12","type":2,"stats":[0,0,19,32,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":115,"quality":4,"sources":[{"soldBy":{"npcId":25032,"npcName":"Eldara Dawnrunner","zoneId":4080}}]}, {"id":34678,"name":"Shattered Sun Pendant of Acumen","icon":"inv_jewelry_necklace_32","type":2,"stats":[0,0,35,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":115,"quality":4,"sources":[{"soldBy":{"npcId":25032,"npcName":"Eldara Dawnrunner","zoneId":4080}}]}, {"id":34679,"name":"Shattered Sun Pendant of Might","icon":"inv_jewelry_necklace_38","type":2,"stats":[0,18,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":115,"quality":4,"sources":[{"soldBy":{"npcId":25032,"npcName":"Eldara Dawnrunner","zoneId":4080}}]}, {"id":34680,"name":"Shattered Sun Pendant of Resolve","icon":"inv_jewelry_necklace_39","type":2,"stats":[0,0,48,0,0,13,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"socketBonus":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ilvl":115,"quality":4,"sources":[{"soldBy":{"npcId":25032,"npcName":"Eldara Dawnrunner","zoneId":4080}}]}, diff --git a/sim/common/includes.go b/sim/common/includes.go index 8fbf131a5c..6c3e163a85 100644 --- a/sim/common/includes.go +++ b/sim/common/includes.go @@ -2,7 +2,7 @@ package common // Just import other directories, so importing common from elsewhere is enough. import ( - // _ "github.com/wowsims/cata/sim/common/tbc" _ "github.com/wowsims/cata/sim/common/cata" + _ "github.com/wowsims/cata/sim/common/tbc" _ "github.com/wowsims/cata/sim/common/wotlk" ) diff --git a/sim/common/tbc/stat_bonus_procs.go b/sim/common/tbc/stat_bonus_procs.go new file mode 100644 index 0000000000..86f06b33b2 --- /dev/null +++ b/sim/common/tbc/stat_bonus_procs.go @@ -0,0 +1,40 @@ +package tbc + +import ( + "time" + + "github.com/wowsims/cata/sim/common/shared" + "github.com/wowsims/cata/sim/core" + "github.com/wowsims/cata/sim/core/stats" +) + +func init() { + core.AddEffectsToTest = false + + // Band of the Eternal Restorer + shared.NewProcStatBonusEffect(shared.ProcStatBonusEffect{ + Name: "Band of the Eternal Restorer", + ItemID: 29309, + AuraID: 35087, + Bonus: stats.Stats{stats.SpellPower: 93}, + Duration: time.Second * 10, + Callback: core.CallbackOnSpellHitDealt, + ProcMask: core.ProcMaskSpellDamage | core.ProcMaskSpellHealing, + ProcChance: 0.15, + ICD: time.Second * 45, + }) + + // Shattered Sun Pendant of Restoration + shared.NewProcStatBonusEffect(shared.ProcStatBonusEffect{ + Name: "Light's Salvation", + ItemID: 34677, + AuraID: 45478, + Bonus: stats.Stats{stats.SpellPower: 117}, + Duration: time.Second * 10, + Callback: core.CallbackOnSpellHitDealt, + ProcMask: core.ProcMaskSpellHealing, + ProcChance: 0.15, + ICD: time.Second * 45, + }) + +} diff --git a/sim/common/wotlk/stat_bonus_procs.go b/sim/common/wotlk/stat_bonus_procs.go index 0cfb860f81..c9171c665c 100644 --- a/sim/common/wotlk/stat_bonus_procs.go +++ b/sim/common/wotlk/stat_bonus_procs.go @@ -521,6 +521,18 @@ func init() { // ProcChance: 0.10, // ICD: time.Second * 60, // }) + shared.NewProcStatBonusEffect(shared.ProcStatBonusEffect{ + // Ashen Band of Endless Wisdom + Name: "Chilling Knowledge", + ItemID: 50400, + AuraID: 72418, + Bonus: stats.Stats{stats.SpellPower: 285}, + Duration: time.Second * 10, + Callback: core.CallbackOnSpellHitDealt, + ProcMask: core.ProcMaskSpellHealing, + ProcChance: 0.10, + ICD: time.Second * 60, + }) shared.NewProcStatBonusEffect(shared.ProcStatBonusEffect{ // Ashen Band of Endless Destruction Name: "Frostforged Sage", diff --git a/tools/database/overrides.go b/tools/database/overrides.go index 0c0160a92f..2ce0ca6721 100644 --- a/tools/database/overrides.go +++ b/tools/database/overrides.go @@ -230,6 +230,10 @@ var ItemAllowList = map[int32]struct{}{ 28231: {}, // Tidefury Chestpiece 28349: {}, // Tidefury Helm + 29309: {}, // Band of the Eternal Restorer + + 34677: {}, // Shattered Sun Pendant of Restoration + 45703: {}, // Spark of Hope } diff --git a/ui/shaman/elemental/sim.ts b/ui/shaman/elemental/sim.ts index 0825e53a5a..34bcc747dc 100644 --- a/ui/shaman/elemental/sim.ts +++ b/ui/shaman/elemental/sim.ts @@ -119,11 +119,14 @@ const SPEC_CONFIG = registerSpecConfig(Spec.SpecElementalShaman, { }, itemSwapSlots: [ ItemSlot.ItemSlotHead, + ItemSlot.ItemSlotNeck, ItemSlot.ItemSlotShoulder, ItemSlot.ItemSlotBack, ItemSlot.ItemSlotChest, ItemSlot.ItemSlotHands, ItemSlot.ItemSlotLegs, + ItemSlot.ItemSlotFinger1, + ItemSlot.ItemSlotFinger2, ItemSlot.ItemSlotTrinket1, ItemSlot.ItemSlotTrinket2, ItemSlot.ItemSlotMainHand,