Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Development

Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 04-22-2003, 10:44 AM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

Thanks, Veto.
__________________
It's never too late to be something great.
Reply With Quote
  #2  
Old 04-22-2003, 12:01 PM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

Trying to figure out how to make this previous equation that we've proved out to work with regular PC attacks on NPCs and PCs is proving to be more complex than I thought. Here is what I've discovered so far:

1hs damage bonus: TRUNCATE(( Level-25 )/3)

Already solved in code, presumably by Kaiyodo! Thanks for making this easy! I've verified it on MANY websites, with lots of empirical data giving credit to this equation. This part is right! YAY!

2hs damage bonus ( if delay <28 ) : 1hs formula + 1!!

Believe it or not, it's that easy! If you check http://lucy.fnord.net/dmgbonus.html?setcookie=1 , you will see that this is correct. You may wonder why there is a condition here! Well, I think I figured it out. The numbers actually formed a pattern, which I found a bit weird. If you flip the table on its side and look for, say 4, you'll see that the side beyond 27 delay forms a bell curve. If you made that bell curve extend to the left, your less-delayed weapons would have big damage bonuses. They cut the curve in half and only applied it to the delays

I haven't figured out how to normalize the equation, but I pulled out my stats book to find out how to extend and shrink bell curves. More will be posted as I figure it out.
__________________
It's never too late to be something great.
Reply With Quote
  #3  
Old 04-22-2003, 05:03 PM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

I believe I have 2h damage for level 28 (yeah, it's not much), and there is an equation for it so far. More to come as I resolve it:

Assuming level 28, beyond delay 42...

TRUNCATE((DELAY - 30) / 3)
EDIT: Equations on Monkly business dispute this equation. I guess I'll go with Monkly.

The bonus damage minimum is 1, so we round that up.

That gives us a base damage. Now if I can just figure out how that damn level figures into the equation...
__________________
It's never too late to be something great.
Reply With Quote
  #4  
Old 04-22-2003, 05:08 PM
vetoeq
Hill Giant
 
Join Date: Apr 2003
Posts: 125
Default

Great news, so you are solving for delay > 27 only, since it's different at <=27?
Reply With Quote
  #5  
Old 04-22-2003, 05:16 PM
monkboy
Fire Beetle
 
Join Date: Apr 2003
Posts: 17
Default

You can find some nice info about damage calculations and modals here..

http://www.monkly-business.com/artic...?ArticleNum=66
Reply With Quote
  #6  
Old 04-22-2003, 06:08 PM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

This absolutely contradicts what I found on Lucy! :( I apply the monkly equations to Lucy data, and they don't match at all.

I would be satisfied with the data that currently exists on monkly business. I think that model is a more fair representation of the melee classes anyway.

The following equations are offered for weapon damage bonus:

1 handed weapons, including fists, and will include bash and kick, if I am correct:

TRUNCATE((LEVEL-25)/3)

2 handed weapons:

You will notice that many of these equations are modifications of the one-handed weapon equation, and equations listed below.

LIGHT WEAPONS
- Weapons with delays less than 28

1 + TRUNCATE((LEVEL-25)/3)
shorthand: 1hb equation + 1

MEDIUM WEAPONS
- Weapons with delays between and including 28 and 39

TRUNCATE((LEVEL-25)/3) + (LEVEL-27)/4)
shorthand: Light weapons equation - 1 + TRUNCATE((LEVEL-27)/4)

SLOW WEAPONS
- Weapons with delays between and including 40 and 42

TRUNCATE((LEVEL-25)/3) + (LEVEL-27)/4) + 1)
- shorthand: Medium weapons equation + 1

VERY SLOW WEAPONS
- Weapons with delays greater than 42

TRUNCATE((LEVEL-25)/3) + (LEVEL-27)/4) + (DELAY-34)/3) + 1)
- shorthand: Slow weapons equation + TRUNCATE((DELAY-34)/3)

