View Full Version : Weirdness with Rev. 2492
KingMort
02-09-2013, 04:18 PM
Hi Devs,
I just put in Rev 2492 and I am having players de-level when killing mob's or dying.. what is going on with that? maybe I should reboot and do a repair on the database or what?
Morty
Zamthos
02-09-2013, 04:53 PM
Could it possibly be your level cap?
KingMort
02-09-2013, 07:17 PM
Level 100 ? Worked before
Zamthos
02-09-2013, 07:19 PM
Well, RoF isn't 100% compatible with everything, possibly and issue that may be addressed in future revisions.
Uleat
02-09-2013, 07:40 PM
Does this happen with all level ranges, certain ranges, or just above a particular level?
KingMort
02-09-2013, 08:32 PM
I am not sure there, will do further testing, just saying I've been at level 100 for a year or more never had this trouble..
KingMort
02-09-2013, 08:54 PM
This is weird, it seems , to have worked itself out for now anyway... Will keep you guys posted .
Secrets
02-10-2013, 12:33 AM
Your custom code modified the exp needed for each level.
You changed the formula, thus, there's different exp needed for each level now.
That is why people are de-leveling.
KingMort
02-10-2013, 11:11 AM
I don't have custom code in exp.cpp only bot.cpp and command.cpp
orionsun
02-10-2013, 11:47 AM
L2read
Index: zone/exp.cpp
================================================== =================
--- zone/exp.cpp (revision 2329)
+++ zone/exp.cpp (working copy)
@@ -427,40 +427,16 @@
int16 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;
- else if (check_level < 41)
- mod = 1.2;
- else if (check_level < 46)
- mod = 1.3;
- else if (check_level < 52)
- mod = 1.4;
- else if (check_level < 53)
- mod = 1.5;
- else if (check_level < 54)
- mod = 1.6;
- else if (check_level < 55)
- mod = 1.7;
- else if (check_level < 56)
- mod = 1.9;
- else if (check_level < 57)
- mod = 2.1;
- else if (check_level < 58)
- mod = 2.3;
- else if (check_level < 59)
- mod = 2.5;
- else if (check_level < 60)
- mod = 2.7;
- else if (check_level < 61)
- mod = 3.0;
+ else if (check_level < 100)
+ mod = 4.0;
else
- mod = 3.1;
+ mod = 5.0;
float base = (check_levelm1)*(check_levelm1)*(check_levelm1);
- mod *= 1000;
+ mod *= 200;
return(uint32(base * mod));
}
KingMort
02-10-2013, 01:51 PM
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..
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 < 58)
- 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));
}
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.