On Fri, 15 Nov 1996, DJ Pure wrote: > G'Day all. > How do you implement Secret Doors? I can make it so that ANYDOOR is > secret, but that is not what I really want. Implement an EX_SECRET flag. But beware, CircleMUD has a fool way of dealing with exits in the player files so you'll need to go playing in db.c a bit (go into setup_dir() and find where it does: if (t[0] == 1) world[room].dir_option[dir]->exit_info = EX_ISDOOR; else if (t[0] == 2) world[room].dir_option[dir]->exit_info = EX_ISDOOR | EX_PICKPROOF; else world[room].dir_option[dir]->exit_info = 0; And right before the 'else' do: else if (t[0] == 3) world[room].dir_option[dir]->exit_info = EX_ISDOOR | EX_SECRET; else if (t[0] == 4) world[room].dir_option[dir]->exit_info = EX_ISDOOR | EX_SECRET | EX_PICKPROOF; which will get it to load, etc.) After you do that you'll need to go about into act.informative.c and wherever it displays the exits (the autoexit routine, do_exits, etc.) set it up to not display rooms that are set EX_SECRET. While we're speaking of the fool way exits are set up, why ARE they setup that way!? It's extremely annoying, if nothing else. -- Daniel Koepke dkoepke@california.com Forgive me father, for I am sin. +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST