From 7579fa242dbf9d658e7a9f2546366f9e5aded127 Mon Sep 17 00:00:00 2001 From: James Tanner Date: Thu, 4 Jan 2024 19:57:23 -0800 Subject: [PATCH] Finish druid and mage --- sim/deathknight/dps/TestBlood.results | 12 +- sim/deathknight/dps/TestUnholy.results | 568 ++++++++++++------------- sim/druid/druid.go | 1 - sim/druid/feral/feral.go | 1 - sim/druid/restoration/restoration.go | 6 +- sim/druid/restoration/rotation.go | 15 - sim/hunter/aspects.go | 2 +- sim/lib/library.go | 2 - sim/mage/TestArcane.results | 4 +- sim/mage/TestFire.results | 8 +- sim/mage/TestFrost.results | 416 +++++++++--------- sim/mage/arcane_blast.go | 3 - sim/mage/arcane_missiles.go | 3 +- sim/mage/blizzard.go | 3 +- sim/mage/evocation.go | 3 +- sim/mage/mage.go | 30 +- sim/mage/rotations.go | 155 ------- 17 files changed, 511 insertions(+), 721 deletions(-) delete mode 100644 sim/druid/restoration/rotation.go delete mode 100644 sim/mage/rotations.go diff --git a/sim/deathknight/dps/TestBlood.results b/sim/deathknight/dps/TestBlood.results index a4f19e677b..5102649157 100644 --- a/sim/deathknight/dps/TestBlood.results +++ b/sim/deathknight/dps/TestBlood.results @@ -287,8 +287,8 @@ dps_results: { dps_results: { key: "TestBlood-AllItems-EphemeralSnowflake-50260" value: { - dps: 10443.90447 - tps: 5277.80696 + dps: 10467.28296 + tps: 5296.53902 } } dps_results: { @@ -666,8 +666,8 @@ dps_results: { dps_results: { key: "TestBlood-AllItems-SphereofRedDragon'sBlood-37166" value: { - dps: 10383.49361 - tps: 5254.72979 + dps: 10350.69235 + tps: 5235.5789 } } dps_results: { @@ -778,8 +778,8 @@ dps_results: { dps_results: { key: "TestBlood-AllItems-TomeofArcanePhenomena-36972" value: { - dps: 10379.62764 - tps: 5242.10503 + dps: 10317.50284 + tps: 5211.82802 } } dps_results: { diff --git a/sim/deathknight/dps/TestUnholy.results b/sim/deathknight/dps/TestUnholy.results index b00336dda8..e31fee5d05 100644 --- a/sim/deathknight/dps/TestUnholy.results +++ b/sim/deathknight/dps/TestUnholy.results @@ -46,984 +46,984 @@ character_stats_results: { dps_results: { key: "TestUnholy-AllItems-Althor'sAbacus-50359" value: { - dps: 9710.58503 - tps: 5711.54761 + dps: 9680.47429 + tps: 5704.45855 hps: 63.52617 } } dps_results: { key: "TestUnholy-AllItems-Althor'sAbacus-50366" value: { - dps: 9710.58503 - tps: 5711.54761 + dps: 9680.47429 + tps: 5704.45855 hps: 66.3402 } } dps_results: { key: "TestUnholy-AllItems-AustereEarthsiegeDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.71551 } } dps_results: { key: "TestUnholy-AllItems-Bandit'sInsignia-40371" value: { - dps: 9924.17016 - tps: 5866.99266 + dps: 9893.9745 + tps: 5859.94867 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-BaubleofTrueBlood-50354" value: { - dps: 9710.59693 - tps: 5711.60656 + dps: 9680.48618 + tps: 5704.5175 hps: 134.78881 } } dps_results: { key: "TestUnholy-AllItems-BaubleofTrueBlood-50726" value: { - dps: 9710.59693 - tps: 5711.60656 + dps: 9680.48618 + tps: 5704.5175 hps: 134.78881 } } dps_results: { key: "TestUnholy-AllItems-BeamingEarthsiegeDiamond" value: { - dps: 10270.83734 - tps: 5906.78165 + dps: 10240.42421 + tps: 5900.33685 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Beast-tamer'sShoulders-30892" value: { - dps: 9590.63003 - tps: 5434.59411 + dps: 9561.27606 + tps: 5428.86625 hps: 40.4349 } } dps_results: { key: "TestUnholy-AllItems-BlessedBattlegearofUndeadSlaying" value: { - dps: 7528.9716 - tps: 4272.7715 + dps: 7500.6957 + tps: 4266.20781 hps: 34.38394 } } dps_results: { key: "TestUnholy-AllItems-BlessedGarboftheUndeadSlayer" value: { - dps: 7417.57124 - tps: 4240.52367 + dps: 7390.28759 + tps: 4234.65809 hps: 32.96775 } } dps_results: { key: "TestUnholy-AllItems-BlessedRegaliaofUndeadCleansing" value: { - dps: 7201.24066 - tps: 4096.56066 + dps: 7173.57707 + tps: 4090.382 hps: 32.72866 } } dps_results: { key: "TestUnholy-AllItems-BracingEarthsiegeDiamond" value: { - dps: 10248.30721 - tps: 5769.21867 + dps: 10217.92511 + tps: 5762.92136 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Bryntroll,theBoneArbiter-50415" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Bryntroll,theBoneArbiter-50709" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ChaoticSkyflareDiamond" value: { - dps: 10384.12635 - tps: 6001.95118 + dps: 10353.5962 + tps: 5995.41414 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-CorpseTongueCoin-50349" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-CorpseTongueCoin-50352" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-CorrodedSkeletonKey-50356" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 110.32034 } } dps_results: { key: "TestUnholy-AllItems-DarkmoonCard:Berserker!-42989" value: { - dps: 9841.85262 - tps: 5824.32161 + dps: 9811.44494 + tps: 5817.02786 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-DarkmoonCard:Death-42990" value: { - dps: 9904.01516 - tps: 5871.41583 + dps: 9873.64594 + tps: 5864.21871 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-DarkmoonCard:Greatness-44255" value: { - dps: 10016.40898 - tps: 5851.61296 + dps: 9986.29823 + tps: 5844.5239 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-DarkrunedBattlegear" value: { - dps: 8342.40652 - tps: 4728.74456 + dps: 8313.25385 + tps: 4722.11602 hps: 38.90837 } } dps_results: { key: "TestUnholy-AllItems-DarkrunedPlate" value: { - dps: 7455.04498 - tps: 4195.27998 + dps: 7427.64393 + tps: 4189.2183 hps: 40.98666 } } dps_results: { key: "TestUnholy-AllItems-DeadlyGladiator'sSigilofStrife-42620" value: { - dps: 10428.94056 - tps: 6026.53603 + dps: 10398.41427 + tps: 6019.99796 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-DeathKnight'sAnguish-38212" value: { - dps: 9814.76517 - tps: 5800.54798 + dps: 9784.41797 + tps: 5793.32415 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Deathbringer'sWill-50362" value: { - dps: 10244.26393 - tps: 6019.38836 + dps: 10212.23545 + tps: 6011.7831 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Deathbringer'sWill-50363" value: { - dps: 10336.93352 - tps: 6134.04278 + dps: 10304.74071 + tps: 6126.35152 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Defender'sCode-40257" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-DestructiveSkyflareDiamond" value: { - dps: 10275.66073 - tps: 5910.13257 + dps: 10245.17112 + tps: 5903.63941 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-DislodgedForeignObject-50348" value: { - dps: 10058.86423 - tps: 5920.2823 + dps: 10027.7374 + tps: 5913.21833 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-DislodgedForeignObject-50353" value: { - dps: 10045.90755 - tps: 5870.04449 + dps: 10015.90074 + tps: 5863.92416 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-EffulgentSkyflareDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.71551 } } dps_results: { key: "TestUnholy-AllItems-EmberSkyflareDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-EnigmaticSkyflareDiamond" value: { - dps: 10270.83734 - tps: 5906.78165 + dps: 10240.42421 + tps: 5900.33685 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-EnigmaticStarflareDiamond" value: { - dps: 10269.30196 - tps: 5905.31005 + dps: 10238.88528 + tps: 5898.8624 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-EphemeralSnowflake-50260" value: { - dps: 9960.43305 - tps: 5713.77531 + dps: 9957.51073 + tps: 5686.58021 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-EssenceofGossamer-37220" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 44.16848 } } dps_results: { key: "TestUnholy-AllItems-EternalEarthsiegeDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ExtractofNecromanticPower-40373" value: { - dps: 9884.46426 - tps: 5855.45523 + dps: 9854.14952 + tps: 5848.27771 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-EyeoftheBroodmother-45308" value: { - dps: 9829.83582 - tps: 5812.66149 + dps: 9799.48063 + tps: 5805.4028 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Figurine-SapphireOwl-42413" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ForethoughtTalisman-40258" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ForgeEmber-37660" value: { - dps: 9809.03194 - tps: 5795.31409 + dps: 9778.71591 + tps: 5788.07856 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ForlornSkyflareDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ForlornStarflareDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-FuriousGladiator'sSigilofStrife-42621" value: { - dps: 10439.24034 - tps: 6032.61311 + dps: 10408.71405 + tps: 6026.07503 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-FuryoftheFiveFlights-40431" value: { - dps: 9935.80342 - tps: 5878.29335 + dps: 9905.69267 + tps: 5871.20429 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-FuturesightRune-38763" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-GlowingTwilightScale-54573" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-GlowingTwilightScale-54589" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-GnomishLightningGenerator-41121" value: { - dps: 9862.40069 - tps: 5837.60588 + dps: 9832.05026 + tps: 5830.41915 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-HatefulGladiator'sSigilofStrife-42619" value: { - dps: 10406.95035 - tps: 6012.39309 + dps: 10376.42406 + tps: 6005.85502 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-IllustrationoftheDragonSoul-40432" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ImpassiveSkyflareDiamond" value: { - dps: 10270.83734 - tps: 5906.78165 + dps: 10240.42421 + tps: 5900.33685 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ImpassiveStarflareDiamond" value: { - dps: 10269.30196 - tps: 5905.31005 + dps: 10238.88528 + tps: 5898.8624 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-IncisorFragment-37723" value: { - dps: 9889.84971 - tps: 5849.80123 + dps: 9858.84411 + tps: 5841.99589 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-InsightfulEarthsiegeDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-InvigoratingEarthsiegeDiamond" value: { - dps: 10280.82071 - tps: 5909.54809 + dps: 10250.43861 + tps: 5903.12227 hps: 58.71565 } } dps_results: { key: "TestUnholy-AllItems-LastWord-50179" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-LastWord-50708" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Lavanthor'sTalisman-37872" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-MajesticDragonFigurine-40430" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-MeteoriteWhetstone-37390" value: { - dps: 10032.0625 - tps: 5843.61227 + dps: 10002.66676 + tps: 5837.61294 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-NevermeltingIceCrystal-50259" value: { - dps: 9859.78621 - tps: 5842.11561 + dps: 9829.70588 + tps: 5834.98049 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-OfferingofSacrifice-37638" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-PersistentEarthshatterDiamond" value: { - dps: 10274.62766 - tps: 5905.24519 + dps: 10244.24556 + tps: 5898.81936 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-PersistentEarthsiegeDiamond" value: { - dps: 10280.82071 - tps: 5909.54809 + dps: 10250.43861 + tps: 5903.12227 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-PetrifiedScarab-21685" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-PetrifiedTwilightScale-54571" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-PetrifiedTwilightScale-54591" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-PowerfulEarthshatterDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.60516 } } dps_results: { key: "TestUnholy-AllItems-PowerfulEarthsiegeDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.71551 } } dps_results: { key: "TestUnholy-AllItems-PurifiedShardoftheGods" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ReignoftheDead-47316" value: { - dps: 9785.06353 - tps: 5770.6385 + dps: 9754.94571 + tps: 5763.56884 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ReignoftheDead-47477" value: { - dps: 9792.15193 - tps: 5776.63924 + dps: 9762.03411 + tps: 5769.56958 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-RelentlessEarthsiegeDiamond" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-RelentlessGladiator'sSigilofStrife-42622" value: { - dps: 10451.25674 - tps: 6039.70303 + dps: 10420.73045 + tps: 6033.16496 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-RevitalizingSkyflareDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-RuneofRepulsion-40372" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SavageGladiator'sSigilofStrife-42618" value: { - dps: 10403.60974 - tps: 6010.55432 + dps: 10373.08345 + tps: 6004.01625 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ScourgeborneBattlegear" value: { - dps: 8029.52875 - tps: 4566.12376 + dps: 8000.74515 + tps: 4559.84406 hps: 36.48062 } } dps_results: { key: "TestUnholy-AllItems-ScourgebornePlate" value: { - dps: 7364.82744 - tps: 4120.861 + dps: 7338.02073 + tps: 4115.32448 hps: 38.04394 } } dps_results: { key: "TestUnholy-AllItems-Scourgelord'sBattlegear" value: { - dps: 9358.46371 - tps: 5521.64302 + dps: 9330.42072 + tps: 5515.28971 hps: 44.60989 } } dps_results: { key: "TestUnholy-AllItems-Scourgelord'sPlate" value: { - dps: 8219.42444 - tps: 4642.08454 + dps: 8192.96648 + tps: 4636.93277 hps: 48.06758 } } dps_results: { key: "TestUnholy-AllItems-SealofthePantheon-36993" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Shadowmourne-49623" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-ShinyShardoftheGods" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SigilofDeflection-45144" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SigilofHauntedDreams-40715" value: { - dps: 10407.04323 - tps: 6021.87725 + dps: 10376.62308 + tps: 6015.42194 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SigilofInsolence-47672" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SigiloftheBoneGryphon-50462" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SigiloftheHangedMan-50459" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SigiloftheUnfalteringKnight-40714" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Sindragosa'sFlawlessFang-50361" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 46.32034 } } dps_results: { key: "TestUnholy-AllItems-SliverofPureIce-50339" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SliverofPureIce-50346" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SoulPreserver-37111" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SouloftheDead-40382" value: { - dps: 9832.82416 - tps: 5816.15563 + dps: 9802.43285 + tps: 5808.86704 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SparkofLife-37657" value: { - dps: 9862.05029 - tps: 5804.30139 + dps: 9832.06089 + tps: 5797.8349 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SphereofRedDragon'sBlood-37166" value: { - dps: 9913.75663 - tps: 5850.97982 + dps: 9800.6582 + tps: 5811.52763 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-StormshroudArmor" value: { - dps: 7095.52999 - tps: 4057.87955 + dps: 7067.22499 + tps: 4050.80338 hps: 30.7975 } } dps_results: { key: "TestUnholy-AllItems-SwiftSkyflareDiamond" value: { - dps: 10280.82071 - tps: 5909.54809 + dps: 10250.43861 + tps: 5903.12227 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SwiftStarflareDiamond" value: { - dps: 10274.62766 - tps: 5905.24519 + dps: 10244.24556 + tps: 5898.81936 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-SwiftWindfireDiamond" value: { - dps: 10263.78983 - tps: 5897.7151 + dps: 10233.40773 + tps: 5891.28927 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-TalismanofTrollDivinity-37734" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-TearsoftheVanquished-47215" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-Thassarian'sBattlegear" value: { - dps: 8618.51653 - tps: 4958.8001 + dps: 8590.35604 + tps: 4952.61627 hps: 38.68766 } } dps_results: { key: "TestUnholy-AllItems-Thassarian'sPlate" value: { - dps: 7486.10663 - tps: 4194.90667 + dps: 7458.635 + tps: 4188.82468 hps: 40.30616 } } dps_results: { key: "TestUnholy-AllItems-TheGeneral'sHeart-45507" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-TheTwinBladesofAzzinoth" value: { - dps: 9010.98248 - tps: 5032.12724 + dps: 8979.88721 + tps: 5025.14863 hps: 40.74757 } } dps_results: { key: "TestUnholy-AllItems-ThunderingSkyflareDiamond" value: { - dps: 10305.50604 - tps: 5918.26645 + dps: 10275.22899 + tps: 5912.27746 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-TinyAbominationinaJar-50351" value: { - dps: 9954.00729 - tps: 5913.58867 + dps: 9924.59603 + tps: 5907.08552 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-TinyAbominationinaJar-50706" value: { - dps: 9920.42339 - tps: 5880.41645 + dps: 9890.45908 + tps: 5873.52857 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-TirelessSkyflareDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-TirelessStarflareDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-TomeofArcanePhenomena-36972" value: { - dps: 9840.77218 - tps: 5774.12915 + dps: 9826.9966 + tps: 5751.9898 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-TrenchantEarthshatterDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-TrenchantEarthsiegeDiamond" value: { - dps: 10248.30721 - tps: 5886.95782 + dps: 10217.92511 + tps: 5880.532 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-UndeadSlayer'sBlessedArmor" value: { - dps: 7423.03446 - tps: 4256.35867 + dps: 7395.21167 + tps: 4250.00861 hps: 33.68504 } } dps_results: { key: "TestUnholy-AllItems-Val'anyr,HammerofAncientKings-46017" value: { - dps: 9633.49282 - tps: 5427.26413 + dps: 9602.82536 + tps: 5420.6152 hps: 42.81036 } } dps_results: { key: "TestUnholy-AllItems-WingedTalisman-37844" value: { - dps: 9710.60578 - tps: 5711.54461 + dps: 9680.49504 + tps: 5704.45555 hps: 42.12697 } } dps_results: { key: "TestUnholy-AllItems-WrathfulGladiator'sSigilofStrife-51417" value: { - dps: 10464.98978 - tps: 6047.8058 + dps: 10434.46349 + tps: 6041.26773 hps: 42.12697 } } dps_results: { key: "TestUnholy-Average-Default" value: { - dps: 10310.79563 - tps: 5971.29709 + dps: 10279.57916 + tps: 5964.26539 hps: 42.14164 } } @@ -1174,152 +1174,152 @@ dps_results: { dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_2h_ss-FullBuffs-LongMultiTarget" value: { - dps: 14312.2404 - tps: 9287.052 + dps: 14275.55112 + tps: 9275.62941 hps: 42.12697 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_2h_ss-FullBuffs-LongSingleTarget" value: { - dps: 10377.44167 - tps: 5996.15064 + dps: 10346.91539 + tps: 5989.61257 hps: 42.12697 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_2h_ss-FullBuffs-ShortSingleTarget" value: { - dps: 15559.83451 - tps: 7162.15963 + dps: 15451.74278 + tps: 7165.07213 hps: 210.63484 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_2h_ss-NoBuffs-LongMultiTarget" value: { - dps: 6783.40918 - tps: 4583.6299 + dps: 6761.4395 + tps: 4575.413 hps: 27.7272 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_2h_ss-NoBuffs-LongSingleTarget" value: { - dps: 5103.61606 - tps: 3177.62391 + dps: 5085.97636 + tps: 3172.95627 hps: 27.7272 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_2h_ss-NoBuffs-ShortSingleTarget" value: { - dps: 6757.40436 - tps: 3489.08968 + dps: 6701.62049 + tps: 3491.63258 hps: 138.636 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_dnd_aoe-FullBuffs-LongMultiTarget" value: { - dps: 59452.42669 - tps: 61476.73056 + dps: 59321.04606 + tps: 61361.65332 hps: 236.33229 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_dnd_aoe-FullBuffs-LongSingleTarget" value: { - dps: 11354.57131 - tps: 7485.7125 + dps: 11318.78456 + tps: 7472.9393 hps: 236.33229 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_dnd_aoe-FullBuffs-ShortSingleTarget" value: { - dps: 16535.42503 - tps: 8698.33633 + dps: 16412.5451 + tps: 8686.56163 hps: 337.01574 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_dnd_aoe-NoBuffs-LongMultiTarget" value: { - dps: 35212.15599 - tps: 37565.37369 + dps: 35117.90018 + tps: 37478.75367 hps: 155.82686 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_dnd_aoe-NoBuffs-LongSingleTarget" value: { - dps: 5772.20815 - tps: 4185.27192 + dps: 5750.84606 + tps: 4175.86894 hps: 155.27232 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-uh_dnd_aoe-NoBuffs-ShortSingleTarget" value: { - dps: 7347.6605 - tps: 4481.15645 + dps: 7280.02322 + tps: 4471.44132 hps: 221.8176 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-unholy_dw_ss-FullBuffs-LongMultiTarget" value: { - dps: 36324.85779 - tps: 43276.25499 + dps: 36238.79517 + tps: 43195.85148 hps: 236.33229 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-unholy_dw_ss-FullBuffs-LongSingleTarget" value: { - dps: 11470.17283 - tps: 7591.32914 + dps: 11434.83628 + tps: 7578.90963 hps: 236.33229 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-unholy_dw_ss-FullBuffs-ShortSingleTarget" value: { - dps: 16608.09173 - tps: 8808.92846 + dps: 16487.2343 + tps: 8798.61633 hps: 339.12209 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-unholy_dw_ss-NoBuffs-LongMultiTarget" value: { - dps: 18749.83496 - tps: 22923.25478 + dps: 18696.93865 + tps: 22871.51167 hps: 155.82686 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-unholy_dw_ss-NoBuffs-LongSingleTarget" value: { - dps: 5897.73441 - tps: 4290.70565 + dps: 5876.43297 + tps: 4281.49641 hps: 155.27232 } } dps_results: { key: "TestUnholy-Settings-Orc-p3_uh_dw-Basic-unholy_dw_ss-NoBuffs-ShortSingleTarget" value: { - dps: 7417.6708 - tps: 4556.06307 + dps: 7351.97253 + tps: 4548.398 hps: 221.8176 } } dps_results: { key: "TestUnholy-SwitchInFrontOfTarget-Default" value: { - dps: 9845.43373 - tps: 5635.64895 + dps: 9815.01951 + tps: 5629.20041 hps: 42.12697 } } diff --git a/sim/druid/druid.go b/sim/druid/druid.go index 5bd1c29bf1..cab2a21f2f 100644 --- a/sim/druid/druid.go +++ b/sim/druid/druid.go @@ -26,7 +26,6 @@ type Druid struct { RebirthTiming float64 BleedsActive int AssumeBleedActive bool - PrePopBerserk bool ReplaceBearMHFunc core.ReplaceMHSwing diff --git a/sim/druid/feral/feral.go b/sim/druid/feral/feral.go index 1608d06272..d30579fe0a 100644 --- a/sim/druid/feral/feral.go +++ b/sim/druid/feral/feral.go @@ -42,7 +42,6 @@ func NewFeralDruid(character *core.Character, options *proto.Player) *FeralDruid cat.AssumeBleedActive = feralOptions.Options.AssumeBleedActive cat.maxRipTicks = cat.MaxRipTicks() cat.prepopOoc = feralOptions.Rotation.PrePopOoc - cat.PrePopBerserk = feralOptions.Rotation.PrePopBerserk cat.setupRotation(feralOptions.Rotation) cat.EnableEnergyBar(100.0) diff --git a/sim/druid/restoration/restoration.go b/sim/druid/restoration/restoration.go index 428160c8d9..d0d6137a65 100644 --- a/sim/druid/restoration/restoration.go +++ b/sim/druid/restoration/restoration.go @@ -28,8 +28,7 @@ func NewRestorationDruid(character *core.Character, options *proto.Player) *Rest selfBuffs := druid.SelfBuffs{} resto := &RestorationDruid{ - Druid: druid.New(character, druid.Tree, selfBuffs, options.TalentsString), - Rotation: restoOptions.Rotation, + Druid: druid.New(character, druid.Tree, selfBuffs, options.TalentsString), } resto.SelfBuffs.InnervateTarget = &proto.UnitReference{} @@ -37,14 +36,11 @@ func NewRestorationDruid(character *core.Character, options *proto.Player) *Rest resto.SelfBuffs.InnervateTarget = restoOptions.Options.InnervateTarget } - resto.EnableResumeAfterManaWait(resto.tryUseGCD) return resto } type RestorationDruid struct { *druid.Druid - - Rotation *proto.RestorationDruid_Rotation } func (resto *RestorationDruid) GetDruid() *druid.Druid { diff --git a/sim/druid/restoration/rotation.go b/sim/druid/restoration/rotation.go deleted file mode 100644 index 5a59ad57f2..0000000000 --- a/sim/druid/restoration/rotation.go +++ /dev/null @@ -1,15 +0,0 @@ -package restoration - -import ( - "time" - - "github.com/wowsims/wotlk/sim/core" -) - -func (resto *RestorationDruid) OnGCDReady(sim *core.Simulation) { - resto.tryUseGCD(sim) -} - -func (resto *RestorationDruid) tryUseGCD(sim *core.Simulation) { - resto.WaitUntil(sim, sim.CurrentTime+time.Second*5) -} diff --git a/sim/hunter/aspects.go b/sim/hunter/aspects.go index 9788a2058c..8b5fa83e3e 100644 --- a/sim/hunter/aspects.go +++ b/sim/hunter/aspects.go @@ -134,7 +134,7 @@ func (hunter *Hunter) registerAspectOfTheViperSpell() { } func (hunter *Hunter) applySharedAspectConfig(isHawk bool, aura *core.Aura) { - if isHawk != (hunter.Rotation.ViperStartManaPercent >= 1) { + if isHawk { aura.OnReset = func(aura *core.Aura, sim *core.Simulation) { aura.Activate(sim) } diff --git a/sim/lib/library.go b/sim/lib/library.go index 74b37c17fe..9539c478bd 100644 --- a/sim/lib/library.go +++ b/sim/lib/library.go @@ -193,8 +193,6 @@ func trySpell(act int) bool { //export doNothing func doNothing() bool { - player := _active_sim.Raid.Parties[0].Players[0] - player.GetCharacter().DoNothing() return true } diff --git a/sim/mage/TestArcane.results b/sim/mage/TestArcane.results index 4a70f5b230..5f0cf2c0be 100644 --- a/sim/mage/TestArcane.results +++ b/sim/mage/TestArcane.results @@ -252,8 +252,8 @@ dps_results: { dps_results: { key: "TestArcane-AllItems-EphemeralSnowflake-50260" value: { - dps: 10738.79708 - tps: 6577.6561 + dps: 10727.16841 + tps: 6570.11619 } } dps_results: { diff --git a/sim/mage/TestFire.results b/sim/mage/TestFire.results index d26760097b..b939817bf9 100644 --- a/sim/mage/TestFire.results +++ b/sim/mage/TestFire.results @@ -770,8 +770,8 @@ dps_results: { dps_results: { key: "TestFire-Settings-Troll-p3_fire_alliance-Fire-fire-FullBuffs-LongMultiTarget" value: { - dps: 38085.36222 - tps: 32980.78258 + dps: 38064.82304 + tps: 32963.64697 } } dps_results: { @@ -791,8 +791,8 @@ dps_results: { dps_results: { key: "TestFire-Settings-Troll-p3_fire_alliance-Fire-fire-NoBuffs-LongMultiTarget" value: { - dps: 22222.81509 - tps: 20575.92958 + dps: 22173.53497 + tps: 20541.48297 } } dps_results: { diff --git a/sim/mage/TestFrost.results b/sim/mage/TestFrost.results index dc582270eb..cc1f38bac4 100644 --- a/sim/mage/TestFrost.results +++ b/sim/mage/TestFrost.results @@ -46,277 +46,277 @@ character_stats_results: { dps_results: { key: "TestFrost-AllItems-Althor'sAbacus-50359" value: { - dps: 7928.24208 - tps: 6453.45112 + dps: 7933.66277 + tps: 6459.8041 } } dps_results: { key: "TestFrost-AllItems-Althor'sAbacus-50366" value: { - dps: 7962.77382 - tps: 6481.89515 + dps: 7968.21694 + tps: 6488.27328 } } dps_results: { key: "TestFrost-AllItems-AustereEarthsiegeDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-Bandit'sInsignia-40371" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-BaubleofTrueBlood-50354" value: { - dps: 7646.41564 - tps: 6221.07535 - hps: 92.57675 + dps: 7652.00052 + tps: 6227.57151 + hps: 92.573 } } dps_results: { key: "TestFrost-AllItems-BaubleofTrueBlood-50726" value: { - dps: 7646.41564 - tps: 6221.07535 - hps: 92.57675 + dps: 7652.00052 + tps: 6227.57151 + hps: 92.573 } } dps_results: { key: "TestFrost-AllItems-BeamingEarthsiegeDiamond" value: { - dps: 7782.85819 - tps: 6339.33425 + dps: 7783.7779 + tps: 6341.22794 } } dps_results: { key: "TestFrost-AllItems-BlessedRegaliaofUndeadCleansing" value: { - dps: 6005.44274 - tps: 4826.77708 + dps: 6024.87702 + tps: 4845.65031 } } dps_results: { key: "TestFrost-AllItems-Bloodmage'sRegalia" value: { - dps: 8143.08775 - tps: 6688.26693 + dps: 8140.05763 + tps: 6685.8876 } } dps_results: { key: "TestFrost-AllItems-BracingEarthsiegeDiamond" value: { - dps: 7798.72055 - tps: 6223.09271 + dps: 7803.91273 + tps: 6229.21586 } } dps_results: { key: "TestFrost-AllItems-ChaoticSkyflareDiamond" value: { - dps: 8003.40047 - tps: 6538.31272 + dps: 8004.42685 + tps: 6540.31281 } } dps_results: { key: "TestFrost-AllItems-CorpseTongueCoin-50349" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-CorpseTongueCoin-50352" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-CorrodedSkeletonKey-50356" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 hps: 64 } } dps_results: { key: "TestFrost-AllItems-DarkmoonCard:Berserker!-42989" value: { - dps: 7721.01592 - tps: 6287.16324 + dps: 7727.10393 + tps: 6294.20537 } } dps_results: { key: "TestFrost-AllItems-DarkmoonCard:Death-42990" value: { - dps: 7731.37855 - tps: 6303.73706 + dps: 7734.47564 + tps: 6306.31917 } } dps_results: { key: "TestFrost-AllItems-DarkmoonCard:Greatness-44255" value: { - dps: 7684.58603 - tps: 6266.86577 + dps: 7690.85322 + tps: 6274.32423 } } dps_results: { key: "TestFrost-AllItems-Death'sChoice-47464" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-DeathKnight'sAnguish-38212" value: { - dps: 7678.84495 - tps: 6246.81867 + dps: 7685.02105 + tps: 6253.78087 } } dps_results: { key: "TestFrost-AllItems-Deathbringer'sWill-50362" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-Deathbringer'sWill-50363" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-Defender'sCode-40257" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-DestructiveSkyflareDiamond" value: { - dps: 7783.55414 - tps: 6340.66928 + dps: 7784.47384 + tps: 6342.56315 } } dps_results: { key: "TestFrost-AllItems-DislodgedForeignObject-50348" value: { - dps: 8381.41843 - tps: 6873.3235 + dps: 8384.30782 + tps: 6875.40602 } } dps_results: { key: "TestFrost-AllItems-DislodgedForeignObject-50353" value: { - dps: 8297.80523 - tps: 6789.83899 + dps: 8289.8124 + tps: 6783.32805 } } dps_results: { key: "TestFrost-AllItems-EffulgentSkyflareDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-EmberSkyflareDiamond" value: { - dps: 7812.27004 - tps: 6362.69935 + dps: 7813.94105 + tps: 6365.39795 } } dps_results: { key: "TestFrost-AllItems-EnigmaticSkyflareDiamond" value: { - dps: 7782.89356 - tps: 6340.06823 + dps: 7783.81326 + tps: 6341.9621 } } dps_results: { key: "TestFrost-AllItems-EnigmaticStarflareDiamond" value: { - dps: 7777.85554 - tps: 6335.57176 + dps: 7778.77525 + tps: 6337.46563 } } dps_results: { key: "TestFrost-AllItems-EphemeralSnowflake-50260" value: { - dps: 7759.64948 - tps: 6319.89085 + dps: 7755.40406 + tps: 6315.42295 } } dps_results: { key: "TestFrost-AllItems-EssenceofGossamer-37220" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-EternalEarthsiegeDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-ExtractofNecromanticPower-40373" value: { - dps: 7723.41199 - tps: 6291.61522 + dps: 7727.1541 + tps: 6295.38387 } } dps_results: { key: "TestFrost-AllItems-EyeoftheBroodmother-45308" value: { - dps: 7906.80366 - tps: 6452.50593 + dps: 7913.07517 + tps: 6459.71001 } } dps_results: { key: "TestFrost-AllItems-Figurine-SapphireOwl-42413" value: { - dps: 7668.23295 - tps: 6239.78194 + dps: 7673.31368 + tps: 6245.89566 } } dps_results: { key: "TestFrost-AllItems-ForethoughtTalisman-40258" value: { - dps: 7821.50761 - tps: 6365.5332 + dps: 7826.85897 + tps: 6371.80846 } } dps_results: { key: "TestFrost-AllItems-ForgeEmber-37660" value: { - dps: 7824.55194 - tps: 6374.99683 + dps: 7831.62918 + tps: 6382.78835 } } dps_results: { key: "TestFrost-AllItems-ForlornSkyflareDiamond" value: { - dps: 7798.72055 - tps: 6349.7974 + dps: 7803.91273 + tps: 6356.04504 } } dps_results: { key: "TestFrost-AllItems-ForlornStarflareDiamond" value: { - dps: 7791.0072 - tps: 6343.45611 + dps: 7796.19349 + tps: 6349.69717 } } dps_results: { @@ -329,15 +329,15 @@ dps_results: { dps_results: { key: "TestFrost-AllItems-FuryoftheFiveFlights-40431" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-FuturesightRune-38763" value: { - dps: 7744.89597 - tps: 6301.18733 + dps: 7750.19737 + tps: 6307.40657 } } dps_results: { @@ -350,85 +350,85 @@ dps_results: { dps_results: { key: "TestFrost-AllItems-GlowingTwilightScale-54573" value: { - dps: 7945.50795 - tps: 6467.67314 + dps: 7950.93986 + tps: 6474.03869 } } dps_results: { key: "TestFrost-AllItems-GlowingTwilightScale-54589" value: { - dps: 7984.74857 - tps: 6499.9959 + dps: 7990.20596 + tps: 6506.39003 } } dps_results: { key: "TestFrost-AllItems-GnomishLightningGenerator-41121" value: { - dps: 7726.20314 - tps: 6306.13936 + dps: 7712.63873 + tps: 6291.8092 } } dps_results: { key: "TestFrost-AllItems-Heartpierce-49982" value: { - dps: 8003.40047 - tps: 6538.31272 + dps: 8004.42685 + tps: 6540.31281 } } dps_results: { key: "TestFrost-AllItems-Heartpierce-50641" value: { - dps: 8003.40047 - tps: 6538.31272 + dps: 8004.42685 + tps: 6540.31281 } } dps_results: { key: "TestFrost-AllItems-IllustrationoftheDragonSoul-40432" value: { - dps: 7930.51116 - tps: 6474.17485 + dps: 7936.00618 + tps: 6480.54928 } } dps_results: { key: "TestFrost-AllItems-ImpassiveSkyflareDiamond" value: { - dps: 7782.89356 - tps: 6340.06823 + dps: 7783.81326 + tps: 6341.9621 } } dps_results: { key: "TestFrost-AllItems-ImpassiveStarflareDiamond" value: { - dps: 7777.85554 - tps: 6335.57176 + dps: 7778.77525 + tps: 6337.46563 } } dps_results: { key: "TestFrost-AllItems-IncisorFragment-37723" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-InsightfulEarthsiegeDiamond" value: { - dps: 7772.45693 - tps: 6333.79039 + dps: 7774.27285 + tps: 6336.45718 } } dps_results: { key: "TestFrost-AllItems-InvigoratingEarthsiegeDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-Khadgar'sRegalia" value: { - dps: 6580.00377 - tps: 5309.1505 + dps: 6575.79129 + tps: 5306.49837 } } dps_results: { @@ -441,239 +441,239 @@ dps_results: { dps_results: { key: "TestFrost-AllItems-Lavanthor'sTalisman-37872" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-MajesticDragonFigurine-40430" value: { - dps: 7647.59946 - tps: 6219.47581 + dps: 7652.83765 + tps: 6225.62283 } } dps_results: { key: "TestFrost-AllItems-MeteoriteWhetstone-37390" value: { - dps: 7691.79354 - tps: 6256.75774 + dps: 7698.15546 + tps: 6263.90226 } } dps_results: { key: "TestFrost-AllItems-NevermeltingIceCrystal-50259" value: { - dps: 7847.31458 - tps: 6384.09669 + dps: 7848.80614 + tps: 6384.95591 } } dps_results: { key: "TestFrost-AllItems-Nibelung-49992" value: { - dps: 8003.40047 - tps: 6538.31272 + dps: 8004.42685 + tps: 6540.31281 } } dps_results: { key: "TestFrost-AllItems-Nibelung-50648" value: { - dps: 8003.40047 - tps: 6538.31272 + dps: 8004.42685 + tps: 6540.31281 } } dps_results: { key: "TestFrost-AllItems-OfferingofSacrifice-37638" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-PersistentEarthshatterDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-PersistentEarthsiegeDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-PetrifiedScarab-21685" value: { - dps: 7646.26897 - tps: 6221.11085 + dps: 7651.50716 + tps: 6227.25922 } } dps_results: { key: "TestFrost-AllItems-PetrifiedTwilightScale-54571" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-PetrifiedTwilightScale-54591" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-PowerfulEarthshatterDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-PowerfulEarthsiegeDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-PurifiedShardoftheGods" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-ReignoftheDead-47316" value: { - dps: 7998.96913 - tps: 6538.92968 + dps: 7998.48484 + tps: 6538.10806 } } dps_results: { key: "TestFrost-AllItems-ReignoftheDead-47477" value: { - dps: 8048.33749 - tps: 6583.34161 + dps: 8047.7877 + tps: 6582.45344 } } dps_results: { key: "TestFrost-AllItems-RelentlessEarthsiegeDiamond" value: { - dps: 7978.38291 - tps: 6514.28941 + dps: 7984.09185 + tps: 6521.00509 } } dps_results: { key: "TestFrost-AllItems-RevitalizingSkyflareDiamond" value: { - dps: 7760.12417 - tps: 6316.94905 + dps: 7765.2869 + tps: 6323.1634 } } dps_results: { key: "TestFrost-AllItems-RuneofRepulsion-40372" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-SealofthePantheon-36993" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-ShinyShardoftheGods" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-Sindragosa'sFlawlessFang-50361" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-SliverofPureIce-50339" value: { - dps: 7895.33302 - tps: 6429.12257 + dps: 7900.7323 + tps: 6435.45003 } } dps_results: { key: "TestFrost-AllItems-SliverofPureIce-50346" value: { - dps: 7926.72551 - tps: 6455.23432 + dps: 7932.14518 + tps: 6461.58463 } } dps_results: { key: "TestFrost-AllItems-SoulPreserver-37111" value: { - dps: 7765.00113 - tps: 6318.98842 + dps: 7770.31579 + tps: 6325.22253 } } dps_results: { key: "TestFrost-AllItems-SouloftheDead-40382" value: { - dps: 7719.6486 - tps: 6289.29418 + dps: 7725.7366 + tps: 6296.32776 } } dps_results: { key: "TestFrost-AllItems-SparkofLife-37657" value: { - dps: 7755.89541 - tps: 6324.01321 + dps: 7757.64893 + tps: 6327.51453 } } dps_results: { key: "TestFrost-AllItems-SphereofRedDragon'sBlood-37166" value: { - dps: 7706.01629 - tps: 6281.8047 + dps: 7696.99765 + tps: 6273.70353 } } dps_results: { key: "TestFrost-AllItems-SwiftSkyflareDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-SwiftStarflareDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-SwiftWindfireDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-TalismanofTrollDivinity-37734" value: { - dps: 7647.57925 - tps: 6220.68724 + dps: 7652.81744 + tps: 6226.83399 } } dps_results: { key: "TestFrost-AllItems-TearsoftheVanquished-47215" value: { - dps: 7686.34035 - tps: 6255.4996 + dps: 7691.42109 + tps: 6261.64718 } } dps_results: { @@ -686,106 +686,106 @@ dps_results: { dps_results: { key: "TestFrost-AllItems-TheGeneral'sHeart-45507" value: { - dps: 7647.27929 - tps: 6222.02013 + dps: 7652.51748 + tps: 6228.1685 } } dps_results: { key: "TestFrost-AllItems-TheTwinBladesofAzzinoth" value: { - dps: 6369.89154 - tps: 5180.72909 + dps: 6372.08189 + tps: 5180.43316 } } dps_results: { key: "TestFrost-AllItems-ThunderingSkyflareDiamond" value: { - dps: 7760.1538 - tps: 6318.09095 + dps: 7765.31653 + tps: 6324.30567 } } dps_results: { key: "TestFrost-AllItems-TinyAbominationinaJar-50351" value: { - dps: 7706.01629 - tps: 6281.8047 + dps: 7696.99765 + tps: 6273.70353 } } dps_results: { key: "TestFrost-AllItems-TinyAbominationinaJar-50706" value: { - dps: 7706.01629 - tps: 6281.8047 + dps: 7696.99765 + tps: 6273.70353 } } dps_results: { key: "TestFrost-AllItems-TirelessSkyflareDiamond" value: { - dps: 7798.72055 - tps: 6349.7974 + dps: 7803.91273 + tps: 6356.04504 } } dps_results: { key: "TestFrost-AllItems-TirelessStarflareDiamond" value: { - dps: 7791.0072 - tps: 6343.45611 + dps: 7796.19349 + tps: 6349.69717 } } dps_results: { key: "TestFrost-AllItems-TomeofArcanePhenomena-36972" value: { - dps: 7784.88807 - tps: 6332.07288 + dps: 7779.60815 + tps: 6327.85299 } } dps_results: { key: "TestFrost-AllItems-TrenchantEarthshatterDiamond" value: { - dps: 7791.0072 - tps: 6343.45611 + dps: 7796.19349 + tps: 6349.69717 } } dps_results: { key: "TestFrost-AllItems-TrenchantEarthsiegeDiamond" value: { - dps: 7798.72055 - tps: 6349.7974 + dps: 7803.91273 + tps: 6356.04504 } } dps_results: { key: "TestFrost-AllItems-WingedTalisman-37844" value: { - dps: 7749.91677 - tps: 6314.13796 + dps: 7755.11162 + tps: 6320.25051 } } dps_results: { key: "TestFrost-Average-Default" value: { - dps: 8088.27706 - tps: 6619.63625 + dps: 8088.78057 + tps: 6620.05808 } } dps_results: { key: "TestFrost-Settings-Troll-p3_frost_alliance-Frost-frost-FullBuffs-LongMultiTarget" value: { - dps: 8003.40047 - tps: 6815.93838 + dps: 8004.42685 + tps: 6818.27786 } } dps_results: { key: "TestFrost-Settings-Troll-p3_frost_alliance-Frost-frost-FullBuffs-LongSingleTarget" value: { - dps: 8003.40047 - tps: 6538.31272 + dps: 8004.42685 + tps: 6540.31281 } } dps_results: { key: "TestFrost-Settings-Troll-p3_frost_alliance-Frost-frost-FullBuffs-ShortSingleTarget" value: { - dps: 10069.72226 - tps: 8272.31852 + dps: 10047.18185 + tps: 8250.71555 } } dps_results: { @@ -848,7 +848,7 @@ dps_results: { dps_results: { key: "TestFrost-SwitchInFrontOfTarget-Default" value: { - dps: 8003.40047 - tps: 6538.31272 + dps: 8004.42685 + tps: 6540.31281 } } diff --git a/sim/mage/arcane_blast.go b/sim/mage/arcane_blast.go index 2833bfc057..9db24bfdf9 100644 --- a/sim/mage/arcane_blast.go +++ b/sim/mage/arcane_blast.go @@ -23,9 +23,6 @@ func (mage *Mage) registerArcaneBlastSpell() { mage.PseudoStats.SchoolDamageDealtMultiplier[stats.SchoolIndexArcane] *= newMultiplier / oldMultiplier mage.ArcaneBlast.CostMultiplier += 1.75 * float64(newStacks-oldStacks) }, - OnExpire: func(aura *core.Aura, sim *core.Simulation) { - mage.arcaneBlastStreak = 0 - }, }) actionID := core.ActionID{SpellID: 42897} diff --git a/sim/mage/arcane_missiles.go b/sim/mage/arcane_missiles.go index 8b2cd71ea5..f9fae720ea 100644 --- a/sim/mage/arcane_missiles.go +++ b/sim/mage/arcane_missiles.go @@ -49,8 +49,7 @@ func (mage *Mage) registerArcaneMissilesSpell() { }, Cast: core.CastConfig{ DefaultCast: core.Cast{ - GCD: core.GCDDefault, - ChannelTime: time.Second * 5, + GCD: core.GCDDefault, }, }, Dot: core.DotConfig{ diff --git a/sim/mage/blizzard.go b/sim/mage/blizzard.go index 1b64af2720..f0b1831039 100644 --- a/sim/mage/blizzard.go +++ b/sim/mage/blizzard.go @@ -57,8 +57,7 @@ func (mage *Mage) registerBlizzardSpell() { }, Cast: core.CastConfig{ DefaultCast: core.Cast{ - GCD: core.GCDDefault, - ChannelTime: time.Second * 8, + GCD: core.GCDDefault, }, }, Dot: core.DotConfig{ diff --git a/sim/mage/evocation.go b/sim/mage/evocation.go index de0e5f0733..b3025f9c10 100644 --- a/sim/mage/evocation.go +++ b/sim/mage/evocation.go @@ -18,8 +18,7 @@ func (mage *Mage) registerEvocation() { Cast: core.CastConfig{ DefaultCast: core.Cast{ - GCD: core.GCDDefault, - ChannelTime: time.Duration(maxTicks) * time.Second * 2, + GCD: core.GCDDefault, }, CD: core.Cooldown{ Timer: mage.NewTimer(), diff --git a/sim/mage/mage.go b/sim/mage/mage.go index 763b09a0fe..f8daa71777 100644 --- a/sim/mage/mage.go +++ b/sim/mage/mage.go @@ -1,8 +1,6 @@ package mage import ( - "time" - "github.com/wowsims/wotlk/sim/common/wotlk" "github.com/wowsims/wotlk/sim/core" @@ -38,12 +36,8 @@ func RegisterMage() { type Mage struct { core.Character - Talents *proto.MageTalents - Options *proto.Mage_Options - Rotation *proto.Mage_Rotation - - arcaneBlastStreak int32 - arcanePowerMCD *core.MajorCooldown + Talents *proto.MageTalents + Options *proto.Mage_Options waterElemental *WaterElemental mirrorImage *MirrorImage @@ -137,20 +131,9 @@ func (mage *Mage) Initialize() { mage.registerMirrorImageCD() mage.registerBlastWaveSpell() mage.registerDragonsBreathSpell() - - mage.RegisterPrepullAction(-2000*time.Millisecond, func(sim *core.Simulation) { - if mirrorImageMCD := mage.GetMajorCooldownIgnoreTag(mage.MirrorImage.ActionID); !mage.IsUsingAPL && mirrorImageMCD != nil { - if len(mirrorImageMCD.GetTimings()) == 0 { - mage.MirrorImage.Cast(sim, nil) - mage.UpdateMajorCooldowns() - } - } - }) } func (mage *Mage) Reset(sim *core.Simulation) { - mage.arcaneBlastStreak = 0 - mage.arcanePowerMCD = mage.GetMajorCooldown(core.ActionID{SpellID: 12042}) } func NewMage(character *core.Character, options *proto.Player) *Mage { @@ -160,20 +143,11 @@ func NewMage(character *core.Character, options *proto.Player) *Mage { Character: *character, Talents: &proto.MageTalents{}, Options: mageOptions.Options, - Rotation: mageOptions.Rotation, } core.FillTalentsProto(mage.Talents.ProtoReflect(), options.TalentsString, TalentTreeSizes) mage.bonusCritDamage = .25*float64(mage.Talents.SpellPower) + .1*float64(mage.Talents.Burnout) mage.EnableManaBar() - mage.EnableResumeAfterManaWait(mage.tryUseGCD) - - if !mage.Talents.ArcaneBarrage { - mage.Rotation.UseArcaneBarrage = false - } - if mage.Talents.ImprovedScorch == 0 { - mage.Rotation.MaintainImprovedScorch = false - } if mage.Options.Armor == proto.Mage_Options_MageArmor { mage.PseudoStats.SpiritRegenRateCasting += .5 diff --git a/sim/mage/rotations.go b/sim/mage/rotations.go deleted file mode 100644 index 42d2b9f248..0000000000 --- a/sim/mage/rotations.go +++ /dev/null @@ -1,155 +0,0 @@ -package mage - -import ( - "time" - - "github.com/wowsims/wotlk/sim/core" - "github.com/wowsims/wotlk/sim/core/proto" -) - -func (mage *Mage) OnGCDReady(sim *core.Simulation) { - mage.tryUseGCD(sim) -} - -func (mage *Mage) tryUseGCD(sim *core.Simulation) { - if mage.IsUsingAPL { - return - } - - spell := mage.chooseSpell(sim) - if spell != nil { - if success := spell.Cast(sim, mage.CurrentTarget); !success { - mage.WaitForMana(sim, spell.CurCast.Cost) - } - } -} - -func (mage *Mage) chooseSpell(sim *core.Simulation) *core.Spell { - if mage.Rotation.MaintainImprovedScorch && (!mage.CritDebuffCategories.Get(mage.CurrentTarget).AnyActive() || (mage.ScorchAuras.Get(mage.CurrentTarget).IsActive() && mage.ScorchAuras.Get(mage.CurrentTarget).RemainingDuration(sim) < time.Millisecond*4000)) { - return mage.Scorch - } - - if mage.PrimaryTalentTree == 0 { - spell := mage.doArcaneRotation(sim) - if spell == mage.ArcaneBlast { - mage.arcaneBlastStreak++ - } - return spell - } else if mage.PrimaryTalentTree == 1 { - return mage.doFireRotation(sim) - } else { - return mage.doFrostRotation(sim) - } -} - -func (mage *Mage) doArcaneRotation(sim *core.Simulation) *core.Spell { - // AB until the end. - if mage.canBlast(sim) { - return mage.ArcaneBlast - } - - // Extra ABs before first AP. - if sim.CurrentTime < time.Second*10 && !mage.ArcanePowerAura.IsActive() && mage.arcanePowerMCD != nil && mage.arcanePowerMCD.TimeToNextCast(sim) < time.Second*5 { - return mage.ArcaneBlast - } - - // Extra ABs during first AP. - if sim.CurrentTime < time.Second*60 && mage.ArcanePowerAura.IsActive() && mage.arcaneBlastStreak < mage.Rotation.ExtraBlastsDuringFirstAp+4 { - return mage.ArcaneBlast - } - - abStacks := mage.ArcaneBlastAura.GetStacks() - hasMissileBarrage := mage.MissileBarrageAura.IsActive() && mage.MissileBarrageAura.TimeActive(sim) > mage.ReactionTime - - // AM if we have MB and below n AB stacks. - if hasMissileBarrage && abStacks < mage.Rotation.MissileBarrageBelowArcaneBlastStacks { - return mage.ArcaneMissiles - } - - // AM if we have MB and below mana %. - manaPercent := mage.CurrentManaPercent() - if hasMissileBarrage && manaPercent < mage.Rotation.MissileBarrageBelowManaPercent { - return mage.ArcaneMissiles - } - - // AM if we don't have barrage and over mana %. - if !hasMissileBarrage && manaPercent > mage.Rotation.BlastWithoutMissileBarrageAboveManaPercent { - return mage.ArcaneBlast - } - - // If we've reached max desired stacks, use AM / ABarr. Otherwise blast. - maxAbStacks := int32(4) - if manaPercent < mage.Rotation.Only_3ArcaneBlastStacksBelowManaPercent { - maxAbStacks = 3 - } - if abStacks < maxAbStacks { - return mage.ArcaneBlast - } else if mage.Rotation.UseArcaneBarrage && mage.ArcaneBarrage.IsReady(sim) { - return mage.ArcaneBarrage - } else { - return mage.ArcaneMissiles - } -} - -func (mage *Mage) canBlast(sim *core.Simulation) bool { - // Save computation by assuming we can't blast for 30+ seconds. - remainingDur := sim.GetRemainingDuration() - if remainingDur > time.Second*30 { - return false - } - - castTime := mage.ApplyCastSpeed(ArcaneBlastBaseCastTime) - manaCost := mage.ArcaneBlast.DefaultCast.Cost - - stacks := float64(mage.ArcaneBlastAura.GetStacks()) - curMana := mage.CurrentMana() - for curTime := time.Duration(0); curTime <= remainingDur; curTime += castTime { - if stacks < 4 { - stacks++ - } - curMana -= manaCost * 1.75 * stacks - if curMana < 0 { - return false - } - } - return true -} - -func (mage *Mage) doFireRotation(sim *core.Simulation) *core.Spell { - noBomb := mage.LivingBomb != nil && !mage.LivingBomb.Dot(mage.CurrentTarget).IsActive() && sim.GetRemainingDuration() > time.Second*12 - if noBomb && mage.hotStreakCritAura.GetStacks() == 0 { - return mage.LivingBomb - } - - hasHotStreak := mage.HotStreakAura.IsActive() && mage.HotStreakAura.TimeActive(sim) > mage.ReactionTime - if hasHotStreak && mage.Pyroblast != nil { - return mage.Pyroblast - } - - if noBomb { - return mage.LivingBomb - } - - if mage.Rotation.PrimaryFireSpell == proto.Mage_Rotation_Fireball { - return mage.Fireball - } else if mage.Rotation.PrimaryFireSpell == proto.Mage_Rotation_FrostfireBolt { - return mage.FrostfireBolt - } else { - return mage.Scorch - } -} - -func (mage *Mage) doFrostRotation(sim *core.Simulation) *core.Spell { - hasBrainFreeze := mage.BrainFreezeAura.IsActive() && mage.BrainFreezeAura.TimeActive(sim) > mage.ReactionTime - if mage.FingersOfFrostAura.IsActive() { - if mage.DeepFreeze != nil && mage.DeepFreeze.IsReady(sim) { - return mage.DeepFreeze - } else if hasBrainFreeze { - return mage.FrostfireBolt - } else if mage.Rotation.UseIceLance { - return mage.IceLance - } - } - - return mage.Frostbolt -}