Go Back   EQEmulator Home > EQEmulator Forums > Misc > Misc::Off Topic

Misc::Off Topic Want to talk about something that has nothing to do with EverQuest or the emulator? Post here.

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 07-16-2008, 01:47 AM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default more php help

im trying to get the players hp mana and ac

i think the calculations are all wrong becuase there not coming up the same in the game as they are on my website. i used code from the old magelo clone and the server scorce file client_mods.cpp

her is what im using.

Code:
function getACmod($agility, $level) {
    if ($agility >=1 && $agility <=74){
	if ($agility == 1)
	  return -24;
	else if ($agility >=2 && $agility <=3)
	  return -23;
	else if ($agility == 4)
	  return -22;
	else if ($agility >=5 && $agility <=6)
	  return -21;
	else if ($agility >=7 && $agility <=8)
	  return -20;
	else if ($agility == 9)
	  return -19;
	else if ($agility >=10 && $agility <=11)
	  return -18;
	else if ($agility == 12)
	  return -17;
	else if ($agility >=13 && $agility <=14)
	  return -16;
	else if ($agility >=15 && $agility <=16)
	  return -15;
	else if ($agility == 17)
	  return -14;
	else if ($agility >=18 && $agility <=19)
	  return -13;
	else if ($agility == 20)
	  return -12;
	else if ($agility >=21 && $agility <=22)
	  return -11;
	else if ($agility >=23 && $agility <=24)
	  return -10;
	else if ($agility == 25)
	  return -9;
	else if ($agility >=26 && $agility <=27)
	  return -8;
	else if ($agility == 28)
	  return -7;
	else if ($agility >=29 && $agility <=30)
	  return -6;
	else if ($agility >=31 && $agility <=32)
	  return -5;
	else if ($agility == 33)
	  return -4;
	else if ($agility >=34 && $agility <=35)
	  return -3;
	else if ($agility == 36)
	  return -2;
	else if ($agility >=37 && $agility <=38)
	  return -1;
	else if ($agility >=39 && $agility <=65)
	  return 0;
	else if ($agility >=66 && $agility <=70)
	  return 1;
	else if ($agility >=71 && $agility <=74)
	  return 5;
    }
    else {
	if ($agility == 75){
	    if ($level >= 1 && $level <= 6)
	      return 9;
	    else if ($level >= 7 && $level <= 19)
	      return 23;
	    else if ($level >= 20 && $level <= 39)
	      return 33;
	    else if ($level >= 40)
	      return 39;
	}
	else if ($agility >= 76 && $agility <= 79){
	    if ($level >= 1 && $level <= 6)
	      return 10;
	    else if ($level >= 7 && $level <= 19)
	      return 23;
	    else if ($level >= 20 && $level <= 39)
	      return 33;
	    else if ($level >= 40)
	      return 40;
	}
	else if ($agility == 80){
	    if ($level >= 1 && $level <= 6)
	      return 11;
	    else if ($level >= 7 && $level <= 19)
	      return 24;
	    else if ($level >= 20 && $level <= 39)
	      return 34;
	    else if ($level >= 40)
	      return 41;
	}
	else if ($agility >= 81 && $agility <= 85){
	    if ($level >= 1 && $level <= 6)
	      return 12;
	    else if ($level >= 7 && $level <= 19)
	      return 25;
	    else if ($level >= 20 && $level <= 39)
	      return 35;
	    else if ($level >= 40)
	      return 42;
	}
	else if ($agility >= 86 && $agility <= 90){
	    if ($level >= 1 && $level <= 6)
	      return 12;
	    else if ($level >= 7 && $level <= 19)
	      return 26;
	    else if ($level >= 20 && $level <= 39)
	      return 36;
	    else if ($level >= 40)
	      return 42;
	}
	else if ($agility >= 91 && $agility <= 95){
	    if ($level >= 1 && $level <= 6)
	      return 13;
	    else if ($level >= 7 && $level <= 19)
	      return 26;
	    else if ($level >= 20 && $level <= 39)
	      return 36;
	    else if ($level >= 40)
	      return 43;
	}
	else if ($agility >= 96 && $agility <= 99){
	    if ($level >= 1 && $level <= 6)
	      return 14;
	    else if ($level >= 7 && $level <= 19)
	      return 27;
	    else if ($level >= 20 && $level <= 39)
	      return 37;
	    else if ($level >= 40)
	      return 44;
	}
	else if ($agility == 100 && $level >= 7){
	    if ($level >= 7 && $level <= 19)
	      return 28;
	    else if ($level >= 20 && $level <= 39)
	      return 38;
	    else if ($level >= 40)
	      return 45;
	}
	else if ($level >= 1 && $level <= 6) {
	    return 15;
	}
	else if ($agility >= 101 && $agility <= 105){
	    if ($level >= 7 && $level <= 19)
	      return 29;
	    else if ($level >= 20 && $level <= 39)
	      return 39;// not verified
	    else if ($level >= 40)
	      return 45;
	}
	else if ($agility >= 106 && $agility <= 110){
	    if ($level >= 7 && $level <= 19)
	      return 29;
	    else if ($level >= 20 && $level <= 39)
	      return 39;// not verified
	    else if ($level >= 40)
	      return 46;
	}
	else if ($agility >= 111 && $agility <= 115){
	    if ($level >= 7 && $level <= 19)
	      return 30;
	    else if ($level >= 20 && $level <= 39)
	      return 40;// not verified
	    else if ($level >= 40)
	      return 47;
	}
	else if ($agility >= 116 && $agility <= 119){
	    if ($level >= 7 && $level <= 19)
	      return 31;
	    else if ($level >= 20 && $level <= 39)
	      return 41;
	    else if ($level >= 40)
	      return 47;
	}
	else if ($agility == 120 && $level >= 20){
	    if ($level >= 20 && $level <= 39)
	      return 42;
	    else if ($level >= 40)
	      return 48;
	}
	else if ($level >= 7 && $level <= 19) {
	    return 32;
	}
	else if ($agility >= 121 && $agility <= 125){
	    if ($level >= 20 && $level <= 39)
	      return 42;
	    else if ($level >= 40)
	      return 49;
	}
	else if ($agility >= 126 && $agility <= 135){
	    if ($level >= 20 && $level <= 39)
	      return 42;
	    else if ($level >= 40)
	      return 50;
	}
	else if ($agility >= 136){
	    if ($level >= 20 && $level <= 39)
	      return 42;
	    else if ($level >= 40)
	      return 51;
	}
    }
}

