Re: manual spell query

From: Admin of The Keep (dkoepke@california.com)
Date: 10/13/96


On Sun, 13 Oct 1996 the.count@kirk.geog.sc.edu wrote:

> i want to create a spell which will cause a mob to forget a named
> target (from MOB_MEMORY), but am not sure how to go about handling the
> name to be forgotten.
> the spell, when cast, should(?) look something like:
> cast 'forget' <mob> <person_to_be_forgotten>

  I just made a 'knock' spell today in test of a new TAR_xxx flag, 
  TAR_USE_ARG.  This is something like you'll need to do.  It wasn't
  trivial as it required changing cast_spell()s and another one of
  those very basic spell functions to get the argument (short the spell
  name in do_cast()) and send it on to the manual spell function.

  You'll essentially need to make a duplicate of 't' in do_cast, I used
  char *orig_arg; and set it to 't' before it does a one_argument to 't'.
  Then I passed this along to every function that goes towards casting the
  spell until it at least arrived at where it calls the MANUAL_SPELLs.  I
  changed the definition of MANUAL_SPELL and ASPELL to include a 'char *
  argument' and changed anything calling manual spells, cast_spell, etc.
  After that, you can use the argument in your manual spell.

  It'd be nice to have this in stock Circle; but Jeremy's not adding any
  new features and this falls under the quotient of a feature.  The code
  is too broken up and small to post (it mostly involves finding WHERE
  to put one line and then putting in the proper line).

  That probably didn't help any, did it? :P


  <*=-+Daniel+-=*>
  "Forgive me father, for I am sin."


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



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