Re: Falling from Air Rooms

From: Pandion (s337239@student.uq.edu.au)
Date: 07/18/96


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