I apologize for the long delay. I had a really long term at school and decided to wait for winter break. Okay so my formal question involves, as the title suggests, the games damage calculations.
This is not where I found the information originally but the post is close to what I had found.
http://uoex.net/forum/viewtopic.php?f=1 ... dmg#p72858
Eless has some good points, mainly the webpages as that is where I originally went to find out more about the calculations.
Eless wrote:1. You can only add points up to the cap, so 20% to a weapon that has already 30% DI.
2. All stuff that you wear including your weapon.
3. Check this webpage:
http://www.uoguide.com/Damage_Calculations except that we don't have the 300% limit that they state (so another factors are your skills and your strength, and some spells like enemy of one).
4. Don't know
I just found this, but it might have been the answer to my question.
http://uoex.net/forum/viewtopic.php?f=25&t=6052#p36157
I have formulas that I am using so i will list them.... post this.... and then go test the link I just found. If I find that this works as I intend excel the discussion is over... if not :grins: this could be fun.

- The appearance of my current dmg calculation area
- appearance.PNG (36.01 KiB) Viewed 8051 times
I have the user put in their Tactics, Anatomy, Lumberjacking, Axe equipped, Weapon Low and Weapon high. Still a work in progress, my set up which allows for your current armor to be evaluated for your current stats has not been used for this all that much. This would remove the need for a few parameters, but at the same time there is a possibility that someone might want to check out a completely random weapon that they do not want to have to put in all the data for. This is just a base dmg calculation and as I say there is no spells, rpd, or monster consideration.
This is the formula that I am using in the current (incorrect) calculation.
Code: Select all
=IF((IF(L76>=100,L76/1.6+6.25,L76/1.6)+IF(N76>=100,N76/2+5,N76/2)+IF(P77>=100,P77/5+10, 0)+IF(R77>=100,R77*0.3+5,R77*0.3)+T77)>=400,400,(IF(L76>=100,L76/1.6+6.25,L76/1.6)+IF(N76>=100,N76/2+5,N76/2)+IF(P77>=100,P77/5+10, 0)+IF(R77>=100,R77*0.3+5,R77*0.3)+T77))
L76 is Tactics. N76 is Anatomy. P77 is the effective lumber jacking. R76 is the current strength and T76 is the current DI.
In normal C coding (I hear the shard is coded in C so I figured it would be easier to check) it would look something like this:
Code: Select all
#import <stdio.h>
int main() {
result = formula(tactics, anatomy, lumberjacking, currStr, currDI);
printf(%d, result);
return 0;
}
int formula(float tactics, float anatomy, float lumberjacking, int str, int DI) {
float result = 0;
if (tactics >= 100) {
result += tactics/1.6 + 6.25;
}
else {
result += tactics/1.6;
}
if (anatomy >= 100) {
result += anatomy/2 + 5;
}
else {
result += anatomy/2;
}
if (lumberjacking >= 100) {
result += lumberjacking/5 + 10;
}
if (str >= 100) {
result += ((float)str)*.3 + 5;
}
else {
result += ((float)str)*.3;
}
result += DI;
if (result > 400) {
result = 400;
}
return result;
}
One thing that I am the most curious about is if the max of 400 is in place here? I did some testing which you can see at the bottom right corner and those were the results for certain items with different base damages. Some of them looked to be over the 400% cap.
I guess I can also do some black box testing with a new character and then get the character up to various levels to see if the calculations are working right... that seems super tedious though.