[DGD] Standard description conventions.

Christopher Allen ChristopherA at skotos.net
Wed Aug 24 03:55:05 CEST 2011


On Wed, Jun 15, 2011 at 5:53 PM, Shentino <shentino at gmail.com> wrote:

>  SIMud features:
>
> distant: a gold coin
> specific: the gold coin
> brief: gold coin
> long & look:  I can't ever remember which one of these has the inside view
> and which one has the outside view.  They're both detailed descriptions,
> but
> one of them is for being *inside* the object and the other for being
> *outside*
>
> Phantasmal features:
>
> brief: a gold coin
> long:  The sparkly round metal device seems to serve the purpose of
> monetary
> exchange. (the long description appears to be for both the inside and
> outside views of an object from what I can tell.)
> examine:  <long>\n\nImprinted on the coin is 1776, the date of its minting.
>
> And who knows what SkotOS or indeed any of the other mudlibs out their use.
>

If the object is a "simple" SkotOS object (most of our "common" items are
not as they managed by libraries, such as clothing, furniture, etc. so that
color, condition, shape can be modified by skills) then they might look like
the following (in KARmode, our simplest editor, there is also a web editor
and an XML version):

DETAIL [default]
Brief: red rose
Look: A deep red rose.
Examine: A rose with deep red petals.
React-post:sense/smell-dob: [*
  The deep red rose has a rich, rose-scented floral bouquet, with a slight
sweet undertone of musk.
*]
React-post:sense/taste-dob: [*
  The red rose petals have a somewhat bitter, grassy taste, with a slightly
fruity aftertaste somewhat like a ripe peach. The petals have a a kind of a
soft gritty texture and are somewhat succulent.
*]
React-post:sense/touch-dob: [*
  The stem of the red rose is stiff and has many sharp thorns, but the
petals are velvety soft.
*]
SName: rose
SName: flower
PName: flowers
PName: roses
Adjective: deep
Adjective: red
----------------------------------------------------------------------
DETAIL [petals]
Brief: the red petals of a rose
Look: The deep red petals of a rose.
React-post:feel-dob: [*
  The deep red petals of the rose feel very soft, almost velvety.
*]
React-post:touch-dob: [*
  The deep red petals of the rose feel very soft, almost velvety.
*]
SName: petal
SName: petals
PName: petals
Adjective: deep
Adjective: red
Adjective: soft
----------------------------------------------------------------------
DETAIL [stemandthorns]
Brief: the thorny stem of a red rose
Look: The thorny stem of a rose.
Examine: The stem of a deep red a rose, covered in thorns.
React-post:feel-dob: [*
  The stem of the rose is stiff and is covered with many thorns that feel
quite sharp.
*]
React-post:touch-dob: [*
  The stem of the rose is stiff and is covered with many thorns that feel
quite sharp.
*]
SName: stem
SName: thorn
PName: stems
PName: thorns
Adjective: deep
Adjective: red
Adjective: sharp
Adjective: stiff
Adjective: thorny


Here is another example of a slightly more complex but simple object, of a
plant with some code in it to spawn an object when pinched, using the XML
version of the object:

<object id="OBJ(Marrach:Props:Conservatory:poisons:plant-leaf-sneezing)">
  <context/>
  <Base:Thing>
    <Base:Transient>
      <Base:Inventory/>
    </Base:Transient>
    <Ur:UrObject urobject="OBJ(MGMarrach:food:UrFood)"/>
    <Base:Bulk immobile="false" mass="0.1" density="0.8"/>
    <Base:Container flexible="false" transparent-container="false"
public-container="false" tight="false" capacity="0" maxweight="0"/>
    <Base:Misc gender="neuter" volition="false" weapon="false"
default_stance="none" combinable="false" discrete="false" by_weight="false"
tight="false" scriptrunner="false">
      <Base:Edible value="true"/>
      <Base:Potable value="false"/>
      <Base:DrinkMessageFirst></Base:DrinkMessageFirst>
      <Base:DrinkMessageThird></Base:DrinkMessageThird>
      <Base:Transparency value="false"/>
      <Base:Unsafe value="false"/>
      <Base:Safe value="false"/>
      <Base:ClothesExpected value="false"/>
      <Base:DieMessageFirst></Base:DieMessageFirst>
      <Base:DieMessageThird></Base:DieMessageThird>
    </Base:Misc>
    <Base:Details>
      <Base:Detail id="default" prime="true" def="false" abstract="false"
hidden="false" luminosity="0" targetable_in_dark="false" plural="false">
        <Base:Preposition close="true" against="false" under="false"
