• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[General] Is it possible to do custom critical strike?

Status
Not open for further replies.
Level 37
Joined
Aug 14, 2006
Messages
7,601
Is it possible to do a custom critical strike?

And how it is done? I mean the problem is that there's actually two times the damage...?

Or is it just better to have that basic Blademaster's critical strike ability? But in that case I'll have to create hundreds of levels if I want to change the chance and the multiplier. And that increases the loading time.
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
Is it possible to do a custom critical strike?

And how it is done? I mean the problem is that there's actually two times the damage...?

Or is it just better to have that basic Blademaster's critical strike ability? But in that case I'll have to create hundreds of levels if I want to change the chance and the multiplier. And that increases the loading time.

dont create any ability with alot level, use simple damage detection system, most easiest the gui damage engine by Bribe because its gui friendly,

Just for understand a bit how how its look, check my map in spell section/signature, press ESC and randomly will be item created what give custom critical strike chance and critical strike damage
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
DESTROYER123 said:
Blademasters critical strike set in 100% does do x2 damage.
Or not????
What? You can choose your own multiplier (x2, x5, x1.18 - whatever you want).

[...]I'll have to create hundreds of levels if I want to change the chance and the multiplier. And that increases the loading time.
The multiplier chances of the default "Critical Strike" are extremely flawed.
I'll sum it up for you:

Rule of thumb: Chances round to the nearest 5%
If you set the critical strike chance to 2%, it will never hit (actual hit chance: 0%), because it rounds down to 0.
If you set it to 12, it will be about 10%. If you set it to 13, it will be about 15% chance (so going from 12 to 13 is actually a 5% increase).

More in-depth: some actual chances
The previous thing was just a rule of thumb. The chances actually vary a great deal (especially the higher percentages).

Critical Hit Chance (editor)Actual crit chance
2%0%
3%7.6%
70%60%
80%66%
90%75%
97%81%

