Elitist Jerks
Register
Blogs
Forums


Go Back   Elitist Jerks » Class Mechanics » Druids

Closed Thread
 
LinkBack Thread Tools
Old 03/16/09, 1:10 PM   #31
Thaeryn
Piston Honda
 
Thaeryn's Avatar
 
Tauren Druid
 
Dethecus
It's definitely been awhile since I've read through C++ code, and I definitely didn't dig too deep, but I saw a couple of things that might merit some double checking.

When Rake initial damage is calculated, you use the following lines:


rake.adamage=((ap*0.01))*(1+fury_m)*(1+naturalist_m)*(1+mdebuff*0.3);
rake.acritdamage=(2*(1+pistinct_m)*(1+META*0.03)*((ap*0.01))*(1+fury_m)*(1+naturalist_m))*(1+mdebuff*0.3);
rake.bdamage=(190)*(1+fury_m)*(1+naturalist_m)*(1+mdebuff*0.3);
rake.bcritdamage=(2*(1+pistinct_m)*(1+META*0.03)*(190)*(1+fury_m)*(1+naturalist_m))*(1+mdebuff*0.3);
Here, you are taking into account both the base and AP modified damage and the additional effects of Primal Fury, Naturalist, and Mangle on the non-crits.

Here is the later code in which you apply it to overall damage:

//cout << "Time: " << timer/100.0 << ", Energy: " << en <<"\n";
dmg=(1+sr*src)*(1+RA*0.02)*(rake.adamage+rake.bdamage)*(1+0.3*mdebuff);
damage+=dmg;
ydamage+=dmg;
rake_damage_tot+=dmg;
rakenum++;
Here you are applying the Savage Roar modifier, Retribution Aura, and again Mangle.

Are you double dipping into the Mangle debuff here? Also, your Retribution Aura modifier is 0.02 throughout, and the buff itself is 3%, not 2%.

Last, just possibly a typo when displaying the Rake timer. It prints "Rip Timer" instead of "Rake Timer". It's commented out, but still caught my eye:

rkem++;
//cout << "Tick: " << rkem << " Rip Timer " << rake_timer/100.0 <<"\n";
damage+=dmg;
ydamage+=dmg;

I apologize if I'm completely off base with any of this. As I said, it's been awhile since I've read over C++ coding, and I'm a hobby programmer at best. Overall this looks like a great tool, and I'm excited about using it. Also, not so much a bug, but more of a curiosity... How exactly did you come upon the modifier for Primal Fury? You have fury_t set at 2 to indicate 2 points in the talent. This then gets multiplied by 0.1 for fury_m, the multiplier, resulting in a multipler of 0.2. This is then applied to the base damage of abilities, in a similar way that Naturalist is applied as a 0.1 modifier. Is Primal Fury best represented as a 20% increase to base damage? This would seem to undervalue crit and it's benefits in maintaining a cycle. Is this talent just too difficult to model in a simulator? Thanks for your time, and thanks so much for your work on this!

Offline
Old 03/16/09, 4:09 PM   #32
nightcrowler
Don Flamenco
 
nightcrowler's Avatar
 
Night Elf Druid
 
Runetotem (EU)
Thanks for your imput Thaeryn, the second part is only an out-put so it doesn't interfer with the simulation, the first quote it's actually an error (I double count mangle damage on rake) because since a few patch ago initial rake damage didn't get multiplied by mangle so I quick put it into the code and didn't check it. Thanks for the correction (hopefully rake initial damage is very low so it doesn't change sims output too much).

Offline
Old 03/17/09, 7:05 AM   #33
PrayForDeath
Von Kaiser
 
Tauren Druid
 
Draka
Here's something very interesting I discovered while in bearform the other day. As we all know, the GCD for Cat abilities is 1 second, while the GCD for Bear abilities is 1.5 seconds. However, Feral Faerie Fire in bearform triggers a 1 seconds GCD just like Cat form, and this should greatly increase its threat value compared to other abilities.

I haven't seen this mentioned anywhere on the forums (maybe I just missed it), so I just thought I'd post it here for you to include it in your bear simulation if it's not in there.

Offline
Old 03/17/09, 8:32 AM   #34
manapaws
Piston Honda
 
Tauren Druid
 
Blackrock
Originally Posted by PrayForDeath View Post
Here's something very interesting I discovered while in bearform the other day. As we all know, the GCD for Cat abilities is 1 second, while the GCD for Bear abilities is 1.5 seconds. However, Feral Faerie Fire in bearform triggers a 1 seconds GCD just like Cat form, and this should greatly increase its threat value compared to other abilities.

I haven't seen this mentioned anywhere on the forums (maybe I just missed it), so I just thought I'd post it here for you to include it in your bear simulation if it's not in there.
The problem with that is that feral faeri fire will last for 5 minutes on a boss and can't be reapplied (more powerful spell already active etc).

(edit: in 3.1)

Last edited by manapaws : 03/17/09 at 9:49 AM.

- Tauren Druid (Realm first Naxx/Malygos)
- Gnome Mage (Realm first Sarth +3d)
- Nelf Druid (new main - progressing through Ulduar)

Offline
Old 03/17/09, 9:35 AM   #35
Pzychotix
Von Kaiser
 
Tauren Druid
 
Detheroc
Originally Posted by PrayForDeath View Post
Here's something very interesting I discovered while in bearform the other day. As we all know, the GCD for Cat abilities is 1 second, while the GCD for Bear abilities is 1.5 seconds. However, Feral Faerie Fire in bearform triggers a 1 seconds GCD just like Cat form, and this should greatly increase its threat value compared to other abilities.

I haven't seen this mentioned anywhere on the forums (maybe I just missed it), so I just thought I'd post it here for you to include it in your bear simulation if it's not in there.
The thing about it is that it's still on a 6s cooldown. At best, you can abuse the 1s GCD to compensate for lag (don't forget to queue up your next attack a little faster), and ensure you always get your mangles with minimal time wasted.