function getAC($class, $agility, $level, $defense, $itemAC) {
    $avoidance = 0;
    $avoidance = getACmod($agility, $level) + (($defense * 17) / 9);
    
    if($avoidance < 0) {
	$avoidance = 0;
    }
    
    $mitigation = 0;
    if($class == 'Wizard' || $class == 'Magician' || $class == 'Necromancer' || $class == 'Echanter') {
	$mitigation = ($defense / 3) + (($itemAC * 4) / 3);
    } else {
	$mitigation = ($defense / 2) + ($itemAC + 1);
	
    }
    
    return floor((($avoidance + $mitigation) * 1000) / 800);    
}
function LevelFactor($class, $level){
	$multiplier = 0;
	$mlevel=$level;
	switch($class)
	{
		case '1':{
			if ($mlevel < 20)
				$multiplier = 220;
			else if ($mlevel < 30)
				$multiplier = 230;
			else if ($mlevel < 40)
				$multiplier = 250;
			else if ($mlevel < 53)
				$multiplier = 270;
			else if ($mlevel < 57)
				$multiplier = 280;
			else if ($mlevel < 60)
				$multiplier = 290;
			else if ($mlevel < 70)
				$multiplier = 300;
			else 
				$multiplier = 311;
			break;
		}
		case '6':
		case '2':
		case '10':{
			if ($mlevel < 70)
				$multiplier = 150;
			else
				$multiplier = 157;
			break;
		}
		case '16':
		case '3':
		case '5':{
			if ($mlevel < 35)
				$multiplier = 210;
			else if ($mlevel < 45)
				$multiplier = 220;
			else if ($mlevel < 51)
				$multiplier = 230;
			else if ($mlevel < 56)
				$multiplier = 240;
			else if ($mlevel < 60)
				$multiplier = 250;
			else if ($mlevel < 68)
				$multiplier = 260;
			else
				$multiplier = 270;
			break;
		}
		case '7':
		case '8':
		case '9':
		case '15':{
			if ($mlevel < 51)
				$multiplier = 180;
			else if ($mlevel < 58)
				$multiplier = 190;
			else if ($mlevel < 70)
				$multiplier = 200;
			else
				$multiplier = 210;
			break;
		}
		case '4':{
			if ($mlevel < 58)
				$multiplier = 200;
			else if ($mlevel < 70)
				$multiplier = 210;
			else
				$multiplier = 220;
			break;
		}
		case '13':
		case '12':
		case '11':
		case '14':{
			if ($mlevel < 70)
				$multiplier = 120;
			else
				$multiplier = 127;
			break;
		}
		default:{
			if ($mlevel < 35)
				$multiplier = 210;
			else if ($mlevel < 45)
				$multiplier = 220;
			else if ($mlevel < 51)
				$multiplier = 230;
			else if ($mlevel < 56)
				$multiplier = 240;
			else if ($mlevel < 60)
				$multiplier = 250;
			else
				$multiplier = 260;
			break;
		}
	}
	return $multiplier;
}

	$lm=LevelFactor($class, $level);
	$Post255;
	if(($sta-255)/2 > 0){
		$Post255 = ($sta-255)/2;
	}else{
		$Post255 = 0;
		}
$hpcal = floor((5)+($level*$lm/10)) + floor(((($sta-Post255)*$level*$lm/3000)));		
$hp = MaxHP($hpcal, $itemHP);
$mana = $Profile["mana"];
$mana += $itemMP;

$ac = getAC($class, $agi, $level, $defense, $itemAC);
im also useing code from the wiki at wiki
Reply With Quote
 


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 09:17 AM.


 

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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3