Re: [IDEA]Artifacts

From: Rasdan (rasdan@PEAK.ORG)
Date: 07/16/97


I don't think a spec proc is the best way to do this. After all, wouldn't
it be cool if your builders could set whatever spell they wanted a weapon
to cast?

I plan to do it this way:

Add 3 new values to the object structure:
  int value[7];

Then, modify db.c to read in BOTH the new way (with the three extra
values) and the old so you have compatibility.

Modify your olc to account for these, then make the new defines:
#define OBJ_SPELL_NUM           4
#define OBJ_SPELL_ALT_NUM       5
#define OBJ_SPELL_PERCENT       6

Then add this to the object macros
#define GET_OBJ_SPELL(obj)      (GET_OBJ_VAL(obj, OBJ_SPELL_NUM))
#define GET_OBJ_ALT(obj)        (GET_OBJ_VAL(obj, OBJ_SPELL_ALT_NUM))
#define GET_OBJ_SP_PERC(obj)    (GET_OBJ_VAL(obj, OBJ_SPELL_PERCENT))

Then in fight.c call cast_spell.

And that way any weapon can have a spell and no spec proc is required.


I have found that it's always better to code things so that any
object/mob special thing you may want to code it so that any mob or
object can be set with the special, to add variety and flavor, and also
so you don't have to bother with spec_assign whenever anyone decides they
want the same spec proc on one of their objects.

Rasdan



> The way i would approach this problem is to make an spec_proc   (i'm pretty
> new to using spec_procs so i don't know exactly how this would be done) and
> name it firball_weapon or poison_weapon or others and just have it cast that
> spell (but first make it fail to cast the spell every once in a while so its
> not too powerful because then everyone would be using a weapon that casts
> spells and no one would want the normal weapons anymore).  Confused?  let me
> simplificy things a bit...  make spec_proc cast fireball.  there.  but you
> can do this a different way and change everything in the mud just to make
> work.  or maybe you have a much better idea.
>

=--=--=--=--=--=--=--=--=--=--=
  I have done so much,
  with so little,                         James C. Thomas Jr.
  for so long,                                 Rasdan
  That I can do anything                Head Coder of Finality!
  with nothing.
=--=--=--=--=--=--=--=--=--=--=
Finality is based upon CircleMUD 3.0, check us out:
                   finality.mudservices.com 5555


     +------------------------------------------------------------+
     | 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/08/00 PST