Offline
Old 03/17/09, 10:25 AM   #36
nightcrowler
Don Flamenco
 
nightcrowler's Avatar
 
Night Elf Druid
 
Runetotem (EU)
Changed GCD for bear FFF in the code. thanks for the info.

Offline
Old 03/17/09, 11:07 AM   #37
Helistar
Von Kaiser
 
Night Elf Druid
 
Dalaran (EU)
Originally Posted by PrayForDeath View Post
Here's something very interesting I discovered while in bearform the other day. As we all know, the GCD for Cat abilities is 1 second, while the GCD for Bear abilities is 1.5 seconds.
Do you know if this GCD is modifier by haste (as in the case of spellcasters)? I've searched around, but I've found both pages which say that it is and pages which say that it isn't....
Since I'm also working on a simulator, this kind of information is very interesting.

Offline
Old 03/17/09, 1:09 PM   #38
PrayForDeath
Von Kaiser
 
Tauren Druid
 
Draka
Originally Posted by Helistar View Post
Do you know if this GCD is modifier by haste (as in the case of spellcasters)? I've searched around, but I've found both pages which say that it is and pages which say that it isn't....
Since I'm also working on a simulator, this kind of information is very interesting.
Since haste doesn't lower the GCD below 1 second, FFF is certainly not affected by haste.

Originally Posted by manapaws View Post
The problem with that is that feral faeri fire will last for 5 minutes on a boss and can't be reapplied (more powerful spell already active etc).

(edit: in 3.1)
Well in its current state it still helps in 5 mans and melee-based 10mans. Though I really hope they fix this silly bug and let us reapply it without replacing the debuff (just do dmg/threat).

Originally Posted by Pzychotix View Post
The thing about it is that it's still on a 6s cooldown.
1 second GCD significantly raises the theoretical TPS value of FFF over 1.5 second GCD, which makes it really worth including in your regular threat rotation (especially considering the 0 rage cost and bonus damage next patch.)

Thanks for all the work on the simulation Nightcrowler, I can't wait to see the addon!

Offline
Old 03/17/09, 1:55 PM   #39
Deathwing
Bald Bull
 
Deathwing's Avatar
 
Orc Warrior
 
Black Dragonflight
Originally Posted by PrayForDeath View Post
1 second GCD significantly raises the theoretical TPS value of FFF over 1.5 second GCD, which makes it really worth including in your regular threat rotation (especially considering the 0 rage cost and bonus damage next patch.)
If you look at the ability itself, yes. However, if you look at the ability within a rotation, no. Just like no tank takes 1/3 or 2/3 improved mangle, the half second you'll save from FFF will just be wasted eventually waiting for mangle to come off cooldown.

Offline
Old 03/17/09, 4:59 PM   #40
PrayForDeath
Von Kaiser
 
Tauren Druid
 
Draka
Originally Posted by Deathwing View Post
If you look at the ability itself, yes. However, if you look at the ability within a rotation, no. Just like no tank takes 1/3 or 2/3 improved mangle, the half second you'll save from FFF will just be wasted eventually waiting for mangle to come off cooldown.
Good point. And I guess 1/3 imp mangle wouldn't help in this case since the CD wouldn't be equal to FFF anymore.

So I suppose it's just a nice little convenience (window for lag?).

