From 3a660f6f6cc4d7822386efa973ff9db16c26bb3a Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Thu, 18 Mar 2021 21:06:01 +0100 Subject: [PATCH] :recycle: Align MI_LightningWallC with MI_FirewallC --- Source/missiles.cpp | 59 ++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 35 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 2ff3af0ee..7046ea5a9 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -4262,43 +4262,34 @@ void MI_Search(Sint32 i) void MI_LightningWallC(Sint32 i) { - int src, lvl, dmg, tx, ty, dp; - missile[i]._mirange--; - src = missile[i]._misource; - if (src > 0) - lvl = plr[src]._pLevel; - else - lvl = 0; - dmg = 16 * (random_(53, 10) + random_(53, 10) + lvl + 2); + int id = missile[i]._misource; + int lvl = 0; + if (id > 0) + lvl = plr[id]._pLevel; + int dmg = 16 * (random_(53, 10) + random_(53, 10) + lvl + 2); if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; } else { - dp = dPiece[missile[i]._miVar1][missile[i]._miVar2]; - if (dp || 1) { - tx = missile[i]._miVar1 + XDirAdd[missile[i]._miVar3]; - ty = missile[i]._miVar2 + YDirAdd[missile[i]._miVar3]; - if (!nMissileTable[dp] && !missile[i]._miVar8 && tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { - AddMissile(missile[i]._miVar1, missile[i]._miVar2, missile[i]._miVar1, missile[i]._miVar2, plr[src]._pdir, MIS_LIGHTWALL, TARGET_BOTH, src, dmg, missile[i]._mispllvl); - missile[i]._miVar1 = tx; - missile[i]._miVar2 = ty; - } else { - missile[i]._miVar8 = 1; - } + int dp = dPiece[missile[i]._miVar1][missile[i]._miVar2]; + assert(dp <= MAXTILES && dp >= 0); + int tx = missile[i]._miVar1 + XDirAdd[missile[i]._miVar3]; + int ty = missile[i]._miVar2 + YDirAdd[missile[i]._miVar3]; + if (!nMissileTable[dp] && missile[i]._miVar8 == 0 && tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { + AddMissile(missile[i]._miVar1, missile[i]._miVar2, missile[i]._miVar1, missile[i]._miVar2, plr[id]._pdir, MIS_LIGHTWALL, TARGET_BOTH, id, dmg, missile[i]._mispllvl); + missile[i]._miVar1 = tx; + missile[i]._miVar2 = ty; } else { missile[i]._miVar8 = 1; } dp = dPiece[missile[i]._miVar5][missile[i]._miVar6]; - if (dp || 1) { - tx = missile[i]._miVar5 + XDirAdd[missile[i]._miVar4]; - ty = missile[i]._miVar6 + YDirAdd[missile[i]._miVar4]; - if (!nMissileTable[dp] && !missile[i]._miVar7 && tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { - AddMissile(missile[i]._miVar5, missile[i]._miVar6, missile[i]._miVar5, missile[i]._miVar6, plr[src]._pdir, MIS_LIGHTWALL, TARGET_BOTH, src, dmg, missile[i]._mispllvl); - missile[i]._miVar5 = tx; - missile[i]._miVar6 = ty; - } else { - missile[i]._miVar7 = 1; - } + assert(dp <= MAXTILES && dp >= 0); + tx = missile[i]._miVar5 + XDirAdd[missile[i]._miVar4]; + ty = missile[i]._miVar6 + YDirAdd[missile[i]._miVar4]; + if (!nMissileTable[dp] && missile[i]._miVar7 == 0 && tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { + AddMissile(missile[i]._miVar5, missile[i]._miVar6, missile[i]._miVar5, missile[i]._miVar6, plr[id]._pdir, MIS_LIGHTWALL, TARGET_BOTH, id, dmg, missile[i]._mispllvl); + missile[i]._miVar5 = tx; + missile[i]._miVar6 = ty; } else { missile[i]._miVar7 = 1; } @@ -5059,17 +5050,15 @@ void MI_Fireman(Sint32 i) void MI_FirewallC(Sint32 i) { - int tx, ty, id, dp; - missile[i]._mirange--; - id = missile[i]._misource; + int id = missile[i]._misource; if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; } else { - dp = dPiece[missile[i]._miVar1][missile[i]._miVar2]; + int dp = dPiece[missile[i]._miVar1][missile[i]._miVar2]; assert(dp <= MAXTILES && dp >= 0); - tx = missile[i]._miVar1 + XDirAdd[missile[i]._miVar3]; - ty = missile[i]._miVar2 + YDirAdd[missile[i]._miVar3]; + int tx = missile[i]._miVar1 + XDirAdd[missile[i]._miVar3]; + int ty = missile[i]._miVar2 + YDirAdd[missile[i]._miVar3]; if (!nMissileTable[dp] && missile[i]._miVar8 == 0 && tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { AddMissile(missile[i]._miVar1, missile[i]._miVar2, missile[i]._miVar1, missile[i]._miVar2, plr[id]._pdir, MIS_FIREWALL, TARGET_BOTH, id, 0, missile[i]._mispllvl); missile[i]._miVar1 = tx;