Re: Hiya folks...

From: Skylar Skylar (
Date: 08/15/95

> 1) Will we be able to add spells very easily?  I do have some coders but we
> aren't really ELITE C programmers here.. nevertheless we did manage the 
> OLE patch without the patch command (Damned thing wasn't installed).

Fairly easilly, though the new magic system is a little cumbersome, and
kind of anti-add-new-classes, its pretty easy to add new spells. If you
dont know what to do, try something simple first, like an affect spell
such as BLESS, grep "BLESS" and "bless" from all the .c and .h files, and
use it as an example of how to add a similar spell. (You'll be editing
spells.c, magic.c, spell_parser.c, spell_constants.c, and spells.h) Its
a little time consuming leafing through all the files, so you might want
to try adding a pile of spells at once, after you get the basic method
down pat.

> 2) I was wondering if the SCAN command will be put in.

Code for scan has been posted to this list several times, if you want it,
look in the archives.  I personally dont like it, and ended up making
look <direction> show the contents of a few rooms distant depending on
visibility  and size of whats in the rooms instead.

> 3) Is there a way to get Dikued to work for Circle 3.x?

Umm, why?

> 4) We are building extensively in this mud; will our obj, mob, zon and 
> wld files be able to be converted?

If you're building for 3.0bplX, they probably wont need to be.

> 5) Can you PLEASE take the "hits <target> extremely hard" etc. output 
> from fight.c and put it into the misc text area?!  We had to work a tad 
> with fight.c (mostly cut & replace) to customize it.

No comment.

> 6) What will it entail to create new races?

Quick and easy (and dirty) way to add races  (for players):

Hop into structs.h and change one of the spares in the character structure
to "race", and add some #define RACE_x's for all the races you want to add
then hop into utils.h and make a nice little macro like this:

 #define GET_RACE(ch) ((ch)->player_specials->saved.race)

Just to make manipulation easy. Now you've got a slot to store pc's race
and an easy way to change or check it. Whats left is, you've got to sit
down and decide what affect races will have on game-play. Will different
races get inherent skills or spells or abilities? These can be added to
the do_start function in class.c, it would go something like this:
switch (GET_RACE(ch)) {
  case RACE_ELF:
If you wanted to get more complicated, but more realistic, and give mobs
races also, you'd have to find another place to use to store race, as
mobs don't share that structure. Someplace like char_special_data_saved
would be ideal, since it is shared by PC and NPC alike and saved for PC's
but it would destroy your playerfile if you changed the structure. Also, 
you'd need to find some way to assign races to mobs in db.c. This is more
work, but in the long run, can be much more beneficial.

I hope that wasnt too confusing :)

> 7) Will there be programmable Mobs that can be programmed to do things 
> like hunt for fleeing players, attack crtain other mobs, and all that?  
> Or do we have to make grueling patches to the C code?

Grueling? Hrm, you mean you're not in this 'cause you love to code?
Check out spec_procs.c, its packed with juicy examples of how to make
your mobs do whatever you want them to.

> 8) How about objects that, while wielded, cast spells on you, removes 
> hunger, etc.?

Scan handler.c, giving careful attention to affect_modify() everything
you need is in there. For hunger, it would be something like this:

  case APPLY_HUNGER:   /* assuming you added APPLY_HUNGER to structs.h */
    GET_COND(ch, FULL) += mod;

Thus, and obj that had an affect of APPLY_HUNGER, with a modifier of -1
would turn hunger off.

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