Ships that cloak need to burn fuel.

Fuel_burned_by_cloak =
   0                 ...if ship has Advanced Cloaking
   Trunc(CloakFuelBurn * Max(Hull_mass, 100) / 100)
                     ...otherwise

Fuel_needed_before_movement =
   1 + Fuel_burned_by_cloak

Fuel_needed_after_movement =
   1

Ships need to decloak if their fuel drops below the Fuel_needed value. After the normal cloak fuel was burnt, one kt must remain; fuelless ships cannot cloak.

This is a testing version.
It may be incomplete, and have more bugs (or features) than the public live version at planetscentral.com.