Skip to content

Add optional built building count to recipe rows#118

Open
Saklad5 wants to merge 5 commits intoShadowTheAge:masterfrom
Saklad5:built-amount
Open

Add optional built building count to recipe rows#118
Saklad5 wants to merge 5 commits intoShadowTheAge:masterfrom
Saklad5:built-amount

Conversation

@Saklad5
Copy link
Contributor

@Saklad5 Saklad5 commented May 24, 2021

Users can now specify the actual number of buildings that are built for a recipe. This has no impact on the model itself, but makes it easier to tell if existing infrastructure needs to be revisited following a change.

A certain amount of surplus production capacity is almost always necessary, whether to futureproof, maintain belt balance, maximize beacon utility, or because demand is met by a non-integral number of machines. With this feature, that surplus can be tracked even if the recipe is linked.

Saklad5 added 4 commits May 23, 2021 14:53
This variable, which defaults to null, can be used to track the number of buildings that have actually been built. This number has no impact on the model.
Dropdown menu items for setting or clearing the builtBuildings value have been added for each recipe row.

These items mirror the behavior and implementation of those for fixedBuildings, for the most part.
The initial value is buildingCount rounded up, or 0 if buildingCount is negative.
As 0 is a valid value, clearing builtBuildings returns it to null.

Shopping lists now use the builtBuildings value instead of buildingCount if the former is not null.
The text field is only visible if builtBuildings is not null, and is placed under the building count. It is colored grey to indicate that it is not playing a role in the model.
If the number of buildings needed for the model's solution is greater than the specified number of built buildings, the recipe will now be flagged accordingly.
This makes it substantially easier to determine which recipes need to be revisited if a change is made.
To make issues more apparent, the entire page now displays an error message (like with deadlocks) if a recipe needs more machines than it currenty has built.
shpaass added a commit to shpaass/yafc-ce that referenced this pull request Feb 6, 2024
This PR extends PR ShadowTheAge#118 by
@Saklad5 (their commits were rebased for YAFC-CE)

Users can now specify the actual number of buildings that are built
for a recipe. This has no impact on the model itself, but makes it
easier to tell if existing infrastructure needs to be revisited
following a change.

A certain amount of surplus production capacity is almost always
necessary, whether to futureproof, maintain belt balance, maximize
beacon utility, or because demand is met by a non-integral number of
machines. With this feature, that surplus can be tracked even if the
recipe is linked.

My own addition is to make the check recursive so it shows the error on
the top recipe and all subgroups until the actual recipe that has not
enough buildings.


![image](https://github.com/have-fun-was-taken/yafc-ce/assets/171827/2b202499-3f5f-4ae6-8a8f-88e60a34169a)

You can see that `Tree seedling` requires 1.04 build instead of the 1 I
have. The parent group (`Wood`) also has the exclamation mark and error
message.
And the sheet itself shows a red error box with the message as well.
(not visible in the screenshot).

This makes lack of buildings more clear, compared when they are hidden
in multiple nested groups deep.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant