 |
10/09/09, 8:52 AM
|
#551
|
|
Don Flamenco
Draenei Death Knight
Chants Eternels (EU)
|
If you have some coding experience, you should be able to read those extracts of the source code:
Scourge Strike
tmp = sim.MainStat.NormalisedMHDamage
tmp = tmp * 0.50
if sim.sigils.Awareness then tmp = tmp + 189
If sim.sigils.ArthriticBinding Then tmp = tmp + 91.35
tmpPh = tmp ' Physiscal part
tmpSp = tmp ' Magical part
tmpPh = tmpPh * sim.MainStat.StandardPhysicalDamageMultiplier(T)
if sim.MainStat.T84PDPS = 1 then
tmpSp = tmpSp * (0.25 * Sim.NumDesease * 1.2)
else
tmpSp = tmpSp * (0.25 * Sim.NumDesease )
End If
tmpSp = tmpSp * sim.MainStat.StandardMagicalDamageMultiplier(T)
tmpSp = tmpSp * (1 + TalentFrost.BlackIce * 2 / 100)
if sim.RuneForge.CinderglacierProc > 0 then
tmpSp = tmpSp * 1.2
sim.RuneForge.CinderglacierProc = sim.RuneForge.CinderglacierProc -1
End If
tmp = tmpSp + tmpPh
tmp = tmp * (1 + 6.6666666 * TalentUnholy.Outbreak / 100)
If sim.MainStat.T102PDPS<>0 Then
tmp = tmp * 1.1
End If
Standard Physical Damage Multiplier
Function StandardPhysicalDamageMultiplier(T as long) As Double
dim tmp as Double
tmp = 1
tmp = tmp * (1 + BloodPresence * 0.15)
tmp = tmp * (1 + 0.03 * sim.Buff.PcDamage)
If sim.Desolation.isActive(T) Then tmp = tmp * (1+sim.Desolation.Bonus)
tmp = tmp * (1 + 0.02 * sim.BoneShield.Value(T))
tmp = tmp * (1 + 0.02 * TalentBlood.BloodGorged)
tmp = tmp * getMitigation
tmp = tmp * (1 + 0.04 * sim.Buff.PhysicalVuln)
tmp = tmp * (1 + 0.01 * TalentBlood.BloodyVengeance)
If sim.Hysteria.IsActive(T) Then tmp = tmp * 1.2
If sim.FrostFever.isActive(T) Then tmp = tmp * (1 + 0.03 * TalentFrost.TundraStalker)
if sim.BloodPlague.isActive(T) Then tmp = tmp * (1 + 0.02 * talentunholy.RageofRivendare)
If sim.proc.T104PDPSFAde >= T Then tmp = tmp * 1.03
return tmp
End Function
Standard Magical Damage Multiplier
Function StandardMagicalDamageMultiplier(T as long) As Double
Dim tmp As Double
tmp = 1
tmp = tmp * (1 + BloodPresence * 0.15)
tmp = tmp * (1 + 0.03 * sim.Buff.PcDamage)
If sim.Desolation.isActive(T) Then tmp = tmp * (1+sim.Desolation.Bonus)
tmp = tmp * (1 + 0.02 * sim.BoneShield.Value(T))
tmp = tmp * (1 + 0.02 * TalentBlood.BloodGorged)
If sim.FrostFever.isActive(T) Then tmp = tmp * (1 + 0.03 * TalentFrost.TundraStalker)
If sim.BloodPlague.isActive(T) Then tmp = tmp * (1 + 0.02 * talentunholy.RageofRivendare)
if sim.proc.T104PDPSFAde >= T then tmp = tmp * 1.03
tmp = tmp * (1 + 0.13 * sim.Buff.SpellDamageTaken)
tmp = tmp * (1-0.05) 'Average partial resist
End Function
Edit: Physical function, bad copy/paste.
Last edited by Afabar : 10/09/09 at 10:59 AM.
|
|
|
|
|
10/09/09, 10:06 AM
|
#552
|
|
Von Kaiser
Blood Elf Death Knight
Zirkel des Cenarius (EU)
|
Hm...
Your Function StandardPhysicalDamageMultiplier and your Function StandardMagicalDamageMultiplier are exactly the same.
Only the headline is different.
As your numbers are right now, phys. dmg-modifiers include EP, which should not be the case. Partial Resist should be taken out, too.
Another sidenote:
Blood Frenzy increases the phys. dmg taken by 4%. The problem here now is, does it increase the phys. dmg before shadow portion is calculated or after it. It should increase the shadow portion as well, as it is dependend on the phys. dmg but we can´t be sure.
--------
Looking at your Function for Scourge Strike i am missing a flat number addition for SS ( I´m talking about the 317.5 on live servers).
In Line 2 you are calculating the weapon dmg (actual 50% in 3.3) but don´t add a flat number.
Anyway thank you for the good work on the simulator so far.
Your corrected function could look like this. (Only showed the first 7 Lines, others would be the same.)
tmp = sim.MainStat.NormalisedMHDamage
tmp = tmp * 0.50
tmp = tmp + 317.5
if sim.sigils.Awareness then tmp = tmp + 189
If sim.sigils.ArthriticBinding Then tmp = tmp + 91.35
tmpPh = tmp ' Physiscal part
tmpSp = tmp ' Magical part
[...]
But if the 4% phys.dmg taken would be calculated in before the shadow dmg component, you would need another revamp of the function for SS, and a function for the Phys. Dmg Component of SS, as follows:
tmp = sim.MainStat.NormalisedMHDamage
tmp = tmp * 0.50
tmp = tmp + 317.5
if sim.sigils.Awareness then tmp = tmp + 189
If sim.sigils.ArthriticBinding Then tmp = tmp + 91.35
tmpPh = tmp ' Physiscal part
tmpPh = tmpPh * sim.MainStat.StandardSSPhysDamageMultiplier(T)
tmpSp = tmpPh ' Magical part
tmpPh = tmpPh * getMitigation
if sim.MainStat.T84PDPS = 1 then
tmpSp = tmpSp * (0.25 * Sim.NumDesease * 1.2)
else
tmpSp = tmpSp * (0.25 * Sim.NumDesease )
End If
tmpSp = tmpSp * (1 + 0.13 * sim.Buff.SpellDamageTaken)
tmpSp = tmpSp * (1-0.05) 'Average partial resist
tmpSp = tmpSp * (1 + TalentFrost.BlackIce * 2 / 100)
if sim.RuneForge.CinderglacierProc > 0 then
tmpSp = tmpSp * 1.2
sim.RuneForge.CinderglacierProc = sim.RuneForge.CinderglacierProc -1
End If
tmp = tmpSp + tmpPh
tmp = tmp * (1 + 6.6666666 * TalentUnholy.Outbreak / 100)
If sim.MainStat.T102PDPS<>0 Then
tmp = tmp * 1.1
End If
Function StandardSSPhysDamageMultiplier(T as long) As Double
dim tmp as Double
tmp = 1
tmp = tmp * (1 + BloodPresence * 0.15)
tmp = tmp * (1 + 0.03 * sim.Buff.PcDamage)
If sim.Desolation.isActive(T) Then tmp = tmp * (1+sim.Desolation.Bonus)
tmp = tmp * (1 + 0.02 * sim.BoneShield.Value(T))
tmp = tmp * (1 + 0.02 * TalentBlood.BloodGorged)
If sim.FrostFever.isActive(T) Then tmp = tmp * (1 + 0.03 * TalentFrost.TundraStalker)
if sim.BloodPlague.isActive(T) Then tmp = tmp * (1 + 0.02 * talentunholy.RageofRivendare)
If sim.proc.T104PDPSFAde >= T Then tmp = tmp * 1.03
tmp = tmp * (1 + 0.04 * sim.Buff.PhysicalVuln)
tmp = tmp * (1 + 0.03 * TalentBlood.BloodyVengeance)
If sim.Hysteria.IsActive(T) Then tmp = tmp * 1.2
return tmp
End Function
I hope, i did not do any errors again.
Last edited by Bensch78 : 10/09/09 at 11:14 AM.
Reason: Function for SS
|
|
|
|
|
10/09/09, 11:03 AM
|
#553
|
|
Don Flamenco
Draenei Death Knight
Chants Eternels (EU)
|
Sorry for the confusion, I made a mistake while copying/pasting.
I am at work right now so I can't verify, but if there is a flat damage added to scourge strike, let me know.
|
|
|
|
|
10/10/09, 9:12 PM
|
#554
|
|
Glass Joe
Orc Death Knight
Magtheridon (EU)
|
Conditional priorities (in XML) may be needed. For example a way to express in frost:
1. Frost Fever
2. Blood Plague
3. KMRime proc
If BS can not be used: 4. Rime
If BS can be used: 4. Obliterate
5. Obliterate
6. BS
7. Frost Strike
8. Rime
..Not because it's necessarily a better priority (the above is just an example) but for experimentation and consistency; it may be required for optimized rotations.
BTW, if a death rune is in place on its own, does it proc a BS? I guess obviously not but making sure.
Last edited by athinker : 10/11/09 at 12:43 PM.
|
|
|
|
|
10/11/09, 1:31 PM
|
#555
|
|
King Hippo
Orc Death Knight
Jaedenar (EU)
|
I used 1.1.7.0 and calculated EP for my 17/0/54 build over 1000h. Everything went fine but hit and expertise values which were negative. I tried to remove trinkets and reducing hit/exp in my template to 0 but no matter what I did I got negative values for hit and expertise. When I try to calculate EP manually (single sim runs) it all works fine.
|
|
|
|
|
10/11/09, 2:41 PM
|
#556
|
|
Don Flamenco
Draenei Death Knight
Chants Eternels (EU)
|
Originally Posted by Fugazor
I used 1.1.7.0 and calculated EP for my 17/0/54 build over 1000h. Everything went fine but hit and expertise values which were negative. I tried to remove trinkets and reducing hit/exp in my template to 0 but no matter what I did I got negative values for hit and expertise. When I try to calculate EP manually (single sim runs) it all works fine.
|
I don't see anything in the code that could be wrong. Could you send me your Character, template, Priority/Rotation xml files to this email adress: dksimulator@gmail.com
Conditional priorities (in XML) may be needed. For example a way to express in frost...
BTW, if a death rune is in place on its own, does it proc a BS? I guess obviously not but making sure.
|
Put the Rime between your Obliterate and your Blood Strike wouldn't do the trick? And of course, Blood Strike do not use a Death Rune.
|
|
|
|
|
10/12/09, 9:28 AM
|
#557
|
|
Glass Joe
Orc Death Knight
Magtheridon (EU)
|
Originally Posted by Afabar
Put the Rime between your Obliterate and your Blood Strike wouldn't do the trick?
|
I want to test the merits of:
"If Rime and Obl are ready and BS is not ready, use Rime 1st; if BS and Rime and Obl are ready, go with Obl first".
If I put Rime between Obl and BS, Obl will always be used first, not satisfying the 1st case.
PS. The reasoning for the interest about it is that if rune CDs should be kept to a minimum but at the same time a Rime may be a benefit for DPS, it might be interesting to investigate whether using it before 'some' of the runes are ready is better and it becomes worse if 'all' runes are ready.
PPS. It might be interesting to test also (the more general) "If less than any 4 runes are ready, use Rime first in that case".
Last edited by athinker : 10/12/09 at 9:35 AM.
|
|
|
|
|
10/12/09, 1:41 PM
|
#558
|
|
Don Flamenco
Draenei Death Knight
Chants Eternels (EU)
|
If you can get me a name for this priority that would be obvious for anyone else than you, I will see what I can do.
|
|
|
|
|
10/15/09, 12:26 PM
|
#559
|
|
Don Flamenco
Draenei Death Knight
Chants Eternels (EU)
|
1.1.7.1 Release Note:
Scourge Strike updated to the latest found on the Unholy thread.
Kahorie's DK Simulator 1.1.7.1
If you want to double check, here is the code:
ScourgeStrike.vb
|
|
|
|
|
10/15/09, 11:38 PM
|
#560
|
|
Piston Honda
Orc Death Knight
Thaurissan
|
Hey thanks for the SS update.
Would it be possible to fix the desolation priority? Looking at the code it appears to blood strike when desolation is up rather than blood strike to put up desolation when it's down.
|
|
|
|
10/16/09, 5:45 AM
|
#561
|
|
Von Kaiser
Blood Elf Death Knight
Zirkel des Cenarius (EU)
|
Originally Posted by Afabar
|
You are calculating the crit damage of the shadow part with vicious strikes, as you are calculating the damage based on the function CritCoef.
public Overrides Function CritCoef() As Double
CritCoef = 1 + TalentUnholy.ViciousStrikes * 15 / 100
CritCoef = CritCoef * (1+0.06*sim.mainstat.CSD)
End Function
I think this is incorrect. It will only crit with 200%, when fixed. The shadow part is only modified from modifiers that increase shadow damage as GC mentioned in part 4 of his post. Vicious Strikes should not apply.
If the crit-chance of Subversion and/ or Vicious Strikes will be applied to the shadow part after the fix has to be tested either.
public Overrides Function CritChance() As Double
dim tmp as Double
tmp = sim.MainStat.crit + TalentUnholy.ViciousStrikes * 3 / 100 + sim.MainStat.T72PDPS * 5 / 100 + talentblood.Subversion * 3 / 100
return tmp
End Function
If not, you would have to take another crit chance for the shadow part.
|
|
|
|
|
10/18/09, 12:46 AM
|
#562
|
|
Piston Honda
Draenei Death Knight
Ysera
|
Alright, time for one of my stupid questions - regarding expertise, I have 133 expertise rating. Since I'm human I get +3 and +5 from my talents resulting in a total of 24 expertise. The sim wants rating so do I just enter 133? How does that account for the human racial? I do realize that sim accounts for the talents that add expertise.
The main reason i'm asking is that I feel that the sim currently is over valuing expertise rating for me, because I don't understand how to properly enter it. I did read the readme but it didn't answer my questions.
Last edited by kelben : 10/18/09 at 12:53 AM.
|
Haste is the devil...
|
|
|
10/19/09, 11:23 AM
|
#563
|
|
Don Flamenco
Draenei Death Knight
Chants Eternels (EU)
|
1.1.7.2 Release notes
* Release notes on a separated file.
* Desolation priority correction.
* Scourge strike magical crit modifier corrected.
* Scourge strike magical part crit change corrected.
* Scourge strike double crit (Physical + magical) correction.
* Automatic Horn usage optimization. Use less often, but do not mess up EP value on some simulation. USe <Horn/> at the last priority item to go back to the old behavior.
* Some Tab resorting.
Kahorie's DK Simulator 1.1.7.2
There is no simple way to add racial expertise. For a 2H character, just convert your expertise bonus into rating and add it to you character file. For DW character, there is no real way to add it.
|
|
|
|
|
10/21/09, 7:42 PM
|
#564
|
|
Von Kaiser
Orc Death Knight
Stormreaver (EU)
|
I noticed something strange about the new version of the sim. According to the release notes, Frost DW dps shouldn't be affected at all, but I have about ~300 lower dps on the newest version of the sim than what I had on 1.1.7.0. When I started looking for the cause, I noticed that my Obliterate's crit% had dropped to 52,2% on the sim, even though the chance for my Obliterate to crit is 49,2% self buffed. I don't think raid buffs would increase my critical strike chance on Obliterate by only 3%. I remember the crit% on Obliterate on the sim being much higher before. I have 2/3 Subversion in my spec. And yes, I've double checked my template, character sheet, raid buffs enabled and priority. They are the same as before, simmed with my own stats. I'm not sure about all abilities critting less now, since I only remember Obliterate's crit% being higher.
| | | Ability Total % Landed Hit% Crit% Miss% Average | | Obliterate 908615259 31,1 88251 47,8 52,2 0 10295,8 | | FrostStrike 612124071 20,9 70705 48,5 51,5 0 8657,4 | | MainHand 324822538 11,1 148651 57,9 27,1 15 2185,1 | | FrostFever 247285161 8,5 119999 69,8 30,2 0 2060,7 | | BloodPlague 224936380 7,7 119998 69,7 30,3 0 1874,5 | | OffHand 185793574 6,3 153620 57,8 27 15,1 1209,4 | | HowlingBlast 118220199 4 12676 33,9 66,1 0 9326,3 | | Necrosis 102143311 3,5 302271 100 0 0 337,9 | | BloodCakedBlade 74813284 2,6 91171 100 0 0 820,6 | | Ghoul 64261930 2,2 81181 86,8 13,2 0 791,6 | | BloodStrike 61581925 2,1 16303 63,7 36,3 0 3777,3 | | Raz 1536200 0,1 153620 100 0 0 10 | | IcyTouch 14443 0 4 50 50 0 3610,8 | | PlagueStrike 7934 0 3 66,7 33,3 0 2644,7 | | Horn 0 0 7790 100 0 0 0 | | Pestilence 0 0 19318 100 0 0 0 | | DPS 8128 | | Total Damage 2926,16m in 100h | | Threat Per Second 5332 | | Generated in 146s | | Template: Frost 2-51-18 GoD | | Priority: Frost | | Presence: Blood | | Sigil: Awareness | | RuneEnchant: FallenCrusader / Razorice | | Pet Calculation: True |
|
|
|
|
|
10/22/09, 1:03 PM
|
#565
|
|
Glass Joe
Blood Elf Death Knight
Garona
|
While I don't have data to provide at the moment (at work), I can confirm Lamperouqe's observation regarding crit percentage and overall reduced DPS as compared to previous versions of the sim.
Edit: By the way Afabar, thanks for all the time you've put into this simulator. It's an amazing tool. The community is very lucky to have contributors like yourself.
Last edited by Chimichanga : 10/22/09 at 1:09 PM.
|
|
|
|
|
10/22/09, 1:40 PM
|
#566
|
|
Don Flamenco
Draenei Death Knight
Chants Eternels (EU)
|
I must have forgot to add that in the release notes, but some times ago, Doc made me a comment about base crit that was added to the character. I have correct this, so I have removed the 5% base crit that are in fact from base agility and don't have to be added.
|
|
|
|
|
10/22/09, 5:24 PM
|
#567
|
|
Great Tiger
Orc Death Knight
Blutkessel (EU)
|
I'm very sure my crit version was correct. There is also a crit reduction versus bosses of about 5%, that's most likely what you guys didn't factor in.
|
|
|
|
10/23/09, 7:12 AM
|
#568
|
|
Glass Joe
Human Death Knight
Malorne (EU)
|
Has anyone done math for dps given a certain fps rate ?
|
|
|
|
|
10/23/09, 4:53 PM
|
#569
|
|
Piston Honda
Tauren Death Knight
Dath'Remar
|
Originally Posted by Bifurcamet
Has anyone done math for dps given a certain fps rate ?
|
that would be fascinating. I think it's a big factor if you're below 40 FPS, but no idea how you could model or maths it.
Certainly, using addons like OptionHouse and cpu-efficient addons is important. I doubt it'd be in-scope for this tool to take any FPS impact unless someone were to provide a formula.
|
|
|
|
|
10/23/09, 11:27 PM
|
#570
|
|
Von Kaiser
Orc Death Knight
Stormreaver (EU)
|
Originally Posted by Afabar
I must have forgot to add that in the release notes, but some times ago, Doc made me a comment about base crit that was added to the character. I have correct this, so I have removed the 5% base crit that are in fact from base agility and don't have to be added.
|
Thanks, that cleared it up. Since I didn't see that in the release notes I thought something was wrong.
|
|
|
|
|
10/24/09, 7:45 PM
|
#571
|
|
Piston Honda
|
Bloody Vengeance is still wrong. The code treats it as 1% per point whereas it is 1% per stack per point with 3 stacks.
|
|
|
|
|
10/25/09, 11:47 AM
|
#572
|
|
Von Kaiser
Human Death Knight
Dalaran
|
I noticed something fishy about the GoD blood spec. I looked at the detailed combat log and noticed it casts IT 5 times in row for no apparent reason.
The combat log procs looked like this: (times were rounded to nearest 1.5 GCD)
proc/spell-time
2pcT9----4.5
...
victory----10.0
...
FC--------14.5
...
IT---------17.5
IT---------19.0
2pcT9 falls off here
IT---------20.5
victory falls off here
IT
IT
PS
It doesn't make sense that it should cast it 5 times in a row, especially after you lose two AP increasing procs.
|
|
|
|
|
10/26/09, 12:34 PM
|
#573
|
|
Don Flamenco
Draenei Death Knight
Chants Eternels (EU)
|
1.1.7.3 Release notes
* Physical and magical part of Scourge Strike are separated in the report.
* Correction on the Scourge Strike Damage that was to high in the report.
* Vicious Strikes and subversion affect Scourge Strike (crit chance and crit coef).
* Blood Vengeance is now 3% damage per talent point.
* Pestilence correction on the IT or PS spam behavior.
* Icy Touch glyph is now sensible to the 3.3 Patch check box.
Kahorie's DK Simulator 1.1.7.3
|
|
|
|
|
10/27/09, 12:56 AM
|
#574
|
|
King Hippo
Draenei Death Knight
Dragonblight
|
Although the new version seems to tackle all of the 3.3 changes perfectly, it's still going wrong somewhere when calculating the EP value for spell hit rating. Spell hit rating should not be able to be higher then regular hit rating. It just isn't logically possible. Not sure where it's going wrong, but I'm sure you can figure it out:
(Also, on a somewhat unrelated note, is it possible to get the simulation results formatted with |'s and such, like the EP results, so it's easy to make tables of them? Not a huge deal, but still)
| AttackPower | 1 | | BeforeMeleeHitCap<8% | 4.89 | | SpellHitRating | 9.82 |
Edit: It appears to be a GoD specific aberration, if that helps.
Last edited by Consider : 10/27/09 at 5:48 AM.
|
|
|
|
|
10/27/09, 6:33 AM
|
#575
|
|
Don Flamenco
Draenei Death Knight
Chants Eternels (EU)
|
Originally Posted by Consider
It's still going wrong somewhere when calculating the EP value for spell hit rating. Spell hit rating should not be able to be higher then regular hit rating. It just isn't logically possible. Not sure where it's going wrong, but I'm sure you can figure it out.
|
I'm not sure it's that illogical due to the way the sim calculate EP value. They are calculated with stats variation around melee hit cap and expertise cap. Pestilence is also used at the very last opportunity. So a miss on Pestilence is a huge dps loss. When calculating Spell hit cap on 2H setting the sim set the character at spell hit cap (or very close to), so the DPS given is when Pestilence never miss on your 100 hours simulation. So it run 99% of the simulation with max AP with a few disease reapplying comparing to random reapplying due to pestilence miss.
I'm not sure I am clear, but to summarize, Hit scale good from 0% to spell hit cap but the latest points that make you spell hit capped are more valuable than the hit that take you from 7% hit to 8% for example.
Maybe you could try to get EP value with the "many x second fights" option, they should be more logical.
For your "|" character, I will check if I can do something.
|
|
|
|
|
|