Fix Drakkin base resists and some missing class bonuses

This commit is contained in:
Michael Cook (mackal) 2016-01-15 16:09:23 -05:00
parent e161805bc9
commit f33f3bd4f5

View File

@ -1633,13 +1633,19 @@ int32 Client::CalcMR()
MR = 30; MR = 30;
break; break;
case DRAKKIN: case DRAKKIN:
MR = 35; {
MR = 25;
if (GetDrakkinHeritage() == 2)
MR += 10;
else if (GetDrakkinHeritage() == 5)
MR += 2;
break; break;
}
default: default:
MR = 20; MR = 20;
} }
MR += itembonuses.MR + spellbonuses.MR + aabonuses.MR; MR += itembonuses.MR + spellbonuses.MR + aabonuses.MR;
if (GetClass() == WARRIOR) { if (GetClass() == WARRIOR || GetClass() == BERSERKER) {
MR += GetLevel() / 2; MR += GetLevel() / 2;
} }
if (MR < 1) { if (MR < 1) {
@ -1701,8 +1707,14 @@ int32 Client::CalcFR()
FR = 25; FR = 25;
break; break;
case DRAKKIN: case DRAKKIN:
{
FR = 25; FR = 25;
if (GetDrakkinHeritage() == 0)
FR += 10;
else if (GetDrakkinHeritage() == 5)
FR += 2;
break; break;
}
default: default:
FR = 20; FR = 20;
} }
@ -1714,6 +1726,13 @@ int32 Client::CalcFR()
FR += l - 49; FR += l - 49;
} }
} }
if (c == MONK) {
FR += 8;
int l = GetLevel();
if (l > 49) {
FR += l - 49;
}
}
FR += itembonuses.FR + spellbonuses.FR + aabonuses.FR; FR += itembonuses.FR + spellbonuses.FR + aabonuses.FR;
if (FR < 1) { if (FR < 1) {
FR = 1; FR = 1;
@ -1774,12 +1793,24 @@ int32 Client::CalcDR()
DR = 15; DR = 15;
break; break;
case DRAKKIN: case DRAKKIN:
{
DR = 15; DR = 15;
if (GetDrakkinHeritage() == 1)
DR += 10;
else if (GetDrakkinHeritage() == 5)
DR += 2;
break; break;
}
default: default:
DR = 15; DR = 15;
} }
int c = GetClass(); int c = GetClass();
// the monk one is part of base resist
if (c == MONK) {
int l = GetLevel();
if (l > 50)
DR += l - 50;
}
if (c == PALADIN) { if (c == PALADIN) {
DR += 8; DR += 8;
int l = GetLevel(); int l = GetLevel();
@ -1787,7 +1818,7 @@ int32 Client::CalcDR()
DR += l - 49; DR += l - 49;
} }
} }
else if (c == SHADOWKNIGHT) { else if (c == SHADOWKNIGHT || c == BEASTLORD) {
DR += 4; DR += 4;
int l = GetLevel(); int l = GetLevel();
if (l > 49) { if (l > 49) {
@ -1854,12 +1885,24 @@ int32 Client::CalcPR()
PR = 30; PR = 30;
break; break;
case DRAKKIN: case DRAKKIN:
{
PR = 15; PR = 15;
if (GetDrakkinHeritage() == 3)
PR += 10;
else if (GetDrakkinHeritage() == 5)
PR += 2;
break; break;
}
default: default:
PR = 15; PR = 15;
} }
int c = GetClass(); int c = GetClass();
// this monk bonus is part of the base
if (c == MONK) {
int l = GetLevel();
if (l > 50)
PR += l = 50;
}
if (c == ROGUE) { if (c == ROGUE) {
PR += 8; PR += 8;
int l = GetLevel(); int l = GetLevel();
@ -1934,13 +1977,19 @@ int32 Client::CalcCR()
CR = 25; CR = 25;
break; break;
case DRAKKIN: case DRAKKIN:
{
CR = 25; CR = 25;
if (GetDrakkinHeritage() == 4)
CR += 10;
else if (GetDrakkinHeritage() == 5)
CR += 2;
break; break;
}
default: default:
CR = 25; CR = 25;
} }
int c = GetClass(); int c = GetClass();
if (c == RANGER) { if (c == RANGER || c == BEASTLORD) {
CR += 4; CR += 4;
int l = GetLevel(); int l = GetLevel();
if (l > 49) { if (l > 49) {