| 
   | 
   | 
  
 
    | 
    | 
    | 
  
 
    | 
   | 
    | 
  
 
    | 
   | 
    | 
  
 
    | 
   | 
    | 
  
 
   | 
  
	
		
   
   
      | 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 05:02 AM. 
 
		 
	 
 
 
     | 
     | 
    
   
      | 
     | 
      | 
    
   
     | 
      | 
     | 
    
   
       | 
      | 
       | 
     
    
    
  | 
   |