PFQNiet / Satisfactorio

Factorio mod that brings Satisfactory mechanics
GNU General Public License v3.0
11 stars 2 forks source link

Coal plant still gives power when there is no fuel #74

Closed Robeja closed 3 years ago

Robeja commented 3 years ago

Hello!

First of all, thanks a lot for this mod!! As a fan of both Factorio and Satisfactory, found it when browsing stuff and I decided to give it a go. I'm startled of how much work you put in there, looks like Satisfactory itself! I'll be following the mod closely.

So, to the point, I guess I've found some kind of bug (yes I know the mod is not yet finished, but I want you to know about it).

Just unlocked coal power. Built a water extractor and a coal generator, connected everything, and threw in some coal I brought back from a nearby deposit.

I was curious about the power priorities so I was watching how coal was about to deplete and Biomass burners would kick in, but.. that never occured.

The coal plant still gives 75 MW power max, even when there is no coal inside (the "No fuel" status).

I tried to remove the power plant and the free MW were gone. That's correct.

Then I put another coal power plant, gave it some coal and waited for it to deploy. Then again 150 Mw of free energy.

This behaviour does not occur when there is water shortage, only when there is coal shortage.

Ah! Running the last version, just dowloaded the code and "info.json" says: 0.8.5

Attachment I'm attaching a save file: s040c.zip s040c.zip

Mods No other mods are being used

To Reproduce Steps to reproduce the behavior:

  1. Load the save, player is already on the coal generator area.

Expected behavior When coal runs out, power from coal plants must be down to 0. Same as removing the generators or removing the water intake.

Additional info Just created this post to inform you. I'll try to play 'legit' and keep the coal flowing inside the generators.

Kind regards, Robeja.

PFQNiet commented 3 years ago

Wow, nice find!

These generators work by checking is_crafting() on the building, and it turns out that is_crafting() returns true even if the machine has no fuel. This might be considered a "bug" in Factorio, or at the very least an issue with the API documentation...

Anyway, I'll be fixing this by adding a check for burner.currently_burning as well. Thank you!