PythonMOO
Theme-Programming: Message 1

Theme-Programming

A list for discussion of programming projects related to the theme and layout of the MOO. NOT for general programming discussion (see *programming for such).

Message 1:

Date:     Sun Mar  5 21:06:12 2006 GMT
From:     WizFennec (#747)
To:       *Theme-Programming (#776)
Subject:  Interesting local changes

Okay. I've been working on a variety of tweaks to local systems, to help put things together in a
 spiffier fashion. Among recent changes:
1) ANSI titles for rooms. They're not pretty, but they work. You need to set the room's .ansi_title
 property to a list of the form {{text,text-with-color}} - for example, if you had a place called
 The Green Room you could set its .ansi_title to {{"green","[green]green[normal]"}} and it would
 show up as "The [green]Green[normal] Room". (I make no promises regarding the default-type bolding
 present in rooms' headers. Use a $region if you'd care to override this...)
2) Pronoun substitution changes. Chances are, you won't notice this, but... you can now define a
 :get_pronoun verb of the same sort as $gender_utils:get_pronoun. This is now called by
 $string_utils:pronoun_sub (and thus $you:say_action).
2a) Player descriptions are now piped through $string_utils:pronoun_sub. I'm sure people can come
 up with interesting things to do with this- I don't know that they care to, though. Once I get my
 Hook Player Class  running perhaps it will be good for some sort of morphing system. In the
 meantime, if you're using things like "his" and "he" and "her" "herself" in your description,
 consider using pronouns like %p, %s, %o, %r... the usual, you know?
3) @where enhancements.  This verb is actually useful now! Instead of just a who-where report it's
 now a where-who report:  it will put the most popular place first so you can know where to go if
 you want to Hang Out. Also,  it uses the ANSI colors for the various places.
4) This has been around a while, but: @when. It shows you the last connect *and* last disconnect
 times, and the present time: which is more than @who will do. 
5) Did I mention $region? Ah, yes. If you have a room and set its .place to an object, the room
 will now try to get special formatting-type metadata from the object, instead of the room. Right
 now, this is mostly about the room header, normally that blue line of squiggles ~~~~~~~. If you
 intend to have a number of related rooms, you should probably make a $region to attach them
 together. Just set each room's .place to the region, manually for now... In the future we may come
 up with fancier things to do about grouping these rooms together like this.
6) Random useful generics. $pin. $wearable. $carried. $foldable. We have a $furniture and will soon
 have a $chair, once I can get SunNET to port the darned thing over. $stick. $remote! (It opens
 temporary portals from one room to another!) For that matter, $portal. (If you want to just have
 one around, try to be sure and set its .permanent before it automatically collapses...)
7) Room generics. Please consider using #958 as the parent for all your rooms. It supports all
 sorts of neat stuff like integrating descriptions... some day we may add electricity support and
 lighting, too (the bulk of the code is already available elseMOO, it's a matter of installation...)
More useful stuff as it happens!
[Last Page] [Next Page]