|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Support::Windows Servers Support forum for Windows EQEMu users. |
07-26-2009, 08:21 AM
|
Hill Giant
|
|
Join Date: Apr 2008
Posts: 234
|
|
Experience Tables?
I was wondering what the Experience Tables were for EQ? Like D&D has XP tables (need 1,000 for level 1 ... 2,000 for level 2). It would really help with determining what kind of XP reward to give for quests.
Also...How is XP calculated for killing monsters? Is it based of their level?
- Djeryv
|
07-26-2009, 08:31 AM
|
Demi-God
|
|
Join Date: Apr 2008
Location: MA
Posts: 1,165
|
|
|
07-26-2009, 08:34 AM
|
Hill Giant
|
|
Join Date: Apr 2008
Posts: 234
|
|
Duh...I should have looked there. Now...does anyone know how it is calculated from a monster? Is it the monster's level that calculates the XP?
- Djeryv
|
07-26-2009, 05:27 PM
|
Hill Giant
|
|
Join Date: Apr 2008
Posts: 234
|
|
Is the damage they cause calculated at all?
|
07-26-2009, 06:03 PM
|
|
Discordant
|
|
Join Date: Mar 2009
Location: Ottawa
Posts: 495
|
|
I can't find where xp is calculated from mob kills right now, but dmg is in the npc_types table (mindmg and maxdmg).
|
07-26-2009, 07:26 PM
|
Hill Giant
|
|
Join Date: Apr 2008
Posts: 234
|
|
yeah...I see where the damage is located. I was just wondering...for the coders in the group...what is the XP calculated from? You get a certain XP from killing monsters...it is calculated somehow. Whatever method is used, is it the same as determining if a creature is red/yellow/white/blue to you?
- Djeryv
|
07-27-2009, 01:53 PM
|
Developer
|
|
Join Date: Mar 2007
Location: Ohio
Posts: 648
|
|
|
07-27-2009, 07:31 PM
|
Hill Giant
|
|
Join Date: Apr 2008
Posts: 234
|
|
Wow...I actually can make sense out of most of that. Thank you. I do have a question about that code though...
int conlevel = Mob::GetLevelCon(maxlevel, other->GetLevel());
...does this mean it is taking the monster's level and using it to calculate?
- Djeryv
|
07-28-2009, 06:48 PM
|
Sarnak
|
|
Join Date: May 2008
Location: Midwest
Posts: 72
|
|
Yeah, it's making a determination if it is green to you, or blue, or yellow, etc.
What's really confusing is how the xp packets are sent with the whole 330 ratio deal...
So the formula for xp is mobLevel^2 * 75 * 35 / 10. So for a 2nd level mob, you just got 1050 xp, which is enough in one shot to level you to 2nd level. Oddly, this seems necessary as anything less than 1000 xp at 2nd level gets you negative xp. Why? Because the way the xp packets are sent, it uses a 1 to 330 ratio.
the way the XP update packets are sent appears to be like:
((XP - currentLevelXP) / (nextLevelXP - currentLevelXP)) * 330
So for example, taking out a 2nd level orc at 1st level it would be:
(1050 - 0 / 1000 - 0) * 330 or 346
at 2nd level we would be at
(1050 - 1000 / 8000 - 1000) * 330 or 2
Needless to say, I'm confused on the way XP is sent in packets in the emulator. Probably missing something...
|
07-29-2009, 12:10 AM
|
Sarnak
|
|
Join Date: May 2008
Location: Midwest
Posts: 72
|
|
Check that, I realize now what I was missing. The xp sent in the packets is your entire xp amount, not what you've just gained. Ahh, so that's solved.
|
|
|
|
06-08-2010, 02:08 AM
|
Fire Beetle
|
|
Join Date: Nov 2009
Posts: 5
|
|
Quote:
Originally Posted by EvoZak
Yeah, it's making a determination if it is green to you, or blue, or yellow, etc.
What's really confusing is how the xp packets are sent with the whole 330 ratio deal...
So the formula for xp is mobLevel^2 * 75 * 35 / 10. So for a 2nd level mob, you just got 1050 xp, which is enough in one shot to level you to 2nd level. Oddly, this seems necessary as anything less than 1000 xp at 2nd level gets you negative xp. Why? Because the way the xp packets are sent, it uses a 1 to 330 ratio.
the way the XP update packets are sent appears to be like:
((XP - currentLevelXP) / (nextLevelXP - currentLevelXP)) * 330
So for example, taking out a 2nd level orc at 1st level it would be:
(1050 - 0 / 1000 - 0) * 330 or 346
at 2nd level we would be at
(1050 - 1000 / 8000 - 1000) * 330 or 2
Needless to say, I'm confused on the way XP is sent in packets in the emulator. Probably missing something...
|
This formula does not seem to match actual experience gains (not close enough to be mods) is this correct or am I missing something?
I have a much more classic feeling formula for level tables (no 800% increase in lower levels, which means blues can be worth killing) but I need a minor tweak to the actual base experience formula given by mobs, can't find it anywhere in exp.cpp (could only find mods)
|
|
|
|
06-08-2010, 05:33 AM
|
|
Demi-God
|
|
Join Date: May 2007
Location: b
Posts: 1,450
|
|
This is because it's in features.h, look for the define EXP_FORMULA and all references to it.
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 07:42 PM.
|
|
|
|
|
|
|
|
|
|
|
|
|