On Sun, 26 Oct 1997, Søren P. Skou wrote: > Problem is simple, and I'm pretty sure I just overlook the obvious. But > how on earth do I remove the RAFF_ thingie again, only thing I can see > is that it *HAS* to run out of ticks. Which is pretty Silly, since I > want to be able to negate light effect if you cast darkness and negate > darkness effect if you cast light, no matter if you cast it 10000 times > right after each other. (In which cast I would seriously look at the > mana that person has. :) As you said... The spell wears off after a certain duration. [gunzip roomaff.txt.gz] [pico roomaff.txt] (I've never looked at the code before. :) ) I found this: /* update the room affections */ for (raff = raff_list; raff; raff = next_raff) { next_raff = raff->next; raff->timer--; if (raff->timer <= 0) { /* this room affection has expired */ send_to_room(spell_wear_off_msg[raff->spell], raff->room); send_to_room("\r\n", raff->room); /* remove the affection */ REMOVE_BIT(world[(int)raff->room].room_affections, raff->affection); REMOVE_FROM_LIST(raff, raff_list, next) free(raff); } } Notice the comment "remove the affection"? Those three lines are probably what you are looking for. :) John Evans <evansj@hi-line.net> May the source be with you. +------------------------------------------------------------+ | 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