On Wed, 17 Jul 1996, Brian Menges wrote: > I set up air rooms in my MUD so that if a character or mob is not affected > with an AFF_FLY flag and is in a SECT_FLYING room then he or she will plummet > down. The character will continue to fall until they can no longer go down or > they hit a non SECT_FLYING ROOM. I have it all working, damaging the character > per # of squares fallen, etc. The only problem is checking for when a > character should fall. I currently check whenever an AFF wears off but this > won't cover all circumstances. For example: If a god teleports a player into > an air room > or a player walks off the side of the cliff, etc. I thought the best way to > do this is to add something into heartbeat() to check all the mobs and > characters every X number of seconds. To be realistic it would have to check > very frequently but I am afraid that this will slow down the MUD. Any ideas on > how I can do this more effectively? Or am I just going to have to live with a > possible X number of seconds delay from the time the player enters the room to > the time he or she falls? > > -brian Perform the check in act.movement.c the same way you check if a room is a dt, check if the player is supposed to fall.... ie, if !IS_AFFECTED(ch, AFF_FLY) or whatever... I have a similar thing, for scatter traps, the instant a player walks in they are forced to leave by a random exit. The interesting application is rooms that are all scatter trapped, with only one exit.. down.. giving a "falling" sequence before a dt at the end :) Chris Voutsis
This archive was generated by hypermail 2b30 : 12/07/00 PST