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