EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Experience Tables? (https://www.eqemulator.org/forums/showthread.php?t=29021)

djeryv 07-26-2009 08:21 AM

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

demonstar55 07-26-2009 08:31 AM

http://www.eqemulator.net/wiki/wikka...kka=ExpByLevel

djeryv 07-26-2009 08:34 AM

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

djeryv 07-26-2009 05:27 PM

Is the damage they cause calculated at all?

pfyon 07-26-2009 06:03 PM

I can't find where xp is calculated from mob kills right now, but dmg is in the npc_types table (mindmg and maxdmg).

djeryv 07-26-2009 07:26 PM

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

AndMetal 07-27-2009 01:53 PM

Check out zone/exp.cpp.

djeryv 07-27-2009 07:31 PM

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

EvoZak 07-28-2009 06:48 PM

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...

EvoZak 07-29-2009 12:10 AM

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.

Allizia 06-08-2010 02:08 AM

Quote:

Originally Posted by EvoZak (Post 175421)
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)

Secrets 06-08-2010 05:33 AM

This is because it's in features.h, look for the define EXP_FORMULA and all references to it.


All times are GMT -4. The time now is 08:36 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.