1998Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Describing the environment -->
<!--X-From-R13: Egrcura Lrcc <mbenaNravq.pbz> -->
<!--X-Date: Tue, 03 Mar 1998 22:36:28 +0000 -->
<!--X-Message-Id: 34EC5ADA.845C920D#enid,com -->
<!--X-Content-Type: text/plain -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Describing the environment</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:zoran#enid,com">
</head>
<body background="/backgrounds/paperback.gif" bgcolor="#ffffff"
      text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000">

  <font size="+4" color="#804040">
    <strong><em>MUD-Dev<br>mailing list archive</em></strong>
  </font>
      
<br>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg00677.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00679.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00681.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00679.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00678">Author</A>
&nbsp;|&nbsp;<A HREF="#00678">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00678">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Describing the environment</H1>
<HR>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->
<UL>
<LI><em>To</em>: MUD- Dev &lt;<A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A>&gt;</LI>
<LI><em>Subject</em>: Describing the environment</LI>
<LI><em>From</em>: Stephen Zepp &lt;<A HREF="mailto:zoran#enid,com">zoran#enid,com</A>&gt;</LI>
<LI><em>Date</em>: Thu, 19 Feb 1998 10:16:26 -0600</LI>
</UL>
<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<HR>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<PRE>
This is a re-post of a previous message, do to the revival of a similar thread.

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
  #-&lt;X&gt; 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?

Z

</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<ul compact><li><strong>Follow-Ups</strong>:
<ul>
<li><strong><A NAME="00679" HREF="msg00679.html">Re: [MUD-Dev]  Describing the environment</A></strong>
<ul compact><li><em>From:</em> Richard Woolcock &lt;KaVir#dial,pipex.com&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00677.html">Re: [MUD-Dev] Unique items (was: Graphic MUDS/Ultima Online)</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00679.html">Re: [MUD-Dev]  Describing the environment</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00681.html">Re: [MUD-Dev]	Tutorial: Let's build a Compiler!</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00679.html">Re: [MUD-Dev]  Describing the environment</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00678"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00678"><STRONG>Thread</STRONG></A></LI>
</UL>
</LI>
</UL>

<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<ul><li>Thread context:
<BLOCKQUOTE><UL>
<LI><strong><A NAME="00684" HREF="msg00684.html">Tutorial: Let's build a Compiler! - Part XIV: Types</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Thu 05 Mar 1998, 04:23 GMT
<LI><strong><A NAME="00683" HREF="msg00683.html">VEIL Network Protocol</A></strong>, 
Brandon Gillespie <a href="mailto:brandon#roguetrader,com">brandon#roguetrader,com</a>, Wed 04 Mar 1998, 15:32 GMT
<LI><strong><A NAME="00682" HREF="msg00682.html">Monthly FAQ Posting</A></strong>, 
Ling <a href="mailto:K.L.Lo-94#student,lboro.ac.uk">K.L.Lo-94#student,lboro.ac.uk</a>, Wed 04 Mar 1998, 13:28 GMT
<LI><strong><A NAME="00681" HREF="msg00681.html">Re: [MUD-Dev]	Tutorial: Let's build a Compiler!</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Wed 04 Mar 1998, 01:39 GMT
<LI><strong><A NAME="00678" HREF="msg00678.html">Describing the environment</A></strong>, 
Stephen Zepp <a href="mailto:zoran#enid,com">zoran#enid,com</a>, Tue 03 Mar 1998, 22:36 GMT
<UL>
<LI><strong><A NAME="00679" HREF="msg00679.html">Re: [MUD-Dev]  Describing the environment</A></strong>, 
Richard Woolcock <a href="mailto:KaVir#dial,pipex.com">KaVir#dial,pipex.com</a>, Tue 03 Mar 1998, 23:43 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00672" HREF="msg00672.html">Tutorial: Let's build a Compiler! - Part XIII: Procedures</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Mon 02 Mar 1998, 21:39 GMT
<LI><strong><A NAME="00671" HREF="msg00671.html">Tutorial: Let's build a Compiler! - Part XII: Miscellany</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Mon 02 Mar 1998, 21:38 GMT
<LI><strong><A NAME="00670" HREF="msg00670.html">Tutorial: Let's build a Compiler! - Part XI: Lexical Scan Revisited</A></strong>, 
Jon A. Lambert <a href="mailto:jlsysinc#ix,netcom.com">jlsysinc#ix,netcom.com</a>, Mon 02 Mar 1998, 21:38 GMT
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>