Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Avoidability\Miss Formula
#1
Just found it ^_^
This formula calculates the chance a monster has to miss you. Luckily its not as complex as the def one, so ill just explain it here:
1.If your avoidability is above 999, make it 999. Same goes for the monster's accuracy.
2.If your level is equal or lower than the monsters level, decrease the following from your avoidability:
SAR(mob level-your level,1)
 SAR
3.The miss chance, in precents, is (avoid / (acc * 4.5)) * 100, where avoid is your avoidability and acc is the mob's accuracy.
4. Limit the result above according to the following:
a.If you are a thief, the limit range is 5%-95%
b.If you are not a thief, the limit range is 2%-80%

For example, a level 10 beginner with 400 avoidability against a green mushroom with 45 accuracy:
1.decrease avoidability by SAR(5,1), which is 2. your avoidability is 398 now.
2. (398 / (45 * 4.5)) * 100 = 196.54. since this number is over 80, your chance to be missed is 80%.

EDIT: I figured out what "arg5" is, it was the mob's level. fixed the formula above.
Reply
#2
Bitshifting >> 1 is the same thing as dividing by 2 and rounding down. Cool find. I guess the only thing that applies for most people is (2/9)*(avoid/acc).

Edit: I just realized that your avatar is a glider.
Reply
#3
Dusk Wrote:Bitshifting >> 1 is the same thing as dividing by 2 and rounding down. Cool find. I guess the only thing that applies for most people is (2/9)*(avoid/acc).

Edit: I just realized that your avatar is a glider.
Oh I didn't know that. nice.

And yes, its a glider :f6:

EDIT: You are talking about SHR. SAR is arithmetic, so if the most significant bit is 1 you need to add another 1 to the left.
e.g. sar'ing the binary string 10000010 would result in 11000001
Reply
#4
Thanks for the formula... I've already added in to the Calc I'm working and gave you credit.
Reply
#5
My Strless Brawler (450 Avoid) definitely gets hit less than 20% of the time (I used to just AFK in mobs at CPQ and get hit once every 20 misses). Perhaps Brawlers have the 5-95% limit too? Also - how'd you make this formula?
Reply
#6
Kevvl Wrote:My Strless Brawler (450 Avoid) definitely gets hit less than 20% of the time (I used to just AFK in mobs at CPQ and get hit once every 20 misses). Also - how'd you make this formula?
Debugging the client.
Seems fine on a v60 private server, but that was before the official release of pirates, so maybe they decided to give special limits to pirates. Can you make an actual statistic of like, how many times did you get missed out of 100 touches with a low-level monster? If that pirate issue is true I'll probably have to debug the actual maple client and I hate doing that because maplestory isn't exactly debugger-friendly, if you know what I mean.
Reply
#7
Kevvl Wrote:My Strless Brawler (450 Avoid) definitely gets hit less than 20% of the time (I used to just AFK in mobs at CPQ and get hit once every 20 misses). Perhaps Brawlers have the 5-95% limit too? Also - how'd you make this formula?
Erm, few things are not possible here...

- STRless brawler in CPQ?!?!?! Doing a lot of 1's?!?!?
- 450 avoid at lvl 50 !?!?!? You need about 800 luk for that, or about 1600 dex!?!?!

explain....
Reply
#8
Devil Wrote:Erm, few things are not possible here...

- STRless brawler in CPQ?!?!?! Doing a lot of 1's?!?!?
- 450 avoid at lvl 50 !?!?!? You need about 800 luk for that, or about 1600 dex!?!?!

explain....
Ok.

I deal 280-300 damage per Somersault Kick using my Blue Rose. My record for solo CP is about 700.
Dex adds 1.6 Avoidability for Brawlers.
Kortestanov Wrote:Debugging the client.
Seems fine on a v60 private server, but that was before the official release of pirates, so maybe they decided to give special limits to pirates. Can you make an actual statistic of like, how many times did you get missed out of 100 touches with a low-level monster? If that pirate issue is true I'll probably have to debug the actual maple client and I hate doing that because maplestory isn't exactly debugger-friendly, if you know what I mean.
Fair enough. Lemme just get on MS and fight some snails.

Results:
Blue Snails. 425 Avoid (I guess I was wrong when I said 450. Darn close enough though)
Test 1 - 85 misses, 15 hits
Test 2 - 69 misses, 31 hits

Odd discrepancy, but 80% seems to be about right though. Darn Sad
Reply
#9
Yea that sounds about right. There was someone who made a 999 avoid Buc recently and was saying Zak only hit him/her only 5% of the time, which didn't sound right to me. I'm still surprised that there is any barrier at all though. I wonder what the purpose of that is :f6:
Reply
#10
iFrancisco Wrote:Yea that sounds about right. There was someone who made a 999 avoid Buc recently and was saying Zak only hit him/her only 5% of the time, which didn't sound right to me. I'm still surprised that there is any barrier at all though. I wonder what the purpose of that is :f6:

Caps exist for balancing and sanity reasons Goggleemoticon same reason there's a speed/jump cap and an attack speed cap.
Reply
#11
Dusk Wrote:Caps exist for balancing and sanity reasons Goggleemoticon same reason there's a speed/jump cap and an attack speed cap.

