I'd create a separate function, maybe called affect_race() and call that function in do_start and at the end of affect_total(). It might require this function to be called in a couple other handler.c functions, but just read the code and find out. Rick -----Original Message----- From: Edward J Glamkowski <eglamkowski@angelfire.com> To: CIRCLE@post.queensu.ca <CIRCLE@post.queensu.ca> Date: Monday, March 08, 1999 6:58 AM Subject: Re: [CODE] Race Attributes >> >>if (GET_RACE(ch) == RACE_DWARF) >> SET_BIT(AFF_FLAGS(ch), AFF_INFRAVISION); > >Two pitfalls with this (though this is how I did it): >1. If you have a dispel magic spell, you'll want to >make sure it doesn't dispel any innate AFF flags. >2. The immort unaffect command - same as #1. > >I just wrote a little function that I call after >a dispel or unaffect that checks all innate abilities >after a dispel or unaffect, and, if necessary, re-adds >the AFF. >I also threw in a check in do_advance to make sure >they hadn't lost their innate affects at any point, >and to log it if they had. Not terribly helpful for >debugging, but it is just intended to be a first alert >to a problem. No problems yet however :) +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST