|  |  | 
 
  |  |  |  |  
  |  |  |  |  
  |  |  |  |  
  |  |  |  |  
  |  | 
	
		
   
   
      | Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum) |  
	
	
		
	
	
 
  |  |  |  |  
	| 
			
			 
			
				02-26-2005, 05:40 AM
			
			
			
		 |  
	| 
		
			|  | Hill Giant |  | 
					Join Date: May 2003 
						Posts: 176
					      |  |  
	| 
				 Bind Wound 
 Here is a fix for the Bind Wound skill caps. According to web sources bind wound should heal 0.25 * bind wound skill until bind wound skill = 200 (e.g. 50 hp when bind wound = 200) and 0.4 * bind wound skill when bind wound skill > 200 (e.g. 80 hp when bind wound = 201). 
 
 
Heres the raw data for the skill caps:
	Code: Skill,,BRD,CLR,DRU,ENC,MAG,MNK,NEC,PAL,RAN,ROG,SHA,SHD,WAR,WIZ,BST,BZR
Bind Wound,Level,1,1,1,1,1,1,1,10,15,1,1,1,5,1,1,1
Bind Wound,Cap 50,150,200,200,100,100,200,100,200,150,176,200,150,175,100,200,200
Bind Wound,Cap 65,200,201,200,100,100,210,100,210,200,210,200,200,210,100,210,210 
[font=Arial]
Source/zone/client.cpp: Line 1938 
	-->Code: if (GetSkill(BIND_WOUND) >= 10) {
	 bindhps += GetSkill(BIND_WOUND)*12/100;
}
 
if (bindhps > 30){
	 bindhps = 30;
} 
	Code: if (GetSkill(BIND_WOUND) >= 200) {
		bindhps += GetSkill(BIND_WOUND)*0.4;
}
else if (GetSkill(BIND_WOUND) >= 10) {
		bindhps += GetSkill(BIND_WOUND)*0.25;
} 
Source/zone/maxskill.h: Line 2075 
	-->Code: 	case BIND_WOUND:{
	 r_value = 5 + (level*5);
	 if (level > 50){
		// Check for aa and class
	 }
	 if (r_value > 200)
		r_value = 200;
	 switch (class_) {
		 case ENCHANTER: case ENCHANTERGM:
		 case MAGICIAN: case MAGICIANGM:
		 case NECROMANCER: case NECROMANCERGM:
		 case WIZARD: case WIZARDGM:{
			if ( r_value > 100 )
			 r_value = 100;
		 }
		default: break;
	 }
	 break;
	} 
	Code: 	case BIND_WOUND:{
	 switch(class_){
		case BARD: case BARDGM:{ 
		 r_value = ((level*5)+5);		 
		 if(level >= 50) {		 
			if(r_value > 210)
				r_value = 210; 
		 if(level < 50)
			if(r_value > 200)
				r_value = 200; 
		 break;
		 }
		break;
		}
		case CLERIC: case CLERICGM:{ 
		 r_value = ((level*5)+5);			
		 if(level >= 50) {		 
			if(r_value > 201)
				r_value = 201; 
		 if(level < 50)
			if(r_value > 200)
				r_value = 200; 
		 break;	 
		 }
		 break;
		}
 
		case DRUID: case DRUIDGM:
		case SHAMAN: case SHAMANGM:{
		 r_value = ((level*5) + 5);
		 if(r_value > 200)
			r_value = 200;			 
		 break;
		}	 
		case MAGICIAN: case MAGICIANGM:
		case ENCHANTER: case ENCHANTERGM:
		case NECROMANCER: case NECROMANCERGM:
		case WIZARD: case WIZARDGM:{
		r_value = ((level*5) + 5);
			if(r_value > 100)
			 r_value = 100;
		break;
		}
		case BEASTLORD: case BEASTLORDGM:
		case BERSERKER: case BERSERKERGM:
		case MONK: case MONKGM: { 
		 r_value = ((level*5)+5);			
		 if(level >= 50) {		 
			if(r_value > 210)
				r_value = 210; 
		 if(level < 50)
			if(r_value > 200)
				r_value = 200; 
		 break;	 
		 }
		 break;
		}
		case PALADIN: case PALADINGM: { 
		if (level > 10)
			r_value = (((level-10)*5)+5);			
			if(level >= 50) {		 
				if(r_value > 210)
					r_value = 210; 
			if(level < 50)
				if(r_value > 200)
					r_value = 200; 
			break;	 
			}
		 break;
		}
		case RANGER: case RANGERGM: { 
		 if (level > 15)
			r_value = (((level-15)*5)+5);			
			if(level >= 50) {		 
				if(r_value > 200)
					r_value = 200; 
			if(level < 50)
				if(r_value > 150)
					r_value = 150;					 
			break;
			}
		 break;
		}
 
		case ROGUE: case ROGUEGM: { 
		 r_value = ((level*5)+5);			
		 if(level >= 50) {		 
			if(r_value > 210)
				r_value = 210; 
		 if(level < 50)
			if(r_value > 176)
				r_value = 176; 
		 break;	 
		 }
		 break;
		}
		case SHADOWKNIGHT: case SHADOWKNIGHTGM: { 
		 r_value = ((level*5)+5);			
		 if(level >= 50)		
			if(r_value > 200)
				r_value = 200; 
		 if(level < 50)
			if(r_value > 150)
				r_value = 150; 
		 break;	 
		}
		case WARRIOR: case WARRIORGM: { 
		 if (level > 5)
			r_value = (((level-5)*5)+5);			 
			if(level >= 50) {		 
				if(r_value > 210)
					r_value = 210; 
			if(level < 50)
				if(r_value > 175)
					r_value = 175;					 
			break;
			}
		break;
		}
 
		default: r_value = 0;
		break;
	 }
	break;
	}
	case SENSE_HEADING:
	case SWIMMING:
	case ALCOHOL_TOLERANCE:
	case BEGGING:{
	 r_value = 5 + (level*5);
	 if (r_value > 200)
		r_value = 200;
	 break;
	}
