Pollution Smoke

by NOiZE

Adds visible smoke to pollution-generating machines, scaled by their actual pollution output. Machines with chimneys emit smoke from their chimney positions; others emit smoke randomly across their footprint.

Tweaks
11 days ago
2.0
414
Environment Manufacturing

i [implemented most]Some suggestions

16 days ago

This mod is great! It really compliments "Pollution: Impactful Smog" well :-)

A few suggestions (modifications I've done locally) that you might consider:

  • Entities that already have smoke defined gets duplicate output, both the original smoke and this. I removed the original smoke by overwriting the smoke with an empty object, ie. data.raw["boiler"]["boiler"].energy_source.smoke = {}
    in data-updates.lua.

  • Customization: maybe add an settings option to blacklist entities? I love that the miner kicks up dust, but don't like my pumpjacks to do the same. Also add the possibility to add entities/types and use any existing smoke object positions to overwrite with this smoke. I added stone-furnace, steel-furnace, burner-assemblers (AAI), etc. manually, but it would be nice with some automation.

  • Borrowing the method from "UtilizationMonitorBlargh", utilization can be computed for boiler types by using the current heat energy stored in the entity and dividing by the maximum heat capacity (dependent on the fluid it heats).
    I added the following before the final "else" in on_nth_tick():

    elseif entity.type == "boiler" then
    if entity.status ~= defines.entity_status.working then
    utilization = 0.0
    else
    utilization = 1.0 - entity.burner.heat / entity.burner.heat_capacity
    end

This makes smoke from boilers seamlessly increase and decrease based on load, and also fixes the issue where boilers kicks out maximum smoke when solar panels covers the current energy need, because the boilers are in a working state but don't produce anything.

  • Making burner miners having both a chimney and kick up dust. I added another size class to storage.machines[unum] to which i added the body style smoke for burner miners. A bit wasteful as this is only used by one entity and expands the datatype with one variable as well as some extra checks for entity type in the logic; but it makes them look stunningly noxious :-).

Anyway, awesome mod!

16 days ago

Hi thank you for your feedback, and nice to read that you are enjoying it, if your local version has these changes, and you feel comfortable sharing, I would be willing to release that as an update.

16 days ago

Sure, feel free to use any of my changes. How do you want me to send it to you?

16 days ago

I have no preference, you could come with a shared link, or find me on discord, or some other way you might prefer.

15 days ago

Thanks a lot, I've released an update, took a lot of your suggestions, but perhaps the burner drill was a bit too much ;-) But it did inspire me to adapt some of the smoke effects. I hope you will like it.

15 days ago
(updated 15 days ago)

I think the pumping smoke looks great, and probably is a more balanced visualization. Now it is possible to actually see :-D.

I made a small change rather late yesterday and it seems like you missed it; line 346 in control.lua:

  elseif entity.type == "boiler" then

became:

  elseif entity.type == "boiler" or entity.type == "burner-generator" then

burner-generator is a vanilla type, but is not used in any vanilla entities, but for AAI burner turbine it makes it so the smoke is scaled like for boilers.
If you make an update later you might want to include it.

14 days ago

Thank you eklofb, I've included it in the most recent release.

New response