I don't mean caps in general, but specifically for avoid. Obviously a natural bound exists from 0% to 100%; more so, the avoid cap is 999. If a proper formula for avoid was created there would be no need for an upper bound based on the class itself. Oh well, I suppose the class imposed bounds can only help thieves, so no complaint from me Biggrin
Reply
#12
iFrancisco Wrote:I don't mean caps in general, but specifically for avoid. Obviously a natural bound exists from 0% to 100%; more so, the avoid cap is 999. If a proper formula for avoid was created there would be no need for an upper bound based on the class itself. Oh well, I suppose the class imposed bounds can only help thieves, so no complaint from me Biggrin
Even if you cap avoid at 999, accuracy can range from 0-999 too, so that gives u a range 0/999 ~ 999/0 (avoid/acc), which is a pretty large range.
Reply
#13
iFrancisco Wrote:Yea that sounds about right. There was someone who made a 999 avoid Buc recently and was saying Zak only hit him/her only 5% of the time, which didn't sound right to me.

Shouldn't happen anyway, Zakum has 250 acc so only 89% miss rate is possible (with 999 eva), even if it wasn't capped and he was lv.140+.

I think people are just not good with fractions smaller than 1/5 >_>

95% miss rate + 40% SS = possible 97% miss for Shadowers... o.o
Reply
#14
Kortestanov Wrote:Even if you cap avoid at 999, accuracy can range from 0-999 too, so that gives u a range 0/999 ~ 999/0 (avoid/acc), which is a pretty large range.

0 avoid? My, my. Tongue1

I'd like to see a 0 luk 0 dex character Tongue
Reply
#15
Assuming Skeles with 220 ACC, I am getting ~20% miss rate on my Buccaneer with 204 avoid, 22.6% with an avoid pill. Assuming I get hit 300-500 times per hour, that pill saves me 6-10 hits, or 18-30k an hour. If I put on a HT pendant, it kicks up to 296 avoid, in which my dodge rate increases to 29.8%. Hmmmm.... fascinating.

*What the blazes are the accuracy of Time Temple mobs?

Stereo Wrote:Shouldn't happen anyway, Zakum has 250 acc so only 89% miss rate is possible (with 999 eva), even if it wasn't capped and he was lv.140+.

I think people are just not good with fractions smaller than 1/5 >_>

95% miss rate + 40% SS = possible 97% miss for Shadowers... o.o

How did you calculate a 97% miss rate?
Reply
#16
IllegallySane Wrote:Assuming Skeles with 220 ACC, I am getting ~20% miss rate on my Buccaneer with 204 avoid, 22.6% with an avoid pill. Assuming I get hit 300-500 times per hour, that pill saves me 6-10 hits, or 18-30k an hour. If I put on a HT pendant, it kicks up to 296 avoid, in which my dodge rate increases to 29.8%. Hmmmm.... fascinating.



How did you calculate a 97% miss rate?

0.95 + 0.05 * 0.4 = 0.97

OSHII, I ADDED TWO PROBABILITIES:

P(hit) = 0.05 * 0.6 = 0.03
P(miss) = 1 - P(hit) = 1 - 0.03 = 0.97
Reply
#17
Pardon the semi-necropost, I kind of wasn't around at the time of posting.

Kortestanov Wrote:Oh I didn't know that. nice.

And yes, its a glider :f6:

EDIT: You are talking about SHR. SAR is arithmetic, so if the most significant bit is 1 you need to add another 1 to the left.
e.g. sar'ing the binary string 10000010 would result in 11000001
Uhh... yes. What he said is still correct, if working with signed integers
10000010 = -126
11000001 = -63

While we're at it, can you take a look at how the formula works the other way around (especially with magic attacks)? And, do you know if this formula also works with monsters' magic attacks? Or do they just not miss (I don't recall)?
Reply
#18
Do you know if Shadow Shifter works independently or in conjunction? And does it check passive avoid before or after it?
Reply
#19
For who don't know whats SAR, its a binary operation removing x bits from the right. so for example if your level is 10, SAR(5,1) will be taking 5 in binary (101) and removing one bit from the right. the result will be 10, which is 2 in decimal.

Confusing...
- If your level is 10,
I think you are referring to the level difference between the monster level and your character level.

SAR(5,1)
Where this 5 came from? Shouldn't it be 10?
SAR(moblevel - your level,1) = SAR(10,1)

In C/Java it would be either
if(yourLevel < moblevel){
x = moblevel-yourLevel)>>1;
yourAvoid -= x;
}

correction would be:
so for example if your level difference is 5,
SAR(5,1) will be taking 5 in binary (101) and removing one bit from the right.
the result will be 10, which is 2 in decimal.

2nd correction
your level is below monster level, (yourLevel < monsterLevel)
don't need to use below or equal <= (yourLevel <= monsterLevel)
0 >> 1 = 0 (so no point deducting from yourAvoid)

/////////////////////////////////////////////////////

For example, a level 10 beginner with 400 avoidability against a green mushroom with 45 accuracy:
1.decrease avoidability by SAR(5,1), which is 2. your avoidability is 398 now.
2. (398 / (45 * 4.5)) * 100 = 196.54. since this number is over 80, your chance to be missed is 80%.

extra info:
assuming your character level is 10 who is trying to play miss game with a level 15 green mushroom,
it would be:
(mobLevel - yourLevel) >> 1
(greenMushroomLevel - yourLevel) >> 1
(15 - 10) >> 1
5 >> 1
result: 2
Reply
#20
rainbowBean Wrote:For who don't know whats SAR, its a binary operation removing x bits from the right. so for example if your level is 10, SAR(5,1) will be taking 5 in binary (101) and removing one bit from the right. the result will be 10, which is 2 in decimal.

Confusing...
- If your level is 10,
I think you are referring to the level difference between the monster level and your character level.

SAR(5,1)
Where this 5 came from? Shouldn't it be 10?
SAR(moblevel - your level,1) = SAR(10,1)
Green mushroom's level is 15, the example character I used was level 10. 15-10 = 5, so avoid -= SAR(5,1)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)