New XP fomular, confirmed for 50+ blue v1.01
1. I could get exact regular(lvl) xp value, just on second of zoning - include relogin - it will be displayed for while. (and return to X/330 value after zone done.)
2. exact AA xp come up on every zone, include relogin.
almost data was gathered with 100% AA xp, after I got fomular for AA.
3. I was working on xp of light blue con, not so much data on it coz it don't help xping so much. ;)
so this is exact for blue con mob now.
4. It was some hard to me to get white-yellow-red mob as solo, (it can be calculated as party xp, but I didn't try yet too) so 60~70 high-end mob area is not confirmed too.
5. party xp fomular is almost done, with 0.001% error. It could be caused by place of (int) to cut down modifier, just incorrect like 1~4 raw xp point.
6. I couldn't find any class modifier of mob, though I didn't test on hybride type.
7. ZEM is calculated on 60+ popular zone. '50' means it NEED new value. Post them please after you calculate.
8. any correction welcome, first time to post here.
and sorry for poor coding. :)
summary:
codes in PHP, run on ur own server to test please.
(or can ratt put this somewhere?)
XP = level_of_mob^2 * ZEM * Level_Modifier * Party_Modifier
AAXP = 80% of XP, (was on two class of my char - wis based both)
ZEM = 75 : regular field
85 : regular dungeon
100 : GOOD xp zone, like hole
145 : PoP Tier 1 zone!!
Level_Modifier = (260 - 13*(level - mob_level))/100
Party_Modifier = mylevel+5 / (Total_Party_Level + 5*party_number) * group_bonus
group_bonus = 1, 1.02, 1.06, 1.1, 1.14, 1.2 - for each party num
xpcalc.php
PHP Code:
<?
$X="<TD>x</TD>";
$eq="<TD>=</TD>";
$partybonus = array(0, 1, 1.02, 1.06, 1.1, 1.14, 1.2);
$allzem = array(
None => 1,
Acrylia => 50 ,
AirPlane => 50 ,
Akanon => 50 ,
Akheva => 85 ,
Arena => 50 ,
Bazaar => 50 ,
Befallen => 50 ,
Beholder => 50 ,
Blackburrow => 50 ,
Bothunder => 50 ,
BurningWood => 50 ,
Butcher => 50 ,
Cabeast => 50 ,
Cabwest => 50 ,
Cauldron => 50 ,
CazicThule => 50 ,
Charasis => 50 ,
Chardok => 50 ,
CityMist => 50 ,
CobaltScar => 75 ,
Codecay => 50 ,
Commons => 50 ,
Crushbone => 50 ,
Crystal => 50 ,
CSHome => 50 ,
Dalnir => 50 ,
Dalnir => 50 ,
Dawnshroud => 50 ,
Dreadlands => 50 ,
Droga => 50 ,
EastKarana => 50 ,
EastWastes => 75 ,
Echoc => 50 ,
Ecommons => 50 ,
EmeraldJungle => 50 ,
ErudnExt => 50 ,
ErudnInt => 50 ,
ErudsXing => 50 ,
Everfrost => 50 ,
FearPlane => 50 ,
Feerrott => 50 ,
FelwitheA => 50 ,
FelwitheB => 50 ,
FieldOfBone => 50 ,
Firiona => 50 ,
FreportE => 50 ,
FreportN => 50 ,
FreportW => 50 ,
FrontierMtns => 50 ,
FrozenShadow => 50 ,
Fungusgrove => 75 ,
Gfaydark => 50 ,
Greatdivide => 75 ,
Griegsend => 50 ,
Grimling => 50 ,
Grobb => 50 ,
Growthplane => 50 ,
GukBottom => 50 ,
GukTop => 50 ,
Halas => 50 ,
HatePlane => 50 ,
Highkeep => 50 ,
Highpass => 50 ,
Hohonora => 50 ,
Hohonorb => 50 ,
Hole => 100 ,
Hollowshade => 50 ,
Iceclad => 50 ,
Innothule => 50 ,
Jaggedpine => 50 ,
Kael => 50 ,
Kaesora => 50 ,
KaladimA => 50 ,
KaladimB => 50 ,
Karnor => 50 ,
Katta => 50 ,
Kedge => 50 ,
KerraRidge => 50 ,
kerraridge2 => 50 ,
Kithicor => 50 ,
Kurn => 50 ,
LakeofIllOmen => 50 ,
LakeRathe => 50 ,
Lavastorm => 50 ,
Letalis => 50 ,
Lfaydark => 50 ,
Maiden => 75 ,
MischiefMaze => 50 ,
Mischiefplane => 50 ,
Mistmoore => 50 ,
Misty => 50 ,
Mseru => 50 ,
Najena => 50 ,
Necropolis => 50 ,
Nektulos => 50 ,
NeriakA => 50 ,
NeriakB => 50 ,
NeriakC => 50 ,
Netherbian => 50 ,
Nexus => 50 ,
Nightmareb => 50 ,
NorthKarana => 50 ,
Nro => 50 ,
Nurga => 50 ,
Oasis => 50 ,
Oggok => 50 ,
OOT => 50 ,
Overthere => 50 ,
Paineel => 50 ,
Paludal => 50 ,
Paw => 50 ,
Permafrost => 50 ,
PermafrostPits => 50 ,
Poair => 50 ,
Podisease => 145 ,
Pofire => 50 ,
Poinnovation => 145 ,
Pojustice => 145 ,
Poknowledge => 50 ,
Ponightmare => 145 ,
Postorms => 50 ,
Potactics => 50 ,
Potorment => 50 ,
Potranquility => 50 ,
Povalor => 145 ,
Powar => 50 ,
Powater => 50 ,
Qcat => 50 ,
Qey2HH1 => 50 ,
Qeynos => 50 ,
Qeynos2 => 50 ,
Qeytoqrg => 50 ,
QRG => 50 ,
Rathemtn => 50 ,
Rivervale => 50 ,
Runnyeye => 50 ,
Scarlet => 50 ,
Sebilis => 85 ,
Shadeweaver => 50 ,
Shadowhaven => 50 ,
SharVahl => 50 ,
Sirens => 50 ,
Skyfire => 50 ,
Skyshrine => 50 ,
Skyshrine2 => 50 ,
Skyshrine3 => 50 ,
Skyshrine_Lower => 50 ,
Skyshrine_Upper => 50 ,
Sleeper => 50 ,
SoldungA => 50 ,
SoldungB => 50 ,
Solrotower => 50 ,
SolTemple => 50 ,
SouthKarana => 50 ,
Sro => 50 ,
Sseru => 50 ,
Ssratemple => 100 ,
Steamfont => 50 ,
Stonebrunt => 50 ,
Swampofnohope => 50 ,
TempleRo => 50 ,
Templeveeshan => 50 ,
Tenebrous => 50 ,
TheDeep => 85 ,
Thegrey => 50 ,
Thurgadina => 50 ,
Thurgadina1 => 50 ,
Thurgadinb => 50 ,
Timorous => 50 ,
Tox => 50 ,
Trakanon => 50 ,
Twilight => 50 ,
Umbral => 90 ,
Unrest => 50 ,
Veeshan => 50 ,
Velketor => 85 ,
Vexthal => 50 ,
Wakening => 75 ,
Warrens => 50 ,
WarsliksWood => 50 ,
Westwastes => 50 ,
);
?>
<HTML>
<HEAD>
<TITLE>Everquest XP calculator</TITLE>
<STYLE TYPE="text/css">
<!--
TD,TH,TR {
text-align: center;
background-color: white;
}
-->
</STYLE>
</HEAD>
<BODY>
<form name=prefix method=post>
<table>
<!--<TR><TD>Class modify:</TD><TD>
<input size=4 name=classm value=<?echo $classm?$classm:1?>></TD></TR>-->
<TR><TD>Zone Experience Modifier:</TD><TD>
<select name=zone>
<?
foreach( $allzem as $key => $value ) {
if($value==50) continue;
echo "<option value=$key";
if($zone==$key) echo " selected";
echo ">$key ($value)</option>\n";
}
?>
</TD></TR>
<TR><TD>Current Level:</TD><TD>
<input size=4 name=party[0] value=<?echo $party[0]?$party[0]:60?>></TD></TR>
<TR><TD>Party with:</TD><TD>
<? for($i=1; $i<6; $i++)
echo "<input size=4 name=party[$i] value=".($party[$i]?$party[$i]:0).">";
?>
</TD></TR>
</table>
<input type=submit value="Guess!">
</form>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR><TD>
<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=3 BGCOLOR=black>
<TR><TD>Level<sup>2</sup></TD><TD></TD><TD>ZEM</TD><TD></TD>
<TD>LevelMod</TD><TD></TD>
<TD>PartyMod</TD><TD></TD>
<TD>Level XP gain</TD><TD>AA XP gain</TD></TR>
<?
for($i=0; $i<6; $i++) if($party[$i]>0) {
$partynum++;
$partytotal+=$party[$i];
}
$partym=(int)($party[0]+5)/($partytotal+5*$partynum)*$partybonus[$partynum];
for ($i=43; $i <= 70; $i++) {
$levelm=($i >= $party[0]-5)?(260-13*($party[0]-$i))/100:1.0;
$zem=$allzem[$zone];
echo "<TR><TD>$i<sup>2</sup>$X</TD>\n";
echo "<TD>$zem$X</TD>";
//echo "<TD>$classm$X</TD>";
echo "<TD>$levelm$X</TD>";
echo "<TD>$party[0]+5/($partytotal+5*$partynum)*$partybonus[$partynum]$eq</TD>";
echo "<TD>".$xp=(int)($i*$i*$zem*$levelm*$partym)."</TD>";
echo "<TD>".$xp/1.25."</TD>";
echo "</TR>";
}
?>
</table>
</tr></td></table>
</BODY>
</HTML>
[Edit log..]
v1.03
* fixed level_modifier fomular on description, thx suseuser
v1.02
* PoV ZEM added, it's 145 like other PoP zone.
v1.01
* cut line for better look
* edited mis-displayed group mod fomular
v1.00
* initial release
Great work, but disturbing....
Thanks for the great work! The results are disturbing thought. I'm concerned that unlike other expansions, over time more and more people will go to the PoP zones for the exp, and we'll always be stuck with over-crowded zones. Who would go hunt in any "non-planar" zone if there was no planar exp-bonus to be had? Why go back to grinding levels anywhere but PoD, PoN, PoJ and PoI?
Hmmm.