From 59ccee969e9e5a503a103267398a03ef6d2ec84d Mon Sep 17 00:00:00 2001 From: qndel Date: Sat, 21 Dec 2019 23:28:32 +0100 Subject: [PATCH] [hellfire] InitPlayer bin exact --- Source/player.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Source/player.cpp b/Source/player.cpp index 315480c59..09d124837 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -966,11 +966,11 @@ void InitPlayer(int pnum, BOOL FirstTime) ClearPlrRVars(&plr[pnum]); if (FirstTime) { + plr[pnum]._pRSplType = RSPLTYPE_INVALID; plr[pnum]._pRSpell = SPL_INVALID; plr[pnum]._pSBkSpell = SPL_INVALID; - plr[pnum]._pSpell = SPL_INVALID; - plr[pnum]._pRSplType = RSPLTYPE_INVALID; - plr[pnum]._pSplType = RSPLTYPE_INVALID; + plr[pnum]._pSpell = plr[pnum]._pRSpell; + plr[pnum]._pSplType = plr[pnum]._pRSplType; if ((plr[pnum]._pgfxnum & 0xF) == ANIM_ID_BOW) { plr[pnum]._pwtype = WT_RANGED; } else { @@ -1043,6 +1043,14 @@ void InitPlayer(int pnum, BOOL FirstTime) plr[pnum]._pAblSpells = 1 << (SPL_DISARM - 1); } else if (plr[pnum]._pClass == PC_SORCERER) { plr[pnum]._pAblSpells = 1 << (SPL_RECHARGE - 1); +#ifdef HELLFIRE + } else if (plr[pnum]._pClass == PC_MONK) { + plr[pnum]._pAblSpells = (unsigned __int64)1 << (SPL_SEARCH - 1); + } else if (plr[pnum]._pClass == PC_BARD) { + plr[pnum]._pAblSpells = 1 << (SPL_IDENTIFY - 1); + } else if (plr[pnum]._pClass == PC_BARBARIAN) { + plr[pnum]._pAblSpells = 1 << (SPL_BLODBOIL - 1); +#endif #endif }