In any spell/skill function call, you have a minimum of two halves. The first half initiates the spell, does the checks to see if the player can cast/use the spell/skill, and the second half executes this based on the previous results. So, using an event based system, all you would have to do is split these functions into two separate parts. At the bottom of the first portion, have it call the event store (whatever it is) and place the wait period there. This will call the second portion in the allotted time. When the time is up, it should work. For example, before calculating whether or not to hit, I split do_kick up into to functions. ACMD(do_kick) and perform_kick(). Passing in the required args (manually changed event system for extra values needed), I can now do the skill using this event system. I AM NOT USING DG_EVENTS FOR THIS, I HAND CODED IN ANOTHER PATCH/SNIPPET FOUND ON THE FTP SITE YEARS AGO. I STILL USE THIS PATCH, even though it is really outdated. Fixed a bunch of bugs in it and walla. It still works :). Although, initially it conflicted with DG_EVENTS, I had to change dg_events a little to get it to work (both called different functions with the same name doevents or something). Anywho, my 2½¢! Mythran -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT