Changing effects on evolution / changing pollution spread

This is the place to request new mods or give ideas about what could be done.
Tairon96
Inserter
Inserter
Posts: 39
Joined: Sun Nov 18, 2018 6:38 am
Contact:

Changing effects on evolution / changing pollution spread

Post by Tairon96 »

Hi,

I would like to know, if someone accidentally
has already investigated if following things are possible :

(a) Is there a way to modify the evolution progress formula / effects on the evolution ... other than changing the parameters ?

(b) Is there a way to modify/remove the cleaning effect of open ground / water?

... and additionally ...

(c) Is there a way to modify the pollution spread ?

There is no need for making the mod. All I need is a little push into the right direction to look for.

What I want to achieve :

(a) & (b) In vanilla Factorio, the evolution progresses by checking the pollution generated. Sadly the cleaning process of some mods are not considered by calculating the vanilla formula. Vanilla Factorio is assuming that all cleaning progress is made by spawners, by trees and by not sealed ground / water. Therefore the vanilla cleaning is in the eye of the formula storing the toxic wastes in the environment. But if I use green equipment ( Bio Garden from Bio Industry or Air Filters ) this assumption is false. I would like to correct this. For example ...
  • Only pollution stored in trees effects evolution.

    and / or
  • Only pollution reaching spawners boosts evolution.
(c) Although there is a pollution spread in vanilla, this might not be enough to compensate a green factory complex (seen from the perspective to increase the difficulty). With green modules from Bob's you are able to reduce your pollution to levels, the spreading is reduced to one neighboring chunk. With cleaners it can be reduced to only the producing chunk : The threshold before pollution starts to swap into the next chunk is 15 PU. It would be nice if this threshold is reduced to zero. To extend the spreading : If you look at steam boilers and see the wind blowing, this does not have any effect on the pollution spreading. I think, it might be interesting to see the spreading a bit randomised and boosted by a blowing wind. This would make it harder to contain every tiny bit of the pollution.
______

By combining these changes it would be possible to punish the player harder for contaminating the environment and rewarding him for taking care.
______

I guess this would be too much to hope for ... but ...

(d) Storing the actual pollution boost in the spawners / trees which have been used by mother nature to clean the player's mess up

This could be the sugar on top of it : A group of spawners / a patch of trees is too much infected ? Get rid of them to revert the evolution progress by the stored pollution to some degree.
______

Background

I am playing a modded Death World in some nomadic lifestyle. My personal goal is to send a rocket before the Rampant boosted neighbors overrun my base. For "escaping" I am using Nauvis Plus. And then I start with very little equipment (e.g. a single stack of C-Bots, armour, ammunition, a few solar panels, a stack of Bob's green modules, sometimes space science bottles ) with no science progress
anew.
Radar : Damnit, we are surrounded! :o
Artillery : Great, now I can attack in every direction! :D
_
languages
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: Changing effects on evolution / changing pollution spread

Post by darkfrei »

Tairon96 wrote: Wed Jan 16, 2019 8:45 am (a) Is there a way to modify the evolution progress formula / effects on the evolution ... other than changing the parameters?
https://mods.factorio.com/mod/research_causes_evolution
Tairon96 wrote: Wed Jan 16, 2019 8:45 am (b) Is there a way to modify/remove the cleaning effect of open ground / water?
https://wiki.factorio.com/Prototype/Tile#ageing

Code: Select all

data.raw.tile.water.ageing = 0.0006 
data.raw.tile["grass-1"].ageing = 0.00045 
Set ageing for all tiles to 0:

Code: Select all

-- in data.lua
for tile_name, tile in pairs (data.raw.tile) do
  tile.ageing = 0
end
Tairon96 wrote: Wed Jan 16, 2019 8:45 am (c) Is there a way to modify the pollution spread ?
Pollution spread removingÖ
https://wiki.factorio.com/Console#Remove_all_pollution

Or add some new spread

Code: Select all

/c game.player.surface.pollute(game.player.position, 1000000)
Tairon96
Inserter
Inserter
Posts: 39
Joined: Sun Nov 18, 2018 6:38 am
Contact:

Re: Changing effects on evolution / changing pollution spread

Post by Tairon96 »

Thanks a lot for this boost !

In some cases, it is not exactly the thing I am aiming at ... but I hope, I can manage this cliff.

Again : Many, many thanks for your help !
Radar : Damnit, we are surrounded! :o
Artillery : Great, now I can attack in every direction! :D
_
languages
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: Changing effects on evolution / changing pollution spread

Post by darkfrei »

Tairon96 wrote: Wed Jan 16, 2019 11:34 pm Thanks a lot for this boost !
In some cases, it is not exactly the thing I am aiming at ... but I hope, I can manage this cliff.
Again : Many, many thanks for your help !
You can ask another stuff about modding. Just explain your main idea.
Mfg
User avatar
Dixi
Fast Inserter
Fast Inserter
Posts: 201
Joined: Sat Nov 04, 2017 1:47 pm
Contact:

Re: Changing effects on evolution / changing pollution spread

Post by Dixi »

/c game.player.print( Data.raw.tile.water.ageing )

Does not work for me, from console.
Says attempt to index global data - nil value. Data.raw.tile.water.ageing also do not works.

Seems should be some prefix before data. ?
User avatar
mat1k
Long Handed Inserter
Long Handed Inserter
Posts: 55
Joined: Sat Dec 22, 2018 8:48 am
Contact:

Re: Changing effects on evolution / changing pollution spread

Post by mat1k »

Dixi wrote: Mon Aug 12, 2019 1:18 pm /c game.player.print( Data.raw.tile.water.ageing )

Does not work for me, from console.
Says attempt to index global data - nil value. Data.raw.tile.water.ageing also do not works.

Seems should be some prefix before data. ?
Data.raw is not available when the game is running.
You need to use the api but I'm not sure how to get the aging from that.
https://lua-api.factorio.com/latest/index.html
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: Changing effects on evolution / changing pollution spread

Post by darkfrei »

Tile prototypes:
https://lua-api.factorio.com/latest/Lua ... otype.html

Code: Select all

local tile_prototype = game.tile_prototypes[tile_name]
User avatar
Dixi
Fast Inserter
Fast Inserter
Posts: 201
Joined: Sat Nov 04, 2017 1:47 pm
Contact:

Re: Changing effects on evolution / changing pollution spread

Post by Dixi »

OKay, I can read and print it, but can not change.

Code: Select all

/c local t1 = game.tile_prototypes["water"]
game.player.print( t1.emissions_per_second ) 
t1.emissions_per_second = 0.001
Print displays 5e-06, that looks realistic, since I saw 0.000005 number related to water tiles before.
But LuaTilePrototype is read only.

Does it means, that pollution absorption levels is not possible to change for all tiles of a type, while game is running?
User avatar
darkfrei
Smart Inserter
Smart Inserter
Posts: 2905
Joined: Thu Nov 20, 2014 11:11 pm
Contact:

Re: Changing effects on evolution / changing pollution spread

Post by darkfrei »

Yes, prototypes can be changed on the data stage, but you can place hidden entities for higher pollution absorption.

Why per second is per tick?
emissions_per_second :: double [Read-only]
Amount of pollution emissions per tick this tile will absorb.
Post Reply

Return to “Ideas and Requests For Mods”