Fuel consumption glitch

There is a small glitch, such that fuel is not always consumed properly:
If there is more than one fuel tank of the same type, and the first fuel tank in the list is empty, no fuel is consumed. For example one can build a vehicle with an electric motor and 2 storage batteries. Fill each of them with 1 battery and drive infinitely.

The following patch should fix the issue.

diff --git a/vehicle.cpp b/vehicle.cpp
index 1d33b4a..7be92f8 100644
--- a/vehicle.cpp
+++ b/vehicle.cpp
@@ -1026,10 +1026,16 @@ void vehicle::consume_fuel ()
                     (part_info(p).fuel_type == (elec? (j? AT_BATT : AT_PLUT) : ftypes[ft])))
                 {
                     parts[p].amount -= amnt;
-                    if (parts[p].amount < 0)
+                    if (parts[p].amount < 0) 
+                    {
+                        amnt = -parts[p].amount;
                         parts[p].amount = 0;
-                    found = true;
-                    break;
+                    }
+                    else 
+                    {
+                        found = true;
+                        break;
+                    }
                 }
             if (found)
                 break;