View Full Version : Calculating hotzone experience?
Xaeyr
10-11-2015, 05:14 PM
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!
provocating
10-11-2015, 06:53 PM
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.
Xaeyr
10-11-2015, 07:40 PM
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.
provocating
10-11-2015, 08:01 PM
You have to at least zone, possibly reboot.
Shendare
10-11-2015, 08:31 PM
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.
Xaeyr
10-11-2015, 08:57 PM
Ah, hadn't even thought about using #npcstats. Thanks for the tip.
Cilraaz
10-11-2015, 10:00 PM
From zone/exp.cpp:
if(zone->IsHotzone())
{
totalmod += RuleR(Zone, HotZoneBonus);
}The full path of the exp modifiers is:
percentage of AA exp is removed from exp total
totalmod set to 1.0
totalmod multiplied by Character:ExpMultiplier (if greater than 0)
totalmod multiplied by 1.05 if Halfling
totalmod multiplied by 1.05 if Warrior or Rogue
(Above two only happen if Character:UseRaceClassExpBonuses is set to true)
totalmod ADDS in value from rule Zone:HotZoneBonus if zone is a hotzone (note, adds... the rest are multiplicative)
zemmod is calculated based on zone experience modifier
experience to be added is multiplied by zemmod and totalmod
If Character:UseXPConScaling is true, experience is modified according to conlevel
After this, leadership exp is considered and calculated
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
the rule Zone:LevelBasedEXPMods is considered
total AA experience is calculated, as is total regular experience
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.
Xaeyr
10-12-2015, 08:19 AM
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 :)
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.