I think these are probably the real values. If they aren't, the equations are so easy compared to the difficult ones, that we should probably follow these instead. I trust Lucy, but I also trust monkly. Let's go with the one that we can do. More to come.
__________________
It's never too late to be something great.
Reply With Quote
  #7  
Old 04-22-2003, 06:19 PM
vetoeq
Hill Giant
 
Join Date: Apr 2003
Posts: 125
Default

GN, are the values from Lucy and Monklybusiness WAY off or just don't quite jive (possible rounding errors, etc.)?

Next:
I assume that next we take the level/delay DB and add the actual weapon DB to arrive at a final DB?

Follow on:
Okay, I just plugged this into Excel to compare against a known value. 60sk/255str/~1250atk/Rocksmasher(41/47 DB=31) and got a weird number.

TRUNCATE((LEVEL-25)/3) + (LEVEL-27)/4) + 1)

TRUNCATE(((60-25)/3)+((60-27)/4)+1)=20 (20.92)

Now we take that and I assume add the weapon DB of 31 to arrive at 51. Now on the the next part (assuming a 100ac target and DI = delay of weapon (41))

DB + (1-AC/ATK) * 20 * DI

51+(1-100/1250) * 20 * 41 = 805.4

Thats very high, so I messed with AC of target to solve to the known value of 302 max hit with that combo and end up with a minimum AC of 867 or it may be that the ac/attack ratio cannot go below 0.3....or it could be that I'm broken in about 100 other ways

STR comes to mind, but it's partially in there since any increase in STR has a direct corelation to increase in ATTK (1 to 1).

Now I'm guessing at the DI value being weapon delay, it might be something else entirely. I don't think it can be the effective delay of attack since that would mean that a hasted (hence lower DI) attacker would hit for less than a unhasted one; which isn't the case.

--
VetoEQ
Reply With Quote
  #8  
Old 04-23-2003, 01:19 AM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

DI value for weapons hasn't been posted yet. I have found it, but it's not up there. Your initial Damage bonus value looked correct.
__________________
It's never too late to be something great.
Reply With Quote
  #9  
Old 04-23-2003, 06:06 AM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

Quote:
Originally Posted by Zukobim of Steel Warriors
Lets take the windblade at level 61 with max skill and max strength with AAs, which would be 260STR as far as I know.

Max damage without damage bonus (rounded down) = ((260 + 252 + 61)/100)*50 = 286

In order to get a max hit of 325 as stated above you would need a damage bonus of 325 - 286 = 39, which sounds about right.
Here is how we solve for max damage, I think. At least, it looks pretty neat.

So, to calculate DI:

First we find maxdamage:

maxdamage= ((STR + SKILL + LEVEL)/100)*weapondmg + DB

DI = (maxdamage - DB)/20

Using algebra, we solve equation 2 for maxdamage so that we can have two equations that equal maxdamage. We use substitution to figure out PC DI.

DI = (maxdamage - DB)/20
20DI = maxdamage - DB
maxdamage = 20DI + DB and
maxdamage = ((STR + SKILL + LEVEL)/100)*weapondmg + DB

Substitute one equation for maxdamage, because both equations equal the same thing.
20DI + DB = ((STR + SKILL + LEVEL)/100)*weapondmg + DB
20DI = ((STR + SKILL + LEVEL)/100) * weapondmg // (+ DB - DB) cancels out
so DI = ((STR + SKILL + LEVEL)/100) * weapondmg / 20

And finally!!
DI = ((STR+SKILL+LEVEL)*weapondmg) / 2000

We plug this in for vetoeq's example:

Let's assume maximum level, effective STR, and skill so that we find maximum damage. (okay, strength is WAY high, but I'll explain) For every 20 strength, you get another .01 * damage per DI in this example. That comes out to an overall addition of .2 * damage for 20 strength to the final equation, or .01 * damage per strength addition. I'm wondering if maybe we shouldn't cap strength.

