Browse Source

[hellfire] mi_fire_ring

pull/876/head
Anders Jenbo 6 years ago
parent
commit
c6a7eef54d
  1. 27
      Source/missiles.cpp

27
Source/missiles.cpp

@ -4125,6 +4125,33 @@ void mi_reflect(int i)
void mi_fire_ring(int i)
{
int src, tx, ty, dmg, k, j, dp, b;
BYTE lvl;
b = CrawlNum[3];
missile[i]._miDelFlag = 1;
src = missile[i]._micaster;
k = CrawlNum[3] + 1;
if (src > 0)
lvl = plr[src]._pLevel;
else
lvl = currlevel;
dmg = 16 * (random_(53, 10) + random_(53, 10) + lvl + 2) >> 1;
for (j = CrawlTable[b]; j > 0; j--, k += 2) {
tx = missile[i]._miVar1 + CrawlTable[k - 1];
ty = missile[i]._miVar2 + CrawlTable[k];
if (tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) {
dp = dPiece[tx][ty];
if (!nSolidTable[dp] && !dObject[tx][ty]) {
if (LineClear(missile[i]._mix, missile[i]._miy, tx, ty)) {
if (nMissileTable[dp] || missile[i]._miVar8)
missile[i]._miVar8 = 1;
else
AddMissile(tx, ty, tx, ty, 0, MIS_FIREWALL, 2, src, dmg, missile[i]._mispllvl);
}
}
}
}
}
void mi_light_ring(int i)

Loading…
Cancel
Save