Proposal: I’m afraid it’s terminal
Reaches quorum 7-0 and is enacted -SingularByte
Adminned at 04 Mar 2023 06:11:45 UTC
If either of the proposals Memory Management or Round One were not enacted, this proposal does nothing. Otherwise:
To the end of The Stack, append:
Each Disk in a Stack has an Index. The rightmost Disk in a Stack, if such a disk exists, has an Index of 0. Each other Disk in the Stack has an Index of 1 greater than the Disk to its right.
To the end of the rule Disks as part of its final paragraph, append:
If a Disk’s Effect begins with “Trigger:”, then it may be activated by the Runner whose Stack it is in within 24 hours of when the triggering event described in that Disk’s Effect takes place.
Create a rule called “Terminals” as a subrule of “Disks”, with the following text:
Any Runner whose Location is set to a Cell whose value is Terminal is able to Execute, which is an atomic action with the following steps:
*They choose a Disk which is in either their own Stack, or is in the Heap in a Cell whose value is Terminal.
*They pay Power according to the following calculation:
**If the chosen Disk is in their stack, they pay an amount of Power equal to half the Index value, rounded down.
**If the chosen Disk is in the Heap and is in the same Cell as them, they pay 2 Power.
**If the chosen Disk is in the Heap and is in a different Cell than them, they pay 6 Power.
*They Activate the chosen Disk.A Runner cannot Execute more than once in a given Tick.
In the table in Disks, add the following entries:
| link.c || 1 || Trigger: If this Disk is in a Stack and the Disk immediately to the right of this Disk is Activated, this trigger is met. When this Disk is Activated as a result of meeting the trigger, the Disk immediately to the left of this Disk is activated (if such a Disk exists). This Disk, (i.e. link.c), may not be chosen as part of the Execute action.
| halt.c || 3 || You may pay 1 Power. If you do, remove the value of Terminal from a cell of your choice.
| jump.c || 2 || You may set your Location to a cell whose value is Terminal by messaging the Gridmaster stating so.
Kevan: he/him