OLC, MOBs, and classes

From: Angus Mezick (angus@EDGIL.CCMAIL.COMPUSERVE.COM)
Date: 04/08/98


Do you mean classes (warrior/thief/cleric/mage) or spec_procs. (i ask because
you brought up the spec_assign.c file)

for spec_procs, have the spec_proc appear as an espec (like barehandattack:) in
the mob file.
create an array of
struct spec_list{
   char spec_name[30];
   SPECIAL(*spec_function);
};

struct spec_list[] =
{
   {"cityguard", cityguard},
   {"janitor",   janitor},
   {"None", NULL},
   {"Unknown, exists", NULL}
};


create a func to return the proc given the name
create a func to return the name given the proc
create a func to list the proc names for a show command

all this goes into db.c

in db.c you have to add something to translate the espec string into a function
using the 1st function.

in medit.c you have to add some code to save the func into an espec string using
the 2nd function.

in medit.c you need to add a list menu, and a choice.  be careful about
spec_procs that aren't listed in your spec_list[]. Or you could just scrap the
whole ASSIGNMOB() list and go solely with this... It works wonders and now
builders are actually using the spec_procs.  WOO WOO....  if you add a couple of
more ints (say around 10) into another espec (spec_vals: ) you can even change
spec_procs like the archer one to not need any special coding by storing damage,
hit chance, launch room, and target room all into the mob file.

George,
If you want the code to allow spec_procs to reside solely in the mob file and
get rid of the ASSIGNMOB systax in the standard struct, just give a hollar and i
will put a package together.

--Angus

______________________________ Forward Header __________________________________
Subject:  OLC, MOBs, and classes
Author:  INTERNET:CIRCLE@POST.QUEENSU.CA at CSERVE
Date:    4/8/98 2:56 PM

After hunting through the mailing list archives and turning up nothing
(mostly cause it's been timing out on me the past week), I thought I could
ask here...

I'm wondering if anyone has changed their code from the spec_assign format
of assigning classes to MOBs, into a method where you can add a class to a
MOB through OLC.

Obviously this code would change numerous things, starting with the parse
routines to load the *.mob files, as well as affecting the mob files with a
new entry.  Then of course everything's got to recognize the flag on the
MOB, and then medit has to be modified, etc....  If anyone has done this,
are you willing to share the code?  If you don't want to give out code, can
someone at least point me at the files and code areas that would need
changing?  I'm sure I'm going to miss something since I don't have near the
"intimate" knowledge of circle code as the rest of you.

Thanks in advance for any help...

- Brian


     +------------------------------------------------------------+
     | 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