Well I had taken that out actually because I saw that Eqemu supported up to level 127. I had to put something similar back in to fix the issue I guess my database is reliant on that code . Which sucks but not sure how I would globally fix chars then not use that code.. Here is the code I had to put in, if I had known that the original code would have screwed up my database I wouldn't have used it. Would appreciate any assistance to repair my database and use the STOCK code. Back when we had the above code written there was no such thing as chars over 87..
Quote:
Index: zone/exp.cpp
================================================== =================
--- zone/exp.cpp (revision 2492)
+++ zone/exp.cpp (working copy)
@@ -442,40 +442,42 @@
uint16 check_levelm1 = check_level-1;
float mod;
- if (check_level < 31)
+ if (check_level < 87)
mod = 1.0;
else if (check_level < 36)
- mod = 1.1;
+ mod = 1.0;
else if (check_level < 41)
- mod = 1.2;
+ mod = 1.0;
else if (check_level < 46)
- mod = 1.3;
+ mod = 1.0;
else if (check_level < 52)
- mod = 1.4;
+ mod = 1.0;
else if (check_level < 53)
- mod = 1.5;
+ mod = 1.0;
else if (check_level < 54)
- mod = 1.6;
+ mod = 1.0;
else if (check_level < 55)
- mod = 1.7;
+ mod = 1.0;
else if (check_level < 56)
- mod = 1.9;
+ mod = 1.0;
else if (check_level < 57)
- mod = 2.1;
+ mod = 1.0;
else if (check_level < 5
- mod = 2.3;
+ mod = 1.0;
else if (check_level < 59)
- mod = 2.5;
+ mod = 1.0;
else if (check_level < 60)
- mod = 2.7;
+ mod = 1.0;
else if (check_level < 61)
- mod = 3.0;
+ mod = 1.0;
+ else if (check_level < 100)
+ mod = 2.2;
else
- mod = 3.1;
+ mod = 2.5;
float base = (check_levelm1)*(check_levelm1)*(check_levelm1);
- mod *= 1000;
+ mod *= 200;
return(uint32(base * mod));
}
|