Describe module

Stephen Zepp zoran at enid.com
Tue Dec 16 14:04:02 CET 1997


This is a multi-part message in MIME format.
--------------CD4E795835AC7B8A41D4867B
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I've been thinking about this for a few days, after hearing about it here and seeing it on Kavir's mud, and I'd like to
hear thoughts/suggestions on a generic module to describe objects, people, etc.For simplicity's sake, I'm gonna just
talk about objects here.  In addition, ( I'd like to see if this works ), I'd like to keep a "data definition" block at
the top of the message and all replies, so that we can update info easily for all people that are interested to stay
current.  I suggest cut/paste of this definition block from message to message, adding in any changes with a /* person's
name */ so that we can all stay current...not sure if this is gonna work, but might make it easier!


DEFINITION:
module to describe an object to a player dynamically based on features of the object, illumination, perception of the
viewer, and knowledge of the user, taking into acount actual features and any "spoof", or disguised features.

features_type:
{
  string_array * format[MAX_ILLUM_LEVEL];/* X amount of char * format, allowing for different
					  * illumination levels.
					  * format[ILLUM_BRIGHT].msg = "$n $d.#P $e, and $s.#-P #M $a $m.#-M #S"\						  * armourer $q #-S." 
                                          * etc., one format string for each illum level */
  feature_val base;
  feature_val encrusted;
  feature_val engraved;
};

feature_val is your storage method of values of various things relating to the object:
  base : material, general obvious info like stained, damaged, broken, pointy, etc.
  encrusted: things that are "attached" to the object...gems, wrappings, glued on, whatever.
  engraved: sigils, runes, names, whatever might be written on an object.
format strings:
  how the info is presented for this object.  $ values are textual conversions of feature_vals, and # values are
  character specific checks:
  $n name ( namespace or item class type if not named )
  $d general obvious description stuff
  $e encrusted descriptions
  $s sigils, engravings, runes
  $a magical auras
  $m other magical "spells" embedded in the object
  $q quality of the object

  #P check char perception
  #M check char magical sight
  #S check specific player skill named in next keyword
  #-<X> close specific check.

END DEFINITION



Okay, now an explanation :)  This is a first run design, trying to get some brainstorming going, so a lot of things
haven't been thought out.  
	First of all, an object has a set of real features, and a set of "disguise" features. Perception is automatically
checked for each $ val to determine which to use, and different features from each may be noticed ( disguised and real
).
	The format string is _one_ idea to help avoid having samo samo descriptions of objects.  Normally, stock descs will be
used, but it allows the olc to give specific prototypes for the complete description text.
	$ vals work similar to Merc's act values, defining places within the output string to redefine based on atm features of
the object.
	feature_vals are dynamic, some able to be changed after object creation, some not.
	I'm thinking that each way of observing an object ( scan, look, study ) gives different chances of penetrating
disguises, and noting smaller details.
	One major problem so far that I see is that once you know that Sting has three emeralds and a ruby hidden in the hilt,
you should always be able to see them, and if someone points them out to you, you should be able to see them even if
your perception sucks ( well, not _always_, but you get the idea).


Okay, comments?

Zoran
--------------CD4E795835AC7B8A41D4867B
Content-Type: text/x-vcard; charset=us-ascii; name="vcard.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Stephen Zepp
Content-Disposition: attachment; filename="vcard.vcf"

begin:          vcard
fn:             Stephen Zepp
n:              Zepp;Stephen
org:            Lords of the Shadow ( telnet://soe.nuc.net:8888 )
email;internet: zoran at enid.com
x-mozilla-cpt:  ;0
x-mozilla-html: TRUE
version:        2.1
end:            vcard


--------------CD4E795835AC7B8A41D4867B--




More information about the mud-dev-archive mailing list