Browse Source

[hellfire] AddRndTeleport bin exact

pull/876/head
qndel 7 years ago
parent
commit
955b50c45a
  1. 19
      Source/missiles.cpp

19
Source/missiles.cpp

@ -1295,13 +1295,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 {

Loading…
Cancel
Save