projects
/
mudpy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Support abbreviating portal names when moving
[mudpy.git]
/
mudpy
/
command.py
diff --git
a/mudpy/command.py
b/mudpy/command.py
index
2b20b1a
..
20b448c
100644
(file)
--- a/
mudpy/command.py
+++ b/
mudpy/command.py
@@
-6,6
+6,7
@@
import random
import re
import random
import re
+import traceback
import unicodedata
import mudpy
import unicodedata
import mudpy
@@
-117,8
+118,13
@@
def error(actor, input_data):
else:
message = "Arglebargle, glop-glyf!?!"
else:
message = "Arglebargle, glop-glyf!?!"
- # send the error message
- actor.send(message)
+ # try to send the error message, and log if we can't
+ try:
+ actor.send(message)
+ except Exception:
+ mudpy.misc.log(
+ 'Sending a command error to user %s raised exception...\n%s' % (
+ actor.owner.account.get("name"), traceback.format_exc()))
def halt(actor, parameters):
def halt(actor, parameters):
@@
-257,10
+263,12
@@
def look(actor, parameters):
def move(actor, parameters):
"""Move the avatar in a given direction."""
def move(actor, parameters):
"""Move the avatar in a given direction."""
- if parameters in actor.universe.contents[actor.get("location")].portals():
- actor.move_direction(parameters)
- else:
- actor.send("You cannot go that way.")
+ for portal in sorted(
+ actor.universe.contents[actor.get("location")].portals()):
+ if portal.startswith(parameters):
+ actor.move_direction(portal)
+ return(portal)
+ actor.send("You cannot go that way.")
def preferences(actor, parameters):
def preferences(actor, parameters):