 |
12/28/08, 8:42 PM
|
#1
|
|
Don Flamenco
Gnome Mage
Naxxramas (EU)
|
Mirror Image - threat calculations
I'm not sure where this thread should go, as it started in the frostfire one and it doesn't seem to fit there nor am I convinced it should be in the UI/Addons.
Anyway, as you well know after casting MI your threat 'disapears' from Omen and you are left guessing as to where you are on threat compared to the tanks. After reading a curios remark in Omen source namely "Threat can be negative due to temporary threat reduction effects such as Fade and Mirror Image (-410057408)." I wanted to try and check if it's in fact possible to derive the 'imaginary' threat i.e. the one you would have if MI just faded from blizzard threat API.
So I changed a couple of lines in Omen to print out my threat if it is negative and engaged a mob in Crystalsong, what I did was Ice Lance to get the initial threat then sheeped and cast MI, here are the results.
* Initial Threat is the one done before casting MI (Ice Lance + sheep, sheep does 120 threat, Ice Lance depends on damage and Frost Channeling)
* MI Threat is the threat blizzard API announces after casting MI
Initial Threat --> MI Threat
622 --> -410003188
628 --> -410002558
629 --> -410002468
749 --> -409990468
* 749 was done by casting Ice Lance then Sheep and Sheep again, ie. 509 threat from Ice Lance and 120x2 from sheep.
Firstly it seems that in fact it is possible to get the 'imaginary' threat however I don't seem to be able to find the conversion as the numbers do follow the expected progression but the scale is not 1 to 1. What I can notice is that they all end in 8 but that doesn't help.
So, if anyone can see the pattern in that please drop a post, and if anyone would like to test it for himself if you get Omen 3.0.5 you can add just after the comment "-- So we cap the minimum threat to display at 0. We use the special value -1 to indicate nil here." the following lines and it'll print the MI threat in the default chat frame.
-- So we cap the minimum threat to display at 0. We use the special value -1 to indicate nil here.
if threatValue and threatValue < 0 and UnitGUID("player") == guid then
DEFAULT_CHAT_FRAME:AddMessage("Threat is "..threatValue);
end
EDIT::
Thanks to Zephriel it seems like the important part of the mistery is solved, the constant seems to be -410065408. I'm including a 'fix' for Omen to show your 'real' threat even under MI effect, this is untested and might be erroneous since we still don't know what the last two digits mean.
EDIT2::
Done some testing in various settings/raids looks to be working properly.
The 'fix' for those who know how to edit lua files. (valid for Omen 3.0.5)
if threatValue and threatValue < 0 and UnitGUID("player") == guid then
threatValue = threatValue + 410065408
end
Omen 3.0.6 supports showing the MI threat: Omen Threat Meter - Addons - Curse
Last edited by Maje : 01/09/09 at 5:14 PM.
|
|
|
|
|
12/28/08, 10:00 PM
|
#2
|
|
Don Flamenco
|
I'd be curious to see what the images threat is, which should (I think?) be attainable with these macros:
/script isTanking, status, threatpct, rawthreatpct, threatvalue = UnitDetailedThreatSituation("player", "focus")
/script ChatFrame1:AddMessage('You have '..threatvalue..' threat on the focus target');
/script isTanking, status, threatpct, rawthreatpct, threatvalue = UnitDetailedThreatSituation("target", "focus")
/script ChatFrame1:AddMessage('Your target has '..threatvalue..' threat on the focus target');
What you should be able to do, is ice lance pull, then sheep (I assume at this point you're focus sheeping, if not /focus the sheep). Push macro number 1, record the value compared to the damage done and your points in any relevant threat reduction talents. Pop MI, push macro number 1, target a MI copy, push macro number 2, record record record.
I can't currently test macro 2 on my own (damn lazyness, 78 by the end of tonight, that's the goal), but I believe it should work based on what I've observed with my hunter.
What should come of this data wise should fill this table:
Talent Points in Burning Soul / Frost Channeling / Arcane Subtlety:
Damage done and with which spell:
Your Raw Threat value post pull and sheep:
Your Raw Threat value post MI Pop:
MI Raw Threat value:
|
|
|
|
12/29/08, 2:44 AM
|
#3
|
|
Don Flamenco
Gnome Mage
Naxxramas (EU)
|
Regretfully the Images threat isn't given through the API untill they actually hurt the target (I checked that) and at that point it's anyone's guess how much damage they do as I need to chain sheep untill they stop hitting and the target doesn't hit them back, I'll try something of a kind when I get home from work.
Also do you mean for me to target one of the images when pressing the macros?
For now to fill in the previous values:
Burning Soul: 3/3
Frost Channeling: 3/3
Arcane Subtlety: 0
One Ice Lance was used and one poly except the last result where 2 polys were cast.
|
|
|
|
|
12/29/08, 3:22 AM
|
#4
|
|
Don Flamenco
|
Originally Posted by Maje
Regretfully the Images threat isn't given through the API untill they actually hurt the target (I checked that) and at that point it's anyone's guess how much damage they do as I need to chain sheep untill they stop hitting and the target doesn't hit them back, I'll try something of a kind when I get home from work.
Also do you mean for me to target one of the images when pressing the macros?
For now to fill in the previous values:
Burning Soul: 3/3
Frost Channeling: 3/3
Arcane Subtlety: 0
One Ice Lance was used and one poly except the last result where 2 polys were cast.
|
Thats not that hard to account for.
And yes, target one of the images. I don't know what unit referer to use in the function to get the MI (pet1? pet2? will it even be a pet?).
If you /combatlog it its easy to pick out which damage event was the MI you had targeted (assuming their threat gain follows a predictable pattern)
|
|
|
|
12/29/08, 5:10 AM
|
#5
|
|
Von Kaiser
Troll Mage
Shadow Council
|
Originally Posted by Maje
Initial Threat --> MI Threat
622 --> -410003188
628 --> -410002558
629 --> -410002468
749 --> -409990468
* 749 was done by casting Ice Lance then Sheep and Sheep again, ie. 509 threat from Ice Lance and 120x2 from sheep.
Firstly it seems that in fact it is possible to get the 'imaginary' threat however I don't seem to be able to find the conversion as the numbers do follow the expected progression but the scale is not 1 to 1. What I can notice is that they all end in 8 but that doesn't help.
|
Actually, if you ignore the last two digits from the MI threat readings, the scale is indeed 1:1. I highlighted the relevant numbers in bold there.
That creates two possibilities that I can see:
1) Threat is actually tracked to at least two decimal places; or
2) The last two digits of the MI threat numbers actually represent something else entirely.
|
|
|
|
|
12/29/08, 5:26 AM
|
#6
|
|
Don Flamenco
Gnome Mage
Naxxramas (EU)
|
Originally Posted by Zephriel
Actually, if you ignore the last two digits from the MI threat readings, the scale is indeed 1:1. I highlighted the relevant numbers in bold there.
That creates two possibilities that I can see:
1) Threat is actually tracked to at least two decimal places; or
2) The last two digits of the MI threat numbers actually represent something else entirely.
|
Nice, good catch, and it makes sense since the last digit is 8 and doesn't change which more then likely shows the last two digits are somekind of identifiers.
|
|
|
|
|
12/29/08, 6:32 AM
|
#7
|
|
Bald Bull
Roywyn
Gnome Mage
No WoW Account (EU)
|
Originally Posted by Zephriel
Actually, if you ignore the last two digits from the MI threat readings, the scale is indeed 1:1. I highlighted the relevant numbers in bold there.
That creates two possibilities that I can see:
1) Threat is actually tracked to at least two decimal places; or
2) The last two digits of the MI threat numbers actually represent something else entirely.
|
Was thinking something like that as well, since it's roughly a 1:100 scaling.
The only step where it's exactly 1:100 is when another sheep was added. That was with one polymorph which added exactly 120 threat (likely that it's a round number), while the other numbers may differ by decimals as they come from damage.
Something that doesn't add up yet however is the "MI threat".
Assuming "MI threat" = -410057408(Fade/MI base) + 100*"initial threat", which would be the canonic guess, we're off by a bit.
By -7980, -7950, -7960, -7960, which is roughly the same number for all your data.
We wound need some more data to check and confirm that. In particular:
1) Doing little/no threat (Does body pulling get you on Omen/threat API? If not, hit a mob with your bare hands.), then casting MI.
It's to check whether "0 threat + MI" puts you to -410057408, or to "-410057408 - 7960" (+/-20 or so).
2) Doing more threat and then using MI to confirm that it works like we think for large numbers of threat.
Check with around 2K, 5k, 10k, 20k perhaps, just to make sure it works like we think.
3) How is threat after MI fades? In your "749 --> -409990468" example, do you get back to "749" after the 30s are over?
Or do you end up with slightly more or less, some remainder of the "-7960" threat that we couldn't link to anything?
|
|
|
|
12/29/08, 7:10 AM
|
#8
|
|
Don Flamenco
|
It also is possible that threat is recorded to further decimal places the same way damage is, and is rounded for display. You can observe that through DoTs like ignite ticking for different numbers per tick, that tend to add up to a rounded average expected value.
Meaning, you see 100 damage, but 10010 threat, really you did 100.1 damage, but it only showed you the 100, and saved internally the .1.
|
|
|
|
12/29/08, 7:35 AM
|
#9
|
|
Don Flamenco
Gnome Mage
Naxxramas (EU)
|

