[ScryMUD] SVN Commit Info r723 - branches/version-2-1/mud/grrmud/server

scrymud at wanfear.com scrymud at wanfear.com
Wed Dec 1 21:45:07 PST 2004


Author: eroper
Date: 2004-12-01 21:45:06 -0800 (Wed, 01 Dec 2004)
New Revision: 723

Modified:
   branches/version-2-1/mud/grrmud/server/commands.cc
   branches/version-2-1/mud/grrmud/server/gen_cmds.spec
   branches/version-2-1/mud/grrmud/server/vehicle.cc
Log:
"exit" is now a synonymn for "go". Unfortunately this now means "exits" must
be typed in its entirety for the old behavior. 

This was done so that "exit coach" (where coach is the exit name) can be used
when leaving the vehicle vs. being forced to "enter coach" to get out of it.

There's probably a way to rig it up so that exit without a direction just
calls exits but I wasn't sure if it was safe. i.e. what is the return value of
go() used for?


Vehicles will now sit at destinations for 15 ticks (instead of their normal
move-tick value). This is so that faster moving vehicles aren't impossibly
difficult to board/unboard. Eventually I would like this to be configured
either per-path entry or per-vehicle.

I reordered some behavior that was causing the vehicle doors to "open" prior
to players being shown the look() output of the room they just moved into. The
icky part about the old behavior is that it was very very easy to miss the
fact that you were at a destination. In addition it appeared as though the
door was opening before the vehicle came to a stop.

Token doors no longer enforce the token requirement when *LEAVING* a vehicle.
This is so that you can require a token to get on, eat the token, and the
player will still be able to get off.

--Khaav



Modified: branches/version-2-1/mud/grrmud/server/commands.cc
===================================================================
--- branches/version-2-1/mud/grrmud/server/commands.cc	2004-12-01 23:36:46 UTC (rev 722)
+++ branches/version-2-1/mud/grrmud/server/commands.cc	2004-12-02 05:45:06 UTC (rev 723)
@@ -2953,7 +2953,8 @@
            }//if
          }//while
 
-         if (door_ptr->getTokenNum() != 0) {
+         if ( (door_ptr->getTokenNum() != 0) &&
+               (!room_list[pc.getCurRoomNum()].isVehicle()) ) {
             object* token = NULL;
             int posn = -1;
             

Modified: branches/version-2-1/mud/grrmud/server/gen_cmds.spec
===================================================================
--- branches/version-2-1/mud/grrmud/server/gen_cmds.spec	2004-12-01 23:36:46 UTC (rev 722)
+++ branches/version-2-1/mud/grrmud/server/gen_cmds.spec	2004-12-02 05:45:06 UTC (rev 723)
@@ -324,8 +324,6 @@
 return show_eq(pc);
 examine ~
 return examine(i, &(cooked_strs[1]), pc);
-exits ~
-return exit(pc);
 eyebrow socials ~
 eyebrow(j, &(cooked_strs[1]), pc, (*(pc.getCurRoom()))); return 0;
 # IMM Commands - E
@@ -362,8 +360,11 @@
 giggle(i, &(cooked_strs[1]), pc, (*(pc.getCurRoom()))); return 0;
 give ~
 return give(i, &(cooked_strs[1]), j, &(cooked_strs[2]), pc);
-go enter go ~
+go enter exit go ~
 is_dead = FALSE; return go(i, &(cooked_strs[1]), pc, is_dead);
+# exits is here so that "exit" can be part of "go" (i.e. vehicles)
+exits ~
+return exit(pc);
 goo socials ~
 goo(i, &(cooked_strs[1]), pc, (*(pc.getCurRoom()))); return 0;
 gossip *channels ~

Modified: branches/version-2-1/mud/grrmud/server/vehicle.cc
===================================================================
--- branches/version-2-1/mud/grrmud/server/vehicle.cc	2004-12-01 23:36:46 UTC (rev 722)
+++ branches/version-2-1/mud/grrmud/server/vehicle.cc	2004-12-02 05:45:06 UTC (rev 723)
@@ -291,7 +291,28 @@
       }
    }//while
 
+   buf = getPassengerMessage();
+   if (buf.Strlen() > 0) {
+      showAllCept(buf);
+   }//if
+
+   if (vehicle_flags.get(7)) { //if can see out
+      critter* cptr;
+      Cell<critter*> ccll(CRITTERS);
+
+      while ((cptr = ccll.next())) {
+         do_look(1, &NULL_STRING, *cptr, room_list[in_room],
+                 TRUE); /* ignore brief */
+      }//while
+   }//if can see out
+
    if (isAtDestination()) { //in other words, the one its in NOW
+
+      //Eventually I'd like this configurable on the vehicle itself. If it's
+      //not here and we have a relatively fast vehicle it's close to
+      //impossible to catch it with the door open.
+      ticks_till_next_stop += 15;
+
       if (!isStealthy() && tmp_ptr->dr_data->isClosed() &&
             tmp_ptr->dr_data->isOpenable() ) {
          if (dr_ptr) {
@@ -314,21 +335,6 @@
       tmp_ptr->dr_data->open(); //make it open
    }//if
 
-   buf = getPassengerMessage();
-   if (buf.Strlen() > 0) {
-      showAllCept(buf);
-   }//if
-
-   if (vehicle_flags.get(7)) { //if can see out
-      critter* cptr;
-      Cell<critter*> ccll(CRITTERS);
-
-      while ((cptr = ccll.next())) {
-         do_look(1, &NULL_STRING, *cptr, room_list[in_room],
-                 TRUE); /* ignore brief */
-      }//while
-   }//if can see out
-
    return TRUE;
 
 }//move




More information about the ScryMUD mailing list