Browse Source

Merge branch 'hellfire' of https://github.com/diasurgical/devilution into GetDamageAmt2

pull/876/head
qndel 7 years ago
parent
commit
8f323ac981
  1. 15
      Source/items.cpp
  2. 19
      Source/missiles.cpp
  3. 16
      Source/pfile.cpp
  4. 7
      enums.h

15
Source/items.cpp

@ -4202,6 +4202,20 @@ BOOL WitchItemOk(int i)
BOOL rv;
rv = FALSE;
#ifdef HELLFIRE
if (AllItemsList[i].itype == ITYPE_MISC || AllItemsList[i].itype == ITYPE_STAFF)
rv = TRUE;
if (AllItemsList[i].iMiscId == IMISC_MANA || AllItemsList[i].iMiscId == IMISC_FULLMANA)
rv = FALSE;
if (AllItemsList[i].iSpell == SPL_TOWN)
rv = FALSE;
if (AllItemsList[i].iMiscId == IMISC_FULLHEAL || AllItemsList[i].iMiscId == IMISC_HEAL)
rv = FALSE;
if (AllItemsList[i].iMiscId > IMISC_OILFIRST && AllItemsList[i].iMiscId < IMISC_OILLAST)
rv = FALSE;
if ((AllItemsList[i].iSpell == SPL_RESURRECT && gbMaxPlayers == 1) || (AllItemsList[i].iSpell == SPL_HEALOTHER && gbMaxPlayers == 1))
rv = FALSE;
#else
if (AllItemsList[i].itype == ITYPE_MISC)
rv = TRUE;
if (AllItemsList[i].itype == ITYPE_STAFF)
@ -4220,6 +4234,7 @@ BOOL WitchItemOk(int i)
rv = FALSE;
if (AllItemsList[i].iSpell == SPL_HEALOTHER && gbMaxPlayers == 1)
rv = FALSE;
#endif
return rv;
}

19
Source/missiles.cpp

@ -2050,13 +2050,28 @@ void AddRndTeleport(int mi, int sx, int sy, int dx, int dy, int midir, char mien
if (random(58, 2) == 1)
r2 = -r2;
} while (nSolidTable[dPiece[r1 + sx][sy + r2]] || dObject[r1 + sx][sy + r2] || dMonster[r1 + sx][sy + r2]);
#ifdef HELLFIRE
r1 += sx;
r2 += sy;
if (r1 <= MAXDUNX && r1 >= 0 && r2 <= MAXDUNY && r2 >= 0) { ///BUGFIX: < MAXDUNX / < MAXDUNY
pn = dPiece[r1][r2];
}
} while (nSolidTable[pn] || dObject[r1][r2] || dMonster[r1][r2]);
#else
pn = dPiece[r1 + sx][sy + r2];
} while (nSolidTable[pn] || dObject[r1 + sx][sy + r2] || dMonster[r1 + sx][sy + r2]);
#endif
missile[mi]._miVar1 = 0;
missile[mi]._mirange = 2;
missile[mi]._miVar1 = 0;
if (!setlevel || setlvlnum != SL_VILEBETRAYER) {
#ifdef HELLFIRE
missile[mi]._mix = r1;
missile[mi]._miy = r2;
#else
missile[mi]._mix = sx + r1;
missile[mi]._miy = sy + r2;
#endif
if (!mienemy)
UseMana(id, SPL_RNDTELEPORT);
} else {

16
Source/pfile.cpp

@ -235,6 +235,14 @@ BYTE game_2_ui_class(const PlayerStruct *p)
uiclass = UI_WARRIOR;
else if (p->_pClass == PC_ROGUE)
uiclass = UI_ROGUE;
#ifdef HELLFIRE
else if (p->_pClass == PC_MONK)
uiclass = UI_MONK;
else if (p->_pClass == PC_BARD)
uiclass = UI_BARD;
else if (p->_pClass == PC_BARBARIAN)
uiclass = UI_BARBARIAN;
#endif
else
uiclass = UI_SORCERER;
@ -431,6 +439,14 @@ char pfile_get_player_class(unsigned int player_class_nr)
pc_class = PC_WARRIOR;
else if (player_class_nr == UI_ROGUE)
pc_class = PC_ROGUE;
#ifdef HELLFIRE
else if (player_class_nr == 3)
pc_class = PC_MONK;
else if (player_class_nr == 4)
pc_class = PC_BARD;
else if (player_class_nr == 5)
pc_class = PC_BARBARIAN;
#endif
else
pc_class = PC_SORCERER;
return pc_class;

7
enums.h

@ -3102,7 +3102,12 @@ typedef enum _ui_classes {
UI_WARRIOR = 0x0,
UI_ROGUE = 0x1,
UI_SORCERER = 0x2,
UI_NUM_CLASSES = 0x3,
#ifdef HELLFIRE
UI_MONK = 0x3,
UI_BARD = 0x4,
UI_BARBARIAN = 0x5,
#endif
UI_NUM_CLASSES,
} _ui_classes;
typedef enum _walk_path {

Loading…
Cancel
Save