diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 44a429321..e0393c6dc 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -736,7 +736,7 @@ int Simulation::FloodINST(int x, int y) bool Simulation::flood_water(int x, int y, int i) { - int x1, x2, originalY = y; + int x1, x2, originalX = x, originalY = y; int r = pmap[y][x]; if (!r) return false; @@ -780,12 +780,7 @@ bool Simulation::flood_water(int x, int y, int i) else if (!eval_move(parts[i].type, x, y - 1, nullptr)) continue; - int oldx = (int)(parts[i].x + 0.5f); - int oldy = (int)(parts[i].y + 0.5f); - pmap[y - 1][x] = pmap[oldy][oldx]; - pmap[oldy][oldx] = 0; - parts[i].x = float(x); - parts[i].y = float(y - 1); + move(i, originalX, originalY, x, y - 1); return true; }