Noxys Waterfill

by _Noxy_

Various placeable waters. Very configurable.

Utilities
19 days ago
0.15 - 2.0
28.2K

g Removal of Cliffs

4 years ago
(updated 4 years ago)

Hi Noxy,

I was using this mod for a multiplayer game, and suddenly I've found someone removing cliffs with the shallow waterfill instead of using cliff explosives. This happen because 1 shallow waterfill + 1 landfill costs way less than 1 cliff explosive to craft. This dirty trick lets the ground full of little landfill tiles where the cliffs previously existed. I believe this is clearly not the intention of the waterfill mod.

To remedy the issue, I would like to suggest to block the usage of waterfills on any tiles close to a cliff. Alternatively, if that is not possible, balancing the recipe cost would make the cliff explosives cheaper to produce than the waterfill, and keep the waterfill more in-line with the cliff explosive cost.

easy => shallow waterfill: 10 explosives + 1 empty barrel + 1 grenade
normal => shallow waterfill: 20 explosives + 1 empty barrel + 1 grenade
hard => shallow waterfill: 40 explosives + 1 empty barrel + 1 grenade

All modes:
deep waterfill: 50 shallow waterfills

Ideally, it would be very nice to allow players to configure the amount of each of these 3 ingredients in mod settings.
I know the difficulty settings adds circuit boards as requirement, but I would rather use research to unlock deep waterfills a bit later and let shallow waterfills available in an early game research.

4 years ago

Heya dabalciunas,

I've known about the ability to remove cliffs or even biter nests and many other entities (by accident and on purpose) by waterfill and yet I have not added a "fix". This is because implementing a fix for this requires me to do entity lookup on placing of tiles ... which if you think about it is not that good of an idea. Yes it is theoretically possible however the performance constraints I set for this mod simply don't allow this. Imagine using bots to place waterfill or any other tiles (they go through the same event) each one of those tiny tiles will need a entity lookup of at least 3 tiles (in case of deep water at least 5 tiles) which on its own isn't that expensive but on large scale can rapidly degrade performance to an extent you don't want the mod anymore ;)

So unfortunately I have to say no to protecting entities (cliffs in your request).

Since this mod is all about waterfill and not balancing the game I have to also say no to making this mod adjust a recipe of an unrelated item (cliff explosives). We call this feature creep in the software development business and is one of the major causes of missed deadlines and unmaintainable software.

I've never really liked the way I have done the difficulty presets or the recipe / research requirements. I'm thinking of redoing that part but not sure yet how I want it.

I've not really thought about making deep water different in requirements before however now with my swimming mod there can be an actual difference between the variants making it logical to add a difference in requirements too. I'll look into that too.

I'll look into making requirements (recipe and research) more customize-able.

4 years ago

Wow, the customization of the recipes would be really nice! Since you already have done all the hard-working on the waterfill business stuff, having a way of changing the recipe cost for each individual ingredient instead of that difficulty levels would provide a really flexible mod. And yeah, increasing the deep waterfill cost a lot plus having the swimming mod makes a lot of sense: the deep waterfill kill exploit would not be used so frequently because people would prefer to use the shallow waterfill.

Regarding the recipe ingredient types, well I wouldn't have asked you to include the grenade and the barrel if they didn't were that important: they make the recipe harder to craft and make one think about using the cliff explosives instead when the purpose is just removing a cliff. It doesn't block the player from doing that, but at least doesn't motivate him to do it so due to the recipe cost. I believe it is also quite hard to define "additional ingredients" by settings, so if you have a better idea on increasing the requirement costs, I'm eager to test it.

Anyway, my point just is: if everyone wants to research waterfill when it is available in-game, then why research cliff explosives when it is simply crap compared to what waterfill can do, and with such cheaper cost? ;-)

4 years ago

I've added a couple of settings in the just released 0.2.1 version. Check em out and tell me if this is what you wanted ;)

Read their mod setting description! The recipe overrides can stop waterfill from loading if you make mistakes. So make a backup of your mod-settings.dat file!

Enjoy!

4 years ago
(updated 4 years ago)

PS: I'm sorry for the late reply, real life problems forced me to stay away for some time...
Yes, the custom recipe system works like a charm, I wish more modders did the same in their mods. This is awesome, thanks a lot for that!

I've been playing with the newest version of your mod, and just wanted to state some interesting conclusions about the Shallow Water:

  • Players and biters can walk over it with 80% speed. This means you cannot simply wall your base with shallow water to get 100% protection from biters. It helps a bit for harsh enemy map settings, but you still need your base defenses anyway. The recipe cost and time can be adjusted accordingly to avoid spamming of shallow water in the early game. This is great.

  • It is possible to build offshore pumps on shallow water. In case you generate a dry world with water disabled in map generation settings, you are not restricted to the initial water patch, because you can simply design a small shallow water lake where required, and place some offshore pumps there. No specially modded pumps are required. For me, those mods which allow stuff like water-pumpjacks for "extracting water from the underground" are just the same as getting "free water" from everywhere. This sucks because there is no cost and no challenge there. By using your mod, the shallow water requires a lot of material to be manufactured, and the shallow water lake takes out some space from your factory, which is great.

  • Cliffs can still be removed with waterfill, but if you set the recipe of shallow water to something like this: "fluid:water=1000,item:empty-barrel=100,item:explosives=100,item:grenade=1", then simply no one would use it that way. It is better just make some cliff explosives instead.

With that in mind, I've been playing mostly just with shallow water, because it is the best waterfill design. Normal water and deep water are just too overpowered: they may kill entities and they are unwalkable. So I simply set their manufacturing requirements to something huge, but that still make them available in the manufacturing menus.

Some players also believe these features are too overpowered, and that is why they don't exist in vanilla, and make the game much easier when exploitet. I would simply suggest to be implement an option to enable/disable the waterfills by type - e.g. just "mud water" and "shallow water" can be manufactured.

4 years ago
(updated 4 years ago)

Ok, I might have found an issue: If the deep waterfill is disabled, and you let the recipe override field filled, the game will crash at load time because there is no such recipe. I believe just checking whether the recipe exists before setting its ingredients would solve the issue:

for _,r in pairs{"waterfill", "deepwaterfill", "waterfill-green", "deepwaterfill-green", "shallowwaterfill", "mudwaterfill"} do
...
if #recipe > 0 then
if data.raw.recipe[r]
data.raw.recipe[r].ingredients = recipe
end
end
...

Or maybe just simply skip the whole loop iteration if the given recipe does not exist.

2 years ago

In version 0.4.2 it is no longer possible to remove entities with my waterfill (this should include cliffs). This should resolve your initial issue completely.

With regards to the recipe override issue in your last post I don't think I will fix this as people using the recipe override should be careful and knowledgeable enough to fix this issue themselves ;)

2 years ago
(updated 2 years ago)

If the issue is not fixed, the game will crash with wrong settings. There is a good chance the person might need to reset all mod settings, which in some cases is a huge pain. I strongly recommend the small fix above, since it runs just once during the game's start. Believe me, in this case, this is not babysitting the mod users, but actually defensive coding for a case which may indeed happen frequently. Thanks for all your support so far.

2 years ago

Should be fixed now.

New response