Originally Posted by Roywyn
Was thinking something like that as well, since it's roughly a 1:100 scaling.
The only step where it's exactly 1:100 is when another sheep was added. That was with one polymorph which added exactly 120 threat (likely that it's a round number), while the other numbers may differ by decimals as they come from damage.
Something that doesn't add up yet however is the "MI threat".
Assuming "MI threat" = -410057408(Fade/MI base) + 100*"initial threat", which would be the canonic guess, we're off by a bit.
By -7980, -7950, -7960, -7960, which is roughly the same number for all your data.
We wound need some more data to check and confirm that. In particular:
1) Doing little/no threat (Does body pulling get you on Omen/threat API? If not, hit a mob with your bare hands.), then casting MI.
It's to check whether "0 threat + MI" puts you to -410057408, or to "-410057408 - 7960" (+/-20 or so).
2) Doing more threat and then using MI to confirm that it works like we think for large numbers of threat.
Check with around 2K, 5k, 10k, 20k perhaps, just to make sure it works like we think.
3) How is threat after MI fades? In your "749 --> -409990468" example, do you get back to "749" after the 30s are over?
Or do you end up with slightly more or less, some remainder of the "-7960" threat that we couldn't link to anything?
|
1. I'll check that.
2. Will test it in a raid setting.
3. The threat after MI fades is exactly the number it was before, namely 749 in the above case and it was the same in all the cases.
However to me it seems more likely the last two digits have nothing to do with being the fraction of the threat dealt, especially seeing that in all cases tested the last digit is 8, but agreed more testing is needed.
|
|
|
|
|
12/29/08, 8:16 AM
|
#10
|
|
Don Flamenco
|
Using this macro on Dr Boom:
/script a, b, c, d, t = UnitDetailedThreatSituation("player", "target")
/script if(t ~= nil) then ChatFrame1:AddMessage('You have '..t..' threat on your current target'); end
Counterspell to enter combat, 0 threat
Frostbolt for 1739 damage, 173900 threat
Scorch for 954, 259760 threat
This is specced 2/2 Burning soul 0/3 Frost Channeling, so:
1739 + 954 * 0.9 = 2597.6
Add in a scorch crit for 1631, with two ticks for 327 and 326, 469020 threat
1739 + 954 * 0.9 + (1631 + 327 + 326) * 0.9 = 4653.2
If we assume burning soul doesnt work on ignite...
1739 + 954 * 0.9 + 1631 * 0.9 + 327 + 326 = 4718.5
If we assume the ignite does decimal place damage values (calcing its damage off the crit):
1739 + 954 * 0.9 + 1631 * 1.4 * 0.9 = 4652.66
Invising to clear threat and using Arcane Blast:
AB for 1715, 171500 threat
AB for 1745, 346000 threat
AB crit for 2940, 643650 threat
So crits cause decimal threat. Body pulling a flayer gives 0 threat on entering combat, sheeping initially gives nil threat initial, correct threat once it breaks, looks like the target has to target you before the API will give you a threat value for it. or atleast has to be in combat with you and able to make an action for some amount of time (since Dr Boom doesn't target).
I have as yet been unable to produce anything with anything other than a 0 in the last space.
Edit: The reason I'm questionable of the last space being a flag for something, is the API function used to gather that info returns all kinds of data, the full macro is:
/script isTanking, status, threatpct, rawthreatpct, threatvalue = UnitDetailedThreatSituation("player", "target")
/script ChatFrame1:AddMessage('You have '..threatvalue..' threat on your current target');
Why would they encode a flag into the raw threat value instead of just passing it in another variable?
Last edited by Zaldinar : 12/29/08 at 8:27 AM.
|
|
|
|
12/29/08, 11:37 AM
|
#11
|
|
Von Kaiser
Troll Mage
Shadow Council
|
EDIT: Never mind, Maje disproved this posted theory with one of his tests.
Last edited by Zephriel : 12/29/08 at 12:36 PM.
|
|
|
|
|
12/29/08, 12:40 PM
|
#12
|
|
Don Flamenco
Gnome Mage
Naxxramas (EU)
|
Did another test, pulled a mob by hitting it, missed - 0 threat, casted MI threat reported -410065408. Also it seems that the threat caused by the images isn't transfered to you.
Last edited by Maje : 12/29/08 at 12:53 PM.
|
|
|
|
|
12/29/08, 1:08 PM
|
#13
|
|
Von Kaiser
Troll Mage
Shadow Council
|
That's very good news! That means now the previous zero-threat estimate is off by only 1 threat (which is likely attributable to threat decimals) instead of 79-80. I'd say you have a precision reading there.
Last edited by Zephriel : 12/29/08 at 5:25 PM.
|
|
|
|
|
12/30/08, 7:00 AM
|
#14
|
|
Don Flamenco
Gnome Mage
Naxxramas (EU)
|
What does interest me is Zalindar's threat numbers for crits, specifically that you gain more threat for crits (?), I'll try to do some tests on that as well.
|
|
|
|
|
12/30/08, 9:47 AM
|
#15
|
|
Von Kaiser
|
This seems like a minor quibble. You said that you will be submitting a fix for recount in your original post, do you mean Omen?
I can really see this helping us a lot for after the 30 second period (or less depending on if Blizzard fixes that when the 3 images die that we gain the threat back instead of waiting for the 30 seconds to be gone).
|
|
|
|
|
|