[font=Arial] [font=Arial](Also, I am 99% sure that all classes can bind wound up to 70% from level one nowdays, but I am not positive so I haven 			 Last edited by mollymillions; 02-26-2005 at 10:44 PM..
 |  
 
  |  |  |  |  
	
		
	
	
 
  |  |  |  |  
	| 
			
			 
			
				02-27-2005, 11:59 AM
			
			
			
		 |  
	| 
		
			
			| Developer |  | 
					Join Date: Jul 2004 
						Posts: 773
					      |  |  
	| 
				  
 good work. I stuck this in my code, it'll get in eventually... I just synced up yesterday, so it will prolly be a while. 
also, I noticed a flaw in your conditionals:
 
	Code: 		case BARD: case BARDGM:{ 
		 r_value = ((level*5)+5);		 
		 if(level >= 50) {		 
			if(r_value > 210)
				r_value = 210; 
		 if(level < 50)
			if(r_value > 200)
				r_value = 200; 
		 break;
		 }
		break;
		} has a spare {} floating around which alters the logic, it should be:
 
	Code: 		case BARD: case BARDGM:{
		 r_value = ((level*5)+5);
		 if(level >= 50) {
			if(r_value > 210)
				r_value = 210;
		 } else {
			if(r_value > 200)
				r_value = 200;
		 }
		 break;
		} 
resulting in:
 
	Code: case BIND_WOUND:{
	 switch(class_){
		case BARD: case BARDGM:{
		 r_value = ((level*5)+5);
		 if(level >= 50) {
			if(r_value > 210)
				r_value = 210;
		 } else {
			if(r_value > 200)
				r_value = 200;
		 }
		 break;
		}
		case CLERIC: case CLERICGM:{ 
		 r_value = ((level*5)+5);			
		 if(level >= 50) {
			if(r_value > 201)
				r_value = 201; 
		 } else {
			if(r_value > 200)
				r_value = 200;
		 }
		 break;
		}
 
		case DRUID: case DRUIDGM:
		case SHAMAN: case SHAMANGM:{
		 r_value = ((level*5) + 5);
		 if(r_value > 200)
			r_value = 200;			 
		 break;
		}	 
		case MAGICIAN: case MAGICIANGM:
		case ENCHANTER: case ENCHANTERGM:
		case NECROMANCER: case NECROMANCERGM:
		case WIZARD: case WIZARDGM:{
		  r_value = ((level*5) + 5);
		  if(r_value > 100)
			 r_value = 100;
		break;
		}
		case BEASTLORD: case BEASTLORDGM:
		case BERSERKER: case BERSERKERGM:
		case MONK: case MONKGM: { 
		 r_value = ((level*5)+5);			
		 if(level >= 50) {
			if(r_value > 210)
				r_value = 210; 
		 } else {
			if(r_value > 200)
				r_value = 200;
		 }
		 break;
		}
		case PALADIN: case PALADINGM: { 
		  if (level > 10) {
			r_value = (((level-10)*5)+5);			
			if(level >= 50) {
				if(r_value > 210)
					r_value = 210; 
			} else {
				if(r_value > 200)
					r_value = 200;
			}
		  }
		  break;
		}
		case RANGER: case RANGERGM: { 
		  if (level > 15) {
			r_value = (((level-15)*5)+5);			
			if(level >= 50) {
				if(r_value > 200)
					r_value = 200; 
			} else {
				if(r_value > 150)
					r_value = 150;
			}
		  }
		  break;
		}
 
		case ROGUE: case ROGUEGM: { 
		 r_value = ((level*5)+5);			
		 if(level >= 50) {
			if(r_value > 210)
				r_value = 210; 
		 } else {
			if(r_value > 176)
				r_value = 176;
		 }
		 break;
		}
		case SHADOWKNIGHT: case SHADOWKNIGHTGM: { 
		 r_value = ((level*5)+5);			
		 if(level >= 50) {		
			if(r_value > 200)
				r_value = 200; 
		 } else {
			if(r_value > 150)
				r_value = 150;
		 }
		 break;
		}
		case WARRIOR: case WARRIORGM: { 
		 if (level > 5) {
			r_value = (((level-5)*5)+5);			 
			if(level >= 50) {
				if(r_value > 210)
					r_value = 210; 
			} else {
				if(r_value > 175)
					r_value = 175;
			}
		 }
		 break;
		}
 
		default: r_value = 0;
		break;
	 }
	break;
	}
			
			
			
			
				  |  
 
  |  |  |  |  
	
		
	
	
	| 
			
			 
			
				02-27-2005, 02:34 PM
			
			
			
		 |  
	| 
		
			|  | Hill Giant |  | 
					Join Date: May 2003 
						Posts: 176
					      |  |  
	| 
 Also 
 if (GetSkill(BIND_WOUND) >= 200) {
 
 
 should be
 
 if (GetSkill(BIND_WOUND) > 200) {
 |  
	
		
	
	
	
	
	| 
	|  Posting Rules |  
	| 
		
		You may not post new threads You may not post replies You may not post attachments You may not edit your posts 
 HTML code is Off 
 |  |  |  All times are GMT -4. The time now is 04:02 AM.
 
 |  |  
    |  |  |  |  
    |  |  |  |  
     |  |  |  |  
 |  |