[code]Definition: an object (called item) is only available when touchable:
Follow the custom touchability requirements for the item;
If the outcome of the rulebook is the it must be touchable outcome, yes;
To decide whether (item - a thing) must be touched:
If item is not involved, no;
Decide on whether or not item is only available when touchable.[/code]
I’m pretty happy with the syntax here, when it works:
If the ceiling must be touched:
However, because the “must be touched” phrase is not an adjective, you can’t say:
If a high-up thing must be touched
Of course you can change the (item - a thing) to a description of objects, but that always felt like a hack to me. What I really want is an adjective, and I can’t think of one. Any suggestions?
It’s not possible to define a unary verb in I7, is it?
Ummm … I’m not quite sure what you are trying to do (sorry my programming skills are weaksauce), but are you trying to put something within scope but out of reach? There might be a more elegant way to do that…
This is for my “Flexible Action Requirements” extension. The “high-up” adjective was just an example for context, and not what I’m looking for. “Must be touched” means that the object is involved in the current action (thus it is known to be in scope), and the action requires it to be touchable. The object may not necessarily be out of reach, but if it is, this adjective will signal that a denial should be given.
Looking back at my code, I think maybe “only available when touchable” has the same meaning, and the only reason the “involved” line is in the phrase at all is to save a few cycles. Here is definitely a case where coming back to old code demonstrates poor readability. I think “available” gives the wrong idea. But I’d have to look at the rest of the code to be sure that’s what I meant.