Quality of Life research


Adds bonuses and optionally research for bigger bags (more inventory space), movement/walking/running speed, character hand crafting speed, long reach (optional far resource reach), and player mining speed. Use settings to choose which ones you want, either through research or by just choosing a value yourself.

Utilities
5 days ago
0.15 - 2.0
180K

g [Invalid] Weird interactions with SE science rescaling

4 years ago
(updated 4 years ago)

I made a mod that's meant to reduce the overall usage of space packs by increasing the earth pack counts, while reducing the cycle count. But when used with your mod, it creates some bizzare interactions with all of your techs except the final tier having 1k of each earth pack. Also, looking at the logs, it looked to me like each tier of the techs ended up effecting ALL techs, some sort of feedback cycle. Do you have anything like that set up by chance?

as in: tech.unit.ingredients = a table variable
I think that this is a dangerous appraoch, since changing it in one tech will change it in all of them.
Consider using table.deepcopy instead.

4 years ago

The tech's ingredients table is shared between all technologies of the same tier.

I strongly disagree that this is "dangerous", and any mod that modifies other mod's prototypes (especially procedurally) should account for aliasing. (It's trivial to prevent editing the same ingredients table multiple times.) I think unnecessarily slowing down loading speed and increasing memory usage by duplicating the data should not be encouraged.

However, if you feel strongly about it, it's a minor change on my part, I'm willing to change it.

4 years ago

Does it really save a significant amount of time? The number of techs you're mod has is fairly small, in comparison to the big picture.

Accounting for the change effecting everything is fairly difficult, as my mod is meant to be able to support techs that are imbalanced by design. The best I can do is perform the deepcopy on my end.

4 years ago
(updated 4 years ago)

If you're just modifying based on what ingredients there are, then simply add every table you processed to a table as key, and skip reprocessing. Even saves on performance. In code:

local visited = {}
function transform_ingredients(ingredients)
    if visited[ingredients] then return end
    visited[ingredients] = true
    -- do transformation
end

Does it really save a significant amount of time? The number of techs you're mod has is fairly small, in comparison to the big picture.

In any individual case, it's unlikely to make a significant difference. It's more about methodology, doing it in one place won't hurt, doing it by default everywhere will.

New response