07-20-2005, 12:15 AM
Quote:I agree that is likely more than a factor of 8ths, but there is not enough information right now to provide more accuracy than that. Also there were many portions in Diablo2 that were set up to track and handle several of the variables only in 8ths as the smallest increments. It was just that most players were more consistently interested in their Life and Mana and what ever game mechanics that worked on those 2 stats; and those 2 stats did use the 256th scale for handling their data. The techniques for handling in 1/8ths is just as simple to use and just as well supported as the 256th scale was.
Doh! Of all people, I should have remembers that other fractions were being used in the game. Especially after redoing my skill planner for the 1.10 patch and seeing all the bitshifting that was going on in the .tbl files.
Quote:In the first case you are looking at a Power Word: Shield. So far most of seem to be looking at the hate generation probably being a *k factor of damage/healing/other numeric + fixed value of the skill(rank X) in question. Last time I looked at the various PW:S skills, they all gave a fixed shield strength. This type of skill is ideal to be set up as a *zero multiplier and +fixed hate way of adding to the hate. In the case of the PW:S the hate is likely the shield strength divided by 2 times the standard heal multiplier. In the scale I am suggesting this would be
rank 1: 66 hate
rank 2: 132 hate
rank 3: 237 hate
...
rank 10: 1413 hate
Now that you mention it, this seems like the obvious way to handle PW:S ;) I haven't played a priest enough to know, but a good test of this theory would be if the aggro from shielding seemed to be a lump sum when the shield is cast or if it builds up over time as damage is blocked by the sheild.
Quote:So note Chippy that at no point for this case did there need to be a finier graduation than the 1/8 scale I listed earlier.
Aggreed. Paladin self-heals don't fit this model, but I have no idea how much hate reduction (if any) they have over priest heals, so a 2/8 or 1/8 factor just might fit.
Quote:Now on the second case, I do remember quite well that the integer calculations are going not have an fractional amount left; I have reminded others of that all to often. But you on the other hand appear to not recall how they went about doing those bonus to base value calculations from the example you gave. You also seem to be using the case of 1point of damage (=8 hate) to try to make your case. Most integer systems like this tend to give quirky and odd results at very low values. They did so much so that both in v1.00-1.09 and v1.10 of D2 that they used special case code for weapon damage and enhanced damage on those weapons to make sure they actually did have a true damage increase. They did not do such special coding in some of the other areas of D2 where the descrpencies would not readily show to most players that did not do detailed examinations of what was happening. This is why I made the comment to Olon97 about the different ranks having different +hate factors; it should be easier at the low damage/healing levels to more easily tease out some of the base mechanics is someone so desires instead of using much larger values like is usually done with level 60 characters with full spreads of various talents.
I guess I wasn't clear enough. It seems to me there are several ways the aggro bonus could be calculated. It could either modify the "hate factor" directly, or it could modify the damage, or it could be tacked on at the very end. Using the numbers from your example we could have one of the following:
(30*(100-10)/100)*8*(100+10)/100 <- tacked on at the end
((30*(100-10)/100)*(100+10)/100)*8 <- modifying damage
(30*(100-10)/100)*(8*(100+10)/100) <- modifying "hate factor"
Obviously there are plenty more possibilityes. My point was simply that, depending on what order the multiplications were done, 8ths might not be enough to hide some significant rounding error. More testing is definitely needed to try and tease some of these details out. I discovered the MobHealth2 mod today which sounds like it can properly track multiple mobs with the same name and level, so I might take a look at that code and see how difficult it would be to start collecting some aggro data.
Quote:To do a more realistic example of how defensive stance and/or defiance would end up applying in the game, trying using some damages that are more in line with with what a level 10 warrior (required to get defensive stance) or 20-24 warrior (20 being the minimum to aquire the Defiance talent) would likely be doing. I will use a somewhat low damage value of say 30 damage in this case.
Hate for battle stance no talents
30 damage*8hate/damage= 240 hate
hate for defensive stance no talents
( ((30*(100-10))/100) *8*(100+10) )/100 =
( ((30*90)/100) *8*(110) )/100 =
( ((2700)/100) *8*(110) )/100 =
( 27 *8*(110) )/100 =
( 23760 )/100 = 237 hate <-possibly why some can do just as well with an arms-fury spec as they do with being in defense stance.
hate for defensive stance and full defiance talent.
( ((30*(100-10))/100) *8*(100+10+15) )/100 =
( ((2700)/100) *8*(125) )/100 =
( 27 *8*125 )/100 =
( 27000 )/100 = 270 hate
I would say in both these cases using better examples and the same type of methods for doing the bonus affects as would have been used in D2, it is much easier to see what the bonuses of using defensive stance and defiance would be like. Also if you assume that the damage after the penalty for being in defensive stance were still a 30 point damage applied to the target, then the hate values would be 264 and 300.
[right][snapback]83881[/snapback][/right]
I really like this example. After figuring out (duh!) that the 90% modifier in there was the damage reduction from Defensive stance, it was cool to see that the two effects of that stance basically cancel out. It seems that, without defiance, the only reason for defensive stance is to be able to use Revenge (though, considering the aggro/rage of the skill, this might be reason enough).