PDA

View Full Version : Crushing Blow Guide...Sorta


Clervis
08-03-2007, 16:06
In advance, I apologize for being long winded. Feel free to skip down to the cold hard statistics I compiled. A few weeks back I fought the Ubers for the first time. Now prior to this I had read everywhere that the main thing to remember for the ubers is CB CB CB. Then when I took on UberMeph for the first time I realized that it wasn't a long drawn out battle. In fact, it was quite brief.

Ever since that I have thought that Crushing Blow was overrated and not entirely necessary. Then yesterday I read a post asking which was the best Zealot weapon, EthDeath Ettin or Grief PB. Previously when I had calculated which dealt more damage (assuming you make the 80 ias available for the ettin) it turned out that the EthDeathEttin only does about 3% more damage. http://forums.diabloii.net/showthread.php?t=531880 So they were basically even in damage and the trophy belonged to the one that could prove to have the most useful other mods. Since DS was already factored into the damage (Death's 536 ave. dam. & Grief's 520 ), the main proponents of the two options were Grief's ITD and Death's CB and necessary 80 ias.

It's easy to see ITD's benefit; however, as you probably know, accounting for Crushing Blow in damage calculations in absurdly difficult. So, I set out to make a basis to judge the effectiveness of CB.

I figured the best way to accomplish this was to assume a ideally equipped Zealot. Since 80 ias requires some major gear sacrifices I decided to go with EthDeathZerk requiring 60 ias. It does roughly 1% less damage than GriefPB. The chosen gear was: [B]Grief/DeathBA, Guillame's, Gore's, Highlord's, Fort, Exile. (15ias in Guillame's, 20 ias gloves, and Nesferatu's Coil are needed to reach 80ias for Death) At clvl 90 this gives Grief: 50 CB, 83 DS...and Death's setup: 100 CB, 108 DS. (That's an 8% penalty for gratuity so Grief now does 9% more damage than Death).

Note: EthDeathWS does 23% less damage than Grief or -31% after DS penalty, but it only requires 40ias (Highlord's, 20ias Gloves)

Anyway after a very lengthy amount of time I calculated the benefit of CB based on how many hits it takes to kill an enemy. As you know, Crushing Blow takes 1/4 life on normal monsters and 1/8 life on bosses, champs, etc. For the sake of simplicity I assumed 50% crushing blow on a normal monster is equivalent to 100% on a boss, since the numbers are the same on average and it helps with comparing these to setups. What I did was calculate if you can kill a monster in X hits without CB then how fast will it die with CB and I determined a numerical advantage from that. Here is a summary of my figures:

4>>2.87 +39% means:
If it take 4 hits to kill a monster you will kill him in 2.87 hits on average with CB yielding 39% more damage on average.

Death(100%) vs. normal monsters
2>>1.5 +33%
3>>2 +50%
4>>2.87 +39%
5>>3 +67%
10>>5 +100%
15>>6 +150%

You see that if you kill a monster in 10 hits w/o CB, you will kill him in 5 hits w/ 100% CB.

Grief(50%) vs. normal monsters OR Death(100%) vs. bosses
2>>1.75 +14%
3>>2.45 +22%
4>>3.05 +31%
5>>4 +25%
10>>6.18 +61%
15>>8 +85%

You see that the numbers generally scale up the more hits you take for obvious reasons, also, remember that many bosses can take much more than 15 hits to kill so the benefit would most likely be more than +85%.

Grief(50%) vs. bosses
2>>1.87 +6%
3>>2.72 +10%
4>>3.52 +14%
5>>4.25 +17%
10>>7.94 +26%
15>>10.64 +41%

So this basically all depends on how fast you kill enemies. Of course, if you are killing everybody in 1 hit, CB does nothing, but the more hits it takes you, the more benefit CB becomes. I used this Grief set-up(50%) for some testing in Single Player to determine how long it takes to kill enemies. I hunted in the World Stone Keep 2 on varying player levels targeting an array of monsters you can consider to be high-medium-low levels of hit points.

Players 8
Souls: 15-18 hits
Snakes: 3
Zombies: 10-13
Players 6
Souls: 12-15 hits
Snakes: 2-3
Zombies: 7-9
Players 4
Souls: 8-11 hits
Snakes: 2
Zombies: 5-7
Players 1
Souls: 3-5 hits
Snakes: 1
Zombies: 2

This shows that in one player games the benefit of CB is going to be around 33%-50% for Death and 14-22%% for Grief for regular monster. However, bosses, coincidentally are going to take 2-3 times more hits meaning that Death will benefit by 40-50% and Grief by 17-20%. So, although the benefit per hit goes down from normal to boss the overall benefit makes it quite even.

So from this we can deduce the benefit of CB based solely on the numbers of players in a game.

Players 1
Death +45%
Grief +18%
Players 4
Death +73%
Grief +43%
Players 6
Death +150%
Grief +85%
Players 8
Death +230%
Grief +115%

That shows that in a full game a Death wielder owes more than 2/3 of his damage to CB. Moreover, in Players 1 Death gets 27% more bonus than Grief minus its 9% damage defiency it still does 18% more damage than Grief. But you need to correct these respectively:

Players 1
Death does 12% more than Grief
Players 4
Death does 10% more than Grief
Players 6
Death does 23% more than Grief
Players 8
Death does 40% more than Grief

Now keep in mind that this is in the World Stone Keep and that the easier you get the more CB becomes less effective and the more Grief improves. So in Normal difficulty where everything is one hit Grief is 9% more efficient, as it is in any place where it kills in one hit. But the more hits it takes the more it Death gains and it can gain fast. Additionally, note that CB takes out damage before your regular physical damage. So even one hit kills could have benefited from CB.

So all of this was in response to one question: Which is better Grief or Death?

I hope this shows that Eth Death Zerker on average in challenging situations can deal 12-40% more damage than Grief PB which should still more than cancel out the benefit of ITD. They are both still amazing weapons but as far as sheer ferocity goes, Eth Death Zerker is marginally better.

If you have any questions on how I calculated this or anything else just ask, I also have the spreadsheet I used if you prefer. I hope I didn't mess up any of the math, but in calculations this vast there is bound to be a small mistake or two in addition to the basic rounding error that might have occured.

PlayWithHonor
08-03-2007, 20:58
Probably want to make it clear that this is from a Zealers perspective.

If we are talking about Smite (and that is the skill your gonna use against the Ubers), Grief will be the winner hands down over the EthDeathZerker assuming you get your CB from other equipment which is what most Smiters do. Last Wish would be another superior alternative.

Clervis
08-03-2007, 21:10
True, this is specifically the best weapon for a Zealot only, not Smiter! I mentioned it in the beginning but I should have made it more clear that was specifically what I was talking about. The point of this thread was to show people:
1. Eth Death Zerker is the superior weapon
2. The mechanics of Crushing Blow and just how much of a difference it makes for your overall damage.

I should mention that this can be used as a guideline for calculating your own CB. Let's say you have 36% Crushing Blow. Take 36/50[grief] (.72) and multiply it by the the advantage you get per swing. So if you have 36% CB and it takes you 4 hits to kill (5 w/o CB) then you'll have 25%*.72=+18% damage from CB.

PlayWithHonor
08-03-2007, 22:00
@Clerivs: You know what I'd like to see and perhaps many others would like it would be to see the tangible benefit of various levels of CB on a Smiter when fighting the Uber 3.

It'd be nice to see how much benefit you really get from say 80% CB vs. 50% CB vs. 35% CB when you are using Grief.

Then remove Grief and use Last Wish instead starting with 60% CB and then 80% CB. Make all other equipment though the same for comparison purposes.

Personally, I walk into Uber Trist with Grief and only 35% CB and its already pretty fast but many peeps seem to think you have to have more CB. Many also swear by using a Last Wish.

bchk
08-03-2007, 22:23
First of all, CB does not scale with # of players (CB dmg is divided by 4.5 in 8 player game), therefore Death does strictly 12% more than Grief according to your calculations.

Second of all, ITD is extremely useful (although it only work against normal monsters but you should smite against bosses anyways so it doesn't matter)

Say you have 10k ar and the monster have 2k def (common in hell WSK) and you and the monster are similar levels, your chance to hit would be around
10/12 = 83%

With ITD and 1 ar (hypothetically), your chance to hit would be 95% provided you have the same lvl as the monster.

so the bonus of ITD is (95-83)/83 = 14.4% (not to mention you don't have to get items or skills to boost your ar)

This makes Grief a better weapon than death.

bchk
08-03-2007, 22:46
It'd be nice to see how much benefit you really get from say 80% CB vs. 50% CB vs. 35% CB when you are using Grief.


with 5k (500 base * (smite + fanat + fort)) dmg smite (6 frame) against 6mil effective life boss on avg,
100%cb = 38 hits = 9.12sec
80%cb = 46 hits = 11.04sec
50%cb = 68 hits = 16.32sec
35%cb = 89 hits = 21.36sec

however, physical resists and life regen also needs to be taken into account.

PlayWithHonor
08-03-2007, 23:03
with 5k (500 base * (smite + fanat + fort)) dmg smite (6 frame) against 6mil effective life boss on avg,
100%cb = 38 hits = 9.12sec
80%cb = 46 hits = 11.04sec
50%cb = 68 hits = 16.32sec
35%cb = 89 hits = 21.36sec

however, physical resists and life regen also needs to be taken into account.

Interesting. What would be the figures when going against an Uber (who has 650,000 life as opposed to 6mil)? I'm guessing the difference between 80% CB and 35% CB when using the actual life of 650k will be somewhat less.

Clervis
08-03-2007, 23:04
@PlayWithHonor

You know that specific mindset is what originally made me think that crushing blow was overrated. Crushing Blow is awesome for taking out big chunks which enables you to kill faster. However, with the Ubers, if you can kill them with 80% CB you can kill them with no CB, because once you get them low in HP, CB becomes less and less helpful. When you are killing ubers it doesn't really matter if you kill them fast or you take a little bit longer, you're just interested in that golden large charm that drops. Crushing blow helps a lot but as much as I've shown it to be a very powerful tool (in many cases more powerful than DS) you're going to have to really on pure weapon damage without CB eventually.

CB is a craze, nobody really thinks to do the calculations though because they're so darn complicated. It helps a lot but only by making it not take so long. The only thing you really need for defeating the ubers is survivability and a decent amount of base damage.

Also, those calculations are very doable. If you can just tell me how many hits it takes for just one of those options I can easily figure out the rest.

Let's say it takes you 10 hits to kill Meph with 35% CB. 10 hits @ 1/8HP @ 50 CB is 40% out of 140%=29%*(35/50)=20% of your damage came from CB. With 50 it's 40% out of 140%=29%. With 10 hits @ 1/8 @ 80 CB is about 100% out of 200%=50%*(80/100)=40%.

So, therefore, if it took you 10 hits to kill him with 35 CB it would take about 9 hits with 50CB and about 8 hits with 80CB.

The problem with my calculations is that I only went up to 15 hits because it take so darn long to make these calculations. The data shows a steady increase in the advantage of CB as the hits increase; however, eventually it would have to come back down because basic hit power becomes more important once CB is nullified. However, it might be interesting to know that even if you only deal 1 damage, ignoring target heal, if you hit an enemy with 100% CB 20 times, he'll only have 7% of his life left. But, that CB is going to do you jack from there.

PlayWithHonor
08-03-2007, 23:20
If I got me facts straight, Meph has 650,000 health and 20% physical resistance. Assume your Smite does 5,000 raw damage. Further assume you will proc open wounds such that life regeneration will be halted throughout the battle.

If you have no CB, it'll take 650,000 / (5000*(1-0.20)) = 162.5 successful strikes to kill Meph.

Given that information, how would 35% CB change the results? Keep in mind that CB is affected by Meph's 20% physical resistance. I'd love to see the forumula too on how to calculate this.

Clervis
08-03-2007, 23:23
First of all, CB does not scale with # of players (CB dmg is divided by 4.5 in 8 player game)

"The life removed is also scaled with number of players. So that if a monster has 450% more life due to 8 players (or whatever the value is) the life removed is further reduced by the same amount (450% would equal multiplying by 4.5 so the life removed by Crushing Blow is divided by 4.5)."

That is what Battle says. It is conflicting. It says that it is scaled (despite what you said). But, then it says that Crushing Blow is divided by 4.5 where as if it was scaled the damage from one player would be multiplied by 4.5 for 8 players.

When I did my calculations I did assumed 1/4 life for normal monsters and 1/8 for bosses on all player amounts. If you are correct then, yes, the amount of benefit would stay relatively static and Death would continue to gain ~45% and Grief would gain ~18%. That's a difference of 27% minus Grief's 9% extra damage so Death would still be 12% more effective than Grief on all player levels. Additionally, with the good charms and stat placement you can easily get far over that 10k AR and the miss much less than 14.4%.

Clervis
09-03-2007, 00:24
If I got me facts straight, Meph has 650,000 health and 20% physical resistance. Assume your Smite does 5,000 raw damage. Further assume you will proc open wounds such that life regeneration will be halted throughout the battle.

If you have no CB, it'll take 650,000 / (5000*(1-0.20)) = 162.5 successful strikes to kill Meph.

Given that information, how would 35% CB change the results? Keep in mind that CB is affected by Meph's 20% physical resistance. I'd love to see the forumula too on how to calculate this.

650k=4k*.035^n+650k-(654k)∑.035^n
i=1 to n

Solve for n....Sucker.

PlayWithHonor
09-03-2007, 01:02
Got Bored and figured I'd give it a shot answering my own question so here it goes. I'll also try to compare these results using the formula Clervis provided... "try" being the key word there, hehe.


Scenario 1

Assumptions:

Mephs Life = 650,000
Mephs Physical Resistance to Damage = 20%
Raw Smite Damage = 5,000
Crushing Blow = 35%

It'll take 54 attacks to kill Meph which is approximately 13 seconds.


Attk# Beg Health CB Dmg Raw Dmg End Health
1 650,000 22,750 4,000 623,250
2 623,250 21,814 4,000 597,436
3 597,436 20,910 4,000 572,526
4 572,526 20,038 4,000 548,488
5 548,488 19,197 4,000 525,291
6 525,291 18,385 4,000 502,905
7 502,905 17,602 4,000 481,304
8 481,304 16,846 4,000 460,458
9 460,458 16,116 4,000 440,342
10 440,342 15,412 4,000 420,930
11 420,930 14,733 4,000 402,197
12 402,197 14,077 4,000 384,121
13 384,121 13,444 4,000 366,676
14 366,676 12,834 4,000 349,843
15 349,843 12,244 4,000 333,598
16 333,598 11,676 4,000 317,922
17 317,922 11,127 4,000 302,795
18 302,795 10,598 4,000 288,197
19 288,197 10,087 4,000 274,110
20 274,110 9,594 4,000 260,516
21 260,516 9,118 4,000 247,398
22 247,398 8,659 4,000 234,739
23 234,739 8,216 4,000 222,523
24 222,523 7,788 4,000 210,735
25 210,735 7,376 4,000 199,359
26 199,359 6,978 4,000 188,382
27 188,382 6,593 4,000 177,788
28 177,788 6,223 4,000 167,566
29 167,566 5,865 4,000 157,701
30 157,701 5,520 4,000 148,182
31 148,182 5,186 4,000 138,995
32 138,995 4,865 4,000 130,130
33 130,130 4,555 4,000 121,576
34 121,576 4,255 4,000 113,321
35 113,321 3,966 4,000 105,354
36 105,354 3,687 4,000 97,667
37 97,667 3,418 4,000 90,249
38 90,249 3,159 4,000 83,090
39 83,090 2,908 4,000 76,182
40 76,182 2,666 4,000 69,515
41 69,515 2,433 4,000 63,082
42 63,082 2,208 4,000 56,875
43 56,875 1,991 4,000 50,884
44 50,884 1,781 4,000 45,103
45 45,103 1,579 4,000 39,524
46 39,524 1,383 4,000 34,141
47 34,141 1,195 4,000 28,946
48 28,946 1,013 4,000 23,933
49 23,933 838 4,000 19,095
50 19,095 668 4,000 14,427
51 14,427 505 4,000 9,922
52 9,922 347 4,000 5,575
53 5,575 195 4,000 1,380
54 1,380 48 4,000 (2,669)




Scenario 2

Assumptions:

Mephs Life = 650,000
Mephs Physical Resistance to Damage = 20%
Raw Smite Damage = 5,000
Crushing Blow = 80%

It'll take 32 attacks to kill Meph which is approximately 7.7 seconds.


Attk# Beg Health CB Dmg Raw Dmg End Health
1 650,000 52,000 4,000 594,000
2 594,000 47,520 4,000 542,480
3 542,480 43,398 4,000 495,082
4 495,082 39,607 4,000 451,475
5 451,475 36,118 4,000 411,357
6 411,357 32,909 4,000 374,449
7 374,449 29,956 4,000 340,493
8 340,493 27,239 4,000 309,253
9 309,253 24,740 4,000 280,513
10 280,513 22,441 4,000 254,072
11 254,072 20,326 4,000 229,746
12 229,746 18,380 4,000 207,366
13 207,366 16,589 4,000 186,777
14 186,777 14,942 4,000 167,835
15 167,835 13,427 4,000 150,408
16 150,408 12,033 4,000 134,376
17 134,376 10,750 4,000 119,625
18 119,625 9,570 4,000 106,055
19 106,055 8,484 4,000 93,571
20 93,571 7,486 4,000 82,085
21 82,085 6,567 4,000 71,519
22 71,519 5,721 4,000 61,797
23 61,797 4,944 4,000 52,853
24 52,853 4,228 4,000 44,625
25 44,625 3,570 4,000 37,055
26 37,055 2,964 4,000 30,091
27 30,091 2,407 4,000 23,683
28 23,683 1,895 4,000 17,789
29 17,789 1,423 4,000 12,366
30 12,366 989 4,000 7,376
31 7,376 590 4,000 2,786
32 2,786 223 4,000 (1,437)



Conclusion

When using Grief, the difference between 80% CB and 35% CB is 5.3 seconds. I just don't see the benefit of the added CB above 35% that Guils would give you for example. Seems like a better idea to be content with the 35% and focus on other stats at that point.

Clervis
09-03-2007, 01:58
Or you could do it that way. Still, you have to admit 69% damage increase is pretty impressive. Although, you are right, those could probably be put in better places so that you don't die, because if you don't die, you're going to kill them eventually anyway. Why risk it?

PlayWithHonor
09-03-2007, 02:17
Or you could do it that way. Still, you have to admit 69% damage increase is pretty impressive. Although, you are right, those could probably be put in better places so that you don't die, because if you don't die, you're going to kill them eventually anyway. Why risk it?

As a % the increase looks great ya. But from a practical perspective its only a 5 second savings cuz your using such a big beat stick in Grief.

CB makes a materially bigger impact though when you start taking raw Smite damage down. If your Raw Smite damage was only 1,500 for example then the end results would be:

1,500 Raw Smite Dmg + 35% CB = 85 Attacks or 20.4 seconds
1,500 Raw Smite Dmg + 85% CB = 45 Attacks or 10.8 seconds

Thats almost 10 seconds difference. At that point I'm caring about the benefit of more CB% and will pile on a little more than just 35% me thinks.

sorcyone
09-03-2007, 02:23
A week ago I posted a smite/CB simulator (in C code) specifically for ubers. It is fairly accurate in showing the effectiveness of different setups.
Roughly speaking 30 %CB ~ +400 smite ~ 2300% ed. But figures vary greatly depending on your amount of CB, smite, and ed.
This also shows a 10% CB glove is better than the 350%ed from LOH.

BTW Meph has 50% DR.

Clervis
09-03-2007, 03:42
Yea, I don't think Play's numbers were right. So what happened to your smite simulator sorcyone? Does it work for zeal too? Also, you know ed% to demons doesn't work for smite.

bchk
09-03-2007, 14:28
Additionally, with the good charms and stat placement you can easily get far over that 10k AR and the miss much less than 14.4%.

well this is where the difference comes, for grief you don't have to put points into dex thus making your life higher, and without getting +ar charms you can get some +skill/resist which would be more beneficial (not to mention those fine small charms worth a fortune :wink3: )

PlayWithHonor
09-03-2007, 18:14
BTW Meph has 50% DR.

I pulled this striaght from the Diablo Tomb of Knowledge:

Diablo & Baal has 50% DR
Meph has 20% DR


Yea, I don't think Play's numbers were right.

Really? Let me know what the actual numbers are given my assumptions if that is truly the case. *Reviews calculation again* Calculations look right to me though.

bchk
09-03-2007, 19:36
The dr/stats are correct but the numbers are a bit off because you forgot to calculate in the dr for the raw 4000 dmg (should be 3200)

edit: nvm i see that you are using 5000 as base dmg so the numbers are correct

sorcyone
12-03-2007, 03:23
A week ago I posted a smite/CB simulator (in C code) specifically for ubers. It is fairly accurate in showing the effectiveness of different setups.
Roughly speaking 30 %CB ~ +400 smite ~ 2300% ed. But figures vary greatly depending on your amount of CB, smite, and ed.
This also shows a 10% CB glove is better than the 350%ed from LOH.

BTW Meph has 50% DR.

Sorry I meant to say the others have 50%DR. In practice the DR% is linear with number of hits so it does not affect gear choice. Also Zeal should work just as well, assuming you hit. I could probably extend it given a % to hit to work out the optimal time to switch to Zeal.

Here is the thread, and corrected hp below :
http://forums.diabloii.net/showthread.php?t=538259

uber smite simulator

--------------------------------------------------------------------------------

I wrote a small simulator to work out how effective different setups were for smiting ubers, by working out how many smites hits are needed. Interestingly it shows CB is extremely important, ED not. For example using 60%CB with base smite 127 (elite shield + Holy Shield) and 640% ed, monster DR 50% :
$ ./a.exe 60 50 127 7.4 100000
dr_mul 0.5 cb_mul 0.9375
Avg: 132.664 Min: 104.501 Max: 178.915

shows an average of 132 smites. Then you get about the same improvement by each of :
1. switching to Grief for +400 smite
2. 30% more CB
3. +2300% ed.

Of course when using Grief, ed becomes more effective.
I assume OW takes care of monster regen, and that the uber has 2,000,000 hit points.

#include <stdio.h>
#include <stdlib.h>

#define rnd(n) (random()%(n))
#define drandom() ((double)random()/2147483648.0)

main(int argc, char *argv[])
{
if(argc < 6)
{
printf ("USAGE: cbcalc cb%% dr%% smite dam_mul iters\n");
printf ("EG: cbcalc 60 50 127 7.4 100000\n");
exit(1);
}

long seed = 0;
seed = time(0);
srandom(seed);


double sum_count = 0, min_c = 0, max_c = 0;
double cb = atof(argv[1]);
double dr = atof(argv[2]);
double smite = atof(argv[3]) * atof(argv[4]);
int iters = atoi(argv[5]);
double dr_mul = 1 - dr/100.0;
double cb_mul = 1 - (dr_mul / 8.0);
double smite_dam = smite * dr_mul;
printf("dr_mul %g cb_mul %g\n", dr_mul, cb_mul);
int j;
for(j = 0; j <iters; j++) {
double hp = 655000, last_hp, c;
int count = 0;
while(hp >= 0.0)
{
last_hp = hp;
hp = hp*(drandom() < (cb/100.0) ? cb_mul : 1) - smite_dam;
count++;
}
c = count + last_hp/(last_hp-hp);
sum_count += c;
if(c < min_c || min_c == 0)
min_c = c;
if(c > max_c || max_c == 0)
max_c = c;
}
printf("Avg: %g Min: %g Max: %g\n", sum_count/iters, min_c, max_c);
}

PlayWithHonor
12-03-2007, 19:08
I'm guessing that was written in Basic? Wish I knew how to run that. :undecided:

If I had to sum up my recommendations based on the information in this thread, I'd say a good general guideline would be:

If you use Grief then shoot for 35%-45% CB.

If you use Last Wish or other weapon, shoot for 75%-100% CB.


Of course, if you use Grief and also have 100% CB then Meph will actually commit suicide upon seeing you... fastest way to get the kill. :grin:

AnimeCraze
13-03-2007, 04:15
It is written in C.

Get GNU C compiler (C++ would work just as well). Then do:

gcc source.c
./a.out parameters (./a.exe if you run Windows)


@sorcyone:
Why not add another optional parameter to take monster HP in as well, or even player count? A general purpose simulator like this can also be used calculate "lesser" enemies. On the flip side, is it really necessary to make the calculator take both base damage and ED, since total damage = base damage * ED, and total damage is what that really matters.

mephiztophelez
13-03-2007, 05:01
if you have a decent Death weapon, smite isn't really an option anyways (http://img167.imageshack.us/img167/2203/edeathdecapitatortv5.jpg)
unwieldy, freakishly slow and not at all suitable for zealing with. get a decent charge in however and it's a different story.

@OP: nice compilation of numbers. but CB loses effectivness when target life is down to a sliver, this is where the raw damage from grief takes over and whittles it away nicely.

sorcyone
13-03-2007, 09:03
It is written in C.

Get GNU C compiler (C++ would work just as well). Then do:

gcc source.c
./a.out parameters (./a.exe if you run Windows)


@sorcyone:
Why not add another optional parameter to take monster HP in as well, or even player count? A general purpose simulator like this can also be used calculate "lesser" enemies. On the flip side, is it really necessary to make the calculator take both base damage and ED, since total damage = base damage * ED, and total damage is what that really matters.

I can add in players and monster HP. I meant it for uber trist and they all have the same HP.
I initially passed in damage*ed, then realised it's easier passing in the 2 values, (it's a calculator - let it do the work).

Anyway I used it to design my super cheap uber killer. I use a hammerdin with goblin toe (if you have dracs then goblin is way way better than gore since more OW does not help), Guilliames(Ral), IK belt, dwarf star, ravenfrost, draculs, metalgrid, Dusk Enigma (teleport is a real saver), Spirit Kurast Shield, and 6s PB (4 Shael, 8dex+cold res jewel, fire res jewel). I compared Spirit with 4 pd shield, and found Spirit was worth using even without considering the faster teleporting.

Clervis
13-03-2007, 13:18
Jeez, I wish I still knew stuff about programming. It probably wouldn't be that hard to make a program where you enter in your skills and gear and then it gives a read out of all this stuff.

PlayWithHonor
13-03-2007, 18:50
Anyway I used it to design my super cheap uber killer. I use a hammerdin with goblin toe (if you have dracs then goblin is way way better than gore since more OW does not help), Guilliames(Ral), IK belt, dwarf star, ravenfrost, draculs, metalgrid, Dusk Enigma (teleport is a real saver), Spirit Kurast Shield, and 6s PB (4 Shael, 8dex+cold res jewel, fire res jewel). I compared Spirit with 4 pd shield, and found Spirit was worth using even without considering the faster teleporting.

Interesting set-up, what are your max resists? Do you prebuff with anything? I don't see any lightning resist enhancements in that build at all (no max increases or absorb), how do you avoid instant death if Meph throws lightning your way? I've personally taken a hit from him and it took 1/2 my health down and I had 95% lightning resist along with absorb from TGods.


Jeez, I wish I still knew stuff about programming. It probably wouldn't be that hard to make a program where you enter in your skills and gear and then it gives a read out of all this stuff.

Agreed. That could be quite useful since most Uber Runners use common gear. In fact, there are typically only 2 builds with minor variations made player to player: Last Wish build and Grief build. Yes there are exceptions but this captures probably 70% of the uber killer population if not more I'd bet.

sorcyone
14-03-2007, 03:40
Interesting set-up, what are your max resists? Do you prebuff with anything? I don't see any lightning resist enhancements in that build at all (no max increases or absorb), how do you avoid instant death if Meph throws lightning your way? I've personally taken a hit from him and it took 1/2 my health down and I had 95% lightning resist along with absorb from TGods.

Agreed. That could be quite useful since most Uber Runners use common gear. In fact, there are typically only 2 builds with minor variations made player to player: Last Wish build and Grief build. Yes there are exceptions but this captures probably 70% of the uber killer population if not more I'd bet.

I have a few resist charms, the metalgrid is 33% (Mara would be much better esp if you use a CTA but I don't have one), prebuff with treachery for Meph (I just realised now I should prebuff my merc too! He usually survives anyway).
Resists with treach and meph conviction are all about 50% which is fine, life is about 3200 with 1BO cta. Never died to Meph, even when doubled by Baal or Diablo. Sometimes I tripled them.
Since I started using Enigma, never died in ubers. The major weakness I found was getting stuck and not being able to open a portal to get out, and not having enough sense to exit the game and come back in.
The hit recovery from the Spirit shield & Guillames is very useful, add 1 % more you get 86% which is 4 frames. This is very important because of the high damage hits you receive.
Oh and I put 17 skill points into Holy Shield, for the defense, extra block (which means less dex and more vita), and high smite damage.
I don't use a life tap precast.

I would describe all uber builds as around the life tap source: Dracs, Exile, Last Wish. Last Wish is premium. I think Grief is awesome, but inconvenient since I don't use fanaticism, you really have to reach 6 frame smite.

sorcyone
14-03-2007, 06:45
As requested here is an update allowing number of players and monster hp to be specified.

/* This is C code. Paste this to a file cbcalc.c then run cc -o cbalc cbcalc.c */
/* If you do not have cc or gcc (any C compiler) then I suggest you install cygwin and get the C compiler package. */
#include <stdio.h>
#include <stdlib.h>

#define rnd(n) (random()%(n))
#define drandom() ((double)random()/2147483648.0)

main(int argc, char *argv[])
{
if(argc < 2)
{
printf ("USAGE: cbcalc cb%% [smite] [dam_mul] [dr%%] [iterations] [num_players] [monster_base_hp]\n");
printf ("EG: cbcalc 60\n");
printf ("EG: cbcalc 50 127 7.4 50 10000 8 500000\n");
exit(1);
}

long seed = 0;
seed = time(0);
srandom(seed);

double sum_count = 0, min_c = 0, max_c = 0;
double cb = atof(argv[1]);
double smite_arg = argc < 3 ? 127 : atof(argv[2]);
double dam_mul = argc < 4 ? 7.4 : atof(argv[3]);
double smite = smite_arg * dam_mul;
double dr = argc < 5 ? 50 : atof(argv[4]);
int iters = argc < 6 ? 100000 : atoi(argv[5]);
int num_players = argc < 7 ? 1 : atoi(argv[6]);
double monster_base_hp = argc < 8 ? 650000 : atof(argv[7]);
double players_mul = 0.5 + num_players/2.0;
double dr_mul = 1 - dr/100.0;
double cb_mul = 1 - (dr_mul / 8.0 / players_mul);
double smite_dam = smite * dr_mul;
printf("dr_mul %g cb_mul %g players_mul %g\n", dr_mul, cb_mul, players_mul);
int j;
for(j = 0; j <iters; j++) {
double hp = monster_base_hp * players_mul, last_hp, c;
int count = 0;
while(hp >= 0.0)
{
last_hp = hp;
hp = hp*(drandom() < (cb/100.0) ? cb_mul : 1) - smite_dam;
count++;
}
c = count + last_hp/(last_hp-hp);
sum_count += c;
if(c < min_c || min_c == 0)
min_c = c;
if(c > max_c || max_c == 0)
max_c = c;
}
printf("Avg: %g Min: %g Max: %g\n", sum_count/iters, min_c, max_c);
}