Issue information

Issue ID
#5304
Status
Fixed
Severity
Medium
Started
Hercules Elf Bot
Feb 8, 2012 2:08
Last Post
Hercules Elf Bot
Apr 19, 2012 18:57
Confirmation
Yes (7)
No (0)

Hercules Elf Bot - Feb 8, 2012 2:08

Originally posted by [b]Poseid0n[/b]
Hello every body, I have notice a very annoying problem with flee.

When I try to build a Guillotine Cross (for example) with full agi (120 agi), he reaches more than 300 flee, the monsters are able to hit the character (low level monsters too).

To take an exemple, a character with 400 flee who is attacked by a Vanberk, is hit about 70 %. (the vanberk's flee 95 % is 285 flee).

I think the flee is not considered.

Can someone confirm ?

Poseidon

This post has been edited by Poseid0n on Feb 8, 2012 2:09

Hercules Elf Bot - Feb 8, 2012 2:23

Originally posted by [b]Aleos[/b]
I can confirm this also.

Hercules Elf Bot - Feb 8, 2012 23:40

Originally posted by [b]Ind[/b]
I've gone thru the flee calculation until i realized the problem might actually be the hit calculation, being in renewal it's made level+dex+(luk/3)+175 -- which allows mobs to have that high hit rate even at low levels, so the question now becomes: how is it done in officials?

Hercules Elf Bot - Feb 10, 2012 1:45

Originally posted by [b]Poseid0n[/b]
I don't understand why there is "+175" at the end of the formula, it cancels completely the concept of flee.

I a not certain, but logic would dictate that the formula is : [b]level+dex+(luk/3)[/b] which corresponds to the calculation of hit. Which will in any case closer to the official on which the concept dodge exists.

Poseidon.

Hercules Elf Bot - Feb 10, 2012 13:44

Originally posted by [b]Angezerus[/b]
Really annoying bug...

Bathories need 323 flee to be evaded, at least thats what irowiki says but i can make only about 40% dodge with 355 flee

..... But the irowiki description seems to be outdated to me:


Dodge Rate(%) = 100% - (Attacker [url="http://irowiki.org/wiki/Hit"]Hit[/url] + 80 - Defenders Flee) ("Attackers Hit" also applies for monsters as (Baselevel + [url="http://irowiki.org/wiki/DEX"]DEX[/url]))

I thested this with a novice character with exactly the same stats as bathories and same lvl, without anything equipped and it looked that monsters use the player based status calculation, cause i had about 60% hit against my 355 flee character with this novice


As I noticed, if we use the following dodge calculation:
% = 100 - (attacker hit - defender flee)

and we calculate the monster's hit like:
175 + BLVL + DEX

then the bathory calculation will be like:
Monster's hit = 175 + 86 + 67 = 328

Calculating dodge rate with the previous formula with irowiki's 323 flee what claimed to provide 95% dodge against bathory:
Dodge rate = 100 - (328 - 323) = 95%
That's correct

So it seems that monster hit calculation goes like:
175 + BLVL + DEX

And dodge calculation is:
% = 100 - (attacker hit - defender flee)

So that's 2 things needed to be corrected.


ps. Irowiki is pretty messed up right now, not very reliable... half pre-re half re infos on renewal wiki. Use it wisely!

This post has been edited by Angezerus on Feb 10, 2012 14:57

Hercules Elf Bot - Feb 17, 2012 14:49

Originally posted by [b]Angezerus[/b]
Any words on this issue? Is this fixed or needs more info?

Hercules Elf Bot - Feb 17, 2012 15:40

Originally posted by [b]Ind[/b]
I don't think that "100 - <etc" is correct because renewal flee calculation adds 100 to the final value -- it'd nullify itself

Hercules Elf Bot - Feb 20, 2012 8:47

Originally posted by [b]Angezerus[/b]
No, it wouldn't.

The 100 in the dodge calculation is in percent and the 100 in flee calc is pure 100.

So what happened in renewal that they balance the dodge rate in the flee/hit calculation instead of the dodge.
To see what I mean:

OLD FORMULA (stat only):
[color=#000000][font=sans-serif][size=3]Flee = Level + AGI[/size][/font][/color]
Hit = Level + DEX
[color=#000000][font=sans-serif][size=3]Dodge Rate(%) = 100% - (Attacker [/size][/font][/color][url="http://irowiki.org/oldwiki/Hit"]Hit[/url][color=#000000][font=sans-serif][size=3] + 80 - Defenders Flee) [/size][/font][/color]
[color=#000000][font=sans-serif][size=3] [/size][/font][/color]


[color=#000000][font=sans-serif][size=3]RENEWAL FORMULA (stat only):[/size][/font][/color]
[color=#000000][font=sans-serif][size=3]Flee = 100 + Level + AGI + (LUK / 5)[/size][/font][/color]
[color=#000000][font=sans-serif][size=3]Hit = 175 + Level + DEX + (LUK / 3)[/size][/font][/color]
[color=#000000][font=sans-serif][size=3]Dodge Rate(%) = 100% - (Attacker [/size][/font][/color][url="http://irowiki.org/wiki/Hit"]Hit[/url][color=#000000][font=sans-serif][size=3] - Defenders Flee)[/size][/font][/color]
[color=#000000][font=sans-serif][size=3] [/size][/font][/color]
[color=#000000][font=sans-serif][size=3]So what happened, is they moved the +80 from the dodge calculation into the hit calculation (hit gets 175 starting value, flee gets 100. Thats +75 on hit, and the remaining 5 is found in the luk part (every 3 luk adds 1hit but only every 5luk adds 1 flee). So that's why there is no +80 in the renewal dodge calculation. If we add +80 in the dodge calc and +75 in the renewal hit calc, that would be way to much on the hit's part, and that's why it's nearly impossible now to get enough flee (currently we use renewal hit and flee calc and pre-re dodge).[/size][/font][/color]

This post has been edited by Angezerus on Feb 20, 2012 9:03

Hercules Elf Bot - Feb 26, 2012 21:22

Originally posted by [b]Angezerus[/b]
As I see now irowiki was updated to the same formula I mentioned :) :
[url="http://irowiki.org/wiki/FLEE#Dodge_Calculation"]http://irowiki.org/wiki/FLEE#Dodge_Calculation[/url]

Also:
[url="http://ro.doddlercon.com/wiki/index.php?title=Renewal_Changes#FLEE_and_HIT"]http://ro.doddlercon.com/wiki/index.php?title=Renewal_Changes#FLEE_and_HIT[/url]

This post has been edited by Angezerus on Mar 1, 2012 9:02

Hercules Elf Bot - Feb 29, 2012 14:24

Originally posted by [b]WhoEverKnows[/b]
I don't mean to press on anyone, but is there any chance this will be fixed soon? Or is it a more complex phenomenon? It's quite hard to play with these calculations :(

Hercules Elf Bot - Mar 5, 2012 9:41

Originally posted by [b]Angezerus[/b]
Current rAthena code in this issue

[u][b]status.c[/b][/u]

#if REMODE //Renewal Formulas
status->hit += level + status->dex + status->luk/3 + 175; //base level + ( every 1 dex = +1 hit ) + (every 3 luk = +1 hit) [u][b]+ 175[/b][/u]
status->flee += level + status->agi + status->luk/5 + 100; //base level + ( every 1 agi = +1 flee ) + (every 5 luk = +1 flee) + 100


[u][b]battle.c[/b][/u]

if (!flag.hit)
{ //Hit/Flee calculation
short
flee = tstatus->flee,
[u][b]hitrate=80;[/b][/u] //Default hitrate

In renewal there is no need for default hitrate because of the +175. It has the same role.
In the current, bugged state you need (75 + 80 =) 155 more flee than the opponent's hit. That makes 50%+ dodge nearly impossible.

Probably an "IF REMODE" should do the trick. If pre-renewal, then hitrate = 80, if renewal then hitreate = 0 should be used as default hitrate.

Please fix this. Agi build players are unplayable :(

This post has been edited by Angezerus on Mar 8, 2012 10:09

Hercules Elf Bot - Mar 8, 2012 10:21

Originally posted by [b]Angezerus[/b]
Okay.. So I believe this should do the trick ;)

battle.c

[CODE]
if (!flag.hit)
{ //Hit/Flee calculation
short
flee = tstatus->flee,
hitrate=80; //Default hitrate
[/CODE]

supplemented to this:

[CODE]
if (!flag.hit)
{ //Hit/Flee calculation
short
flee = tstatus->flee,
hitrate=80; //Default hitrate
#if REMODE
hitrate -= 80;
#endif
[/CODE]

Hercules Elf Bot - Mar 8, 2012 11:30

Originally posted by [b]Vali[/b]
Better:

[CODE]
if (!flag.hit)
{ //Hit/Flee calculation
short
flee = tstatus->flee,
#if REMODE
hitrate=0; //Default hitrate
#else
hitrate=80; //Default hitrate
#endif
[/CODE]

Vali~

This post has been edited by Vali on Mar 13, 2012 11:46

Hercules Elf Bot - Mar 17, 2012 21:53

Originally posted by [b]Ind[/b]
Thanks Argezerus and Vali! Should be fixed in [rev=15704]

Hercules Elf Bot - Mar 18, 2012 14:37

Originally posted by [b]Vali[/b]
Hi,
You must change too the line 1375 (battle.c) that is the one that affects really to the player.

Vali~

Hercules Elf Bot - Mar 18, 2012 14:40

Originally posted by [b]Ind[/b]
thanks for pointing out. should be fixed in [rev=15721]