Last edited by PrayForDeath : 03/17/09 at 5:05 PM.

Offline
Old 03/17/09, 5:29 PM   #41
Drashian
Von Kaiser
 
Drashian's Avatar
 
Night Elf Druid
 
Argent Dawn
Practically, it's probably only good as a buffer against lag, yeah. Theoretically though, it does allow you to squeeze slightly more attacks into less GCDs if you don't mind letting a cooled-down ability sit around for up to a second. An example, with 3/3 Improved Mangle, from a quick script I wrote:

0.0 Faerie Fire (cools down at 6.0)
1.0 Mangle (cools down at 5.5)
2.5 Lacerate/Swipe
4.0 Lacerate/Swipe
5.5 Mangle (cools down at 10.0)
7.0 Faerie Fire (cools down at 13.0)
8.0 Lacerate/Swipe
9.5 Lacerate/Swipe
11.0 Mangle (cools down at 15.5)
12.5 Lacerate/Swipe
14.0 Faerie Fire (cools down at 20.0)
15.0 Lacerate/Swipe
16.5 Mangle (cools down at 21.0)
18.0 Lacerate/Swipe
19.5 Lacerate/Swipe
21.0 Last GCD over, restart the cycle (Mangle and Faerie Fire are lined up again)
Not enough time left at work to determine if this cycle actually produces more threat (since it's wasting parts of Mangle/FF cooldowns), and if it's not, to see if there is a cycle that does. If nobody else takes up the challenge I'll try next chance I get.

Offline
Old 03/17/09, 6:09 PM   #42
Finito
Glass Joe
 
Human Mage
 
Drenden
Does anyone have a tanking stats comparison similar to what was done in this thread with cat gear?

The link to the weighted Wowhead scale was extremely helpful for dps gear; it would be very handy to have one for tanking too. This might be annoying to TC with the bearshield changes, but there are fewer defensive stats than offensive so maybe it wouldn't be awful. I'm also not entirely sure how the 10% stamina nerf to heart of the wild works in terms of stamina gear scaling, since I'm not sure where the 10% factors in (additively or multiplicatively with the other multipliers).

Offline
Old 03/17/09, 9:25 PM   #43
seatil
Glass Joe
 
seatil's Avatar
 
Tauren Druid
 
Proudmoore
I have some comments on the source code (if you're not a programmer you may wish to forego the rest of this post). I'm working from FeralbyNightv3_1_beta.cpp downloaded from the Google code linked to in the OP. I was unable to find anything more recent than March 10th and the subversion repository is empty.

My compiler flagged a couple of suspect if-checks at lines 2079 and 2121. The code in question is:

2079: if(enraged=1){
2080: enraged_l=1;
2081: }

It can be fixed by making 2079 read "if(enraged==1){".

I believe the intended behaviour is to check if the value of enraged is 1 and if it is, setting the value of enraged_l to 1. The actual behaviour is rather different: Set the value of enraged to 1, if-check always succeeds, set value of enraged_l to 1, regardless of the initial value of enraged.

Line 2121 contains the same error.

Also, the compiler is flagging a large number of implicit double => int casts. I think that most of these are deliberate and can be tidied up by just explicitly casting the values (int foo = (int) ...). Tidying the deliberate ones up would make it easier to find any unintentional ones. Your compiler should be flagging these -- if it's not then you'll need to enable the appropriate compiler warnings -- unfortunately I can't help with VC++ as I'm not familiar with that software.

Offline
Old 03/18/09, 9:07 AM   #44
nightcrowler
Don Flamenco
 
nightcrowler's Avatar
 
Night Elf Druid
 
Runetotem (EU)
To seatil: thx for error finding. I'll change it now. As for the int > double, yes i should explicit cast it, i'll review it soon but it's not on my priority list. thanks.

For all: I've an hard time at work this day so I've not time to update the link and put on a bear list. I'll do it as soon as possible.

Offline
Old 03/18/09, 5:20 PM   #45
Ugleestick
Glass Joe
 
Tauren Druid
 
Aegwynn
Str Vs Agi?

Hi, I think it's awesome what you're doing and I hope you get lots of support : ) However, I was looking at your DPS values for Str and Agi, and was wondering where you got your numbers?

I know currently Str > Agi by a good margin (Like, until you get 13KAP w/o savage roar and 30% crit, STR > Agi) but I'm not sure how much less important Str is going to be in 3.1 since savage roar is just raw damage instead of AP.

Last edited by Ugleestick : 03/18/09 at 7:40 PM. Reason: typos ; p

Offline
Closed Thread

Go Back   Elitist Jerks » Class Mechanics » Druids

Thread Tools