New World Parser

From: Chris Jacobson (fear@TECHNOLOGIST.COM)
Date: 10/07/98


I have finally finished to a reasonable point my new World Parser.  In
the interest of sharing, I am ready to release this to the public, under
several conditions.

Since my version of Circle is entirely C++, it will require rewriting
before working with Circle.  It uses the buffer system, and has many
idiosyncracies.  However, it shouldn't be too difficult to bring back
over to Circle, and should take a dedicated and experienced Circle coder
about an hour or two.  Finally, I'm not releasing it as a patch, just the
World parser file, the db file, the file functions file, and the olc
files.

Due to its experience requirements, and my lack of time to provide any
support with this whatsoever, I will only release it privately via email,
and to the more experienced senior members of this list (i.e, those who
have released significant patches and have been on the list as long as or
longer than I have), via request, to be fixed up and released as a patch
or even integrated into Circle itself.  I will provide little if any
technical support with it, and also don't want many versions floating
around.

It currently supports wld, mob, and obj file formats.  mob file support
allows for embedded mobprogs.  Strings are 'escaped' to allow all
characters.

And, a benefit is that it is surprisingly fast for it's complexity level.

- Chris Jacobson


PS. If you are wondering what the world file format is like:


#1230 = {
     name = "Charlie the dog";
     short = "Charlie";
     long = "You see Frodo's dog Charlie sitting here.\n";
     desc = "It looks very intelligent and strong, better not mess with
it This fine dog\nbelongs to `bFrodo.  `rHe is very strong and his eyes
seem to glow with a hint\nof intelligence.  If you arent `bFrodo`n then
you shouldnt order this dog\naround.    \n";
     sex = Male;
     race = other;
     level = 100;
     armor = 9999;
     hp = 30d150+30000;
     damage = 100d340+50;
     attack = maul;
     hitroll = 540;
     position = standing;
     defposition = sitting;
     flags = { ISNPC AWARE STAY-ZONE MEMORY !CHARM !SUMMN !SLEEP !BASH
!BLIND };
     affects = { DET-INVIS SENSE-LIFE WATWALK SANCT FLYING INFRA !TRACK
SNEAK VACUUM-SAFE LIGHT };
     points = {
          str = 200;
          agi = 200;
          int = 200;
          per = 200;
          con = 200;
     };
     triggers = { 1241 1240 1239 1237 1236 1234 1233 1232 1253 1252 1235
1231 1230 };
};


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST