Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 10-11-2015, 05:14 PM
Xaeyr
Sarnak
 
Join Date: Oct 2014
Posts: 45
Default Calculating hotzone experience?

Hi all. I've been trying to figure out how the hotzone bonus experience is calculated but haven't had any luck. For example, if you have a zone that has a 1.00 exp modifier and you want to change the hotzone bonus so that players get double experience in those zones, what would be rule value be set to? Is there a formula that I could use to figure about what to set it to for double experience, triple experience, etc based on the zone's modifier?

Thanks!
Reply With Quote
  #2  
Old 10-11-2015, 06:53 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

One sure fire way is to activate logging and then kill, check exp, adjust again.

I think that is under general logging. To get a list of all the logs do a #logs set

Once logging is enabled just kill some and check what you are getting per kill.
Reply With Quote
  #3  
Old 10-11-2015, 07:40 PM
Xaeyr
Sarnak
 
Join Date: Oct 2014
Posts: 45
Default

Well, I tried looking at my character data at the experience and it wasn't making sense. The zone exp mod is set to 1.00. With no hotzone exp I gained 852 exp for the death of a yellow mob. So I set the hotzone value to 1.00 and gained 2165 exp for the death of another of the same yellow mob. So I'm still not really sure how the hotzone value adds to the zone exp mod.
Reply With Quote
  #4  
Old 10-11-2015, 08:01 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

You have to at least zone, possibly reboot.
Reply With Quote
  #5  
Old 10-11-2015, 08:31 PM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

Two NPCs can both con yellow to you while being different levels, too. #npcstats will give you server admin data on the targeted NPC, so you can confirm they're the same level when comparing the xp reward.
Reply With Quote
  #6  
Old 10-11-2015, 08:57 PM
Xaeyr
Sarnak
 
Join Date: Oct 2014
Posts: 45
Default

Ah, hadn't even thought about using #npcstats. Thanks for the tip.
Reply With Quote
  #7  
Old 10-11-2015, 10:00 PM
Cilraaz
Sarnak
 
Join Date: Mar 2010
Posts: 77
Default

From zone/exp.cpp:
Code:
if(zone->IsHotzone())
{
        totalmod += RuleR(Zone, HotZoneBonus);
}
The full path of the exp modifiers is:
  1. percentage of AA exp is removed from exp total
  2. totalmod set to 1.0
  3. totalmod multiplied by Character:ExpMultiplier (if greater than 0)
  4. totalmod multiplied by 1.05 if Halfling
  5. totalmod multiplied by 1.05 if Warrior or Rogue
  6. (Above two only happen if Character:UseRaceClassExpBonuses is set to true)
  7. totalmod ADDS in value from rule Zone:HotZoneBonus if zone is a hotzone (note, adds... the rest are multiplicative)
  8. zemmod is calculated based on zone experience modifier
  9. experience to be added is multiplied by zemmod and totalmod
  10. If Character:UseXPConScaling is true, experience is modified according to conlevel
  11. After this, leadership exp is considered and calculated
  12. it appears the code then again gives the Halfling/Warrior/Rogue bonuses for some reason -- Never mind. I was too tired to notice this was the AA exp racial mod
  13. the rule Zone:LevelBasedEXPMods is considered
  14. total AA experience is calculated, as is total regular experience
  15. experience and AA experience are then added to the character's total

So, just in regards to Hotzone modifiers, it's added raw to an amount multiplied by the experience granted by the mob. So 1.0 for Hotzone modifier would essentially add again whatever the initial, raw experience amount is from the mob kill.

I'm extremely tired, so I'm not sure if what I'm saying makes sense.

For example, the raw exp from a mob is 100. The totalmod is set to 1.0 by default. Let's assume the ZEM is 1.0 (just so it doesn't modify anything). With a non-Halfling/Warrior/Rogue, no AA enabled, and no Character:ExpMultiplier set, your experience is (100 * 1.0 * 1.0) or 100. Now, if you were in a Hotzone with the Hotzone mod of 1.0, then totalmod is the base 1.0 plus 1.0 from the Hotzone mod, making it (100 * 2.0 * 1.0) or 200.

Can someone else who's good with code take a look at the whole "double bonus" thing? I'm not sure if I'm missing something while exhausted, but within the AddEXP function (line 186-195) the bonus is added. Then it seems to be added again after leadership exp and the AA modifier, at lines 304-313. -- Never mind! That's adding the race/class bonus to AA. I knew I was too tired.
Reply With Quote
  #8  
Old 10-12-2015, 08:19 AM
Xaeyr
Sarnak
 
Join Date: Oct 2014
Posts: 45
Default

Quote:
I'm extremely tired, so I'm not sure if what I'm saying makes sense.
Yes, this makes sense. Thanks for being so detailed. This helps a lot
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:58 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3