I7: Pushing all the buttons

Hi gang, I’m stuck and need a little help. I have a panel which has four buttons on it, they are part of a panel. So, something like the following.

buttons are a kind of thing. A button is either pressed or unpressed.  It is usually unpressed.
Instead of using a button, try pushing the noun instead.
The circuit panel is a thing.  

The button1 is a button.  It is part of the circuit panel. 
The button2 is a button.  It is part of the circuit panel. 
The button3 is a button.  It is part of the circuit panel. 

The buttons work fine individually but how do I allow commands such as “x buttons”, “x all the buttons”, “push all the buttons” etc.


Understand “buttons” as the plural of a button.

Then you’ll probably need to open up those actions to allow multiple objects. Understand “x [things]” as examining. Understand “examine [things]” as examining. Understand “push [things]” as pushing. Et cetera.

If you don’t want to allow all those actions to apply to multiple items other than the buttons, you could create a dummy object “buttons” that intercepts commands like “x buttons” and redirects them to every button in turn. I did this with the latches in Faithful Companion here, though looking at my code part of the reason I did that instead of allowing examining multiple objects involved some stuff I was doing with stored actions.

If you’re doing this you have to write a separate rule for every action that you want to allow to apply to all the buttons, but if you’re using the Understand as a plural route you have to include a new understand line for every such action, so that might not be any more convenient.

(You could maybe try disallowing certain actions when the multiple object list includes things that aren’t buttons, but I have to run so I can’t elaborate on that right now.)

Thanks for the help. I’m going to try both approaches, to see which works best in my game.