From bf2a303629be466ec68925ce8ef3f47cbcaffeee Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 29 Sep 2023 20:28:28 -0400 Subject: [PATCH] fix cast metrics and hit calc (#3786) * fix cast metrics and hit calc * fix arcane APL dps * update tests --- sim/mage/TestArcane.results | 440 ++++++++++++++++++------------------ sim/mage/arcane_missiles.go | 11 +- 2 files changed, 226 insertions(+), 225 deletions(-) diff --git a/sim/mage/TestArcane.results b/sim/mage/TestArcane.results index 2af5bfee6e..b2b6eaa529 100644 --- a/sim/mage/TestArcane.results +++ b/sim/mage/TestArcane.results @@ -46,718 +46,718 @@ character_stats_results: { dps_results: { key: "TestArcane-AllItems-Althor'sAbacus-50359" value: { - dps: 12864.27933 - tps: 7851.99528 + dps: 13938.32602 + tps: 8515.21349 } } dps_results: { key: "TestArcane-AllItems-Althor'sAbacus-50366" value: { - dps: 12909.11684 - tps: 7878.60296 + dps: 13986.96467 + tps: 8544.10281 } } dps_results: { key: "TestArcane-AllItems-AustereEarthsiegeDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-Bandit'sInsignia-40371" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-BaubleofTrueBlood-50354" value: { - dps: 12493.89854 - tps: 7633.6518 - hps: 104.40923 + dps: 13559.98892 + tps: 8289.46584 + hps: 103.0427 } } dps_results: { key: "TestArcane-AllItems-BaubleofTrueBlood-50726" value: { - dps: 12493.89854 - tps: 7633.6518 - hps: 104.40923 + dps: 13559.98892 + tps: 8289.46584 + hps: 103.0427 } } dps_results: { key: "TestArcane-AllItems-BeamingEarthsiegeDiamond" value: { - dps: 12896.00915 - tps: 7872.80597 + dps: 14142.64249 + tps: 8641.10327 } } dps_results: { key: "TestArcane-AllItems-BlessedRegaliaofUndeadCleansing" value: { - dps: 8559.88278 - tps: 5241.09333 + dps: 9334.70587 + tps: 5716.91556 } } dps_results: { key: "TestArcane-AllItems-Bloodmage'sRegalia" value: { - dps: 11008.00654 - tps: 6739.52609 + dps: 11967.58124 + tps: 7323.72867 } } dps_results: { key: "TestArcane-AllItems-BracingEarthsiegeDiamond" value: { - dps: 12871.81114 - tps: 7704.21122 + dps: 14159.52251 + tps: 8477.86294 } } dps_results: { key: "TestArcane-AllItems-ChaoticSkyflareDiamond" value: { - dps: 13247.12774 - tps: 8088.5358 + dps: 14579.67222 + tps: 8903.98584 } } dps_results: { key: "TestArcane-AllItems-CorpseTongueCoin-50349" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-CorpseTongueCoin-50352" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-CorrodedSkeletonKey-50356" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 hps: 64 } } dps_results: { key: "TestArcane-AllItems-DarkmoonCard:Berserker!-42989" value: { - dps: 12630.08312 - tps: 7717.02353 + dps: 13778.25981 + tps: 8425.23462 } } dps_results: { key: "TestArcane-AllItems-DarkmoonCard:Death-42990" value: { - dps: 12675.87185 - tps: 7772.50672 + dps: 13792.59404 + tps: 8455.86564 } } dps_results: { key: "TestArcane-AllItems-DarkmoonCard:Greatness-44255" value: { - dps: 12827.2793 - tps: 7826.39647 + dps: 13893.53775 + tps: 8496.34724 } } dps_results: { key: "TestArcane-AllItems-Death'sChoice-47464" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-DeathKnight'sAnguish-38212" value: { - dps: 12541.19437 - tps: 7661.02629 + dps: 13603.25438 + tps: 8318.32377 } } dps_results: { key: "TestArcane-AllItems-Deathbringer'sWill-50362" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-Deathbringer'sWill-50363" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-Defender'sCode-40257" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-DestructiveSkyflareDiamond" value: { - dps: 12871.53219 - tps: 7860.71541 + dps: 14157.3308 + tps: 8647.90173 } } dps_results: { key: "TestArcane-AllItems-DislodgedForeignObject-50353" value: { - dps: 13132.16684 - tps: 8021.66397 + dps: 14451.08585 + tps: 8829.62346 } } dps_results: { key: "TestArcane-AllItems-EffulgentSkyflareDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-EmberSkyflareDiamond" value: { - dps: 12947.93313 - tps: 7902.69401 + dps: 14184.3949 + tps: 8665.07195 } } dps_results: { key: "TestArcane-AllItems-EnigmaticSkyflareDiamond" value: { - dps: 12865.14901 - tps: 7856.82803 + dps: 14155.50628 + tps: 8646.80701 } } dps_results: { key: "TestArcane-AllItems-EnigmaticStarflareDiamond" value: { - dps: 12853.68652 - tps: 7849.19837 + dps: 14147.21443 + tps: 8641.68686 } } dps_results: { key: "TestArcane-AllItems-EphemeralSnowflake-50260" value: { - dps: 12803.05574 - tps: 7826.13336 + dps: 13768.92115 + tps: 8421.33184 } } dps_results: { key: "TestArcane-AllItems-EssenceofGossamer-37220" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-EternalEarthsiegeDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-ExtractofNecromanticPower-40373" value: { - dps: 12624.79175 - tps: 7713.42662 + dps: 13770.88267 + tps: 8421.59271 } } dps_results: { key: "TestArcane-AllItems-EyeoftheBroodmother-45308" value: { - dps: 12880.80667 - tps: 7866.01283 + dps: 14038.63341 + tps: 8582.8258 } } dps_results: { key: "TestArcane-AllItems-Figurine-SapphireOwl-42413" value: { - dps: 12648.07098 - tps: 7716.13185 + dps: 13617.74017 + tps: 8330.18313 } } dps_results: { key: "TestArcane-AllItems-ForethoughtTalisman-40258" value: { - dps: 12725.69066 - tps: 7769.75334 + dps: 13787.98838 + tps: 8425.91926 } } dps_results: { key: "TestArcane-AllItems-ForgeEmber-37660" value: { - dps: 12795.77387 - tps: 7814.80618 + dps: 13907.93505 + tps: 8503.38421 } } dps_results: { key: "TestArcane-AllItems-ForlornSkyflareDiamond" value: { - dps: 12871.81114 - tps: 7859.42925 + dps: 14159.52251 + tps: 8648.59798 } } dps_results: { key: "TestArcane-AllItems-ForlornStarflareDiamond" value: { - dps: 12861.77334 - tps: 7853.47314 + dps: 14148.47754 + tps: 8642.0378 } } dps_results: { key: "TestArcane-AllItems-FrostfireGarb" value: { - dps: 9058.40983 - tps: 5543.04139 + dps: 9853.75252 + tps: 6039.54481 } } dps_results: { key: "TestArcane-AllItems-FuryoftheFiveFlights-40431" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-FuturesightRune-38763" value: { - dps: 12689.39843 - tps: 7745.73513 + dps: 13816.96554 + tps: 8444.8346 } } dps_results: { key: "TestArcane-AllItems-Gladiator'sRegalia" value: { - dps: 9321.46838 - tps: 5692.60287 + dps: 10131.7584 + tps: 6192.73828 } } dps_results: { key: "TestArcane-AllItems-GlowingTwilightScale-54573" value: { - dps: 12886.69808 - tps: 7865.29912 + dps: 13962.64535 + tps: 8529.65815 } } dps_results: { key: "TestArcane-AllItems-GlowingTwilightScale-54589" value: { - dps: 12937.6498 - tps: 7895.53513 + dps: 14017.91654 + tps: 8562.48691 } } dps_results: { key: "TestArcane-AllItems-GnomishLightningGenerator-41121" value: { - dps: 12654.87807 - tps: 7752.25937 + dps: 13777.39562 + tps: 8440.71706 } } dps_results: { key: "TestArcane-AllItems-Heartpierce-49982" value: { - dps: 13247.12774 - tps: 8088.5358 + dps: 14579.67222 + tps: 8903.98584 } } dps_results: { key: "TestArcane-AllItems-Heartpierce-50641" value: { - dps: 13247.12774 - tps: 8088.5358 + dps: 14579.67222 + tps: 8903.98584 } } dps_results: { key: "TestArcane-AllItems-IllustrationoftheDragonSoul-40432" value: { - dps: 12896.4001 - tps: 7872.3437 + dps: 13973.78383 + tps: 8537.56268 } } dps_results: { key: "TestArcane-AllItems-ImpassiveSkyflareDiamond" value: { - dps: 12865.14901 - tps: 7856.82803 + dps: 14155.50628 + tps: 8646.80701 } } dps_results: { key: "TestArcane-AllItems-ImpassiveStarflareDiamond" value: { - dps: 12853.68652 - tps: 7849.19837 + dps: 14147.21443 + tps: 8641.68686 } } dps_results: { key: "TestArcane-AllItems-IncisorFragment-37723" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-InsightfulEarthsiegeDiamond" value: { - dps: 12966.50678 - tps: 7911.18667 + dps: 14225.42132 + tps: 8696.66585 } } dps_results: { key: "TestArcane-AllItems-InvigoratingEarthsiegeDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-Khadgar'sRegalia" value: { - dps: 9774.91778 - tps: 5977.53055 + dps: 10738.89761 + tps: 6579.70596 } } dps_results: { key: "TestArcane-AllItems-KirinTorGarb" value: { - dps: 9537.94626 - tps: 5824.43454 + dps: 10430.54648 + tps: 6379.75743 } } dps_results: { key: "TestArcane-AllItems-Lavanthor'sTalisman-37872" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-MajesticDragonFigurine-40430" value: { - dps: 12801.99598 - tps: 7806.95692 + dps: 13899.64044 + tps: 8498.50668 } } dps_results: { key: "TestArcane-AllItems-MeteoriteWhetstone-37390" value: { - dps: 12595.86635 - tps: 7695.53783 + dps: 13678.60862 + tps: 8366.40953 } } dps_results: { key: "TestArcane-AllItems-NevermeltingIceCrystal-50259" value: { - dps: 12790.64297 - tps: 7811.06588 + dps: 13883.52841 + tps: 8482.31614 } } dps_results: { key: "TestArcane-AllItems-Nibelung-49992" value: { - dps: 13247.12774 - tps: 8088.5358 + dps: 14579.67222 + tps: 8903.98584 } } dps_results: { key: "TestArcane-AllItems-Nibelung-50648" value: { - dps: 13247.12774 - tps: 8088.5358 + dps: 14579.67222 + tps: 8903.98584 } } dps_results: { key: "TestArcane-AllItems-OfferingofSacrifice-37638" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-PersistentEarthshatterDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-PersistentEarthsiegeDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-PetrifiedScarab-21685" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-PetrifiedTwilightScale-54571" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-PetrifiedTwilightScale-54591" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-PowerfulEarthshatterDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-PowerfulEarthsiegeDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-PurifiedShardoftheGods" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-ReignoftheDead-47316" value: { - dps: 13095.97219 - tps: 8105.46523 + dps: 14241.14565 + tps: 8807.62564 } } dps_results: { key: "TestArcane-AllItems-ReignoftheDead-47477" value: { - dps: 13167.78246 - tps: 8162.3441 + dps: 14317.4029 + tps: 8867.61484 } } dps_results: { key: "TestArcane-AllItems-RelentlessEarthsiegeDiamond" value: { - dps: 13199.08863 - tps: 8058.64155 + dps: 14524.89834 + tps: 8870.8018 } } dps_results: { key: "TestArcane-AllItems-RevitalizingSkyflareDiamond" value: { - dps: 12809.21562 - tps: 7821.20046 + dps: 14153.58156 + tps: 8646.96679 } } dps_results: { key: "TestArcane-AllItems-RuneofRepulsion-40372" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-SealofthePantheon-36993" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-ShinyShardoftheGods" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-Sindragosa'sFlawlessFang-50361" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-SliverofPureIce-50339" value: { - dps: 12907.25562 - tps: 7872.64258 + dps: 13990.03288 + tps: 8551.78125 } } dps_results: { key: "TestArcane-AllItems-SliverofPureIce-50346" value: { - dps: 12962.38255 - tps: 7906.43934 + dps: 14043.97943 + tps: 8584.41223 } } dps_results: { key: "TestArcane-AllItems-SoulPreserver-37111" value: { - dps: 12652.32019 - tps: 7726.21349 + dps: 13708.39786 + tps: 8378.64584 } } dps_results: { key: "TestArcane-AllItems-SouloftheDead-40382" value: { - dps: 12732.07943 - tps: 7773.93995 + dps: 13860.05674 + tps: 8484.45382 } } dps_results: { key: "TestArcane-AllItems-SparkofLife-37657" value: { - dps: 12695.50522 - tps: 7747.62431 + dps: 13736.70742 + tps: 8399.2697 } } dps_results: { key: "TestArcane-AllItems-SphereofRedDragon'sBlood-37166" value: { - dps: 12546.05734 - tps: 7667.73727 + dps: 13590.27478 + tps: 8310.65814 } } dps_results: { key: "TestArcane-AllItems-SwiftSkyflareDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-SwiftStarflareDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-SwiftWindfireDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-TalismanofTrollDivinity-37734" value: { - dps: 12619.5102 - tps: 7704.43095 + dps: 13659.24748 + tps: 8350.78269 } } dps_results: { key: "TestArcane-AllItems-TearsoftheVanquished-47215" value: { - dps: 12686.22352 - tps: 7740.04744 + dps: 13743.10061 + tps: 8406.31242 } } dps_results: { key: "TestArcane-AllItems-TempestRegalia" value: { - dps: 6988.48685 - tps: 4300.795 + dps: 7573.09901 + tps: 4654.42593 } } dps_results: { key: "TestArcane-AllItems-TheGeneral'sHeart-45507" value: { - dps: 12499.46504 - tps: 7635.50546 + dps: 13542.58428 + tps: 8280.15955 } } dps_results: { key: "TestArcane-AllItems-TheTwinBladesofAzzinoth" value: { - dps: 10432.91656 - tps: 6404.66783 + dps: 11225.85621 + tps: 6891.95057 } } dps_results: { key: "TestArcane-AllItems-ThunderingSkyflareDiamond" value: { - dps: 12821.62212 - tps: 7829.6487 + dps: 14104.29768 + tps: 8615.79706 } } dps_results: { key: "TestArcane-AllItems-TinyAbominationinaJar-50351" value: { - dps: 12559.18163 - tps: 7676.92503 + dps: 13613.424 + tps: 8323.13689 } } dps_results: { key: "TestArcane-AllItems-TinyAbominationinaJar-50706" value: { - dps: 12559.18163 - tps: 7676.92503 + dps: 13613.424 + tps: 8323.13689 } } dps_results: { key: "TestArcane-AllItems-TirelessSkyflareDiamond" value: { - dps: 12871.81114 - tps: 7859.42925 + dps: 14159.52251 + tps: 8648.59798 } } dps_results: { key: "TestArcane-AllItems-TirelessStarflareDiamond" value: { - dps: 12861.77334 - tps: 7853.47314 + dps: 14148.47754 + tps: 8642.0378 } } dps_results: { key: "TestArcane-AllItems-TomeofArcanePhenomena-36972" value: { - dps: 12912.31848 - tps: 7885.66799 + dps: 13840.3577 + tps: 8460.30046 } } dps_results: { key: "TestArcane-AllItems-TrenchantEarthshatterDiamond" value: { - dps: 12861.77334 - tps: 7853.47314 + dps: 14148.47754 + tps: 8642.0378 } } dps_results: { key: "TestArcane-AllItems-TrenchantEarthsiegeDiamond" value: { - dps: 12871.81114 - tps: 7859.42925 + dps: 14159.52251 + tps: 8648.59798 } } dps_results: { key: "TestArcane-AllItems-WingedTalisman-37844" value: { - dps: 12655.7794 - tps: 7729.29408 + dps: 13712.14553 + tps: 8381.8963 } } dps_results: { key: "TestArcane-Average-Default" value: { - dps: 13262.8124 - tps: 8100.50301 + dps: 14576.21601 + tps: 8905.34511 } } dps_results: { @@ -805,49 +805,49 @@ dps_results: { dps_results: { key: "TestArcane-Settings-Troll-P3Arcane-Arcane-Arcane-FullBuffs-LongMultiTarget" value: { - dps: 13247.12774 - tps: 9960.45845 + dps: 14579.67222 + tps: 11028.85127 } } dps_results: { key: "TestArcane-Settings-Troll-P3Arcane-Arcane-Arcane-FullBuffs-LongSingleTarget" value: { - dps: 13247.12774 - tps: 8088.5358 + dps: 14579.67222 + tps: 8903.98584 } } dps_results: { key: "TestArcane-Settings-Troll-P3Arcane-Arcane-Arcane-FullBuffs-ShortSingleTarget" value: { - dps: 16955.33206 - tps: 10210.39553 + dps: 19100.24729 + tps: 11510.87056 } } dps_results: { key: "TestArcane-Settings-Troll-P3Arcane-Arcane-Arcane-NoBuffs-LongMultiTarget" value: { - dps: 6783.06695 - tps: 5690.62687 + dps: 7202.86274 + tps: 5958.16943 } } dps_results: { key: "TestArcane-Settings-Troll-P3Arcane-Arcane-Arcane-NoBuffs-LongSingleTarget" value: { - dps: 6783.06695 - tps: 4157.90548 + dps: 7202.86274 + tps: 4409.90549 } } dps_results: { key: "TestArcane-Settings-Troll-P3Arcane-Arcane-Arcane-NoBuffs-ShortSingleTarget" value: { - dps: 8606.33757 - tps: 5115.66057 + dps: 10273.25669 + tps: 6124.54192 } } dps_results: { key: "TestArcane-SwitchInFrontOfTarget-Default" value: { - dps: 13247.12774 - tps: 8088.5358 + dps: 14579.67222 + tps: 8903.98584 } } diff --git a/sim/mage/arcane_missiles.go b/sim/mage/arcane_missiles.go index 9975d7db83..f7048c163a 100644 --- a/sim/mage/arcane_missiles.go +++ b/sim/mage/arcane_missiles.go @@ -38,10 +38,11 @@ func (mage *Mage) registerArcaneMissilesSpell() { }) mage.ArcaneMissiles = mage.RegisterSpell(core.SpellConfig{ - ActionID: core.ActionID{SpellID: 42846}, - SpellSchool: core.SpellSchoolArcane, - ProcMask: core.ProcMaskSpellDamage, - Flags: SpellFlagMage | core.SpellFlagChanneled | core.SpellFlagAPL, + ActionID: core.ActionID{SpellID: 42846}, + SpellSchool: core.SpellSchoolArcane, + ProcMask: core.ProcMaskSpellDamage, + Flags: SpellFlagMage | core.SpellFlagChanneled | core.SpellFlagAPL, + BonusHitRating: float64(mage.Talents.ArcaneFocus) * core.SpellHitRatingPerHitChance, ManaCost: core.ManaCostOptions{ BaseCost: 0.31, Multiplier: 1 - .01*float64(mage.Talents.ArcaneFocus), @@ -67,6 +68,7 @@ func (mage *Mage) registerArcaneMissilesSpell() { // occur before aura expirations. dot := mage.ArcaneMissiles.Dot(aura.Unit) if dot.TickCount < dot.NumberOfTicks { + dot.TickCount++ dot.TickOnce(sim) } mage.ArcaneBlastAura.Deactivate(sim) @@ -82,7 +84,6 @@ func (mage *Mage) registerArcaneMissilesSpell() { ApplyEffects: func(sim *core.Simulation, target *core.Unit, spell *core.Spell) { result := spell.CalcOutcome(sim, target, spell.OutcomeMagicHit) if result.Landed() { - spell.SpellMetrics[target.UnitIndex].Hits-- spell.Dot(target).Apply(sim) } spell.DealOutcome(sim, result)