def move_direction(self, direction):
"""Relocate the element in a specified direction."""
- self.echo_to_location(
- self.get(
- "name"
- ) + " exits " + self.universe.categories[
- "internal"
- ][
- "directions"
- ].get(
- direction
- )[
- "exit"
- ] + "."
- )
- self.send(
- "You exit " + self.universe.categories[
- "internal"
- ][
- "directions"
- ].get(
- direction
- )[
- "exit"
- ] + ".",
- add_prompt=False
- )
+ motion = self.universe.contents["mudpy.movement.%s" % direction]
+ enter_term = motion.get("enter_term")
+ exit_term = motion.get("exit_term")
+ self.echo_to_location("%s exits %s." % (self.get("name"), exit_term))
+ self.send("You exit %s." % exit_term, add_prompt=False)
self.go_to(
self.universe.contents[
self.get("location")].link_neighbor(direction)
)
- self.echo_to_location(
- self.get(
- "name"
- ) + " arrives from " + self.universe.categories[
- "internal"
- ][
- "directions"
- ].get(
- direction
- )[
- "enter"
- ] + "."
- )
+ self.echo_to_location("%s arrives from %s." % (
+ self.get("name"), enter_term))
def look_at(self, key):
"""Show an element to another element."""
if re.match("""^area:-?\d+,-?\d+,-?\d+$""", self.key):
coordinates = [(int(x))
for x in self.key.split(":")[1].split(",")]
- directions = self.universe.categories["internal"]["directions"]
- offsets = dict(
- [
- (
- x, directions.get(x)["vector"]
- ) for x in directions.facets()
- ]
- )
+ offsets = dict((x,
+ self.universe.contents["mudpy.movement.%s" % x].get("vector")
+ ) for x in self.universe.directions)
for portal in self.get("gridlinks"):
adjacent = map(lambda c, o: c + o,
coordinates, offsets[portal])
self.categories = {}
self.contents = {}
self.default_origins = {}
+ self.directions = set()
self.loglines = []
self.private_files = []
self.reload_flag = False