DI = ((310 + 250 + 65)*41) / 2000 = 12.813
(maxdamage = 307.25) (damage bonus of 51)

DI = ((290 + 250 + 65)*41) / 2000 = 12.403
(maxdamage = 299.05) (damage bonus remains the same)

DI = ((270 + 250 + 65)*41) / 2000 = 11.993
(maxdamage = 290.85)

DI = ((250 + 250 + 65)*41) / 2000 = 11.583
(maxdamage = 282.65)

Let's assume a level 50 has several str, and several skill levels, with your rocksmasher.

DI = ((200 + 200 + 50)*41) / 2000 = 10.25
(maxdamage = 224.42) (damage bonus of 19.417)

DI = ((100 + 200 + 50)*41) / 2000 = 7.175
(maxdamage = 162.92) (damage bonus is same)

DI = ((80 + 200 + 50)*41) / 2000 = 6.765
(maxdamage = 154.72)

DI = ((250 + 15 + 50)*41) / 2000 = 1.435
(maxdamage = 52.217) (damage bonus at level 50 with this weapon remains the same) This is with 15 skill.

Okay, so rocksmasher works. Let's take a peak at a 1hb monk weapon.

Posting to ensure my research doesn't get lost :P Will update.
__________________
It's never too late to be something great.
Reply With Quote
  #10  
Old 04-23-2003, 06:48 AM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

Let's take a look at the poor wittle n00bs!

Using the same formulae for low levels and high levels gives us this:

Level 1!! YAYYYY!! We'll go through a 2 damage weapon (intense!!) with wuuuuussssy characters, and work our way up to the big Ogre Manmammoths

