Friday, February 16, 2024

Proposal: If You Build It, They Will Come

Timed out, 1-2. Failed by JonathanDark.

Adminned at 19 Feb 2024 05:38:36 UTC

If the Proposal “Caution - Construction Zone Ahead” was not Enacted, this Proposal has no effect.

In the subrule “Structures”, replace the text “Structures, which is a list” with “Structures, which is a publicly-tracked list”.

In the rule “Serfs” add a subrule named “Workyard” with the following text:

There is a Workyard which is a publicly-tracked list, defaulting to an empty list, where each entry contains a Vassal, a Structure, and a number named Percent Complete which ranges from 0-100 inclusive and defaults to 0.

The Construct atomic action has the following steps:
* If the Workyard does not yet have an entry matching the Vassal and Structure for this instance of the Construct atomic action, add an entry to the list with that Vassal and Structure.
* Add 20, minus 2 for each Serf over the first Serf assigned to this Task, to the Percent Complete, setting it to 100 if it would be larger than that, for the entry matching the Vassal and Structure for this instance of the Construct atomic action.
* If the preceding Percent Complete value is 100, remove its entry from the Workyard list and add that Structure to that Vassal’s Structures.

In the subrule “Tasks”, add the following to the table:

|-
| Build X || For each Assigned Serf and a Structure “X” specified at the time the Serfs were Assigned to this Task, execute the Construct atomic action for Structure X. A unique “Build X” list should be publicly tracked for each Structure “X” that has Serfs assigned to this Task.

It might be a little too complex. I’m suggesting the idea that the Serfs have to work at the Build task for some time to build a Structure. There’s also an inefficiency built in where more Serfs assigned to the Build task will get it done faster, but slightly less fast per Serf.

Comments

Desertfrog:

17-02-2024 07:59:00 UTC

against I’d prefer something much simpler

JonathanDark: he/him

17-02-2024 19:33:14 UTC

Understood. Right now, Structures is not publicly tracked, so that should probably be fixed somewhere:

In the subrule “Structures”, replace the text “Structures, which is a list” with “Structures, which is a publicly-tracked list”.

JonathanDark: he/him

17-02-2024 19:40:38 UTC

I went ahead and just patched it myself in case this Proposal fails.

Vovix: he/him

18-02-2024 21:50:52 UTC

against I don’t mind the complexity, but this does mean that any structure would take 2-5 turns to build *and* take up workers in the meantime.