Proposal: [Appendix] Race Condition
Withdrawn. Failed by Kevan.
Adminned at 28 Apr 2023 08:47:08 UTC
In the Appendix rule “Atomic Actions”, add the following bullet at the end of the bulleted list:
* If a dynastic action from another Engineer changed any gamestate that was referenced during the Atomic Action and was completed before the completion of the Atomic Action, the steps of the Atomic Action should be undone and repeated starting at the first step that referenced that gamestate.
Take the following situation. An Engineer “X” is performing an Atomic Action that says “subtract 10 from variable ABC if it greater than 10”. Engineer X completed this step and subtracted 10 from variable ABC, but there’s a later step that says “If ABC is greater than 5, add 100 to the Engineer’s Gold”, and Engineer X hasn’t performed this step yet.
Simultaneously, another Engineer “Y”, through a dynastic action that may or may not have been an Atomic Action, completes their action that winds up setting ABC to 0. Right now, the rules aren’t clear on what happens to variable ABC or Engineer X’s Gold. They only state that Engineer Y’s action would have occurred first, followed by Engineer X, but since they are affected by similar gamestate, the resolution of this is unclear.
This Proposal attempts to make the resolution more concrete.
Kevan: he/him
Not sure I see the unclarity in your example here.
If ABC started off at 50 and Engineer X took the “If ABC is greater than 5, add 100 to the Engineer’s Gold” step to give themselves 100 Gold, then Engineer Y’s move would change the input of that, making the Gold gain invalid, and “If one or more steps of an Atomic Action were done incorrectly, the Engineer must redo the Atomic Action”.
If ABC started at 0 and Engineer X performed the “If ABC is greater than 5, add 100 to the Engineer’s Gold” step with no effect, wouldn’t the action stand, having the same outcome whether or not Engineer Y had done anything?