[Done for V0.38] Some kind of "Counter Query" Wall
Posted: Sun Feb 26, 2006 10:44 pm
Ok, this one's a bit zany, but 0.35 is so much more powerful than any previous RTC, and this one would be another huge step in that direction.
Right now, counters are useful for simplistic purposes, but their functionality is somewhat limited. I propose to add some sort of a "counter query" object that will allow counters to be used as generalized variables. Its first target is, of course, a counter. Alternatively (if this is simpler) it could simply control any counters in the same square as it.
It then has the standard list of actions (ACTIVATE, DEACTIVATE, TOGGLE) etc. and a list of relays, triggers, and so on to target. The trick is that each of these is paired with a condition: "Less Than," "Greater Than," or "Equal To," and a number.
When the counter query gets an ACTIVATE, it checks its list of targets, and only sends the applicable signal to a target if the condition is matched. For example, if a door is targeted with "Equal to 3", and the Counter Query gets an ACTIVATE, the door will only be opened (or shut) if the counter is set to 3. If it is instead "Less than 3", it will get sent the signal any time the counter is less than three.
An object like this would allow an emulation of DM AND/OR gates, make "shops" and such much easier, and probably allow even more interesting and insidious counter puzzles. (Combination locks, anyone?)
Right now, counters are useful for simplistic purposes, but their functionality is somewhat limited. I propose to add some sort of a "counter query" object that will allow counters to be used as generalized variables. Its first target is, of course, a counter. Alternatively (if this is simpler) it could simply control any counters in the same square as it.
It then has the standard list of actions (ACTIVATE, DEACTIVATE, TOGGLE) etc. and a list of relays, triggers, and so on to target. The trick is that each of these is paired with a condition: "Less Than," "Greater Than," or "Equal To," and a number.
When the counter query gets an ACTIVATE, it checks its list of targets, and only sends the applicable signal to a target if the condition is matched. For example, if a door is targeted with "Equal to 3", and the Counter Query gets an ACTIVATE, the door will only be opened (or shut) if the counter is set to 3. If it is instead "Less than 3", it will get sent the signal any time the counter is less than three.
An object like this would allow an emulation of DM AND/OR gates, make "shops" and such much easier, and probably allow even more interesting and insidious counter puzzles. (Combination locks, anyone?)