on="true" inside="false" near="true" over="true" behind="false"
before="false" beside="true" over="true"/>
        <Base:Names>
          <Base:SNames>
            <Base:SName sname="leaf"/>
            <Base:SName sname="food"/>
          </Base:SNames>
          <Base:PNames>
            <Base:PName pname="leaves"/>
            <Base:PName pname="foods"/>
          </Base:PNames>
        </Base:Names>
        <Base:Adjectives>
          <Base:Adjective adjective="broad"/>
          <Base:Adjective adjective="dark"/>
          <Base:Adjective adjective="green"/>
          <Base:Adjective adjective="veined"/>
        </Base:Adjectives>
        <Base:Descriptions>
          <Base:Description type="brief">
             $(this.trait:brief)
          </Base:Description>
        </Base:Descriptions>
        <Base:Exit door="false" never_obvious="false"
obvious_when_open="false" hidden_when_closed="false" separate="false"
self-locking="false" deadbolt="false"/>
        <Base:Climbable/>
      </Base:Detail>
    </Base:Details>
    <Base:Combat>
      <Base:Strength value="10"/>
      <Base:MaxFatigue value="100"/>
    </Base:Combat>
    <Base:Clothing>
      <Base:SingleWear value="false"/>
    </Base:Clothing>
    <Base:Crafting see_level="0" do_level="0" time="0" attention="false"
held="false">
      <Base:Ingredients/>
      <Base:Tools/>
      <Base:CraftVerbs/>
    </Base:Crafting>
    <Base:InitialContents/>
    <Base:InitialProperties/>
    <Core:Properties>
      <Core:Property property="export:trait:brief">
         "leaf"
      </Core:Property>
      <Core:Property property="export:trait:examine">
         "A broad fresh leaf, with a dark green color. The leaf has narrow
purple veins."
      </Core:Property>
      <Core:Property property="export:trait:look">
         "A leaf, broad and dark green."
      </Core:Property>
      <Core:Property property="export:trait:old:brief">
         "a dry leaf"
      </Core:Property>
      <Core:Property property="export:trait:old:examine">
         "A dry leaf, wrinkled and dark green. The leaf has narrow purple
veins."
      </Core:Property>
      <Core:Property property="export:trait:old:look">
         "A dry leaf, wrinkled and dark green"
      </Core:Property>
      <Core:Property property="export:trait:old:variant">
         "dry"
      </Core:Property>
      <Core:Property property="export:trait:smell">
         "A peppery scent."
      </Core:Property>
      <Core:Property property="export:trait:superbrief">
         "leaf"
      </Core:Property>
      <Core:Property property="export:trait:taste">
         "A peppery taste, slightly acidic."
      </Core:Property>
      <Core:Property property="merry:lib:sneeze">
         X[M] /* Emit tingling with bites */
EmitTo(\$actor, "You feel an odd tingling sensation in your mouth as you eat
this peppery leaf.");

/* because of the eat verb, we need to clear this property before using
Social() */
\$(exarg-object) = nil;

/* Make the player sneeze!*/
\$delay(10, TRUE, "6ea5");
Social(\$actor, "sneeze", "loudly");

\$delay(30, TRUE, "0d44");
Social(\$actor, "sneeze", "twice");

\$delay(30, TRUE, "7fa6");
Social(\$actor, "sneeze", "again");

\$delay(60, TRUE, "b017");
Social(\$actor, "sneeze");

\$delay(90, TRUE, "a561");
Social(\$actor, "sneeze");

\$delay(120, TRUE, "87f7");
Social(\$actor, "sneeze", "softly");
      </Core:Property>
      <Core:Property property="merry:react-post:eat-what">
         X[M] /* make them sneeze */
Call(\$this."core:ur:parent", "sneeze");
Slay(\$this);
return TRUE;
      </Core:Property>
      <Core:Property property="revisions">
         (\{ 1312106026, "christophera", "E", 1312106095, "christophera",
"E", 1312106101, "christophera", "E", 1312106535, "christophera", "X",
1312106576, "christophera", "E", 1312106742, "christophera", "E",
1312107112, "christophera", "E", 1312107224, "christophera", "E",
1312107431, "christophera", "E", 1312107459, "christophera", "R",
1312107857, "christophera", "E", 1312134114, "christophera", "R",
1312134309, "christophera", "E", 1312134391, "christophera", "E" \})
      </Core:Property>
      <Core:Property property="skill:fatigue">100.0</Core:Property>
      <Core:Property property="volition">0</Core:Property>
    </Core:Properties>
    <Notes:Notes>
      <Notes:Category cat="Note" catstate="Open">
        <Notes:Note ix="1312134309" state="Open" user="christophera">
           A leaf that when, causes you to sneeze for a few minutes. Created
by pinching Marrach:Props:Conservatory:poisons:plant-leaf-sneezing. Note, if
you rename this leaf, you'll need to change the value of $(parentobject) in
the script, as it is hard-coded.
        </Notes:Note>
      </Notes:Category>
      <Notes:Category cat="QA" catstate="Open"/>
    </Notes:Notes>
  </Base:Thing>
</object>

-- Christopher Allen



More information about the DGD mailing list