DB = 0 (they're noobs!!) Assuming there are circumstances where newbies have badass + damage bonus weapons, we can either cap their damage bonus or their overall damage. It would be smarter to cap their damage bonuses at (level-14)/4 or something like that. We will cap their overall damage at some point anyway.

Try to read the strength first, skill second, level third, and weapondamage as the multiplier
Okay, back to our DI equations:
DI = ((STR+SKILL+LEVEL)*weapondmg) / 2000

Level 1 and 2 WEAK casters
DI = ((65 + 0 + 1)*2 / 2000 = .066
( maxdamage = 1.32 )

DI = ((65 + 0 + 1)*3 / 2000 = .099
( maxdamage = 1.98 )

DI = ((65 + 0 + 1)*4 / 2000 = .132
( maxdamage = 2.64 )

DI = ((65 + 3 + 2)*2 / 2000 = .07
( maxdamage = 1.4 )

DI = ((65 + 3 + 2)*4 / 2000 = .14
( maxdamage = 2.8 )

Early level monks
DI = ((103 + 0 + 1)*2 / 2000 = .104
( maxdamage = 2.08 )

DI = ((103 + 20 + 3)*2 / 2000 = .126
( maxdamage = 2.52 )

(put some sticks in his hands)
DI = ((103 + 20 + 3)*6 / 2000 = .378
( maxdamage = 7.56 )

Early level Ogres
DI = ((153 + 0 + 1)*7 / 2000 = .539
( maxdamage = 10.78 )

Damage caps will exist to limit twinking. We should probably make damage caps a database check. Up to the devs :P
__________________
It's never too late to be something great.
Reply With Quote
  #11  
Old 04-23-2003, 09:08 AM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

Okay, I figured out how to get modals to happen the way they should.

Equation for melee combat (so far),

modalvalue = round((rand(0,1)*20*(ATK/AC))
if modalvalue < 1, modalvalue = 1
if modalvalue > 20, modalvalue = 20
DB + DI * modalvalue

That should give damage values along the modals, with peaks at (1-AC/ATK)*20. and minimum or maximum.

I haven't tested these yet.

I'll bring this all together into a sleek piece of logic that shouldn't be too hard to interpret into code by any programmer.
__________________
It's never too late to be something great.
Reply With Quote
  #12  
Old 04-23-2003, 12:01 PM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

http://pub14.ezboard.com/fthesteelwa...cID=3094.topic

Quote:
Originally Posted by Brutall of Steel Warriors
This test was down on a needlescale hatchling in plane of earth. The mob was never killed and used on all of the following tests. I used Kazaad, Faith, and ward of gallantry on all of the tests. I lowered my ac by removing equipment.

This mobs max hit is 517 min hit is 94

Test 1 1985 ac
average hit 207.38
percentage of hits for min damage 33.8
percentage of hits for max damage 2.99
Number of hits 586
accuracy 60.04 %

Test 2 1903 ac
average hit 209.62
percentage of hits for min damage 31.99
percentage of hits for max damage 3.18
Number of hits 597
accuracy 58.93%

Test 3 1899 ac
average hit 212.59
percentage of hits for min damage 31.45
percentage of hits for max damage 2.33
number of hits 601
accuracy 60.89

Test 4 1805 ac
average hit 223.43
percentage of hits for min damage 25.81
percentage of hits for max damage 3.43
number of hits 496
accuracy 62.16

Test 5 1706 ac
average hit 219.87
percentage of hits for min damage 32.25
percentage of hits for max damage 4.34
number of hits 645
accuracy 63.24

Test 6 1609 ac
average hit 218.06
percentage of hits for min damage 27.35
percentage of hits for max damage 3.86
number of hits 596
accuracy 59.69

Test 7 1502 AC
average hit 231.74
percentage of hits for min damage 26.00
percentage of hits for max damage 4.91
number of hits 550
accuracy 58.32

Test 8 2017ac (bard singing vov)
average hit 212.85
percentage of hits for min damage 33.97
percentage of hits for max damage 2.88
number of hits 521
accuracy 57.51

Test 9 1985 ac (controll test)
average hit 202.66
percentage of hits for min damage 35.96
percentage of hits for max damage 1.82
number of hits 495
accuracy 61.11

Test 10 2101 ac
average hit 201.33
percentage of hits for min 34.84
percentage of hits for max 1.05
total number of hits 287
accuracy 58.69
I don't know if you see the same pattern that I see here. The accuracy of the mob obviously has a random factor, but it stays VERY constant near 60% accuracy, even with a difference of 600AC! Now, before you call foul, notice as well that the tests only deal with removing ARMOR. This leads me to believe that armor-based AC acts only as damage mitigation. Where does the other AC come from? Whatever the base AC besides armor, changed the accuracy to around 60%.

Anyway, more to come. There is a lot of data on that link that I will continue to dissect.
__________________
It's never too late to be something great.
Reply With Quote
  #13  
Old 04-23-2003, 12:12 PM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

AGI/Defense, and other natural defenses should allow someone to evade attack. I hypothesize that I should be able to create an avoidance AC that gets added to mitigation AC to create total AC. Mitigation AC would decrease damage on one scale, while avoidance AC would decrease enemy accuracy on another scale. Has anyone heard this theory before, or can anyone offer me a link or raw data that may or may not support my theory?

Anyone can contribute any data, and it will be more helpful than what I know now.
__________________
It's never too late to be something great.
Reply With Quote
  #14  
Old 04-23-2003, 12:13 PM
killspree
Dragon
 
Join Date: Jun 2002
Posts: 776
Default

Players don't get a damage bonus on weapons until a certain level...I think it's 20, it's been a while since I leveled a melee though.
__________________
Xeldan
Lead Content Designer
Shards of Dalaya
Reply With Quote
  #15  
Old 04-23-2003, 12:17 PM
a_Guest03
Demi-God
 
Join Date: Jun 2002
Posts: 1,693
Default

Thank you for the contribution, killspree. So, if you have a weapon with stats:

40/54 with a damage bonus of 13

You really just have 40/54 weapon up until 20?
__________________
It's never too late to be something great.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:30 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3