re: Portal stuff, something swept my mind :)

From: Alexander van Koppen (alexk@odie.et.fnt.hvu.nl)
Date: 06/15/96


Hi !

Thought about this, too (and even made a simple item to 'portal' people
to another room), I made a mirror (one you could step through if you
said (one of) the correct phrase(s)), tagged a special to it (a simple
one that just looked for 'enter' and 'say'), and used <bla>.value[4]
to store the destination room. (code below)

> You create a portal (to keep it simple, just in the casters room!). Then 
> the caster (and others?) should be able to enter the portal, am I right ?
> Lets say you set this potal at the market square, should'nt people ONLY 
> enter that portal and get transfered to some highpower mobile if they 
> wish to ? the only way I see a spec_proc as beeing efficient is, if it's 
> use is to let people enter a room and choose wether they want to use the 
> portal of not, the hacking/modifying of the use or enter commands seems 
> like a much better idea. It allso makes the use of portals easier, you 
> could allso make portal objects that function like the spells still using 
> your modified use/enter commands.


SPECIAL(portal) {
   sh_int room;

   struct obj_data *object = (struct obj_data *) me;
   
   if (CMD_IS("enter")) {
      if (object->obj_flags.value[3]) {
         if ( (room = real_room(object->obj_flags.value[3])) != NOWHERE ) {
            char_from_room(ch);
            char_to_room(ch, room);
            object->obj_flags.value[3] = 0;
            return 1;
         }
      }
   }

   if ((CMD_IS("say")) && (GET_LEVEL(ch) > LVL_IMMORT)) {
      if (!strcmp(argument, "Open Sesame")) 
         object->obj_flags.value[3] = 3001;
   }
   return 0;
}



This archive was generated by hypermail 2b30 : 12/18/00 PST