I changed the perform_violence garbage into an event, using the dg_event system. The next attack type is decided before leaving, and a speed factor is figured. This I use as the timer for the next event. Thus, a hasted char could conceivably get in 5 attacks before the slowed warrior manages to bring the 6' sword to bear. Or the hippogrif might get in both claws and a bite in one round, while it will be another 3 before the tail is swung close enough. -----Original Message----- From: Circle Discussion List [mailto:CIRCLE@post.queensu.ca]On Behalf Of Chuck Carson Sent: Monday, September 27, 1999 5:57 PM To: CIRCLE@post.queensu.ca Subject: Muliple Attacks problem I currently have mobs with the capability of having up to 5 attacks, all with different damage dice and attack types (for mobs with 2 claw attacks, a tail attack, and a bite for example). Players can also develop up to 3 attacks per round. This system works fine however not very 'fair'. I am trying to follow AD&D as much as possible and want to implement an intitiative system into combat. All the rolls and checks are made in perform_violence() and thus if a successfull roll is made, another call to hit() is made. As such, perform_violence uses a for loop to cycle through the fighting characters one at a time, so if I have a mob with 5 attacks, all 5 attacks are done before the player gets a single attack. I want to implement an initiative roll for each of these attacks, thus the mob might get 1 attack, then the player gets 2, then the mob gets maybe 2 more, ie the order of the attacks will depend on an initiative roll that will be performed inside perform_violence. Anyone have anything like this or can give me some suggestions. I have tried playing around with manipulating the character pointer in the for loop but this was very ugly. Thanks, CC +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+ +------------------------------------------------------------+ | 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