Data provided by Maker:
Level = critical hit chance (editor)
Code:
	[ 0 : 03 : 57 ] : Crit chance at level 0 : 0.000
	[ 0 : 06 : 57 ] : Crit chance at level 1 : 0.000
	[ 0 : 09 : 57 ] : Crit chance at level 2 : 0.000
	[ 0 : 12 : 60 ] : Crit chance at level 3 : 7.560
	[ 0 : 15 : 60 ] : Crit chance at level 4 : 4.680
	[ 0 : 18 : 63 ] : Crit chance at level 5 : 4.940
	[ 0 : 21 : 60 ] : Crit chance at level 6 : 5.180
	[ 0 : 24 : 63 ] : Crit chance at level 7 : 4.920
	[ 0 : 27 : 63 ] : Crit chance at level 8 : 10.780
	[ 0 : 30 : 66 ] : Crit chance at level 9 : 10.180
	[ 0 : 33 : 66 ] : Crit chance at level 10 : 10.000
	[ 0 : 36 : 66 ] : Crit chance at level 11 : 9.360
	[ 0 : 39 : 66 ] : Crit chance at level 12 : 9.980
	[ 0 : 42 : 66 ] : Crit chance at level 13 : 14.840
	[ 0 : 45 : 69 ] : Crit chance at level 14 : 15.320
	[ 0 : 48 : 69 ] : Crit chance at level 15 : 14.560
	[ 0 : 51 : 69 ] : Crit chance at level 16 : 14.980
	[ 0 : 54 : 69 ] : Crit chance at level 17 : 15.140
	[ 0 : 57 : 72 ] : Crit chance at level 18 : 20.000
	[ 1 : 00 : 72 ] : Crit chance at level 19 : 19.800
	[ 1 : 03 : 72 ] : Crit chance at level 20 : 19.980
	[ 1 : 06 : 72 ] : Crit chance at level 21 : 19.460
	[ 1 : 09 : 72 ] : Crit chance at level 22 : 19.660
	[ 1 : 12 : 75 ] : Crit chance at level 23 : 24.820
	[ 1 : 15 : 75 ] : Crit chance at level 24 : 25.140
	[ 1 : 18 : 75 ] : Crit chance at level 25 : 25.020
	[ 1 : 21 : 75 ] : Crit chance at level 26 : 24.640
	[ 1 : 24 : 78 ] : Crit chance at level 27 : 24.720
	[ 1 : 27 : 78 ] : Crit chance at level 28 : 29.380
	[ 1 : 30 : 81 ] : Crit chance at level 29 : 28.360
	[ 1 : 33 : 78 ] : Crit chance at level 30 : 29.400
	[ 1 : 36 : 81 ] : Crit chance at level 31 : 28.940
	[ 1 : 39 : 81 ] : Crit chance at level 32 : 29.440
	[ 1 : 42 : 81 ] : Crit chance at level 33 : 33.480
	[ 1 : 45 : 81 ] : Crit chance at level 34 : 33.300
	[ 1 : 48 : 81 ] : Crit chance at level 35 : 34.060
	[ 1 : 51 : 84 ] : Crit chance at level 36 : 33.800
	[ 1 : 54 : 84 ] : Crit chance at level 37 : 33.160
	[ 1 : 57 : 84 ] : Crit chance at level 38 : 37.600
	[ 2 : 00 : 87 ] : Crit chance at level 39 : 38.120
	[ 2 : 03 : 84 ] : Crit chance at level 40 : 37.800
	[ 2 : 06 : 87 ] : Crit chance at level 41 : 37.180
	[ 2 : 09 : 87 ] : Crit chance at level 42 : 37.780
	[ 2 : 12 : 90 ] : Crit chance at level 43 : 41.740
	[ 2 : 15 : 90 ] : Crit chance at level 44 : 41.220
	[ 2 : 18 : 90 ] : Crit chance at level 45 : 41.620
	[ 2 : 21 : 90 ] : Crit chance at level 46 : 42.000
	[ 2 : 24 : 93 ] : Crit chance at level 47 : 41.340
	[ 2 : 27 : 93 ] : Crit chance at level 48 : 45.320
	[ 2 : 30 : 93 ] : Crit chance at level 49 : 45.440
	[ 2 : 33 : 93 ] : Crit chance at level 50 : 46.100
	[ 2 : 36 : 93 ] : Crit chance at level 51 : 45.420
	[ 2 : 39 : 96 ] : Crit chance at level 52 : 45.640
	[ 2 : 42 : 96 ] : Crit chance at level 53 : 49.900
	[ 2 : 45 : 96 ] : Crit chance at level 54 : 49.520
	[ 2 : 48 : 96 ] : Crit chance at level 55 : 50.260
	[ 2 : 51 : 99 ] : Crit chance at level 56 : 49.180
	[ 2 : 54 : 99 ] : Crit chance at level 57 : 49.620
	[ 2 : 57 : 99 ] : Crit chance at level 58 : 52.420
	[ 3 : 00 : 99 ] : Crit chance at level 59 : 51.960
	[ 3 : 03 : 99 ] : Crit chance at level 60 : 52.620
	[ 3 : 07 : 02 ] : Crit chance at level 61 : 52.580
	[ 3 : 10 : 02 ] : Crit chance at level 62 : 52.900
	[ 3 : 13 : 02 ] : Crit chance at level 63 : 56.000
	[ 3 : 16 : 02 ] : Crit chance at level 64 : 56.420
	[ 3 : 19 : 05 ] : Crit chance at level 65 : 56.580
	[ 3 : 22 : 05 ] : Crit chance at level 66 : 56.900
	[ 3 : 25 : 05 ] : Crit chance at level 67 : 56.700
	[ 3 : 28 : 05 ] : Crit chance at level 68 : 59.740
	[ 3 : 31 : 05 ] : Crit chance at level 69 : 59.140
	[ 3 : 34 : 08 ] : Crit chance at level 70 : 60.020
	[ 3 : 37 : 08 ] : Crit chance at level 71 : 59.000
	[ 3 : 40 : 11 ] : Crit chance at level 72 : 60.480
	[ 3 : 43 : 11 ] : Crit chance at level 73 : 63.580
	[ 3 : 46 : 11 ] : Crit chance at level 74 : 63.540
	[ 3 : 49 : 11 ] : Crit chance at level 75 : 62.820
	[ 3 : 52 : 14 ] : Crit chance at level 76 : 63.340
	[ 3 : 55 : 14 ] : Crit chance at level 77 : 62.580
	[ 3 : 58 : 14 ] : Crit chance at level 78 : 66.400
	[ 4 : 01 : 14 ] : Crit chance at level 79 : 66.840
	[ 4 : 04 : 17 ] : Crit chance at level 80 : 66.180
	[ 4 : 07 : 17 ] : Crit chance at level 81 : 67.160
	[ 4 : 10 : 17 ] : Crit chance at level 82 : 66.540
	[ 4 : 13 : 17 ] : Crit chance at level 83 : 70.160
	[ 4 : 16 : 17 ] : Crit chance at level 84 : 70.260
	[ 4 : 19 : 20 ] : Crit chance at level 85 : 71.240
	[ 4 : 22 : 20 ] : Crit chance at level 86 : 70.300
	[ 4 : 25 : 20 ] : Crit chance at level 87 : 71.240
	[ 4 : 28 : 20 ] : Crit chance at level 88 : 74.160
	[ 4 : 31 : 23 ] : Crit chance at level 89 : 74.680
	[ 4 : 34 : 23 ] : Crit chance at level 90 : 75.380
	[ 4 : 37 : 23 ] : Crit chance at level 91 : 75.200
	[ 4 : 40 : 26 ] : Crit chance at level 92 : 75.260
	[ 4 : 43 : 23 ] : Crit chance at level 93 : 81.060
	[ 4 : 46 : 26 ] : Crit chance at level 94 : 80.660
	[ 4 : 49 : 26 ] : Crit chance at level 95 : 81.040
	[ 4 : 52 : 29 ] : Crit chance at level 96 : 81.460
	[ 4 : 55 : 26 ] : Crit chance at level 97 : 81.420
	[ 4 : 58 : 29 ] : Crit chance at level 98 : 98.980
	[ 5 : 01 : 29 ] : Crit chance at level 99 : 100.000

