|
|
|
|
@ -658,9 +658,8 @@ bool CheckIfTrig(Point position)
|
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool GuardianTryFireAt(int i, Point target) |
|
|
|
|
bool GuardianTryFireAt(MissileStruct &missile, Point target) |
|
|
|
|
{ |
|
|
|
|
auto &missile = Missiles[i]; |
|
|
|
|
Point position = missile.position.tile; |
|
|
|
|
|
|
|
|
|
if (!LineClearMissile(position, target)) |
|
|
|
|
@ -3916,10 +3915,10 @@ void MI_Guardian(int i)
|
|
|
|
|
if (previous == offset) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
found = GuardianTryFireAt(i, { position.x + offset.deltaX, position.y + offset.deltaY }) |
|
|
|
|
|| GuardianTryFireAt(i, { position.x - offset.deltaX, position.y - offset.deltaY }) |
|
|
|
|
|| GuardianTryFireAt(i, { position.x + offset.deltaX, position.y - offset.deltaY }) |
|
|
|
|
|| GuardianTryFireAt(i, { position.x - offset.deltaX, position.y + offset.deltaY }); |
|
|
|
|
found = GuardianTryFireAt(missile, { position.x + offset.deltaX, position.y + offset.deltaY }) |
|
|
|
|
|| GuardianTryFireAt(missile, { position.x - offset.deltaX, position.y - offset.deltaY }) |
|
|
|
|
|| GuardianTryFireAt(missile, { position.x + offset.deltaX, position.y - offset.deltaY }) |
|
|
|
|
|| GuardianTryFireAt(missile, { position.x - offset.deltaX, position.y + offset.deltaY }); |
|
|
|
|
if (!found) { |
|
|
|
|
previous = offset; |
|
|
|
|
} |
|
|
|
|
@ -4686,9 +4685,8 @@ void missiles_process_charge()
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void ClearMissileSpot(int mi) |
|
|
|
|
void ClearMissileSpot(Point &missileTile) |
|
|
|
|
{ |
|
|
|
|
auto &missileTile = Missiles[mi].position.tile; |
|
|
|
|
dFlags[missileTile.x][missileTile.y] &= ~BFLAG_MISSILE; |
|
|
|
|
dMissile[missileTile.x][missileTile.y] = 0; |
|
|
|
|
} |
|
|
|
|
|