Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Release| Hit Simulator with Defense Calculation
#21
Tukkun Wrote:The beginner job is pretty inaccurate... For most monsters I check, it says XX~XX in the calculator when it deals only 1~1 in game.
Care to post the actual stats so I can check it?
Reply
#22
Job: Beginner
STR: 403
DEX: 39
INT: 26
LUK: 26
Lv. 77
DEF. 366 (Pain Reliever included)

Monster: Hodori
Lv. 50
ATK: 170
Deal: 1~1 damage (not 1~14)

Monster: Croco
Lv. 52
ATK: 172
Deal: 1~1 damage (not 5~20)

Monster: Wild Kargo
Lv. 62
ATK: 210
Deal: I don't remember the exact, but I remember it dealing like 25~60 or something while I hunt Bob for snail cards. (DEFINITELY not 121~143)

Will take some real screenshot when I can
Reply
#23
Tukkun Wrote:Job: Beginner
STR: 403
DEX: 39
INT: 26
LUK: 26
Lv. 77
DEF. 366 (Pain Reliever included)

Monster: Hodori
Lv. 50
ATK: 170
Deal: 1~1 damage (not 1~14)

Monster: Croco
Lv. 52
ATK: 172
Deal: 1~1 damage (not 5~20)

Monster: Wild Kargo
Lv. 62
ATK: 210
Deal: I don't remember the exact, but I remember it dealing like 25~60 or something while I hunt Bob for snail cards. (DEFINITELY not 121~143)

Will take some real screenshot when I can

OH WOW, that was such a stupid mistake by me. The actual calculation was
edi = edi * (def - StandardPDD) * 0.7 + ((int)arg5 * 0.00125 + 0.28) * def;
but i wrote
edi *= (def - StandardPDD) * 0.7 + ((int)arg5 * 0.00125 + 0.28) * def;
so edi was multiplied in all of the expression, instead of just in (def - StandardPDD)
I'll recompile and update the first post. Thanks for pointing this out Biggrin
Reply
#24
Wheeeeeeeeee, very accurate!
__________________________


Job: Beginner
STR: 403
DEX: 39
INT: 26
LUK: 26
Lv. 77
DEF. 336

Monster: Buffy
Lv. 61
ATK: 170
Deal: 1~1 (Hit Simulator: 1~1)

Monster: Lazy Buffy
Lv. 66
ATK: 190
Deal: 1~16 (Hit Simulator: 1~16)

Monster: Buffoon
Lv. 74
ATK: 290
Deal: 382~424 (Hit Simulator: 382~424)

I think I don't have to test anymore, right. Tongue
Reply
#25
Dusk Wrote:Oh, ok. I did a little cleaning up of the calculations and this is formula in pseudocode.

att and def are capped at 1999

mob damage = random(0.8 ~ 0.85) * att^2/100

if job is warrior: modifier = str/7 + dex/4 + int/9 + luk/4
else: modifier = 2*str/5 + dex/7 + int/9 + luk/4

num = 0.28 + modifier/800
if defense>=PDD value: reduction = 0.7*(level/1300 + 8/9*num)*(def-PDD) + (num*def)
else:
-if level < 15: reduction = 1.3*(level/550 + num)*(def-PDD) + (num*def)
-else: (13/(level-2))*(level/550 + num)*(def-PDD) + (num*def)

damage taken = mob damage - reduction

I keep editing this because it's pineappleing confusing with all the variables the same thing D:

Okay I think it's right now.

Oh, and the most relevant StandardPDD values (for people over level 100) are:
494 for warriors
266 for mages
298 for archers
331 for thieves
309 for pirates
if anyone is interested using the formula.

So, what would the PDD values be for other levels, if these are for 100+? And does Aran fit into the "Warriors"?
Reply
#26
WayOfTime Wrote:So, what would the PDD values be for other levels, if these are for 100+? And does Aran fit into the "Warriors"?

Look in StandardPDD.xml attached with the program for the other PDDs.
Reply
#27
Thanks Kortestanov. I'll take a look when I get home and can more conveniently make something sensible out of the code.
(Dusk's post is helpful but I'd like to double check myself Biggrin)
Reply
#28
Dusk Wrote:mob damage = random(0.8 ~ 0.85) * att^2/100
Somehow that looks wrong. If that were the case, then the most Anego (1200 watk) could do is 12240 damage (without any damage reductions). Pap's second body (800 watk)can only do 5440 damage.

It's common knowledge that Anego does close to 15~16K touch and pap does around 8K touch. Goggleemoticon
Reply
#29
2147483647 Wrote:Somehow that looks wrong. If that were the case, then the most Anego (1200 watk) could do is 12240 damage (without any damage reductions). Pap's second body (800 watk)can only do 5440 damage.

