Crafting effort is being ignored

It is only considering the work_units.
Example:

{
	"type": "recipe",
	"effort":1000,
	"work_units": 3,
}

Will not take 1000 minutes (effort) to craft as expected, it will only take 10 or so which is the time it takes to run the animation 3 times (work_units).

At the beginning of components/workshop/crafting_progress.lua is the following line:

local USE_EFFORT = radiant.util.get_config('use_effort_crafting', false)

Later on, this check is made:

-- TODO: once progress-bar crafting is in, remove config and check for recipe.effort instead
if USE_EFFORT and recipe.effort then

So it looks like that TODO wasn’t completed (I can find no other reference to the use_effort_crafting field anywhere in the game files, so it’s not getting set to true), though you could perhaps manually enable effort by setting that field in your config? Otherwise I think you just have to use work_units instead of effort.

1 Like

You are right Paul. I edited my post into a proper bug report. I had checked that file before, but as other recipes were actually taking a lot of time to craft, I assumed it was working… I tested with simple recipes, like a farmer hoe and it had no effect, it is indeed only using the work_units.

The proper fix for this is to simple remove the USE_EFFORT variable and stop checking for it in the following condition.

That pretty much means all my mods are unbalanced since I was basically ignoring work_units and only taking effort into consideration since it was said in a lot of places that work_units was gone and effort was now being used - and that work_units was only left behind due to retro-compatibility.

So our lives have been a lie?
Everything is a lie?

I mean, it gets a little bit worse if you consider that the in-game crafting window displays the effort of the recipe.

1 Like

Yes. I put a lot of effort into balancing that too and was under the impression it was all fine…
When everything is fixed and working again we should not even need that work_units in the files anymore.

1 Like

For someone who has - not–been balancing these numbers but keeping them roughly simmilar to the closest vanilla objects, how - should–it work?

1 Like

Seems like it was never enabled then :thinking:
I guess because of the balancing, there are many items to check.

With it enabled, some players might feel desperate when trying to craft certain items and might even think it’s a bug (what if they can’t craft an important item in time for a quest? or if they can’t finish buildings because it takes ages to finish crafting all the fixtures?). I’ll have to consult with devs later.

The idea was to make crafting times longer, but that might not be a good idea anymore (this is more about the balancing, of course that it’s good to have crafting time not be dependent on animation and take job level, mood and grogginess into consideration).

In the modding guide I warn that “effort” might or might not be enabled, so you should have both effort and work_units just in case.

From what I can see, it will be all fine. That is why most of us was under the impression that the system was actually working. Recipes with high effort takes longer than those with low effort. A fence is super quick to make while a bow takes a while. Comparing the values I can see that after a fix some recipes will became a little faster while others a little slower. But the difference is not much.

For a system that is almost set and forget, I guess the player would not notice. If he does, it would be for better as now the times would at least match the item description. :slight_smile:

3 Likes

I agree that the change would be for the best, not only because effort is displayed in the game already (so at the moment it is an inconsistency) but also because effort gives a lot more control overall - relying on something relative as the animation time is worse than having an absolute and easily scalable amount.

If it ends up requiring some balancing I suppose players could come up with an easier/fast list rather than have the devs go over each recipe themselves, but as Bruno says they do seem to be already balanced

1 Like

I’m surprised that TR doesn’t seem to have used feature branches at all, which would ensure this type of (honestly quite embarrassing) disconnect between different elements of the project (in this case the workshop GUI and actual code). Would also stop a lot of the half-finished classes ect. In the game files back in the days when we we’re politely asked not to use them for things.

Wondering if there was some rationale for this? Or is that you do uses them and this just happened to slip through the cracks late in development?