Browse Source

Unify some more missile code

pull/982/head
Anders Jenbo 5 years ago
parent
commit
290098fd63
  1. 26
      Source/missiles.cpp

26
Source/missiles.cpp

@ -600,9 +600,7 @@ BOOL MonsterMHit(int pnum, int m, int mindam, int maxdam, int dist, int t, BOOLE
resist = TRUE;
hit = random_(69, 100);
#ifdef HELLFIRE
if (pnum != -1) {
#endif
if (missiledata[t].mType == 0) {
hper = plr[pnum]._pDexterity;
hper += plr[pnum]._pIBonusToHit;
@ -627,11 +625,9 @@ BOOL MonsterMHit(int pnum, int m, int mindam, int maxdam, int dist, int t, BOOLE
else if (plr[pnum]._pClass == PC_BARD)
hper += 10;
}
#ifdef HELLFIRE
} else {
hper = random_(71, 75) - monster[m].mLevel * 2;
}
#endif
if (hper < 5)
hper = 5;
@ -1018,7 +1014,6 @@ void CheckMissileCol(int i, int mindam, int maxdam, BOOL shift, int mx, int my,
{
int oi;
BOOLEAN blocked;
#ifdef HELLFIRE
int dir, mAnimFAmt;
if (i >= MAXMISSILES || i < 0)
@ -1027,6 +1022,7 @@ void CheckMissileCol(int i, int mindam, int maxdam, BOOL shift, int mx, int my,
return;
if (my >= MAXDUNY || my < 0)
return;
#ifdef HELLFIRE
if (missile[i]._micaster != TARGET_BOTH && missile[i]._misource != -1) {
#else
if (missile[i]._miAnimType != MFILE_FIREWAL && missile[i]._misource != -1) {
@ -2181,28 +2177,18 @@ void AddRndTeleport(int mi, int sx, int sy, int dx, int dy, int midir, char mien
if (random_(58, 2) == 1)
r2 = -r2;
#ifdef HELLFIRE
r1 += sx;
r2 += sy;
if (r1 <= MAXDUNX && r1 >= 0 && r2 <= MAXDUNY && r2 >= 0) { ///BUGFIX: < MAXDUNX / < MAXDUNY
if (r1 < MAXDUNX && r1 >= 0 && r2 < MAXDUNY && r2 >= 0) { ///BUGFIX: < MAXDUNX / < MAXDUNY (fixed)
pn = dPiece[r1][r2];
}
} while (nSolidTable[pn] || dObject[r1][r2] != 0 || dMonster[r1][r2] != 0);
#else
pn = dPiece[r1 + sx][sy + r2];
} while (nSolidTable[pn] || dObject[r1 + sx][sy + r2] != 0 || dMonster[r1 + sx][sy + r2] != 0);
#endif
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 == TARGET_MONSTERS)
UseMana(id, SPL_RNDTELEPORT);
} else {
@ -3416,11 +3402,7 @@ int AddMissile(int sx, int sy, int dx, int dy, int midir, int mitype, char micas
{
int i, mi;
#ifdef HELLFIRE
if (nummissiles >= MAXMISSILES - 1)
#else
if (nummissiles >= MAXMISSILES)
#endif
return -1;
if (mitype == MIS_MANASHIELD && plr[id].pManaShield == TRUE) {
@ -3440,9 +3422,7 @@ int AddMissile(int sx, int sy, int dx, int dy, int midir, int mitype, char micas
missileactive[nummissiles] = mi;
nummissiles++;
#ifdef HELLFIRE
memset(&missile[mi], 0, sizeof(*missile));
#endif
missile[mi]._mitype = mitype;
missile[mi]._micaster = micaster;
@ -4820,10 +4800,8 @@ void MI_Guardian(int i)
assert((DWORD)i < MAXMISSILES);
#ifndef HELLFIRE
sx1 = 0;
sy1 = 0;
#endif
missile[i]._mirange--;
if (missile[i]._miVar2 > 0) {

Loading…
Cancel
Save