Planetary Fuels


Adds variants of Nuclear Fuel specific to some non-Nauvis planets.

Content
3 months ago
2.0
160
Manufacturing Power

g Necrotising Bacteria - Grey Goo Suggestion

3 months ago
(updated 3 months ago)

I figured this would fit almost too well, but might Necrotising Bacteria perhaps be altered to fit into a kind of Grey Goo theme that multiplies by spoiling, filling and eventually rupturing the chest/buffer it is in when full, then spreading over the ground as an infinitely outward creeping item_on_ground?

Not very straight forward to implement, but it would fit the theme of Gleba very well as a spoilable that simply spoils into more of itself, requiring careful balancing to produce enough of, and then keep its numbers in check.

3 months ago

Not a bad idea, certainly, but I'm not sure how to do something like that. Item spoilage is handled via a single variable of "spoil_result" in the item prototype, meaning you can only ever get one item back for every item that spoils. There's no control for number of items. Near as I can tell, there's also no on_item_spoiled event I can listen to, either - at least that I can find. Spoilage can create entities (it's how Biter/Pentapod eggs "hatch") but I can't use that to spawn items, since items are not entities.

A sort of "grey goo" is what I originally had in mind for the Necrotising Bacteria, but I don't know how to do it - or if it's even possible :)

3 months ago
(updated 3 months ago)

I believe this is usable, and you can decide how much of something is created when it spoils.
https://lua-api.factorio.com/latest/types/SpoilToTriggerResult.html

Finally, https://lua-api.factorio.com/latest/types/ItemProductPrototype.html#percent_spoiled would probably need to be queried way too often, and thus obviously unperformant, but it would give you a sort of timer were you to register those items to keep listening to, and, on spoiling, duplicate several times (call the spoil-to-trigger multiple times).

3 months ago

I believe this is usable, and you can decide how much of something is created when it spoils.
https://lua-api.factorio.com/latest/types/SpoilToTriggerResult.html

Right, but if you follow the chain calls, (SpoilToTriggerResult -> DirectTriggerItem -> InstantTriggerDelivery -> TriggerEffect), you arrive here. I can only do:

  • CreateFireTriggerEffectItem
  • CreateSmokeTriggerEffectItem
  • CreateTrivialSmokeEffectItem
  • CreateAsteroidChunkEffectItem
  • CreateParticleTriggerEffectItem
  • CreateStickerTriggerEffectItem
  • CreateDecorativesTriggerEffectItem

I can't create items on the ground. A trigger effect for them doesn't exist. I COULD create items via runtime scripts (specifically via LuaSurface.spill_item_stack), but doing so on the kind of large scale you're envisioning is going to absolutely murder performance. Remember - you're asking for this stuff to cover the map, which means an unconscionable amount of items. I'm incredibly leery of using runtime scripts for anything this massive, let alone on_nth_tick events. Oi...

Might be able to do something with spawning decoratives, though. Probably not for the Grey Goo idea, but for the improved Gleba fuel. Maybe summon plants which explode when harvested, or else spawn more of themselves when harvested, etc. That COULD be a way to propagate bacteria via native code, although it wouldn't be passive.

To be perfectly honest, I think Grey Goo ought to be its own dedicated mod. It has fairly broad implications that I wouldn't want to go quite all the way with for a mod focused on vehicle fuels. I'm fine with Necrotising Bacteria being a growing nuisance that needs to be deliberately destroyed, but probably on a smaller scale than what you're envisioning.

3 months ago
(updated 3 months ago)

A creeping mass over the ground would be a bit much for now, correct. It does still mean it possible to fill a container with it, and rupture it once full, producing a sizeable field to pick up.

The idea of having it spawn a number of decoratives on spill_item_stack is also interesting, because they are quite annoying to clean away, (repeated deconning/reconning of concrete tiles) and it isn't a surefire process. That lichen + bubbly decorative comes to mind,.

3 months ago

The idea of having it spawn a number of decoratives on spill_item_stack is also interesting, because they are quite annoying to clean away, (repeated deconning/reconning of concrete tiles) and it isn't a surefire process. That lichen + bubbly decorative comes to mind,.

Not on spill_item_stack, but on spoil. The spoilage trigger can spawn multiple entities in a scattershot pattern as it is. That's how gas grenades work - the grenade spawns one AoE damage field with a small sprite, and then a bunch of small smoke entities dispersed in that range. I haven't tried it yet, but it should be entirely possible to spawn decoratives on spoil. Especially if this is combined with the acid attack, it could destroy structures and place bacterial crap decods in their place, which yield even more bacteria when mined.

I'd still like something that can be automated, though. Maybe I can make the bacteria plants con hostile to the player faction, so Turrets can be used to cull them, like you can do with Biter and Pentapod eggs accidentally hatching. I don't know if I'll necessarily go the route of Grey Goo in the long run, but you're definitely giving me a lot of really cool ideas :) With native code support, too - at least theoretically.

3 months ago

Glad this could be of inspiration, excited to see how you implement some of this, grey goo or not.

Feel free to close the thread if you like. 🥳

New response