diff --git a/Source/player.cpp b/Source/player.cpp index 769b86c49..57356e1a8 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -729,7 +729,6 @@ int CalcStatDiff(int pnum) void NextPlrLevel(int pnum) { - char l, c; int hp, mana; if ((DWORD)pnum >= MAX_PLRS) { @@ -737,21 +736,21 @@ void NextPlrLevel(int pnum) } plr[pnum]._pLevel++; - l = plr[pnum]._pLevel; - plr[pnum]._pMaxLvl++; +#ifdef HELLFIRE + CalcPlrInv(pnum, TRUE); +#endif + if (CalcStatDiff(pnum) < 5) { plr[pnum]._pStatPts = CalcStatDiff(pnum); } else { plr[pnum]._pStatPts += 5; } - plr[pnum]._pNextExper = ExpLvlsTbl[l]; - - c = plr[pnum]._pClass; + plr[pnum]._pNextExper = ExpLvlsTbl[plr[pnum]._pLevel]; - hp = c == PC_SORCERER ? 64 : 128; + hp = plr[pnum]._pClass == PC_SORCERER ? 64 : 128; if (gbMaxPlayers == 1) { hp++; } @@ -764,7 +763,15 @@ void NextPlrLevel(int pnum) drawhpflag = TRUE; } - mana = c != PC_WARRIOR ? 128 : 64; + if (plr[pnum]._pClass == PC_WARRIOR) + mana = 64; +#ifdef HELLFIRE + else if (plr[pnum]._pClass == PC_BARBARIAN) + mana = 0; +#endif + else + mana = 128; + if (gbMaxPlayers == 1) { mana++; } @@ -777,7 +784,10 @@ void NextPlrLevel(int pnum) } if (pnum == myplr) { - drawmanaflag = TRUE; +#ifdef HELLFIRE + if (plr[pnum]._pMana > 0) +#endif + drawmanaflag = TRUE; } }