diff --git a/docs/0.9.5/api/evennia.commands.default.building.html b/docs/0.9.5/api/evennia.commands.default.building.html
index e2ea2cd9dc..2a84edbbb1 100644
--- a/docs/0.9.5/api/evennia.commands.default.building.html
+++ b/docs/0.9.5/api/evennia.commands.default.building.html
@@ -496,7 +496,7 @@ You can specify the /force switch to bypass this confirmation.
diff --git a/docs/0.9.5/api/evennia.contrib.chargen.html b/docs/0.9.5/api/evennia.contrib.chargen.html
index e7f84087a5..d12901c845 100644
--- a/docs/0.9.5/api/evennia.contrib.chargen.html
+++ b/docs/0.9.5/api/evennia.contrib.chargen.html
@@ -79,7 +79,7 @@ at them with this command.
diff --git a/docs/0.9.5/api/evennia.contrib.email_login.html b/docs/0.9.5/api/evennia.contrib.email_login.html
index 0253eaf64b..8962dac44c 100644
--- a/docs/0.9.5/api/evennia.contrib.email_login.html
+++ b/docs/0.9.5/api/evennia.contrib.email_login.html
@@ -123,7 +123,7 @@ there is no object yet before the account has logged in)
diff --git a/docs/0.9.5/api/evennia.contrib.rpsystem.html b/docs/0.9.5/api/evennia.contrib.rpsystem.html
index 7efd4eb780..80729fb150 100644
--- a/docs/0.9.5/api/evennia.contrib.rpsystem.html
+++ b/docs/0.9.5/api/evennia.contrib.rpsystem.html
@@ -775,7 +775,7 @@ Using the command without arguments will list all current recogs.
diff --git a/docs/0.9.5/api/evennia.contrib.tutorial_examples.cmdset_red_button.html b/docs/0.9.5/api/evennia.contrib.tutorial_examples.cmdset_red_button.html
index 76c8d4ad75..583166be95 100644
--- a/docs/0.9.5/api/evennia.contrib.tutorial_examples.cmdset_red_button.html
+++ b/docs/0.9.5/api/evennia.contrib.tutorial_examples.cmdset_red_button.html
@@ -107,7 +107,7 @@ push the lid of the button away.
diff --git a/docs/0.9.5/api/evennia.contrib.tutorial_world.objects.html b/docs/0.9.5/api/evennia.contrib.tutorial_world.objects.html
index c5f1a9f2de..015d847cab 100644
--- a/docs/0.9.5/api/evennia.contrib.tutorial_world.objects.html
+++ b/docs/0.9.5/api/evennia.contrib.tutorial_world.objects.html
@@ -353,7 +353,7 @@ of the object. We overload it with our own version.
diff --git a/docs/0.9.5/api/evennia.contrib.tutorial_world.rooms.html b/docs/0.9.5/api/evennia.contrib.tutorial_world.rooms.html
index db336584a0..564b95732c 100644
--- a/docs/0.9.5/api/evennia.contrib.tutorial_world.rooms.html
+++ b/docs/0.9.5/api/evennia.contrib.tutorial_world.rooms.html
@@ -675,7 +675,7 @@ if they fall off the bridge.
diff --git a/docs/0.9.5/api/evennia.utils.evmore.html b/docs/0.9.5/api/evennia.utils.evmore.html
index 222988fc19..d1df618373 100644
--- a/docs/0.9.5/api/evennia.utils.evmore.html
+++ b/docs/0.9.5/api/evennia.utils.evmore.html
@@ -77,7 +77,7 @@ the caller.msg() construct every time the page is updated.
diff --git a/docs/1.0-dev/.buildinfo b/docs/1.0-dev/.buildinfo
index ff6fba463f..982993b9a2 100644
--- a/docs/1.0-dev/.buildinfo
+++ b/docs/1.0-dev/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: a80c283e5ab04b0c23fe542729d4352a
+config: 8c9f4b59db1258692e62f50298da9a3e
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/1.0-dev/Contribs/Contribs-Overview.html b/docs/1.0-dev/Contribs/Contribs-Overview.html
index 5dac34ab70..f9d8a67579 100644
--- a/docs/1.0-dev/Contribs/Contribs-Overview.html
+++ b/docs/1.0-dev/Contribs/Contribs-Overview.html
@@ -342,7 +342,7 @@ supported by new lo
You can easily alter it to add special characters, room colors etc. The map shown is
dynamically generated on use, and supports all compass directions and up/down. Other
directions are ignored.
-
Source code for evennia.contrib.grid.ingame_map_display.ingame_map_display
+"""
+Basic Map - helpme 2022
+
+This adds an ascii `map` to a given room which can be viewed with the `map` command.
+You can easily alter it to add special characters, room colors etc. The map shown is
+dynamically generated on use, and supports all compass directions and up/down. Other
+directions are ignored.
+
+If you don't expect the map to be updated frequently, you could choose to save the
+calculated map as a .ndb value on the room and render that instead of running mapping
+calculations anew each time.
+
+An example map:
+```
+ |
+ -[-]-
+ |
+ |
+-[-]--[-]--[-]--[-]
+ | | | |
+ | | |
+ -[-]--[-] [-]
+ | \/ | |
+ \ | /\ |
+ -[-]--[-]
+```
+
+Installation:
+
+Adding the `MapDisplayCmdSet` to the default character cmdset will add the `map` command.
+
+Specifically, in `mygame/commands/default_cmdsets.py`:
+
+```
+...
+from evennia.contrib.grid.ingame_map_display import MapDisplayCmdSet # <---
+
+class CharacterCmdset(default_cmds.Character_CmdSet):
+ ...
+ def at_cmdset_creation(self):
+ ...
+ self.add(MapDisplayCmdSet) # <---
+
+```
+
+Then `reload` to make the new commands available.
+
+Additional Settings:
+
+In order to change your default map size, you can add to `mygame/server/settings.py`:
+
+BASIC_MAP_SIZE = 5
+
+This changes the default map width/height. 2-5 for most clients is sensible.
+
+If you don't want the player to be able to specify the size of the map, ignore any
+arguments passed into the Map command.
+"""
+importtime
+fromdjango.confimportsettings
+fromevenniaimportCmdSet
+fromevennia.commands.default.muxcommandimportMuxCommand
+
+_BASIC_MAP_SIZE=settings.BASIC_MAP_SIZEifhasattr(settings,'BASIC_MAP_SIZE')else2
+_MAX_MAP_SIZE=settings.BASIC_MAP_SIZEifhasattr(settings,'MAX_MAP_SIZE')else10
+
+# _COMPASS_DIRECTIONS specifies which way to move the pointer on the x/y axes and what characters to use to depict the exits on the map.
+_COMPASS_DIRECTIONS={
+ 'north':(0,-3,' | '),
+ 'south':(0,3,' | '),
+ 'east':(3,0,'-'),
+ 'west':(-3,0,'-'),
+ 'northeast':(3,-3,'/'),
+ 'northwest':(-3,-3,'\\'),
+ 'southeast':(3,3,'\\'),
+ 'southwest':(-3,3,'/'),
+ 'up':(0,0,'^'),
+ 'down':(0,0,'v')
+}
+
+
+
[docs]def__init__(self,caller,size=_BASIC_MAP_SIZE,location=None):
+ """
+ Initializes the map.
+
+ Args:
+ caller (object): Any object, though generally a puppeted character.
+ size (int): The seed size of the map, which will be multiplied to get the final grid size.
+ location (object): The location at the map's center (will default to caller.location if none provided).
+ """
+ self.start_time=time.time()
+ self.caller=caller
+ self.max_width=int(size*2+1)*5# This must be an odd number
+ self.max_length=int(size*2+1)*3# This must be an odd number
+ self.has_mapped={}
+ self.curX=None
+ self.curY=None
+ self.size=size
+ self.location=locationorcaller.location
+
+
[docs]defcreate_grid(self):
+ """
+ Create the empty grid for the map based on the configured size
+
+ Returns:
+ list: The created grid, a list of lists.
+ """
+ board=[]
+ forrowinrange(self.max_length):
+ board.append([])
+ forcolumninrange(int(self.max_width/5)):
+ board[row].extend([' ',' ',' '])
+ returnboard
+
+
[docs]defexit_name_as_ordinal(self,ex):
+ """
+ Get the exit name as a compass direction if possible
+
+ Args:
+ ex (Exit): The current exit being mapped.
+ Returns:
+ string: The exit name as a compass direction or an empty string.
+ """
+ exit_name=ex.name
+ ifexit_namenotin_COMPASS_DIRECTIONS:
+ compass_aliases=[directioninex.aliases.all()fordirectionin_COMPASS_DIRECTIONS.keys()]
+ ifcompass_aliases[0]:
+ exit_name=compass_aliases[0]
+ ifexit_namenotin_COMPASS_DIRECTIONS:
+ return''
+ returnexit_name
+
+
[docs]defupdate_pos(self,room,exit_name):
+ """
+ Update the position pointer.
+
+ Args:
+ room (Room): The current location.
+ exit_name (str): The name of the exit to to use in this room. This must
+ be a valid compass direction, or an error will be raised.
+ Raises:
+ KeyError: If providing a non-compass exit name.
+ """
+ # Update the pointer
+ self.curX,self.curY=self.has_mapped[room][0],self.has_mapped[room][1]
+
+ # Move the pointer depending on which direction the exit lies
+ # exit_name has already been validated as an ordinal direction at this point
+ self.curY+=_COMPASS_DIRECTIONS[exit_name][0]
+ self.curX+=_COMPASS_DIRECTIONS[exit_name][1]
+
+
[docs]defhas_drawn(self,room):
+ """
+ Checks if the given room has already been drawn or not
+
+ Args:
+ room (Room): Room to check.
+ Returns:
+ bool: Whether or not the room has been drawn.
+ """
+ returnTrueifroominself.has_mapped.keys()elseFalse
+
+
[docs]defdraw_room_on_map(self,room,max_distance):
+ """
+ Draw the room and its exits on the map recursively
+
+ Args:
+ room (Room): The room to draw out.
+ max_distance (int): How extensive the map is.
+ """
+ self.draw(room)
+ self.draw_exits(room)
+
+ ifmax_distance==0:
+ return
+
+ # Check if the caller has access to the room in question. If not, don't draw it.
+ # Additionally, if the name of the exit is not ordinal but an alias of it is, use that.
+ forexin[xforxinroom.exitsifx.access(self.caller,"traverse")]:
+ ex_name=self.exit_name_as_ordinal(ex)
+ ifnotex_nameorex_namein['up','down']:
+ continue
+ ifself.has_drawn(ex.destination):
+ continue
+
+ self.update_pos(room,ex_name.lower())
+ self.draw_room_on_map(ex.destination,max_distance-1)
+
+
[docs]defdraw_exits(self,room):
+ """
+ Draw a given room's exit paths
+
+ Args:
+ room (Room): The room to draw exits of.
+ """
+ x,y=self.curX,self.curY
+ forexinroom.exits:
+ ex_name=self.exit_name_as_ordinal(ex)
+ ifnotex_name:
+ continue
+
+ ex_character=_COMPASS_DIRECTIONS[ex_name][2]
+ delta_x=int(_COMPASS_DIRECTIONS[ex_name][1]/3)
+ delta_y=int(_COMPASS_DIRECTIONS[ex_name][0]/3)
+
+ # Make modifications if the exit has BOTH up and down exits
+ ifex_name=='up':
+ if'v'inself.grid[x][y]:
+ self.render_room(room,x,y,p1='^',p2='v')
+ else:
+ self.render_room(room,x,y,here='^')
+ elifex_name=='down':
+ if'^'inself.grid[x][y]:
+ self.render_room(room,x,y,p1='^',p2='v')
+ else:
+ self.render_room(room,x,y,here='v')
+ else:
+ self.grid[x+delta_x][y+delta_y]=ex_character
+
+
[docs]defdraw(self,room):
+ """
+ Draw the map starting from a given room and add it to the cache of mapped rooms
+
+ Args:
+ room (Room): The room to render.
+ """
+ # draw initial caller location on map first!
+ ifroom==self.location:
+ self.start_loc_on_grid(room)
+ self.has_mapped[room]=[self.curX,self.curY]
+ else:
+ # map all other rooms
+ self.has_mapped[room]=[self.curX,self.curY]
+ self.render_room(room,self.curX,self.curY)
+
+
[docs]defrender_room(self,room,x,y,p1='[',p2=']',here=None):
+ """
+ Draw a given room with ascii characters
+
+ Args:
+ room (Room): The room to render.
+ x (int): The x-value of the room on the grid (horizontally, east/west).
+ y (int): The y-value of the room on the grid (vertically, north/south).
+ p1 (str): The first character of the 3-character room depiction.
+ p2 (str): The last character of the 3-character room depiction.
+ here (str): Defaults to none, a special character depicting the room.
+ """
+ # Note: This is where you would set colors, symbols etc.
+ # Render the room
+ you=list("[ ]")
+
+ you[0]=f"{p1}|n"
+ you[1]=f"{hereifhereelseyou[1]}"
+ ifroom==self.caller.location:
+ you[1]='|[x|co|n'# Highlight the location you are currently in
+ you[2]=f"{p2}|n"
+
+ self.grid[x][y]="".join(you)
+
+
[docs]defstart_loc_on_grid(self,room):
+ """
+ Set the starting location on the grid based on the maximum width and length
+
+ Args:
+ room (Room): The room to begin with.
+ """
+ x=int((self.max_width*0.6-1)/2)
+ y=int((self.max_length-1)/2)
+
+ self.render_room(room,x,y)
+ self.curX,self.curY=x,y
+
+
[docs]defshow_map(self,debug=False):
+ """
+ Create and show the map, piecing it all together in the end
+
+ Args:
+ debug (bool): Whether or not to return the time taken to build the map.
+ """
+ map_string=""
+ self.grid=self.create_grid()
+ self.draw_room_on_map(self.location,self.size)
+
+ forrowinself.grid:
+ map_row="".join(row)
+ ifmap_row.strip()!="":
+ map_string+=f"{map_row}\n"
+
+ elapsed=time.time()-self.start_time
+ ifdebug:
+ map_string+=f"\nTook {elapsed}ms to render the map.\n"
+
+ return"%s"%map_string
+
+
+
[docs]classCmdMap(MuxCommand):
+ """
+ Check the local map around you.
+
+ Usage: map (optional size)
+ """
+ key="map"
+
+
[docs]deffunc(self):
+ size=_BASIC_MAP_SIZE
+ max_size=_MAX_MAP_SIZE
+ ifself.args.isnumeric():
+ size=min(max_size,int(self.args))
+
+ # You can run show_map(debug=True) to see how long it takes.
+ map_here=Map(self.caller,size=size).show_map()
+ self.caller.msg((map_here,{"type":"map"}))
[docs]deftest_base_chargen(self):
+ self.assertEqual(self.chargen.strength,10)# not realistic, due to mock
+ self.assertEqual(self.chargen.armor,"gambeson")
+ self.assertEqual(self.chargen.shield,"shield")
+ self.assertEqual(
+ self.chargen.backpack,["ration","ration","waterskin","waterskin","drill","twine"]
+ )
+
+
[docs]deftest_build_desc(self):
+ self.assertEqual(
+ self.chargen.desc,
+ "You are scrawny with a broken face, pockmarked skin, greased hair, hoarse speech, and "
+ "stained clothing. You were a Herbalist, but you were exiled and ended up a knave. You "
+ "are honest but also irascible. You tend towards neutrality.",
+ )
+
+
+
\ No newline at end of file
diff --git a/docs/1.0-dev/_modules/index.html b/docs/1.0-dev/_modules/index.html
index 7be8b1cd57..6f0c32f152 100644
--- a/docs/1.0-dev/_modules/index.html
+++ b/docs/1.0-dev/_modules/index.html
@@ -130,6 +130,7 @@
diff --git a/docs/1.0-dev/api/evennia.commands.default.account.html b/docs/1.0-dev/api/evennia.commands.default.account.html
index f1fc66fbaa..4b41f8be9e 100644
--- a/docs/1.0-dev/api/evennia.commands.default.account.html
+++ b/docs/1.0-dev/api/evennia.commands.default.account.html
@@ -84,7 +84,7 @@ method. Otherwise all text will be returned to all connected sessions.
-search_index_entry = {'aliases': '@swap @type @update @typeclasses @parent', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass swap type update typeclasses parent', 'tags': '', 'text': "\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] <object> [= typeclass.path]\n typeclass/prototype <object> = prototype_key\n\n typeclasses or typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object. This will also\n reset cmdsets!\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n "}¶
+search_index_entry = {'aliases': '@swap @parent @typeclasses @update @type', 'category': 'building', 'key': '@typeclass', 'no_prefix': 'typeclass swap parent typeclasses update type', 'tags': '', 'text': "\n set or change an object's typeclass\n\n Usage:\n typeclass[/switch] <object> [= typeclass.path]\n typeclass/prototype <object> = prototype_key\n\n typeclasses or typeclass/list/show [typeclass.path]\n swap - this is a shorthand for using /force/reset flags.\n update - this is a shorthand for using the /force/reload flag.\n\n Switch:\n show, examine - display the current typeclass of object (default) or, if\n given a typeclass path, show the docstring of that typeclass.\n update - *only* re-run at_object_creation on this object\n meaning locks or other properties set later may remain.\n reset - clean out *all* the attributes and properties on the\n object - basically making this a new clean object. This will also\n reset cmdsets!\n force - change to the typeclass also if the object\n already has a typeclass of the same name.\n list - show available typeclasses. Only typeclasses in modules actually\n imported or used from somewhere in the code will show up here\n (those typeclasses are still available if you know the path)\n prototype - clean and overwrite the object with the specified\n prototype key - effectively making a whole new object.\n\n Example:\n type button = examples.red_button.RedButton\n type/prototype button=a red button\n\n If the typeclass_path is not given, the current object's typeclass is\n assumed.\n\n View or set an object's typeclass. If setting, the creation hooks of the\n new typeclass will be run on the object. If you have clashing properties on\n the old class, use /reset. By default you are protected from changing to a\n typeclass of the same name as the one you already have - use /force to\n override this protection.\n\n The given typeclass must be identified by its location using python\n dot-notation pointing to the correct module and class. If no typeclass is\n given (or a wrong typeclass is given). Errors in the path or new typeclass\n will lead to the old typeclass being kept. The location of the typeclass\n module is searched from the default typeclass directory, as defined in the\n server settings.\n\n "}¶
-search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}¶
+search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look at location or object\n\n Usage:\n look\n look <obj>\n look *<account>\n\n Observes your location or objects in your vicinity.\n '}¶
@@ -580,7 +580,7 @@ placing it in their inventory.
-search_index_entry = {'aliases': '\' "', 'category': 'general', 'key': 'say', 'no_prefix': ' \' "', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}¶
+search_index_entry = {'aliases': '" \'', 'category': 'general', 'key': 'say', 'no_prefix': ' " \'', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}¶
@@ -724,7 +724,7 @@ which permission groups you are a member of.
@@ -755,7 +755,7 @@ which permission groups you are a member of.
-search_index_entry = {'aliases': 'groups hierarchy', 'category': 'general', 'key': 'access', 'no_prefix': ' groups hierarchy', 'tags': '', 'text': '\n show your current game access\n\n Usage:\n access\n\n This command shows you the permission hierarchy and\n which permission groups you are a member of.\n '}¶
+search_index_entry = {'aliases': 'hierarchy groups', 'category': 'general', 'key': 'access', 'no_prefix': ' hierarchy groups', 'tags': '', 'text': '\n show your current game access\n\n Usage:\n access\n\n This command shows you the permission hierarchy and\n which permission groups you are a member of.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.commands.default.tests.html b/docs/1.0-dev/api/evennia.commands.default.tests.html
index b3d8532b4c..ca3eb0007f 100644
--- a/docs/1.0-dev/api/evennia.commands.default.tests.html
+++ b/docs/1.0-dev/api/evennia.commands.default.tests.html
@@ -853,7 +853,7 @@ main test suite started with
Test the batch processor.
-red_button = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmpk6g0ewch/bb1375aa7b7ea2773edf2a64b970a47e21f4aad5/evennia/contrib/tutorials/red_button/red_button.py'>¶
+red_button = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmpt439vk98/caa46997884d347a53675565c8f3a9d08abb7de2/evennia/contrib/tutorials/red_button/red_button.py'>¶
diff --git a/docs/1.0-dev/api/evennia.commands.default.unloggedin.html b/docs/1.0-dev/api/evennia.commands.default.unloggedin.html
index 3bcc7004ec..352050c34d 100644
--- a/docs/1.0-dev/api/evennia.commands.default.unloggedin.html
+++ b/docs/1.0-dev/api/evennia.commands.default.unloggedin.html
@@ -187,7 +187,7 @@ version is a bit more complicated.
@@ -213,7 +213,7 @@ version is a bit more complicated.
-search_index_entry = {'aliases': 'q qu', 'category': 'general', 'key': 'quit', 'no_prefix': ' q qu', 'tags': '', 'text': '\n quit when in unlogged-in state\n\n Usage:\n quit\n\n We maintain a different version of the quit command\n here for unconnected accounts for the sake of simplicity. The logged in\n version is a bit more complicated.\n '}¶
+search_index_entry = {'aliases': 'qu q', 'category': 'general', 'key': 'quit', 'no_prefix': ' qu q', 'tags': '', 'text': '\n quit when in unlogged-in state\n\n Usage:\n quit\n\n We maintain a different version of the quit command\n here for unconnected accounts for the sake of simplicity. The logged in\n version is a bit more complicated.\n '}¶
@@ -237,7 +237,7 @@ All it does is display the connect screen.
@@ -263,7 +263,7 @@ All it does is display the connect screen.
-search_index_entry = {'aliases': 'look l', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' look l', 'tags': '', 'text': '\n look when in unlogged-in state\n\n Usage:\n look\n\n This is an unconnected version of the look command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}¶
+search_index_entry = {'aliases': 'l look', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' l look', 'tags': '', 'text': '\n look when in unlogged-in state\n\n Usage:\n look\n\n This is an unconnected version of the look command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.base_systems.email_login.email_login.html b/docs/1.0-dev/api/evennia.contrib.base_systems.email_login.email_login.html
index fb3471ba3f..ac01996c82 100644
--- a/docs/1.0-dev/api/evennia.contrib.base_systems.email_login.email_login.html
+++ b/docs/1.0-dev/api/evennia.contrib.base_systems.email_login.email_login.html
@@ -197,7 +197,7 @@ version is a bit more complicated.
@@ -223,7 +223,7 @@ version is a bit more complicated.
-search_index_entry = {'aliases': 'q qu', 'category': 'general', 'key': 'quit', 'no_prefix': ' q qu', 'tags': '', 'text': '\n We maintain a different version of the `quit` command\n here for unconnected accounts for the sake of simplicity. The logged in\n version is a bit more complicated.\n '}¶
+search_index_entry = {'aliases': 'qu q', 'category': 'general', 'key': 'quit', 'no_prefix': ' qu q', 'tags': '', 'text': '\n We maintain a different version of the `quit` command\n here for unconnected accounts for the sake of simplicity. The logged in\n version is a bit more complicated.\n '}¶
@@ -242,7 +242,7 @@ All it does is display the connect screen.
@@ -268,7 +268,7 @@ All it does is display the connect screen.
-search_index_entry = {'aliases': 'look l', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' look l', 'tags': '', 'text': '\n This is an unconnected version of the `look` command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}¶
+search_index_entry = {'aliases': 'l look', 'category': 'general', 'key': '__unloggedin_look_command', 'no_prefix': ' l look', 'tags': '', 'text': '\n This is an unconnected version of the `look` command for simplicity.\n\n This is called by the server and kicks everything in gear.\n All it does is display the connect screen.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.full_systems.evscaperoom.commands.html b/docs/1.0-dev/api/evennia.contrib.full_systems.evscaperoom.commands.html
index 6f6e7aade1..c6d7e4ad02 100644
--- a/docs/1.0-dev/api/evennia.contrib.full_systems.evscaperoom.commands.html
+++ b/docs/1.0-dev/api/evennia.contrib.full_systems.evscaperoom.commands.html
@@ -162,7 +162,7 @@ the operation will be general or on the room.
-search_index_entry = {'aliases': 'abort q chicken out quit', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' abort q chicken out quit', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}¶
+search_index_entry = {'aliases': 'quit chicken out q abort', 'category': 'evscaperoom', 'key': 'give up', 'no_prefix': ' quit chicken out q abort', 'tags': '', 'text': '\n Give up\n\n Usage:\n give up\n\n Abandons your attempts at escaping and of ever winning the pie-eating contest.\n\n '}¶
-search_index_entry = {'aliases': 'ls l', 'category': 'evscaperoom', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n Look at the room, an object or the currently focused object\n\n Usage:\n look [obj]\n\n '}¶
+search_index_entry = {'aliases': 'l ls', 'category': 'evscaperoom', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n Look at the room, an object or the currently focused object\n\n Usage:\n look [obj]\n\n '}¶
-search_index_entry = {'aliases': 'pose :', 'category': 'general', 'key': 'emote', 'no_prefix': ' pose :', 'tags': '', 'text': '\n Perform a free-form emote. Use /me to\n include yourself in the emote and /name\n to include other objects or characters.\n Use "..." to enact speech.\n\n Usage:\n emote <emote>\n :<emote\n\n Example:\n emote /me smiles at /peter\n emote /me points to /box and /lever.\n\n '}¶
+search_index_entry = {'aliases': ': pose', 'category': 'general', 'key': 'emote', 'no_prefix': ' : pose', 'tags': '', 'text': '\n Perform a free-form emote. Use /me to\n include yourself in the emote and /name\n to include other objects or characters.\n Use "..." to enact speech.\n\n Usage:\n emote <emote>\n :<emote\n\n Example:\n emote /me smiles at /peter\n emote /me points to /box and /lever.\n\n '}¶
@@ -441,7 +441,7 @@ looks and what actions is available.
-search_index_entry = {'aliases': 'e unfocus examine ex', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' e unfocus examine ex', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus <obj>\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}¶
+search_index_entry = {'aliases': 'ex examine unfocus e', 'category': 'evscaperoom', 'key': 'focus', 'no_prefix': ' ex examine unfocus e', 'tags': '', 'text': '\n Focus your attention on a target.\n\n Usage:\n focus <obj>\n\n Once focusing on an object, use look to get more information about how it\n looks and what actions is available.\n\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_basic.html b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_basic.html
index a0cfe3814c..8556688b9e 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_basic.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_basic.html
@@ -623,7 +623,7 @@ if there are still any actions you can take.
@@ -649,7 +649,7 @@ if there are still any actions you can take.
-search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
+search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_equip.html b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_equip.html
index 4917940612..ea6c9eab80 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_equip.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_equip.html
@@ -518,7 +518,7 @@ if there are still any actions you can take.
@@ -538,7 +538,7 @@ if there are still any actions you can take.
-search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
+search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_items.html b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_items.html
index 7f0b2673e0..d352f4e704 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_items.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_items.html
@@ -641,7 +641,7 @@ if there are still any actions you can take.
@@ -661,7 +661,7 @@ if there are still any actions you can take.
-search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
+search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_magic.html b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_magic.html
index 1fbdf077da..069c94c28f 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_magic.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_magic.html
@@ -420,7 +420,7 @@ if there are still any actions you can take.
@@ -440,7 +440,7 @@ if there are still any actions you can take.
-search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
+search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_range.html b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_range.html
index 66421ba3be..47fe6be620 100644
--- a/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_range.html
+++ b/docs/1.0-dev/api/evennia.contrib.game_systems.turnbattle.tb_range.html
@@ -880,7 +880,7 @@ if there are still any actions you can take.
@@ -900,7 +900,7 @@ if there are still any actions you can take.
-search_index_entry = {'aliases': 'hold wait', 'category': 'combat', 'key': 'pass', 'no_prefix': ' hold wait', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
+search_index_entry = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'no_prefix': ' wait hold', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}¶
-search_index_entry = {'aliases': 'ls l', 'category': 'general', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n look\n\n Usage:\n look\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects in your vicinity.\n '}¶
+search_index_entry = {'aliases': 'l ls', 'category': 'general', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n look\n\n Usage:\n look\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects in your vicinity.\n '}¶
This adds an ascii map to a given room which can be viewed with the map command.
+You can easily alter it to add special characters, room colors etc. The map shown is
+dynamically generated on use, and supports all compass directions and up/down. Other
+directions are ignored.
+
If you don’t expect the map to be updated frequently, you could choose to save the
+calculated map as a .ndb value on the room and render that instead of running mapping
+calculations anew each time.
This is the hook function that actually does all the work. It is called
+by the cmdhandler right after self.parser() finishes, and so has access
+to all the variables defined therein.
diff --git a/docs/1.0-dev/api/evennia.contrib.html b/docs/1.0-dev/api/evennia.contrib.html
index 8540c62b9f..132887e387 100644
--- a/docs/1.0-dev/api/evennia.contrib.html
+++ b/docs/1.0-dev/api/evennia.contrib.html
@@ -202,6 +202,11 @@ useful but are deemed too game-specific to go into the core library.
diff --git a/docs/1.0-dev/api/evennia.contrib.rpg.dice.dice.html b/docs/1.0-dev/api/evennia.contrib.rpg.dice.dice.html
index 426cf798dd..113012046b 100644
--- a/docs/1.0-dev/api/evennia.contrib.rpg.dice.dice.html
+++ b/docs/1.0-dev/api/evennia.contrib.rpg.dice.dice.html
@@ -246,7 +246,7 @@ everyone but the person rolling.
@@ -272,7 +272,7 @@ everyone but the person rolling.
-search_index_entry = {'aliases': '@dice roll', 'category': 'general', 'key': 'dice', 'no_prefix': ' dice roll', 'tags': '', 'text': "\n roll dice\n\n Usage:\n dice[/switch] <nr>d<sides> [modifier] [success condition]\n\n Switch:\n hidden - tell the room the roll is being done, but don't show the result\n secret - don't inform the room about neither roll nor result\n\n Examples:\n dice 3d6 + 4\n dice 1d100 - 2 < 50\n\n This will roll the given number of dice with given sides and modifiers.\n So e.g. 2d6 + 3 means to 'roll a 6-sided die 2 times and add the result,\n then add 3 to the total'.\n Accepted modifiers are +, -, * and /.\n A success condition is given as normal Python conditionals\n (<,>,<=,>=,==,!=). So e.g. 2d6 + 3 > 10 means that the roll will succeed\n only if the final result is above 8. If a success condition is given, the\n outcome (pass/fail) will be echoed along with how much it succeeded/failed\n with. The hidden/secret switches will hide all or parts of the roll from\n everyone but the person rolling.\n "}¶
+search_index_entry = {'aliases': 'roll @dice', 'category': 'general', 'key': 'dice', 'no_prefix': ' roll dice', 'tags': '', 'text': "\n roll dice\n\n Usage:\n dice[/switch] <nr>d<sides> [modifier] [success condition]\n\n Switch:\n hidden - tell the room the roll is being done, but don't show the result\n secret - don't inform the room about neither roll nor result\n\n Examples:\n dice 3d6 + 4\n dice 1d100 - 2 < 50\n\n This will roll the given number of dice with given sides and modifiers.\n So e.g. 2d6 + 3 means to 'roll a 6-sided die 2 times and add the result,\n then add 3 to the total'.\n Accepted modifiers are +, -, * and /.\n A success condition is given as normal Python conditionals\n (<,>,<=,>=,==,!=). So e.g. 2d6 + 3 > 10 means that the roll will succeed\n only if the final result is above 8. If a success condition is given, the\n outcome (pass/fail) will be echoed along with how much it succeeded/failed\n with. The hidden/secret switches will hide all or parts of the roll from\n everyone but the person rolling.\n "}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.rpg.rpsystem.rpsystem.html b/docs/1.0-dev/api/evennia.contrib.rpg.rpsystem.rpsystem.html
index da9e3b18d1..a6a31e227c 100644
--- a/docs/1.0-dev/api/evennia.contrib.rpg.rpsystem.rpsystem.html
+++ b/docs/1.0-dev/api/evennia.contrib.rpg.rpsystem.rpsystem.html
@@ -643,7 +643,7 @@ a different language.
-search_index_entry = {'aliases': '\' "', 'category': 'general', 'key': 'say', 'no_prefix': ' \' "', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}¶
+search_index_entry = {'aliases': '" \'', 'category': 'general', 'key': 'say', 'no_prefix': ' " \'', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.tutorials.evadventure.commands.html b/docs/1.0-dev/api/evennia.contrib.tutorials.evadventure.commands.html
index 74a75f4d78..9063972971 100644
--- a/docs/1.0-dev/api/evennia.contrib.tutorials.evadventure.commands.html
+++ b/docs/1.0-dev/api/evennia.contrib.tutorials.evadventure.commands.html
@@ -207,7 +207,7 @@ set in self.parse())
diff --git a/docs/1.0-dev/api/evennia.contrib.tutorials.red_button.red_button.html b/docs/1.0-dev/api/evennia.contrib.tutorials.red_button.red_button.html
index 2c6a57f5bd..923e2efd64 100644
--- a/docs/1.0-dev/api/evennia.contrib.tutorials.red_button.red_button.html
+++ b/docs/1.0-dev/api/evennia.contrib.tutorials.red_button.red_button.html
@@ -96,7 +96,7 @@ such as when closing the lid and un-blinding a character.
-search_index_entry = {'aliases': 'smash lid smash break lid', 'category': 'general', 'key': 'smash glass', 'no_prefix': ' smash lid smash break lid', 'tags': '', 'text': '\n Smash the protective glass.\n\n Usage:\n smash glass\n\n Try to smash the glass of the button.\n\n '}¶
+search_index_entry = {'aliases': 'break lid smash lid smash', 'category': 'general', 'key': 'smash glass', 'no_prefix': ' break lid smash lid smash', 'tags': '', 'text': '\n Smash the protective glass.\n\n Usage:\n smash glass\n\n Try to smash the glass of the button.\n\n '}¶
-search_index_entry = {'aliases': 'listen feel ex examine get l', 'category': 'general', 'key': 'look', 'no_prefix': ' listen feel ex examine get l', 'tags': '', 'text': "\n Looking around in darkness\n\n Usage:\n look <obj>\n\n ... not that there's much to see in the dark.\n\n "}¶
+search_index_entry = {'aliases': 'get l ex examine listen feel', 'category': 'general', 'key': 'look', 'no_prefix': ' get l ex examine listen feel', 'tags': '', 'text': "\n Looking around in darkness\n\n Usage:\n look <obj>\n\n ... not that there's much to see in the dark.\n\n "}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.objects.html b/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.objects.html
index b8beeb8a81..c7b4d42c98 100644
--- a/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.objects.html
+++ b/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.objects.html
@@ -507,7 +507,7 @@ shift green root up/down
@@ -756,7 +756,7 @@ parry - forgoes your attack but will make you harder to hit on next
-search_index_entry = {'aliases': 'slash fight chop bash pierce stab defend thrust kill parry hit', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' slash fight chop bash pierce stab defend thrust kill parry hit', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab <enemy>\n slash <enemy>\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}¶
+search_index_entry = {'aliases': 'kill pierce slash chop thrust fight hit bash stab defend parry', 'category': 'tutorialworld', 'key': 'attack', 'no_prefix': ' kill pierce slash chop thrust fight hit bash stab defend parry', 'tags': '', 'text': '\n Attack the enemy. Commands:\n\n stab <enemy>\n slash <enemy>\n parry\n\n stab - (thrust) makes a lot of damage but is harder to hit with.\n slash - is easier to land, but does not make as much damage.\n parry - forgoes your attack but will make you harder to hit on next\n enemy attack.\n\n '}¶
diff --git a/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.rooms.html b/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.rooms.html
index 10e6d4a087..8ac41cec89 100644
--- a/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.rooms.html
+++ b/docs/1.0-dev/api/evennia.contrib.tutorials.tutorial_world.rooms.html
@@ -199,7 +199,7 @@ code except for adding in the details.
@@ -214,7 +214,7 @@ code except for adding in the details.
-search_index_entry = {'aliases': 'ls l', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' ls l', 'tags': '', 'text': '\n looks at the room and on details\n\n Usage:\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects\n in your vicinity.\n\n Tutorial: This is a child of the default Look command, that also\n allows us to look at "details" in the room. These details are\n things to examine and offers some extra description without\n actually having to be actual database objects. It uses the\n return_detail() hook on TutorialRooms for this.\n '}¶
+search_index_entry = {'aliases': 'l ls', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' l ls', 'tags': '', 'text': '\n looks at the room and on details\n\n Usage:\n look <obj>\n look <room detail>\n look *<account>\n\n Observes your location, details at your location or objects\n in your vicinity.\n\n Tutorial: This is a child of the default Look command, that also\n allows us to look at "details" in the room. These details are\n things to examine and offers some extra description without\n actually having to be actual database objects. It uses the\n return_detail() hook on TutorialRooms for this.\n '}¶
@@ -947,7 +947,7 @@ random chance of eventually finding a light source.
-search_index_entry = {'aliases': 'search feel fiddle l feel around', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' search feel fiddle l feel around', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}¶
+search_index_entry = {'aliases': 'fiddle l feel around search feel', 'category': 'tutorialworld', 'key': 'look', 'no_prefix': ' fiddle l feel around search feel', 'tags': '', 'text': '\n Look around in darkness\n\n Usage:\n look\n\n Look around in the darkness, trying\n to find something.\n '}¶
diff --git a/docs/1.0-dev/api/evennia.html b/docs/1.0-dev/api/evennia.html
index 89cfef17af..5ede289c70 100644
--- a/docs/1.0-dev/api/evennia.html
+++ b/docs/1.0-dev/api/evennia.html
@@ -339,6 +339,11 @@ with ‘q’, remove the break line and restart server when finished.
-search_index_entry = {'aliases': 'y no yes a n abort __nomatch_command', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' y no yes a n abort __nomatch_command', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}¶
+search_index_entry = {'aliases': 'n no yes __nomatch_command a abort y', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' n no yes __nomatch_command a abort y', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}¶
diff --git a/docs/1.0-dev/api/evennia.utils.evmore.html b/docs/1.0-dev/api/evennia.utils.evmore.html
index a0878d140c..fa230732f0 100644
--- a/docs/1.0-dev/api/evennia.utils.evmore.html
+++ b/docs/1.0-dev/api/evennia.utils.evmore.html
@@ -88,7 +88,7 @@ the caller.msg() construct every time the page is updated.
@@ -114,7 +114,7 @@ the caller.msg() construct every time the page is updated.
-search_index_entry = {'aliases': 'q t next previous p a e quit n abort end top', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' q t next previous p a e quit n abort end top', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}¶
+search_index_entry = {'aliases': 'next n top end a previous abort quit t p q e', 'category': 'general', 'key': '__noinput_command', 'no_prefix': ' next n top end a previous abort quit t p q e', 'tags': '', 'text': '\n Manipulate the text paging. Catch no-input with aliases.\n '}¶