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 |
|
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 |
Is the damage they cause calculated at all?
|
I can't find where xp is calculated from mob kills right now, but dmg is in the npc_types table (mindmg and maxdmg).
|
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 |
Check out zone/exp.cpp.
|
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 |
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... |
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.
|
Quote:
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) |
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.