mirror of
https://github.com/diasurgical/devilution.git
synced 2025-07-23 04:23:01 +02:00
[hellfire] MI_FirewallC
This commit is contained in:
@@ -5172,26 +5172,35 @@ void mi_null_32(int i)
|
||||
|
||||
void MI_FirewallC(int i)
|
||||
{
|
||||
int tx, ty, id;
|
||||
int tx, ty, id, dp, micaster;
|
||||
|
||||
id = missile[i]._misource;
|
||||
missile[i]._mirange--;
|
||||
id = missile[i]._misource;
|
||||
if (missile[i]._mirange == 0) {
|
||||
missile[i]._miDelFlag = TRUE;
|
||||
} else {
|
||||
#ifdef HELLFIRE
|
||||
micaster = TARGET_BOTH;
|
||||
#else
|
||||
micaster = TARGET_MONSTERS;
|
||||
#endif
|
||||
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];
|
||||
if (!nMissileTable[dPiece[missile[i]._miVar1][missile[i]._miVar2]] && 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_MONSTERS, id, 0, missile[i]._mispllvl);
|
||||
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, micaster, id, 0, missile[i]._mispllvl);
|
||||
missile[i]._miVar1 = tx;
|
||||
missile[i]._miVar2 = ty;
|
||||
} else {
|
||||
missile[i]._miVar8 = 1;
|
||||
}
|
||||
dp = dPiece[missile[i]._miVar5][missile[i]._miVar6];
|
||||
assert(dp <= MAXTILES && dp >= 0);
|
||||
tx = missile[i]._miVar5 + XDirAdd[missile[i]._miVar4];
|
||||
ty = missile[i]._miVar6 + YDirAdd[missile[i]._miVar4];
|
||||
if (!nMissileTable[dPiece[missile[i]._miVar5][missile[i]._miVar6]] && 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_FIREWALL, TARGET_MONSTERS, id, 0, missile[i]._mispllvl);
|
||||
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_FIREWALL, micaster, id, 0, missile[i]._mispllvl);
|
||||
missile[i]._miVar5 = tx;
|
||||
missile[i]._miVar6 = ty;
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user