[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