So yeah, treat abilities with a real percentage in the editor with care (example: bash, critical strike).
I mean things like "50.00" with "real percentages". Actual chances, which range from 0.00 to 1.00, are good (example: evasion).
Using a triggered version (damage detection) is always the better option, and not too hard to implement.
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
hmm. i wonder y blizzard made it so flawed. its simple math lol
Probably some more complex algorithm to prevent players from having "too much luck" (as Warcraft III is, in essence, an RTS, and RTS-games should rely on skill, not luck).
Like an algorithm that prevents a player from having 5 critical hits in a row (any pro-gamer would rage if the opponent just keeps critting you :p), or at least a decreased chance after every crit.

That's just my guess, no actual research on this has been done on my part.
 
Last edited:

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,191
I suspect critical strike uses "more random by less random", a trick that violates true random rules to make the results appear more random to humans but in reality become less random. It is to stop complaints like "X is cheating because he landed critical strikes on my hero 15 times in a row yet it only has a 30% chance to land one on an attack" and "Critical strike is broken as it only landed a critical strike once the entire game" that can happen with true randomness.

In the case of Critical Strike I suspect it limits the length of critical/non-critical chains. This means at very low critical strike chances the chance is skewed as it is forced to critical after missing a certain number of times in a row. The opposite is present with very high critical strike chances as it forces a miss if it criticals too many times in a row. 0% and 100% are probably special cases that never and always critical (no chance is involved in computing the results).

If you look at the 97% results it looks like it could be forced to miss after 4 sequential critical hits. If you look at the 3% results, it might be forced to critical after 20 consecutive misses.
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
The image shows that they're inaccurate, but as DSG said: not that inaccurate. It's actually pretty close to the actual value (accurate to within something like 0.0000001%).
That's also been known for quite some time now.
The last one is very easy to explain: it cannot handle that much decimals, so it will fuck up. This is more a human mistake than it is Warcraft's (I made the same mistake some years ago when replacing bj_DEGTORAD with a more accurate value, and all the angles were incorrect as a result).

Going from 97.00 to 81.420 requires a completely different explanation, and I do believe DSG is spot-on (at least, it's a pretty plausible explanation).
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,191
Another thing that occurred to me is that the length of chains of successive results may vary based on the percentage. If it is using whole numbers it could explain why there are sudden cut-off values that can change the resulting chance by a large amount.

At 97% you cannot have more than 1 miss and 4 hits in a row. At 100% you cannot have more than 0 misses and x hits in a row (0 misses is interpreted as always hit). At 0% you cannot have more than x misses and 0 hits in a row (0 hits is interpreted as always miss).
 
Status
Not open for further replies.
Top