diff --git a/Source/loadsave.cpp b/Source/loadsave.cpp index e6ec8b7ef..cf4e8d73f 100644 --- a/Source/loadsave.cpp +++ b/Source/loadsave.cpp @@ -357,6 +357,9 @@ void LoadPlayer(int i) CopyInt(tbuff, &pPlayer->_pStatPts); CopyInt(tbuff, &pPlayer->_pDamageMod); CopyInt(tbuff, &pPlayer->_pBaseToBlk); + if (pPlayer->_pBaseToBlk == 0) { + pPlayer->_pBaseToBlk = ToBlkTbl[pPlayer->_pClass]; + } CopyInt(tbuff, &pPlayer->_pHPBase); CopyInt(tbuff, &pPlayer->_pMaxHPBase); CopyInt(tbuff, &pPlayer->_pHitPoints); diff --git a/Source/pack.cpp b/Source/pack.cpp index 57515dfb9..b84cea7ba 100644 --- a/Source/pack.cpp +++ b/Source/pack.cpp @@ -200,6 +200,7 @@ void UnPackPlayer(PkPlayerStruct *pPack, int pnum, BOOL killok) pPlayer->_pGold = SwapLE32(pPack->pGold); pPlayer->_pMaxHPBase = SwapLE32(pPack->pMaxHPBase); pPlayer->_pHPBase = SwapLE32(pPack->pHPBase); + pPlayer->_pBaseToBlk = ToBlkTbl[pPlayer->_pClass]; if (!killok) if ((int)(pPlayer->_pHPBase & 0xFFFFFFC0) < 64) pPlayer->_pHPBase = 64;