Seldion wrote:bobingabout wrote:bobmining should help there, I think. didn't I go through this already? it's seems famillier.
Yes it does, but I guess no one fully reads what I say, I have infinite ore on, with the way ore mining is set up, it randomly selects a ore patch in its operation range, and mines it, randomly picks and repeats, but when the ore gets a low yield it doesn't always get a ore item, so to get maximum efficient I either need a very over powered miner like AAI mobile miner or the omega drill or a way to mine each ore patch only so that I can mine every ore patch separately instead of wasting space.
I know this is a long shot but by chance is there a mod out there that adds the ability to set each research lab to research something instead of all on one?
Late game I'd enjoy the ability to research multi-able infinite researches at once.
I see what you mean with what you're after for ore patches.
As for the research... not as far as I'm aware, the way research works is one of those things built into the game code itself, not in the data files.
Everything below this point is just me rambling about how a modder could in theory make something like this possible.
There are quite a few research related things in scripts that could possibly work around this.
Code: Select all
get_saved_technology_progress(technology) → double
set_saved_technology_progress(technology, double)
research_progress :: double [Read-Write]
current_research :: LuaTechnology or string [Read-Write]
enable_all_technologies()
research_all_technologies(include_disabled_prototypes)
reset_technologies()
reset_technology_effects()
and a technologies list that uses everything listed on this page
http://lua-api.factorio.com/latest/LuaTechnology.html
Relevant ones only:
Code: Select all
name :: string [R] Name of this technology.
enabled :: boolean [RW] Can this technology be researched?
researched :: boolean [RW] Has this technology been researched?
prerequisites :: dictionary string → LuaTechnology [R] Prerequisites of this technology.
research_unit_ingredients :: array of Ingredient [R] Ingredients labs will require to research this technology.
effects :: array of Modifier [R] Effects applied when this technology is researched.
research_unit_count :: uint [R] Number of research units required for this technology.
research_unit_energy :: double [R] Amount of energy required to finish a unit of research.
level :: uint [RW] The current level of this technology.
research_unit_count_formula :: string [R] The count forumula used for this infinite research or nil if this isn't an infinite research.
The problem is, although you can check what a research does, and if it is researched or not... you can't say "Make this technology researched, and unlock all of it's goodies", you can only set it to researched or not, which does NOT unlock everything that it would had you actually researched it.
in other words, every time a lab finished it's research chain, it would need to set that technology as the active research, set it to 100% progress, then let it tick, which would interrupt gameplay with the "This technology is now researched" alert, not a bad thing unless you have the "Interupt me to choose a new research" turned on, which then pauses the game and presents you with the technology screen, which wouldn't do much more than let you see the technologies as the mod is taking over how research works. At this point research for the specific technology could be set for that machine that finished it's research based on what the player chooses.
Alternatively, it might be possible to tell the game it has been researched by setting the researched flag directly on the technology, which doesn't actually unlock anything, then call reset_technology_effects(), which in theory SHOULD remove all effects as a result of research, then run through the list of technologies and apply them all again if the researched flag is set. Slightly long winded method that could lag the game for a moment, as it is supposed to be used only on game state changes (removed a mod, added a mod, or changed a onstartup mod config option(which can add or remove content from the game like adding or removing a mod).), so it is normally only called when you load a game, a point where you wouldn't notice the lag.
There's also the slight issue of.... how does research cost packs? the lab isn't going to work automatically and consume packs like normal, it can only do that with the base game system. it... makes things messy. you would either have to come up with an entirely new method of researching, or not actually use a lab. you could use some sort of assembling machine that crafts some arbitrary item that a script looks for and deletes to add counts towards research.
Another advantage of using such a machine is that it doesn't have to cost science packs. You could have automation 2 cost assembling machines, and a few raw resources like gears and electronics, yet logistics 2 cost inserters and belts. You could even have it cost all of everything up front so that when this one item is crafted it unlocks the technology, but that means only 1 machine can research a thing at once, building more than 1 of the item would be pointless. requiring 100 of these items that are consumed automatically upon creation would be a better way to go, but then you still have the issue that if more than one machine is making the thing, all other machines part way through a cycle, their ingredients will be lost as the recipe is removed on the completion tick. This is why science packs were changed to a tool, so that the bar slowly goes down per tick rather than a whole pack being consumed, because if you had 10 labs researching something that cost 100 packs, you would likely end up with a final cost of 109 packs, as when one of them completes the research, the other 9 were part way through researching, and everything gets dropped. That situation would return.
This is actually something a few people ask for with my mods too. In my mods I add different types of labs, that cost different research items, so you can't use the same lab as normal to research Modules, or Alien related things, each has their own lab. The problem is that the way the base game works, even though you're using an entire different set of labs, it uses the same progress bar, meaning you can't use them both at the same time.