diff --git a/Source/control.cpp b/Source/control.cpp index fe0d76856..c87e9e39c 100644 --- a/Source/control.cpp +++ b/Source/control.cpp @@ -168,11 +168,7 @@ char SpellITbl[MAX_SPELLS] = { 23, 24, 25, -#ifdef HELLFIRE - 2, -#else 22, -#endif 26, 29, 37, @@ -235,7 +231,11 @@ int SpellPages[6][7] = { { SPL_RESURRECT, SPL_FIREWALL, SPL_TELEKINESIS, SPL_LIGHTNING, SPL_TOWN, SPL_FLASH, SPL_STONE }, { SPL_RNDTELEPORT, SPL_MANASHIELD, SPL_ELEMENT, SPL_FIREBALL, SPL_WAVE, SPL_CHAIN, SPL_GUARDIAN }, { SPL_NOVA, SPL_GOLEM, SPL_TELEPORT, SPL_APOCA, SPL_BONESPIRIT, SPL_FLARE, SPL_ETHEREALIZE }, +#ifndef HELLFIRE { -1, -1, -1, -1, -1, -1, -1 }, +#else + { SPL_LIGHTWALL, SPL_IMMOLAT, SPL_WARP, SPL_REFLECT, SPL_BERSERK, SPL_FIRERING, SPL_SEARCH }, +#endif { -1, -1, -1, -1, -1, -1, -1 } }; @@ -473,20 +473,32 @@ void DrawSpellList() case RSPLTYPE_SKILL: SetSpellTrans(RSPLTYPE_SKILL); c = 46; +#ifdef HELLFIRE + c += 9; +#endif mask = plr[myplr]._pAblSpells; break; case RSPLTYPE_SPELL: c = 47; +#ifdef HELLFIRE + c += 9; +#endif mask = plr[myplr]._pMemSpells; break; case RSPLTYPE_SCROLL: SetSpellTrans(RSPLTYPE_SCROLL); c = 44; +#ifdef HELLFIRE + c += 9; +#endif mask = plr[myplr]._pScrlSpells; break; case RSPLTYPE_CHARGES: SetSpellTrans(RSPLTYPE_CHARGES); c = 45; +#ifdef HELLFIRE + c += 9; +#endif mask = plr[myplr]._pISpells; break; } @@ -511,6 +523,10 @@ void DrawSpellList() if (MouseX >= lx && MouseX < lx + 56 && MouseY >= ly && MouseY < ly + 56) { pSpell = j; pSplType = i; +#ifdef HELLFIRE + if (plr[myplr]._pClass == PC_MONK && j == SPL_SEARCH) + i = RSPLTYPE_SKILL; +#endif DrawSpellCel(x, y, pSpellCels, c, 56); switch (i) { case RSPLTYPE_SKILL: @@ -1274,7 +1290,11 @@ void InitControlPan() memset(pLifeBuff, 0, 88 * 88); pPanelText = LoadFileInMem("CtrlPan\\SmalText.CEL", NULL); pChrPanel = LoadFileInMem("Data\\Char.CEL", NULL); +#ifndef HELLFIRE pSpellCels = LoadFileInMem("CtrlPan\\SpelIcon.CEL", NULL); +#else + pSpellCels = LoadFileInMem("Data\\SpelIcon.CEL", NULL); +#endif SetSpellTrans(RSPLTYPE_SKILL); pStatusPanel = LoadFileInMem("CtrlPan\\Panel8.CEL", NULL); CelBlitWidth(pBtmBuff, 0, (PANEL_HEIGHT + 16) - 1, PANEL_WIDTH, pStatusPanel, 1, PANEL_WIDTH); @@ -2349,7 +2369,7 @@ char GetSBookTrans(int ii, BOOL townok) char st; #ifdef HELLFIRE - if ((plr[myplr]._pClass == PC_MONK) && (ii == 46)) + if ((plr[myplr]._pClass == PC_MONK) && (ii == SPL_SEARCH)) return RSPLTYPE_SKILL; #endif st = RSPLTYPE_SPELL;