[Package Index | Mudlib Index | Effect Index]
See also:
climb.c, /std/room.c and /std/rooftop.c
Written by Deutha
void calc_co_ord()
int check_room_is_water(mixed room)
void fall_down(object thing)
mapping query_aliases()
int query_at_bottom()
string * query_belows()
mixed * query_bottom()
string query_death_mess()
mixed query_ghost_action()
If this is set to 0, as it is by default, the ghost will be able to climb the wall with no skill check, succeeding every time.
If it is set to 1, the ghost will always fail, since ghosts can't climb.
If it is set to a string, the ghost will be moved to the room whose path is in the string, with some default messages.
If it is set to an array, the ghost will be moved to the room whose
path is in the first cell of the array. The second cell of the
array will be taken to contain a string array with the move messages
that are to be used - the first for the player, the second for the
room they are arriving in, and the third for the room they are
leaving. The move messages do not need to be terminated with
newlines.
mixed * query_move(string word)
mixed * query_moves()
The information variable is a mixed array consisting of four
elements. The first is a string, which is the direction, typically
"up" or "down", for the move. The second is an integer, which is the
base difficulty (to be compared against a skill bonus) for the climb
if the climber is not carrying anything. The third is a string,
being the file name of the destination location and the fourth is a
string which is the message (using $N and verb$s) which is presented
to people already in the destination location when the climber
arrives.
int query_no_drop()
void set_wall(mixed * args)
As with modify_exit, more than one option can be passed to set_wall at a time.
The indicating strings and the corresponding information variables are as follows.
It is necessary to have set_wall() in all rooms referenced by the initial set_wall() (apparently).
If this is set to 0, as it is by default, the ghost will be able to climb the wall with no skill check, succeeding every time.
If it is set to 1, the ghost will always fail, since ghosts can't climb.
If it is set to a string, the ghost will be moved to the room whose path is in the string, with some default messages.
If it is set to an array, the ghost will be moved to the room whose path is in the first cell of the array. The second cell of the array will be taken to contain a string array with the move messages that are to be used - the first for the player, the second for the room they are arriving in, and the third for the room they are leaving. The move messages do not need to be terminated with newlines.
In wall_bottom: set_wall( ({ "move", ({ "up", 50, PATH +"wall_side", "$N climb$s up from below to join you." }) }) ); set_wall( ({ "no_drop", 0 }) ); /* not required */ In wall_side: set_wall( ({ "bottom", ({ PATH +"wall_bottom", 50 }) }) ); set_wall( ({ "move", ({ "down", 50, PATH +"wall_bottom", "$N climb$s down from above to join you." }) }) ); set_wall( ({ "move", ({ "up", 150, PATH +"wall_ledge", "$N climb$s up from below to join you." }) }) ); set_wall( ({ "death_mess", "You splat into the pavement, " "throwing a few guts everywhere.\n" }) ); set_wall( ({ "no_drop", 1 }) ); In wall_ledge: set_wall( ({ "bottom", ({ PATH +"wall_bottom", 50 }), "below", ({ PATH +"wall_side" }) }) ); set_wall( ({ "move", ({ "down", 100, PATH +"wall_side", "$N climb$s down from above to join you." }) }) ); set_wall( ({ "death_mess", "You splat into the pavement, " "throwing lots of guts everywhere.\n" }) ); Anywhere on the wall: set_wall( ({ "ghost_action", 1 }) ); set_wall( ({ "ghost_action", "/w/vashti/rooms/target.c" }) ); set_wall( ({ "ghost_action", ({ "/w/vashti/rooms/target.c", ({ "You fall through the wall. Ow.", "$N dives through the wall and rolls painfully on " "the floor.", "$N takes a flying leap at the wall and disappears " "into it." }) }) }) );