mollymillions
02-26-2005, 05:40 AM
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:
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
Source/zone/client.cpp: Line 1938
if (GetSkill(BIND_WOUND) >= 10) {
bindhps += GetSkill(BIND_WOUND)*12/100;
}
if (bindhps > 30){
bindhps = 30;
}
-->
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
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;
}
-->
[font=Verdana] 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
Heres the raw data for the skill caps:
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
Source/zone/client.cpp: Line 1938
if (GetSkill(BIND_WOUND) >= 10) {
bindhps += GetSkill(BIND_WOUND)*12/100;
}
if (bindhps > 30){
bindhps = 30;
}
-->
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
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;
}
-->
[font=Verdana] 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