I got infinite rocket with tick == 60
look like:
if diff < 0 then
-- We're probably building a new rocket since last time we called update_silo
-- So none rocket_parts hasn't been quality updated
silo.rocket_parts = silo.rocket_parts*science_pack.get_durability(quality)
is completely wrong, you may also want to do nothing on diff == 0 to save ups