It's common knowledge that Anego does close to 15~16K touch and pap does around 8K touch. Goggleemoticon

No Papulatus second form does not do 8 k damage touch. In fact it wont even do 5440 on me.
Reply
#30
CarrionCrow Wrote:No Papulatus second form does not do 8 k damage touch. In fact it wont even do 5440 on me.

Agreed. I've been soloing pap since level 12x, the most I've seen him hit for is 52xx, and I have pretty lame defense. Rolleyes

It's definitely not 8k
Reply
#31
2147483647 Wrote:Somehow that looks wrong. If that were the case, then the most Anego (1200 watk) could do is 12240 damage (without any damage reductions). Pap's second body (800 watk)can only do 5440 damage.

It's common knowledge that Anego does close to 15~16K touch and pap does around 8K touch. Goggleemoticon
You're thinking of Anego's slap, which has an independent PA value of 1500 (18000-19125 damage).

A quick Google search tells me that her touch damage is indeed in the 11000 range.
Reply
#32
Nvrm. I was thinking of pap bombs and anego's slap. >_>

Can someone please tell me how the PDD values were derived?
Reply
#33
2147483647 Wrote:Nvrm. I was thinking of pap bombs and anego's slap. >_>

Can someone please tell me how the PDD values were derived?

The StandardPDD values depend on job and level, and are from one of the .wz files, possibly in base.wz The values go up every 5 levels, which is why some notice that the damage they take jumps after they level up to level x0 or x5.
They max at level 100.

BY the way, Dusk's rewrite of Kortestanov's original code has some errors in it, so don't go by that version. Someone reposted it on SW.
Reply
#34
MissingLink Wrote:The StandardPDD values depend on job and level, and are from one of the .wz files, possibly in base.wz The values go up every 5 levels, which is why some notice that the damage they take jumps after they level up to level x0 or x5.
They max at level 100.

BY the way, Dusk's rewrite of Kortestanov's original code has some errors in it, so don't go by that version. Someone reposted it on SW.
The most funny thing about this formula is, when I started it I was sure StandardPDD is some sort of a base-def which causes warriors to get hit less by default (since their PDD is higher). I ended up discovering StandardPDD actually increases damage, and warriors would have got hitted the most of all jobs if not for their high defense.

