-------- Keep your mortals from using spells to get to unlinked areas ---------

Put this snippet in and your mortals will no longer be able to use the 
transportation spells to get to or summon from areas that aren't linked.
This is done by setting a "dummy" builder to Unlinked on all of the areas
that are unlinked.  This is the easiest way I have found and least painful
way of doing this :)  It shouldn't take but a few minutes to put in.  Probably
take you longer to add the Unlinked builder to each of the unlinked areas :)

If you want, you might do something like add **** or something on at the end
of the name of the area so when looking at the alist command any unlinked areas
are easily spotted (the Unlinked builder doesn't always show up in the builder
column since other builders can "push" it out of the column).

If anyone wants to post this on a snippets page feel free to do so with this
header in tact :) I just ask that you e-mail me to let me know.

I also ask that if you use this snippet you e-mail me, I like to know that I
helped someone :)

E-mail address:  zanthras@columbus.rr.com

------------------------------------------------------------------------------
*** in comm.c
*** This is VERY important, if someone creates a character named Unlinked they
*** will have access to the building of any areas with that flag.  This is to
*** make it so that name is not allowed so there will never be anyone with
*** that name.  It's up to you to make sure that this name isn't already in
*** use, though it's very unlikely for someone to be using a name like
*** "Unlinked" :)
*** in function: check_parse_name

add unlinked to the list of reserved words

------------------------------------------------------------------------------
*** in act_enter.c 
*** This takes care of teleport and any other future spell that gets a
*** random room.
*** in function: ROOM_INDEX_DATA
*** add this in the second if:

&& ( !( strstr( room->area->builders, "Unlinked" ) ) )

------------------------------------------------------------------------------
*** in magic.c 
*** in function: spell_gate
*** add this after the big if chech that sends "You failed." to the caracter
*** if true

/* can't gate to unlinked areas (areas must have builder name: Unlinked) */
if ( strstr( victim->in_room->area->builders, "Unlinked" ) )
{
     send_to_char( "You can't gate to areas that aren't linked yet!\n\r",ch );
     return;
}

*** in function: spell_summon
*** This is so they can't summon mobs from areas that aren't linked.
*** add this after the big if chech that sends "You failed." to the caracter
*** if true

/* can't summon from unlinked areas(areas must have builder name:Unlinked) */
if ( strstr( victim->in_room->area->builders, "Unlinked" ) )
{
    send_to_char("You can't summon from areas that aren't linked yet!\n\r",ch);
    return;
}

------------------------------------------------------------------------------
*** in magic2.c 
*** in function: spell_nexus
*** add this after the big if chech that sends "You failed." to the caracter
*** if true

/* can't cast nexus to unlinked areas(areas must have builder name:Unlinked) */
if ( strstr( to_room->area->builders, "Unlinked" ) )
{
     send_to_char( "You can't use nexus to get to areas that aren't linked yet!\n\r",ch );
     return;
}

*** in function: spell_portal
*** add this after the big if chech that sends "You failed." to the caracter
*** if true

/* can't portal to unlinked areas(areas must have builder name:Unlinked) */
if ( strstr( victim->in_room->area->builders, "Unlinked" ) )
{
     send_to_char("You can't portal to areas that aren't linked yet!\n\r",ch);
     return;
}


*** This next part makes it so that the areas don't show up in the 
    area list. No more mortals asking where can I find .... when 
    .... isn't connected. This is for those with Nebseni's sorted
    area listing in too, if you don't have that as well then this
    won't work for you.

In do_areas in db.c:
Inside the for loop you will see this if check:

if ( ( get_area_level(pArea) / 256 <= hi_level) &&
    ( get_area_level(pArea) % 256 >= lo_level ) )

Add this into the end of that if check:

&& !strstr(pArea->builders, "Unlinked")