Added visibility as a property of verbs. I realize that the current
visibility control is limiting in a full-blown rpg where you might want
varying levels of magical invisibility and what-not. However, in worlds
(like BYOND Home) where you just want a simple mechanism for hiding certain
things from everyone but the owner, visibility is perfect. I found one major
limitation, however, and that was the inability to hide or make visible
individual object verbs. To do that, I had to add the visibility setting.
Example:
obj/verb/tweak()
set visibility = 0 //only visible to the DM
usr << "You tweak [src]."
mob/DM
sight = SEEINVIS
The visibility setting defaults to the same visibility as the object
containing the verb.
I anticipate that in some games, people will want more than just two levels
of visibility and may even want several distinct visibility classes that are
not necessarily each contained in the previous one. For now you will have
to soft-code such accessibility checks at the top of each restricted verb
and use visibility to hide as many inaccessible verbs as possible from
players. At least normal users should not have to see all the
designer-level verbs.
One nice thing about using visibility in this way is that by turning on and
off one's SEEINVIS power at run-time, it is possible to see things from
either point of view.