I think I'm gonna find some time soon and hack the magic damage\avoidability formulas too. I know where they are, I'm just too lazy to code them.
Reply
#35
[spoiler=I'm a magician, so I only input this part]
Dusk Wrote:mob damage = random(0.8 ~ 0.85) * att^2/100

else: modifier = 2*str/5 + dex/7 + int/9 + luk/4

num = 0.28 + modifier/800

if defense>=PDD value: reduction = 0.7*(level/1300 + 8/9*num)*(def-PDD) + (num*def)

else:
-else: (13/(level-2))*(level/550 + num)*(def-PDD) + (num*def)


damage taken = mob damage - reduction

266 for mages
[/spoiler]
MissingLink Wrote:The values go up every 5 levels, which is why some notice that the damage they take jumps after they level up to level x0 or x5.
When def is exactly at 266, the amount of damage reduced, (bolded in the spoiler), is exactly the same. The reason for this is that when def = PDD, the first half goes to 0, so the damage reduced is just equal to (num*def). Running in numbers, I noticed that when def is lower than the PDD value, the first line comes out to be a negative value and the second line comes out to be a positive value. However, when def is greater than the PDD value, both lines are positive, though the first line gives slightly more than the second.

Anyways, after playing with numbers, the only way you can possibly experience a huge jump in Def is if the difference between PDD values is really large. It's only a slight jump. By slightly, I mean the difference is only about a miniscule 5%. You can hardly even see the reduction because normally in the game, you're taking thousands of damage at a time, and if the reduction is only 200 with the second formula and 210 with the first, you won't notice it at all.
I don't know about the other PDD values, but I'm pretty sure they won't cause a visible jump based on what I mentioned above.
MissingLink Wrote:They max at level 100.
It's a shame that they do. Def is already nerfed as it is. >_>
MissingLink Wrote:BY the way, Dusk's rewrite of Kortestanov's original code has some errors in it, so don't go by that version.
Dusk's rewrite seems correct when I ran numbers through it. If there's an error, could you please point it out to me?
MissingLink Wrote:Someone reposted it on SW.
Could you please link me? All I can find is Cyanne's reposting of Dusk's rewrite on SW.
Kortestanov Wrote:I think I'm gonna find some time soon and hack the magic damage\avoidability formulas too. I know where they are, I'm just too lazy to code them.
Please do. Glitter
Reply
#36
The links for the Kortestanov's source and executable are in the first post of this thread, no need to hunt for it.

Dusk's version has str/7 and dex/7, original has str * 0.2857142857142857 and dex * 0.2857142857142857, which is whatever *2/7
Dusk's version has 'if level < 15', original has 'if (level < mobLevel)'
There may be other differences, i didn't look at it that long. Very hard to read dissassembled stuff.

The increase in damage when levelling to a multiple of 5 is only noticeable for low levels taking modest damage from low level monsters.

Isn't capped StandardPDD a good thing? If it went larger past level 100, then the reduction would be smaller, and the damage greater. But its all irrelevant for high level monsters anyway.
Reply
#37
Wow, that took MUCH less time than I thought. 2:30 hours and I finished magic avoid + magic defense.

1.Updated the damage calculator, now there are radio buttons that choose between physical damage and magical damage. In magic damage mode the mob's level and the player's int are disabled because they are not needed for the formula.

2.Avoidability formulas (both physical and magical):
1.Limit accuracy and avoidability between 0 and 999
2.If your level < mob level, reduce the following from your avoid (rounded down):
(mob level-your level) / 2

For physical avoiding:
-The chance to be missed in % is (avoid / (acc * 4.5)) * 100
-If you are a thief, limit the chance between 5%-95%
-If you are not a thief, limit the chance between 2%-80%

For magical avoiding:
-The chance to be hit in % is ((acc-(avoid/10))/(0.9 * avoid)) * 100
-There is no limit to the magical avoiding chance. if it ends up bigger or equal to 100, you are ALWAYS being hitted.
Reply
#38
So what are the damage formulas? Is the physical one you're referring to in ^ post the same as the one that Dusk simplified (touch damage), or is it physical attack taken from monsters?

Is physical avoid touch damage or physical attacks (eg ground pound)?

Does that mean that a thief can avoid damage 96.5% of the time by having Avoid = 45 x Acc? (Because natural miss is 95% and Fake miss is another 30%.) Does that mean that if a character has Avoid = 10 x Acc, he'll never be hit by magical attacks?

Last question: which formula do you use to calculate how often you can avoid 1/1?

Sorry for the bombardment of questions.
MissingLink Wrote:Dusk's version has str/7 and dex/7, original has str * 0.2857142857142857 and dex * 0.2857142857142857, which is whatever *2/7
Dusk's version has 'if level < 15', original has 'if (level < mobLevel)'
There may be other differences, i didn't look at it that long. Very hard to read dissassembled stuff.
0.2857142857142857 = 2/7, because the number of significant digits greatly exceeds what you need. At most you only need the first 5 digits, so accuracy at the end of the chain of decimals isn't important.
MissingLink Wrote:Isn't capped StandardPDD a good thing? If it went larger past level 100, then the reduction would be smaller, and the damage greater. But its all irrelevant for high level monsters anyway.
I was under the impression that a higher PDD would mean less damage taken. After all, logic says that leveling makes you stronger, therefore you should be hit less.

My mistake.
Reply
#39
2147483647 Wrote:So what are the damage formulas? Is the physical one you're referring to in ^ post the same as the one that Dusk cleaned up (touch damage), or is it physical attack taken from monsters?

Is physical avoid touch damage or physical attacks (eg ground pound)?
The formulas I posted in the post above you are the avoidability formulas. The defense\hit formulas are the one in my application. Dusk cleaned up my formula, but did it wrong so his don't really work.

Also, as far as I know physical attacks and physical touch damage use the same formulas.

2147483647 Wrote:Does that mean that a thief can avoid damage 96.5% of the time by having Avoid = 45 x Acc? (Because natural miss is 95% and Fake miss is another 30%.) Does that mean that if a character has Avoid = 10 x Acc, he'll never be hit by magical attacks?
Exactly.
2147483647 Wrote:Last question: which formula do you use to calculate how often you can avoid 1/1?
Check if it's physical or magical and use the corresponding formula (I think it's magical, but I'm not sure)
Reply
#40
Kortestanov Wrote:The formulas I posted in the post above you are the avoidability formulas.
I meant the ones you mentioned but didn't post:

"Updated the damage calculator, now there are radio buttons that choose between physical damage and magical damage. In magic damage mode the mob's level and the player's int are disabled because they are not needed for the formula."
Kortestanov Wrote:Also, as far as I know physical attacks and physical touch damage use the same formulas.
Anego does 12K touch damage. Anego's slap does 18K damage. Anego's gun-thing does 5.4K damage. :f6:
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)